/* One visible viewport for WebGL, vectors and interface, including mobile browser chrome. */
:root{--app-height:100dvh}
#viewportProbe{position:fixed;top:0;left:0;width:1px;height:100dvh;visibility:hidden;pointer-events:none}
body{height:var(--app-height)}#world{right:auto;bottom:auto}
body[data-reality="1"]{--accent:#d7e6a4;--ice:#d7e6a4;--lime:#d7e6a4}
body[data-reality="2"]{--accent:#88d0dc;--ice:#88d0dc;--lime:#88d0dc}
body[data-reality="3"]{--accent:#c3aff0;--ice:#c3aff0;--lime:#c3aff0}
body[data-reality="4"]{--accent:#e8ad7c;--ice:#e8ad7c;--lime:#e8ad7c}
.intro,.hud,.hero-showcase,.overlay{top:0;bottom:auto;height:var(--app-height)}
.play-viewport{bottom:auto;height:calc(var(--app-height) - var(--hud-height) - var(--dock-height) - var(--safe-top) - var(--safe-bottom))}
.control-dock{bottom:calc(100% - var(--app-height))}.sheet{max-height:calc(var(--app-height) - 40px - var(--safe-top) - var(--safe-bottom))}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.site-header{z-index:40}.header-button{pointer-events:auto}.header-button:focus-visible{outline-color:var(--accent)}
/* Swipe through miniature, working worlds. Text stays out of their stage. */
.intro.reality-browser{overflow:hidden;background:transparent;--archive-signal:var(--accent)}
.reality-browser .menu-content{position:relative;width:100%;max-width:1360px;height:100%;margin:auto;padding:calc(64px + var(--safe-top)) 0 calc(12px + var(--safe-bottom));display:flex;flex-direction:column}
.reality-deck{position:relative;flex:1;min-height:180px}.reality-browser .intro-view{position:absolute;inset:98px 0 66px;height:auto;z-index:-1;overflow:hidden}
.reality-carousel{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;outline:none}.reality-carousel::-webkit-scrollbar{display:none}
.reality-slide{flex:0 0 100%;width:100%;height:100%;min-width:0;position:relative;scroll-snap-align:center;scroll-snap-stop:always;padding:10px 22px 0}
.reality-title .eyebrow{font-size:10px;letter-spacing:.12em;margin:0 0 6px;color:var(--accent)}.reality-title h2{font:400 clamp(37px,11vw,55px)/1 Georgia,serif;letter-spacing:-.025em;margin:0;color:#e9ebe2}.reality-title h2>span{color:var(--accent)}.reality-title>p:last-child{font-size:13px;line-height:1.45;color:#aebbb3;margin:8px 0 0}
.reality-features{position:absolute;left:22px;right:22px;bottom:6px;pointer-events:none}.reality-features>span{display:inline-block;font-size:12px;color:var(--accent);border-bottom:1px solid color-mix(in srgb,var(--accent) 45%,transparent);padding:0 0 5px;margin-right:17px}.reality-features>p{font-size:12px;line-height:1.3;color:#aab6ad;margin:7px 0 0}
.reality-browser .character-link{position:absolute;right:16px;left:auto;top:112px;bottom:auto;grid-row:auto;grid-column:auto;min-height:36px;padding:5px 9px;margin:0;gap:5px;font-size:11px;background:#111914bb;border:1px solid #727e6b55;z-index:3;transform:none}.character-link .io-glyph{font-size:20px;display:block}.reality-browser .character-link>.icon{width:13px;height:13px}
.reality-navigation{height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 18px}.reality-arrow{display:grid;place-items:center;width:44px;height:44px;color:var(--accent)}.reality-arrow:disabled{opacity:.2}.reality-arrow>.icon{width:20px;height:20px}
.reality-browser .reality-switch{display:flex;gap:4px;border:0;align-items:center;justify-content:center}.reality-switch>button{width:36px;height:36px;min-height:36px;border:0;border-bottom:2px solid transparent;color:#8b9c94;font:13px/1 monospace;transition:color .2s,border-color .2s}.reality-switch>button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}
.menu-footer{flex-shrink:0;padding:2px 20px 0;max-width:480px;width:100%;margin:0 auto}.reality-browser .menu-record{padding:0 1px 9px;margin:0;border:0;font-size:11px;color:#8fa399}.menu-record strong{color:var(--accent);font-size:14px}
.reality-browser .menu-actions{position:static;height:52px;margin:0;padding:0;border:0;background:none;display:flex;flex-direction:row;gap:8px}.reality-browser .menu-actions>.button{flex:1;min-height:52px;padding:11px 15px;font-size:13px;letter-spacing:.035em;text-transform:none}.reality-browser .button-primary{background:var(--accent);border-color:var(--accent);color:#18201c;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.reality-browser[data-has-save=true] .menu-content{padding-bottom:calc(12px + var(--safe-bottom))}.reality-browser[data-has-save=true] #continueBtn{order:0;flex:1.8}.reality-browser[data-has-save=true] #startBtn{order:1;flex:1;min-height:52px;border:1px solid #81938366;background:transparent;color:#c5d1c6;padding:8px;font-size:12px}.reality-browser[data-has-save=true] #startLabel{text-align:center}.reality-browser .menu-caption{display:none}
/* A low control deck and a single, compact instrument strip. */
@media(max-width:849px) and (orientation:portrait){
 :root{--hud-height:56px;--dock-height:112px;--edge:14px}body[data-ability=window]{--dock-height:138px}body[data-mode=coaching]{--dock-height:204px}
 body[data-screen=play] .site-header{height:calc(56px + var(--safe-top));background:transparent;pointer-events:none;display:block}
 body[data-screen=play] .brand{display:none}body[data-screen=play] .header-actions{display:flex;position:absolute;right:54px;top:calc(6px + var(--safe-top))}body[data-screen=play] .header-actions>button:not(#fullscreenBtn){display:none}
 #fullscreenBtn{width:40px;height:40px;min-height:40px;padding:8px}
 .hud-top{top:var(--safe-top);height:56px;padding:5px 108px 7px 14px;grid-template-columns:1fr auto;gap:12px;align-items:center;background:#121615e8}.hud-route>span{font-size:10px;color:var(--accent)}.hud-route>strong{font-size:17px;line-height:1.1;white-space:nowrap}.hud-score>span{font-size:9px;line-height:1}.hud-score #scoreCaption{display:none}.hud-score small{font-size:10px;margin:0}.hud-score>strong{font-size:22px;line-height:1.1}.journey-track{left:14px;right:14px;height:2px}
 .pause-button{top:calc(6px + var(--safe-top));right:8px;width:40px;height:40px;min-height:40px;padding:8px}.pause-button>span{display:none}.pause-button>.icon{width:21px;height:21px}
 .hud-event{position:absolute;top:62px;left:14px;right:14px;height:24px;font-size:11px;pointer-events:none}.hud-event>#checkpointLabel{display:none}.hud-toast{background:#121615df;width:fit-content;max-width:100%;margin:auto;padding:3px 10px;border-radius:6px;inset:auto 0 0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stability-panel{width:130px;margin:auto;background:#121615c9;border-radius:4px;padding:2px 6px;font-size:10px}.stability-panel>div{margin-top:2px;height:2px}
 .control-dock{height:calc(var(--dock-height) + var(--safe-bottom));padding:8px 12px calc(10px + var(--safe-bottom));background:#121a16f5;border-top:1px solid #82938240;border-radius:16px 16px 0 0;box-shadow:0 -8px 28px #0002}.dock-main{display:flex;flex-direction:column;gap:6px;height:auto}.dock-head{height:22px;min-height:22px;gap:8px}.dock-copy{display:flex;align-items:baseline;gap:8px;min-width:0}.dock-copy>span{font-size:11px;margin:0;color:var(--accent);white-space:nowrap}.dock-copy>p{font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b7c7bb}.dock-window{display:none;min-height:0}.keyboard-legend{display:none!important}body[data-ability=window] .dock-window{display:block;flex:none;height:20px}.quantum-panel{height:20px}.window-copy{font-size:10px;margin-bottom:3px}.tunnel-track{height:3px}
 .game-controls{height:60px;min-height:60px;grid-template-columns:64px minmax(0,1fr) minmax(0,1.12fr);gap:9px}.control-button{height:60px;min-height:60px;border-radius:12px;border:1px solid #8d9f8e66;display:flex;flex-direction:row;gap:7px;font-size:13px;font-weight:500;background:#1b2921;letter-spacing:0;box-shadow:inset 0 1px 0 #d6e4d00b;transition:background .15s,transform .12s}.control-button>.icon{width:21px;height:21px;stroke-width:1.6}.control-button:active:not(:disabled){transform:scale(.97);background:#314637}.context-slot>.control-button{font-size:12px}.jump-button{border:0;background:var(--accent);color:#17201b;clip-path:none;border-radius:12px 18px 12px 12px}.jump-button:active:not(:disabled){background:var(--accent);filter:brightness(1.12)}.jump-button>.icon{width:23px;height:23px}.action-button{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.action-button.action-ready{background:var(--accent);color:#17201b}.hint-button{background:#19241d;color:#a9bbad;border-color:#62766288}.freeze-button{flex-direction:column;gap:2px;padding:5px 0 12px;font-size:10px;border-radius:12px}.freeze-button>.icon{width:18px;height:18px}.freeze-button>small{bottom:4px;font:9px/1 monospace;color:#adc2b3}.freeze-charge{height:2px;bottom:0}.freeze-charge>i{background:var(--accent)}
 .route-button{min-height:24px;height:24px;font-size:10px;border:0;padding:1px 3px;gap:3px}.route-button>.icon{width:14px;height:14px}.route-key{display:none!important}
 body[data-input=keyboard] .control-button{flex-direction:column;gap:3px;padding:4px 4px 8px}.coach-panel{border-radius:16px 16px 0 0;padding:13px 16px calc(10px + var(--safe-bottom));gap:7px}.coach-heading h2{font-size:18px}.coach-panel>p{font-size:13px;line-height:1.4}.coach-actions .button{min-height:44px}.sheet{max-height:calc(var(--app-height) - 24px - var(--safe-top) - var(--safe-bottom))}
}
@media(max-width:399px){.header-button>span{display:none}.header-button{width:40px;height:40px;min-height:40px;padding:8px}.header-actions{gap:3px}.brand{gap:7px}.brand>span{font-size:12px}.reality-slide{padding-left:18px;padding-right:18px}.reality-title .eyebrow{font-size:9px}.reality-title h2{font-size:41px}.reality-title>p:last-child{font-size:12px}.reality-features{left:18px;right:18px}.reality-features>p{font-size:11px}.dock-copy>p{font-size:10px}}
@media(max-width:849px) and (max-height:600px) and (orientation:portrait){.reality-browser .menu-content{padding-top:56px}.reality-title h2{font-size:37px}.reality-title>p:last-child{display:none}.reality-browser .intro-view{top:68px;bottom:61px}.reality-browser .character-link{top:75px;font-size:10px}.reality-navigation{height:40px}.menu-footer{padding-top:0}.menu-record{padding-bottom:6px!important}.reality-features>p{font-size:10px;margin-top:5px}.reality-features>span{font-size:11px;padding-bottom:3px}.reality-browser .menu-actions,.reality-browser .menu-actions>.button{height:48px;min-height:48px}.reality-browser[data-has-save=true] #startBtn{min-height:48px}}
@media(min-width:850px){
 .intro.reality-browser{background:linear-gradient(90deg,#121615 0%,#121615bd 27%,transparent 55%)}.reality-browser .menu-content{padding-top:84px;padding-bottom:28px}.reality-title{position:absolute;left:4.3%;top:16%;width:32%}.reality-title .eyebrow{font-size:11px;margin-bottom:15px}.reality-title h2{font-size:clamp(48px,5.4vw,78px)}.reality-title>p:last-child{font-size:19px;line-height:1.5;margin-top:22px}.reality-browser .intro-view{inset:0 1% -120px 35%;height:auto}.reality-features{left:4.3%;right:auto;bottom:12px;max-width:35%}.reality-features>span{font-size:13px}.reality-features>p{font-size:13px;max-width:300px;line-height:1.5}.reality-browser .character-link{top:auto;right:4%;bottom:-126px;background:transparent;border:0;font-size:13px}
 .reality-navigation{justify-content:flex-start;margin-left:calc(4.3% - 44px);margin-top:16px;padding:0}.reality-browser .menu-footer{margin:8px 0 0 4.3%;padding:0;width:345px;max-width:35%}.reality-browser .menu-actions{height:52px}.reality-browser .menu-actions>.button{height:52px}.reality-browser .menu-record{font-size:12px}
}
@media(max-height:500px) and (orientation:landscape){.reality-browser .menu-content{padding-top:54px;padding-bottom:12px}.reality-title{width:34%;position:absolute;left:3%;top:13%}.reality-title h2{font-size:34px}.reality-title>p:last-child{font-size:12px}.reality-title .eyebrow{font-size:8px}.reality-browser .intro-view{inset:0 0 -82px 35%}.reality-features{left:3%;right:auto;max-width:34%;bottom:0}.reality-features>span{font-size:10px;margin-right:8px}.reality-features>p{display:none}.reality-browser .character-link{display:none}.reality-navigation{position:absolute;left:3%;bottom:80px;padding:0;height:34px;gap:2px}.reality-arrow{width:32px;height:32px}.reality-switch>button{width:28px;height:30px;font-size:11px}.menu-footer{margin-left:3%;width:32%;padding:0}.menu-record{font-size:10px}.reality-browser .menu-actions>.button{min-height:44px;height:44px;font-size:11px;padding:6px 10px}.reality-browser .menu-actions{height:44px}.reality-browser[data-has-save=true] #startBtn{min-height:44px;font-size:10px}.play-viewport{height:calc(var(--app-height) - 58px - var(--safe-top));top:calc(58px + var(--safe-top))}.control-dock{bottom:calc(100% - var(--app-height) + 12px)}}
@media(prefers-reduced-motion:reduce){.reality-carousel{scroll-behavior:auto}.control-button{transition:none}}
@media(max-width:849px) and (orientation:portrait){body[data-screen=play] .header-actions{right:58px}#fullscreenBtn,.pause-button{width:44px;height:44px;min-height:44px}.hud-top{padding-right:116px}.jump-button{font-size:14px}.context-slot>.control-button{font-size:13px}}
.pause-button{z-index:2}
body[data-screen=play] .site-header{background:transparent;pointer-events:none}body[data-screen=play] .brand{pointer-events:auto}
.reality-carousel{user-select:none;-webkit-user-select:none;cursor:grab}.reality-carousel.dragging{scroll-snap-type:none;cursor:grabbing}
@media(max-width:849px) and (orientation:landscape){body[data-screen=play] .header-actions{display:flex;position:absolute;right:58px;top:calc(6px + var(--safe-top))}body[data-screen=play] .header-actions>button:not(#fullscreenBtn){display:none}.pause-button{right:8px;width:44px;min-height:44px}.pause-button>span{display:none}#fullscreenBtn{width:44px;height:44px;min-height:44px}}
.studio-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding-top:5px}.studio-credit{display:flex;align-items:center;gap:6px;color:#8a9e91;font-size:10px;white-space:nowrap}.studio-credit strong{font-size:10px;letter-spacing:.04em;font-weight:500;color:#b9c8ba}.studio-credit>svg{width:16px;height:16px;fill:none;stroke:var(--accent);stroke-width:1.2;stroke-linecap:round}.studio-strip>button{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-height:32px;padding:2px 0 2px 6px;font-size:10px;color:#c3d1c4}.studio-strip>button>.icon{width:16px;height:16px}.studio-strip>button[aria-pressed=true]{color:var(--accent)}
.audio-mixer{padding:6px 6px 12px}.audio-mixer>label{display:flex;justify-content:space-between;gap:16px;font-size:13px;color:#c2d1c3;margin-top:10px}.audio-mixer output{font:12px/1.5 monospace;color:var(--accent)}.audio-mixer>input{display:block;width:100%;height:36px;accent-color:var(--accent);margin:0;cursor:pointer}.audio-mixer>p{font-size:11px;color:#8ea291;margin:7px 0 0}.studio-note{font-size:10px;letter-spacing:.08em;color:#8b9d90;margin-top:20px}
@media(max-width:849px) and (orientation:portrait){:root{--dock-height:100px}body[data-ability=window]{--dock-height:126px}body[data-mode=coaching]{--dock-height:204px}.control-dock{padding:6px 12px calc(6px + var(--safe-bottom))}}
@media(max-height:500px) and (orientation:landscape){.studio-strip{min-height:28px;padding-top:3px}.studio-credit,.studio-credit strong,.studio-strip>button{font-size:9px}.studio-strip>button{min-height:25px}.studio-credit>svg{display:none}.reality-navigation{bottom:106px}}

.release-links{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;color:#9db0a2}.release-links>a,.game-about>summary{display:flex;align-items:center;gap:7px;min-height:36px;cursor:pointer;color:inherit;text-decoration:none;list-style:none}.release-links>a:hover,.game-about>summary:hover{color:var(--accent)}.game-about>summary::-webkit-details-marker{display:none}.game-about[open]>summary{color:var(--accent)}.game-about-copy{position:fixed;z-index:20;bottom:calc(82px + var(--safe-bottom));left:20px;width:min(410px,calc(100vw - 40px));max-height:calc(var(--app-height) - 174px - var(--safe-top) - var(--safe-bottom));overflow:auto;overscroll-behavior:contain;background:#152019;border:1px solid #71877599;box-shadow:0 12px 50px #0009;padding:18px;color:#bdcec0;font-size:13px;line-height:1.65;user-select:text}.game-about-copy>h2{font:400 24px/1.2 Georgia,serif;color:var(--accent);margin:0 0 16px}.game-about-copy>p{margin:0 0 12px}.game-about-copy>p:last-child{margin:0}@media(min-width:850px){.game-about-copy{left:max(24px,calc((100vw - 1360px)/2 + 58px));bottom:122px}}@media(max-height:500px) and (orientation:landscape){.release-links{font-size:10px}.release-links>a,.game-about>summary{min-height:28px}.reality-navigation{bottom:134px}.game-about-copy{bottom:74px;max-height:calc(var(--app-height) - 136px)}}

/* One quiet colophon: studio, information, catalog and sound. */
.studio-strip{display:grid;grid-template-columns:minmax(0,1fr) auto auto 36px;gap:7px;align-items:center;min-height:44px;margin-top:10px;padding-top:0;border-top:1px solid #74847555}
.studio-credit{gap:5px;font-size:10px;letter-spacing:.01em}.studio-credit strong{font-size:10px}
.studio-strip>.game-about>summary,.studio-strip>a{display:flex;align-items:center;min-height:44px;white-space:nowrap;color:#a8b8a9;font-size:11px;cursor:pointer;list-style:none;text-decoration:none}
.studio-strip>.game-about>summary:hover,.studio-strip>a:hover{color:var(--accent)}
.studio-strip>button{display:grid;place-items:center;width:36px;min-height:44px;padding:0;color:#b9c9bb}
.studio-strip>button>.icon{width:18px;height:18px}
#menuSoundLabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:849px) and (orientation:portrait){.reality-browser .menu-content,.reality-browser[data-has-save=true] .menu-content{padding-bottom:max(10px,var(--safe-bottom))}}
@media(max-width:360px){.studio-strip{gap:5px}.studio-credit>svg{width:13px;height:13px}.studio-credit,.studio-credit strong{font-size:10px}.studio-strip>.game-about>summary,.studio-strip>a{font-size:11px}}
@media(max-height:500px) and (orientation:landscape){.studio-strip{min-height:32px;margin-top:3px;gap:4px;grid-template-columns:minmax(0,1fr) auto auto 30px}.studio-strip>.game-about>summary,.studio-strip>a,.studio-strip>button{min-height:32px;font-size:9px}.studio-strip>button{width:30px}.reality-navigation{bottom:110px}}

body[data-reality="5"]{--accent:#82bfff;--ice:#82bfff;--lime:#82bfff}
@media(max-width:380px){.reality-switch>button{width:32px}.reality-navigation{gap:6px}}

body[data-reality="5"] .button-primary:hover{background:var(--accent);border-color:var(--accent);filter:brightness(1.08)}
