/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-3{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#071632;--deep:#030817;--panel:#0b2348;--cyan:#57e4ff;--gold:#ffd14f;--mint:#56e2ab;--text:#f4f8ff;--muted:#9eb6d7}*{box-sizing:border-box}html,body{background:var(--deep);min-height:100%;color:var(--text);overscroll-behavior:none;margin:0;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif}button{font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.chapter-shell{background:radial-gradient(circle at 78% 14%,#174c91 0,#0000 28%),linear-gradient(145deg,#061734,#020611 72%);grid-template-rows:70px 1fr;height:100svh;min-height:620px;display:grid;position:relative;overflow:hidden}.space-noise,.space-noise:before{content:"";pointer-events:none;opacity:.35;background-image:radial-gradient(#fff 0 1px,#0000 1.5px);background-size:83px 71px;position:absolute;inset:0}.space-noise:before{opacity:.45;background-size:137px 109px;transform:translate(31px,18px)}.hud{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#020a1ed9;border-bottom:1px solid #ffffff17;grid-template-columns:1fr minmax(260px,36%) 1fr;align-items:center;padding:0 max(26px,4vw);display:grid}.logo{letter-spacing:3px;color:var(--gold);font-size:18px;font-weight:900}.logo span{color:#fff;margin-left:7px}.hud>button{background:#ffffff0b;border:1px solid #ffffff28;border-radius:99px;justify-self:end;padding:8px 13px;font-size:12px}.chapter-progress small{text-align:center;color:#b7cce8;letter-spacing:2px;margin-bottom:7px;font-size:11px;display:block}.chapter-progress>div{background:#ffffff13;border-radius:8px;height:5px;overflow:hidden}.chapter-progress i{background:linear-gradient(90deg,#35bbef,#72f0d1);height:100%;transition:all .5s;display:block}.chapter-screen{z-index:2;min-height:0;position:relative;overflow:hidden}.kicker{color:var(--cyan);letter-spacing:3px;margin:0 0 12px;font-size:11px;font-weight:900}.cta,.secondary,.confirm{cursor:pointer;border:0;border-radius:12px;min-height:52px;padding:12px 20px;font-weight:900}.cta{color:#0b2042;background:linear-gradient(135deg,#ffe07a,#f7b526);box-shadow:0 12px 30px #f4b82e3e}.cta b{margin-left:30px;font-size:20px}.cta:disabled{opacity:.36;box-shadow:none;cursor:not-allowed}.secondary{color:#09234b;background:#eafaff}.confirm{background:#174579;border:1px solid #5de3ff77}.intro-v2,.finish-v2{align-items:center;padding:5vh 8vw;display:flex}.intro-v2 article,.finish-v2 article{z-index:4;width:50%;max-width:690px;margin-left:auto;position:relative}.intro-v2 h1,.finish-v2 h1,.reward-screen h1{letter-spacing:-4px;margin:0;font-size:clamp(46px,6vw,82px);line-height:1.02}.intro-v2 h1 em,.finish-v2 h1 em{color:var(--gold);font-style:normal}.intro-v2 article>p:not(.kicker),.finish-v2 article>p:not(.kicker){color:#bed0e9;max-width:650px;font-size:clamp(15px,1.5vw,20px);line-height:1.8}.promise{flex-wrap:wrap;gap:9px;margin:22px 0;display:flex}.promise span,.mastery-cards span{background:#0f376668;border:1px solid #65ddff42;border-radius:99px;padding:8px 12px;font-size:12px}.planet-moon{aspect-ratio:1;background:radial-gradient(circle at 67% 62%,#f9fbff,#a9b8cd 52%,#536078 72%);border-radius:50%;width:min(62vw,850px);position:absolute;top:-25vw;left:-17vw;box-shadow:0 0 100px #8bdcff35}.hero-art{z-index:3;filter:drop-shadow(0 22px 30px #000a);background:url(/fuxing-character-v1.png) 0 48%/200% no-repeat;width:46%;height:95%;position:absolute;bottom:-8%;left:3vw}.briefing{grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:3vw;padding:4vh 5vw;display:grid}.video-frame{background:#000;border:1px solid #64e4ff55;border-radius:24px;min-height:0;position:relative;overflow:hidden;box-shadow:0 25px 65px #0009}.video-frame video{object-fit:contain;width:100%;height:100%;display:block}.film-label{letter-spacing:2px;background:#031024dc;border:1px solid #73e8ff55;border-radius:99px;padding:8px 12px;font-size:11px;position:absolute;top:16px;left:16px}.briefing aside{align-self:center}.briefing h2,.screen-heading h2,.lab-copy h2,.boss-screen h2{margin:0 0 14px;font-size:clamp(28px,3.2vw,48px);line-height:1.15}.briefing aside>p:not(.kicker),.screen-heading>p,.lab-copy>p:not(.kicker),.boss-screen aside>p:not(.kicker){color:var(--muted);line-height:1.75}.status{color:#9db2ce;background:#ffffff08;border-left:3px solid #7184a2;margin:28px 0 14px;padding:12px 14px}.status.done{border-color:var(--mint);color:var(--mint)}.lab-screen{grid-template-rows:1fr auto;grid-template-columns:31% 1fr;gap:20px 4vw;padding:4vh 6vw;display:grid}.lab-copy{align-self:center}.gravity-switch{grid-template-columns:1fr 1fr;gap:8px;margin-top:26px;display:grid}.gravity-switch button{cursor:pointer;background:#ffffff09;border:1px solid #ffffff20;border-radius:10px;padding:13px}.gravity-switch button.active{background:#2c87c8;border-color:#7feaff}.jump-lab{background:linear-gradient(#082451,#06152e);border:1px solid #62ddff45;border-radius:24px;min-height:420px;position:relative;overflow:hidden}.jump-lab.moon{background:linear-gradient(#050b1b,#17233a)}.jump-grid{position:absolute;inset:0}.jump-grid i{border-top:1px dashed #c9efff20;height:20%;display:block}.ground{background:#536174;height:18%;position:absolute;bottom:0;left:0;right:0}.earth .ground{background:#184e38}.ground span{color:#d8efff;font-size:12px;position:absolute;top:13px;right:18px}.jump-astronaut{background:var(--gold);color:#152548;border-radius:18px 18px 12px 12px;place-items:center;width:56px;height:66px;font-size:23px;font-weight:900;transition:bottom .65s cubic-bezier(.2,.75,.35,1);display:grid;position:absolute;bottom:18%;left:48%;box-shadow:0 12px 22px #0006}.moon .jump-astronaut{transition-duration:1.45s}.jumping.earth .jump-astronaut{bottom:44%}.jumping.moon .jump-astronaut{bottom:76%}.meter{color:#8eacd1;flex-direction:column;justify-content:space-between;font-size:10px;display:flex;position:absolute;top:20px;bottom:22%;right:15px}.meter b{color:var(--cyan)}.lab-actions{grid-column:1/-1;justify-content:flex-end;gap:12px;display:flex}.game-screen,.phase-screen{padding:3vh 5vw}.screen-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:15px;display:flex}.screen-heading h2{margin:0}.screen-heading>p{max-width:470px;margin:0}.traverse-wrap{height:calc(100% - 94px);position:relative}.phaser-host{background:#07152f;border:1px solid #69e9ff55;border-radius:20px;height:100%;min-height:360px;overflow:hidden}.phaser-host canvas{display:block!important}.touch-controls{pointer-events:none;gap:10px;display:flex;position:absolute;bottom:16px;left:18px;right:18px}.touch-controls button{pointer-events:auto;background:#06152ed9;border:1px solid #fff5;border-radius:50%;width:54px;height:54px;font-size:22px;font-weight:900}.touch-controls .jump{color:#102347;background:#f8c84bdc;border-radius:18px;width:78px;margin-left:auto}.game-hint{color:#c9efff;background:#020a1ed9;border-radius:99px;margin:0;padding:7px 12px;font-size:12px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.orbit-lab{aspect-ratio:1;background:radial-gradient(circle,#143765 0 8%,#06142e 9% 54%,#0000 55%);border:1px dashed #8bdfff44;border-radius:50%;width:min(720px,78vh);margin:0 auto;position:relative}.earth-core{z-index:4;background:radial-gradient(circle at 30% 30%,#6be1ff,#1a6abc 60%,#17413a);border-radius:50%;place-items:center;width:84px;height:84px;font-weight:900;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sun-core{color:#342000;background:#ffd34f;border-radius:50%;place-items:center;width:120px;height:120px;font-weight:900;display:grid;position:absolute;top:50%;left:-20%;transform:translateY(-50%);box-shadow:0 0 70px #ffd34f99}.sun-core span{color:#ffe99c;white-space:nowrap;position:absolute;left:120%}.orbit-point{color:#8da8c9;cursor:pointer;background:#0f2446;border:1px dashed #ffffff28;border-radius:50%;width:50px;height:50px;margin:-25px;position:absolute}.orbit-point span{display:none}.orbit-point.chosen{border:3px solid var(--cyan);background:linear-gradient(90deg,#f2f5fa 50%,#303948 50%);box-shadow:0 0 24px #5ee4ff}.orbit-point.chosen span{color:#07142d;font-weight:900;display:block}.p0{top:50%;left:5%}.p1{top:18%;left:18%}.p2{top:5%;left:50%}.p3{top:18%;left:82%}.p4{top:50%;left:95%}.p5{top:82%;left:82%}.p6{top:95%;left:50%}.p7{top:82%;left:18%}.light-rays{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:26% 52% 26% -13%}.light-rays i{background:linear-gradient(90deg,#ffe682,#0000);height:1px}.phase-console{justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;bottom:2vh;left:5vw;right:5vw}.phase-readout{text-align:center;min-width:240px}.phase-readout small,.phase-readout strong{display:block}.phase-readout small{color:#8fa8c8}.phase-readout.ok strong{color:var(--mint)}.phase-readout.try strong{color:#ffad73}.reward-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:5vh 10vw;display:flex}.reward-glow{background:#49dcff1a;border-radius:50%;width:430px;height:430px;position:absolute;box-shadow:0 0 0 60px #49dcff0a,0 0 0 120px #49dcff06}.boots{color:var(--gold);filter:drop-shadow(0 0 28px #ffcf4b88);font-size:100px;position:relative}.reward-screen h1{font-size:clamp(42px,5vw,70px)}.reward-screen>p:not(.kicker){color:#bbcee8;max-width:670px;line-height:1.8;position:relative}.upgrade-path{flex-wrap:wrap;justify-content:center;gap:8px;margin:22px 0 28px;display:flex;position:relative}.upgrade-path span{background:#0a2a50;border:1px solid #5bddff45;border-radius:9px;padding:8px 12px}.boss-screen{grid-template-columns:1.2fr .8fr;gap:4vw;padding:4vh 5vw;display:grid}.boss-world{background:linear-gradient(#0d1a32,#586276);border:1px solid #ffb14d50;border-radius:24px;position:relative;overflow:hidden}.alarm{background:#a32f37;border-radius:99px;padding:8px 12px;font-size:12px;position:absolute;top:16px;left:16px}.base-dome{color:#182842;background:#d5dde8;border-radius:100px 100px 12px 12px;place-items:center;width:170px;height:90px;font-weight:900;display:grid;position:absolute;bottom:14%;right:13%}.broken-array{transform-origin:bottom;gap:7px;display:flex;position:absolute;bottom:31%;right:17%;transform:rotate(-28deg)}.broken-array i{background:repeating-linear-gradient(90deg,#2a74aa 0 12px,#123b6e 13px 15px);border:2px solid #91c9e8;width:54px;height:88px}.rift{clip-path:polygon(40% 0,65% 18%,49% 35%,72% 55%,55% 100%,12% 100%,31% 61%,17% 43%,36% 25%);background:#111827;width:170px;height:72%;position:absolute;bottom:-30px;left:25%}.boss-screen aside{align-self:center}.tool-grid{grid-template-columns:1fr 1fr;gap:10px;margin:22px 0;display:grid}.tool-grid button{text-align:left;cursor:pointer;background:#ffffff09;border:1px solid #5cdfff37;border-radius:12px;align-items:center;gap:11px;min-height:76px;padding:12px;display:flex}.tool-grid button:hover{border-color:var(--cyan);background:#1b557f}.tool-grid button:disabled{opacity:.35}.tool-grid b{color:var(--gold);font-size:28px}.tool-grid span{font-weight:800}.boss-chain{gap:7px;display:flex}.boss-chain i{background:#ffffff12;border-radius:5px;flex:1;height:6px}.boss-chain i.done{background:var(--mint)}.finish-v2{background:radial-gradient(circle at 24% 54%,#2ee6c72c,#0000 29%)}.finish-hero{opacity:.8}.signal-orbits{aspect-ratio:1;border:1px solid #60f4da44;border-radius:50%;width:38vw;position:absolute;left:8%;box-shadow:0 0 0 45px #56e2ab0d,0 0 0 90px #56e2ab09}.mastery-cards{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.mastery-cards span{border-radius:10px}.mastery-cards b{color:var(--mint);margin-bottom:3px;font-size:10px;display:block}@media (width<=800px){.chapter-shell{grid-template-rows:58px 1fr;height:auto;min-height:100svh;overflow:auto}.hud{grid-template-columns:1fr 1fr;padding:0 16px}.chapter-progress{display:none}.chapter-screen{min-height:calc(100svh - 58px);overflow:auto}.intro-v2,.finish-v2{padding:32px 20px 42px;display:block}.intro-v2 article,.finish-v2 article{width:100%}.intro-v2 h1,.finish-v2 h1{font-size:clamp(42px,12vw,62px)}.planet-moon{width:100vw;top:-23vw;left:-58vw}.hero-art{opacity:.58;width:100%;height:270px;position:relative;bottom:auto;left:auto}.briefing{flex-direction:column;padding:14px;display:flex}.video-frame{aspect-ratio:16/9;border-radius:14px;min-height:0}.briefing aside{padding:8px 4px 24px}.briefing .cta{width:100%}.lab-screen{flex-direction:column;padding:22px 16px;display:flex}.jump-lab{min-height:390px}.lab-actions{grid-template-columns:1fr;display:grid}.lab-actions .confirm{grid-row:1}.game-screen,.phase-screen{padding:18px 12px}.screen-heading{display:block}.screen-heading>p{font-size:13px}.traverse-wrap{height:auto}.phaser-host{height:52vh;min-height:350px}.orbit-lab{width:88vw;margin-top:40px}.sun-core{width:82px;height:82px;left:-14%}.sun-core span{display:none}.earth-core{width:62px;height:62px}.orbit-point{width:42px;height:42px;margin:-21px}.phase-console{flex-wrap:wrap;margin-top:36px;padding-bottom:24px;position:relative;bottom:auto;left:auto;right:auto}.phase-readout{flex-basis:100%;order:-1}.phase-console .cta{flex-basis:100%}.reward-screen{padding:40px 20px}.upgrade-path{grid-template-columns:1fr 1fr;display:grid}.boss-screen{flex-direction:column;padding:14px;display:flex}.boss-world{height:38vh;min-height:260px}.boss-screen aside{padding-bottom:28px}.finish-hero{height:250px}.logo span{font-size:14px}.hud>button{padding:7px 10px}}@media (orientation:landscape) and (height<=650px){.chapter-shell{grid-template-rows:52px 1fr;height:100svh;min-height:0;overflow:hidden}.chapter-screen{min-height:0}.hud{height:52px}.intro-v2,.finish-v2{padding:3vh 7vw}.hero-art{opacity:.75;width:45%;height:100%;position:absolute}.briefing{flex-direction:row;grid-template-columns:1.45fr .75fr;padding:10px 24px}.briefing aside>p:not(.kicker){font-size:12px}.status{margin:8px 0}.lab-screen{grid-template-rows:1fr auto;grid-template-columns:30% 1fr;padding:12px 28px;display:grid}.jump-lab{min-height:0}.lab-actions{display:flex}.screen-heading{margin-bottom:6px}.screen-heading h2{font-size:25px}.traverse-wrap{height:calc(100% - 66px)}.phaser-host{height:100%;min-height:0}.phase-screen{padding:8px 24px}.orbit-lab{width:auto;height:calc(100% - 88px);margin:auto}.phase-console{margin:0;padding:0;position:absolute;bottom:5px}.reward-screen{padding:12px}.boots{font-size:55px}.reward-screen h1{font-size:38px}.upgrade-path{margin:8px 0 12px;display:flex}.boss-screen{grid-template-columns:1.25fr .75fr;padding:10px 28px;display:grid}.boss-world{height:auto;min-height:0}.boss-screen h2{font-size:25px}.tool-grid{margin:8px 0}.tool-grid button{min-height:52px}.finish-v2 article{width:50%}}:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}html,body,#root{width:100%;height:100%;min-height:100%;overflow:hidden}html body .chapter-shell{width:100%;height:var(--app-height,100dvh);grid-template-rows:calc(70px + var(--safe-top)) minmax(0,1fr);min-height:0;container-type:size}html body .hud{padding-top:var(--safe-top);padding-left:max(26px,calc(4vw + var(--safe-left)));padding-right:max(26px,calc(4vw + var(--safe-right)))}.chapter-screen{padding-bottom:max(12px,var(--safe-bottom))}.touch-controls{left:max(18px,var(--safe-left));right:max(18px,var(--safe-right));bottom:max(16px,var(--safe-bottom))}@media (width<=800px){html body .chapter-shell{height:var(--app-height,100dvh);grid-template-rows:calc(58px + var(--safe-top)) minmax(0,1fr);min-height:0;overflow:hidden}html body .hud{height:auto;padding-top:var(--safe-top);padding-left:max(16px,var(--safe-left));padding-right:max(16px,var(--safe-right))}.chapter-screen{height:100%;min-height:0;padding-bottom:max(28px,var(--safe-bottom));overflow:hidden auto}.intro-v2,.finish-v2{padding-left:max(20px,var(--safe-left));padding-right:max(20px,var(--safe-right))}.briefing,.lab-screen,.game-screen,.phase-screen,.boss-screen{padding-left:max(14px,var(--safe-left));padding-right:max(14px,var(--safe-right))}.phaser-host{height:min(52vh,calc(var(--app-height,100dvh) - 190px));min-height:280px}}.opening-play{z-index:3;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#031126e8;border:1px solid #7ceaff99;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:min(320px,78%);height:154px;margin:auto;display:flex;position:absolute;inset:0;box-shadow:0 20px 70px #000c,0 0 40px #48dcff33}.opening-play b{color:#092043;background:linear-gradient(135deg,#ffe27a,#f5b51e);border-radius:50%;place-items:center;width:52px;height:52px;padding-left:4px;font-size:23px;display:grid;box-shadow:0 0 28px #ffd34f66}.opening-play strong{font-size:17px}.opening-play span{color:#a9c3e4;font-size:11px}.finale{z-index:2;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:3vw;min-height:0;padding:3vh 4vw;display:grid;position:relative}.finale-world{background:linear-gradient(#07152c66,#020714aa),url(/game/chapter1/damaged-base-v1.webp) 50%/cover;border:1px solid #ffb65066;border-radius:24px;min-height:440px;position:relative;overflow:hidden}.finale-console{align-self:center}.finale-console h2{margin:0 0 12px;font-size:clamp(28px,3vw,46px)}.finale-console>p:not(.kicker){color:var(--muted);line-height:1.65}.finale-console label{color:#cbe1fa;margin:18px 0;font-weight:700;display:block}.finale-console label output{float:right;color:var(--cyan)}.finale-console input[type=range]{accent-color:#ffd14f;width:100%;height:34px;display:block}.finale-console .cta{width:100%;margin-top:12px}.finale-energy{z-index:3;background:#6f1829dd;border-radius:10px;padding:9px 12px;position:absolute;top:15px;left:15px}.finale-energy span,.finale-energy b{display:block}.finale-energy span{letter-spacing:2px;font-size:10px}.finale-energy b{font-size:24px}.sun-vector{width:58%;height:3px;transform:rotate(var(--sun-angle));transform-origin:0;background:linear-gradient(90deg,#fff4a8,#ffd33c,#0000);position:absolute;top:25%;left:-4%}.sun-vector i{background:#ffe052;border-radius:50%;width:58px;height:58px;position:absolute;top:-30px;left:18%;box-shadow:0 0 55px #ffd34f}.sun-vector span{color:#ffe792;font-size:11px;position:absolute;top:-24px;left:48%}.earth-beacon{place-items:center;display:grid;position:absolute;top:8%;right:8%}.earth-beacon i{background:radial-gradient(circle at 30% 30%,#a8f1ff,#2879d2 55%,#174737);border-radius:50%;place-items:center;width:62px;height:62px;font-size:11px;font-style:normal;display:grid}.earth-beacon small{color:#91acd0;margin-top:4px}.solar-array{transform-origin:50% 110%;gap:4px;transition:transform .12s;display:flex;position:absolute;bottom:22%;right:14%}.solar-array i{background:repeating-linear-gradient(90deg,#22669a 0 13px,#102f5c 14px 16px);border:2px solid #8bd8ff;width:66px;height:108px}.finale-rift{clip-path:polygon(25% 0,88% 8%,63% 44%,100% 100%,0 100%,31% 52%);background:#01030a;width:23%;height:70%;position:absolute;bottom:-8%;left:35%}.finale-cable{transform-origin:0;background:#f0bb42;height:4px;position:absolute;bottom:18%;left:24%;right:18%;transform:rotate(-4deg)}.finale-astronaut{z-index:3;color:#092044;background:#f0c64b;border-radius:18px;place-items:center;width:42px;height:58px;font-weight:900;transition:none;display:grid;position:absolute;bottom:20%;left:18%}.finale-astronaut.short{animation:.8s ease-in-out jump-short}.finale-astronaut.overshoot{animation:1s ease-in-out jump-over}.finale-astronaut.success{transition:left 1s cubic-bezier(.2,.7,.3,1),bottom .5s ease-in-out;bottom:35%;left:70%}.lux-meter,.charge-meter{background:#ffffff10;border-radius:10px;height:42px;margin:14px 0;position:relative;overflow:hidden}.lux-meter i,.charge-meter i{background:linear-gradient(90deg,#276a93,#50e5ce,#ffe35b);height:100%;transition:width .12s;display:block}.lux-meter b,.charge-meter b{text-shadow:0 2px 5px #000;place-items:center;display:grid;position:absolute;inset:0}.trajectory-result{color:#b9cbe2;background:#ffffff09;border-left:3px solid #7194bb;padding:11px}.trajectory-result.short,.trajectory-result.overshoot{color:#ffc0a6;border-color:#ff9567}.trajectory-result.success{border-color:var(--mint);color:var(--mint)}.power-wave{background:#62f2cf;height:7px;position:absolute;bottom:0;left:0;box-shadow:0 0 30px #4fffd8}.hold-power{touch-action:none;-webkit-user-select:none;user-select:none}.hold-power:active{transform:scale(.985);box-shadow:0 0 40px #ffd34f88}@keyframes jump-short{50%{bottom:58%;left:43%}}@keyframes jump-over{60%{bottom:64%;left:86%}to{bottom:12%;left:94%}}.shadow-caster{width:46%;height:90px;position:absolute;bottom:25%;left:22%}.shadow-caster:before{content:"";background:#9aa8b7;width:10px;height:66px;position:absolute;bottom:0;left:0}.shadow-caster i{transform-origin:0;background:linear-gradient(90deg,#03040a,#0000);width:190px;height:5px;position:absolute;bottom:3px;left:5px}.shadow-caster span{color:#a6bad2;font-size:10px;position:absolute;bottom:-18px;left:15px}.model-lab{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:4vw;padding:4vh 5vw;display:grid}.model-stage{background:#06142d;border:1px solid #61dfff55;border-radius:24px;min-height:440px;position:relative;overflow:hidden}.model-sun{color:#3d2600;background:#ffd64f;border-radius:50%;place-items:center;width:78px;height:78px;font-weight:900;display:grid;position:absolute;top:44%;left:5%;box-shadow:0 0 55px #ffd34f77}.model-rays{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:35% 15% 35% 13%}.model-rays i{background:linear-gradient(90deg,#ffe992,#0000);height:1px}.model-earth{background:radial-gradient(circle at 30% 30%,#7eeaff,#2476c8 55%,#164a38);border-radius:50%;place-items:center;width:76px;height:76px;font-weight:900;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.model-earth small{font-size:9px;display:block}.model-orbit{aspect-ratio:1;border:1px dashed #75ddff44;border-radius:50%;width:70%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.model-moon{width:48px;height:48px;transform:rotate(var(--orbit-angle)) translateX(min(30vw,210px)) rotate(calc(-1 * var(--orbit-angle)));background:linear-gradient(90deg,#edf3fa 0 50%,#273044 50% 100%);border-radius:50%;place-items:center;margin:-24px;transition:transform .3s;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 0 0 2px #9db0c655}.model-moon b{color:#101a2b;font-size:11px}.model-moon small{color:#d6e5f8;background:#020919dd;border-radius:6px;width:max-content;padding:3px 6px;font-size:8px;position:absolute;top:52px;left:50%;transform:translate(-50%)}.observer-view{text-align:center;background:#020919dd;border-radius:12px;width:128px;padding:10px;position:absolute;top:14px;right:14px}.observer-view small,.observer-view span{color:#9bb4d4;font-size:9px;display:block}.phase-disk{width:54px;height:54px;margin:6px auto;display:block}.model-console{align-self:center}.model-console h2{margin:0 0 12px;font-size:clamp(28px,3vw,46px)}.model-console>p{color:var(--muted);line-height:1.65}.model-console input[type=range]{width:100%;accent-color:var(--gold);height:40px}.model-task,.model-result,.bearing-clue{background:#ffffff09;border-radius:10px;margin:12px 0;padding:11px 13px}.model-task b{color:var(--gold)}.orbit-step{color:#93aac9;justify-content:space-between;font-size:11px;display:flex}.model-result{border-left:3px solid var(--cyan);color:#cceaff}.model-console .cta{width:100%;margin-top:10px}.bearing-clue{align-items:center;gap:14px;display:flex}.bearing-clue i{transform-origin:0;background:#ffe36e;width:64px;height:3px;display:block}@media (width<=800px){.finale{flex-direction:column;padding:14px;display:flex}.finale-world{aspect-ratio:16/9;height:auto;min-height:0}.finale-console{padding-bottom:max(24px,var(--safe-bottom))}.solar-array i{width:42px;height:72px}.earth-beacon i{width:46px;height:46px}.finale-console h2{font-size:28px}.model-lab{flex-direction:column;padding:14px;display:flex}.model-stage{height:42vh;min-height:330px}.model-console{padding-bottom:max(24px,var(--safe-bottom))}.model-moon{transform:rotate(var(--orbit-angle)) translateX(min(32vw,145px)) rotate(calc(-1 * var(--orbit-angle)))}}.sun-vector.unknown{filter:saturate(.35);opacity:.55}.finale-astronaut.flying{animation:1.9s cubic-bezier(.22,.58,.4,1) finale-flight}.finale-cable.connected{background:#62f2cf;box-shadow:0 0 18px #62f2cf}.evidence-grid{grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0;display:grid}.evidence-grid span{text-align:center;color:#8fa8c8;background:#ffffff08;border:1px solid #ffffff1f;border-radius:9px;padding:9px 5px;font-size:11px}.evidence-grid b{margin-top:4px;font-size:17px;display:block}.evidence-grid span.ok{color:#65efd1;background:#124d5655;border-color:#57e4ff88}.anchor-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.anchor-grid button{background:#0b315a;border:1px solid #5fe5ff55;border-radius:10px;min-height:58px}.trajectory-readout{color:#a9c7e8;background:#071a35;border-radius:9px;padding:10px}.trajectory-readout b{color:var(--cyan)}.flight-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;display:grid}.flight-actions .cta{margin:0}.flight-actions button{min-height:56px}.finale-console>small{color:#819abb;margin-top:8px;display:block}@keyframes finale-flight{0%{bottom:20%;left:18%}50%{bottom:70%;left:48%}to{bottom:35%;left:72%}}.evidence-sequence{gap:7px;margin:14px 0;display:grid}.evidence-sequence span{color:#9db5d4;background:#ffffff07;border:1px solid #ffffff1a;border-radius:9px;align-items:center;gap:9px;padding:9px 11px;font-size:12px;display:flex}.evidence-sequence span.done{color:#65efd1;background:#124d5655;border-color:#57e4ff88}.evidence-sequence b{color:#dff8ff;background:#1b4773;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.science-instrument{background:#020b1c55;border:1px solid #ffffff1c;border-radius:10px;margin:10px 0}.science-instrument summary{color:#9db5d4;cursor:pointer;padding:10px 12px;font-size:12px}.science-instrument[open] summary{color:var(--cyan);border-bottom:1px solid #ffffff14}.science-instrument .evidence-grid{padding:0 10px}html[data-viewport=tall] .intro-v2,html[data-viewport=tall] .finish-v2{grid-template-rows:minmax(180px,32vh) auto;align-content:start;display:grid}html[data-viewport=tall] .hero-art{height:min(32vh,280px);margin:-12px 0 -20px}html[data-viewport=tall] .intro-v2 h1,html[data-viewport=tall] .finish-v2 h1{font-size:clamp(38px,10.5vw,54px)}html[data-viewport=tall] .intro-v2 article>p:not(.kicker),html[data-viewport=tall] .finish-v2 article>p:not(.kicker){font-size:15px;line-height:1.65}html[data-viewport=landscape] body .chapter-shell{grid-template-rows:calc(52px + var(--safe-top)) minmax(0,1fr)}html[data-viewport=landscape] .hud{padding-left:max(20px,var(--safe-left));padding-right:max(20px,var(--safe-right))}html[data-viewport=landscape] .chapter-screen{padding-bottom:max(8px,var(--safe-bottom))}html[data-compact=true] .kicker{margin-bottom:6px}html[data-compact=true] .briefing h2,html[data-compact=true] .screen-heading h2,html[data-compact=true] .lab-copy h2,html[data-compact=true] .boss-screen h2{margin-bottom:7px;font-size:clamp(23px,3vw,34px)}html[data-compact=true] .cta,html[data-compact=true] .secondary,html[data-compact=true] .confirm{min-height:44px;padding:8px 15px}@container (width<=520px){.promise{gap:6px;margin:14px 0}.promise span{padding:6px 9px;font-size:11px}.tool-grid button{min-height:64px}.boss-world{min-height:230px}.phase-console{gap:8px}.phase-console .secondary{flex:1}.phase-readout{min-width:0}}@media (width<=520px) and (height>=760px) and (orientation:portrait){.intro-v2,.finish-v2{padding-top:10px;padding-bottom:max(16px,var(--safe-bottom));grid-template-rows:minmax(210px,34%) minmax(0,1fr);align-content:stretch;gap:0;display:grid;overflow:hidden}.intro-v2 .hero-art,.finish-v2 .hero-art{opacity:.76;background-position:0 0;background-size:auto 138%;border-radius:18px;width:100%;height:100%;min-height:185px;margin:0;position:relative;bottom:auto;left:auto;-webkit-mask-image:linear-gradient(#000 72%,#0000 100%);mask-image:linear-gradient(#000 72%,#0000 100%)}.intro-v2 article,.finish-v2 article{align-self:center;width:100%;margin:0;padding:0 2px}.intro-v2 .kicker,.finish-v2 .kicker{letter-spacing:2px;margin-bottom:7px;font-size:10px}.intro-v2 h1,.finish-v2 h1{letter-spacing:-2px;font-size:clamp(38px,10vw,48px);line-height:1.02}.intro-v2 article>p:not(.kicker),.finish-v2 article>p:not(.kicker){margin:12px 0;font-size:14px;line-height:1.58}.intro-v2 .promise{grid-template-columns:repeat(3,1fr);gap:6px;margin:11px 0 13px;display:grid}.intro-v2 .promise span{text-align:center;white-space:nowrap;padding:6px 3px;font-size:10px}.intro-v2 .cta,.finish-v2 .cta{justify-content:space-between;align-items:center;width:100%;min-height:50px;padding:10px 18px;display:flex}.planet-moon{opacity:.8;width:76vw;top:-10vw;left:-43vw}}@media (width<=380px) and (orientation:portrait){.intro-v2 h1,.finish-v2 h1{font-size:36px}.intro-v2 article>p:not(.kicker),.finish-v2 article>p:not(.kicker){font-size:13px}.intro-v2 .promise span{font-size:9px}}.jump-lab{background-image:linear-gradient(#03112738,#03112738),url(/game/chapter1/gravity-lab-v1.webp);background-position:50%;background-size:cover}.phase-screen:before{content:"";z-index:-1;opacity:.72;background:linear-gradient(#03112742,#03112742),url(/game/chapter1/phase-lab-v1.webp) 50%/cover no-repeat;position:absolute;inset:0}.phase-screen .orbit-lab{background:radial-gradient(circle,#143765e8 0 8%,#06142ee6 9% 54%,#06142e66 55%);box-shadow:0 24px 80px #000b,0 0 50px #4ddfff20}.prediction{gap:9px;margin-top:22px;display:grid}.prediction strong{color:var(--gold)}.prediction button{text-align:left;cursor:pointer;background:#0c315b;border:1px solid #63e4ff55;border-radius:11px;min-height:48px;padding:10px 14px;font-weight:800}.prediction button:hover{border-color:var(--cyan);background:#154c7a}.jump-astronaut{object-fit:contain;color:#0000;width:auto;height:96px;box-shadow:none;filter:drop-shadow(0 12px 12px #0008);background:0 0;border-radius:0}.lab-actions button:disabled{opacity:.38;cursor:not-allowed}.hud-actions{justify-self:end;gap:7px;display:flex}.hud-actions button{cursor:pointer;background:#ffffff0b;border:1px solid #ffffff28;border-radius:99px;min-width:40px;padding:8px 12px;font-size:12px}.pause-layer{z-index:100;padding:max(20px,var(--safe-top)) max(18px,var(--safe-right)) max(20px,var(--safe-bottom)) max(18px,var(--safe-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#010612d9;place-items:center;display:grid;position:fixed;inset:0}.pause-card{background:linear-gradient(155deg,#102e56,#07142b);border:1px solid #68e5ff48;border-radius:22px;width:min(480px,100%);padding:26px;box-shadow:0 28px 80px #000b}.pause-card h2{margin:0 0 20px;font-size:28px}.pause-card>.cta{width:100%;margin-bottom:10px}.menu-row{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff16;justify-content:space-between;gap:16px;width:100%;padding:14px 4px;display:flex}.menu-row b{color:var(--cyan);font-size:12px}.privacy-note{background:#ffffff08;border-radius:12px;margin:18px 0;padding:13px}.privacy-note strong{color:var(--mint)}.privacy-note p{color:#aebfda;margin:6px 0 0;font-size:12px;line-height:1.6}.pause-card>small{color:#7086a7}.pause-card{max-height:calc(var(--app-height) - var(--safe-top) - var(--safe-bottom) - 34px);overflow:auto}.audio-mixer{background:#020b1c66;border-radius:14px;margin:10px 0 6px;padding:12px}.mixer-heading{justify-content:space-between;margin-bottom:8px;display:flex}.mixer-heading span{color:#8fa9cc;font-size:11px}.audio-mixer label{grid-template-columns:42px 1fr 28px;align-items:center;gap:9px;min-height:34px;font-size:12px;display:grid}.audio-mixer input{width:100%;accent-color:var(--cyan)}.audio-mixer output{text-align:right;color:var(--cyan);font-variant-numeric:tabular-nums}.intro-v2:before,.finish-v2:before{content:"";opacity:.44;background:linear-gradient(90deg,#02081788,#020817 76%),url(/game/chapter1/lunar-base-exterior-v1.webp) 50%/cover no-repeat;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 74%,#0000 100%);mask-image:linear-gradient(#000 0 74%,#0000 100%)}.intro-v2 .hero-art,.finish-v2 .hero-art{background-image:url(/game/chapter1/astronaut-side-v1.webp);background-position:bottom;background-size:contain}@media (width<=520px) and (height>=760px) and (orientation:portrait){.intro-v2 .hero-art,.finish-v2 .hero-art{background-position:bottom;background-size:contain;-webkit-mask-image:linear-gradient(#000 82%,#0000 100%);mask-image:linear-gradient(#000 82%,#0000 100%)}.intro-v2:before,.finish-v2:before{opacity:.38;background:linear-gradient(#02081733,#020817 78%),url(/game/chapter1/lunar-base-exterior-v1.webp) 50%/cover no-repeat}}@media (width<=800px){.sun-core{left:5%;transform:translate(-50%,-50%)}.lab-actions{grid-template-columns:1fr 1fr}.lab-actions .confirm{grid-area:auto/1/auto/-1}.jump-lab{min-height:340px}}@media (width>=521px) and (width<=900px) and (orientation:portrait){.intro-v2,.finish-v2{grid-template-rows:minmax(280px,38vh) auto;align-content:center;padding:3vh 5vw}.intro-v2 .hero-art,.finish-v2 .hero-art{background-position:bottom;height:100%;max-height:430px;margin:0}.intro-v2 article,.finish-v2 article{background:linear-gradient(105deg,#020817e8,#06152daa 72%,#0000);border-radius:20px;padding:18px 22px;box-shadow:0 18px 50px #0007}.intro-v2 h1,.finish-v2 h1{text-shadow:0 4px 22px #010817}.planet-moon{opacity:.3;width:68vw;top:-8vw;left:-46vw}.boss-screen{justify-content:center}}.boots{object-fit:contain;filter:drop-shadow(0 20px 34px #000b)drop-shadow(0 0 22px #42dcff44);width:min(430px,62vw);height:min(290px,36vh);font-size:0}.boss-world{background:linear-gradient(#06112635,#06112635),url(/game/chapter1/damaged-base-v1.webp) 50%/cover no-repeat;box-shadow:inset 0 0 80px #02081799,0 24px 70px #0008}.boss-world .base-dome,.boss-world .broken-array,.boss-world .rift{display:none}@media (width<=800px){.boots{width:min(420px,82vw);height:min(270px,31vh)}}.finale{align-items:start}.finale-world{aspect-ratio:16/9;align-self:center;min-height:0;max-height:100%}.finale-world .phaser-host,.finale-canvas{width:100%;height:100%;position:absolute;inset:0}.finale-world .phaser-host canvas{width:100%!important;height:100%!important}.finale-status{z-index:5;pointer-events:none;gap:6px;display:grid;position:absolute;top:12px;left:12px}.finale-status span{color:#cbe6ff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#020a1ed0;border:1px solid #ffffff1c;border-radius:99px;padding:6px 11px;font-size:11px}.finale-phase{font-weight:800;color:#dff8ff!important;border-color:#57e4ff77!important}.finale-reserve b{color:#ff9f7a;font-variant-numeric:tabular-nums}.finale-reserve.low b{color:#ff5b3d}.finale-grid b{color:#62f2cf;font-variant-numeric:tabular-nums}.finale-aim input[type=range]{accent-color:#ffd14f}.instrument-note{color:#8fa8c8;margin:6px 12px 10px;font-size:11px;line-height:1.6}.finale-console .equipment-online{background:#0a3157;border:1px solid #57e4ff55;border-radius:10px;justify-content:space-between;gap:12px;margin:12px 0;padding:10px 12px;display:flex}.finale-console .equipment-online b{color:#ffd14f}.finale-console .equipment-online span{color:#62f2cf;font-size:12px}.cinema-screen{flex-direction:column;gap:12px;min-height:0;padding:2.4vh 3.4vw;display:flex}.cinema-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.cinema-head h2{margin:0 0 6px;font-size:clamp(22px,2.4vw,34px)}.cinema-sub{max-width:62ch;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.cinema-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cinema-chip{color:#cbe6ff;background:#0b234899;border:1px solid #fff2;border-radius:99px;padding:6px 11px;font-size:11px}.cinema-chip b{color:#62f2cf;font-variant-numeric:tabular-nums}.cinema-chip.warn{color:#ffd9a1;background:#3a2a0d99;border-color:#ffb14d66}.cinema-exit{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff2e;border-radius:99px;padding:7px 14px;font-size:12px}.cinema-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.cinema-filters{flex-wrap:wrap;gap:7px;display:flex}.cinema-filters button{color:#c3d6ef;cursor:pointer;background:#ffffff09;border:1px solid #ffffff20;border-radius:99px;padding:7px 13px;font-size:12px}.cinema-filters button.active{color:#eaf8ff;background:#12456e;border-color:#57e4ff88;font-weight:800}.cinema-search input{width:min(260px,44vw);color:var(--text);background:#07173199;border:1px solid #fff2;border-radius:99px;padding:8px 14px;font-size:12px}.cinema-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:14px;min-height:0;margin:0;padding:0 0 12px;list-style:none;display:grid;overflow-y:auto}.cinema-card{background:#08182f99;border:1px solid #ffffff1c;border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.cinema-card.cached{border-color:#56e2ab66}.cinema-poster{cursor:pointer;aspect-ratio:16/9;background:#02070f;border:0;width:100%;padding:0;display:block;position:relative}.cinema-poster img{object-fit:cover;opacity:.92;width:100%;height:100%;display:block}.cinema-poster:hover img{opacity:1}.cinema-duration{color:#dff8ff;font-variant-numeric:tabular-nums;background:#020817d9;border-radius:7px;padding:3px 7px;font-size:11px;position:absolute;bottom:8px;right:8px}.cinema-offline-badge{color:#8ff0cd;background:#0d3b31dd;border:1px solid #56e2ab88;border-radius:7px;padding:3px 8px;font-size:10px;font-weight:800;position:absolute;top:8px;left:8px}.cinema-review-badge{color:#ffd9a1;background:#3a2a0ddd;border:1px solid #ffb14d88;border-radius:7px;padding:3px 8px;font-size:10px;font-weight:800;position:absolute;top:8px;right:8px}.cinema-play{color:#fff;background:#020817cc;border:1px solid #ffffff3d;border-radius:50%;place-items:center;width:46px;height:46px;padding-left:3px;font-size:17px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cinema-card-body{flex-direction:column;flex:1;gap:5px;padding:10px 12px 12px;display:flex}.cinema-card-id{letter-spacing:2px;color:var(--cyan);margin:0;font-size:10px;font-weight:800}.cinema-card-body h3{margin:0;font-size:14px;line-height:1.35}.cinema-card-hook{color:#9eb6d7;flex:1;margin:0;font-size:11px;line-height:1.5}.cinema-card-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.cinema-card-foot span{color:#8fa8c8;font-size:10px}.cinema-off-btn{cursor:pointer;white-space:nowrap;background:#0b315a;border:1px solid #5fe5ff55;border-radius:9px;padding:6px 10px;font-size:11px}.cinema-off-btn.on{color:#8ff0cd;background:#0d3b31;border-color:#56e2ab77}.cinema-off-btn:disabled{opacity:.5;cursor:progress}.cinema-poster:disabled{cursor:not-allowed}.cinema-card.unavailable{opacity:.62}.cinema-card.unavailable .cinema-poster img{filter:grayscale(.7)}.cinema-unavailable-badge{color:#ffc9a8;background:#3a1f0ddd;border:1px solid #ff9d6b88;border-radius:7px;padding:3px 8px;font-size:10px;font-weight:800;position:absolute;bottom:8px;left:8px}.cinema-off-btn.off{color:#8fa8c8;cursor:default;background:#ffffff0d;border-color:#fff2}.cinema-empty{color:#8fa8c8;text-align:center;padding:40px 0}.cinema-foot{justify-content:flex-end;display:flex}.cinema-clear{color:#9eb6d7;border-bottom:0;width:auto}.cinema-player{flex:1;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);align-items:start;gap:2vw;min-height:0;display:grid}.cinema-video{background:#000;border:1px solid #64e4ff44;border-radius:18px;overflow:hidden}.cinema-video video{aspect-ratio:16/9;background:#000;width:100%;display:block}.cinema-player-info{min-width:0}.cinema-player-info h3{margin:0 0 8px;font-size:clamp(20px,2.2vw,30px)}.cinema-hook{color:#cbe6ff;margin:0 0 12px;font-size:13px;line-height:1.6}.cinema-meta{gap:18px;margin:0 0 12px;display:flex}.cinema-meta div{gap:2px;display:grid}.cinema-meta dt{color:#8fa8c8;font-size:10px}.cinema-meta dd{color:#dff8ff;font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:800}.cinema-focus{color:#8fa8c8;margin:0 0 14px;font-size:11px;line-height:1.6}.cinema-player-actions{gap:8px;display:grid}.cinema-player-actions .cta{width:100%;margin-top:4px}.finish-actions{flex-wrap:wrap;gap:10px;margin:22px 0 10px;display:flex}.finish-cinema-hint{color:#9eb6d7;max-width:60ch;margin:0;font-size:12px;line-height:1.6}.hud-cinema{color:#dff8ff!important;border-color:#57e4ff55!important}@media (width<=900px){.cinema-player{grid-template-columns:1fr}.cinema-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.cinema-head h2{font-size:22px}.cinema-search input{width:100%}}@media (width<=800px){.cinema-screen{padding:12px}.cinema-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.cinema-card-body h3{font-size:12px}.cinema-card-hook{display:none}}.lab-screen{grid-template-columns:minmax(280px,34%) minmax(0,1fr)}.gravity-stage{grid-column:2;align-items:center;min-width:0;min-height:0;display:flex;position:relative}.gravity-stage .phaser-host{aspect-ratio:16/9;width:100%;height:auto;min-height:0;max-height:100%;position:relative}.gravity-stage .phaser-host canvas{width:100%!important;height:100%!important}.gravity-timeline{background:#ffffff1f;border-radius:99px;height:4px;position:absolute;bottom:46px;left:14px;right:14px;overflow:hidden}.gravity-timeline i{background:linear-gradient(90deg,#4fd1ff,#ffd14f);height:100%;display:block}.gravity-timeline span{color:#8fa8c8;font-size:10px;position:absolute;top:-16px;right:0}.gravity-playback{color:#7fb6d8;margin:0;font-size:10px;line-height:1.5;position:absolute;bottom:8px;left:14px;right:14px}.gravity-prediction{color:#cbe1fa;margin:10px 0}.gravity-prediction b{color:var(--gold)}.comparison-table{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.comparison-table>div{background:#ffffff08;border:1px solid #ffffff1f;border-radius:12px;padding:10px 12px}.comparison-table>div.highlight{background:#3a2f0d55;border-color:#ffd14f66}.comparison-table span{color:#9db5d4;font-size:11px;display:block}.comparison-table b{color:#dff8ff;font-variant-numeric:tabular-nums;font-size:24px;display:block}.comparison-table small{color:#8fa8c8;font-size:10px;display:block}.gravity-task{background:#0a2b4d99;border:1px solid #57e4ff55;border-radius:14px;grid-column:1/-1;width:100%;padding:12px 14px}.gravity-task p{color:#dff0ff;margin:0 0 10px;font-size:13px}.gravity-task p b{color:var(--cyan);margin-right:6px}.gravity-task-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.gravity-task-actions button{cursor:pointer;background:#0b315a;border:1px solid #5fe5ff55;border-radius:12px;min-height:50px;font-weight:800}.gravity-task-actions button:hover{border-color:var(--cyan);background:#15507f}.gravity-retry{color:#ffc0a6;margin-top:9px;font-size:11px;display:block}.gravity-conclusion{background:#0b3226aa;border:1px solid #56e2ab66;border-radius:14px;grid-column:1/-1;width:100%;padding:12px 14px}.gravity-conclusion b{color:var(--mint)}.gravity-conclusion p{color:#cbe6d9;margin:6px 0 0;font-size:12px;line-height:1.6}.shake{animation:.32s ease-in-out gravity-shake}@keyframes gravity-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media (width<=800px){.gravity-stage{grid-column:auto}.gravity-stage .phaser-host{aspect-ratio:16/9;min-height:220px}.comparison-table{grid-template-columns:1fr 1fr}}.traverse-wrap{position:relative}.traverse-hud{z-index:7;pointer-events:none;gap:8px;max-width:min(46%,360px);display:grid;position:absolute;top:14px;left:16px}.traverse-objectives{gap:5px;display:grid}.traverse-objectives span{color:#93a9c6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#020a1ec9;border:1px solid #ffffff1f;border-radius:99px;align-items:center;gap:8px;padding:5px 10px;font-size:11px;display:flex}.traverse-objectives span b{color:#dff8ff;font-variant-numeric:tabular-nums}.traverse-objectives span.active{color:#dff8ff;background:#0b3a5ad9;border-color:#57e4ff88}.traverse-objectives span.done{color:#8ff0cd;background:#0d3b31d9;border-color:#56e2ab77}.traverse-objectives span.done b{color:#8ff0cd}.traverse-readout{flex-wrap:wrap;gap:6px;display:flex}.traverse-readout span{color:#8fa8c8;background:#020a1eb3;border:1px solid #ffffff14;border-radius:8px;padding:4px 9px;font-size:10px}.traverse-readout span b{color:#ffd14f;font-variant-numeric:tabular-nums;margin-left:3px}.traverse-active-objective{z-index:7;text-align:right;color:#cbe6ff;text-shadow:0 2px 8px #000;max-width:min(44%,340px);margin:0;font-size:12px;line-height:1.5;position:absolute;top:14px;right:16px}.traverse-physics-note{z-index:7;color:#7fb6d8;margin:0;font-size:10px;position:absolute;bottom:86px;right:16px}.game-hint.game-loading{background:#0b2a44e0;top:50%;transform:translate(-50%,-50%)}.touch-controls .brake{color:#e8f7ff;background:#1f6ea8e0;border-radius:16px;width:74px;font-size:14px;font-weight:800}@media (width<=800px){.traverse-hud{max-width:72%;top:10px;left:10px}.traverse-active-objective{max-width:62%;font-size:11px;top:auto;bottom:152px;right:10px}.traverse-physics-note{font-size:9px;bottom:130px;right:10px}}.jump-astronaut{transition:none!important}.jumping.earth .jump-astronaut{animation:.65s cubic-bezier(.2,.75,.35,1) both earth-jump}.jumping.moon .jump-astronaut{animation:1.45s cubic-bezier(.2,.75,.35,1) both moon-jump}.chapter-shell[data-game-paused=true] .jump-astronaut,.chapter-shell[data-game-paused=true] .finale-astronaut{animation-play-state:paused!important}.equipment-online{background:#0a3157;border:1px solid #57e4ff55;border-radius:10px;justify-content:space-between;gap:12px;margin:12px 0;padding:10px 12px;display:flex}.equipment-online b{color:var(--gold)}.equipment-online span{color:var(--mint);font-size:12px}@keyframes earth-jump{0%,to{bottom:18%}50%{bottom:44%}}@keyframes moon-jump{0%,to{bottom:18%}50%{bottom:76%}}.mission-subtitle{z-index:80;left:50%;bottom:max(calc(var(--safe-bottom) + 18px),24px);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;background:#020817e8;border:1px solid #74e7ff66;border-radius:15px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;width:min(760px,100vw - 32px);padding:12px 18px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 16px 50px #000b}.mission-subtitle b{color:#092043;white-space:nowrap;background:#ffd14f;border-radius:8px;align-self:start;padding:4px 8px;font-size:11px}.mission-subtitle span{text-shadow:0 2px 5px #000;font-size:clamp(14px,1.5vw,18px);line-height:1.55}.chapter-shell[data-game-paused=true] .mission-subtitle{opacity:.55}@media (width<=520px){.mission-subtitle{bottom:max(calc(var(--safe-bottom) + 10px),14px);grid-template-columns:1fr;padding:10px 13px}.mission-subtitle b{justify-self:start}.mission-subtitle span{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.space-noise{opacity:.18}.finale-astronaut.flying{animation:none!important}.finale-astronaut.success{bottom:35%;left:70%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
