:root{color-scheme:dark;--ink:#e2e7df;--muted:#8e9e98;--gold:#c8b57e;--edge:#34413d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 0,#223331 0,transparent 55%),#0b1113;color:var(--ink);font:14px/1.65 system-ui,-apple-system,"PingFang SC",sans-serif}a{color:inherit;text-decoration:none}header{border-bottom:1px solid var(--edge);padding:20px 4vw;display:flex;justify-content:space-between;font-weight:700}header span{color:var(--muted);font-weight:400}main{max-width:1440px;margin:auto;padding:36px 4vw}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font:11px/1.4 monospace;letter-spacing:2px;color:var(--gold)}h1{font-size:clamp(26px,3vw,42px);letter-spacing:1px;margin:6px 0;font-weight:600}h1 em{font-style:normal;color:var(--gold);font-size:.55em;border-left:1px solid #667266;padding-left:14px;margin-left:12px;white-space:nowrap}.subtitle{color:var(--muted);margin:6px 0}.badge{font:26px monospace;border:1px solid #526152;text-align:center;padding:15px;color:var(--gold)}.badge small{font:11px system-ui;letter-spacing:3px}.command-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;align-items:start}#game-stage{position:relative;background:#05090b;border:1px solid #526052;box-shadow:0 18px 70px #0005}canvas{display:block;width:100%;height:auto;aspect-ratio:4/3;image-rendering:pixelated;touch-action:none;outline:none}canvas:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.stage-top,.stage-bottom{display:flex;justify-content:space-between;gap:10px;padding:10px 14px;background:#162021;font:10px/1.5 monospace;color:var(--muted)}.live{color:#a5b97e}.stage-top #status{font:11px system-ui}.stage-bottom{font-size:9px;letter-spacing:.5px}aside{padding:20px;background:linear-gradient(145deg,#1e2b2a,#111b1c);border:1px solid var(--edge)}aside h2{font-size:21px;margin:8px 0 18px}#wallet{padding:12px 0;color:var(--gold);border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);font-size:12px}#brief{font-size:12px;min-height:60px;color:#b4c1b8}#armory{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}button,select{font:inherit;font-size:12px;background:#273330;color:var(--ink);border:1px solid #526052;border-radius:2px;min-height:40px;padding:8px;cursor:pointer}button:hover,select:hover{background:#34473d;border-color:var(--gold)}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{opacity:.25;cursor:default}button.selected{background:#514d32;border-color:#d8c98e}button.unaffordable{color:#819087;background:#1a2423}.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid var(--edge);padding-top:16px}.toolbar label{grid-column:1/-1;font-size:11px;color:var(--muted)}select{width:100%;margin-top:6px}.hint{font-size:11px;color:var(--muted);margin:18px 0 0}.field-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:40px 0}.field-guide span{color:var(--gold);font:10px monospace;letter-spacing:2px}.field-guide h3{font-size:16px;margin:10px 0}.field-guide p{font-size:13px;color:var(--muted);margin:0}footer{border-top:1px solid var(--edge);padding:24px 0;font-size:11px;color:var(--muted)}#exit-fullscreen{display:none;position:absolute;right:12px;top:45px;z-index:2}#game-stage:fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center}#game-stage:fullscreen canvas{width:min(100vw,calc((100dvh - 76px) * 4 / 3));height:auto;max-width:100vw}#game-stage:fullscreen #exit-fullscreen{display:block}@media(max-width:1000px){.command-layout{grid-template-columns:minmax(0,1fr) 225px}aside{padding:14px}.stage-bottom span:last-child{display:none}}@media(max-width:760px){main{padding:20px 14px}header{padding:14px;font-size:11px}.badge{display:none}.command-layout{grid-template-columns:1fr}#armory{grid-template-columns:repeat(3,1fr)}#brief{min-height:0}.toolbar{grid-template-columns:repeat(3,1fr)}.toolbar label{grid-column:auto}.field-guide{grid-template-columns:1fr;gap:22px}h1 em{margin-left:6px;padding-left:8px}.stage-top{padding:7px;font-size:8px}.stage-top #status{font-size:10px}}
