*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#000;color:#87bcca;font:12px monospace}body{display:grid;place-items:center;min-height:100dvh}button,select{font:inherit;color:inherit;background:#02131d;border:1px solid #185164;padding:9px 12px;cursor:pointer}button:hover,button:focus-visible{color:#00ffb2;border-color:#00ffb2;outline:none}button:disabled{opacity:.5;cursor:wait}#cabinet{width:min(100vw,calc((100dvh - 46px)*496/480));}#screen{position:relative;width:100%;aspect-ratio:496/480;background:#010713;overflow:hidden;touch-action:none}#screen canvas{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}#hud{z-index:2;cursor:none}#overlay{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(#000b,#010b20e6);text-align:center;padding:25px}.eyebrow{letter-spacing:3px;font-size:10px;color:#50c9da}h1{font:bold italic clamp(35px,10vw,68px)/.85 Impact,Arial,sans-serif;letter-spacing:-2px;color:#eeeaff;text-shadow:2px 3px #342c98,-2px -1px #99dbff;margin:35px 0 15px}h1 span{display:block;color:#68baff}p.sub{font-size:11px;letter-spacing:4px;color:#54d6e8}#message{min-height:28px;color:#1dffb5;line-height:1.6;max-width:330px}#start{color:#03ffb1;letter-spacing:2px;padding:12px 25px;margin:6px 0 20px}#missionLabel{font-size:9px}select{max-width:230px;font-size:10px;padding:7px}.controls{line-height:2;font-size:9px;margin-top:20px;color:#7abbd1}.edition{font-size:9px;color:#506575}footer{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;font-size:8px;padding:5px 0}nav{display:flex;gap:4px}footer button{font-size:8px;border:0;background:transparent;padding:6px 3px;color:#608594}[hidden]{display:none!important}dialog{background:#041220;color:#b6d6e2;border:1px solid #22758a;max-width:460px;line-height:1.8;padding:28px}dialog::backdrop{background:#000c}dialog h2{color:#38edc9}#cabinet:fullscreen{width:100%;height:100%;display:grid;place-content:center;background:#000}#cabinet:fullscreen #screen{width:min(100vw,calc((100dvh - 44px)*496/480))}@media(max-width:520px){footer{padding:4px;font-size:7px}footer button{font-size:7px}.controls{margin-top:12px}h1{margin-top:22px}}

h1{width:96%;margin:34px 0 20px;line-height:1}h1 img{display:block;width:100%;filter:drop-shadow(0 3px 0 #246095) drop-shadow(0 6px 0 #102447);image-rendering:auto}#choose,#continue{margin:0 0 12px;padding:7px 12px;font-size:9px}
@media(max-width:520px),(max-height:580px){#overlay{padding:12px}.eyebrow{font-size:8px;letter-spacing:2px}h1{margin:10px 0 7px;max-width:400px}p.sub{font-size:8px;margin:5px;letter-spacing:2px}#message{font-size:9px;min-height:14px;margin:5px;line-height:1.4}#start{padding:8px 14px;margin:5px 0 9px;font-size:10px}#missionLabel{font-size:8px}select{font-size:8px;padding:4px}.controls{font-size:8px;line-height:1.4;margin:8px 0 3px}.edition{font-size:7px;margin:5px}#choose,#continue{margin:0 0 7px;padding:5px 10px}}

#cabinet{--ratio:16/9;width:min(100vw,calc((100dvh - 46px)*var(--ratio)))}
#screen{aspect-ratio:var(--ratio)}
#cabinet[data-graphics="classic"]{--ratio:496/480}
#cabinet[data-graphics="hd"] #screen canvas:not(#hud){image-rendering:auto}
#cabinet:fullscreen #screen{width:min(100vw,calc((100dvh - 44px)*var(--ratio)))}
#graphicsLabel{font-size:9px;margin-top:12px;display:flex;align-items:center;gap:12px}
#overlay h1{max-width:470px;width:min(80%,470px)}
@media(max-height:580px){#graphicsLabel{margin-top:6px;font-size:8px}}

#cabinet[data-graphics="hd"] #hud{image-rendering:auto}

#cabinet[data-graphics="vector"] #screen canvas{image-rendering:auto}#cabinet[data-graphics="vector"] #hud{filter:drop-shadow(0 0 2px #62cddd90)}

#sequencePanel{position:absolute;inset:0;background:#000;z-index:8}#sequencePanel[hidden]{display:none}#sequenceVideo{width:100%;height:100%;object-fit:contain;display:block}.sequenceControls{position:absolute;bottom:10px;left:12px;right:12px;display:flex;align-items:center;gap:12px;padding:8px;background:#000b;font:11px monospace;color:#a1f0df}.sequenceControls span{flex:1}#experienceLabel{display:block;margin:12px 0}#experience{max-width:100%}

#sequencePanel{background:transparent;pointer-events:none}#sequencePanel .sequenceControls{pointer-events:auto}#sequenceAudio{display:none}

/* Keep text on its native display pixel grid; glow is drawn by individual HUD elements. */
#cabinet[data-graphics="vector"] #hud{filter:none}

#cabinet[data-graphics="cinematic"] #screen canvas{image-rendering:auto}

#cabinet[data-sequence="true"] #hud{image-rendering:auto}

.atmosphereLabel{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:10px;color:#9abdc8}.atmosphereLabel input{accent-color:#55dfbe}
/* Start/pause menu: one type scale and a responsive settings grid. */
#overlay{display:flex;align-items:safe center;justify-content:center;overflow:auto;padding:24px;background:radial-gradient(ellipse at 50% 0%,#18384ed9,transparent 65%),linear-gradient(160deg,#020812f5,#071523f5 55%,#02050df5);font-family:Bahnschrift,"Segoe UI",Arial,sans-serif;color:#e2eef4;text-align:center}
.menu-shell{width:min(100%,700px);flex-shrink:0;margin:auto;padding:24px 34px 18px;border:1px solid #6eabc12b;border-radius:18px;background:linear-gradient(145deg,#142637c9,#081320d9);box-shadow:0 24px 80px #0008,inset 0 1px #ffffff0a}
.menu-brand{display:block;padding:0;margin:0}
#overlay .eyebrow{font-size:10px;line-height:1.5;letter-spacing:2.6px;color:#84a6ba}
#overlay h1{width:min(100%,400px);max-width:400px;margin:15px auto 8px;font-size:0;line-height:1;letter-spacing:normal;text-shadow:none}
#overlay h1 img{width:100%;height:auto;filter:drop-shadow(0 8px 16px #0006);object-fit:contain;image-rendering:auto}
#overlay p.sub{font-size:10px;line-height:1.5;letter-spacing:3px;color:#8bb6cc;margin:10px 0 24px}
.menu-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px;text-align:left}
#overlay .menu-settings label,#overlay #experienceLabel,#overlay #missionLabel,#overlay #graphicsLabel{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin:0;font-size:10px;line-height:1.4;letter-spacing:1.7px;color:#8eb3c7;min-width:0}
#overlay .menu-settings select{width:100%;max-width:none;min-width:0;font-family:inherit;font-size:14px;line-height:1.4;letter-spacing:0;padding:11px 12px;background:#07121e;border:1px solid #395266;border-radius:7px;color:#e4f3fc;min-height:44px}
#overlay .menu-settings select:focus-visible{outline:2px solid #67dbec;outline-offset:2px}
#overlay .soundtrack-field{grid-column:1/-1}
#overlay .volume-field input{width:100%;height:44px;margin:0;accent-color:#68dcec;cursor:pointer}
.menu-actions{margin-top:17px}
#overlay #message{font-size:11px;line-height:1.5;letter-spacing:1px;min-height:17px;max-width:none;margin:0 0 10px;color:#86c9cc}
#overlay #start{display:block;width:100%;margin:0;padding:14px 20px;min-height:48px;border:1px solid #81eaff;border-radius:8px;background:linear-gradient(110deg,#237fb0,#135682);box-shadow:0 5px 25px #1589c124,inset 0 1px #ffffff30;color:#fff;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:2px;transition:filter .15s,box-shadow .15s}
#overlay #start:hover{filter:brightness(1.17);box-shadow:0 4px 28px #239ad54a}
.secondary-actions{display:flex;justify-content:center;gap:10px}
#overlay #choose,#overlay #continue{font-family:inherit;font-size:12px;letter-spacing:.5px;margin:12px 0 0;padding:10px 16px;border-radius:6px}
#overlay .controls{font-size:11px;line-height:1.7;color:#91aabd;margin:16px 0 0}
#overlay .controls span{display:block;font-size:10px;color:#6e8ca3;letter-spacing:.6px}
@media(max-height:700px){#overlay{padding:14px}.menu-shell{padding:16px 26px 12px}#overlay h1{width:310px;margin-top:8px}#overlay p.sub{margin:5px 0 15px}.menu-settings{gap:11px 16px}#overlay .menu-settings select{padding:8px 10px;min-height:38px}.menu-actions{margin-top:12px}#overlay .controls{margin-top:10px}}
@media(max-width:600px){#overlay{padding:12px}.menu-shell{padding:18px 16px;border-radius:12px}#overlay h1{width:min(100%,340px)}.menu-settings{grid-template-columns:minmax(0,1fr);gap:12px}#overlay .menu-settings select{font-size:13px}#overlay .eyebrow{font-size:9px;letter-spacing:1.6px}#overlay .controls{font-size:10px}}
