@font-face{font-family:Fixedsys;src:url(/font/fixedsys.ttf) format("truetype");font-display:swap}:root{color:#f8f6e7;background:#08090c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 20% 10%,rgba(189,49,38,.2),transparent 28rem),linear-gradient(135deg,#090a0d,#16110f 45%,#07080b)}button,select,input{font:inherit}button,select{min-height:42px}button{border:1px solid rgba(248,246,231,.28);border-radius:6px;color:#f8f6e7;background:#d23628e6;padding:0 16px;cursor:pointer;white-space:nowrap;transition:transform .14s ease,background .14s ease,border-color .14s ease}button:hover{transform:translateY(-1px);border-color:#f8f6e780;background:#e24a35}select,input{width:100%;border:1px solid rgba(248,246,231,.18);border-radius:6px;color:#f8f6e7;background:#08090cd1;padding:10px 12px}label{display:grid;gap:8px;color:#f8f6e7b8;font-size:13px}.check-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.check-row input{width:18px;min-width:18px;min-height:18px}.shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,auto) minmax(320px,420px);gap:clamp(18px,2.8vw,48px);align-items:center;justify-content:center;padding:clamp(14px,2.4vw,40px)}.stage{position:relative;width:min(calc(100vw - 540px),calc((100svh - clamp(28px,4.8vw,80px))*1.333),1120px);min-width:520px;aspect-ratio:4 / 3;justify-self:center;overflow:hidden;border:1px solid rgba(248,246,231,.2);border-radius:12px;background:linear-gradient(180deg,rgba(248,246,231,.08),transparent 18px),#05070b;padding:clamp(6px,.8vw,12px);box-shadow:inset 0 0 0 1px #000000c7,0 30px 90px #00000075}.canvas-wrap{position:relative;width:100%;height:100%;display:block;overflow:hidden;border-radius:7px;background:#05070b}.game-canvas,.canvas-wrap canvas{width:100%!important;height:100%!important;display:block}.game-canvas{image-rendering:pixelated}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:clamp(10px,2.2vw,24px);opacity:0;pointer-events:none;background:#05070b2e;transition:opacity .16s ease}.overlay.is-visible{opacity:1;pointer-events:auto;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.panel{width:min(430px,100%);max-height:100%;display:grid;gap:18px;border:1px solid rgba(248,246,231,.2);border-radius:8px;background:#090a0de6;padding:clamp(16px,2vw,24px);overflow:auto;transform:translateY(8px) scale(.98);animation:panel-in .18s ease forwards}.compact-panel{width:min(360px,100%)}.scores-panel{width:min(500px,100%);gap:clamp(10px,1.4vw,16px)}.info-panel p{margin:0;color:#f8f6e7b8;line-height:1.55}.side{min-width:0;align-self:center;display:grid;align-content:center;gap:clamp(18px,2.4vw,28px);padding:16px 0}.eyebrow{margin:0 0 8px;color:#e24a35;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;font-family:Fixedsys,ui-monospace,monospace;font-weight:400;letter-spacing:0}h1{max-width:100%;white-space:nowrap;font-size:clamp(44px,3.5vw,64px);line-height:.86}h2{font-size:clamp(32px,5vw,54px);line-height:.95}.panel h2{font-size:clamp(30px,4.2vw,48px)}.scores-panel h2{font-size:clamp(34px,4.8vw,56px)}.summary{max-width:26ch;margin:18px 0 0;color:#f8f6e7bd;line-height:1.5}.hud{display:grid;gap:1px;margin:0;border-top:1px solid rgba(248,246,231,.16);border-bottom:1px solid rgba(248,246,231,.16)}.hud div{display:flex;justify-content:space-between;padding:13px 0}dt{color:#f8f6e79e}dd{margin:0;font-family:Fixedsys,ui-monospace,monospace}.controls,.button-row{display:flex;flex-wrap:wrap;gap:10px}.controls button{flex:1 1 84px;padding-inline:12px}.button-row button{flex:1 1 auto}.scores{display:grid;gap:4px;margin:0;padding:0;list-style:none;min-height:0;overflow:auto}.scores li,.help-list div{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:baseline;border-bottom:1px solid rgba(248,246,231,.1);padding:6px 0}.scores li{font-size:clamp(14px,1.8vw,18px)}.help-list{display:grid;gap:6px;margin:0}.help-list div{grid-template-columns:130px 1fr}.form-error{min-height:20px;margin:0;color:#ff9c8d;font-size:13px}@keyframes panel-in{to{transform:translateY(0) scale(1)}}@media(max-width:1120px){.shell{grid-template-columns:1fr;align-items:start;padding:16px}.stage{width:min(100%,calc((100svh - 280px)*1.333));min-width:0;justify-self:stretch}.side{align-content:start;gap:18px}.summary{max-width:none}}@media(max-width:560px){.shell{padding:10px}.overlay{padding:12px}.panel{padding:18px}h1{font-size:48px}.stage{width:100%}}
