:root{color-scheme:dark;--paper:#e3e1cf;--muted:#9ca89e;--dim:#677b75;--gold:#cbb78a;--line:rgba(196,211,191,.17);--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;--serif:'Noto Serif CJK SC','Songti SC','STSong',serif;--mono:'SFMono-Regular',Consolas,monospace}*{box-sizing:border-box}body{margin:0;background:#0b1113;color:var(--paper);font:14px var(--sans);overflow:hidden;overscroll-behavior:none}button,input,select{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.32;cursor:default}button:focus-visible,a:focus-visible{outline:1px solid var(--gold);outline-offset:5px}button:hover:not(:disabled){color:#fff1c4}button,a{transition:color .22s,background .22s,opacity .22s,transform .22s}button:active:not(:disabled){transform:translateY(1px)}a{color:var(--gold);text-decoration-thickness:1px;text-underline-offset:4px;line-height:1.8}[hidden]{display:none!important}small{font-size:11px}b{font-weight:500}.muted,.fine{color:var(--muted)}.fine{font-size:12px;line-height:1.9}.eyebrow{font:10px var(--sans);letter-spacing:3px;color:var(--gold)}#scene{position:fixed;inset:0;width:100%;height:100%;touch-action:none}.icon-button{width:38px;height:38px;border:1px solid var(--line);font-size:19px;display:grid;place-items:center;background:rgba(10,21,23,.45);border-radius:2px}.outline{border:1px solid var(--line);padding:10px 14px;font:11px var(--mono);background:rgba(10,20,23,.6)}.primary{display:flex;align-items:center;justify-content:space-between;padding:16px 23px;background:#c3bc9f;color:#182724!important;font-size:13px;letter-spacing:1px;min-height:50px}.primary:hover{background:#e3dcc0}.primary span{font:20px var(--sans)}#hud{position:fixed;inset:0;pointer-events:none}#hud button{pointer-events:auto}.hud-top{position:absolute;top:25px;left:28px;right:28px;display:flex;gap:16px;align-items:center}.chapter-meta{display:grid;gap:7px}.chapter-meta small{color:#899f94;font:9px var(--mono);letter-spacing:1.5px}.chapter-meta b{font:15px var(--serif);letter-spacing:1px}.objective{display:grid;gap:7px;margin-left:30px;font-size:12px;text-shadow:0 1px 8px #081112;max-width:410px}.objective small{font-size:9px;letter-spacing:2px;color:var(--gold)}#map-button{margin-left:auto}.instruments{position:absolute;top:108px;right:33px;display:flex;gap:22px;background:linear-gradient(90deg,transparent,rgba(8,16,17,.5));padding:12px 0 17px 16px}.instruments>div,.instruments>button{display:flex;flex-direction:column;position:relative;align-items:flex-start;min-width:63px;gap:8px}.instruments span{font-size:9px;letter-spacing:1.5px;color:#9cae9e}.instruments b{font:24px var(--mono);letter-spacing:-1px}.instruments small{font:10px var(--mono);margin-left:4px;color:#a5b8a7}.instruments .elapsed b{font-size:18px;line-height:26px;letter-spacing:0}.instruments #gas-bar{height:2px;background:var(--gold);width:100%;position:absolute;bottom:-10px;left:0}.instruments .danger{color:#da9a84}.instruments #gauge-button{padding:0}.instruments #gauge-button:hover{color:var(--paper)}#missing{position:absolute;top:101px;left:32px;display:flex;gap:9px;align-items:center;font-size:11px;letter-spacing:1px;background:linear-gradient(90deg,rgba(77,35,30,.3),transparent);padding:10px 18px 10px 0}#missing b{font:19px var(--mono);color:#d8b9a4;margin-left:8px}#missing small{font-size:10px;color:#917f71;margin-left:10px}.red-dot{height:5px;width:5px;border-radius:100%;background:#c38669;box-shadow:0 0 10px #9f6252}#chapter-mark{position:absolute;top:91px;left:33px;display:flex;gap:12px;align-items:center;font:10px var(--serif);letter-spacing:1.5px;color:#94a79c}#chapter-mark i{width:24px;height:1px;background:#7b8f82}body.searching #chapter-mark{top:155px}#lesson{position:absolute;left:33px;top:144px;max-width:272px;padding:15px 18px 17px;border-left:1px solid var(--gold);background:linear-gradient(90deg,rgba(12,25,27,.88),rgba(12,25,27,.3));}.lesson-number{font:9px var(--mono);letter-spacing:2px;color:var(--gold)}#lesson h3{font:18px var(--serif);margin:13px 0 9px}#lesson p{font-size:11px;line-height:1.9;margin:0;color:#b2beaf}#stress-box{position:absolute;right:33px;top:214px;width:228px;padding:12px 0}#stress-box>div{display:flex;justify-content:space-between;font-size:10px;color:#c4a28a}#stress-box>i{display:block;height:2px;background:#33433c;margin:10px 0}#stress-box>i>i{display:block;background:#ba9476;height:2px}#stress-box small{font-size:10px;color:#9aab9e}.hud-bottom{position:absolute;bottom:26px;left:30px;right:30px;display:flex;gap:22px;align-items:center}.party{display:flex;gap:11px;align-items:center;min-width:265px}.avatar{width:37px;height:42px;background:linear-gradient(145deg,#354138,#1a2725);border:1px solid #6a7663;display:grid;place-items:center;font:17px var(--serif)}.party div{display:flex;flex-direction:column;gap:6px}.party b{font:13px var(--serif)}.party small{font-size:10px;color:#a3b19f}.keys-help{margin:auto;font-size:10px;color:#809387;word-spacing:6px}kbd{display:inline-block;border:1px solid #66796b;min-width:20px;padding:3px 5px;border-radius:2px;font:10px var(--mono);color:#b0bca7}#checkpoint-text{font-size:9px;color:#90a28b;max-width:82px}.hud-actions{display:flex;gap:8px;margin-left:auto}.hud-actions button{border:1px solid var(--line);background:rgba(12,25,26,.8);font:11px var(--mono);min-width:34px;min-height:34px;padding:8px}.hud-actions button:nth-child(2){font-size:18px}.hud-actions button:last-child{font-size:22px}.hud-actions button:first-child{min-width:70px}#interaction{position:absolute;left:50%;bottom:157px;transform:translateX(-50%);text-align:center;pointer-events:auto;max-width:85%}#interaction>button{display:flex;align-items:center;gap:13px;font:14px var(--serif);background:rgba(13,27,28,.86);padding:10px 19px;border:1px solid rgba(203,183,138,.32);white-space:nowrap;box-shadow:0 5px 25px rgba(0,0,0,.12)}.key-ring{width:32px;height:32px;position:relative;display:grid;place-items:center}.key-ring b{font:13px var(--mono);background:#162729;border-radius:100%;height:26px;width:26px;display:grid;place-items:center;z-index:1}.key-ring>i{position:absolute;inset:0;border:1px solid #8f9d83;border-radius:100%;background:conic-gradient(#e2c48a 0%,transparent 0%)}#interaction>small{display:block;font-size:9px;color:#a4ad97;margin-top:7px}#dialogue{position:absolute;left:50%;bottom:81px;transform:translateX(-50%);width:min(650px,75%);text-align:center;padding:12px 24px;background:linear-gradient(90deg,transparent,rgba(4,15,17,.77) 16%,rgba(4,15,17,.77) 84%,transparent)}#dialogue>span{font-size:9px;letter-spacing:2px;color:#c4af81}#dialogue p{font:14px/1.7 var(--serif);margin:7px 0 2px;text-shadow:0 2px 5px #061215}#meme{position:absolute;left:50%;top:25%;transform:translateX(-50%);color:#b2bca9;font:12px var(--serif);background:rgba(15,28,29,.55);padding:13px 21px}#toast{position:fixed;z-index:50;left:50%;top:80px;transform:translateX(-50%);background:#233833eF;padding:12px 22px;max-width:min(520px,88vw);font-size:12px;line-height:1.7;border-left:2px solid var(--gold);box-shadow:0 4px 30px #08111366}#intro{position:fixed;z-index:60;inset:0;background:rgba(4,12,15,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}#intro>span{font:16px var(--mono);letter-spacing:10px;color:#a59d84}#intro h2{font:38px var(--serif);letter-spacing:8px;margin:30px 10px 20px}#intro p{font:12px var(--serif);letter-spacing:3px;color:#9bada1}#skip-intro{margin-top:56px;border-bottom:1px solid #6b7e70;padding:12px 25px;font-size:12px}#skip-intro span{margin-left:40px}.row-buttons{display:flex;gap:13px;margin:17px 0}.row-buttons>button{flex:1}.row-buttons .primary{margin:0!important}.row-buttons .outline{font-family:var(--sans)}.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 20px}.chip{padding:10px 16px;border:1px solid var(--line);font-size:12px}.chip.active{border-color:var(--gold);color:var(--gold);background:#cab58b0b}.map-canvas{width:100%;height:auto;display:block;border:1px solid var(--line);margin:15px 0 10px}.map-caption{display:flex;justify-content:space-between;gap:10px;color:#8ca296;font-size:10px}.reference{border-top:1px solid var(--line);padding:20px 0}.reference:first-of-type{border-top:0}.reference .badge{font:9px var(--mono);letter-spacing:2px;color:var(--gold)}.reference h3{margin:9px 0!important}.reference p{font-size:12px!important;margin:0 0 10px}.reference a{font-size:11px}.setting{border-bottom:1px solid var(--line);padding:18px 0}.setting label{display:flex;justify-content:space-between;align-items:center;font-size:13px}.setting input[type=range]{width:100%;accent-color:var(--gold);margin-top:20px}.setting input[type=checkbox]{accent-color:var(--gold);width:17px;height:17px}.setting .fine{margin:8px 0 0}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding:23px 0;margin:20px 0;gap:10px}.metric-row strong{display:block;font:29px var(--mono);color:var(--gold)}.metric-row small{display:block;color:#8eaa9b;margin-top:12px;font-size:10px}.timeline{margin:20px 0;max-height:210px;overflow:auto;border-left:1px solid var(--line);padding-left:20px}.timeline p{font-size:11px!important;display:flex;gap:15px;margin:9px 0}.timeline time{font:10px var(--mono);color:#7f9b8c;white-space:nowrap;margin-top:4px}.photo-card{width:100%;max-height:260px;object-fit:cover;margin-bottom:15px;opacity:.9;display:block}.kit-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:23px 0}.kit-actions button{border:1px solid var(--line);text-align:left;padding:18px;font:15px var(--serif)}.kit-actions small{font:10px/1.8 var(--sans);display:block;color:#8ba094;margin-top:10px}.gauge-display{height:210px;display:flex;justify-content:center;align-items:center;gap:30px}.gauge-dial{width:170px;height:170px;border-radius:50%;border:5px solid #6c7a6b;box-shadow:0 0 0 2px #303e35,inset 0 0 20px #071418;background:radial-gradient(#d4ceaf,#a8af96);display:flex;justify-content:center;align-items:center;position:relative;color:#263930}.gauge-dial::before{content:'';position:absolute;inset:9px;border-radius:50%;border:1px dashed #657361}.gauge-dial b{font:43px var(--mono)}.gauge-dial small{position:absolute;bottom:24px;font:9px var(--sans);letter-spacing:2px}.gauge-aside{max-width:190px}.gauge-aside b{font:19px var(--serif);color:var(--gold)}#disclaimer{position:fixed;z-index:100;inset:0;background:radial-gradient(ellipse at 70% 70%,#1b3334,#070d10 68%);display:flex;align-items:center;justify-content:center;padding:30px}#disclaimer>section{max-width:510px}.disclaimer-mark{font:24px var(--serif);letter-spacing:5px;margin-bottom:42px;color:#c7ccbc}.disclaimer-mark>span{font:9px var(--sans);letter-spacing:4px;margin-left:16px;color:#799085}#disclaimer h2{font:35px/1.65 var(--serif);letter-spacing:3px;margin:16px 0 25px}#disclaimer p:not(.eyebrow){font-size:12px;line-height:2.05;color:#aab8ac}#disclaimer p.fine{font-size:10px;color:#708a7d;margin:22px 0}#disclaimer .primary{width:100%;margin-top:25px}#disclaimer small{display:block;margin-top:17px;font-size:9px;text-align:center;letter-spacing:1px}#mobile{display:none}.reduced *{transition:none!important}#fatal{position:fixed;z-index:200;inset:0;background:#102125;padding:15%;font-family:var(--serif)}#fatal button{border:1px solid var(--gold);padding:15px 30px;margin-top:20px}
@media(max-width:1050px){.keys-help{display:none}.objective{max-width:300px;margin-left:15px}}
@media(pointer:coarse),(max-width:700px){#mobile{display:block;position:absolute;bottom:88px;left:23px;right:23px;pointer-events:none}.pad{pointer-events:auto;width:100px;height:100px;border:1px solid #93ac873d;border-radius:50%;background:rgba(28,51,47,.33);touch-action:none;display:flex;align-items:center;justify-content:center}.pad:before,.pad:after{content:'';position:absolute;background:#adbd991f;width:60px;height:1px}.pad:after{transform:rotate(90deg)}#pad-stick{width:39px;height:39px;border:1px solid #afbc9680;border-radius:50%;background:#91a17922;position:relative;z-index:1}.touch-actions{position:absolute;right:0;bottom:0;display:grid;grid-template-columns:repeat(2,47px);gap:8px;pointer-events:auto}.touch-actions button{border:1px solid #8ca0835c;width:47px;height:44px;background:rgba(23,43,38,.75);font-size:11px;touch-action:none;border-radius:3px}.touch-actions .touch-e{border-color:#d0b57d80;color:#d0b57d}.hud-actions{gap:5px}.hud-actions button{min-width:32px}.hud-actions button:first-child{min-width:55px}.keys-help{display:none}}
@media(max-width:700px){.hud-top{top:18px;left:16px;right:16px;gap:10px}.hud-top .icon-button{width:30px;height:33px;font-size:15px}.chapter-meta b{font-size:12px}.chapter-meta small{font-size:8px}.objective{position:absolute;top:62px;left:0;margin:0;max-width:74%;font-size:11px;gap:6px;line-height:1.6}.objective small{font-size:8px}#map-button{padding:9px;font-size:10px}#map-button span{font-size:9px}.instruments{top:141px;right:15px;left:15px;justify-content:flex-end;gap:23px;padding:8px 0}.instruments b{font-size:20px}.instruments>div,.instruments>button{min-width:55px}.instruments .elapsed b{font-size:17px;line-height:21px}.instruments span{font-size:8px}.instruments small{font-size:8px}#chapter-mark{top:130px;left:18px;font-size:9px}#missing{top:211px;left:18px;font-size:9px;padding:7px 0;gap:7px}#missing b{font-size:16px}#missing small{display:none}body.searching #chapter-mark{top:130px}#lesson{top:213px;left:18px;max-width:235px;padding:13px 14px}#lesson h3{font-size:16px;margin:10px 0 7px}#lesson p{font-size:10px}#stress-box{top:250px;right:16px;width:188px}#stress-box small,#stress-box>div{font-size:9px}.hud-bottom{left:17px;right:17px;bottom:18px;gap:6px}.party{min-width:0}.party .avatar{width:28px;height:34px;font-size:14px}.party b{font-size:11px}.party small{font-size:8px;max-width:165px}.party>div{gap:4px}#checkpoint-text{display:none}#dialogue{bottom:205px;width:95%;padding:8px 12px}#dialogue p{font-size:12px;line-height:1.8}#dialogue>span{font-size:8px}#interaction{bottom:310px;max-width:94%}#interaction>button{font-size:12px;padding:7px 12px;gap:8px}.key-ring{width:28px;height:28px}.key-ring b{width:22px;height:22px;font-size:11px}#interaction>small{font-size:8px}#meme{top:38%;width:80%;font-size:11px;text-align:center}.chip{padding:10px;font-size:11px}.gauge-display{gap:15px}.gauge-dial{width:145px;height:145px;flex-shrink:0}.gauge-dial b{font-size:34px}.gauge-aside{max-width:130px}.gauge-aside b{font-size:15px}.gauge-aside p{font-size:10px!important}.row-buttons{gap:8px}.row-buttons>button{padding:14px 12px;font-size:11px}.metric-row strong{font-size:22px}.kit-actions{gap:8px}.kit-actions button{padding:13px;font-size:13px}.kit-actions small{font-size:9px}#disclaimer{padding:25px}#disclaimer h2{font-size:28px}.disclaimer-mark{margin-bottom:32px}#disclaimer p:not(.eyebrow){font-size:11px}#disclaimer p.fine{font-size:9px}#intro h2{font-size:27px;letter-spacing:4px}#toast{top:65px;font-size:11px}}
@media(max-height:500px) and (min-width:650px){.hud-top{top:13px;left:18px;right:18px}.chapter-meta b{font-size:12px}.chapter-meta small{font-size:8px}.objective{font-size:10px;max-width:270px}.instruments{top:70px;right:21px;gap:16px}.instruments b{font-size:20px}#chapter-mark{top:67px;left:22px}#lesson{top:96px;left:22px;max-width:220px;padding:10px 14px}#lesson h3{font-size:15px;margin:7px 0}#lesson p{font-size:10px}#missing{top:95px;left:22px}#missing small{display:none}body.searching #chapter-mark{top:67px}#stress-box{top:149px;right:22px;width:195px}.hud-bottom{bottom:12px;left:21px;right:21px}.avatar{width:29px;height:32px}#dialogue{bottom:60px;width:58%;padding:7px 16px}#dialogue p{font-size:11px;margin:4px 0}#dialogue>span{font-size:8px}#interaction{bottom:123px}#interaction>button{font-size:12px;padding:5px 13px}#mobile{bottom:70px;left:21px;right:21px}.pad{width:80px;height:80px}#pad-stick{width:31px;height:31px}#disclaimer>section{max-width:650px}#disclaimer h2{font-size:23px;line-height:1.4;margin:10px 0}.disclaimer-mark{font-size:16px;margin:0}.disclaimer-mark>span{font-size:8px}#disclaimer .eyebrow{margin:14px 0 0}#disclaimer p:not(.eyebrow){font-size:10px;line-height:1.65;margin:8px 0}#disclaimer p.fine{font-size:9px;margin:10px 0}#disclaimer .primary{margin-top:12px;min-height:40px;padding:10px 20px}#disclaimer small{margin-top:9px}#intro h2{font-size:29px;margin:18px 0}#skip-intro{margin-top:16px}}
/* v03: quieter typography, readable story framing, responsive controls. */
#scene{outline:none}button{min-height:36px}#cinema,#shutter{position:fixed;inset:0;pointer-events:none;z-index:3;background:#071014;opacity:0}#shutter{background:#cbd4bf;z-index:8;transition:opacity .5s ease}#hud{z-index:5}#intro{z-index:20}#disclaimer{z-index:100}#toast{z-index:60;max-width:min(600px,90vw);white-space:normal;line-height:1.7;text-align:center}
#intro-text{font:15px/2.15 var(--serif);white-space:pre-line;max-width:540px;margin:25px auto;color:#adbdb0}#intro small{display:block;margin:23px 0 0;font:10px var(--sans);color:#7f978c;letter-spacing:2px}#intro-role{font-size:12px;color:#8fa398}
#dialogue{bottom:86px;min-height:63px;max-width:740px;width:min(760px,76%)}#dialogue p{white-space:pre-line;font-size:15px;line-height:1.85;letter-spacing:.3px}#dialogue>span{letter-spacing:1.4px;color:#d0c19a}#dialogue[data-channel="thought"]>span{color:#a5bdb0}#dialogue[data-channel="gesture"]>span{color:#b2c9af}#sound-caption{position:absolute;bottom:181px;left:50%;transform:translateX(-50%);max-width:80%;font:10px/1.7 var(--sans);color:#a8b8aa;letter-spacing:1px;text-align:center;padding:4px 12px;background:rgba(5,16,18,.55);border-radius:3px}#sound-caption:before{content:'≈';margin-right:9px;color:#c6b894}
#interaction{bottom:227px}#zone-reveal{position:absolute;right:5%;top:34%;text-align:right;pointer-events:none;animation:zoneIn .65s ease-out}#zone-reveal small{font:9px var(--mono);letter-spacing:2px;color:#a6b7aa}#zone-reveal h2{font:27px var(--serif);letter-spacing:5px;font-weight:400;color:#c1ccba;margin:13px 0;opacity:.80}#zone-reveal:after{content:'';display:block;width:60px;height:1px;background:rgba(198,195,153,.35);margin-left:auto}
#condition{position:absolute;right:33px;top:196px;min-width:220px;background:rgba(11,24,27,.45);padding:10px 13px;border-left:1px solid #60796e;display:grid;gap:7px}#condition span{font-size:9px;color:#8fa898;letter-spacing:1px}#condition b{font:12px var(--sans);color:#c6c9ac}#condition>i{display:block;height:2px;background:#233b37}#condition-bar{display:block;height:2px;width:0;background:#aeab85}body.technical #stress-box{top:290px}
#stress-box{top:201px}#stress-box>div{gap:18px}#chapter-mark{max-width:240px}#missing{top:108px;font-size:10px}#missing b{font-size:16px}.hud-actions button{font-size:10px;min-height:36px}.hud-actions button:nth-child(2){font-size:10px}.hud-actions button:last-child{font-size:20px}#journal-button{min-width:55px}.photo-card{object-fit:contain;background:#0c1a1b;max-height:330px}#panel-body .photo-frame{background:#c5c4ad;padding:9px 9px 23px;margin:20px 0;color:#465850;transform:rotate(-.6deg)}.photo-frame img{width:100%;display:block;max-height:300px;object-fit:cover}.photo-frame small{display:block;font:11px var(--serif);padding:13px 10px 0}.notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.note-card{border:1px solid #5b75654d;background:linear-gradient(135deg,#203331,#17272a);padding:19px}.note-card h3{margin-top:0;font-size:17px}.note-card p{white-space:pre-line;font-size:12px!important;line-height:1.9!important}.note-card small{color:#a5ae93;font-size:9px;letter-spacing:1px}.coda{white-space:pre-line}.row-buttons{flex-wrap:wrap}.audio-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.setting input[type=range]{margin-top:13px}.setting output{font:11px var(--mono);color:#adbd9f}.technical-note{padding:13px 17px;border-left:1px solid #89967a;background:#20382c44;font-size:11px!important}.progress-rule{height:3px;background:#35483c;margin:16px 0}.progress-rule i{display:block;background:#c4b58c;height:3px}.file-input{position:absolute;left:-9999px}.endphase .hud-top>div,.endphase #map-button,.endphase .instruments,.endphase .hud-bottom,.endphase #mobile,.endphase #chapter-mark,.endphase #condition,.endphase #stress-box,.endphase #missing,.endphase #zone-reveal{opacity:0;pointer-events:none}.endphase #interaction{display:none!important}.endphase #dialogue{bottom:15%}.endphase #sound-caption{bottom:30%}.clean .hud-top>*:not(#pause),.clean .instruments,.clean #condition,.clean #chapter-mark,.clean .hud-bottom,.clean #stress-box,.clean #zone-reveal,.clean #sound-caption{opacity:0;pointer-events:none}.clean #pause{opacity:.25}.clean #pause:hover{opacity:1}
#disclaimer strong{font-weight:500;color:#d0d4bf}#disclaimer{overflow:auto}#disclaimer>section{padding:12px 0}#disclaimer .fine{color:#8eaa9c!important}.setting p{font-size:11px!important}#panel-body a{word-break:break-word}.timeline{max-height:280px}
@keyframes zoneIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.reduced #zone-reveal{animation:none}.reduced #shutter{display:none}.reduced *{scroll-behavior:auto!important}
@media(max-width:700px){#intro-text{font-size:13px;padding:0 28px;margin-top:18px}.instruments{top:140px;gap:22px}.instruments>div,.instruments>button{min-width:52px}.hud-top{top:max(17px,env(safe-area-inset-top))}#condition{top:217px;right:15px;min-width:190px;max-width:240px}body.technical #stress-box{top:307px}#stress-box{top:254px;right:16px}#missing{top:215px;left:18px;max-width:180px;flex-wrap:wrap}#zone-reveal{top:28%;right:8%}#zone-reveal h2{font-size:22px}#zone-reveal small{font-size:8px}#dialogue{bottom:218px;width:95%;padding:8px 15px;min-height:60px}#dialogue p{font-size:12px;line-height:1.9}#sound-caption{bottom:197px;max-width:85%;font-size:9px}#interaction{bottom:312px;max-width:94%}#interaction>button{white-space:normal;max-width:100%;line-height:1.6;min-height:45px}#mobile{bottom:max(78px,calc(env(safe-area-inset-bottom) + 62px))}.hud-bottom{bottom:max(17px,env(safe-area-inset-bottom))}.hud-actions #journal-button{display:none}.hud-actions button{min-width:33px;min-height:38px;padding:7px}.hud-actions button:nth-child(2){font-size:10px}.notes-grid,.audio-grid{grid-template-columns:1fr}.note-card{padding:15px}#panel-body .photo-frame{padding:6px 6px 17px}.endphase #dialogue{bottom:15%}.endphase #sound-caption{bottom:30%}#lesson{max-width:235px}.instruments span{font-size:8px;letter-spacing:1px}}
@media(max-height:500px) and (min-width:650px){#intro-text{font-size:11px;line-height:1.9;margin:9px auto}#intro-role{margin:0}#intro small{margin-top:10px;font-size:8px}#intro h2{margin:13px 0}#zone-reveal{top:40%}#zone-reveal h2{font-size:19px}#condition{top:112px;right:20px;min-width:200px}body.technical #stress-box{top:192px}#stress-box{top:128px}#dialogue{bottom:59px;width:54%;min-height:43px}#dialogue p{font-size:11px;line-height:1.7}#sound-caption{bottom:160px;font-size:8px}#interaction{bottom:195px}#interaction>button{font-size:10px;min-height:34px}#zone-reveal{display:none}#missing{top:100px}.audio-grid{grid-template-columns:1fr 1fr}}
/* v04: task-led HUD. Keeps the field of view open, including landscape phones. */
#hud .objective{display:none}
#quick-fullscreen{margin-left:auto;min-width:40px;min-height:40px;font-size:20px}
#hud .instruments{left:28px;right:auto;top:105px;gap:24px;padding:12px 16px 22px;background:linear-gradient(90deg,rgba(7,20,22,.88),rgba(7,20,22,.2));border-left:1px solid #b0b99440}
#hud .instruments .clarity-instrument{min-width:76px}
#clarity-track{position:absolute;left:0;bottom:-10px;width:60px;height:2px;background:#41584e}
#clarity-bar{display:block;height:100%;background:#b5c8a0;width:100%}
#hud .instruments #mind-state{position:absolute;top:65px;white-space:nowrap;font-size:9px;margin:0}
#mission-panel{position:absolute;top:89px;right:28px;width:248px;max-height:calc(100dvh - 200px);overflow:auto;padding:14px 16px 10px;background:linear-gradient(150deg,rgba(12,28,30,.95),rgba(10,22,25,.84));border:1px solid #a5bc982e;pointer-events:auto;scrollbar-width:thin}
#mission-panel header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:1px;color:#abbca8}
#mission-panel header b{font:18px var(--mono);color:#d3c69c;margin-left:6px}
#mission-panel .outline{padding:7px 9px;min-height:32px;font-size:10px}
#sketch-frame{margin-top:11px;position:relative;border:1px solid #8a9e8030;background:#101f22;padding-bottom:18px;overflow:hidden}
#mini-map{display:block;width:100%;height:auto;aspect-ratio:440/190}
#sketch-state{position:absolute;bottom:5px;left:7px;right:7px;text-align:center;font-size:8px;color:#97b19e;letter-spacing:.5px}
#sketch-frame.stale{border-color:#bd956544}#sketch-frame.stale #sketch-state{color:#d0ad80}#sketch-frame.stale canvas{opacity:.48}
#map-blocked{height:94px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#9fae95;font-size:11px}
#map-blocked b{font:28px var(--serif);color:#c1ae89}
.exploration-track{height:2px;background:#3c5343;margin-top:10px}.exploration-track i{display:block;height:100%;background:#caba8b;transition:width .8s}
#exploration-count{display:block;font:8px var(--mono);text-align:right;margin-top:6px;color:#8ba292}
.mission-current{border-top:1px solid #9aae882d;padding-top:14px;margin-top:10px}
#mission-phase{font:9px var(--mono);letter-spacing:2px;color:#c8b787}
#mission-title{font:17px/1.5 var(--serif);margin:9px 0;color:#e0dfc7;letter-spacing:.6px}
#mission-hint{font:11px/1.85 var(--sans);margin:0 0 8px;color:#b1c1ad}
#mission-next{font-size:9px;line-height:1.6;color:#879f8d;display:block}
#mission-steps{list-style:none;padding:8px 0 0;margin:12px 0 0;border-top:1px solid #9aae8824}
#mission-steps li{display:flex;gap:12px;padding:5px 0;font:10px var(--sans);color:#849389}
#mission-steps li span{font:9px var(--mono);color:#5e7b6b;min-width:18px}
#mission-steps li.current{color:#e0d4ab}#mission-steps li.current span{color:#e0d4ab}#mission-steps li.done{color:#a6b69d}#mission-steps li.done span{color:#b3c9a6}
#mission-panel.alert{border-color:#ba987f55}#mission-panel.alert #mission-phase{color:#d0a285}
#hud #chapter-mark{top:78px;left:30px}
#hud #lesson{top:216px;left:30px;max-width:280px;background:linear-gradient(90deg,#10282eea,#10282e33)}
#hud #lesson p{font-size:12px;line-height:1.9}
#hud #stress-box{top:235px;right:auto;left:30px;width:248px}
body.learning #hud #stress-box{top:385px}
#situational{position:absolute;left:30px;top:187px;display:flex;gap:11px;font:10px var(--sans);letter-spacing:.5px;color:#aebe9d}
#situational i{font-style:normal;color:#657e69}
#hud #condition{left:30px;right:auto;top:335px;width:235px}
#hud #zone-reveal{top:24%}
#hud #interaction{bottom:148px;max-width:min(610px,60%)}
#hud #dialogue{width:min(620px,63%);left:47%;bottom:83px}
#hud #dialogue p{font-size:14px}
#hud .keys-help{font-size:9px}
.map-summary{display:flex;align-items:center;gap:25px;flex-wrap:wrap;font-size:12px;color:#a7bba5;margin:16px 0}
.map-summary strong{font:26px var(--mono);color:#d9c99b}
.map-unreadable{height:225px;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;background:repeating-linear-gradient(24deg,#142829,#142829 2px,#122426 2px,#122426 5px);border:1px solid #7f977348;color:#aabb9f}
.map-unreadable span{font:46px var(--serif);color:#c5b994}.map-unreadable small{font-size:11px}
.survey-page{border:1px solid #8a9c735b;background:linear-gradient(120deg,#71856b22,#57675322);padding:20px;color:#c8c4a0}
.survey-page>small{font:10px/1.8 var(--mono);display:block;color:#94a78d}.survey-page svg{width:100%;height:100px;display:block}.survey-page p{font:16px var(--serif)!important;color:#d9d2ac!important}
.choice-reserve{display:flex;gap:30px;color:#9aaf9a;font-size:12px}.choice-reserve b{font:20px var(--mono);margin-left:10px;color:#e0cea4}
#rotate-device{position:fixed;z-index:95;inset:0;background:radial-gradient(ellipse at 70% 30%,#193737,#081113 75%);display:flex;align-items:center;justify-content:center;padding:25px;overflow:auto}
#rotate-device section{width:min(460px,100%);text-align:center}.rotate-icon{font:46px var(--sans);letter-spacing:15px;color:#b6c6a6}
#rotate-device h2{font:30px/1.6 var(--serif);font-weight:400;letter-spacing:3px;margin:22px 0}
#rotate-device p:not(.eyebrow){font:13px/1.9 var(--sans);color:#a6bda6}#rotate-device button{width:100%;margin-top:15px;min-height:46px}#rotate-device small{display:block;margin-top:20px;font:10px/1.8 var(--sans);color:#869d8a}
.touch-device #hud .keys-help{display:none}
@media (max-width:1100px){#mission-panel{width:225px;right:18px}#mission-title{font-size:15px}#hud .instruments{gap:18px}#hud #lesson{max-width:240px}#hud #zone-reveal{display:none}}
@media (pointer:coarse){#mobile{display:block}.touch-actions{grid-template-columns:repeat(3,48px)}.touch-actions button{width:48px;height:44px;min-height:44px}.touch-actions button:active,.touch-actions button.held{background:#8f97774a}#mobile{bottom:72px}#hud .hud-actions button{min-height:40px}#pad{width:96px;height:96px}#hud #interaction .key-ring b{font-size:10px}}
@media(max-height:540px) and (min-width:650px){
 #hud .hud-top{top:12px;left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right))}
 #quick-fullscreen{min-height:33px;min-width:33px;padding:4px;font-size:18px}
 #hud .chapter-meta b{font-size:13px}#hud #chapter-mark{top:56px;left:19px;font-size:9px}
 #hud .instruments{top:77px;left:18px;padding:8px 8px 14px;gap:18px;background:linear-gradient(90deg,#0c2124bd,#0c21241a)}
 #hud .instruments b{font-size:19px}#hud .instruments span{font-size:8px}#hud .instruments>div,#hud .instruments>button{min-width:54px;gap:5px}#hud .instruments .clarity-instrument{min-width:56px}
 #hud .instruments .elapsed{display:none}#hud .instruments #mind-state{top:49px;font-size:8px}
 #situational{top:143px;left:18px;font-size:9px;gap:8px}
 #mission-panel{top:58px;right:max(18px,env(safe-area-inset-right));width:206px;padding:8px 10px;max-height:calc(100dvh - 180px)}
 #mission-panel header{font-size:8px}#mission-panel header b{font-size:14px}#mission-panel .outline{min-height:28px;padding:4px 7px}
 #sketch-frame{margin-top:6px;padding-bottom:14px}#mini-map{height:56px;object-fit:contain;width:100%}#sketch-state{bottom:3px;font-size:7px}#map-blocked{height:56px;gap:3px;font-size:9px}#map-blocked b{font-size:19px}
 #exploration-count{display:none}.exploration-track{margin-top:5px}.mission-current{margin-top:7px;padding-top:8px}
 #mission-phase{font-size:8px;letter-spacing:1px}#mission-title{font-size:13px;margin:5px 0;line-height:1.5}#mission-hint{font-size:10px;line-height:1.6;margin:0}#mission-next,#mission-steps{display:none}
 #hud #lesson{top:173px;left:18px;width:238px;max-width:29vw;padding:8px 12px}
 #hud #lesson h3{font-size:13px;margin:5px 0}#hud #lesson p{font-size:10px;line-height:1.65}#hud #lesson .lesson-number{font-size:8px}
 #hud #stress-box{top:174px;left:18px;width:200px;padding:6px 0;font-size:9px}body.learning #hud #stress-box{display:none}
 #hud #condition{top:223px;left:18px;width:205px;font-size:8px}
 #hud .hud-bottom{bottom:max(10px,env(safe-area-inset-bottom));left:18px;right:18px;gap:5px}#hud .hud-actions{gap:4px}#hud .hud-actions button{font-size:10px;padding:7px;min-width:31px;min-height:32px}
 #hud .party b{font-size:10px}#hud .party small{font-size:8px;max-width:195px}#hud .avatar{width:25px;height:30px}
 #hud #dialogue{left:49%;bottom:54px;width:49%;padding:5px 10px}#hud #dialogue p{font-size:11px;line-height:1.65;margin:4px 0}#hud #dialogue>span{font-size:8px}
 #hud #interaction{left:48%;bottom:123px;max-width:44%}#hud #interaction>button{font-size:11px;padding:6px 9px;min-height:39px;white-space:normal;line-height:1.5}#interaction-help{font-size:8px}
 #hud #sound-caption{bottom:99px;left:48%;font-size:9px;max-width:44%}
 #mobile{left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));bottom:56px}#pad{width:84px;height:84px}.touch-actions{grid-template-columns:repeat(3,44px);gap:5px}.touch-actions button{width:44px;height:42px;min-height:42px;font-size:10px}
 #toast{top:55px;font-size:10px;padding:8px 14px;max-width:45vw}
}
@media(max-width:649px){
 #hud .hud-top{left:14px;right:14px}#hud .instruments{left:14px;right:auto;top:86px;gap:15px;padding:10px}
 #hud .instruments .elapsed{display:none}#hud .instruments>div,#hud .instruments>button{min-width:55px}
 #hud #chapter-mark{left:18px;top:65px}#situational{top:177px;left:18px;font-size:9px}
 #mission-panel{top:213px;right:14px;width:158px;max-height:calc(100dvh - 440px);padding:9px}#mission-panel header{font-size:8px}#mission-panel header b{font-size:13px}#mini-map{height:60px}#mission-title{font-size:13px}#mission-hint{font-size:10px}#mission-steps,#mission-next,#exploration-count{display:none}
 #hud #lesson{top:217px;left:14px;width:calc(100vw - 199px);padding:10px;max-width:none}#hud #lesson h3{font-size:14px}#hud #lesson p{font-size:10px}
 #hud #stress-box{top:225px;left:15px;width:calc(100vw - 205px)}body.learning #hud #stress-box{display:none}
 #hud #interaction{bottom:330px;max-width:94%;left:50%}#hud #dialogue{bottom:208px;width:95%;left:50%}#hud #dialogue p{font-size:12px}
 #hud #condition{display:none}#hud #sound-caption{bottom:190px;left:50%;max-width:90%}#mission-phase{font-size:8px}#quick-fullscreen{font-size:18px}
 .map-summary{gap:12px;font-size:10px}.map-summary strong{font-size:22px}.survey-page{padding:12px}.survey-page svg{height:70px}.choice-reserve{gap:15px;font-size:11px}.choice-reserve b{font-size:17px}
}

/* Tight landscape QA pass: no task/control overlap; avoid duplicating the lesson. */
@media(max-height:540px) and (min-width:650px){
 #mission-panel{max-height:calc(100dvh - 220px)}
 #mini-map,#map-blocked{height:40px}#sketch-frame{padding-bottom:12px;margin-top:4px}
 #sketch-state{bottom:2px;font-size:7px}.mission-current{margin-top:5px;padding-top:6px}
 #mission-title{margin:3px 0;font-size:13px}#mission-phase{font-size:8px}
 #mission-panel .outline{min-height:30px}
 body.learning #hud #lesson{display:none}
 body.learning #sketch-frame{display:none}
 body.learning #mission-panel{max-height:calc(100dvh - 220px)}
 .touch-actions button{height:44px;min-height:44px}
 #hud #condition{top:211px;max-height:35px}
}
.endphase #mission-panel,.endphase #situational,.clean #mission-panel,.clean #situational{opacity:0;pointer-events:none}
@media(max-height:540px) and (min-width:650px){
 #mini-map,#map-blocked{height:34px}#sketch-frame{padding-bottom:10px}
 #sketch-state{font-size:7px;bottom:1px}
 #mission-phase{display:none}body.learning #mission-phase{display:inline}
 .mission-current{padding-top:5px;margin-top:4px}
 #mission-title{font-size:13px;line-height:1.4;margin:3px 0}
 #mission-hint{font-size:10px;line-height:1.5}
}

/* v05 — compact play HUD, peripheral danger, and a proper aftermath screen. */
#hud .hud-top{top:max(24px,env(safe-area-inset-top));left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));gap:14px}
#hud .chapter-meta b{font:15px var(--serif);letter-spacing:1px}#hud .chapter-meta small{font:9px var(--mono);color:#92a49a;letter-spacing:1px}
#hud .instruments{left:30px;right:auto;top:97px;gap:25px;padding:9px 0 12px;background:none;border:0;min-height:66px}
#hud .instruments>div,#hud .instruments>button{gap:8px;min-width:59px}
#hud .instruments b{font:26px var(--mono);letter-spacing:-.8px}
#hud .instruments span{font:10px var(--sans);letter-spacing:1px;color:#a0b1a6}
#hud .instruments .clarity-instrument{min-width:58px}#hud .instruments #clarity{font:17px/26px var(--serif);letter-spacing:2px}
#hud .instruments small{font-size:10px;margin-left:3px}
#hud .instruments #gas-bar,#clarity-track{height:2px;bottom:-4px;opacity:.75}
#clarity-track{width:100%}
#hud .instruments .danger{color:#e0a391}
#danger-note{position:absolute;left:30px;top:184px;display:flex;gap:9px;align-items:center;font:12px var(--sans);color:#d5b392;text-shadow:0 2px 7px #000;letter-spacing:.5px}
#danger-note i{height:5px;width:5px;background:currentColor;border-radius:50%;box-shadow:0 0 12px #ca705767}
#danger-note.critical{color:#efb0a2}
#mission-panel{top:95px;right:29px;width:260px;max-height:none;overflow:visible;padding:0;border:0;background:linear-gradient(90deg,transparent,rgba(5,17,20,.44));pointer-events:none}
#mission-panel header{font-size:10px;justify-content:flex-end;gap:22px;margin-bottom:18px;letter-spacing:0;color:#95a99f}
#mission-panel header b{font:13px var(--mono);margin-left:4px;color:#bfc4aa}
#mission-panel #map-button{pointer-events:auto;min-height:36px;min-width:70px;font-size:11px;background:#0c1d2066;border-color:#b5c3ae36}
#mission-panel .mission-current{border:0;border-right:1px solid #c7bc9266;text-align:right;padding:0 13px 0 0;margin:0}
#mission-panel #mission-phase{font:9px var(--sans);letter-spacing:2px;display:block;color:#a8b49f}
#mission-panel #mission-title{font:16px/1.6 var(--serif);margin:6px 0;letter-spacing:.7px}
#mission-panel #mission-hint{font:11px/1.8 var(--sans);color:#a6b6a8;margin:5px 0 0}
#mission-panel.alert .mission-current{border-color:#d79f82}
#hud #situational{left:30px;gap:14px;color:#bbc5ad;font-size:11px}
#hud #condition{top:220px;left:30px;right:auto;padding:8px 0;background:none;border:0;width:200px}
#hud #missing{top:215px;left:30px;padding:0;font-size:11px;background:none}
#hud #zone-reveal{top:32%;opacity:.7}#zone-reveal h2{font-size:23px}
#hud .hud-bottom{left:30px;right:30px;bottom:max(24px,env(safe-area-inset-bottom));align-items:center}
#hud .party{min-width:0;display:flex;align-items:center;gap:18px}
#hud #mate-status{font:11px var(--sans);color:#a8b7a9}#hud #checkpoint-text{font:9px var(--sans);color:#94a88a}
#hud .hud-actions button{background:#0d1d2066;border-color:#b4c2a92b;font:11px var(--sans);min-height:38px;min-width:38px;padding:8px 12px}
#hud .hud-actions button:last-child{font-size:18px}
#hud #dialogue{width:min(580px,65%);left:50%;bottom:80px;padding:8px 20px;min-height:0;background:linear-gradient(90deg,transparent,#061316c9 20%,#061316c9 80%,transparent)}
#hud #dialogue p{font:15px/1.75 var(--serif);margin:6px 0 0;letter-spacing:.3px}#hud #dialogue>span{font:10px var(--sans);letter-spacing:1px}
#hud #sound-caption{bottom:94px;left:50%;font-size:11px;letter-spacing:0;background:#09161988}
#hud #interaction{bottom:166px;left:50%;max-width:62%}
#hud #interaction>button{padding:8px 15px;min-height:45px;font:14px var(--serif);border-color:#c7bb8f66;background:#0c2126d9}
#hud #interaction-help{font-size:9px;margin-top:7px;color:#9da893}
#last-moment{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
#last-moment span{font:20px var(--serif);color:#c6beb3;letter-spacing:4px}
/* #toast placement and skin live in ui/cinematic.css; a second anchored rule here
   set bottom while cinematic.css set top, stretching the toast to full height. */
#panel details{border-top:1px solid #acb79c2d;padding:16px 0;margin-top:12px;color:#aebbab;font-size:12px}
#panel details summary{cursor:pointer;padding:3px 0;color:#bfc9b3;font-size:12px}
#panel details ol{padding-left:25px;line-height:2.4}#panel details li.done{color:#789585}#panel details li.current{color:#e0c99a}
#panel .gauge-display{margin:5px 0 25px}#panel .map-summary{font-size:12px}
/* Death and return share a layout, never a fabricated medical diagnosis. */
body[data-result] #modal-shade{background:#071012bb}
body[data-result="death"] #modal-shade{background:radial-gradient(ellipse at 65% 40%,#06121888,#100b0eed);backdrop-filter:blur(3px)}
#panel.result-screen{width:min(1040px,94vw);max-height:94dvh;background:linear-gradient(120deg,#101d20fa,#0c1b20ed);padding:48px 54px 40px;border:1px solid #9ba89530;box-shadow:0 35px 120px #0007;overflow:auto}
body[data-result="death"] #panel.result-screen{background:linear-gradient(115deg,#211b1de8,#0a1a1ff5 63%);border-color:#b3978936}
#panel.result-screen .panel-head{border:0;margin:0;padding:0}
#panel.result-screen #panel-eyebrow{font:11px var(--sans);letter-spacing:4px;color:#bba382}
body[data-result="death"] #panel.result-screen #panel-eyebrow{color:#dc9c8a}
#panel.result-screen #panel-title{font:56px/1.25 var(--serif);letter-spacing:5px;margin:18px 0 0;color:#e6e1d5;font-weight:400}
.result-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px}
#panel-body .result-lead{font:14px/1.9 var(--serif);color:#b7b9ad;white-space:pre-line;margin:23px 0 29px}
.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:20px 0;border-block:1px solid #aea48d26}
.result-stats small{font:10px var(--sans);letter-spacing:1px;color:#9baba3;display:block;margin-bottom:12px}
.result-stats strong{font:25px var(--mono);color:#d4cebb;font-weight:400;letter-spacing:-.6px}
.result-stats em{font:11px var(--sans);font-style:normal;letter-spacing:0;margin-left:4px;color:#9dad9d}
#panel-body .result-tip{font:12px/1.7 var(--sans);color:#b7b59f;margin:21px 0}
#panel-body .result-copy>.primary{background:#d6c4a0;color:#182326!important;min-height:49px;margin-top:24px;border:0}
body[data-result="death"] #panel-body .result-copy>.primary{background:#cda98c}
.checkpoint-hint{font:10px var(--sans);color:#8e9f95;display:block;margin:12px 0 22px}
.result-secondary{display:flex;justify-content:space-between;gap:20px;margin-top:22px}
.result-secondary button{padding:3px 0;min-height:32px;color:#9caea4;font:11px var(--sans)}
.result-trace{align-self:center;color:#c19c83;padding-top:14px}
.result-place{display:block;font:10px var(--sans);letter-spacing:1px;color:#8caaa0;line-height:1.8}
.result-route{margin:15px 0 0;background:radial-gradient(ellipse,#27423733,transparent 70%);border:1px solid #9eab9321}
.result-route svg{display:block;width:100%;height:auto;max-height:260px}
.result-route .route-drawn{stroke-dasharray:1600;animation:routeDraw 2.6s ease-out both}
@keyframes routeDraw{from{stroke-dashoffset:1600}to{stroke-dashoffset:0}}
.route-empty{height:170px;display:grid;place-items:center;font:12px var(--sans);color:#60786d}
#panel .result-history{margin-top:5px;border:0;padding:13px 0 0}
#panel .result-history summary{color:#91a398;font-size:11px}
#panel .result-history p{display:flex;gap:15px;font:11px/1.75 var(--sans);color:#a6b3a5;margin:11px 0}
.result-history time{font:10px/1.9 var(--mono);color:#698a7d;flex-shrink:0}
.reduced .result-route .route-drawn{animation:none}
.endphase #danger-note,.endphase #situational{display:none!important}.endphase #last-moment{opacity:1}
.clean #danger-note{opacity:1}.clean #last-moment{opacity:1}
@media (pointer:coarse){
 #hud #mobile{bottom:max(70px,calc(env(safe-area-inset-bottom) + 60px));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right))}
 #hud #pad{width:94px;height:94px}
 #hud .touch-actions{grid-template-columns:repeat(3,46px);gap:6px}#hud .touch-actions button{min-width:46px;min-height:44px;height:44px;width:46px;font:11px var(--sans);background:#102529a6}
}
@media(max-height:540px) and (min-width:650px){
 #hud .hud-top{top:max(12px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));gap:10px}
 #hud .chapter-meta b{font-size:12px}#hud .chapter-meta small{font-size:8px}#hud #pause{width:32px;height:33px;min-height:33px;font-size:15px}
 #hud .instruments{top:65px;left:19px;gap:20px;padding:7px 0 10px;min-height:62px}
 #hud .instruments>div,#hud .instruments>button{min-width:49px;gap:7px}#hud .instruments .clarity-instrument{min-width:45px}
 #hud .instruments b{font-size:22px}#hud .instruments #clarity{font-size:14px;line-height:22px;letter-spacing:1px}#hud .instruments span{font-size:9px}
 #danger-note{top:145px;left:20px;font-size:10px}
 #mission-panel{top:59px;right:max(18px,env(safe-area-inset-right));width:212px;padding:0;max-height:none}
 #mission-panel header{margin-bottom:10px;gap:15px;font-size:9px}#mission-panel header b{font-size:11px}
 #mission-panel #map-button{min-height:34px;font-size:10px;min-width:56px;padding:5px 8px}
 #mission-panel #mission-phase{font-size:8px;letter-spacing:1px}#mission-panel #mission-title{font-size:13px;margin:4px 0;line-height:1.5}
 #mission-panel #mission-hint{font-size:10px;line-height:1.7}
 #hud #condition{top:174px;left:20px;width:170px;font-size:10px}
 #hud .hud-bottom{bottom:max(10px,env(safe-area-inset-bottom));left:20px;right:20px}
 #hud .hud-actions button{min-height:33px;padding:5px 9px;font-size:10px}#hud #mate-status{font-size:9px;max-width:250px}
 #hud #checkpoint-text{display:none}#hud #situational{left:20px;font-size:9px}
 #hud #missing{top:171px;left:20px;font-size:10px}
 #hud #dialogue{bottom:49px;width:48%;padding:5px 10px;left:50%}#hud #dialogue p{font-size:12px;line-height:1.75;margin:4px 0 0}#hud #dialogue>span{font-size:9px}
 #hud #sound-caption{bottom:55px;left:50%;font-size:10px;max-width:47%}
 #hud #interaction{bottom:117px;max-width:43%;left:50%}#hud #interaction>button{min-height:42px;font-size:12px;padding:5px 10px;white-space:normal;line-height:1.4}
 #hud #interaction-help{font-size:8px;margin-top:5px}
 #hud #mobile{bottom:60px}#hud #pad{width:84px;height:84px}
 #toast{font-size:10px;max-width:46vw;padding:7px 12px}
 #panel.result-screen{padding:23px 32px;max-height:95dvh}
 #panel.result-screen #panel-title{font-size:35px;margin-top:10px;letter-spacing:3px}
 .result-layout{gap:28px;grid-template-columns:1.12fr 1fr}
 #panel-body .result-lead{font-size:12px;margin:10px 0 13px}
 .result-stats{padding:12px 0;gap:9px}.result-stats small{font-size:9px;margin-bottom:7px}.result-stats strong{font-size:20px}
 #panel-body .result-tip{font-size:10px;margin:12px 0}#panel-body .result-copy>.primary{min-height:40px;padding:11px 14px;font-size:12px;margin-top:13px}
 .checkpoint-hint{font-size:9px;margin:9px 0 0}.result-secondary{margin-top:8px}.result-secondary button{font-size:10px;min-height:28px}
 .result-trace{padding-top:0}.result-place{font-size:9px}.result-route{margin-top:9px}.result-route svg{max-height:166px}
 #panel .result-history{padding-top:7px}#panel .result-history summary{font-size:10px}
}
@media(max-width:649px){
 #hud .hud-top{left:15px;right:15px;top:max(18px,env(safe-area-inset-top))}#hud .chapter-meta b{font-size:13px}
 #hud .instruments{top:84px;left:18px;padding:8px 0;gap:22px}#hud .instruments b{font-size:22px}#hud .instruments #clarity{font-size:15px}
 #danger-note{top:172px;left:18px;font-size:11px}#mission-panel{top:213px;right:18px;width:205px;max-height:none;padding:0}
 #mission-panel #mission-title{font-size:14px}#mission-panel header{margin-bottom:12px}
 #hud .hud-bottom{left:18px;right:18px;bottom:max(14px,env(safe-area-inset-bottom))}#hud #mate-status{font-size:9px;max-width:195px}
 #hud .hud-actions button{padding:6px 8px;font-size:10px}
 #hud #interaction{bottom:297px;max-width:89%}#hud #dialogue{bottom:188px;width:92%;padding:8px 14px}#hud #dialogue p{font-size:13px}
 #hud #sound-caption{bottom:189px;font-size:10px}#hud #situational{left:18px;font-size:10px}
 #hud #condition{top:360px;left:18px;width:160px}#hud #missing{top:365px;left:18px}
 #toast{font-size:11px;max-width:85vw}
 #panel.result-screen{width:95vw;padding:30px 25px;max-height:94dvh}
 #panel.result-screen #panel-title{font-size:42px;letter-spacing:3px}
 .result-layout{grid-template-columns:1fr;gap:21px}#panel-body .result-lead{margin:18px 0 22px;font-size:13px}
 .result-stats strong{font-size:24px}.result-stats{padding:18px 0}
 .result-trace{padding-top:0}.result-route svg{max-height:160px}.result-place{font-size:9px}
 .result-secondary{margin-top:13px}.checkpoint-hint{margin-bottom:10px}
}
/* v06: calm chapter transitions, action feedback and optional end-scene controls. */
#cinematic-actions{position:fixed;z-index:15;right:max(28px,env(safe-area-inset-right));bottom:max(23px,env(safe-area-inset-bottom));display:flex;gap:12px;align-items:center}
#cinematic-actions button{min-height:44px;padding:10px 16px;background:rgba(9,22,24,.68);border:1px solid #8da3944a;color:#c6c5b2;font-size:12px}
#cinematic-skip span{margin-left:25px;color:#8b9e90;font-size:10px}.endphase #last-moment{place-items:end center;padding-bottom:16%;opacity:.7}
.endphase #last-moment span{font-size:16px;letter-spacing:2px}.endphase .hud-top{opacity:0;pointer-events:none}
.task-arrived{animation:task-in .55s ease-out}@keyframes task-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.route-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}
.route-options button{padding:24px 22px;border:1px solid #9eb09b55;text-align:left;background:linear-gradient(140deg,#75857516,transparent)}
.route-options button:hover{border-color:#c4bb94;background:#89927a16}.route-options small{color:#a6b099;font-size:10px;letter-spacing:2px}
.route-options strong{display:block;font:23px var(--serif);margin:18px 0}.route-options span{display:block;font-size:12px;line-height:1.8;color:#a0b29f}
.result-still{width:100%;height:148px;overflow:hidden;margin-bottom:15px;border:1px solid #81918340}.result-still img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.result-still+.result-route svg{max-height:160px}
.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}
.collection-card{padding:20px 17px;border-top:1px solid #879b8760;background:linear-gradient(180deg,#20353280,transparent);display:flex;flex-direction:column}
#panel-body .collection-card h3{font-size:21px;line-height:1.6;min-height:60px;margin:18px 0 12px}
#panel-body .collection-card p{font-size:12px;min-height:85px;color:#a5b5a5}.collection-card .eyebrow{font-size:9px;letter-spacing:2px}.collection-card>small{font-size:10px;color:#9baf97;margin-bottom:20px}.collection-card button{margin-top:auto;font-size:11px;text-align:left}
.collection-card.complete{border-color:#b9ad82}.reduced .task-arrived{animation:none}
#interaction>button:active{background:rgba(83,102,84,.72)}
@media(pointer:coarse){#cinematic-skip span{display:none}#cinematic-actions{right:max(18px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}#cinematic-actions button{padding:9px 16px;min-height:44px}.endphase #last-moment{padding-bottom:18%}}
@media(max-height:500px) and (orientation:landscape){.result-still{height:93px;margin-bottom:8px}.result-still+.result-route svg{max-height:106px}.route-options{margin:14px 0;gap:12px}.route-options button{padding:15px}.route-options strong{font-size:20px;margin:10px 0}.collection-grid{gap:9px;margin:15px 0}.collection-card{padding:13px 12px}#panel-body .collection-card h3{font-size:17px;min-height:50px}#panel-body .collection-card p{min-height:65px;font-size:11px}}
@media(max-width:620px) and (orientation:portrait){.collection-grid{grid-template-columns:1fr}.collection-card h3{min-height:0!important}.collection-card p{min-height:0!important}.route-options{grid-template-columns:1fr}}

/* v07: four full viewport edges, composited ABOVE world fog and below legible HUD. */
#damage-vignette,#ascent-vignette{position:fixed;inset:0;z-index:4;pointer-events:none;opacity:0;will-change:opacity}
#damage-vignette{background:linear-gradient(90deg,rgba(211,29,24,.91),rgba(172,17,19,.47) 4%,transparent 19%,transparent 81%,rgba(172,17,19,.47) 96%,rgba(211,29,24,.91)),linear-gradient(180deg,rgba(193,27,23,.79),rgba(133,13,22,.26) 8%,transparent 23%,transparent 76%,rgba(150,13,21,.37) 93%,rgba(208,28,24,.90));box-shadow:inset 0 0 32px rgba(239,48,33,.45)}
#ascent-vignette{background:linear-gradient(180deg,rgba(221,158,69,.70),transparent 18%)}
#hud{z-index:5}#cinema{z-index:7}
#quick-reserve{pointer-events:auto;position:absolute;left:30px;top:219px;display:flex;align-items:center;gap:14px;border:1px solid #b59f7188;background:#142426ed;padding:11px 13px;color:#dcc59e;min-height:42px;font-size:12px;touch-action:none}
#quick-reserve small{font:10px var(--mono);color:#a9b7a7}
#quick-reserve:active{background:#3b453b}
@media(max-width:700px){#quick-reserve{left:18px;top:202px;padding:9px 11px;font-size:11px}}
@media(max-height:500px) and (min-width:650px){#quick-reserve{left:20px;top:168px;padding:7px 11px;min-height:35px;font-size:10px}}
.audio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* v08 */
#panel-body .row-buttons:has(#gas-test){flex-wrap:wrap}#panel-body .row-buttons:has(#gas-test)>button{min-width:110px;min-height:42px}.note-card p{white-space:pre-line}.reference a{overflow-wrap:anywhere}
.web-account hr{border:0;border-top:1px solid #a7b79b30;margin:28px 0}.web-account #cloud-status{padding:12px 0;min-height:3em;color:#d9d8c3;white-space:pre-line}
#cloud-choice{display:flex;gap:12px;flex-wrap:wrap}.web-account button{min-height:44px}#web-account{color:#d5c7a6}
@media(min-width:900px){#mission-panel #mission-hint{font-size:12px;color:#c7d3c6}#hud #interaction-help{font-size:11px;color:#c6cfba}#hud #dialogue p{line-height:1.9}}
.reduced #hud #dialogue,.reduced #zone-reveal,.reduced .result-route *{animation:none!important}
html.quick-launch #disclaimer{visibility:hidden}
#launch-status{position:fixed;inset:0;z-index:110;display:grid;place-items:center;background:#091317;color:#e3e2cd;padding:32px}
#launch-status[hidden]{display:none}html.quick-launch #launch-status{display:grid}
#launch-status>div{max-width:460px}#launch-status span,#launch-status small{font:11px/1.8 var(--sans);color:#9eb3a8;letter-spacing:1px}#launch-status h1{font:38px/1.3 var(--serif);font-weight:400}#launch-status p{font:15px/1.9 var(--sans)}
#arrival-note{position:absolute;top:108px;left:max(38px,env(safe-area-inset-left));width:min(340px,30vw);text-align:left;pointer-events:none;color:#e9e8d5;padding:17px 20px;border-left:1px solid #c8b78888;background:linear-gradient(90deg,#07151dd9,#07151d36);text-shadow:0 2px 12px #000b;animation:arrival-in 1.1s ease-out}
#arrival-note span{font:10px/1.8 var(--sans);letter-spacing:2px;color:#d3c496}#arrival-note h2{font:23px/1.45 var(--serif);font-weight:400;margin:7px 0}#arrival-note p{font:12px/1.8 var(--sans);white-space:pre-line;margin:10px 0 0;color:#d9dece}
#interaction.instant-action .key-ring{border-color:#c7d3b4}#interaction.instant-action #interaction-help{color:#dbe4c8}#interaction.instant-action #hold-ring{display:none}
@keyframes arrival-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
body.reduced #arrival-note{animation:none}
@media(max-height:600px){#arrival-note{top:65px;width:34vw;padding:8px 12px}#arrival-note h2{font-size:18px;margin:3px 0}#arrival-note p{font-size:11px;margin:5px 0}}
@media(max-width:650px){#arrival-note{top:90px;left:17px;width:min(250px,64vw);padding:10px 13px}#arrival-note h2{font-size:17px}#arrival-note p{font-size:10px}}
