:root{color-scheme:dark;--mint:#94ffe2;--gold:#ffd890}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{display:grid;place-items:center;background:#080f19;color:#edf8ff;font-family:Segoe UI,system-ui,sans-serif;user-select:none}body:before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at 50% 50%,#233943,transparent 70%);pointer-events:none}button{font:inherit;color:inherit;border:1px solid #577785;background:#152938;cursor:pointer;min-height:38px;padding:8px 14px;touch-action:none}button:focus-visible,canvas:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:hover{border-color:var(--mint)}#game-shell{position:relative;width:min(calc(100vw - 32px),calc((100dvh - 32px)*16/9));aspect-ratio:16/9}canvas{display:block;width:100%;height:100%;image-rendering:auto;border:1px solid #618a93;box-shadow:0 24px 100px #0009;touch-action:none}.desktop-tools{position:fixed;right:14px;top:10px;display:flex;gap:6px;z-index:45}.desktop-tools button{background:#12202caa;font:700 10px monospace;min-height:30px}#help-button{border-radius:50%;width:32px;padding:0}.modal{position:fixed;inset:0;display:none;place-items:center;padding:12px;background:#050d18d9;z-index:2000;overflow:auto}.modal.is-visible{display:grid}.modal-card{width:min(620px,100%);padding:30px;max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #668d9d;background:linear-gradient(135deg,#203645,#0c1826);box-shadow:12px 12px 0 #02091466}.eyebrow{font:700 11px monospace;letter-spacing:3px;color:var(--mint);margin:0 0 12px}h1{font-size:clamp(36px,7vw,66px);font-weight:900;font-style:italic;line-height:.95;letter-spacing:-2px;margin:16px 0 20px}h1 em{color:var(--gold)}h2{font-size:30px;margin:8px 0 16px}.modal p{line-height:1.55;color:#c5d8e5}.guide{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guide p{font:13px/1.7 monospace;padding:12px;border-left:2px solid var(--mint);background:#05121d55;margin:0}.guide b{color:var(--gold)}.fine{font-size:12px}.primary{width:100%;background:var(--mint);color:#11262e;border:0;min-height:48px;font-weight:900;letter-spacing:1px}.map-card{width:min(760px,100%)}#sector-list{display:grid;gap:8px}.sector{display:grid;grid-template-columns:50px 1fr auto;align-items:center;text-align:left;gap:12px;padding:14px;background:linear-gradient(90deg,#253a47,#10202d)}.sector .number{font:900 26px monospace;color:var(--sector)}.sector b{display:block;font-size:18px}.sector small{display:block;color:#a8c4d5;margin-top:5px}.sector .state{font:700 11px monospace;color:var(--sector)}.sector:disabled{opacity:.45;cursor:default}.map-footer{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.map-footer button{font-size:11px}#touch-controls{display:none;pointer-events:none}.control-cluster{display:flex;flex-direction:column;gap:6px;pointer-events:none}.control-button{width:112px;height:52px;border-radius:8px;background:linear-gradient(#284655,#142836);font-weight:900;font-size:12px;pointer-events:auto;box-shadow:0 3px 0 #020a12}.control-button.fire{background:#ffdc96;color:#142938}.control-button.small{height:35px;font-size:10px}.control-button.pressed{transform:translateY(2px);background:#74b7b4;box-shadow:inset 0 0 0 2px white}body.touch-device .desktop-tools{display:none}body.touch-device #touch-controls{display:flex}body:has(.modal.is-visible) #touch-controls{visibility:hidden}body.touch-device:has(#sector-modal.is-visible) .vibecade-mobile-options,body.touch-device:has(#result-modal.is-visible) .vibecade-mobile-options{visibility:hidden!important}@media(max-height:450px){.modal-card{padding:18px}.modal h1{font-size:38px}.modal h2{font-size:23px}.sector{padding:8px}.sector b{font-size:14px}.sector small{font-size:10px}.control-button{height:46px}.control-button.small{height:30px}}@media(orientation:portrait) and (max-width:900px){#game-shell{width:calc(100vw - 16px);align-self:start;margin-top:68px}html body.touch-device #touch-controls{position:fixed!important;inset:auto 12px max(28px,env(safe-area-inset-bottom))!important;justify-content:space-between;align-items:end!important;padding-bottom:0!important}.guide{grid-template-columns:1fr 1fr}.modal-card{padding:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Illustrated interface frames echo the curved armor and beveled machinery. */
button{border-radius:7px}.desktop-tools button{border-radius:7px;background:linear-gradient(#263f4dcc,#112735cc);box-shadow:inset 0 1px #d8f3ff18}
canvas{border-radius:9px;border-color:#8babb7;box-shadow:0 24px 100px #0009,0 0 0 4px #142b3a}
.modal-card{border-radius:18px;background:radial-gradient(ellipse at 10% 0%,#385466,#152b3b 45%,#0a1725);box-shadow:0 24px 85px #000a,inset 0 1px #d4eefb33}
.guide p{border-radius:7px}.primary{border-radius:9px;background:linear-gradient(#bafeea,#77d9c9);box-shadow:inset 0 1px #ffffff88,0 4px 0 #05131b66}
.sector{grid-template-columns:88px 1fr auto;border-radius:12px;background:linear-gradient(110deg,#304956,#132d3c 65%);box-shadow:inset 0 1px #c0e9f211;padding:8px 14px;min-height:81px}.sector-portrait{position:relative;display:grid;place-items:center;height:65px;background:radial-gradient(ellipse,#a0d5d71a,transparent 70%)}.sector-portrait img{width:80px;height:65px;object-fit:contain}.sector .number{position:absolute;left:-5px;bottom:0;font-size:11px;color:#bdd6dd}.sector .state{font-size:10px}.sector b{letter-spacing:.04em}.sector:hover:not(:disabled){background:linear-gradient(110deg,#3a5865,#1c3a48 65%)}
@media(max-height:450px){.sector{grid-template-columns:60px 1fr auto;min-height:62px;padding:5px 10px}.sector-portrait{height:48px}.sector-portrait img{width:59px;height:48px}}
@media(max-width:450px){.sector{grid-template-columns:60px 1fr;column-gap:8px}.sector-portrait{grid-row:1 / span 2;height:50px}.sector-portrait img{width:61px;height:50px}.sector .state{grid-column:2;font-size:9px}.sector b{font-size:14px}.sector small{font-size:11px;margin-top:2px}.map-footer{flex-wrap:wrap;gap:6px}.map-footer button{flex:1;padding:6px;font-size:9px}}




.control-button{min-height:0}.control-button[data-action="crouch"]{background:linear-gradient(#325367,#193447)}
