:root{color-scheme:dark;--bg:#121615;--panel:#171d19;--raised:#20271f;--ink:#eeeee4;--muted:#a2ac9b;--faint:#848f7e;--line:#3b4538;--ice:#e2efad;--lime:#e2efad;--copper:#c6a478;--edge:20px;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--hud-height:104px;--dock-height:184px}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:16px/1.45 var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;border:0;cursor:pointer;background:none}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--ice);outline-offset:4px}a{color:inherit;text-decoration:none}svg{display:block;flex-shrink:0}[hidden],.is-hidden{display:none!important}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon.small{width:18px;height:18px}::selection{background:var(--ice);color:var(--bg)}
#world{position:fixed;inset:0;display:block;width:100%;height:100%;outline:none;touch-action:none}.play-viewport{position:fixed;left:0;right:0;top:calc(var(--safe-top) + var(--hud-height));bottom:calc(var(--safe-bottom) + var(--dock-height));pointer-events:none}
.site-header{position:fixed;left:0;right:0;top:0;height:calc(64px + var(--safe-top));padding:var(--safe-top) var(--edge) 0;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:30;background:var(--bg)}.brand{display:flex;align-items:center;gap:9px;min-height:44px}.brand>svg{color:var(--ice);width:25px;height:29px}.brand>span{font-size:14px;font-weight:650;letter-spacing:.18em}.brand small{display:none}.header-actions{display:flex;align-items:center;gap:3px}.header-button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:7px 8px;font-size:13px;color:#c3ccbb}.header-button .icon{width:20px;height:20px}.header-button:hover{color:var(--ice)}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.09em;color:var(--muted);margin:0 0 10px}.intro{position:fixed;inset:0;z-index:10;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#35505c transparent;background:var(--bg)}.menu-content{width:100%;padding:calc(72px + var(--safe-top)) var(--edge) calc(124px + var(--safe-bottom));margin:auto}.intro-hero{position:relative;min-height:174px;display:grid;grid-template-columns:minmax(0,1fr) 128px;column-gap:0;align-items:start}.intro-heading{padding-top:7px;position:relative;z-index:2}.intro-heading .eyebrow{font-size:11px;margin-bottom:9px;letter-spacing:.02em}.intro-heading h1{font-size:49px;letter-spacing:.025em;line-height:1.05;font-weight:500;margin:0 0 8px -2px}.intro-heading h1>span{color:var(--copper)}.mobile-intro-lead{font-size:16px;line-height:1.4;color:#cbd1c1;margin:9px 0 0}.hero-tagline{display:none}.intro-view{position:relative;height:172px;pointer-events:none}.character-link{display:flex;align-items:center;gap:8px;min-height:44px;padding:7px 0;grid-column:1;align-self:end;margin-top:-47px;position:relative;z-index:3;font-size:13px;color:var(--copper);white-space:nowrap}.character-link>.icon{width:17px;height:17px}.io-glyph{font:25px/1 Georgia,serif;color:var(--ice)}.route-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0 12px}.route-heading h2{font-size:20px;line-height:1.2;letter-spacing:-.015em;font-weight:600;margin:0}.route-heading>span{font-size:12px;color:var(--faint)}.reality-switch{display:grid;gap:9px}.route-card{display:flex;align-items:center;gap:12px;position:relative;width:100%;min-height:78px;padding:14px 12px;text-align:left;background:#171d19;border:1px solid #414a3a;border-radius:0;transition:background .15s,border-color .15s}.route-card:hover{background:#162a35;border-color:#607d88}.route-card[aria-pressed=true]{background:#252e20;border-color:#a5d7d5;box-shadow:inset 0 0 0 1px #8ab9b8}.route-number{display:grid;place-items:center;width:34px;height:36px;border-radius:0;background:#262f24;font-size:13px;font-variant-numeric:tabular-nums;color:#b3c7cf;flex-shrink:0}.route-card[aria-pressed=true] .route-number{background:#e2efad;color:#17323a}.route-card-copy{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.route-card-copy strong{font-size:16px;font-weight:600;line-height:1.15}.route-card-copy>span{font-size:12px;line-height:1.4;color:#a6bac3}.route-level{display:none;font-size:11px;color:#b2c4c8}.route-selected{display:grid;place-items:center;width:20px;height:20px;border-radius:0;border:1px solid #5c7480;flex-shrink:0}.route-selected>.icon{visibility:hidden;width:16px;height:16px;stroke-width:2.5}.route-card[aria-pressed=true] .route-selected{background:var(--ice);border-color:var(--ice);color:#252e20}.route-card[aria-pressed=true] .route-selected>.icon{visibility:visible}.route-description{font-size:13px;line-height:1.5;color:#a4b6bf;margin:12px 2px 0}.menu-record{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:13px 2px;margin-top:16px;font-size:12px;color:#91a8b2}.menu-record strong{font-size:16px;color:#c8d9da;font-weight:550;font-variant-numeric:tabular-nums}.menu-actions{position:fixed;z-index:15;bottom:0;left:0;right:0;padding:13px var(--edge) calc(12px + var(--safe-bottom));display:flex;flex-direction:column;gap:8px;background:#141a16;border-top:1px solid #2c424e}.button{display:flex;align-items:center;justify-content:center;gap:13px;min-height:50px;padding:12px 18px;font-size:15px;line-height:1.3;font-weight:600;border-radius:0;border:1px solid transparent}.button-primary{color:#222b1d;background:var(--ice);border-color:var(--ice)}.button-primary:hover{background:#eef6c9}.button-primary .icon{margin-left:auto}.button-primary>span:first-child{flex:1;text-align:left}.button-secondary{border-color:#535e49;background:#172a36;color:#d5e2e5}.button-quiet{color:#b6c8cf;background:transparent;font-size:14px;min-height:44px}.button-quiet:hover{color:var(--ice);background:#172a36}.menu-actions>.button{min-height:54px}.menu-caption{font-size:12px;color:#8da5b1;text-align:center;margin:0}.intro[data-has-save=true] .menu-content{padding-bottom:calc(150px + var(--safe-bottom))}.intro[data-has-save=true] #continueBtn{order:0}.intro[data-has-save=true] #startBtn{order:1;min-height:36px;border-color:transparent;background:none;color:#adbfca;padding:5px;font-size:13px}.intro[data-has-save=true] #startBtn>.icon{display:none}.intro[data-has-save=true] #startLabel{text-align:center}.intro[data-has-save=true] .menu-caption{display:none}
/* The field is a separate rectangle. All game controls stay outside it on phones. */
.hud{position:fixed;inset:0;pointer-events:none;z-index:20}.hud button{pointer-events:auto}body[data-screen=play] .header-actions{display:none}body[data-screen=play] .site-header{height:calc(56px + var(--safe-top));border-bottom:0}body[data-screen=play] .brand small{display:none}.pause-button{position:absolute;top:calc(6px + var(--safe-top));right:var(--edge);min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;color:#cbd3c1;padding:8px}.pause-button .icon{width:19px;height:19px}.hud-top{position:absolute;left:0;right:0;top:calc(56px + var(--safe-top));height:48px;padding:0 var(--edge) 9px;display:grid;grid-template-columns:70px 1fr auto;align-items:center;column-gap:10px;background:var(--bg)}.hud-route{display:flex;flex-direction:column;gap:1px}.hud-route>span{font-size:11px;color:#9eb5bf;line-height:1.2}.hud-route>strong{font-size:16px;line-height:1.3;font-weight:600;font-variant-numeric:tabular-nums}.hud-score{text-align:right}.hud-score>span{display:block;font-size:11px;color:#9bb1bb;line-height:1.3}.hud-score small{margin-left:5px;color:#aecabf;font-size:11px}.hud-score>strong{font-size:22px;line-height:1.1;font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.hud-event{position:relative;min-width:0;text-align:center;font-size:11px;line-height:1.3;color:#92afa9}.hud-event>#checkpointLabel{display:block}.stability-panel{color:#ebc18e;font-variant-numeric:tabular-nums}.stability-panel>div{width:84%;height:3px;background:#4c4032;margin:4px auto 0}.stability-panel i{display:block;height:100%;background:#e4bf86;transform-origin:left}.stability-panel.urgent{color:#ffb394}.stability-panel.urgent i{background:#ffb394}.hud-event:has(.stability-panel:not([hidden]))>#checkpointLabel{display:none}.hud-toast{position:absolute;inset:0;display:grid;place-items:center;opacity:0;background:var(--bg);color:var(--ice);font-size:12px;transition:opacity .14s;pointer-events:none}.hud-toast.visible{opacity:1}.journey-track{position:absolute;left:var(--edge);right:var(--edge);height:3px;bottom:0;background:#223844;overflow:hidden;border-radius:0}.journey-track>div{height:100%;width:0;background:var(--ice);transition:width .18s}
.control-dock{position:fixed;left:0;right:0;bottom:0;z-index:25;height:calc(var(--dock-height) + var(--safe-bottom));padding:12px var(--edge) calc(12px + var(--safe-bottom));background:#151b17;border-top:1px solid #46503d;border-radius:0;pointer-events:auto;touch-action:manipulation}.dock-main{display:grid;grid-template-rows:43px 29px 72px;gap:6px;height:100%}.dock-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:0}.dock-copy{min-width:0;flex:1}.dock-copy>span{display:block;font-size:12px;line-height:1.3;color:#a4bdc7;margin-bottom:3px}.dock-copy>p{font-size:14px;font-weight:500;line-height:1.3;margin:0;color:#dce2d3}.dock-copy>p.ready{color:var(--lime)}.route-button{font-size:12px;border:1px solid #4b6470;color:#c8d9de;padding:6px 9px;display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;max-width:120px;border-radius:0;flex-shrink:0}.route-button>.icon{width:16px;height:16px}.route-button[aria-pressed=true]{color:#f1c18c;border-color:#b08b59;background:#312a23}.dock-window{min-height:29px;align-self:center}.quantum-panel{width:100%;height:29px}.window-copy{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;line-height:1.25;color:#9fb7c4;margin-bottom:5px}.window-copy>strong{font-weight:500;color:#c2d9de;font-variant-numeric:tabular-nums}.tunnel-track{position:relative;height:5px;background:#394333;overflow:hidden;border-radius:0}.tunnel-window{position:absolute;left:var(--window-start,22%);right:var(--window-end,40%);height:100%;background:#b29bd9}.tunnel-track i{position:absolute;inset:0;background:#e5f0e8;transform-origin:left;opacity:.7}.tunnel-track[data-kind=coherence] .tunnel-window{display:none}.tunnel-track[data-kind=coherence] i{background:var(--ice);opacity:1}.game-controls{display:grid;grid-template-columns:.68fr 1.18fr 1.22fr;gap:8px;height:72px;min-height:0}.control-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;height:72px;min-height:60px;overflow:hidden;border-radius:0;border:1px solid #525e48;background:#1b241c;color:#dce4cf;font-size:13px;font-weight:600;line-height:1.1;touch-action:none;user-select:none;-webkit-user-select:none}.control-button>.icon{width:23px;height:23px;stroke-width:1.8}.control-button:active:not(:disabled){transform:scale(.97)}.control-button:disabled{opacity:.44}.context-slot{min-width:0}.context-slot>.control-button{font-size:13px}.control-key{display:none}.jump-button{background:var(--lime);border-color:var(--lime);color:#24331d;font-size:15px;gap:5px}.jump-button>.icon{width:25px;height:25px}.jump-button:disabled{background:#4b5a40;color:#ced8c5;border-color:#59694d;opacity:.8}.action-button{background:#232e22;border-color:#737e5b;color:#d5dfc4}.action-button.active{background:var(--ice);border-color:var(--ice);color:#173039;box-shadow:0 0 18px #e2efad14}.action-button.done{border-color:#7b9c8e;background:#2a3524;color:#d5e8df}.freeze-button{font-size:12px;gap:3px;padding-bottom:12px}.freeze-button>.icon{width:22px;height:22px}.freeze-button.active{background:#33402c;border-color:var(--ice);color:#e0f4f1}.freeze-button>small{position:absolute;bottom:4px;left:0;right:0;text-align:center;color:#a8c6ce;font-size:10px;font-weight:450;line-height:1}.freeze-charge{position:absolute;bottom:0;left:0;right:0;height:3px;background:#2d4655}.freeze-charge>i{display:block;width:100%;height:100%;background:var(--ice);transform-origin:left}.hint-button{color:#9fb9c5;border-color:#46503d;background:#1b231c}.hint-button>.icon{width:21px;height:21px}
.coach-panel{position:absolute;inset:0;padding:15px var(--edge) calc(12px + var(--safe-bottom));display:flex;flex-direction:column;justify-content:space-between;gap:8px;background:#181f19;border-radius:0;box-shadow:inset 0 2px 0 var(--ice)}.coach-heading .eyebrow{font-size:11px;color:#9fc5c8;margin:0 0 4px}.coach-heading h2{font-size:19px;line-height:1.2;font-weight:600;margin:0}.coach-panel>p{font-size:14px;line-height:1.4;color:#c0d4dc;margin:0;max-width:550px}.coach-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.coach-actions>.button{min-height:44px;padding:9px 8px;font-size:14px}.coach-actions>.button-quiet{color:#9db8c4}.coach-panel[data-manual=true] #coachSkipBtn{display:none}.coach-panel[data-manual=true] .coach-actions{grid-template-columns:1fr}body[data-mode=coaching] #dockMain{visibility:hidden}
.overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:calc(20px + var(--safe-top)) 16px calc(20px + var(--safe-bottom));background:rgba(5,12,19,.94);overflow-y:auto;overscroll-behavior:contain}.sheet{position:relative;width:100%;max-width:480px;padding:28px 22px 22px;border:1px solid #454e3e;border-radius:0;background:#151c18;max-height:calc(100dvh - 40px - var(--safe-top) - var(--safe-bottom));overflow-y:auto;scrollbar-width:thin}.close-button{position:absolute;top:10px;right:10px}.icon-button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;border-radius:0;border:1px solid #525e48;background:#1b241d;color:#bed2d9}.sheet>.eyebrow{padding-right:35px;margin-top:5px;color:#c0c9b4}.sheet h2{font-size:32px;font-weight:550;letter-spacing:-.025em;line-height:1.15;margin:16px 0}.modal-text{font-size:15px;line-height:1.55;color:#c2d4dc}.modal-text p{margin:0 0 15px}.modal-text strong{font-weight:600;color:#e3eded}.modal-stats{font-size:13px;color:#a6bec8;margin:14px 0}.settings-controls{display:grid;gap:8px;margin:18px 0}.settings-controls>button{display:flex;align-items:center;gap:10px;text-align:left;width:100%;min-height:52px;padding:12px;border:1px solid #47513e;background:#1c251d;border-radius:0;font-size:14px;color:#d4e3e8}.settings-controls>button>.icon{width:20px;height:20px;color:#c9d5b3}.settings-controls>button>span:not(.setting-action){flex:1}.setting-action{font-size:11px;color:#94afb9}.modal-actions,.result-actions{display:grid;gap:8px;margin-top:22px}.modal-actions .button-primary,.result-actions .button-primary{min-height:52px}.modal-actions .button-quiet{min-height:44px}.result-description{font-size:15px;line-height:1.55;color:#a9c0cb}.result-reason{font-size:15px;line-height:1.5;color:#edc18e;margin:14px 0}.result-scores{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 12px;padding:18px 0;border-top:1px solid #304b59;border-bottom:1px solid #304b59}.result-scores>div{display:flex;flex-direction:column;gap:7px}.result-scores span{font-size:12px;color:#9cb6c2}.result-scores strong{font-size:34px;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums}.result-scores>div:first-child strong{color:var(--ice)}.result-footer{text-align:center;color:#8ca9b6;font-size:12px;margin:23px 0 0}
.hero-showcase{position:fixed;inset:0;z-index:20;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);padding:calc(62px + var(--safe-top)) var(--edge) calc(24px + var(--safe-bottom))}.back-button{display:flex;align-items:center;gap:8px;font-size:14px;color:#bfd3d9;min-height:44px;padding:8px 0}.back-button>.icon{width:20px;height:20px}.hero-view{position:relative;height:clamp(236px,36dvh,330px);margin:0 -4px;pointer-events:none}.hero-rotation{position:absolute;left:0;right:0;top:45%;display:flex;justify-content:space-between;pointer-events:none}.hero-rotation button{pointer-events:auto;background:#11232ddd}.hero-dossier{position:relative;padding:5px 0 0}.hero-dossier>.eyebrow{font-size:12px;margin-bottom:5px}.hero-dossier h2{font-size:42px;line-height:1;font-weight:500;letter-spacing:.03em;margin:0 0 5px}.hero-dossier h2>span{color:var(--copper)}.hero-role{font-size:14px;color:var(--copper);margin:0 0 14px}.hero-bio{font-size:19px;line-height:1.4;color:#dfebe8;margin:0 0 9px;max-width:400px}.hero-personality{font-size:14px;line-height:1.5;color:#9bb4c1;margin:0 0 18px;max-width:400px}.hero-poses{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hero-poses>button{min-height:44px;padding:10px;font-size:14px;color:#c0cbb2;border:1px solid #4f5c43;background:#1b241c;border-radius:0}.hero-poses>button[aria-pressed=true]{background:#303d27;border-color:#a2ced0;color:#e0efeb}.hero-pose-label{font-size:13px;line-height:1.3;color:#c5a780;margin:12px 0 18px;min-height:17px}.hero-dossier>.button{width:100%;min-height:52px}body[data-screen=portrait] .site-header{background:var(--bg)}body[data-screen=portrait] #helpBtn{display:none}
@media(max-width:359px){:root{--edge:14px}.header-button{padding:7px 5px;font-size:12px}.brand>span{font-size:13px}.intro-hero{grid-template-columns:minmax(0,1fr) 110px}.intro-heading h1{font-size:44px}.route-card{padding:13px 10px;gap:9px}.route-card-copy>span{font-size:11px}.route-card-copy strong{font-size:15px}.context-slot>.control-button{font-size:12px}.coach-panel>p{font-size:13px}.coach-heading h2{font-size:18px}}
@media(max-height:660px) and (max-width:849px){:root{--dock-height:170px;--hud-height:98px}.site-header{height:calc(58px + var(--safe-top))}.menu-content{padding-top:calc(64px + var(--safe-top))}.intro-hero{min-height:148px}.intro-view{height:150px}.intro-heading h1{font-size:44px}.mobile-intro-lead{font-size:15px}.character-link{margin-top:-41px;font-size:12px}.route-heading{margin-top:12px}.route-card{min-height:72px;padding-top:12px;padding-bottom:12px}.control-dock{padding-top:9px;padding-bottom:calc(9px + var(--safe-bottom))}.dock-main{grid-template-rows:39px 25px 68px;gap:5px}.game-controls,.control-button{height:68px}.coach-panel{padding-top:12px;padding-bottom:calc(9px + var(--safe-bottom));gap:6px}.coach-panel>p{font-size:13px;line-height:1.35}.coach-heading h2{font-size:18px}.coach-heading .eyebrow{font-size:10px}.hud-top{height:42px}.hero-view{height:220px}}
@media(min-width:850px){:root{--edge:clamp(28px,4.3vw,76px);--hud-height:0px;--dock-height:0px}.site-header{height:88px;background:transparent;padding-top:0}.brand>svg{width:28px;height:32px}.brand>span{font-size:16px}.brand small{display:block;padding-left:15px;margin-left:7px;border-left:1px solid #344a56;color:#93aab6;font-size:12px}.header-actions{gap:14px}.header-button{font-size:14px;gap:9px}.intro{background:linear-gradient(90deg,#121615 0%,#121615 39%,#121615aa 50%,transparent 70%)}.menu-content{width:440px;margin-left:var(--edge);padding:108px 0 36px}.intro-hero{display:block;min-height:0}.intro-heading{padding:0}.intro-heading .eyebrow{font-size:12px;letter-spacing:.08em;margin-bottom:17px}.intro-heading h1{font-size:86px;line-height:1;letter-spacing:.055em;margin-bottom:15px}.hero-tagline{display:block;font-size:22px;line-height:1.35;font-weight:400;color:#d4dacb;margin:0 0 22px;max-width:430px}.mobile-intro-lead{display:none}.intro-view{position:fixed;top:90px;left:calc(var(--edge) + 470px);right:24px;bottom:80px;height:auto;z-index:-1}.character-link{position:fixed;left:calc(var(--edge) + 540px);bottom:29px;margin:0;font-size:14px;padding:10px 16px;border:1px solid #4f5a45;border-radius:0;background:#102431aa;min-height:46px}.route-heading{margin-top:0;margin-bottom:12px}.route-card{min-height:70px;padding:12px 14px}.route-card-copy strong{font-size:16px}.route-card-copy>span{font-size:12px}.route-level{display:block}.route-description{font-size:13px;margin-top:12px}.menu-record{margin-top:14px;padding:12px 2px}.menu-actions{position:static;border:0;background:none;padding:0;margin-top:14px;gap:8px}.menu-actions .button{min-height:53px}.menu-actions>.menu-caption{text-align:left;font-size:12px}.intro[data-has-save=true] .menu-content{padding-bottom:36px}.intro[data-has-save=true] #startBtn{min-height:36px}.play-viewport{inset:0}.hud-top{left:var(--edge);right:auto;top:112px;width:400px;padding:0 0 13px;height:72px;grid-template-columns:91px 1fr auto;background:transparent}.hud-route>span{font-size:12px}.hud-route>strong{font-size:20px}.hud-score>span{font-size:12px}.hud-score>strong{font-size:34px}.hud-event{font-size:12px}.hud-toast{font-size:13px;background:#121615ef}.journey-track{left:0;right:0}.pause-button{top:106px;right:var(--edge);font-size:14px}.control-dock{left:auto;right:var(--edge);bottom:26px;width:470px;height:190px;border:1px solid #4a5541;border-radius:0;padding:14px 16px;background:#151c18ee}.dock-main{grid-template-rows:46px 28px 72px;gap:8px}.game-controls{grid-template-columns:.85fr 1.2fr 1.35fr}.control-key{display:block;font-size:10px;font-weight:450;color:inherit;opacity:.7;position:absolute;top:7px;right:8px}.control-button>.icon{width:24px;height:24px}.control-button{font-size:14px;gap:6px}.freeze-button{padding-bottom:10px}.freeze-button>.control-key{display:none}.context-slot>.control-button{font-size:14px}.coach-panel{border-radius:0;padding:15px 18px}.coach-panel>p{font-size:14px}.hero-showcase{padding:106px var(--edge) 36px;background:transparent}.back-button{position:fixed;top:94px;left:var(--edge);font-size:14px}.hero-view{position:fixed;left:48%;right:var(--edge);top:95px;bottom:35px;height:auto;margin:0}.hero-rotation{top:auto;bottom:4px;left:20%;right:20%}.hero-dossier{width:400px;margin-top:60px}.hero-dossier>.eyebrow{font-size:12px;margin-bottom:15px}.hero-dossier h2{font-size:86px;margin-bottom:8px}.hero-role{font-size:16px;margin-bottom:22px}.hero-bio{font-size:24px;line-height:1.4}.hero-personality{font-size:15px;margin:16px 0 24px}.hero-poses>button{font-size:14px;min-height:46px}.hero-dossier>.button{min-height:54px}.hero-pose-label{font-size:13px;margin-top:16px}.sheet{padding:32px;max-width:500px}.sheet h2{font-size:36px}}
@media(min-width:850px) and (max-height:760px){.menu-content{padding-top:94px}.intro-heading h1{font-size:72px;margin-bottom:10px}.intro-heading .eyebrow{margin-bottom:11px}.hero-tagline{font-size:20px;margin-bottom:18px}.route-card{min-height:65px;padding-top:10px;padding-bottom:10px}.route-heading h2{font-size:18px}.route-heading{margin-bottom:10px}.menu-record{margin-top:9px;padding:9px 2px}.menu-actions{margin-top:9px}.hero-dossier{margin-top:44px}.hero-dossier h2{font-size:70px}.hero-bio{font-size:22px}}
@media(max-height:500px) and (orientation:landscape){:root{--hud-height:58px;--dock-height:0px;--edge:16px}.site-header,body[data-screen=play] .site-header{height:calc(58px + var(--safe-top))}.brand>span{font-size:12px}.header-button{font-size:12px}.menu-content{max-width:620px;padding:calc(66px + var(--safe-top)) 20px 30px;margin-left:0}.intro-hero{min-height:125px;grid-template-columns:minmax(0,1fr) 130px}.intro-view{height:130px}.intro-heading h1{font-size:40px}.mobile-intro-lead{font-size:15px}.character-link{font-size:12px;margin-top:-43px}.menu-actions{position:static;padding:14px 0 0;border:0;background:none}.intro[data-has-save=true] .menu-content{padding-bottom:30px}.menu-caption{display:none}.reality-switch{grid-template-columns:1fr}.route-card{min-height:67px}.play-viewport{left:0;right:272px;top:calc(58px + var(--safe-top));bottom:0}.hud-top{top:calc(6px + var(--safe-top));left:110px;right:285px;height:46px;padding:0 8px 7px;background:var(--bg);grid-template-columns:65px 1fr auto;gap:8px}.hud-route>span{display:none}.hud-route>strong{font-size:15px}.hud-score>span{display:none}.hud-score>strong{font-size:20px}.hud-event{font-size:11px}.journey-track{left:8px;right:8px;height:2px}.pause-button{right:16px;top:calc(6px + var(--safe-top));z-index:27}.control-dock{left:auto;right:0;top:calc(58px + var(--safe-top));bottom:0;width:272px;height:auto;padding:12px 14px calc(10px + var(--safe-bottom));border-radius:0;border-left:1px solid #334d5b}.dock-main{grid-template-rows:52px 30px minmax(138px,1fr);gap:8px}.dock-copy>p{font-size:13px}.dock-copy>span{font-size:12px}.game-controls{grid-template-columns:.8fr 1.2fr;grid-template-rows:60px 65px;gap:8px;height:auto;align-content:end}.game-controls>.jump-button{grid-column:1/-1;grid-row:2;height:65px;flex-direction:row;gap:11px}.game-controls>.freeze-button,.context-slot>.control-button{height:60px;min-height:60px}.coach-panel{padding:12px 14px 10px;border-radius:0;justify-content:center;gap:10px}.coach-panel>p{font-size:13px}.coach-heading h2{font-size:18px}.coach-actions{grid-template-columns:1fr;gap:4px}.coach-actions .button-quiet{min-height:35px}.route-button{font-size:11px;padding:5px;max-width:90px}.hero-showcase{padding:calc(62px + var(--safe-top)) 20px 24px}.hero-view{position:fixed;left:49%;right:10px;top:65px;bottom:25px;height:auto}.back-button{font-size:13px;min-height:36px}.hero-dossier{width:45%;padding-top:8px}.hero-dossier h2{font-size:36px}.hero-dossier .eyebrow{display:none}.hero-bio{font-size:16px}.hero-personality{font-size:12px;margin-bottom:12px}.hero-role{font-size:12px;margin-bottom:10px}.hero-poses{gap:5px}.hero-poses>button{font-size:12px;min-height:38px;padding:8px 5px}.hero-pose-label{font-size:11px;margin:9px 0}.hero-dossier>.button{min-height:44px;font-size:14px}.hero-rotation{top:auto;bottom:0;left:15%;right:15%}.sheet{max-height:calc(100dvh - 24px);padding:22px}.overlay{padding:12px}.sheet h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}

/* The canvas paints only the measured illustration / play area. */
@media(max-width:849px){.intro,.hero-showcase{background:transparent}}
.hud{z-index:35}.action-button.action-ready{background:var(--ice);border-color:var(--ice);color:#232d1c;box-shadow:0 0 18px #e2efad20}.quantum-panel.action-ready .window-copy>strong{color:var(--lime)}.jump-button.action-ready{box-shadow:0 0 20px #e2efad20}.control-button:focus-visible{outline-offset:2px}
@media(max-width:849px){.intro-hero{grid-template-rows:auto 44px;min-height:0}.intro-heading{grid-row:1}.intro-view{grid-column:2;grid-row:1}.character-link{grid-row:2;grid-column:1/-1;margin-top:0;align-self:center}.hero-poses>button{min-height:44px}.back-button{min-height:44px}.coach-actions .button-quiet{min-height:44px}}
.coach-heading,.coach-actions{flex-shrink:0}.coach-panel>p{min-height:0;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:849px){body[data-mode=coaching]{--dock-height:216px}}
@media(max-width:359px){body[data-mode=coaching]{--dock-height:232px}}
@media(max-width:849px){.intro-hero{grid-template-rows:128px 44px}.intro-heading{grid-row:1/-1}.intro-view{grid-row:1;height:128px}.character-link{grid-row:2;grid-column:2;justify-content:center;font-size:12px;gap:5px}.character-link .io-glyph{display:none}.character-link>.icon{width:14px;height:14px}}
@media(max-height:660px) and (max-width:849px){.intro-hero{grid-template-rows:106px 44px}.intro-view{height:106px}}
.hud-event:has(.stability-panel:not([hidden])) .hud-toast{visibility:hidden}.tunnel-track[data-kind=action] i{left:var(--action-progress,0%);right:auto;width:2px;transform:translateX(-1px)!important;opacity:1;background:#f4f8ef}.quantum-panel.urgent .window-copy>strong{color:#f4bc89}.quantum-panel.urgent .tunnel-track i{background:#f4bc89}

@media(max-width:849px){.hero-view{height:clamp(170px,33dvh,260px)}.hero-pose-label{margin-bottom:14px}.hero-bio{font-size:18px}}
@media(max-height:660px) and (max-width:849px){.hero-view{height:clamp(170px,33dvh,220px)}}
@media(max-height:500px) and (orientation:landscape){.hero-view{height:auto}.hero-bio{font-size:16px}}


/* ФАЗА / a measured, architectural interface. Layout remains shared with mobile. */
:root{--ivory:#eeeee4;--accent:#e2efad;--muted:#a4ad9b;--line:#48513e;--sans:"Segoe UI",Arial,sans-serif}
body{font-weight:400}.brand>svg{color:var(--accent)}.brand>span{font-weight:500;letter-spacing:.25em}.brand small{letter-spacing:.07em}.site-header{background:var(--bg)}
.header-button{color:#b8c2ac;font-size:13px}.header-button:hover{color:var(--ivory)}.header-actions{gap:8px}.header-button>.icon{width:18px;height:18px;stroke-width:1.3}
.eyebrow{color:#acb59f;letter-spacing:.13em;font-weight:400}.intro-heading .eyebrow{font-size:11px;letter-spacing:.08em;margin-bottom:12px}
.intro-heading h1{font-size:clamp(48px,15.2vw,66px);font-weight:250;letter-spacing:.11em;line-height:.98;margin:0 0 12px -3px;white-space:nowrap}
.intro-heading h1>span{font-size:.47em;color:var(--accent);margin-left:-.12em}.mobile-intro-lead{font-size:15px;font-weight:350;line-height:1.4;color:#c9d1bd;margin:12px 0 0}
.character-link{color:#b6c39f}.character-link:hover{color:var(--accent)}.io-glyph{color:var(--accent)}
.route-heading h2{font-size:18px;font-weight:400;letter-spacing:.015em}.route-heading>span{font-family:monospace;font-size:12px;letter-spacing:.08em;color:#8f9a83}
.reality-switch{gap:0;border-top:1px solid #4a533f}.route-card{position:relative;min-height:78px;border:0;border-bottom:1px solid #3c4535;background:transparent;box-shadow:none;padding:12px 11px;gap:13px}
.route-card:hover{background:#232c1e;border-color:#637052}.route-card[aria-pressed=true]{background:#ddeb9e09;border-color:#798764;box-shadow:none}
.route-card::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:2px;background:var(--accent);opacity:0}.route-card[aria-pressed=true]::before{opacity:1}
.route-number{width:38px;height:39px;background:none;color:#939e86;font-size:29px;letter-spacing:-.06em;font-weight:250}.route-card[aria-pressed=true] .route-number{background:none;color:var(--accent)}
.route-card-copy{gap:5px}.route-card-copy strong{font-size:18px;font-weight:400;letter-spacing:.025em}.route-card-copy>span{color:#a7b295;font-size:12px;line-height:1.4}
.route-level{color:#9ca98a;font-size:11px;letter-spacing:.04em}.route-selected{width:21px;height:21px;border:1px solid #687755;background:none;transform:none}.route-selected>.icon{width:15px;height:15px;stroke-width:1.6}.route-card[aria-pressed=true] .route-selected{color:var(--accent);border-color:var(--accent);background:none}
.route-description{color:#a4b092;line-height:1.6;font-size:13px}.menu-record{border-color:#3c4734;color:#9ca98c;font-size:12px}.menu-record strong{font-weight:300;color:#e2e8d5;letter-spacing:.06em}.menu-caption{color:#9ca88f}
.menu-actions{background:#131a15;border-color:#47523d}.button{font-size:14px;font-weight:500;letter-spacing:.065em;min-height:52px;padding:13px 18px;transition:background .18s,color .18s,border-color .18s}
.button-primary{background:var(--accent);color:#22291b;border:1px solid var(--accent);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}.button-primary:hover{background:#f0fac8;border-color:#f0fac8}.button-primary:focus-visible{outline-offset:-5px;outline-color:#344027}
.button-secondary{background:transparent;border-color:#697655;color:#d0dabc}.button-quiet{color:#afbb9d;font-size:13px;letter-spacing:.035em}.button-quiet:hover{background:#222c1d;color:var(--accent)}
.menu-actions .button-primary{text-transform:uppercase;font-size:14px}.intro[data-has-save=true] #startBtn{font-size:13px;clip-path:none;color:#b3bf9f}
.hud-top{background:var(--bg)}.hud-route>span,.hud-score>span,.hud-score small{color:#a4b18d}.hud-route>strong{font-weight:350;letter-spacing:.035em}.hud-score>strong{font-weight:300;color:var(--ivory)}.hud-score>strong.is-record{color:var(--accent)}.hud-event{color:#b0bb9b}.hud-toast{background:var(--bg);color:var(--accent)}.journey-track{background:#394330}.journey-track::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 17px,#121615 17px,#121615 20px)}.journey-track>div{background:var(--accent)}
.pause-button{font-size:13px;letter-spacing:.06em;color:#bac7a4}.control-dock{background:#151c16;border-color:#566147;border-radius:0;box-shadow:none}.dock-copy>span{font-size:12px;color:#a8b695;letter-spacing:.04em}.dock-copy>p{font-size:14px;font-weight:400;color:#d5dfc5}.dock-copy>p.ready{color:var(--accent)}.route-button{font-size:12px;border-color:#647252;color:#c6d2af;background:transparent}
.window-copy{color:#a8b594;font-size:12px}.window-copy>strong{color:#c5d3ad;font-weight:400}.tunnel-track{background:#3c482f;height:4px}.tunnel-track[data-kind=coherence] i{background:var(--accent)}.tunnel-window{background:#b4a4d1}
.control-button{background:transparent;border-color:#5e6c4d;color:#c7d3b3;font-size:13px;font-weight:500;letter-spacing:.035em;gap:5px}.control-button>.icon{stroke-width:1.35}.control-button:disabled{opacity:.42}.control-button:active:not(:disabled){transform:none;background:#303e25}.freeze-button{font-size:12px}.freeze-button>small{color:#afbf98;font-family:monospace;font-size:11px}.freeze-charge{background:#35452a}.freeze-charge>i{background:var(--accent)}.freeze-button.active{background:#344629;color:var(--accent);border-color:var(--accent)}
.jump-button{color:var(--accent);border-color:#9ba97a;background:#28331f;font-size:14px;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%)}.jump-button.action-ready{color:#25301a;background:var(--accent);border-color:var(--accent);box-shadow:none}.jump-button:disabled{color:#a6b78b;background:#2c3823;border-color:#566643;opacity:.68}
.action-button{background:#202b1b;border-color:#7a8c5c;color:#d6e5b3}.action-button.action-ready{background:var(--accent);border-color:var(--accent);color:#26321a;box-shadow:none}.hint-button{color:#a6b58f;background:transparent;border-color:#48583b}.control-key{font-family:monospace;letter-spacing:0}.quantum-panel.action-ready .window-copy>strong{color:#efffc0}
.coach-panel{background:#192218;border-radius:0;box-shadow:inset 2px 0 0 var(--accent);padding-left:22px}.coach-heading .eyebrow{color:#adbf93;font-weight:400;letter-spacing:.075em}.coach-heading h2{font-weight:400;letter-spacing:.02em;color:#e4edd5}.coach-panel>p{color:#c3cfb4;font-size:14px;line-height:1.45}.coach-actions>.button{font-size:13px;letter-spacing:.04em}.coach-actions>.button-quiet{color:#acbb95}
.overlay{background:#090e0ce8}.sheet{background:#141c17;border:1px solid #647050;border-radius:0;box-shadow:none;padding:28px 24px 24px}.sheet::before{content:"";position:absolute;top:-1px;left:24px;width:55px;height:2px;background:var(--accent)}.sheet h2{font-weight:300;letter-spacing:.025em;font-size:32px;line-height:1.15}.sheet>.eyebrow{font-size:11px;color:#acbd94;letter-spacing:.13em}.icon-button{background:#1d281c;border-color:#5c6d48;color:#c8d8ac}.modal-text{color:#c5d1b8}.modal-text strong{color:#e2e9d6;font-weight:500}.modal-stats{color:#b2c29b}.settings-controls>button{background:none;border-color:#48583c;color:#d0dcc0}.settings-controls>button>.icon{color:#b7ca96}.setting-action{color:#a3b68a}.modal-actions .button{font-size:13px}.modal-primary-actions{display:grid;gap:9px;margin:18px 0}.modal-primary-actions>.button{min-height:52px;font-size:15px;letter-spacing:.025em}#pauseHomeBtn{border-color:#879668;background:#263022;color:#e1e9ce}.modal-primary-actions+.modal-text{margin-top:20px}#modal .modal-actions{margin-top:14px;padding-top:12px;border-top:1px solid #425238}
.result-sheet{max-width:520px}.result-sheet h2{font-size:34px;margin:17px 0 22px;font-weight:300}.result-attempt{display:flex;flex-direction:column;gap:6px;margin:0 0 17px}.result-attempt>span{font-size:12px;letter-spacing:.09em;color:#a4b48d;text-transform:uppercase}.result-attempt>strong{font-size:80px;line-height:.98;font-weight:250;letter-spacing:-.045em;color:#e8eddf;font-variant-numeric:tabular-nums}
.result-record{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-top:1px solid #4e5d3e;border-bottom:1px solid #4e5d3e;padding:13px 0;margin:0 0 17px}.result-record>span{font-size:13px;color:#b0c09a}.result-record>strong{font-size:27px;font-weight:300;letter-spacing:.025em;font-variant-numeric:tabular-nums;color:#dae7c2}
.result-metrics{display:grid;grid-template-columns:1.1fr 1fr 1fr;margin:0 0 17px;gap:10px}.result-metrics>div{display:flex;flex-direction:column;gap:6px}.result-metrics dt{font-size:11px;line-height:1.35;color:#a1b28a;letter-spacing:.01em}.result-metrics dd{font-size:18px;font-weight:350;color:#cedcb6;margin:0;font-variant-numeric:tabular-nums}.result-description{font-size:13px;line-height:1.55;color:#acbd95;margin:0 0 12px}.result-reason{font-size:14px;line-height:1.5;color:#d7b58a}.result-actions{margin-top:20px;gap:7px}.result-footer{font-size:12px;color:#94a97a;letter-spacing:.10em;margin-top:19px}
.record-banner{display:grid;grid-template-columns:1fr auto;gap:7px 10px;align-items:center;padding:12px 13px;margin:0 0 18px;border-left:2px solid var(--accent);background:#e2efad0b;color:var(--accent)}.record-banner>span{display:flex;align-items:center;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.record-banner .icon{width:17px;height:17px;stroke-width:1.4}.record-banner>strong{font-size:26px;line-height:1;font-weight:300}.record-banner>small{grid-column:1/-1;font-size:12px;color:#aebf93}.record-banner b{font-weight:400;color:#dce7c6;margin-left:7px}
#result[data-record=true] .result-attempt>strong,#result[data-record=true] .result-record>strong{color:var(--accent)}#result[data-record=true] .record-banner{animation:record-arrival .55s ease-out both}@keyframes record-arrival{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.hero-showcase{background:transparent}.hero-dossier h2{font-weight:250;letter-spacing:.13em}.hero-dossier h2>span{color:var(--accent)}.hero-role{color:#b9c99f;letter-spacing:.12em;text-transform:uppercase;font-size:12px}.hero-bio{font-weight:350;color:#d7e2c8}.hero-personality{color:#afbe9a}.hero-poses>button{background:transparent;border-color:#50643d;color:#b9cca0;font-size:13px;letter-spacing:.04em}.hero-poses>button[aria-pressed=true]{background:#293b20;color:var(--accent);border-color:#a9c175}.hero-pose-label{color:#b7c69e;font-size:11px;letter-spacing:.06em;line-height:1.4}.hero-rotation button{background:#182514d9;border-color:#566c3f}.back-button{color:#bac9a3;font-size:13px;letter-spacing:.05em}body[data-screen=portrait] .site-header{background:var(--bg)}
@media(min-width:850px){.site-header{background:transparent}.intro{background:linear-gradient(90deg,#121615 0%,#121615 38%,#121615b0 49%,transparent 70%)}.intro-heading h1{font-size:clamp(106px,9.8vw,136px);font-weight:250;letter-spacing:.115em;margin-bottom:22px}.intro-heading .eyebrow{font-size:12px;letter-spacing:.15em;margin-bottom:21px}.hero-tagline{font-size:25px;font-weight:300;color:#d3ddc5;line-height:1.3;margin-bottom:27px}.route-heading{margin-bottom:10px}.route-heading h2{font-size:17px}.route-card{min-height:70px;padding:11px 12px}.route-card-copy strong{font-size:18px}.route-level{font-size:10px}.route-description{font-size:13px}.character-link{background:#16201399;border-color:#5e7048;font-size:13px;letter-spacing:.04em}.hud-top{background:transparent}.hud-toast{background:#121615ee}.control-dock{background:#151e15f2;border-color:#5e7047}.control-key{font-size:10px}.coach-panel{padding-left:23px}.sheet{padding:32px}.result-sheet h2{font-size:40px}.result-attempt>strong{font-size:100px}.result-record>strong{font-size:32px}.result-metrics dt{font-size:12px}.result-metrics dd{font-size:21px}.result-description{font-size:14px}}
@media(min-width:850px) and (max-height:760px){.menu-content{padding-top:93px}.intro-heading h1{font-size:108px;margin-bottom:18px}.intro-heading .eyebrow{margin-bottom:14px}.hero-tagline{font-size:22px;margin-bottom:21px}.route-card{min-height:65px}.route-heading{margin-bottom:8px}.route-description{margin-top:9px}.menu-record{margin-top:10px;padding:9px 2px}.menu-actions{margin-top:11px}}
@media(max-width:359px){.intro-heading .eyebrow{font-size:10px;letter-spacing:.02em}.route-card{padding-left:9px;padding-right:8px;gap:10px}.route-number{width:34px;font-size:27px}.route-card-copy strong{font-size:17px}.route-card-copy>span{font-size:11.5px}.route-heading h2{font-size:17px}.result-attempt>strong{font-size:70px}.result-sheet h2{font-size:30px}.result-metrics dt{font-size:11px}.sheet{padding-left:20px;padding-right:20px}}
@media(max-height:660px) and (max-width:849px){.intro-heading h1{font-size:clamp(48px,15.2vw,60px)}.intro-heading .eyebrow{margin-bottom:9px}.mobile-intro-lead{font-size:14px;margin-top:9px}.coach-panel>p{font-size:13px}.coach-heading h2{font-size:18px}.coach-heading .eyebrow{font-size:10px}}
@media(max-height:500px) and (orientation:landscape){.intro-heading h1{font-size:56px}.intro-heading .eyebrow{font-size:11px}.hero-tagline{font-size:18px}.control-dock{border-color:#536740}.hud-top{background:var(--bg)}.sheet{padding:22px}.result-attempt>strong{font-size:64px}.result-sheet h2{font-size:29px}.result-metrics dd{font-size:18px}.result-attempt{margin-bottom:12px}.coach-panel>p{font-size:13px}.hero-bio{font-size:16px}}

.intro{scrollbar-color:#566349 transparent;outline:none}.hero-showcase{scrollbar-color:#566349 transparent}
@media(min-width:850px) and (max-height:760px){.menu-content{padding-bottom:16px}}
@media(max-width:849px){
 #result{padding:calc(12px + var(--safe-top)) 14px calc(12px + var(--safe-bottom))}
 .result-sheet{padding:21px 20px 17px;max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom))}
 .result-sheet>.eyebrow{font-size:10px;margin:0;line-height:1.4;padding-right:0}
 .result-sheet h2{font-size:30px;line-height:1.12;margin:12px 0 14px}
 .result-attempt{gap:3px;margin-bottom:12px}.result-attempt>span{font-size:11px}.result-attempt>strong{font-size:72px}
 .record-banner{padding:9px 11px;gap:4px 8px;margin-bottom:12px}.record-banner>span{font-size:11px}.record-banner>strong{font-size:22px}.record-banner>small{font-size:11px}
 .result-record{padding:9px 0;margin-bottom:12px}.result-record>span{font-size:12px}.result-record>strong{font-size:24px}
 .result-metrics{margin-bottom:12px;gap:8px}.result-metrics>div{gap:4px}.result-metrics dt{font-size:11px}.result-metrics dd{font-size:17px}
 .result-description{font-size:12px;line-height:1.45;margin:0 0 8px}.result-reason{font-size:13px;line-height:1.4;margin:8px 0}
 .result-actions{margin-top:12px;gap:4px}.result-actions .button-primary{min-height:48px;padding:10px 13px}.result-actions .button-quiet{min-height:40px;padding:8px;font-size:12px}.result-footer{display:none}
}
@media(max-height:600px) and (max-width:849px){.result-sheet{padding:16px 18px 12px}.result-sheet h2{font-size:27px;margin:9px 0 11px}.result-attempt>strong{font-size:64px}.result-attempt{margin-bottom:10px}.result-record{padding:7px 0;margin-bottom:10px}.record-banner{padding:7px 10px;margin-bottom:10px}.result-metrics{margin-bottom:10px}.result-actions{margin-top:9px}.result-description{font-size:11.5px}.result-reason{font-size:12px}}
.result-actions .button-quiet{min-height:44px}.intro[data-has-save=true] #startBtn{min-height:44px}
.result-metrics{grid-template-columns:1fr 1.25fr .9fr}
@media(max-height:600px) and (max-width:849px){.result-sheet{padding-bottom:10px}}
@media(max-height:600px) and (max-width:849px) and (orientation:portrait){.intro-hero{grid-template-rows:86px 44px}.intro-view{height:86px}.route-card{min-height:72px;padding-top:9px;padding-bottom:9px}}

/* Keyboard labels follow the input device, including narrow laptop windows. */
/* The archive: a mechanical aperture, copper coordinates, and the observer. */
.intro{--archive-ink:#becbac;--archive-signal:#d8e8a5}.intro[data-reality="3"]{--archive-signal:#c2b2dd}.intro[data-reality="4"]{--archive-signal:#e3ad79}
.intro-heading .eyebrow{color:#b7a184}.intro-heading h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:.055em}.intro-heading h1>span{color:var(--archive-signal)}
.menu-aperture{position:absolute;inset:1%;width:98%;height:98%;stroke:var(--archive-signal);stroke-width:.8;opacity:.25;overflow:visible}.menu-aperture .aperture-rotor{transform-origin:300px 300px;animation:archive-turn 100s linear infinite;opacity:.65}.route-plate,.menu-coordinates{position:absolute;font:10px/1.4 monospace;letter-spacing:.12em;color:#a5b08e}.route-plate{left:5%;top:9%}.menu-coordinates{left:5%;bottom:6%;border-left:1px solid var(--archive-signal);padding-left:12px}.menu-observer{position:absolute;right:7%;bottom:14%;display:flex;align-items:center;gap:13px;color:#d9decf}.menu-observer>b{font:44px/.9 Georgia,serif;letter-spacing:.06em}.menu-observer>span{font-size:11px;line-height:1.7;color:#aab699;border-left:1px solid #657052;padding-left:12px}
.route-card::before{background:var(--archive-signal)}.route-card[aria-pressed=true] .route-number,.route-card[aria-pressed=true] .route-selected{color:var(--archive-signal)}.route-card[aria-pressed=true]{background:linear-gradient(100deg,#c1cbac0c,transparent 80%)}.route-card[aria-pressed=true] .route-selected{border-color:var(--archive-signal)}.route-selected{border:0}.route-selected>.icon{visibility:visible;opacity:.22;transform:rotate(-45deg)}.route-card[aria-pressed=true] .route-selected>.icon{opacity:1;transform:none}.route-card-copy strong{font-family:Georgia,'Times New Roman',serif;font-size:20px}.route-number{font-family:Georgia,'Times New Roman',serif}.route-level{color:#bea786}.intro[data-reality="4"] .button-primary{background:#e3ad79;border-color:#e3ad79}.character-link{font-size:13px}
@keyframes archive-turn{to{transform:rotate(360deg)}}
@media(min-width:850px){.menu-content{width:410px;padding-top:100px;padding-bottom:24px}.intro-heading h1{font-size:100px;line-height:1;margin-bottom:12px}.intro-heading .eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:14px}.hero-tagline{font-size:21px;min-height:54px;margin:0 0 16px}.route-card{min-height:65px;padding-top:9px;padding-bottom:9px}.route-level{font-size:10px}.intro-view{left:calc(var(--edge) + 440px);right:28px;top:85px;bottom:45px;z-index:-1}.character-link{left:calc(var(--edge) + 470px);bottom:22px;border:0;background:none;padding-left:0}.menu-record{margin-top:9px;padding:10px 2px}.route-description{min-height:39px;margin-top:10px}.menu-actions{margin-top:8px}.menu-actions>.menu-caption{font-size:11px}.menu-actions>.button{min-height:50px}.menu-aperture{inset:8% 0;width:100%;height:80%}}
@media(min-width:850px) and (max-height:720px){.menu-content{padding-top:88px}.intro-heading h1{font-size:78px}.intro-heading .eyebrow{margin-bottom:8px}.hero-tagline{font-size:19px;min-height:47px;margin-bottom:10px}.route-card{min-height:60px}.route-description{min-height:0}.menu-actions{position:sticky;bottom:0;padding:9px 0;background:#121615}.menu-caption{display:none}}
@media(max-width:849px) and (orientation:portrait){.menu-content{padding-top:calc(72px + var(--safe-top))}.intro-hero{grid-template-columns:minmax(0,1fr) 128px;grid-template-rows:103px 34px;min-height:137px}.intro-heading{grid-column:1;grid-row:1;padding-top:0}.intro-heading .eyebrow{font-size:9px;letter-spacing:.03em;margin-bottom:8px;white-space:nowrap}.intro-heading h1{font-size:53px;line-height:.98;margin-bottom:7px}.mobile-intro-lead{font-size:13px;line-height:1.35;margin-top:7px}.intro-view{grid-column:2;grid-row:1/3;height:137px}.character-link{grid-column:1;grid-row:2;margin:0;align-self:end;min-height:34px;font-size:12px;padding:0}.route-plate,.menu-coordinates,.menu-observer{display:none}.menu-aperture{inset:0;width:100%;height:100%;opacity:.35}.route-heading{margin:12px 0 10px}.route-card{min-height:64px;padding:8px 9px;gap:11px}.route-card-copy{gap:3px}.route-card-copy strong{font-size:19px}.route-card-copy>span{font-size:11.5px}.route-number{font-size:26px}.route-description{font-size:12px;margin-top:9px}.menu-record{margin-top:9px;padding-top:10px}.menu-actions .button-primary{font-size:13px}}
@media(max-width:359px) and (orientation:portrait){.intro-hero{grid-template-columns:minmax(0,1fr) 105px;grid-template-rows:94px 34px;min-height:128px}.intro-view{height:128px}.intro-heading h1{font-size:48px}.intro-heading .eyebrow{font-size:8px}.route-card{min-height:62px}.route-card-copy strong{font-size:18px}.route-card-copy>span{font-size:11px}.route-heading h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){.menu-aperture .aperture-rotor{animation:none}}
.route-card:not([aria-pressed=true]) .route-selected>.icon{display:none}.route-card:not([aria-pressed=true]) .route-selected::after{content:"↗";font:20px/1 Georgia,serif;color:#a5b18f;opacity:.65}
@media(max-width:849px) and (max-height:600px) and (orientation:portrait){.intro-hero{grid-template-rows:82px 34px;min-height:116px}.intro-view{height:116px}.mobile-intro-lead{display:none}.menu-actions .menu-caption{display:none}.menu-actions>.button{min-height:50px}}
@media(min-width:850px){.menu-content{padding-top:94px}.intro-heading h1{font-size:96px;margin-bottom:10px}.hero-tagline{min-height:38px;margin-bottom:14px}.route-card{min-height:63px}.menu-actions .menu-caption{display:none}}
body[data-input=keyboard] .control-button{padding:6px 5px 9px;gap:4px}
body[data-input=keyboard] .control-button>.icon{display:none}
body[data-input=keyboard] .control-button>.control-key{display:inline-grid;place-items:center;position:static;order:-1;min-width:25px;height:23px;padding:2px 7px;border:1px solid #85966a;box-shadow:0 2px 0 #52613d;font:500 12px/1 monospace;letter-spacing:0;color:inherit;opacity:1}
body[data-input=keyboard] .freeze-button{padding-bottom:16px;gap:3px}
body[data-input=keyboard] .freeze-button>.control-key{height:21px}
body[data-input=keyboard] .jump-button>.control-key{border-color:#657445;box-shadow:0 2px 0 #657445}
body[data-input=touch] .control-key{display:none!important}
.jump-button{background:var(--accent);color:#25301a;border-color:var(--accent)}
.jump-button:disabled{background:#2c3823;color:#a6b78b;border-color:#566643}

.keyboard-legend{display:none;margin:0;gap:15px;align-items:center;justify-content:space-between;color:#aebd97;font-size:11px;line-height:1.3}
.keyboard-legend>span{display:flex;align-items:center;gap:6px}.keyboard-legend kbd{font:11px/1 monospace;padding:3px 5px;border:1px solid #596b42;color:#cbdcb0}
body[data-input=keyboard] .dock-window:has(#quantumPanel[hidden]) .keyboard-legend{display:flex}
.route-key{display:none}body[data-input=keyboard] .route-button{flex-direction:column;gap:2px;padding:5px 8px}body[data-input=keyboard] .route-button>.icon{display:none}body[data-input=keyboard] .route-key{display:block;font:11px/1 monospace;color:#c9d9ac}
