:root{
  color-scheme:dark;
  --ink:#e9e1c9;--muted:#a8b1ad;--panel:rgba(7,14,18,.88);--line:#49585a;
  --amber:#e3ad3a;--green:#89c55b;--cyan:#58b9d7;--violet:#a76cc9;--red:#db5d43;
  --shadow:0 20px 60px rgba(0,0,0,.55);--radius:10px;
  font-family:"Arial Narrow","Roboto Condensed","Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#05090c;color:var(--ink);overflow:hidden}
button,select,input{font:inherit}
button{color:var(--ink);background:linear-gradient(#263033,#141c1f);border:1px solid #536065;border-radius:4px;padding:.72rem 1rem;letter-spacing:.08em;font-weight:800;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.08),0 3px 10px rgba(0,0,0,.35)}
button:hover,button:focus-visible{border-color:var(--amber);outline:none;filter:brightness(1.12)}
button:active{transform:translateY(1px)}
button.primary{background:linear-gradient(#e9c56b,#a86f18);color:#151109;border-color:#ffe79b}
[hidden]{display:none!important}
.game{position:relative;width:100vw;height:100vh;min-height:620px;background:#060b0f;isolation:isolate}
.view-art{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(3,8,11,.28),rgba(3,8,11,.52)),url('/assets/games/main-control.webp');background-size:100% 100%,cover;background-position:center,center;background-repeat:no-repeat;transition:background-position .28s ease;z-index:-3}
.game[data-view="overview"] .view-art{background-image:linear-gradient(90deg,rgba(3,8,11,.56),rgba(3,8,11,.3)),url('/assets/games/main-control.webp');background-position:center,center}
.game[data-view="power"] .view-art{background-image:linear-gradient(rgba(3,8,11,.28),rgba(3,8,11,.55)),url('/assets/games/main-control.webp');background-position:center,center}
.game[data-view="life"] .view-art{background-image:linear-gradient(rgba(3,8,11,.28),rgba(3,8,11,.55)),url('/assets/games/main-control.webp');background-position:center,center}
.game[data-view="comms"] .view-art{background-image:linear-gradient(rgba(3,8,11,.28),rgba(3,8,11,.55)),url('/assets/games/main-control.webp');background-position:center,center}
.game[data-view="engineering"] .view-art{background-image:linear-gradient(rgba(3,8,11,.28),rgba(3,8,11,.55)),url('/assets/games/main-control.webp');background-position:center,center}
.grain{display:none}
.topbar{position:absolute;left:0;right:0;top:0;height:76px;display:grid;grid-template-columns:220px 1fr 150px 60px;align-items:center;gap:1px;background:rgba(4,9,12,.94);border-bottom:1px solid #4c5655;z-index:10;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.brand{height:100%;border:0;border-right:1px solid #4c5655;background:transparent;text-align:left;padding:10px 20px;font-size:19px;line-height:.9}.brand span{display:block;color:#d7d0bd}.brand strong{font-size:26px;color:var(--amber)}
.incident-strip{padding:0 22px}.incident-strip strong{display:block;font-size:20px;letter-spacing:.1em}.eyebrow{display:block;color:#9ba9a7;font-size:11px;letter-spacing:.18em;margin-bottom:5px}
.clock-block{padding:0 16px;border-left:1px solid #344045}.clock-block strong{font-family:ui-monospace,monospace;font-size:25px;color:var(--red)}
.icon-button{height:48px;width:48px;padding:0;font-size:20px}
.resource-rail{position:absolute;top:76px;left:0;bottom:86px;width:190px;background:rgba(5,12,16,.9);border-right:1px solid #4c5655;padding:16px 12px;z-index:8;overflow:auto}
.resource{padding:10px 10px 12px;margin-bottom:10px;background:rgba(12,21,25,.92);border:1px solid #354248;border-radius:5px}.resource span{font-size:11px;letter-spacing:.13em}.resource strong{float:right;font-family:ui-monospace,monospace}.resource i{display:block;height:8px;margin-top:8px;border:1px solid #3b474b;background:#060a0c}.resource b{display:block;height:100%;width:50%;background:var(--amber)}.resource.coolant b{background:var(--cyan)}.resource.bandwidth b{background:var(--violet)}.resource.oxygen b{background:var(--green)}
.utility-button{width:100%;margin-top:8px;font-size:11px;padding:.7rem .35rem}
.stage{position:absolute;top:76px;left:190px;right:0;bottom:86px;overflow:auto;padding:22px}
.panel-screen{min-height:100%;animation:screen-in .25s ease}
@keyframes screen-in{from{opacity:.2;transform:scale(.995)}to{opacity:1;transform:none}}
.menu-screen{display:flex;align-items:center}.menu-copy{max-width:620px;margin-left:4vw;text-shadow:0 3px 10px #000}.menu-copy .kicker{color:var(--amber);font-weight:900;letter-spacing:.18em}.menu-copy h1{font-size:clamp(64px,9vw,126px);line-height:.72;margin:.25rem 0 1.2rem;letter-spacing:-.06em}.menu-copy h1 span{color:var(--amber)}.tagline{font-size:20px;line-height:1.45;max-width:560px}.menu-actions{display:grid;width:min(390px,100%);gap:9px;margin-top:28px}.menu-actions button{font-size:15px;text-align:left;padding:1rem 1.2rem}
.glass{background:linear-gradient(145deg,rgba(10,19,23,.93),rgba(5,10,13,.86));border:1px solid #536062;border-radius:var(--radius);box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(7px)}
.overview-grid{display:grid;grid-template-columns:minmax(520px,1.35fr) minmax(320px,.65fr);gap:18px;min-height:100%}.ship-card,.objective-card{padding:18px}.card-head{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #445154;padding-bottom:10px;margin-bottom:14px;font-size:12px;letter-spacing:.14em}.card-head strong{color:var(--red)}
.ship-schematic{position:relative;min-height:470px;border-radius:8px;background-image:linear-gradient(rgba(4,10,13,.4),rgba(4,10,13,.72)),url('/assets/games/main-control.webp');background-size:100% 100%,cover;background-position:center,center;background-repeat:no-repeat;border:1px solid #3c484c}.system-node{position:absolute;min-width:120px}.power-node{left:18%;top:22%}.drive-node{right:15%;top:24%}.life-node{left:35%;bottom:17%}.comms-node{right:23%;bottom:22%}.hull-readout{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);padding:12px 18px;background:#0a1115;border:1px solid var(--amber);font-size:14px}.hull-readout strong{font-size:24px;color:var(--amber)}
.objective-card h2{font-size:34px;margin:.3rem 0}.objective-card p{color:#c3cbc5;line-height:1.5}.objective-list{list-style:none;padding:0;margin:20px 0}.objective-list li{padding:12px 10px 12px 34px;border-bottom:1px solid #344044;position:relative}.objective-list li::before{content:'□';position:absolute;left:8px;color:var(--amber)}.objective-list li.complete{color:#9fbd88}.objective-list li.complete::before{content:'✓';color:var(--green)}
.control-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;margin-bottom:16px}.control-header h2{margin:0;font-size:26px}.control-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;min-height:calc(100% - 82px)}.control-column,.procedure-column{padding:18px}.control-column{overflow:auto}.control-group{margin-bottom:16px;padding:14px;border:1px solid #394649;background:rgba(5,10,13,.74);border-radius:6px}.control-group h3{margin:0 0 12px;color:var(--amber);letter-spacing:.12em}.control-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;align-items:center;margin:12px 0}.control-row input[type=range]{width:100%;accent-color:var(--amber)}.control-row output{min-width:38px;text-align:right;font-family:ui-monospace,monospace}.toggle{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #303b3e}.toggle button{min-width:104px}.toggle button.on{border-color:var(--green);color:var(--green)}.toggle button.off{border-color:var(--red);color:var(--red)}
.procedure-card{min-height:250px;padding:14px;border:1px solid #3d484b;background:rgba(4,9,11,.72);line-height:1.5}.procedure-entry{display:block;width:100%;text-align:left;margin:8px 0}.procedure-entry.complete{border-color:var(--green);color:var(--green)}.procedure-sequence{display:flex;gap:8px;margin-top:14px}.procedure-sequence span{display:grid;place-items:center;width:36px;height:36px;border:1px solid #566268;background:#111b1f}.procedure-sequence span.done{color:var(--green);border-color:var(--green)}.procedure-pad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.procedure-pad button{font-size:23px;padding:1.2rem .5rem;background:linear-gradient(#394349,#171e22)}
.panel-nav{position:absolute;left:0;right:0;bottom:0;height:86px;background:rgba(4,9,12,.96);border-top:1px solid #526063;display:grid;grid-template-columns:repeat(5,1fr);z-index:12}.panel-nav button{border:0;border-right:1px solid #364246;border-radius:0;background:transparent;font-size:13px}.panel-nav button span{display:block;color:#6f7b7c;font-size:10px;margin-bottom:5px}.panel-nav button.active{background:linear-gradient(rgba(227,173,58,.18),transparent);color:var(--amber);box-shadow:inset 0 3px var(--amber)}
.drawer{position:absolute;right:0;top:76px;bottom:86px;width:min(480px,92vw);padding:18px;background:rgba(5,11,14,.98);border-left:1px solid #566164;z-index:20;overflow:auto;box-shadow:-20px 0 60px rgba(0,0,0,.5)}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #3e4a4d;padding-bottom:12px;margin-bottom:14px}.drawer-head h2{margin:0}.crew-card{display:grid;grid-template-columns:54px 1fr;gap:12px;padding:13px;margin:10px 0;border:1px solid #394549;background:rgba(14,23,27,.82)}.crew-avatar{width:54px;height:54px;border-radius:4px;background-image:url('./assets/crew-atlas.webp');background-size:300% 100%;background-position:calc(var(--portrait-index,0) * 50%) center;background-repeat:no-repeat}.crew-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.crew-actions button{font-size:10px;padding:.45rem}.event-log{font-family:ui-monospace,monospace;font-size:12px}.log-entry{padding:10px;border-bottom:1px solid #303a3e}.log-entry strong{color:var(--amber);margin-right:8px}.log-entry.alert{color:#e89a86}.log-entry.good{color:#a4c98b}
.modal{position:absolute;inset:0;display:grid;place-items:center;background:rgba(2,5,7,.74);backdrop-filter:blur(8px);z-index:40;padding:24px}.modal-card{width:min(980px,95vw);max-height:90vh;overflow:auto;background:linear-gradient(145deg,rgba(11,20,24,.99),rgba(5,10,13,.99));border:1px solid #6c7777;border-radius:10px;padding:28px;box-shadow:0 30px 90px #000}.briefing-card{background-image:linear-gradient(90deg,rgba(5,10,13,.96),rgba(5,10,13,.74)),url('/assets/games/main-control.webp');background-size:100% 100%,cover;background-position:center,center;background-repeat:no-repeat}.modal-card h2{font-size:42px;margin:.25rem 0 1rem}.briefing-card p{max-width:650px;font-size:18px;line-height:1.5}.briefing-objectives{display:grid;gap:8px;max-width:650px;margin:20px 0}.briefing-objectives div{padding:10px 12px;background:rgba(7,13,16,.86);border-left:3px solid var(--amber)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.compact-card{width:min(430px,90vw);text-align:center}.compact-card button{display:block;width:100%;margin:9px 0}.campaign-card{width:min(1100px,96vw)}.incident-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.incident-card{padding:14px;text-align:left;min-height:150px}.incident-card small{display:block;color:#929e9d;margin-bottom:8px}.incident-card strong{font-size:18px}.incident-card p{font-size:12px;color:#b3bdb9}.incident-card.locked{opacity:.45;filter:grayscale(.8)}
.options-card{width:min(650px,95vw)}.options-card label{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #344044}.options-card select,.options-card input[type=range]{min-width:180px}.options-card input[type=checkbox]{width:24px;height:24px;accent-color:var(--green)}
.result-card{text-align:center;background-image:linear-gradient(rgba(5,10,13,.86),rgba(5,10,13,.96)),url('/assets/games/main-control.webp');background-size:100% 100%,cover;background-position:center,center;background-repeat:no-repeat}.rating{font-size:100px;line-height:1;color:var(--amber);font-weight:1000}.result-stats{display:flex;justify-content:center;gap:30px;margin:20px 0}.result-stats span{padding:12px 18px;background:rgba(5,10,13,.8);border:1px solid #465256}.toast{position:absolute;left:50%;bottom:105px;transform:translateX(-50%) translateY(20px);background:#0b1418;border:1px solid var(--amber);padding:11px 18px;opacity:0;pointer-events:none;z-index:50;transition:.2s}.toast.show{opacity:1;transform:translateX(-50%)}
.high-contrast{--ink:#fff;--muted:#fff;--line:#fff}.high-contrast .glass,.high-contrast .control-group{border-width:2px}.reduced-motion *{animation:none!important;transition:none!important}
@media (max-width:900px){html,body{overflow:auto}.game{min-height:900px;height:auto}.topbar{position:fixed;grid-template-columns:150px 1fr 110px 48px;height:68px}.brand{font-size:13px}.brand strong{font-size:19px}.resource-rail{position:fixed;top:68px;left:0;right:0;bottom:auto;width:auto;height:82px;display:grid;grid-template-columns:repeat(4,1fr);padding:6px;z-index:15}.resource{margin:0 3px;padding:6px;font-size:10px}.utility-button{display:none}.stage{position:relative;top:150px;left:0;right:auto;bottom:auto;min-height:670px;padding:12px 12px 100px}.panel-nav{position:fixed;height:74px}.overview-grid,.control-layout{grid-template-columns:1fr}.ship-schematic{min-height:380px}.control-layout{min-height:auto}.drawer{position:fixed;top:68px;bottom:74px}.menu-copy{margin:0}.menu-copy h1{font-size:68px}.incident-strip .eyebrow{display:none}.incident-strip strong{font-size:14px}.clock-block{padding:0 5px}.clock-block strong{font-size:18px}.panel-nav button{font-size:10px;padding:.4rem}.panel-nav button span{display:none}}
@media (max-width:560px){.topbar{grid-template-columns:112px 1fr 80px 42px}.brand{padding:8px}.resource strong{float:none;display:block}.overview-grid{display:block}.objective-card{margin-top:12px}.control-row{grid-template-columns:1fr}.control-row output{text-align:left}.procedure-pad button{font-size:18px}.result-stats{flex-direction:column;gap:6px}.modal-card{padding:18px}.modal-card h2{font-size:30px}.menu-copy .tagline{font-size:16px}}
.game[data-view="menu"] .topbar,.game[data-view="menu"] .resource-rail,.game[data-view="menu"] .panel-nav{display:none}
.game[data-view="menu"] .stage{inset:0;left:0;padding:0 4vw}
