:root{color-scheme:dark;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0a0c10;color:#eeece7;font-size:16px;--ink: #eeece7;--muted: #a8adb7;--accent: #ff784f;--accent-soft: #ffd0b8;--line: #303641;--surface: #11151c;--mono: ui-monospace, SFMono-Regular, Consolas, monospace}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 12% 0,#1d252e70,transparent 52%),radial-gradient(ellipse at 100% 70%,#51251d21,transparent 45%),#0a0c10}button,select,input{font:inherit;color:inherit}button,select,input:not([type=checkbox]){background:#151a23;border:1px solid #454d5b;border-radius:4px;padding:12px 14px;text-align:left}button{cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}button:hover{background:#242b36;border-color:#768294}button:disabled{opacity:.48;cursor:wait}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:focus-visible{background:#282e38}a{color:var(--accent-soft);text-underline-offset:4px}#shell{max-width:1520px;min-height:100dvh;margin:auto;padding:env(safe-area-inset-top) max(40px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);column-gap:clamp(40px,7vw,112px);row-gap:28px;align-content:start}.topbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em}.wordmark{display:inline-flex;align-items:center;gap:12px}.brand-mark{display:inline-grid;place-items:center;width:29px;height:32px;color:#101114;background:var(--accent);clip-path:polygon(0 0,71% 0,100% 25%,100% 100%,29% 100%,0 75%);font-size:22px;font-weight:900;letter-spacing:-.08em}.wordmark-divider{color:#6c7584;margin:0 5px}.edition{display:flex;align-items:center;gap:12px;color:var(--muted);white-space:nowrap}.edition-line{display:inline-block;height:1px;width:32px;background:var(--accent)}.intro{grid-column:1;min-width:0}.eyebrow,.menu-caption{font:10px/1.5 var(--mono);font-weight:600;letter-spacing:.14em;color:var(--accent-soft);margin:0 0 18px}.signal{display:inline-block;width:6px;height:6px;margin:0 7px 1px 0;background:var(--accent);box-shadow:0 0 14px #ff784f66}h1{font-family:Impact,Haettenschweiler,Arial Narrow Bold,Liberation Sans,Arial,sans-serif;font-size:clamp(100px,13.5vw,192px);font-weight:900;letter-spacing:-.045em;line-height:.82;margin:24px 0 21px;color:var(--ink)}h1 span{display:block;font:600 11px/1.4 var(--mono);letter-spacing:.32em;color:#c0c6cf;margin:19px 0 0 5px}h1 i{font-style:normal;color:var(--accent);margin:0 12px}.intro-copy{color:#e8e5e0;font-size:19px;font-weight:500;line-height:1.55;margin:0 0 24px;letter-spacing:-.02em}.intro-copy span{color:var(--muted);font-weight:400;font-size:14px;letter-spacing:0}.mission-art{margin:0 0 20px;border:1px solid #37414e;position:relative;overflow:hidden;background:#101721;border-radius:3px}.mission-art svg{display:block;width:100%;aspect-ratio:960 / 420;object-fit:cover}.mission-art:before,.mission-art:after{content:"";position:absolute;width:28px;height:28px;z-index:1;pointer-events:none}.mission-art:before{top:-1px;left:-1px;border-left:2px solid var(--accent);border-top:2px solid var(--accent)}.mission-art:after{right:-1px;bottom:31px;border-right:2px solid #92b2be;border-bottom:2px solid #92b2be}.mission-art figcaption{display:flex;justify-content:space-between;gap:16px;padding:9px 12px;background:#131a22;color:#bcc6cf;font:9px/1.4 var(--mono);letter-spacing:.07em;border-top:1px solid #35404b}.art-marker{color:var(--accent);font-size:12px;margin-right:6px}.mission-meta{display:grid;grid-template-columns:1.12fr 1fr;gap:20px}.mission-meta>span{color:#9ca7b7;font:9px/1.5 var(--mono);letter-spacing:.06em;border-left:2px solid #404956;padding-left:12px}.mission-meta strong{display:block;margin-top:6px;color:#e1e5eb;font:500 12px/1.5 var(--mono);letter-spacing:0;overflow-wrap:anywhere}.local-note{font-size:11px;color:#a4adb9;margin:18px 0 0}#home{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:0;min-width:0;padding-top:3px}.menu-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#aeb7c5;margin-bottom:22px;font-size:9px;letter-spacing:.09em}.menu-caption>span:last-child{color:#8893a5;font-size:9px}#home button{position:relative;width:100%;min-height:57px;padding:16px 38px 16px 45px;border:0;border-bottom:1px solid #343b47;border-radius:0;background:transparent;font-size:14px;font-weight:500;text-align:left}#home button:before{content:attr(data-index);position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#9ba6b6;font:10px var(--mono)}#home button:after{content:"›";position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#9ba6b6;font-size:15px}#home button:hover,#home button:focus-visible{background:#202632;border-color:#748094}#home button:focus-visible{z-index:1}#home #play{min-height:88px;margin-bottom:16px;padding-left:22px;padding-right:22px;background:var(--accent);border:1px solid var(--accent);border-radius:4px;color:#1d130f;font-size:24px;font-weight:750;box-shadow:0 8px 32px #ff653321}#home #play:before,#home #play:after{content:none}#home #play:hover,#home #play:focus-visible{background:#ff9874;border-color:#ffbc9f}kbd{font:11px/1.2 var(--mono);color:#d2d9e2}#play kbd{float:right;margin-top:10px;color:#3c251b;font-weight:600}.keyboard-guide{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;border:1px solid #38404d;border-radius:4px;background:#151a225c;padding:18px 16px;margin-top:27px;font-size:11px;color:#b3bdcb}.keyboard-guide span{white-space:nowrap}.keyboard-guide kbd{display:inline-block;min-width:26px;padding:5px 6px;margin-right:6px;border:1px solid #586273;border-bottom-width:2px;border-radius:3px;background:#202733;color:#e3e8ef;text-align:center}#panel{grid-column:2;grid-row:2;min-width:0;max-height:74dvh;overflow:auto;scrollbar-color:#69788e #151b25;scrollbar-gutter:stable;padding:2px 12px 10px 2px;margin:-2px -12px -10px -2px}#panel h2{margin:0 0 20px;font-size:30px;letter-spacing:-.04em;line-height:1.15}#panel h3,.section-title{font-size:15px;margin:22px 0 10px;color:var(--accent-soft)}#panel button{display:block;width:100%;margin:8px 0;font-size:13px;line-height:1.4}#panel label{display:block;margin:14px 0;font-size:12px;color:#cad2dd;line-height:1.5}#panel label input:not([type=checkbox]),#panel label select{display:block;width:100%;margin-top:7px}#panel input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px;vertical-align:middle;margin-right:8px}#panel input[type=range]{accent-color:var(--accent);padding:8px 0}#panel input,#panel select{min-height:44px;font-size:14px}#panel fieldset,.settings-group{border:1px solid var(--line);padding:8px 16px 14px;margin:22px 0;border-radius:4px;background:#11162070}#panel legend{color:var(--accent-soft);font-size:12px;padding:0 7px}.hint{font-size:12px;line-height:1.7;color:#b5becc}.controls{font-size:13px}.controls button{font-size:12px;padding:8px}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.preset-grid button{height:100%}.preset-grid button[aria-pressed=true]{border-color:var(--accent);background:#3b2824;color:#ffe2d3}footer{grid-column:1 / -1;border-top:1px solid var(--line);margin-top:8px;padding-top:18px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:6px 30px;font-size:11px;line-height:1.6}.system-status p{margin:0 0 5px}#status{color:var(--accent-soft)}#offline{color:#b6c9bc}.footer-links{text-align:right}.footer-links p{margin:0 0 7px}.footer-links a{color:#b9c3d0;font-size:10px}.small{font:10px/1.7 var(--mono);color:#b6c0cf}.small span{margin:0 5px;color:#7b899e}.file-note{grid-column:1 / -1;margin:6px 0 0;font-size:10px;color:#a7b3c4}#game{position:fixed;inset:0;background:#000;display:flex;align-items:center;justify-content:center}#game[hidden],[hidden]{display:none!important}canvas{display:block;width:min(100vw,133.333dvh);height:min(75vw,100dvh);max-width:100%;image-rendering:pixelated;outline:none}#game[data-renderer=modern] canvas{image-rendering:auto!important}#presentation{position:absolute;z-index:1;pointer-events:none}#resume{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:24px;background:#080b11eb;overflow-y:auto}.resume-card{margin:auto;max-width:490px;width:100%;border:1px solid #556174;border-top:3px solid var(--accent);border-radius:5px;padding:34px;background:linear-gradient(140deg,#1c2330,#11161e);box-shadow:0 20px 100px #0008}.resume-card h2{font-size:34px;letter-spacing:-.04em;margin:0 0 12px}.resume-card>p:not(.eyebrow){color:#bdc8d8;font-size:13px;line-height:1.6}#resumeButton{width:100%;background:var(--accent);border-color:var(--accent);color:#21140e;margin:14px 0 24px;font-weight:700}#resumeButton span{float:right}#resumeButton:focus-visible{outline-color:#ffd1b7;background:#ff9874}.resume-controls{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0;padding-top:20px;border-top:1px solid #394354}.resume-controls dt{font:12px var(--mono);color:var(--accent-soft)}.resume-controls dd{font-size:11px;color:#c0ccdc;margin:5px 0 0}.resume-card .resume-hint{font-size:10px!important;margin:20px 0 0}@media(min-width:1500px){#shell{padding-top:12px;row-gap:38px}}@media(max-width:1000px){#shell{column-gap:38px;padding-left:max(28px,env(safe-area-inset-left));padding-right:max(28px,env(safe-area-inset-right));grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.edition{display:none}#home button{font-size:13px}.mission-meta{grid-template-columns:1fr;gap:12px}.intro-copy{font-size:17px}.intro-copy span{font-size:13px}h1{font-size:clamp(96px,14vw,142px)}h1 span{font-size:10px;letter-spacing:.2em}.keyboard-guide{padding:16px 12px;gap:12px}}@media(max-width:700px){#shell{grid-template-columns:1fr;row-gap:28px;padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}.topbar{min-height:68px;font-size:9px}.intro,#home,#panel{grid-column:1;grid-row:auto}h1{font-size:clamp(72px,25vw,160px);margin-top:22px}h1 span{font-size:10px}.intro-copy{margin-bottom:22px}.mission-art{max-width:640px}.mission-art svg{aspect-ratio:960 / 420}.mission-meta{grid-template-columns:1fr 1fr;gap:16px}.mission-meta strong{font-size:11px}.local-note{margin-top:16px}#home{padding-top:0}#panel{max-height:none;padding-right:2px;margin-right:-2px}#home #play{min-height:80px}.menu-caption{margin-bottom:16px}.keyboard-guide{grid-template-columns:repeat(2,minmax(0,1fr))}footer{grid-template-columns:1fr;gap:14px}.footer-links{text-align:left}.file-note{margin-top:0}}@media(max-height:900px)and (min-width:701px){#shell{row-gap:21px}.topbar{min-height:64px}h1{font-size:clamp(94px,11vw,150px);margin-top:18px;margin-bottom:16px}h1 span{margin-top:15px}.intro-copy{font-size:17px;margin-bottom:18px}.intro-copy span{font-size:13px}.mission-art{margin-bottom:16px}.mission-art svg{aspect-ratio:960 / 320;object-fit:cover}.eyebrow{margin-bottom:14px}#home button{min-height:48px;padding-top:12px;padding-bottom:12px}#home #play{min-height:72px;margin-bottom:10px}.menu-caption{margin-bottom:18px}.keyboard-guide{margin-top:20px;padding-top:14px;padding-bottom:14px}.resume-card{padding:24px}}@media(max-height:700px)and (min-width:701px){h1{font-size:100px}.mission-art svg{aspect-ratio:960 / 260}.local-note{margin-top:12px}.keyboard-guide{margin-top:16px}}@media(max-width:380px){#shell{padding-left:16px;padding-right:16px}.wordmark{gap:9px}.wordmark-divider{margin:0 2px}h1{font-size:25vw}h1 span{letter-spacing:.12em}.mission-art figcaption{font-size:8px;padding-left:8px;padding-right:8px}}@media(prefers-reduced-motion:reduce){button{transition:none}}@media(forced-colors:active){button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline-color:Highlight}#home #play,#resumeButton{border:2px solid ButtonText}.mission-meta>span{border-color:CanvasText}.signal{background:CanvasText;box-shadow:none}}.touch-guide{display:none}[data-controls=mobile] .touch-guide{display:block}[data-controls=mobile] .keyboard-guide,[data-controls=mobile] #play kbd{display:none}#touchControls{position:absolute;inset:0;z-index:2;pointer-events:none;user-select:none;-webkit-user-select:none}#touchControls button,.touch-stick{pointer-events:auto;touch-action:none;-webkit-touch-callout:none}#touchControls button{min-width:48px;min-height:48px;padding:10px;border:1px solid #e5ba7099;background:#111b19b8;color:#fff5df;font-size:12px;font-weight:700;text-align:center;text-shadow:0 1px 3px #000;border-radius:12px}#touchControls button.pressed,#touchControls button:active{background:#886020d9;border-color:#ffe0a4}.touch-toolbar{position:absolute;top:max(10px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;justify-content:space-between}.touch-stick{position:absolute;bottom:max(34px,env(safe-area-inset-bottom));width:clamp(100px,20vmin,160px);height:clamp(100px,20vmin,160px);border:2px solid #e5ba7080;border-radius:50%;background:#18201d70;display:grid;place-items:center}.move-stick{left:max(20px,env(safe-area-inset-left))}.look-stick{right:max(20px,env(safe-area-inset-right))}.touch-stick span{position:absolute;top:12px;color:#fff5df;font:10px var(--mono);text-shadow:0 1px 3px #000}.touch-stick i{display:block;width:36%;height:36%;border:1px solid #f5ddb9bb;border-radius:50%;background:#e5ba7055;pointer-events:none}.touch-actions{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:calc(max(34px,env(safe-area-inset-bottom)) + clamp(100px,20vmin,160px) + 12px);display:grid;grid-template-columns:repeat(4,minmax(48px,70px));gap:8px}#touchControls .touch-fire{position:absolute;left:max(20px,env(safe-area-inset-left));bottom:calc(max(34px,env(safe-area-inset-bottom)) + clamp(100px,20vmin,160px) + 12px);width:clamp(100px,20vmin,160px);min-height:56px;background:#78401cc9;border-color:#ffd18c}.touch-menu{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));display:flex;justify-content:space-between;gap:12px}.touch-menu>div{display:flex;flex-wrap:wrap;gap:8px;align-content:end}.touch-name{pointer-events:auto;position:absolute;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));margin:auto;max-width:420px;padding:12px;background:#111b19f5;border:1px solid var(--accent);border-radius:8px}.touch-name label{display:block;font-size:12px}.touch-name input{display:block;width:100%;margin:8px 0;touch-action:auto}.touch-orientation{display:none}@media(orientation:portrait){.touch-orientation{display:block;position:absolute;top:max(66px,env(safe-area-inset-top));width:100%;color:#f5ddb9;text-align:center;font-size:11px}.touch-actions{grid-template-columns:repeat(3,56px)}[data-controls=mobile] #game canvas{margin-bottom:80px}}@media(max-height:400px)and (orientation:landscape){.touch-stick{bottom:max(12px,env(safe-area-inset-bottom));width:100px;height:100px}.touch-actions{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 112px);right:max(20px,env(safe-area-inset-right));grid-template-columns:repeat(2,64px);gap:4px}#touchControls .touch-fire{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 112px);width:100px}#touchControls button{min-height:44px;padding:6px}}#rotatePrompt{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:24px;background:#111b19;text-align:center}#rotatePrompt span{font-size:64px;color:var(--accent)}#rotatePrompt p{line-height:1.6;color:var(--muted)}@media(max-height:340px)and (orientation:landscape){.touch-actions{grid-template-columns:repeat(4,56px)}#touchControls .touch-actions button{font-size:11px}}#loadingScreen{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;overflow:auto;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));background:#080b11f5}.loading-card{margin:auto;width:min(100%,560px);padding:24px;border:1px solid #556174;border-top:3px solid var(--accent);border-radius:8px;background:#141c28}.loading-card h2{font-size:clamp(19px,4vw,26px);line-height:1.3;margin:12px 0 22px}.loading-card progress{width:100%;height:16px;accent-color:var(--accent)}.loading-card p{font-size:14px;line-height:1.5;color:#bdc8d8}.loading-card .loading-amount{font-size:20px;font-weight:700;color:#fff}.loading-card .loading-hint{padding-top:14px;border-top:1px solid #394354}@media(max-height:450px){.loading-card{padding:16px 22px}.loading-card h2{margin:8px 0 12px}.loading-card p{margin:8px 0}}
