:root{--ink:#0a141c;--cream:#ffe6b8;--gold:#c59b63;--mint:#abefd6;--muted:#8ca09e;--lime:#c0ecd5}body{background:radial-gradient(ellipse at 50% 15%,#203c4255,transparent 65%),#091219}main{max-width:1510px;padding:0 28px}.topbar{height:62px;border:0;gap:20px}.brand{font-size:12px;color:#d5c4a6;letter-spacing:.3px}.brand .brand-mark{background:none;box-shadow:none;color:var(--gold);width:auto;margin-right:8px}.brand>span:not(.brand-mark){color:#d5c4a6}.brand small{color:#8a9e99}.edition{color:#768e91;font-size:8px;letter-spacing:1.8px}.quiet{border:0;font-size:10px;padding:8px 0;color:#b5c3bc}.arcade{border:1px solid #c3a176;box-shadow:0 0 0 4px #101c23,0 0 0 5px #574c3e,0 22px 80px #0008;background:#0c1b21}.arcade:before,.arcade:after{position:absolute;content:'✦';font-size:20px;color:#c9a779;z-index:8;top:-16px;pointer-events:none;text-shadow:1px 1px #102023}.arcade:before{left:-10px}.arcade:after{right:-10px}.stage{background:#17303d url('assets/background.png') center/cover}#game{image-rendering:auto}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #020d1688;background:linear-gradient(#06111b77,transparent 22%,transparent 84%,#0b1719aa)}.hud{top:21px;left:28px;right:28px;text-shadow:2px 2px #0a131c,0 2px 8px #000}.score-block,.life-block{width:28%}.hud-label{font-size:10px;letter-spacing:3px;color:#edd3ab}.score-block strong{font-size:34px;letter-spacing:3px;line-height:1.3;color:#ffe1af}.combo{font-size:12px;color:var(--mint)}.title-block{text-align:center;position:relative;margin-top:-6px}.ornament{font-size:15px;color:var(--gold);line-height:1}.ornament span{font-size:6px;letter-spacing:2px;vertical-align:middle;margin:0 5px;color:#e5ca9b}.title-block h1{font:small-caps bold clamp(25px,4.2vw,61px)/1 Georgia,'Times New Roman',serif;letter-spacing:-2px;white-space:nowrap;margin:4px 0 5px;color:#ffe4b4;text-shadow:2px 2px #251b1c,-1px -1px #3b3027,0 3px 12px #030e18;transform:rotate(-2deg)}.title-block:before{content:'';position:absolute;inset:-8px -20px 20px;background:linear-gradient(90deg,transparent,#0a1924b8 20%,#0a1924b8 80%,transparent);z-index:-1;border-bottom:1px solid #b3925a77;border-top:1px solid #b3925a66;transform:rotate(-2deg)}.rush-gems{gap:12px;position:relative;padding:5px 14px;margin:auto;width:fit-content;border-bottom:1px solid #a7865366;background:#0b202378}.rush-gems:before,.rush-gems:after{content:'✧';position:absolute;top:0;color:#b79b69;font-size:17px}.rush-gems:before{left:-10px}.rush-gems:after{right:-10px}.rush-gems i{height:13px;width:13px;background:#185348;border:0;box-shadow:0 0 0 1px #d7bb78,0 0 0 3px #0c2629,inset 0 0 0 2px #0d3836;margin:2px}.rush-gems i.filled{background:#a9ffda;box-shadow:0 0 0 1px #f6e6ac,0 0 10px #a3ffcc,inset 0 0 0 2px #7cd8b9}.rush-time{margin:7px auto 0;background:#163b3d}.rush-time span{background:#bfffcc;box-shadow:0 0 8px #c9ffd5}.life-block{gap:18px}.life-block>span{color:#ff8191;font-size:25px;letter-spacing:2px;text-shadow:2px 2px #5e283c,0 0 9px #ff6e8c44}.pause{background:#0c1a20ba;border:1px solid #c3a174;box-shadow:inset 0 0 0 3px #13292d;width:40px;height:40px;font-size:19px}.overlay{display:flex;align-items:center;justify-content:flex-end;padding:110px 13% 28px 20px;background:none}.menu-card{max-width:390px;padding:25px 28px 24px;background:linear-gradient(135deg,#0a1b25ed,#102b2be8);border:1px solid #ba986873;box-shadow:0 0 0 4px #0b202649,8px 8px 35px #04101a77;backdrop-filter:blur(4px)}.menu-card:before,.menu-card:after{top:-12px;color:var(--gold);font-size:16px;text-shadow:1px 1px #061821}.menu-card:before{left:-7px}.menu-card:after{right:-7px}.menu-kicker{color:var(--mint);font-size:8px;letter-spacing:1.8px}.menu-card h2{font:normal 36px/1.08 Georgia,serif;letter-spacing:-1px;margin:16px 0}.menu-card h2 em{color:#d6eec8}.menu-card h2 span{color:#c4eac8}.menu-card p{font-size:10px;color:#b9cbc5;line-height:1.8;margin-bottom:20px}.primary{background:linear-gradient(#f2d79f,#d9b77d);color:#192b2d;border:1px solid #ffebba;border-bottom:4px solid #82683f;box-shadow:0 0 0 3px #0e2425,0 7px 17px #0004;min-height:47px;padding:12px 27px;font-size:11px}.menu-controls{color:#8aa9a4;margin-top:17px}.menu-controls span{color:#6f8582}kbd{border-color:#708e86;color:#b8d1bf}.load-message{font-size:8px;color:var(--muted);margin-top:9px}.toast{top:26%;color:#d5ffdc;text-shadow:2px 2px #0d2730,0 0 20px #69d9b4}.stage-bottom{bottom:13px;color:#cdcaac;text-shadow:1px 2px #07161e}.stage-bottom>span:last-child{color:#ffc888;font-size:15px}.cabinet-bottom{height:51px;min-height:0;padding:0 23px;background:linear-gradient(#122327,#0b181e);border-top:1px solid #aa8a5d;box-shadow:inset 0 4px #07161a88;font-size:10px;letter-spacing:1.5px;position:relative}.cabinet-bottom:before{content:'✦';position:absolute;top:-13px;left:50%;color:#c29c66;font-size:16px;text-shadow:0 2px #15262b}.location{font-size:9px;border:1px solid #8b7555;padding:4px 10px;box-shadow:0 0 0 2px #07171b}.location>span:first-child{font-size:14px;color:#f1ca84;margin-right:6px}.home{font-size:15px;white-space:nowrap}.home span{font-size:11px;letter-spacing:1.8px;margin:0 10px}.home small{font-size:10px;color:#9d8056}.home:hover{color:#d1ffdc}.share{border:1px solid #a58b62;background:#0b1a21;color:#f1d8a9;box-shadow:inset 0 0 0 3px #193030;padding:7px 14px;letter-spacing:1px;font-size:10px}.share:hover{background:#25463f}.utility{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:23px 0 15px}.record span{color:#829791}.record strong{color:#dfbd83}.sound-controls{gap:24px}.sound-controls button{color:#a7b8b2}.sound-controls i{color:#a8d8bb}.wardrobe-button{border:1px solid #455b56;padding:8px 13px;color:#c9cbb0;font-size:9px}.wardrobe-button:hover{border-color:#c4a777}#wallet{color:#e8bd7d}.footnote{font-size:9px;color:#78918c;text-align:center;padding-bottom:15px}.footnote b{color:#a5cbb8;font-weight:normal}.footnote>span{color:#566f6a;margin-left:10px}dialog{background:linear-gradient(130deg,#0f222d,#18302e);border-color:#b39463;box-shadow:0 0 0 4px #0c2026,12px 12px 60px #000a}dialog::backdrop{background:#020d1bd9;backdrop-filter:blur(8px)}dialog h2{font:normal 35px/1.1 Georgia,serif}dialog h2 em{color:#b8dfc0}dialog p,dialog ul{color:#adc6bd}dialog b{color:#ecdcb9}.eyebrow{color:#acd9ba}.close{color:#b7c7b6}.wallet-total{color:#ebc690}.outfit{background:#132b31;border-color:#53665a}.outfit[aria-pressed=true]{border-color:#cebb85;background:#284239}.outfit canvas{image-rendering:auto;width:82px;height:68px}.outfit small{color:#94b9a8}.outfit[aria-pressed=true] small{color:#ffe8b1}.result-stats strong{color:#f7dbaa}.secondary{background:#1c3939;border-color:#8aa17f}
@media(min-width:1600px){main{padding:0 42px}.topbar{height:75px}}@media(max-width:900px){main{padding:0 18px}.topbar{height:52px}.edition{display:none}.hud{top:15px;left:18px;right:18px}.score-block strong{font-size:27px}.hud-label{font-size:8px;letter-spacing:2px}.title-block h1{font-size:39px}.life-block>span{font-size:20px;letter-spacing:0}.life-block{gap:12px}.pause{width:31px;height:33px;font-size:16px}.menu-card{padding:20px;max-width:320px}.menu-card h2{font-size:30px}.menu-card p{font-size:9px;margin-bottom:15px}.overlay{padding:100px 8% 20px 20px}.menu-controls{font-size:7px}.menu-kicker{font-size:7px}.location{font-size:7px}.home span{font-size:9px}.cabinet-bottom{padding:0 15px}.utility{gap:12px}.sound-controls{gap:14px}.sound-controls button{font-size:10px}.record span{font-size:7px}.wardrobe-button{font-size:8px;padding:7px 9px}.toast{top:28%}}
@media(max-width:600px){main{padding:0 12px}.topbar{height:48px;gap:10px}.brand{font-size:10px}.brand .brand-mark{font-size:14px}.quiet{font-size:9px}.stage{aspect-ratio:4/5}.hud{top:17px;left:14px;right:14px}.score-block,.life-block{width:25%}.hud-label{font-size:6px;letter-spacing:1.5px}.score-block strong{font-size:19px;letter-spacing:1px}.combo{font-size:7px;max-width:90px}.title-block{margin-top:1px}.title-block h1{font-size:clamp(23px,6.7vw,38px);letter-spacing:-1px;margin:4px 0 9px}.title-block:before{inset:-7px -9px 24px}.ornament{font-size:9px}.ornament span{font-size:4px;letter-spacing:1px;margin:0 2px}.rush-gems{gap:8px;padding:3px 8px}.rush-gems i{height:8px;width:8px;margin:1px}.rush-gems:before,.rush-gems:after{font-size:12px;top:-1px}.rush-time{width:65px;margin-top:6px;height:2px}.life-block{gap:5px;align-items:flex-start}.life-block>span{font-size:13px;letter-spacing:-1px;line-height:1.5}.pause{width:23px;height:26px;font-size:12px}.overlay{align-items:flex-end;justify-content:center;padding:105px 19px 48px}.menu-card{max-width:320px;width:100%;padding:18px 16px}.menu-card h2{font-size:29px;margin:12px 0}.menu-card p{font-size:9px;margin-bottom:16px}.menu-kicker{font-size:6px;letter-spacing:1.2px}.primary{min-height:42px;font-size:10px;padding:10px 22px}.menu-controls{margin-top:13px;font-size:7px}.stage-bottom{left:12px;right:12px;bottom:10px;font-size:6px;letter-spacing:.2px}.stage-bottom>span:last-child{font-size:12px}.cabinet-bottom{height:45px;gap:8px;padding:0 10px;flex-wrap:nowrap}.location{font-size:6px;letter-spacing:.5px;padding:3px 5px}.location>span:first-child{font-size:11px;margin-right:2px}.home{font-size:11px}.home span{font-size:7px;letter-spacing:.4px;margin:0 3px}.home small{display:none}.share{font-size:7px;padding:6px 8px;letter-spacing:.4px}.utility{margin:19px 3px 10px;gap:12px;flex-wrap:wrap;justify-content:space-between}.record span{font-size:6px}.record strong{font-size:12px}.record{gap:6px}.sound-controls{gap:12px}.sound-controls button{font-size:11px}.sound-controls span{display:inline}.sound-controls i{font-size:6px;margin-left:3px}.wardrobe-button{margin:auto;font-size:8px;padding:7px 14px;width:auto}.footnote{font-size:7px;line-height:1.9;margin-top:15px}.footnote>span{display:block;margin-left:0}.toast{top:24%;font-size:12px;padding:0 12px;letter-spacing:.7px}dialog h2{font-size:29px}.outfit canvas{width:90px;height:70px}}

/* Keep flight gestures inside the playfield; sharing text remains selectable. */
.arcade,.arcade *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.stage{touch-action:none}.arcade button{touch-action:manipulation}.share-sheet textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;touch-action:auto}

/* iOS needs explicit rules on text descendants as well as the canvas. */
html,body,body *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}input,textarea,[contenteditable='true'],[contenteditable='true'] *{-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default!important}button,a{touch-action:manipulation}


/* Edge-to-edge play uses the visible viewport, including mobile safe areas. */
body.flight-screen{overflow:hidden;overscroll-behavior:none}body.flight-screen .arcade{position:fixed;inset:0;z-index:30;width:100%;height:100dvh;margin:0;border:0;border-radius:0;box-shadow:none}body.flight-screen .arcade:before,body.flight-screen .arcade:after,body.flight-screen .cabinet-bottom{display:none}body.flight-screen .stage{height:100%;width:100%;aspect-ratio:auto;min-height:0;border-radius:0}body.flight-screen .hud{top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right))}body.flight-screen .stage-bottom{bottom:max(12px,env(safe-area-inset-bottom))}body.flight-screen .overlay{overflow:auto;padding-top:max(110px,env(safe-area-inset-top));padding-bottom:75px}.leave-flight{display:none;position:absolute;z-index:12;bottom:max(26px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right));padding:12px;background:#102b2b;color:#ffe6b8;border:1px solid #ba9868}body.flight-screen .overlay:not(.hidden)~.leave-flight{display:block}body.flight-screen .menu-card{backdrop-filter:none}@media(max-width:600px){body.flight-screen .overlay{justify-content:center;padding-left:18px;padding-right:18px}body.flight-screen .menu-card{max-width:360px}body.flight-screen .title-block h1{font-size:27px}body.flight-screen .ornament{display:none}body.flight-screen .score-block strong{font-size:24px}body.flight-screen .life-block{gap:8px}body.flight-screen .life-block>span{font-size:18px}body.flight-screen .hud{gap:6px}}

@media(max-width:600px){body.flight-screen .overlay{align-items:center}}

.game-site-link{display:block;position:relative;z-index:3;pointer-events:auto;width:fit-content;margin:0 auto 7px;padding:4px 10px;color:#ffe5ad;background:#0a1b25d9;border:1px solid #bc9a68;border-radius:4px;font:700 13px/1.3 system-ui,sans-serif;letter-spacing:.4px;text-decoration:none;text-shadow:none}.game-site-link:hover,.game-site-link:focus-visible{color:#fff;background:#284439;outline:2px solid #ffe5ad;outline-offset:2px}body.flight-screen .title-block h1{margin-top:3px}@media(max-width:600px){.game-site-link{font-size:11px;margin-bottom:5px;padding:4px 8px}body.flight-screen .title-block{margin-top:0}}

.overlay.ready-prompt{justify-content:center;align-items:center;padding:120px 20px 85px}.overlay.ready-prompt,.overlay.ready-prompt *{pointer-events:none}.ready-prompt .menu-card{text-align:center;max-width:470px}.ready-prompt .menu-card h2{font-size:clamp(30px,5vw,44px)}

.production-footer{display:flex;gap:18px;justify-content:space-between;color:#9db3a8;font-size:9px;letter-spacing:0}.production-footer div{display:flex;gap:15px}.cg-game-guide{margin-top:28px}.share-sheet textarea{width:100%;min-height:120px;padding:14px;background:#0d222b;color:#f5e1b8;border:1px solid #758a75;font:12px/1.7 monospace}.share-sheet .actions{display:flex;gap:12px;margin-top:15px}.share-sheet .secondary{color:#f4dcaf}@media(max-width:600px){.production-footer{font-size:7px;flex-wrap:wrap;gap:8px}}
