@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/play/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2"),url(/play/assets/space-grotesk-latin-400-normal-BnQMeOim.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/play/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/play/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/play/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/play/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/play/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/play/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}:root{--bg:#050816;--bg-panel:#0a1022d1;--bg-soft:#ffffff0f;--line:#ffffff1f;--text:#eef3ff;--muted:#9fb0ce;--accent:#95fff0;--accent-2:#ff9e7a;--shadow:0 24px 70px #00000073;--font-display:"Space Grotesk", sans-serif;--font-mono:"IBM Plex Mono", monospace;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-display);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#79d0ff26,#0000 30%),radial-gradient(circle at 100% 100%,#a6ff6f1a,#0000 28%),linear-gradient(#081121 0%,#04060f 100%)}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}button,[role=button],.choice-option{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.pwa-update-banner{z-index:41;pointer-events:none;right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));left:max(18px, env(safe-area-inset-left));width:min(560px,100% - 36px);box-shadow:var(--shadow);color:var(--text);background:#050816f5;border:1px solid #95fff052;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin:0 auto;padding:14px 16px;display:flex;position:fixed}.pwa-update-banner[hidden]{display:none}.pwa-update-title,.pwa-update-copy{display:block}.pwa-update-title{color:var(--accent)}.pwa-update-copy{color:var(--muted);margin-top:4px;font-size:.88rem}.pwa-update-actions{pointer-events:auto;flex:none;gap:8px;display:flex}.pwa-update-actions button{border:1px solid var(--line);background:var(--bg-soft);color:var(--text);cursor:pointer;font:inherit;border-radius:8px;padding:8px 12px}.pwa-update-now{color:var(--accent)!important;background:#95fff01f!important;border-color:#95fff080!important}@media (hover:none),(pointer:coarse),(width<=820px){.pwa-update-banner{top:max(12px, env(safe-area-inset-top));inset-inline:12px;z-index:19;flex-wrap:wrap;width:auto;max-width:560px;margin:0 auto;bottom:auto}}p,h1,h2,ul,ol{margin:0}ul,ol{padding:0;list-style:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{width:min(1480px,100%);min-height:100svh;margin:0 auto;padding:22px}.shell-dev{padding-bottom:168px}.shell-dev .layout{margin-bottom:116px}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.eyebrow,.label,.controls-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-size:.75rem}h1{letter-spacing:0;text-wrap:balance;margin-top:8px;font-size:3rem;line-height:.95}h2,h3,.title-screen-title,.controls-title{text-wrap:balance}#objective,#message,#chapter-title,#chapter-tagline,.controls-card p+p,.title-screen-attract,.title-screen-hint,.unlock-list li,.dev-copy{text-wrap:pretty}.controls-card,.hud-block{border:1px solid var(--line);background:var(--bg-panel);box-shadow:var(--shadow)}.game-panel{border:1px solid var(--line);background:var(--bg-panel);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow)}.controls-card{border-radius:22px;max-width:380px;padding:16px 18px}@media (hover:hover) and (pointer:fine) and (width>820px) and (height>520px){:is(.game-panel:not(:fullscreen) .game-input-legend,.game-panel:not(:fullscreen) .game-pause-option){display:none}}.controls-card p+p{color:var(--muted);margin-top:8px;font-size:.96rem}.arena-controls-copy,.shell[data-mode=arena] .story-controls-copy{display:none}.shell[data-mode=arena] .arena-controls-copy{color:var(--muted);font-family:var(--font-mono);margin-top:8px;font-size:.72rem;line-height:1.45;display:block}.layout{grid-template-columns:minmax(0,1.95fr) minmax(280px,.65fr);align-items:start;gap:18px;display:grid}.game-panel{border-radius:28px;padding:10px;position:relative;overflow:hidden}.game-panel:fullscreen{flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex;background:#030610!important;border:0!important;border-radius:0!important;width:100vw!important;height:100dvh!important}.game-panel:fullscreen #game{aspect-ratio:auto!important;border-radius:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important}.game-panel:fullscreen #game canvas{object-fit:contain!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}.game-panel:fullscreen .touch-controls{bottom:max(16px, env(safe-area-inset-bottom))!important;left:max(16px, env(safe-area-inset-left))!important;right:max(16px, env(safe-area-inset-right))!important}.game-panel:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#95fff01a,#0000 24% 70%,#ff9e7a14);position:absolute;inset:0}#game{aspect-ratio:16/10;background:#030610;border-radius:18px;width:100%;min-height:360px;position:relative;overflow:hidden}.game-overlay-ui{z-index:13;pointer-events:none;position:absolute;inset:0;container-type:size}.game-overlay-stats{top:max(12px, env(safe-area-inset-top));left:max(62px, env(safe-area-inset-left));grid-template-columns:repeat(4,max-content);gap:6px;display:grid;position:absolute}.game-overlay-stat{min-width:62px;color:var(--muted);font-family:var(--font-mono);background:#050816b8;border:1px solid #95fff033;border-radius:10px;gap:2px;padding:6px 9px;font-size:.75rem;line-height:1.1;display:grid;box-shadow:0 8px 20px #0003}.game-overlay-stat strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:.85rem}.game-overlay-message{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);width:min(600px,100% - 32px);color:var(--muted);text-align:center;pointer-events:none;background:#050816db;border:1px solid #95fff029;border-radius:12px;padding:7px 12px 9px;position:absolute;top:66px;left:50%;transform:translate(-50%)}.game-overlay-message p{color:var(--text);text-wrap:pretty;margin-top:4px;line-height:1.35}.game-overlay-message .game-overlay-goal{font-family:var(--font-mono);margin:0 0 8px;font-size:.78rem;line-height:1.3}.game-overlay-message .game-mutator-cue{color:var(--accent-2);font-family:var(--font-mono);white-space:pre-line;margin:0 0 6px;font-size:.76rem;line-height:1.3}.game-overlay-goal .label{margin-inline-end:6px}.game-overlay-message[data-idle]>.label,.game-overlay-message[data-idle] #message{display:none}.game-overlay-message[data-idle] .game-overlay-goal{margin-block-end:0}.game-overlay-goal strong{color:var(--accent);font-variant-numeric:tabular-nums}.game-overlay-goal:has(>strong:empty){display:none}.game-pause-button{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));min-height:44px;color:var(--accent);cursor:pointer;font:700 .72rem var(--font-mono);letter-spacing:.07em;text-transform:uppercase;pointer-events:auto;touch-action:manipulation;background:#050816b8;border:1px solid #95fff04d;border-radius:10px;padding:8px 14px;position:absolute}.shell[data-mode=arena] .game-pause-button{top:calc(10px + min(100cqh - 20px,62.5cqw - 12.5px)/10.5263);left:50%;right:auto;translate:-50%}.shell[data-mode=arena] .game-panel:fullscreen .game-pause-button{top:calc(50cqh - min(100cqh,62.5cqw)/2 + min(100cqh,62.5cqw)/10.5263)}.shell[data-mode=arena] #game[data-arena-prompt]~.game-overlay-ui .game-pause-button{visibility:hidden}.game-pause-button:active{transform:translateY(1px)}.game-pause-actions button:active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.game-pause-button:hover,.game-pause-actions button:not(#game-resume):hover{background:#95fff01f;border-color:#95fff094}.game-pause-actions #game-resume:hover{background:color-mix(in srgb, var(--accent) 86%, white)}}.game-input-legend{inset-inline:12px;bottom:max(12px, env(safe-area-inset-bottom));max-width:min(560px,100% - 24px);color:var(--muted);font-family:var(--font-mono);text-align:end;text-wrap:pretty;background:#050816d1;border:1px solid #ffffff1f;border-radius:9px;margin-inline-start:auto;padding:6px 9px;font-size:.75rem;line-height:1.35;position:absolute}.game-pause-sheet{z-index:35;pointer-events:auto;background:#02050eb8;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.game-pause-sheet[hidden]{display:none!important}.game-pause-panel{background:#080c18f5;border:1px solid #95fff047;border-radius:18px;gap:10px;width:min(460px,100%);padding:22px;display:grid;box-shadow:0 24px 56px #0000007a}.game-pause-panel h2{margin-top:0}.game-pause-panel{overscroll-behavior:contain;max-height:100%;overflow-y:auto;container-type:inline-size}.game-pause-sheet{min-height:0}.game-pause-status{gap:8px;margin-top:16px;display:grid}.game-pause-status:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:6px}.game-pause-status-list{gap:6px;margin:0;display:grid}.game-pause-status-list>div{grid-template-columns:5.5rem minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.game-pause-status-list>div:has(>dd:empty){display:none}.game-pause-status-list dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.game-pause-status-list dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:.86rem;line-height:1.35}@container (width<=340px){.game-pause-status-list>div{grid-template-columns:1fr;gap:2px}}.game-pause-copy{color:var(--muted);line-height:1.45}.game-pause-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.game-pause-actions button{min-height:44px;color:var(--text);cursor:pointer;font:700 .72rem var(--font-mono);touch-action:manipulation;background:#ffffff0f;border:1px solid #95fff047;border-radius:10px;padding:8px 12px}.game-pause-actions #game-resume{border-color:var(--accent);background:var(--accent);color:var(--bg)}.game-pause-actions #game-quit{border-color:#ff9e7ab8}.inline-confirm{flex-wrap:wrap;flex:1 0 100%;align-items:center;gap:8px;display:flex}.inline-confirm-prompt{min-width:0;color:var(--text);flex:12rem;font-size:.86rem;line-height:1.4}.inline-confirm .inline-confirm-confirm{background:#ff9e7a33;border-color:#ff9e7ab8}.inline-confirm-trigger[hidden]{display:none!important}.title-screen-overlay{--title-void:#11132b;--title-metal:#242544;--title-lavender:#c6bcfa;--title-light:#f5f0ff;--title-ignition:#ffb077;--title-muted:#aaa6c4;z-index:20;color:var(--title-light);background:var(--title-void);transition:opacity .15s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;overflow:auto;container-type:size}.title-screen-overlay.title-screen-overlay-exit{opacity:0;pointer-events:none}.title-screen-panel{isolation:isolate;flex-direction:column;gap:clamp(12px,2.4cqh,22px);min-height:100%;padding:clamp(20px,4cqw,42px);display:flex}.title-screen-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.title-screen-kicker,.title-screen-edition{font-family:var(--font-mono);font-size:.75rem;line-height:1.4}.title-screen-kicker{color:var(--title-ignition);letter-spacing:.22em;text-transform:uppercase}.title-screen-edition{color:var(--title-muted)}.title-screen-hero{flex:1;align-items:center;min-height:230px;display:flex;position:relative}.title-screen-gate{z-index:-1;inset-inline-end:-3%;pointer-events:none;width:67%;position:absolute;top:50%;transform:translateY(-50%)}.title-screen-gate svg{width:100%;height:auto;display:block}.title-screen-copy{width:58%}.title-screen-title{letter-spacing:-.065em;text-transform:uppercase;color:var(--title-light);margin:0;font-size:clamp(3.5rem,12cqw,7.5rem);font-weight:700;line-height:.79}.title-screen-title span{display:block}.title-screen-title span+span{margin-top:.07em}.title-screen-attract{max-width:29ch;min-height:4.2em;color:var(--title-muted);margin-top:clamp(18px,3cqh,28px);font-size:clamp(.8rem,1.8cqw,1rem);line-height:1.4;transition:opacity .15s cubic-bezier(.16,1,.3,1)}.title-screen-attract.title-screen-attract-fading{opacity:0}.title-screen-attract-sentence{display:inline-block}.title-screen-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.title-screen-difficulty{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;display:flex}.title-screen-start{appearance:none;border:1px solid var(--title-ignition);min-width:0;min-height:76px;font-family:var(--font-display);color:var(--title-void);background:var(--title-ignition);text-align:start;cursor:pointer;touch-action:manipulation;border-radius:8px;flex-direction:column;justify-content:center;gap:7px;padding:14px 18px;transition:transform .12s cubic-bezier(.16,1,.3,1);display:flex}.title-screen-start:active{transform:scale(.96)}.title-screen-mode{justify-content:space-between;align-items:center;gap:8px;width:100%;font-size:clamp(.95rem,2.4cqw,1.3rem);font-weight:700;line-height:1.2;display:flex}.title-screen-mode>span{font-size:1.2em;font-weight:400}.title-screen-players{font-family:var(--font-mono);font-size:.75rem;line-height:1.4}.title-screen-players>span{white-space:nowrap}@container (width<=473px){.title-screen-players{position:relative}.title-screen-players>span{display:block}.title-screen-players>.title-screen-players-separator{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.title-screen-arena{border-color:var(--title-lavender);color:var(--title-light);background:var(--title-metal)}.title-screen-arena .title-screen-players{color:var(--title-lavender)}@media (hover:hover) and (pointer:fine){.title-screen-start:hover{background:var(--title-light);border-color:var(--title-light)}.title-screen-arena:hover{color:var(--title-void);background:var(--title-lavender);border-color:var(--title-lavender)}.title-screen-arena:hover .title-screen-players{color:var(--title-void)}}.title-screen-start:focus-visible{outline:3px solid var(--title-light);outline-offset:4px}.title-screen-panel:focus-visible{outline-offset:-4px;border-radius:12px;outline:2px solid #95fff07a}.title-screen-hint{font-family:var(--font-mono);color:var(--title-muted);font-size:.75rem;line-height:1.5}@container (width<=460px){.title-screen-panel{gap:14px;padding:20px}.title-screen-gate{inset-inline-end:-4%;width:78%;top:43%}.title-screen-copy{width:64%}.title-screen-title{font-size:clamp(2.5rem,16.8cqw - 14px,3.5rem)}.title-screen-attract{max-width:17ch}.title-screen-start{min-height:76px;padding:12px}.title-screen-actions{gap:10px}}@container (height<=390px){.title-screen-panel{gap:10px;padding:16px 20px}.title-screen-hero{min-height:140px}.title-screen-title{font-size:clamp(2.8rem,10cqw,4rem)}.title-screen-gate{width:55%;inset-inline-end:0}.title-screen-attract{min-height:2.8em;margin-top:12px}.title-screen-start{min-height:64px;padding-block:10px}}@container (height>=360px) and (height<=520px){.title-screen-panel{gap:8px;padding:12px 20px}.title-screen-hero{min-height:100px}.title-screen-attract{min-height:2.8em;margin-top:8px}.title-screen-start{min-height:64px;padding-block:8px}}@container (width>=461px) and (height>=360px) and (height<=520px){.title-screen-gate{inset-inline-end:0;width:48%;top:46%}}@container (width>=500px) and (height<=390px){.title-screen-hint{max-width:58%}}@container (width<=360px){.title-screen-start{padding-inline:10px}.title-screen-mode{gap:4px;font-size:.875rem}.title-screen-mode>span{font-size:1em}}@container (width<=360px) and (height<=390px){.title-screen-title{font-size:2.5rem}}@container (width<=360px) and (height<=460px){.title-screen-panel{gap:8px;padding:12px 14px}.title-screen-hero{min-height:150px}.title-screen-gate{inset-inline-end:0;width:50%;top:50%}.title-screen-attract{min-height:2.8em;margin-top:10px}}@container (width<=360px) and (height<=390px){.title-screen-hero{min-height:140px}}.arena-rematch:focus-visible,.pwa-update-actions button:focus-visible,.journey-button:focus-visible,.game-corner-btn:focus-visible,.game-pause-button:focus-visible,.game-pause-actions button:focus-visible,.touch-settings-close:focus-visible,.touch-settings-toggle:focus-visible,.choice-option input:focus-visible+.choice-option-face,.touch-settings-range:focus-visible,.touch-settings-row input:focus-visible,.game-pause-option input:focus-visible,.touch-button:focus-visible,.dev-pill-button:focus-visible,.dev-actions button:focus-visible,[data-gamepad-focus]:focus{outline-offset:3px;outline:2px solid #95fff0e0;box-shadow:0 0 0 5px #95fff026}#game canvas{width:100%;height:auto;display:block}.touch-controls{--touch-scale:1;inset-inline:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:12;pointer-events:none;flex-wrap:nowrap;justify-content:space-between;align-items:flex-end;gap:10px;display:none;position:absolute}.touch-controls>.touch-move{flex-wrap:nowrap;flex:none}.touch-controls>.touch-actions{flex:0 auto;min-width:0}.touch-controls-left-handed{flex-direction:row-reverse}.game-panel[data-touch-bands]{--touch-band-cell:max(44px, min(calc(50px * var(--touch-scale)), calc((var(--touch-band) - 8px) / 2)))}.game-panel[data-touch-bands] .touch-controls{inset-inline:6px;bottom:max(12px, env(safe-area-inset-bottom))}.game-panel[data-touch-bands] .touch-controls>.touch-move,.game-panel[data-touch-bands] .touch-controls>.touch-actions{grid-template-columns:repeat(2, var(--touch-band-cell));flex:none;gap:8px;min-width:0;max-width:none;display:grid}.game-panel[data-touch-bands] .touch-move{grid-template-areas:"down down""left right"}.game-panel[data-touch-bands] .touch-actions{grid-template-areas:"special special""barrel melee""dash jump"}.game-panel[data-touch-bands] .touch-controls-left-handed .touch-actions{grid-template-areas:"special special""melee barrel""jump dash"}.game-panel[data-touch-bands] [data-touch-control=left]{grid-area:left}.game-panel[data-touch-bands] [data-touch-control=right]{grid-area:right}.game-panel[data-touch-bands] [data-touch-control=down]{grid-area:down;justify-self:center}.game-panel[data-touch-bands] [data-touch-control=jump]{grid-area:jump}.game-panel[data-touch-bands] [data-touch-control=dash]{grid-area:dash}.game-panel[data-touch-bands] [data-touch-control=attack]{grid-area:melee}.game-panel[data-touch-bands] [data-touch-control=barrel]{grid-area:barrel}.game-panel[data-touch-bands] [data-touch-control=special]{grid-area:special}.game-panel[data-touch-bands] .touch-button{min-width:0;width:var(--touch-band-cell);min-height:max(44px, calc(46px * var(--touch-scale)));padding-inline:0}.game-panel[data-touch-bands] [data-touch-control=special]{width:100%}.game-panel[data-touch-bands] .game-overlay-message{width:min(600px, calc(100% - 2 * (6px + 2 * var(--touch-band-cell) + 8px + 8px)))}.game-panel:fullscreen[data-touch-bands] .game-overlay-message{width:min(600px, calc(100% - 2 * (16px + 2 * var(--touch-band-cell) + 8px + 8px)))}.game-panel[data-touch-bands] .touch-button-action{letter-spacing:.02em;font-size:min(.64rem,10.24px)}.game-corner-btn{z-index:14;top:max(12px, env(safe-area-inset-top));appearance:none;-webkit-backdrop-filter:blur(10px);color:#95fff0d1;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#050816b8;border:1px solid #95fff033;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .15s,background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:none;position:absolute}.game-corner-btn:disabled{opacity:.4;cursor:not-allowed}.game-corner-btn:active{background:#95fff024;border-color:#95fff080;transform:scale(.96)}@media (hover:hover) and (pointer:fine){.game-corner-btn:hover{color:#95fff0;background:#95fff01a;border-color:#95fff06b}}.game-corner-btn--fs{display:flex;left:12px}.game-corner-btn--gear{right:10px}.game-corner-btn--active{color:#ffc864eb;background:#ffa02824;border-color:#ffb43c73;box-shadow:0 0 12px #ffa02840}.game-corner-btn--gear[aria-expanded=true]{color:#95fff0;background:#95fff01f;border-color:#95fff085}.touch-pref-row{pointer-events:auto;justify-content:space-between;gap:8px;width:100%;display:flex}.touch-pref-button{appearance:none;min-height:44px;color:var(--text);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#050816ad;border:1px solid #95fff040;border-radius:999px;padding:8px 14px;font-size:.68rem;transition:transform .12s,background-color .12s,border-color .12s}.touch-pref-button:active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.touch-pref-button:hover{background:#95fff01a;border-color:#95fff073}}.touch-settings-sheet{z-index:44;pointer-events:auto;background:#02050e85;place-items:end center;max-height:100%;padding:18px;display:grid;position:fixed;inset:0;overflow:hidden}.touch-settings-sheet[hidden]{display:none!important}.touch-settings-panel{overscroll-behavior:contain;background:#080c18f2;border:1px solid #95fff03d;border-radius:18px;grid-template-columns:minmax(0,1fr);gap:10px;width:min(420px,100vw - 20px);max-height:100%;padding:14px;display:grid;overflow-y:auto;box-shadow:0 24px 56px #0000006b}.touch-settings-panel>*{min-width:0}.touch-settings-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.touch-settings-close,.touch-settings-toggle,.choice-group,.touch-settings-range{appearance:none;font:inherit;color:var(--text);background:#ffffff0f;border:1px solid #95fff040;border-radius:10px}.touch-settings-range::-webkit-slider-runnable-track{background:#95fff047;border-radius:2px;height:4px}.touch-settings-range::-moz-range-track{background:#95fff047;border-radius:2px;height:4px}.touch-settings-range::-webkit-slider-thumb{appearance:none;background:var(--accent);border:0;border-radius:50%;width:20px;height:20px;margin-top:-8px}.touch-settings-range::-moz-range-thumb{background:var(--accent);border:0;border-radius:50%;width:20px;height:20px}.touch-settings-close{min-height:44px;font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;padding:7px 14px;font-size:.7rem;transition:transform .12s,background-color .12s,border-color .12s}.touch-settings-close:active{transform:scale(.96)}.touch-settings-toggle{min-width:92px;min-height:44px;font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;padding:6px 12px;font-size:.72rem;transition:transform .12s,background-color .12s,border-color .12s}.touch-settings-toggle:active:not([aria-disabled=true]){transform:scale(.96)}@media (hover:hover) and (pointer:fine){.touch-settings-close:hover,.touch-settings-toggle:hover,.choice-option:hover .choice-option-face{background:#95fff01a;border-color:#95fff07a}}.touch-settings-toggle[data-active],.touch-settings-toggle[aria-pressed=true]{background:#ff9e7a33;border-color:#ff9e7ab8}.touch-settings-toggle[aria-disabled=true]{opacity:.58}.touch-settings-row,.game-pause-option{min-height:44px;color:var(--text);font-family:var(--font-mono);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:12px;font-size:.78rem;display:flex}.touch-settings-row{flex-wrap:wrap}.touch-settings-row input[type=checkbox],.game-pause-option input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:0}.touch-settings-subrow{font-family:var(--font-mono);color:var(--muted);background:#00000040;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:.72rem;display:flex}.touch-settings-subrow[hidden]{display:none!important}.touch-settings-hint{font-family:var(--font-mono);color:var(--muted);margin:-4px 0 0;font-size:.7rem;line-height:1.4}.touch-cloud-token-label{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}#touch-cloud-revoke-retry-btn{justify-self:start}#touch-cloud-revoke-retry-btn[hidden]{display:none!important}.touch-cloud-save-list{background:#00000040;border-radius:8px;gap:6px;padding:6px 10px 10px;display:grid}.touch-cloud-save-list[hidden]{display:none!important}.touch-cloud-save-list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.touch-cloud-save-list-head .label{min-width:0}.touch-cloud-save-list-head .label,.touch-cloud-save-list-status{margin:0}.touch-cloud-save-list-items{font-family:var(--font-mono);gap:0;margin:0;padding:0;font-size:.72rem;list-style:none;display:grid}.touch-cloud-save-list-items[hidden],.touch-cloud-save-list-status[hidden]{display:none}.touch-cloud-save-list-item{grid-template-columns:minmax(0,1fr) max-content;align-items:center;column-gap:8px;padding-block:6px;display:grid}.touch-cloud-save-list-item+.touch-cloud-save-list-item{border-top:1px solid #95fff03d}.touch-cloud-save-list-stage{overflow-wrap:anywhere;min-width:0}.touch-cloud-save-list-time{color:var(--muted);overflow-wrap:anywhere;grid-column:1}.touch-cloud-save-list-actions{flex-wrap:wrap;grid-area:1/2/span 2;justify-content:flex-end;align-items:center;gap:6px;display:flex}.touch-cloud-save-list-item:has(.touch-cloud-save-confirm){grid-template-columns:minmax(0,1fr)}.touch-cloud-save-list-item:has(.touch-cloud-save-confirm) .touch-cloud-save-list-actions{grid-area:auto/1}.touch-cloud-save-confirm-text{flex:auto;min-width:0}.touch-cloud-save-link{background:#00000040;border-radius:8px;justify-items:start;gap:6px;padding:6px 10px 10px;display:grid}.touch-cloud-save-link>*{min-width:0;max-width:100%}.touch-cloud-save-link[hidden],.touch-cloud-save-link-row[hidden]{display:none!important}.touch-cloud-save-link .label,.touch-cloud-save-link-status{margin:0}.touch-cloud-save-link-status:empty{display:none}.touch-cloud-save-link-status[data-tone=error]{color:var(--accent-2)}.touch-cloud-save-link-status[data-tone=confirm]{color:var(--text)}.touch-cloud-save-link-label{color:var(--muted);font-size:.75rem}.touch-cloud-save-link-row{align-items:center;gap:8px;width:100%;display:flex}.touch-cloud-save-link-field{min-width:0;min-height:44px;font-family:var(--font-mono);color:var(--text);background:#ffffff0f;border:1px solid #95fff040;border-radius:10px;flex:auto;padding:6px 10px;font-size:16px}.touch-cloud-save-link-field:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.touch-settings-toggle--sm{min-width:64px;min-height:44px;padding:3px 8px;font-size:.65rem}.choice-row{flex-wrap:wrap;row-gap:6px}.choice-group{flex-wrap:wrap;flex:auto;gap:2px;min-width:0;max-width:100%;margin-inline-start:auto;padding:2px;display:flex}.choice-option{flex:auto;min-width:0;min-height:44px;display:flex;position:relative}.choice-option input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice-option-face{overflow-wrap:break-word;text-align:center;border:1px solid #0000;border-radius:8px;flex:auto;justify-content:center;align-items:center;padding:4px 8px;transition:background-color .12s,border-color .12s;display:flex}.choice-option input:checked+.choice-option-face{background:#ff9e7a33;border-color:#ff9e7ab8}.touch-settings-range{min-width:160px;min-height:44px;padding:4px}.touch-pref-button[aria-pressed=true]{background:#ff9e7a2e;border-color:#ff9e7abf}.mobile-diag{z-index:13;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;max-width:min(340px,100% - 32px);font-family:var(--font-mono);background:#040814d1;border:1px solid #95fff04d;border-radius:12px;gap:4px;padding:10px 12px;display:grid;position:absolute;top:14px;left:14px;box-shadow:0 12px 28px #00000057}.mobile-diag[data-visible=false]{display:none}.mobile-diag-title{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.64rem}.mobile-diag-row{color:#e8f4ff;letter-spacing:.02em;font-size:.7rem;line-height:1.2}.touch-cluster{pointer-events:auto;flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.touch-actions{justify-content:flex-end;max-width:min(460px,58%)}.touch-button{min-width:calc(60px * var(--touch-scale));min-height:calc(60px * var(--touch-scale));appearance:none;color:var(--text);font-family:var(--font-mono);letter-spacing:.04em;touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#050816b8;border:1px solid #95fff052;border-radius:999px;font-size:1.05rem;font-weight:700;transition:transform 80ms,background-color 80ms,border-color 80ms;box-shadow:0 10px 28px #00000052}.touch-button-action{min-width:calc(72px * var(--touch-scale));min-height:calc(56px * var(--touch-scale));text-transform:uppercase;border-radius:18px;font-size:min(.76rem,12.16px)}.touch-button[data-active=true],.touch-button:active{background:#ff9e7a3d;border-color:#ff9e7ac7;transform:translateY(2px)scale(.96)}@media (hover:hover) and (pointer:fine){.touch-button:hover{background:#ff9e7a3d;border-color:#ff9e7ac7;transform:translateY(2px)scale(.96)}}.hud-panel{gap:14px;display:grid}.touch-button.is-recovering{opacity:.45}[data-mode=arena] .story-only,.shell:not([data-mode=arena]) .arena-only,.arena-block[hidden]{display:none}.arena-block{background:linear-gradient(145deg, #95fff01a, transparent 46%), linear-gradient(180deg, #ff9e7a12, transparent), var(--bg-panel);gap:12px;display:grid}.arena-match-header,.arena-stat-line,.arena-player-heading,.arena-chip-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.arena-match-header{flex-wrap:wrap}.arena-match-header .label,.arena-match-header strong{white-space:nowrap}.arena-match-header strong{margin-top:5px;font-size:1.18rem;display:block}.arena-clock,.arena-phase-label,.arena-score-label,.arena-stat-line strong,.arena-chip,.arena-input-check,.arena-controls-legend{font-family:var(--font-mono)}.arena-clock{color:var(--accent);white-space:nowrap;border:1px solid #95fff033;border-radius:8px;padding:5px 8px;font-size:.72rem}.arena-clock-sudden{color:var(--accent-2);background:#ff9e7a21;border-color:#ff9e7a8c}.arena-clock-overtime{color:#bba7ff;background:#1b103338;border-color:#7a4dffb3}.arena-score-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.arena-score{background:#ffffff0a;border:1px solid #ffffff17;border-radius:4px;gap:5px;padding:8px 10px;display:grid}.arena-score:first-child .arena-score-label{color:var(--accent)}.arena-score:last-child .arena-score-label{color:var(--accent-2)}.arena-round-pips{gap:6px;display:flex}.arena-round-pip{width:10px;height:10px;color:var(--muted);border:1px solid;border-radius:50%;display:block}.arena-round-pip.is-won{background:currentColor}.arena-score:first-child .arena-round-pip.is-won{color:var(--accent)}.arena-score:last-child .arena-round-pip.is-won{color:var(--accent-2)}.arena-phase-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem}.arena-player-cards{gap:8px;display:grid}.arena-player-card{background:#ffffff0b;border:1px solid #95fff029;border-radius:4px;gap:7px;padding:10px;display:grid}.arena-player-card-p2{border-color:#ff9e7a33}.arena-player-heading{justify-content:flex-start}.arena-player-heading>div{gap:2px;display:grid}.arena-player-heading strong{font-family:var(--font-mono);font-size:.76rem}.arena-player-heading span:last-child{color:var(--text);font-size:.86rem;font-weight:700}.arena-player-swatch{background:var(--accent);border-radius:5px;width:11px;height:30px;display:block}.arena-player-card-p2 .arena-player-swatch{background:var(--accent-2)}.arena-trait{color:var(--muted);font-size:.75rem}.arena-pvp{color:#bba7ff;font-family:var(--font-mono);margin:-2px 0 0;font-size:.68rem}.arena-stat-line{color:var(--muted);font-size:.72rem}.arena-stat-line strong{color:var(--text);letter-spacing:.04em;font-size:.7rem}.arena-player-card-p1 .arena-stat-line strong:last-child,.arena-player-card-p1 .arena-chip{color:var(--accent)}.arena-player-card-p2 .arena-stat-line strong:last-child,.arena-player-card-p2 .arena-chip{color:var(--accent-2)}.arena-meter{background:#ffffff1a;border-radius:999px;height:4px;overflow:hidden}.arena-meter span{border-radius:inherit;background:var(--accent);width:100%;height:100%;transform:scaleX(var(--arena-meter-fill,0));transform-origin:0;transition:transform .16s ease-out;display:block}.arena-player-card-p2 .arena-meter span{background:var(--accent-2)}.arena-chip{border:1px solid #ffffff1f;border-radius:999px;padding:4px 7px;font-size:.65rem}.arena-controls-legend{color:var(--muted);gap:8px;padding-top:4px;font-size:.67rem;line-height:1.45;display:grid}.arena-controls-legend>div{gap:2px;display:grid}.arena-controls-legend .label{font-size:.64rem}.arena-rematch{min-height:44px;color:var(--accent);cursor:pointer;font:700 .74rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#95fff014;border:1px solid #95fff057;border-radius:10px;transition:transform .12s ease-out,background-color .12s ease-out}.arena-rematch:disabled{cursor:not-allowed;opacity:.42}.arena-rematch:not(:disabled):active{transform:scale(.96)}.arena-input-check{border-top:1px solid #ffffff14;gap:8px;padding-top:10px;font-size:.64rem;display:grid}.arena-input-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.arena-input-columns>div{gap:5px;display:grid}.arena-input-columns strong{color:var(--text)}.arena-input-keys{flex-wrap:wrap;gap:4px;display:flex}.arena-input-keys span{color:var(--muted);border:1px solid #ffffff1f;border-radius:5px;padding:3px 5px}.arena-input-keys span.is-down{color:var(--accent);background:#95fff02e;border-color:currentColor}.arena-input-columns>div:last-child .arena-input-keys span.is-down{color:var(--accent-2);background:#ff9e7a2e}.hud-block{border-radius:22px;padding:18px}.evolution-header strong,.evolution-grid strong,.arena-match-header strong,.arena-stat-line span,h2{font-variant-numeric:tabular-nums}h2{margin-top:8px;font-size:1.3rem;display:block}.label{color:var(--muted)}#objective,.message-block p:last-child,.unlock-list{color:var(--muted);margin-top:10px;line-height:1.5}.stage-debug-meta{border-top:1px solid #ffffff14;gap:8px;margin-top:14px;padding-top:12px;display:grid}.stage-seed-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.stage-seed-row-compact{gap:10px}.stage-seed-value{max-width:100%;color:var(--text);font-family:var(--font-mono);letter-spacing:.04em;overflow-wrap:anywhere;background:#95fff01a;border:1px solid #95fff01f;border-radius:999px;padding:5px 10px;font-size:.76rem}.stage-pressure-value{background:#ffd38c1f;border-color:#ffd38c29}.unlock-list li+li{margin-top:6px}.evolution-block{gap:10px;display:grid}.evolution-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.evolution-header strong,.evolution-grid strong{color:var(--text);margin-top:5px;font-size:.98rem;display:block}.evolution-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.evolution-grid>div{background:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;padding:8px 10px}.evolution-grid span,.mastery-row{color:var(--muted);font-family:var(--font-mono);font-size:.78rem}.mastery-summary{border-top:1px solid #ffffff14;gap:6px;padding-top:10px;display:grid}.mastery-row{color:var(--text);overflow-wrap:anywhere;font-weight:600;line-height:1.45}.world-evolution-block{gap:10px;display:grid}.world-evolution-header{justify-content:space-between;align-items:center;display:flex}.world-live-badge{font-family:var(--font-mono);letter-spacing:.05em;color:var(--accent);background:#95fff01f;border:1px solid #95fff03d;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.world-evolution-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,4.5rem),1fr));gap:6px;display:grid}.world-metric-card{text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:4px;padding:8px 6px}.world-metric-card span{color:var(--muted);font-family:var(--font-mono);overflow-wrap:break-word;font-size:.72rem;display:block}#save-status{overflow-wrap:break-word}.world-metric-card strong{color:var(--text);font-size:.88rem;font-family:var(--font-mono);margin-top:4px;display:block}.world-mutators-container{border-top:1px solid #ffffff14;gap:6px;padding-top:8px;display:grid}.world-mutators-list{flex-wrap:wrap;gap:6px;display:flex}.world-mutator-tag{color:var(--accent-2);font-size:.76rem;font-family:var(--font-mono);background:#ff9e7a1f;border:1px solid #ff9e7a38;border-radius:6px;gap:2px;padding:3px 8px;font-weight:500;display:inline-grid}.world-mutator-description{color:var(--text);font-family:var(--font-display);overflow-wrap:anywhere;font-size:.72rem;font-weight:400;line-height:1.3}.world-seed-footer{font-family:var(--font-mono);color:var(--muted);justify-content:space-between;align-items:center;padding-top:4px;font-size:.74rem;display:flex}.world-seed-text{color:var(--text)}.message-block{background:linear-gradient(180deg, #95fff014, transparent), var(--bg-panel);min-height:144px}.saga-block{background:linear-gradient(135deg, #95fff01f, transparent 42%), linear-gradient(180deg, #ff9e7a14, transparent), var(--bg-panel);gap:8px;display:grid;container-type:inline-size}#chapter-title{color:var(--text);font-size:1.28rem;font-weight:700;line-height:1.08}#chapter-tagline{color:var(--muted);line-height:1.4}.journey-list{grid-template-columns:repeat(auto-fit,minmax(calc(2.7rem + 14px),1fr));gap:6px;margin-top:8px;display:grid}.journey-list li{min-width:0;color:var(--muted);text-align:center;font-family:var(--font-mono);background:#ffffff0b;border:1px solid #ffffff1a;border-radius:4px;font-size:.68rem;line-height:1.1;transition:transform .12s,border-color .12s,background-color .12s}.journey-button{border-radius:inherit;appearance:none;width:100%;min-height:70px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-content:center;justify-items:center;gap:5px;padding:8px 5px;display:grid}.journey-status{top:3px;opacity:.9;pointer-events:none;font-size:.75rem;line-height:1;position:absolute;inset-inline-end:5px}.journey-button{position:relative}.journey-list li:has(.journey-button:focus-visible){background:#95fff01a;border-color:#95fff073;transform:translateY(-1px)}@media (hover:hover) and (pointer:fine){.journey-list li:hover{background:#95fff01a;border-color:#95fff073;transform:translateY(-1px)}}.journey-list li:has(.journey-button:active){background:#95fff029;border-color:#95fff09e;transform:translateY(0)scale(.96)}@container (width<=345px){.saga-block .journey-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.journey-label{white-space:nowrap;max-width:100%;font-size:.75rem}.journey-index{width:24px;height:24px;color:var(--text);background:#ffffff14;border-radius:999px;place-items:center;font-weight:700;display:inline-grid}.journey-list li[data-status=cleared]{color:#d7fffa;background:#95fff01a;border-color:#95fff057}.journey-list li[data-status=cleared] .journey-index{color:#fff;background:#95fff033}.journey-list li[data-status=active]{color:#ffe7dc;background:#ff9e7a21;border-color:#ff9e7a8f}.journey-list li[data-status=active] .journey-index{color:#fff;background:#ff9e7a47}.journey-list li[data-status=unvisited]{color:var(--muted)}.dev-dock-hidden,.dev-dock.dev-dock-hidden,.dev-edge-zone.dev-dock-hidden{display:none}.dev-edge-zone{inset-inline:0;z-index:39;height:112px;position:fixed;bottom:0}.dev-dock{left:50%;bottom:max(20px, env(safe-area-inset-bottom));z-index:40;pointer-events:none;place-items:end center;gap:12px;display:grid;position:fixed;transform:translate(-50%)}.dev-edge-hint{color:var(--text);opacity:0;pointer-events:none;background:#141820eb;border:1px solid #ffffff14;border-bottom:0;border-radius:16px 16px 0 0;justify-items:center;gap:2px;padding:8px 12px 10px;transition:opacity .16s,transform .16s;display:none;transform:translateY(8px)}.dev-edge-hint-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:.74rem}.dev-edge-hint-copy{color:var(--muted);font-size:.85rem}.dev-popover,.dev-rail{pointer-events:auto}.dev-popover{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#ff9e7a14,#0000 40%),#070c18eb;border:1px solid #95fff02e;border-radius:24px;width:min(360px,100vw - 72px);padding:16px;box-shadow:0 28px 70px #0006}.dev-popover[hidden],.dev-menu-panel{display:none}.dev-menu-panel-active{display:block}.dev-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dev-panel-title{letter-spacing:0;margin:8px 0 0;font-size:1.35rem}.dev-pill-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.dev-pill,.dev-pill-button{color:var(--text);font-family:var(--font-mono);letter-spacing:.04em;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;padding:9px 12px;font-size:.82rem}.dev-pill-button{appearance:none;cursor:pointer;transition:background-color .12s,border-color .12s,transform .12s}.dev-pill-button:hover{background:#95fff01a;border-color:#95fff047;transform:translateY(-1px)}.dev-copy{color:var(--muted);margin-top:12px;line-height:1.5}.dev-status{color:var(--text);font-family:var(--font-mono);background:#ffffff0d;border:1px solid #ffffff14;border-radius:14px;margin-top:12px;padding:10px 12px;font-size:.88rem}.dev-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.dev-actions-single{grid-template-columns:1fr}.dev-actions-three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.dev-actions button{appearance:none;color:var(--text);font:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #95fff038;border-radius:14px;padding:11px 12px;font-size:.95rem;transition:background-color .12s,transform .12s,border-color .12s}.dev-actions button:hover{background:#95fff01a;border-color:#95fff073;transform:translateY(-1px)}.dev-actions button:active{transform:translateY(0)}.dev-actions button[data-active=true]{color:#fff;background:#95fff029;border-color:#95fff0a6}.dev-reference-list{color:var(--muted);gap:8px;margin-top:10px;line-height:1.45;display:grid}.dev-reference-list li{gap:2px;display:grid}.dev-reference-list-compact{border-top:1px solid #ffffff14;margin-top:16px;padding-top:14px}.dev-reference-list strong{color:var(--text);font-size:.95rem}.dev-reference-list span{color:var(--muted)}.dev-rail{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#141820e6;border:1px solid #ffffff1a;border-radius:999px;align-items:stretch;transition:transform .18s,box-shadow .18s;display:inline-flex;overflow:hidden;transform:translateY(calc(100% - 18px));box-shadow:0 16px 32px #00000059}.dev-dock.hover-reveal .dev-rail,.dev-dock[data-open=true] .dev-rail,.dev-dock:focus-within .dev-rail{transform:translateY(0);box-shadow:0 20px 36px #00000061}.dev-rail-button{border:0;min-width:82px;min-height:82px;color:var(--text);cursor:pointer;background:0 0;border-inline-end:1px solid #ffffff14;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 18px 9px;transition:background-color .12s,color .12s;display:flex;position:relative}.dev-rail-icon{justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.dev-rail-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:inherit;opacity:.82;font-size:.68rem;line-height:1}.dev-rail-icon svg{fill:currentColor;width:100%;height:100%;display:block}.dev-rail-button:last-child{border-inline-end:0}.dev-rail-button:hover,.dev-rail-button:focus-visible,.dev-rail-button[data-active=true]{color:var(--accent);background:#ffffff1a}.dev-rail-button:focus-visible{outline-offset:-3px;outline:2px solid #95fff0e0}.dev-rail-button[data-active=true]{box-shadow:inset 0 -3px #95fff0a6}.dev-rail-button:before,.dev-rail-button:after{opacity:0;pointer-events:none;transition:opacity .12s,transform .12s;position:absolute;left:50%;transform:translate(-50%,4px)}.dev-rail-button:before{content:attr(data-tooltip);color:#fff;font-family:var(--font-display);letter-spacing:0;white-space:nowrap;background:#141820f5;border:1px solid #ffffff1a;border-radius:12px;padding:8px 10px;font-size:.92rem;bottom:calc(100% + 14px)}.dev-rail-button:after{content:"";background:#141820f5;border-bottom:1px solid #ffffff1a;border-right:1px solid #ffffff1a;width:12px;height:12px;bottom:calc(100% + 7px);transform:translate(-50%,4px)rotate(45deg)}.dev-rail-button:hover:before,.dev-rail-button:hover:after,.dev-rail-button:focus-visible:before,.dev-rail-button:focus-visible:after,.dev-rail-button[data-active=true]:before,.dev-rail-button[data-active=true]:after{opacity:1;transform:translate(-50%)}@media (width<=1080px){.layout{grid-template-columns:1fr}.hud-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.saga-block,.message-block{grid-column:1/-1}}@media (hover:none),(pointer:coarse),(width<=820px){html,body{overscroll-behavior:none}.game-panel,#game,#game canvas{touch-action:none}#game,#game canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.touch-controls,.game-corner-btn{display:flex}.game-pause-button{right:max(60px, env(safe-area-inset-right))}.shell:not([data-mode=arena]) .game-input-legend[data-input-mode=touch]{display:none}.shell:not([data-mode=arena]) .game-panel:has(.game-input-legend[data-input-mode=touch]) .game-pause-option{display:none}.keyboard-controls-card{display:none}}@media (width>=900px) and (width<=1180px) and (orientation:landscape){.layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr)}.hud-panel{grid-template-columns:1fr}}@media (width<=720px){.shell{padding:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left))}.shell-dev{padding-bottom:144px}.shell-dev .layout{margin-bottom:96px}.keyboard-controls-card{display:none}.game-corner-btn{top:max(10px, env(safe-area-inset-top))}.game-corner-btn--fs{left:10px}.game-overlay-stats{top:max(10px, env(safe-area-inset-top));left:max(60px, env(safe-area-inset-left));grid-template-columns:repeat(2,max-content);max-width:calc(100% - 158px)}.game-pause-button{top:max(58px, calc(48px + env(safe-area-inset-top)));right:max(10px, env(safe-area-inset-right))}.game-overlay-message{top:max(116px, calc(106px + env(safe-area-inset-top)));width:calc(100% - 20px)}.game-overlay-message>.label{display:none}.game-overlay-message .game-overlay-goal{margin-block-end:4px}.game-input-legend{inset-inline:10px;bottom:max(calc(156px * var(--touch-scale) + 38px), calc(156px * var(--touch-scale) + 28px + env(safe-area-inset-bottom)));text-align:start;max-width:none}.hud-panel{grid-template-columns:1fr;gap:8px}.hud-block{border-radius:14px;padding:12px}.journey-list{gap:5px}.journey-button{min-height:64px;padding:8px 4px}.mobile-diag{border-radius:10px;max-width:min(300px,100% - 18px);padding:8px 10px;top:8px;left:8px}.mobile-diag-row{font-size:.64rem}.touch-cluster{gap:8px}.touch-actions{max-width:58%}.touch-button{min-width:max(44px, calc(56px * var(--touch-scale)));min-height:max(44px, calc(56px * var(--touch-scale)));font-size:.95rem}.touch-button-action{min-width:max(44px, calc(66px * var(--touch-scale)));min-height:max(44px, calc(52px * var(--touch-scale)));border-radius:14px;font-size:min(.7rem,11.2px)}.touch-pref-button{min-height:44px;padding:8px 10px;font-size:.64rem}.touch-settings-sheet{padding:10px}.touch-settings-panel{border-radius:14px;gap:8px;padding:10px}.touch-settings-row,.game-pause-option{font-size:.7rem}.choice-option-face{padding:4px 6px}.touch-settings-range{min-width:120px}.dev-dock{left:50%;right:auto;bottom:max(12px, env(safe-area-inset-bottom));justify-items:center}.dev-edge-zone{height:104px}.dev-popover{width:min(100%,420px)}.dev-actions,.dev-actions-three-up{grid-template-columns:1fr}.dev-rail{justify-content:center;width:100%}.dev-rail-button{flex:1 1 0;gap:5px;min-width:0;min-height:78px}.dev-actions{grid-template-columns:1fr}}@media (hover:hover) and (pointer:fine) and (width>=821px){.touch-only-settings-row{display:none!important}}@media (width<=720px) and (orientation:portrait){.topbar{display:none}.shell{padding-inline:0;padding-top:max(6px, env(safe-area-inset-top))}.layout{gap:6px;padding-inline:5px}.hud-panel{padding-inline:7px}.game-panel{z-index:18;border-inline:none;border-radius:0;height:max(58svh,450px);padding:0;position:sticky;top:0;overflow:hidden}#game{width:100%;height:100%;min-height:0;aspect-ratio:unset;border-radius:0}.touch-controls{inset-inline:10px;bottom:max(10px, env(safe-area-inset-bottom));gap:8px}.game-overlay-message{max-height:max(calc(100% - max(116px, calc(106px + env(safe-area-inset-top))) - (156px * var(--touch-scale) + 89px)), calc(.78rem * 1.3 * 2 + 18px));overscroll-behavior:contain;overflow-y:auto}.shell:not([data-mode=arena]) .game-panel:has(.game-input-legend[data-input-mode=touch]) .game-overlay-message{max-height:max(calc(100% - max(116px, calc(106px + env(safe-area-inset-top))) - (156px * var(--touch-scale) + 38px)), calc(.78rem * 1.3 * 2 + 18px))}}@media (width>=360px) and (width<=720px){.touch-controls>.touch-move,.touch-controls>.touch-actions{flex:0 calc(50% - 4px);max-width:calc(50% - 4px)}.touch-controls>.touch-move .touch-button{min-width:max(44px, min(calc(56px * var(--touch-scale)), calc((100% - 16px) / 3)))}.touch-controls>.touch-actions .touch-button-action{min-width:max(44px, min(calc(66px * var(--touch-scale)), calc((100% - 8px) / 2)))}}@media (width<=359px) and (orientation:portrait){.game-overlay-stat{padding-inline:6px}.touch-controls{--touch-narrow-cluster-gap:8px;--touch-narrow-move-floor:calc(44px + 44px + 44px + var(--touch-narrow-cluster-gap) + var(--touch-narrow-cluster-gap));gap:4px}.touch-controls>.touch-move{flex:0 1 max(var(--touch-narrow-move-floor), min(calc(132px * var(--touch-scale) + 16px), calc(50% - 2px)));gap:var(--touch-narrow-cluster-gap)}.touch-controls>.touch-actions{flex:0 1 min(calc(132px * var(--touch-scale) + var(--touch-narrow-cluster-gap)), calc(50% - 2px));gap:var(--touch-narrow-cluster-gap);grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;display:grid}.touch-controls>.touch-actions .touch-button-action{min-width:0;min-height:calc(52px * var(--touch-scale))}.touch-controls>.touch-move .touch-button{min-width:max(44px, min(calc(44px * var(--touch-scale)), calc((100% - var(--touch-narrow-cluster-gap) - var(--touch-narrow-cluster-gap)) / 3)));min-height:calc(56px * var(--touch-scale))}.shell:not([data-mode=arena]) .game-input-legend{display:none}}@media (width<=720px) and (orientation:portrait) and (height<=560px){.game-panel{height:100svh}}@media (height<=520px) and (orientation:landscape){.shell{height:100svh;min-height:0;padding:max(6px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));overflow:hidden}.topbar{display:none}.layout{grid-template-columns:minmax(0,1fr) minmax(220px,.38fr);align-items:stretch;gap:8px;height:calc(100svh - 12px)}.game-panel{border-radius:18px;height:100%;min-height:0;padding:6px;position:relative;top:auto}#game{aspect-ratio:auto;height:100%;min-height:0}#game canvas{object-fit:contain;height:100%}.hud-panel{scrollbar-width:thin;grid-template-columns:1fr;gap:8px;max-height:100%;overflow:auto}.shell:not([data-screen=title]) .layout{grid-template-columns:minmax(0,1fr)}.shell:not([data-screen=title]) .hud-panel{display:none}.hud-block{border-radius:14px;padding:10px}.journey-list{gap:4px}.message-block{min-height:96px}.touch-controls{inset-inline:12px;display:flex;bottom:12px}.shell[data-mode=arena] .game-input-legend{display:none}.mobile-diag{max-width:min(320px,100% - 20px);top:8px;left:8px}.touch-button{min-width:max(44px, calc(50px * var(--touch-scale)));min-height:max(44px, calc(50px * var(--touch-scale)))}.touch-button-action{min-width:max(44px, calc(60px * var(--touch-scale)));min-height:max(44px, calc(46px * var(--touch-scale)))}.touch-pref-row{width:auto;margin-inline-end:auto}.touch-settings-sheet{align-items:center}}.touch-controls-hidden .touch-cluster{display:none!important}body.reduced-motion *,body.reduced-motion :before,body.reduced-motion :after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}body.reduced-motion .title-screen-start,body.reduced-motion .title-screen-arena,body.reduced-motion .game-corner-btn,body.reduced-motion .touch-pref-button,body.reduced-motion .touch-settings-close,body.reduced-motion .touch-settings-toggle,body.reduced-motion .touch-button,body.reduced-motion .journey-list li,body.reduced-motion .dev-pill-button,body.reduced-motion .dev-actions button,body.reduced-motion .dev-edge-hint{transform:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.title-screen-start,.title-screen-arena,.game-corner-btn,.touch-pref-button,.touch-settings-close,.touch-settings-toggle,.touch-button,.journey-list li,.dev-pill-button,.dev-actions button,.dev-edge-hint{transform:none!important}}.touch-settings-stats{background:#00000040;border-radius:8px;gap:10px;padding:10px;display:grid}.touch-settings-stats-mode-label{color:var(--muted);font-size:.75rem;font-family:var(--font-mono);letter-spacing:.04em;margin-bottom:2px;display:block}.touch-settings-meters{gap:8px;display:grid}.touch-meter{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.touch-meter-label{color:var(--text);font-size:.7rem;font-family:var(--font-mono);letter-spacing:.04em;grid-column:1/-1}.touch-meter-track{background:#95fff026;border-radius:3px;grid-column:1;height:6px;overflow:hidden}.touch-meter-fill{background:linear-gradient(90deg, var(--accent), #ff9e7a99);border-radius:3px;width:50%;height:100%;transition:width .2s}.touch-meter-value{color:var(--muted);font-size:.65rem;font-family:var(--font-mono);letter-spacing:.04em;text-align:right;grid-column:2;min-width:4.5em}.touch-settings-adjustments{gap:4px;display:grid}.touch-settings-adjustments-empty,.touch-settings-history-empty{color:var(--muted);font-size:.7rem;font-family:var(--font-mono);letter-spacing:.04em;margin:2px 0;font-style:italic}.touch-settings-adjustment-line{color:var(--text);font-size:.7rem;font-family:var(--font-mono);letter-spacing:.04em;margin:0}.touch-settings-history{overscroll-behavior:contain;gap:4px;max-height:120px;display:grid;overflow-y:auto}.touch-settings-history-line{color:var(--text);font-size:.7rem;font-family:var(--font-mono);letter-spacing:.04em;justify-content:space-between;gap:8px;margin:0;display:flex}.touch-history-text{flex:1}.touch-history-time{color:var(--muted);text-align:right;flex:none;min-width:5em}.touch-settings-history-toggle-row{justify-content:center;display:flex}.touch-settings-stats-note{color:var(--muted,#ffffffb3);margin:4px 0 0;font-size:.8rem}.touch-settings-stats[hidden]{display:none}.reduced-motion .touch-meter-fill{transition:none}
