@charset "UTF-8";
.movie-overlay{position:absolute;inset:0;z-index:20;background:#020a12;display:flex;align-items:center;justify-content:center}.movie-overlay video{width:100%;height:100%;object-fit:contain}.movie-heading,.movie-actions{position:absolute;left:0;right:0;padding:20px 18px;color:#fff;text-shadow:0 1px 4px #000;font-size:13px}.movie-heading{top:0;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#020a12bb,transparent)}.movie-actions{bottom:0;background:linear-gradient(transparent,#020a12dd)}.movie-actions>div{display:flex;justify-content:space-between;gap:12px}.movie-actions p{min-height:20px;font-size:13px;line-height:1.6}.movie-overlay button{min-height:44px;padding:10px 14px;border:1px solid #d5bb8570;border-radius:6px;color:#fae3b6;background:#071625bc;font-size:14px}.movie-overlay button:hover{background:#263a49}.movie-heading button{min-width:62px}.movie-overlay:focus-visible{outline:2px solid var(--gold)}
:root{--ink:#081522;--panel:#0c2335;--cyan:#93e7e4;--gold:#f4ce82;--white:#f6ead4;--muted:#879ca8;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--white);background:var(--ink);font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button{touch-action:manipulation}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}[hidden]{display:none!important}button:disabled{cursor:default;opacity:.4}button{color:inherit}a{color:inherit;text-decoration:none}.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 65% 38%,#143b493c,transparent 55%),radial-gradient(ellipse at 12% 90%,#a77f1e0c,transparent 50%)}.shell{min-height:100svh;max-width:1200px;margin:auto;display:grid;grid-template-columns:320px auto;gap:82px;padding:35px 60px;align-items:center;justify-content:center}.story-column{height:min(780px,88svh);display:flex;flex-direction:column}.wordmark{display:flex;align-items:center;gap:12px;font-size:18px;letter-spacing:2px;font-weight:600}.wordmark small{display:block;font-size:10px;color:var(--muted);letter-spacing:3px;margin-top:5px}.brand-symbol{color:var(--gold);font-size:35px;font-weight:400}.story-heading{margin-top:70px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold)}h1{font-size:58px;letter-spacing:7px;line-height:1.2;font-family:"Songti SC","SimSun",serif;margin:19px 0 23px;font-weight:600}h1 span{display:block;font-family:inherit;font-size:23px;letter-spacing:12px;color:var(--gold);margin-top:12px}.story-heading p{font-size:14px;line-height:2.1;color:#9cadb6;letter-spacing:1px}.chapter-label{display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:1px;color:var(--gold);margin-top:32px}.fine-line{width:32px;height:1px;background:#f4ce8255}.chapters{margin:20px 0 0;padding:0;list-style:none}.chapters li{display:flex;align-items:center;gap:17px;padding:16px 0;border-bottom:1px solid #9ac8d312;color:#768b99}.chapters li b{font-size:11px;font-weight:400;color:#738c9b}.chapters li span{font-size:15px;letter-spacing:1px}.chapters li small{display:block;font-size:11px;letter-spacing:0;margin-top:7px;color:#657e8e}.chapters li i{margin-left:auto;font-style:normal;font-size:21px;opacity:.4}.chapters li.active{color:var(--gold)}.chapters li.active i{opacity:1}.chapters li.done i{color:var(--cyan);opacity:1}.desktop-guide{margin-top:auto;padding-top:25px;display:flex;flex-direction:column;gap:10px;font-size:11px;color:#78919f}.desktop-guide span:last-child{color:#536e7e;font-size:11px;margin-top:3px}kbd{font:10px system-ui;display:inline-block;padding:3px 5px;border:1px solid #2e4857;border-bottom-width:2px;border-radius:3px;color:#bfd0d7;margin-right:4px}footer{font-size:10px;letter-spacing:1px;margin-top:26px;color:#526d7d}footer span{padding:0 12px;color:var(--gold)}.game-column{width:min(480px,calc((100svh - 86px) * .5625));position:relative}.game-topline,.game-bottomline{height:20px;display:flex;justify-content:space-between;align-items:flex-start;font-size:9px;letter-spacing:1px;color:#718794}.game-topline i{display:inline-block;height:4px;width:4px;background:var(--gold);border-radius:100%;vertical-align:middle;margin-right:6px}.game-bottomline{margin-top:13px;font-size:9px;letter-spacing:0;color:#536e7e}.game-frame{aspect-ratio:9/16;position:relative;overflow:hidden;background:#071b2e;border:1px solid #7d9cad50;border-radius:9px;box-shadow:0 25px 100px #0009,0 0 0 6px #ffffff03;isolation:isolate;container-type:inline-size}#world{display:block;width:100%;height:100%;touch-action:none;image-rendering:auto;outline:none}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px #020f2955}.title-screen{position:absolute;inset:0;background:linear-gradient(180deg,#03132c55 0%,transparent 42%,transparent 66%,#041124dd 90%);display:flex;flex-direction:column;align-items:center}.title-top{width:100%;display:flex;justify-content:space-between;padding:5% 7%;font-size:10px;letter-spacing:3px;color:#d4dddf}.title-copy{text-align:center;margin-top:4%;width:100%;text-shadow:0 3px 18px #052150}.title-copy .eyebrow{font-size:clamp(9px,2.4cqw,13px);letter-spacing:3px;color:#dbe6ee}.title-copy h2{font-family:"Songti SC","SimSun",serif;font-size:clamp(46px,13.5cqw,70px);letter-spacing:9px;margin:18px 0 12px;line-height:1.2;color:#fff1ce}.title-copy p{font-size:clamp(10px,2.6cqw,14px);letter-spacing:2px;color:#ccdbe9}.start-area{margin-top:auto;margin-bottom:9%;width:74%;display:flex;flex-direction:column;align-items:center;gap:12px}.gold-button{background:linear-gradient(105deg,#ffe3a2,#edc677);color:#43321d;border:1px solid #ffe8b5;box-shadow:0 3px 0 #977944,0 7px 26px #f5cd6833;font-weight:700;letter-spacing:3px;padding:14px 20px;border-radius:3px;width:100%;font-size:16px}.gold-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.gold-button span{float:right;font-size:19px}.start-area small{font-size:10px;letter-spacing:1px;color:#b9c2c7;line-height:1.6}.text-button{background:transparent;border:0;color:var(--gold);font-size:12px;padding:5px 10px;letter-spacing:1px}.hud{position:absolute;inset:0 0 auto;pointer-events:none;padding:5%;background:linear-gradient(#021322dd,transparent)}.hud-upper{display:flex;justify-content:space-between;align-items:center}.robot-id{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;text-shadow:0 2px 4px #000}.robot-id small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px;color:#aed0d8}.tiny-bot{background:#051421;border:3px solid #d3dde0;outline:1px solid #182c3c;border-radius:8px;color:#62eeff;font-size:14px;padding:0 5px;box-shadow:0 0 12px #78eaff33}.hud-actions{display:flex;gap:8px;pointer-events:auto}.hud-actions button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;gap:3px;background:#091e32aa;border:1px solid #739eae66;border-radius:4px;color:#d4dfe4}.hud-actions button span{font-size:8px}.quest{display:flex;align-items:center;gap:10px;background:#072033de;border:1px solid #91cbd655;border-left:2px solid var(--gold);margin-top:14px;padding:10px 12px;border-radius:3px;box-shadow:0 4px 20px #03142133}.quest-diamond{color:var(--gold);font-size:28px}.quest small{display:block;font-size:9px;color:#c2baa1;margin-bottom:5px}.quest strong{font-size:13px;font-weight:500;letter-spacing:1px}.quest-count{margin-left:auto;font-size:10px;color:#a9c1cb}.play-controls{position:absolute;inset:auto 0 0;height:160px;pointer-events:none;background:linear-gradient(transparent,#041a2d99)}.joystick{position:absolute;bottom:37px;left:6%;width:94px;height:94px;border:1px solid #88deed77;border-radius:50%;background:#082b43b0;pointer-events:auto;touch-action:none;box-shadow:inset 0 0 25px #5ae5ed11;display:flex;align-items:center;justify-content:center}.joy-arrows{font-size:80px;line-height:1;color:#94d2dd44}.joystick #joy-knob{position:absolute;width:36px;height:36px;left:28px;top:28px;border:1px solid #bbf3fa88;border-radius:50%;background:#7fdae077;box-shadow:0 0 12px #93d4e244;pointer-events:none}.interact{position:absolute;right:7%;bottom:41px;border:1px solid #9eeafa99;width:78px;height:78px;background:#093148e8;border-radius:50%;box-shadow:0 0 0 4px #03162a44,0 0 23px #80e4eb11;pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.interact>span{font-size:24px;line-height:1;color:var(--cyan)}.interact b{font-size:12px;font-weight:400;letter-spacing:2px}.interact small{position:absolute;right:-3px;bottom:0;border:1px solid #6896a7;background:#0b2637;border-radius:3px;padding:1px 4px;font-size:9px}.interact.ready{border-color:var(--gold);box-shadow:0 0 24px #f4ce8255}.interact.ready>span{color:var(--gold)}.location-tag{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:2px;color:#c0cdd2;text-shadow:0 2px 5px #001}.toast{position:absolute;left:10%;right:10%;top:22%;z-index:8;text-align:center;background:#062538ed;border:1px solid #81d5d688;padding:12px 14px;font-size:12px;line-height:1.7;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s;pointer-events:none;border-radius:4px;box-shadow:0 8px 25px #0004}.toast.visible{opacity:1;transform:none}.modal-backdrop{position:absolute;inset:0;background:#03122099;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:7%;z-index:10}.modal{background:linear-gradient(155deg,#102d40,#0a1c2e);border:1px solid #6c9aa466;border-top:2px solid var(--gold);border-radius:6px;width:100%;max-height:94%;overflow:auto;padding:23px;box-shadow:0 14px 65px #0008;outline:none;scrollbar-width:thin}.modal .eyebrow{font-size:10px;letter-spacing:2px}.modal h2{font-size:23px;font-family:"Songti SC","SimSun",serif;color:var(--gold);letter-spacing:2px;line-height:1.5;margin:12px 0}.modal p{font-size:13px;line-height:1.9;color:#c2d2d9;margin:12px 0 19px}.modal .speaker{color:var(--cyan);font-size:11px;letter-spacing:2px}.modal .dialogue-text{font-size:17px;line-height:1.9;color:#ede7d7;min-height:65px}.modal .gold-button{font-size:14px;letter-spacing:1px;margin-top:14px;padding:12px}.secondary-button{width:100%;background:#193c50;border:1px solid #80b8c155;color:#d1e6e9;border-radius:3px;padding:11px;font-size:13px;margin-top:9px;line-height:1.6}.modal .hint{font-size:11px;line-height:1.8;color:#8ca7b4;margin-bottom:0}.puzzle-status{min-height:35px;font-size:12px;text-align:center;padding:9px 0;color:var(--gold);line-height:1.6}.route-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:16px}.route-cell{aspect-ratio:1;border:1px solid #43667a;background:#122f41;border-radius:3px;font-size:19px;color:#9cbbc4;padding:0;position:relative}.route-cell.blocked{background:repeating-linear-gradient(45deg,#263b49,#263b49 4px,#1d303e 4px,#1d303e 8px);border-color:#344953;color:#526374;cursor:default}.route-cell.path{background:#977835;color:#fff1bc;border-color:var(--gold);box-shadow:0 0 14px #ffcf7133}.route-cell.destination{color:var(--cyan);border-color:#73d2d5}.route-cell.start{color:var(--gold)}.puzzle-toolbar{display:flex;gap:8px}.puzzle-toolbar>*{flex:1}.signal-row{display:flex;gap:16px;margin:26px 0;align-items:center;justify-content:center}.signal{width:64px;border:1px solid #496477;border-radius:12px;background:#061b2a;padding:9px;display:grid;gap:8px}.signal span{width:43px;height:43px;border-radius:50%;background:#183547;border:3px solid #0f2738}.signal .lit.red{background:#f37d6c;box-shadow:0 0 22px #f0706155}.signal .lit.green{background:#80e1af;box-shadow:0 0 22px #80e1af55}.timing-track{height:42px;border:1px solid #64818f;background:#041929;border-radius:4px;position:relative;margin:22px 0;overflow:hidden}.timing-zone{position:absolute;height:100%;background:#63d5c842;left:38%;width:24%;border-inline:2px solid #8debce}.timing-cursor{position:absolute;top:0;bottom:0;width:4px;background:#ffdf96;box-shadow:0 0 12px var(--gold);left:0}.water-tank{height:65px;border:1px solid #51869a;position:relative;overflow:hidden;border-radius:5px;margin-top:22px;background:#041826}.water-level{position:absolute;inset:auto 0 0;background:linear-gradient(90deg,#12698c,#3cbbcb);height:100%;transition:height .5s}.water-tank span{position:absolute;inset:0;display:grid;place-content:center;font-size:17px;color:#ecffff;z-index:1}.progress-dots{display:flex;gap:8px;justify-content:center;margin:12px 0}.progress-dots i{width:10px;height:10px;border:1px solid #69888d;border-radius:50%}.progress-dots i.complete{background:var(--gold);border-color:var(--gold);box-shadow:0 0 8px #f4ce8255}.mini-canvas{width:100%;aspect-ratio:3/4;display:block;border:1px solid #456472;border-radius:4px;background:#071b2c;touch-action:none}.flight-controls{display:flex;gap:10px;margin-top:10px}.flight-controls button{flex:1;background:#173b4d;border:1px solid #74a9b855;border-radius:4px;padding:10px;touch-action:none}.calibration-area{height:210px;position:relative;background:url('assets/painting.png') center 32% / 100% auto;border:1px solid #aa967455;touch-action:none;overflow:hidden;border-radius:4px}.calibration-area:before{content:"";position:absolute;inset:0;background:#082037a8}.target-moon,.aim-moon{position:absolute;width:40px;height:40px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.target-moon{border:2px dashed #f8df9a;left:72%;top:28%;box-shadow:0 0 24px #f4ce8255}.aim-moon{background:#a4eaff77;border:1px solid #ddffff;box-shadow:0 0 22px #92f3ff77;left:26%;top:70%}.aim-moon:after{content:'+';position:absolute;inset:0;text-align:center;line-height:37px;color:white}.calibrate-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.calibrate-buttons button{padding:8px;background:#173b4d;border:1px solid #74a9b855;border-radius:4px}.ending{position:absolute;inset:0;background:linear-gradient(#041831e6 0%,#05203944 42%,transparent 65%,#041525f2 89%);z-index:5;padding:9% 8%;text-align:center;display:flex;flex-direction:column;align-items:center}.ending .eyebrow{font-size:10px}.ending h2{font-family:"SimSun",serif;font-size:clamp(32px,9cqw,48px);letter-spacing:4px;line-height:1.4;color:var(--gold);margin:15px 0}.ending p{font-size:13px;line-height:1.9;color:#e1e3d7}.ending .ending-actions{width:100%;margin-top:auto}.ending .medal{font-size:37px;color:var(--gold);margin-top:13px}.ending small{font-size:10px;color:#b0c1c9;line-height:1.8}.collection{display:flex;gap:7px;justify-content:center;margin:18px 0;color:var(--gold);font-size:11px}.collection span{border:1px solid #d1b87566;background:#092232a6;padding:7px;border-radius:3px}.pause-list{display:grid;gap:7px}.confirm-note{font-size:12px}.screen-reader{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1100px) and (min-height:850px){.game-column{width:450px}.shell{gap:100px}.story-heading{margin-top:80px}}
@media(max-height:800px) and (min-width:761px){.story-heading{margin-top:28px}h1{font-size:48px}.chapter-label{margin-top:17px}.chapters li{padding:12px 0}.story-column{height:88svh}.desktop-guide{padding-top:14px}.shell{padding-block:25px}.game-column{width:calc((100svh - 80px)*.5625)}.story-heading p{margin-bottom:0}footer{margin-top:15px}}
@media(max-width:900px){.shell{gap:35px;padding:25px 30px;grid-template-columns:250px auto}.story-heading h1{font-size:47px;letter-spacing:5px}.game-column{width:min(440px,calc((100svh - 76px)*.5625))}}
@media(max-width:760px){.shell{display:block;padding:0;min-height:100svh}.story-column,.game-topline,.game-bottomline{display:none}.game-column{width:min(100vw,calc(100svh * .5625));margin:auto}.game-frame{width:100%;border:0;border-radius:0;box-shadow:none}.hud{padding-top:max(5%,env(safe-area-inset-top))}.start-area{margin-bottom:10%}.modal{padding:22px}.joystick{width:94px;height:94px}.title-copy{margin-top:6%}}
@media(max-width:760px){.shell{display:flex;align-items:center;justify-content:center}.game-column{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Exploration edition */
.hud-actions button{width:auto;min-width:36px;min-height:36px;padding:5px;font-size:13px}.hud-actions{gap:5px}.modal-backdrop{padding:4%}.modal{padding:20px;max-height:96%}.modal p{font-size:14px;line-height:1.7}.modal h2{font-size:22px;margin:9px 0}.modal .eyebrow{font-size:12px;letter-spacing:1px}.modal .hint,.puzzle-status{font-size:13px}.dialogue-person{display:flex;gap:18px;align-items:center;margin-bottom:18px}.portrait{width:108px;height:108px;flex-shrink:0;background-image:url('assets/portraits.png');background-size:200% 200%;background-color:#071b32;image-rendering:pixelated;border-bottom:2px solid #d5b475}.portrait-0{background-position:0 0}.portrait-1{background-position:100% 0}.portrait-2{background-position:0 100%}.portrait-3{background-position:100% 100%}.voice-emblem{width:90px;text-align:center;font-size:60px;color:var(--gold)}.found-item{display:block;color:var(--gold);margin-top:12px}.scene-list{display:grid;gap:8px}.scene-link{width:100%;text-align:left;padding:13px 12px;border:1px solid #567987;background:#0b2638;font-size:14px;display:flex;justify-content:space-between;gap:10px;border-radius:4px}.scene-link small{white-space:nowrap;color:var(--gold)}.selected{outline:2px solid var(--gold);outline-offset:-2px}.challenge-list small{display:block;color:var(--muted);font-size:12px}.modal h3{font-size:16px;margin-top:22px}.ingredient-list{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.ingredient-list span{border:1px solid #b39460;padding:10px;font-size:15px}.board{display:grid;gap:3px;margin:16px 0;aspect-ratio:1}.tile{display:grid;place-items:center;border:1px solid #426075;background:#112e41;min-width:0;padding:0;border-radius:2px;color:#b1d9db;aspect-ratio:1;font-size:22px}.wall{background:repeating-linear-gradient(45deg,#344958,#344958 4px,#263b4b 4px,#263b4b 8px);border-color:#455764}.snake-board{grid-template-columns:repeat(9,1fr);gap:2px}.snake-board .tile{font-size:16px}.snake-body{background:#83dacc;color:#05272d}.snake-head{background:#f5d183;color:#322819}.trail{background:#725d36}.mode-select{display:flex;gap:8px;margin-top:8px}.mode-select button{flex:1;border:1px solid #57798a;background:#16384c;padding:9px;font-size:13px}.dpad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.dpad button{min-height:44px;background:#1d4255;border:1px solid #7896a4;border-radius:4px;font-size:23px;touch-action:manipulation}.puzzle-result{border-top:1px solid var(--gold);padding-top:15px;margin-top:15px;text-align:center}.puzzle-result>strong{color:var(--gold);font-size:20px}.traffic-board{position:relative;aspect-ratio:1;background-color:#092032;background-image:linear-gradient(#335465 1px,transparent 1px),linear-gradient(90deg,#335465 1px,transparent 1px);background-size:16.6667% 16.6667%;border:1px solid #80929a;margin-top:10px}.vehicle{position:absolute;display:flex;align-items:center;justify-content:center;gap:3px;border:3px solid #092032;border-radius:7px;background:#396272;color:#edf4ed;font-size:15px;padding:0;box-shadow:inset 0 0 0 1px #7ea4ae}.vehicle small{font-size:14px}.vehicle.cargo{background:#d8b96e;color:#273c42}.vehicle.selected{box-shadow:inset 0 0 0 3px #ffdf95;outline:0}.traffic-exit{text-align:right;font-size:14px;color:var(--gold)}.pipe-board{grid-template-columns:repeat(5,1fr);gap:3px}.pipe{font-family:monospace;font-size:42px;line-height:1;min-height:44px}.pipe.wet{background:#146279;color:#c7ffef}.pipe.endpoint{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.board-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--gold)}.box-board{grid-template-columns:repeat(7,1fr)}.target{border-color:#e8c679;color:#f3d289}.crate{background:#9c7945;color:#ffe7a5}.crate.target{background:#42856e}.robot-cell{background:#3d7184;color:#bdf8ff}.circuit-board{grid-template-columns:repeat(4,1fr);gap:7px}.circuit{color:#5c7384;font-size:30px}.circuit.lit{background:#336b6a;color:#ffe09a;box-shadow:inset 0 0 20px #6eb5ad33}.mirror-board{position:relative;aspect-ratio:1;margin-top:14px;background:#081c2e}.mirror-grid{position:absolute;inset:0;margin:0;grid-template-columns:repeat(7,1fr);gap:0}.mirror-grid .tile{background:transparent;border:1px solid #34556b55}.mirror-grid .wall{background:#415767}.mirror-grid .mirror{font-size:28px;font-family:monospace;background:#68b9ca18;color:#b5f5ff;z-index:2}.mirror-board svg{position:absolute;width:100%;height:100%;inset:0;z-index:1;pointer-events:none}.mini-canvas{aspect-ratio:4/5;max-height:350px}.secondary-button{min-height:42px;font-size:14px}.text-button{font-size:14px;min-height:36px}.location-tag{white-space:nowrap;font-size:12px;letter-spacing:0}.quest strong{font-size:14px}.ending .ending-actions{padding-bottom:8px}.story-column{height:auto;min-height:760px}.shell{padding-block:25px}.desktop-guide{margin-top:22px}.story-heading{margin-top:38px}@media(max-height:800px) and (min-width:761px){.story-column{min-height:0}.story-heading{margin-top:20px}.chapters li{padding:9px 0}}@media(max-width:400px){.modal{padding:16px}.modal p{font-size:14px}.modal h2{font-size:21px}.portrait{width:94px;height:94px}.dialogue-person{gap:12px}.modal .dialogue-text{font-size:16px}.pipe{font-size:36px}}
.snake-board{max-width:280px;margin:12px auto}.mini-canvas{max-width:240px;margin-inline:auto;max-height:300px}.modal .puzzle-result p{font-size:14px}.modal:has(#snake-grid) .puzzle-toolbar,.modal:has(#flight-canvas) .puzzle-toolbar{margin-top:0}

.snake-board.collision-warning{outline:2px solid #f6b969;outline-offset:4px}.snake-board.collision-warning .snake-head{background:#ffac6b}

/* Let S18's handoff and S19's table remain fully visible below the story panel. */
.modal-backdrop.story-scene{align-items:flex-start;padding:7% 6%;background:linear-gradient(#03192c44,transparent 45%);backdrop-filter:none}
.story-scene .modal{max-height:42%;padding:18px 20px;background:#092335ed;box-shadow:0 8px 25px #00132266}
.story-scene .modal h2{font-size:22px;margin:6px 0 10px}
.story-scene .dialogue-text{min-height:0;font-size:16px;line-height:1.8}
.story-scene .modal .gold-button{margin-top:12px}
.ending{padding:7% 7% 0;background:linear-gradient(#041831ed 0%,#052039d9 30%,#05203955 44%,transparent 53%)}
.ending h2{margin:10px 0;font-size:clamp(30px,8cqw,42px)}
.ending p{font-size:14px;margin:0 0 12px;line-height:1.8}
.ending .ending-actions{margin-top:0;padding:0}
.ending .gold-button{font-size:14px;letter-spacing:1px;padding:12px 8px}
.ending small{font-size:11px}
.scene-reveal{animation:scene-reveal .55s ease-out}
.portrait-change{background-image:url('assets/change-storyboard.png');background-size:588.125% 1045%;background-position:6.658% 94.709%}
.quiz-card{margin-top:16px;border-top:1px solid #64818f66;padding-top:14px}
.quiz-meta{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:#b6cbd5}.quiz-meta strong{color:var(--gold);white-space:nowrap}
.quiz-card h3{font-size:18px;line-height:1.7;color:#f3e9d2;margin:14px 0;outline:none}
.quiz-choices{display:grid;gap:8px}.quiz-option{display:flex;align-items:center;gap:10px;min-height:48px;width:100%;padding:10px 12px;text-align:left;border:1px solid #53758a;border-radius:4px;background:#15354b;font-size:15px;line-height:1.6}
.quiz-option>span{flex:0 0 24px;color:var(--gold)}.quiz-option b{font-weight:400}.quiz-option small{margin-left:auto;white-space:nowrap;font-size:12px}.quiz-option:disabled{opacity:1;cursor:default}.quiz-option.correct{background:#174c46;border-color:#7adfc1}.quiz-option.incorrect{background:#52343c;border-color:#e39a89}
.quiz-explanation{margin-top:14px;padding:12px;border-left:2px solid var(--gold);background:#051c2bbb;font-size:14px;line-height:1.7}.quiz-explanation>strong{color:var(--gold)}.quiz-explanation p{margin:6px 0 8px}.quiz-explanation a{color:#9be4e4;font-size:12px;line-height:1.8;text-decoration:underline}
.story-scene .dialogue-person{gap:12px;margin-bottom:10px}
.story-scene .portrait{width:52px;height:52px}
.story-scene .dialogue-person h2{margin:3px 0 0}
@keyframes scene-reveal{from{filter:brightness(.5)}to{filter:brightness(1)}}

/* Keep the S16 family and moon visible; place their words below the embrace. */
.modal-backdrop.painting-scene{align-items:flex-end;padding:3% 5%;background:linear-gradient(transparent 65%,#03192c55)}
.painting-scene .modal{max-height:30%;padding:12px 16px}
.painting-scene .dialogue-person{display:none}
.painting-scene .dialogue-text{font-size:16px;line-height:1.65}
.painting-scene .modal .gold-button{margin-top:8px;padding:10px}

.modal-sound{display:block;margin:0 0 10px auto;min-height:36px;padding:5px 10px;border:1px solid #64838a66;border-radius:5px;background:#102d3d;color:#b8d0d3;font-size:12px}

.movie-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;background:#020a12}.movie-heading,.movie-actions{z-index:1}
