.archive-screen{height:100dvh;color:var(--color-text);background:linear-gradient(110deg, #070b0dfa 0%, #070b0df0 50%, #070b0d99 100%), var(--color-void);grid-template-rows:auto auto auto;display:grid;position:relative;overflow-y:auto}.archive-screen:before{z-index:0;pointer-events:none;content:"";background-image:linear-gradient(90deg,#aeb4b20a 1px,#0000 1px);background-size:88px 100%;position:fixed;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 68%);mask-image:linear-gradient(90deg,#000,#0000 68%)}.archive-header,.archive-stage,.archive-actions{z-index:1;position:relative}.archive-header{min-height:92px;padding:max(22px, env(safe-area-inset-top)) max(44px, env(safe-area-inset-right)) 18px max(44px, env(safe-area-inset-left));justify-content:space-between;align-items:center;display:flex}.archive-brand{color:#e6e7e3db;letter-spacing:.12em;margin:0;font-family:Songti SC,Noto Serif CJK SC,serif;font-size:23px}.archive-brand:after{border-bottom:1px solid var(--color-ember);content:"";width:45px;margin-top:10px;display:block}.archive-exit{color:#e6e7e3d1;letter-spacing:.1em;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #aeb4b280;min-height:42px;padding:8px 3px;font-size:16px}.archive-stage{grid-template-columns:minmax(0,760px) minmax(360px,1fr);align-items:start;gap:clamp(32px,6vw,110px);width:min(100% - 88px,1420px);margin:0 auto;padding:clamp(28px,5vh,70px) 0 34px;display:grid}.archive-reading{text-shadow:0 2px 12px #0000007a;min-width:0}.archive-kicker,.transcript-source{color:#d5a77e;letter-spacing:.1em;margin:0;font-size:16px}.archive-kicker{margin-bottom:14px}.archive-reading h1{color:#f0f0ec;letter-spacing:.06em;margin:0;font-family:Songti SC,Noto Serif CJK SC,serif;font-size:clamp(44px,4.8vw,80px);font-weight:600;line-height:1.12}.archive-copy,.briefing-section{margin-top:clamp(32px,4vh,50px)}.transcript,.archive-note,.briefing-section{max-width:710px}.transcript+.transcript,.transcript+.archive-note,.briefing-section+.briefing-section{margin-top:34px}.transcript-source{align-items:center;gap:14px;margin-bottom:17px;display:flex}.transcript-source:after{content:"";border-top:1px solid #aeb4b252;width:min(42%,235px)}.archive-copy p:not(.transcript-source),.transcript p:not(.transcript-source),.archive-note p:not(.transcript-source),.briefing-section p,.briefing-section li,.briefing-callsign{color:#e6e7e3ed;letter-spacing:.025em;margin:0 0 1.05em;font-size:clamp(18px,1.36vw,22px);line-height:1.8}.transcript--tianmu p:not(.transcript-source){color:#e8e3d7}.archive-note{border-top:1px solid #aeb4b25c;border-left:2px solid #c96532b8;margin-top:38px;padding:22px 0 0 20px}.archive-note p:not(.transcript-source){color:#d6d9d6e0}.archive-media{background:linear-gradient(90deg, var(--color-void), transparent 26%), linear-gradient(180deg, #070b0d14, #070b0da3), var(--color-sky-deep);min-height:min(64vh,630px);margin:0;position:sticky;top:28px;overflow:hidden;box-shadow:inset 0 0 0 1px #aeb4b21f}.archive-media img{width:100%;height:100%;min-height:inherit;object-fit:cover;opacity:.86;filter:saturate(.72)contrast(1.04)}.archive-actions{width:min(100% - 88px,1420px);padding:20px 0 max(28px, env(safe-area-inset-bottom));flex-wrap:wrap;align-items:center;gap:16px 22px;margin:0 auto;display:flex}.archive-actions button{min-height:52px;color:var(--color-text);letter-spacing:.08em;cursor:pointer;background:#070b0da8;border:1px solid #aeb4b2ad;border-radius:0;padding:12px 27px;font-size:17px}.archive-actions button:disabled{color:#aeb4b26b;cursor:not-allowed;border-color:#aeb4b242}.archive-actions .archive-primary{border-color:var(--color-ember);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);background:linear-gradient(100deg,#c965324d,#070b0dcc)}.archive-actions .archive-skip{color:#e6e7e3c7;background:0 0;border-color:#0000 #0000 #aeb4b28c}.archive-position{color:#d5a77e;letter-spacing:.1em;margin:0 0 0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px}.briefing-callsign{color:#d5a77e;letter-spacing:.08em;margin-top:23px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px}.briefing-section h2{color:#e6e7e3;letter-spacing:.08em;margin:0 0 14px;font-family:Songti SC,Noto Serif CJK SC,serif;font-size:26px;font-weight:600}.briefing-risks ul{gap:12px;margin:0;padding-left:1.35em;display:grid}.briefing-risks li{margin:0;padding-left:6px}.briefing-risks li::marker{color:var(--color-ember)}.briefing-actions{justify-content:flex-start}.archive-exit:hover,.archive-exit:focus-visible,.archive-actions button:hover:not(:disabled),.archive-actions button:focus-visible:not(:disabled){color:#fff;filter:brightness(1.12);border-color:#e0b18b}.archive-exit:focus-visible,.archive-actions button:focus-visible,.archive-reading h1:focus-visible{outline-offset:5px;outline:2px solid #e0b18b}@media (width<=820px){.archive-screen{padding-bottom:132px}.archive-header{min-height:78px;padding:max(18px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) 12px max(22px, env(safe-area-inset-left))}.archive-stage,.archive-actions{width:min(100% - 44px,680px)}.archive-stage{grid-template-columns:1fr;gap:28px;padding-top:28px}.archive-media{min-height:230px;position:relative;top:auto}.archive-actions{right:max(22px, env(safe-area-inset-right));bottom:0;left:max(22px, env(safe-area-inset-left));z-index:2;width:auto;padding:12px 0 max(18px, env(safe-area-inset-bottom));background:linear-gradient(180deg, transparent, var(--color-void) 26%);gap:12px;position:fixed}.archive-position{width:100%;margin:6px 0 0}}@media (width<=440px){.archive-actions button{flex:auto;min-height:50px;padding-inline:17px}.archive-actions .archive-skip{flex-basis:auto}.archive-reading h1{font-size:42px}}@media (prefers-reduced-motion:reduce){.archive-media img{filter:saturate(.72)}}:root{color:#e6e7e3;font-synthesis:none;text-rendering:optimizelegibility;--color-void:#070b0d;--color-sky-deep:#1d282e;--color-sky:#526168;--color-surface:#25292a;--color-border:#716b60;--color-text:#e6e7e3;--color-muted:#aeb4b2;--color-ember:#c96532;--color-danger:#b74936;background:#070b0d;font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100dvh;overflow:hidden}button{font:inherit}.landing-screen{isolation:isolate;background-color:var(--color-void);background-image:url(/assets/landing-hangar.png);background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:100dvh;display:grid;position:relative;overflow:auto}.landing-copy{text-shadow:0 2px 12px #0000008c;align-self:center;width:min(31vw,620px);min-width:430px;margin-left:clamp(44px,9vw,176px);transform:translateY(-2vh)}.landing-copy h1{color:var(--color-text);letter-spacing:.06em;margin:0;font-size:clamp(72px,8.1vw,156px);font-weight:800;line-height:.95}.landing-menu{gap:16px;width:min(100%,370px);margin-top:48px;display:grid}.landing-subtitle{color:#d7d9d6;letter-spacing:.08em;margin:clamp(22px,2.2vw,38px) 0 clamp(36px,3vw,56px);font-size:clamp(24px,1.9vw,38px);font-weight:400;line-height:1.4}.landing-utilities{z-index:2;top:max(28px, env(safe-area-inset-top));right:max(36px, env(safe-area-inset-right));gap:18px;display:flex;position:absolute}.icon-button{color:#cfd3d1;cursor:pointer;filter:drop-shadow(0 2px 4px #000000a6);background:0 0;border:0;place-items:center;width:42px;height:42px;padding:4px;transition:color .15s,transform .15s;display:grid}.icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35px;width:100%;height:100%;overflow:visible}.icon-button:hover,.icon-button:focus-visible{color:#fff;transform:translateY(-1px)}.mechanical-button{width:min(100%,370px);min-height:88px;color:var(--color-text);border:1px solid var(--color-border);letter-spacing:.22em;text-shadow:0 1px 5px #000000b3;cursor:pointer;background:linear-gradient(#3a3a38f5,#232525fa);border-radius:1px;justify-content:center;align-items:center;padding:18px 70px 18px 42px;font-size:clamp(26px,1.9vw,34px);font-weight:500;transition:border-color .15s,transform .15s,filter .15s;display:flex;position:relative;box-shadow:inset 0 0 0 3px #070b0db3,inset 0 1px #ffffff2e,0 10px 28px #00000047}.mechanical-button:before,.mechanical-button:after{content:"";border-block:1px solid #c5895b8c;width:7px;position:absolute;top:8px;bottom:8px}.mechanical-button:before{border-left:1px solid #c5895b8c;left:8px}.mechanical-button:after{border-right:1px solid #c5895b8c;right:8px}.mechanical-button:hover:not(:disabled),.mechanical-button:focus-visible:not(:disabled){filter:brightness(1.08);border-color:#a39b8d}.mechanical-button:active:not(:disabled){transform:translateY(2px)}.mechanical-button:disabled{color:#8f9592;cursor:not-allowed;filter:saturate(.35)brightness(.78)}.button-chevron{width:12px;height:18px;fill:var(--color-ember);filter:drop-shadow(0 0 4px #c965324d);transition:transform .15s;position:absolute;right:28px}.mechanical-button:hover:not(:disabled) .button-chevron{transform:translate(3px)}.compatibility-notice{color:#d3b9a8;letter-spacing:.04em;margin:18px 0 0;font-size:15px}.continue-sortie-button{color:#e6e7e3d1;letter-spacing:.12em;text-shadow:0 2px 7px #000000b3;cursor:pointer;background:#070b0d3d;border:0;border-bottom:1px solid #aeb4b285;width:min(100%,370px);min-height:48px;margin-top:0;font-size:17px;display:block}.continue-sortie-button:hover:not(:disabled),.continue-sortie-button:focus-visible:not(:disabled){color:#fff;border-color:var(--color-ember)}.continue-sortie-button:disabled{color:#858c89;cursor:not-allowed}.debrief-screen{background-color:var(--color-void);background-image:url(/assets/debrief-airfield.png);background-position:50%;background-repeat:no-repeat;background-size:cover;place-items:center;min-height:100dvh;display:grid;position:relative;overflow:hidden}.debrief-title-action{z-index:2;top:max(34px, env(safe-area-inset-top));right:max(46px, env(safe-area-inset-right));color:#e6e7e3c7;letter-spacing:.12em;text-shadow:0 2px 8px #000000c7;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #aeb4b285;min-width:120px;min-height:44px;padding:8px 14px;font-size:16px;position:absolute}.debrief-title-action:hover,.debrief-title-action:focus-visible{color:#fff;border-color:var(--color-ember)}.debrief-copy{width:min(88vw,1180px);color:var(--color-text);text-align:center;text-shadow:0 2px 16px #000000c7;margin-top:-4vh}.debrief-copy h1{letter-spacing:.08em;margin:0;font-size:clamp(34px,3.5vw,68px);font-weight:520;line-height:1.35}.debrief-copy p{color:#c8ccca;letter-spacing:.12em;margin:22px 0 48px;font-size:clamp(17px,1.25vw,23px)}.debrief-retry{margin-inline:auto}button:focus-visible{outline-offset:4px;outline:2px solid #e0b18b}button{min-height:42px;color:inherit;cursor:pointer;background:#070b0db8;border:1px solid #aeb4b27a}.status-screen,.records-screen{width:100%;height:100dvh;color:var(--color-text);background:linear-gradient(120deg, #070b0df5, #10191df0), var(--color-void);padding:clamp(42px,9vw,128px);overflow:auto}.status-screen{align-content:center;justify-items:start;gap:18px;display:grid}.status-screen h1,.records-screen h1{letter-spacing:.07em;max-width:24ch;margin:0;font-family:Songti SC,Noto Serif CJK SC,serif;font-size:clamp(36px,5vw,76px);font-weight:600;line-height:1.2}.status-screen p,.records-screen>p,.session-note,.session-notice{max-width:62ch;color:var(--color-muted);margin:0;font-size:clamp(16px,1.4vw,21px);line-height:1.75}.status-screen button,.records-screen>button,.page-utilities button,.save-retry,.debrief-copy nav button{letter-spacing:.08em;border-color:#c96532b8;padding:10px 18px;font-size:16px}.page-utilities{z-index:4;top:max(18px, env(safe-area-inset-top));right:max(22px, env(safe-area-inset-right));gap:10px;display:flex;position:fixed}.session-note,.session-notice{z-index:3;right:max(22px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));left:max(22px, env(safe-area-inset-left));border-left:2px solid var(--color-ember);background:#070b0de0;width:min(680px,100% - 44px);padding:12px 16px;position:fixed}.session-note{pointer-events:none}.session-notice{color:#e0b18b;flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.session-notice button{padding:7px 10px}.audio-notice{top:max(76px, calc(env(safe-area-inset-top) + 58px));right:max(22px, env(safe-area-inset-right));width:min(360px,100% - 44px);bottom:auto;left:auto}.modal-backdrop{z-index:20;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#030607c7;place-items:center;display:grid;position:fixed;inset:0;overflow:auto}.settings-dialog{width:min(94vw,620px);max-height:min(90dvh,760px);color:var(--color-text);background:linear-gradient(145deg,#242c2e,#0b1012 72%);border:1px solid #c96532c2;padding:clamp(24px,4vw,42px);overflow:auto;box-shadow:0 28px 100px #0009}.archive-dialog{width:min(96vw,1280px);max-height:94dvh;padding:0}.archive-dialog .archive-screen{min-width:0;height:92dvh}.settings-dialog h1{margin:16px 0 26px;font-size:clamp(28px,4vw,42px)}.settings-dialog label{grid-template-columns:minmax(8em,1fr) minmax(0,1.5fr);align-items:center;gap:14px;margin:16px 0;line-height:1.45;display:grid}.settings-dialog label:has(input[type=checkbox]){gap:10px;display:flex}.settings-dialog input[type=range]{width:100%;accent-color:var(--color-ember)}.settings-dialog p{color:var(--color-muted);line-height:1.75}.settings-dialog>button:first-child{float:right;background:0 0;border:0;border-bottom:1px solid #aeb4b280;min-height:auto;padding:5px 0}.records-screen{align-content:start;gap:18px;display:grid}.records-screen article{background:#070b0d8a;border:1px solid #aeb4b24d;width:min(100%,860px);padding:22px 26px}.records-screen article p{color:#d3d8d5;margin:.6em 0;line-height:1.6}.records-screen details{color:var(--color-muted);margin-top:18px}.records-screen summary{cursor:pointer}.debrief-screen{height:100dvh;min-height:0;padding:max(34px, env(safe-area-inset-top)) 22px max(34px, env(safe-area-inset-bottom));overflow:auto}.debrief-copy{text-align:left;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#070b0d9e;max-width:780px;margin:auto;padding:clamp(28px,5vw,58px)}.debrief-copy p{letter-spacing:.035em;margin:0 0 1em;font-size:clamp(16px,1.2vw,20px);line-height:1.7}.debrief-copy details{color:var(--color-muted);margin:1.4em 0}.debrief-copy nav{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.save-retry{z-index:5;position:fixed;bottom:24px;right:24px}:root[data-reduced-motion=true] *,:root[data-reduced-motion=true] :before,:root[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}@media (width<=1100px){.landing-screen{background-position:56%}.landing-copy{width:42vw;min-width:340px;margin-left:48px}.landing-copy h1{font-size:clamp(64px,8.6vw,94px)}.landing-subtitle{font-size:clamp(20px,2.4vw,28px)}.mechanical-button{min-height:72px;font-size:24px}}@media (width<=720px) and (orientation:portrait){.landing-screen{background-position:65%}.landing-copy{width:auto;min-width:0;margin:0 24px max(48px, env(safe-area-inset-bottom));align-self:end;transform:none}.landing-copy h1{font-size:clamp(56px,18vw,86px)}.landing-menu{width:100%;margin-top:34px}.landing-subtitle{margin:18px 0 28px;font-size:20px}.mechanical-button{width:100%}.debrief-title-action{top:20px;right:20px}.debrief-copy{margin-bottom:max(48px, env(safe-area-inset-bottom));align-self:end}.debrief-copy h1{font-size:30px}.page-utilities{top:auto;bottom:max(16px, env(safe-area-inset-bottom))}.settings-dialog{width:100%;min-height:min(100%,540px)}.settings-dialog label{grid-template-columns:1fr;gap:7px}.records-screen,.status-screen{padding:88px 22px 78px}}@media (height<=520px) and (orientation:landscape){.landing-copy{margin-top:max(66px, env(safe-area-inset-top));margin-bottom:max(30px, env(safe-area-inset-bottom));align-self:start;transform:none}.landing-copy h1{font-size:clamp(54px,9vw,72px)}.landing-menu{gap:10px;margin-top:32px}.mechanical-button{min-height:64px}.continue-sortie-button{min-height:42px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
