:root{--bg: #0b0c0b;--metal: #2a2c2a;--metal-hi: #3d403c;--metal-lo: #161816;--red: #c8281e;--red-hi: #ff4a3a;--text: #e4e0d4;--muted: #9a958a;--green: #4ade5a;--sidebar-w: 248px}body.faction-allies{--metal: #2b333c;--metal-hi: #46525e;--metal-lo: #161b20;--red: #2f6fb8;--red-hi: #4f93e0}body.faction-soviet{--metal: #3a2b28;--metal-hi: #5a4440;--metal-lo: #1e1513;--red: #b0261c;--red-hi: #e8402e}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:Share Tech Mono,ui-monospace,monospace;overflow:hidden;-webkit-user-select:none;user-select:none}#app{display:flex;height:100vh}#game-wrap{position:relative;flex:1;min-width:0}#game{display:block;width:100%;height:100%;cursor:default}#overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}#game.c-move{cursor:crosshair}#game.c-attack{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='%23ff3030' stroke-width='2'/%3E%3Cpath d='M12 0v8M12 16v8M0 12h8M16 12h8' stroke='%23ff3030' stroke-width='2'/%3E%3C/svg%3E") 12 12,crosshair}#game.c-no{cursor:not-allowed}#game.c-sell{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Ctext x='4' y='19' font-size='20' font-weight='bold' fill='%23ffd040' stroke='black'%3E$%3C/text%3E%3C/svg%3E") 12 12,pointer}#game.c-repair{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Ctext x='1' y='19' font-size='18'%3E🔧%3C/text%3E%3C/svg%3E") 12 12,pointer}#game.c-select{cursor:pointer}#game.c-enter{cursor:alias}#eva-log{position:absolute;left:12px;top:10px;pointer-events:none;font-size:15px;text-shadow:0 1px 2px #000,0 0 6px #000}#eva-log div{color:#ffe9a0;transition:opacity .6s;margin-bottom:2px}#hint{position:absolute;left:50%;bottom:14px;transform:translate(-50%);background:#000000a6;border:1px solid #555;padding:4px 10px;font-size:14px;pointer-events:none;display:none}#sidebar{width:var(--sidebar-w);flex:none;display:flex;flex-direction:column;gap:6px;padding:8px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px),linear-gradient(90deg,var(--metal-lo),var(--metal) 8%,var(--metal) 92%,var(--metal-lo));border-left:2px solid #000;box-shadow:inset 1px 0 0 var(--metal-hi);overflow:hidden}#credits{font-family:Share Tech Mono,monospace;font-size:22px;text-align:center;color:#ffd84a;background:#070807;border:1px solid #000;box-shadow:inset 0 0 6px #000;padding:3px;letter-spacing:2px}#radar-wrap{position:relative;width:100%;aspect-ratio:1;background:#050605;border:2px solid #000;box-shadow:0 0 0 1px var(--metal-hi)}#radar{width:100%;height:100%;display:block;image-rendering:pixelated;cursor:crosshair}#radar-off{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:Russo One,sans-serif;color:#5a5a50;background:repeating-linear-gradient(0deg,#0a0b0a 0,#0a0b0a 2px,#111211 2px,#111211 4px);font-size:14px;letter-spacing:1px}#power{position:relative;height:14px;background:#070807;border:1px solid #000}#power-prod{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(#2f7d33,#1e5a22)}#power-use{position:absolute;top:-2px;bottom:-2px;width:3px;background:#fff;box-shadow:0 0 4px #fff}#power.low #power-prod{background:linear-gradient(#b52a1f,#7d1a12)}#power-text{position:absolute;right:4px;top:-1px;font-size:11px;color:#ddd;text-shadow:0 1px 1px #000}#build-cols{flex:1;min-height:0;display:flex;gap:4px}.col{flex:1;min-width:0;display:flex;flex-direction:column}.col-title{font-family:Russo One,sans-serif;font-size:11px;text-align:center;color:var(--muted);text-transform:uppercase;padding:2px 0;border-bottom:1px solid #000}.cameos{flex:1;overflow-y:auto;scrollbar-width:thin;padding-top:3px}.cameo{position:relative;width:100%;aspect-ratio:4 / 3;margin-bottom:3px;background-size:cover;border:1px solid #000;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff14}.cameo:hover{box-shadow:inset 0 0 0 1px #ffd84a}.cameo .clock{position:absolute;top:0;right:0;bottom:0;left:0}.cameo .name{position:absolute;left:2px;bottom:1px;font-size:10px;text-shadow:0 1px 1px #000,0 0 3px #000;white-space:nowrap;overflow:hidden;max-width:calc(100% - 4px)}.cameo .cost{position:absolute;right:2px;top:1px;font-size:10px;color:#ffd84a;text-shadow:0 1px 1px #000}.cameo .state{position:absolute;left:0;right:0;top:38%;text-align:center;font-family:Russo One,sans-serif;font-size:12px;color:#fff;text-shadow:0 0 4px #000,0 1px 2px #000}.cameo .state.ready{color:#7dff7d;animation:blink .8s steps(2) infinite}.cameo .count{position:absolute;left:2px;top:1px;font-size:11px;background:#000000b3;padding:0 3px;color:#fff}.cameo.disabled{filter:grayscale(1) brightness(.5)}@keyframes blink{50%{opacity:.35}}#info{min-height:36px;font-size:12px;color:var(--muted);background:#0c0d0c;border:1px solid #000;padding:3px 5px}#info b{color:var(--text)}#actions{display:flex;gap:4px}#actions button{flex:1}#actions #btn-menu{flex:0 0 36px}button{font-family:Russo One,sans-serif;font-size:12px;color:var(--text);background:linear-gradient(var(--metal-hi),var(--metal-lo));border:1px solid #000;box-shadow:inset 0 1px #ffffff1f;padding:6px 8px;cursor:pointer}button:hover{color:#fff;background:linear-gradient(#4a4e48,#1d201d)}button.active{color:#fff;background:linear-gradient(var(--red-hi),var(--red))}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 30%,#5a0a05a6,#000000eb);z-index:10;padding:16px}.overlay.hidden{display:none}.panel{width:min(520px,100%);max-height:100%;overflow-y:auto;background:linear-gradient(var(--metal),var(--metal-lo));border:2px solid #000;box-shadow:0 0 0 1px var(--metal-hi),0 20px 60px #000c;padding:22px 26px}.panel.small{width:min(400px,100%)}h1,h2{font-family:Russo One,sans-serif;margin:0 0 4px;text-align:center;letter-spacing:2px}h1{font-size:34px;color:var(--red-hi);text-shadow:0 2px 0 #000,0 0 18px rgba(255,40,20,.5)}h1 span{color:var(--text);font-size:20px;vertical-align:middle}h2{font-size:26px;margin-bottom:14px}.sub{text-align:center;color:var(--muted);margin:0 0 18px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;margin-bottom:4px}.choice{display:flex;gap:4px}.choice button{flex:1}.choice button.on{color:#fff;background:linear-gradient(var(--red-hi),var(--red))}input[type=number]{width:100%;font-family:inherit;font-size:15px;padding:6px 8px;background:#0a0b0a;color:var(--text);border:1px solid #000}button.big{width:100%;font-size:18px;padding:12px;margin:8px 0;color:#fff;background:linear-gradient(var(--red-hi),var(--red))}#quit{width:100%}.help{margin-top:8px;font-size:13px;color:var(--muted)}.help summary{cursor:pointer}.help ul{padding-left:18px}.help b{color:var(--text)}#go-stats{width:100%;border-collapse:collapse;margin-bottom:10px;font-size:14px}#go-stats th,#go-stats td{padding:4px 6px;border-bottom:1px solid #000;text-align:right}#go-stats th:first-child,#go-stats td:first-child{text-align:left}@media(max-width:700px){:root{--sidebar-w: 170px}#credits{font-size:16px}}.hidden{display:none!important}.panel.wide{width:min(760px,100%)}.tabs{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0 14px}.tabs button{flex:1;min-width:120px}.tabs button.on{color:#fff;background:linear-gradient(var(--red-hi),var(--red))}.row{display:flex;gap:6px;align-items:center}.row>*{flex:1}.row input{flex:1}input[type=text]{width:100%;font-family:inherit;font-size:15px;padding:6px 8px;background:#0a0b0a;color:var(--text);border:1px solid #000}.missions{display:grid;gap:6px}.mission{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#121412;border:1px solid #000;box-shadow:inset 0 0 0 1px #ffffff0d;cursor:pointer;text-align:left}.mission:hover{box-shadow:inset 0 0 0 1px #ffd84a}.mission .num{font-family:Russo One,sans-serif;font-size:20px;width:32px;color:var(--red-hi)}.mission .title{flex:1;font-size:15px}.mission .state{font-size:12px;color:var(--muted)}.mission.done .state{color:#7dff7d}.mission.locked{opacity:.45;cursor:not-allowed}#br-text p{line-height:1.45;margin:0 0 10px}#br-campaign{margin:0;text-transform:uppercase}.options{margin-top:14px}.save{display:flex;gap:8px;align-items:center;padding:8px 10px;background:#121412;border:1px solid #000;margin-bottom:6px}.save .info{flex:1}.save .info small{color:var(--muted);display:block}.save button{flex:0 0 auto}#mp-players{width:100%;border-collapse:collapse;margin-bottom:10px}#mp-players td{padding:4px 6px;border-bottom:1px solid #000}#mp-players select{font-family:inherit;background:#0a0b0a;color:var(--text);border:1px solid #000;padding:2px}#go-actions{flex-wrap:wrap}#objectives{position:absolute;right:10px;top:10px;max-width:340px;background:#080908c7;border:1px solid #000;box-shadow:inset 0 0 0 1px #ffffff12;padding:8px 10px;font-size:13px;pointer-events:none}#objectives h3{margin:0 0 6px;font-family:Russo One,sans-serif;font-size:13px;color:#ffd84a;letter-spacing:1px;text-transform:uppercase}#objectives li{list-style:none;margin:3px 0}#objectives ul{padding:0;margin:0}#objectives .done{color:#7dff7d;text-decoration:line-through}#objectives .failed{color:#ff6a5a}#objectives .optional{color:var(--muted)}#objectives .timer{margin-top:6px;color:#ffd84a;font-size:15px}#eva-log .mission-msg{color:#bfe3ff;max-width:520px}.volumes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:6px}.volumes label{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted);text-transform:none}.volumes input[type=range]{width:100%;accent-color:var(--red-hi)}#br-text{min-height:160px;cursor:pointer}.version{text-align:center;color:var(--muted);font-size:11px;margin:-2px 0 6px}
