:root{--ink:#f4ecdf;--muted:#c1b6d6;--gold:#f4be67;--panel:#25213b;--line:#49425d;--bg:#15182a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}button{font:600 14px 'DM Sans',sans-serif;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);padding:11px 17px;cursor:pointer;min-height:42px;touch-action:manipulation}button:hover{border-color:var(--gold);filter:brightness(1.13)}button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--gold);border-color:var(--gold);color:#241b31;font-weight:800}button.selected{background:#796294;border-color:#bda2d9}#app{width:100%;max-width:1200px;height:min(960px,100svh);min-height:600px;margin:auto;display:flex;flex-direction:column}header{padding:15px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#1e1c30;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.mark{font-size:33px;color:var(--gold)}small{font-size:10px;letter-spacing:1.5px;color:var(--muted);font-weight:700}h1{font:600 20px Outfit,sans-serif;margin:3px 0 0}nav{display:flex;gap:7px}nav button{padding:8px 12px;font-size:12px;min-height:36px}#stage{position:relative;flex:1;min-height:270px;overflow:hidden}#world{position:absolute;inset:0;touch-action:none}canvas{display:block;width:100%;height:100%}.topline{position:absolute;top:16px;left:24px;right:24px;display:flex;justify-content:space-between;pointer-events:none;font-size:10px;font-weight:700;letter-spacing:1.4px;color:#e2d9ed}#loading{position:absolute;inset:0;z-index:5;background:var(--bg);display:grid;place-content:center}#loading[hidden]{display:none}#curtain{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:4%;padding:40px;background:#15182af2}#curtain[hidden]{display:none}#cover{width:42%;max-height:92%;object-fit:contain;border-radius:22px;box-shadow:0 20px 70px #0006}.intro{max-width:420px;flex:1}.pill{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:700;text-transform:uppercase}h2{font:700 clamp(25px,3.3vw,47px)/1.06 Outfit,sans-serif;margin:14px 0}.intro p{font-size:15px;line-height:1.65;color:#d4cadf}.difficulty{display:flex;gap:6px;margin:21px 0 15px}.intro .primary{width:100%;padding:14px}.intro .small{font-size:11px;line-height:1.5;text-align:center;color:var(--muted)}#dashboard{padding:15px 24px 17px;border-top:1px solid var(--line);background:#1e1c30}.stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:500px;margin:auto;text-align:center;gap:10px}.stats>div+div{border-left:1px solid var(--line)}.stats small{font-size:9px}.stats b{display:block;font:600 23px Outfit,sans-serif;margin-top:3px}#instruction{text-align:center;font-size:13px;line-height:1.5;color:#d8cde8;margin:10px auto;min-height:20px;max-width:750px}#controls{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}#controls button{font-size:12px;padding:9px 16px}footer{display:flex;justify-content:space-between;padding:9px 24px;font-size:9px;letter-spacing:1px;color:var(--muted);background:#15182a}#modal{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:#0d1023b8;backdrop-filter:blur(7px);padding:24px}#modal[hidden]{display:none}#modal article{width:min(510px,100%);border:1px solid #695b7f;border-radius:22px;padding:35px;background:#272239;box-shadow:0 20px 90px #0005}#modal h2{font-size:32px}#modal p{white-space:pre-line;line-height:1.6;font-size:14px;color:#ded4e8}#modal button{margin:12px 7px 0 0}#extra{max-width:650px;margin:auto}#extra button{margin:3px} @media(max-width:600px){#app{height:100svh;min-height:640px;max-height:1000px}header{padding:10px 12px;gap:8px}.mark{display:none}h1{font-size:16px}.brand small{font-size:8px;letter-spacing:1px}nav{gap:4px}nav button{font-size:10px;padding:6px 8px;min-height:34px}#curtain{padding:28px 24px 18px;display:block;overflow:auto}#cover{float:right;width:28%;border-radius:10px;margin-left:12px}.intro{max-width:none}.intro h2{font-size:32px;margin-top:10px;max-width:80%}.intro p{font-size:13px;line-height:1.5}.intro small{font-size:8px;letter-spacing:1px}.difficulty{margin:16px 0 12px}.difficulty button{flex:1}.topline{left:14px;right:14px;top:13px;font-size:8px;letter-spacing:1px}#dashboard{padding:11px 12px 13px}.stats b{font-size:21px}#instruction{font-size:11px;margin:7px auto}#controls{gap:5px}#controls button{padding:8px 12px;font-size:11px;min-height:40px}footer{padding:8px 12px;font-size:7px}#modal article{padding:24px}#modal h2{font-size:27px}}
:root{--ink:#63374b;--muted:#936a7a;--gold:#f4bca4;--panel:#fff0e8;--line:#e7c7c7;--bg:#f6e1dc}header,#dashboard{background:#fff7ef}#curtain{background:#f6e1dcf7}.intro p,#instruction{color:#805467}footer{background:#f6e1dc}.topline{color:#7d4f66}button.selected{background:#b65e83;color:white;border-color:#b65e83}#modal article{background:#fff7ef;border-color:#d5a8ba}#modal p{color:#805467}#modal{background:#5e2d4a88}#orderCard{position:absolute;top:45px;right:24px;background:#fff7efed;border:1px solid #d5a8ba;border-radius:16px;padding:16px;width:210px;color:#63374b;font-size:13px;line-height:1.8;pointer-events:none}#orderCard[hidden]{display:none}#orderCard strong{display:block;font:700 21px Outfit}#dipUI{text-align:center;max-width:600px;margin:7px auto}#dipTrack{height:15px;border-radius:8px;background:#e4c3ca;position:relative;overflow:hidden;margin:7px 0}#dipZone{position:absolute;height:100%;background:#7aac97}#dipNeedle{position:absolute;top:0;width:4px;height:100%;background:#663349}#dipCaption{font-size:11px;color:#805467}#extra .choices{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}#extra .choices button{font-size:11px;padding:8px 12px}#extra .choiceLabel{text-align:center;font-size:10px;letter-spacing:1px;margin:6px 0;color:#936a7a}@media(max-width:600px){#orderCard{top:39px;right:12px;width:145px;padding:10px;font-size:11px;line-height:1.6}#orderCard strong{font-size:17px}#stage{min-height:230px}#extra .choices button{font-size:10px;padding:6px 8px;min-height:34px}}