*{box-sizing:border-box;margin:0;font-family:Verdana,system-ui,sans-serif}
html,body{height:100%;overflow:hidden;background:#14181d;color:#eee}
#app{position:fixed;inset:0}
#c{position:absolute;inset:0;width:100%;height:100%;display:block}
header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:14px;padding:10px 14px;background:#10141acc;border-bottom:1px solid #2a3340;z-index:5}
.logo{display:flex;align-items:center;gap:8px;font-weight:900;font-size:20px;letter-spacing:2px;color:#ffd34d;text-shadow:0 2px 0 #000}
nav{display:flex;gap:6px}
nav button,#left button,footer button{background:#1d2530;color:#eee;border:1px solid #39465a;border-radius:8px;padding:7px 12px;cursor:pointer;font-size:13px}
nav button.on{background:#ffd34d;color:#111;border-color:#ffd34d;font-weight:700}
#status{margin-left:auto;font-size:12px;color:#9fb2c8}
#left{position:absolute;top:58px;left:10px;width:228px;background:#10141af0;border:1px solid #2a3340;border-radius:12px;padding:10px;z-index:5;display:flex;flex-direction:column;gap:8px;max-height:calc(100% - 140px);overflow:auto}
.row{display:flex;gap:6px;align-items:center;justify-content:space-between}
#teamRow button{flex:1}
#teamRow .blue.on{background:#2f7bff;border-color:#2f7bff;font-weight:700}
#teamRow .red.on{background:#e5484d;border-color:#e5484d;font-weight:700}
#units{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ucard{background:#1d2530;border:2px solid #39465a;border-radius:10px;padding:8px 6px;cursor:pointer;text-align:center;font-size:12px}
.ucard b{display:block;font-size:13px}
.ucard small{color:#9fb2c8}
.ucard.on{border-color:#ffd34d;background:#2a2410}
#budget{font-size:12px;color:#ffd34d}
#tabPanel{font-size:12px;display:flex;flex-direction:column;gap:6px}
.ep{background:#1d2530;border:1px solid #39465a;border-radius:8px;padding:7px;cursor:pointer;text-align:left;color:#eee}
.ep b{color:#ffd34d}
.ep.locked{opacity:.45;cursor:default}
.ep.done{border-color:#3dd68c}
.ep.cur{border-color:#ffd34d;background:#2a2410}
footer{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center;background:#10141add;border:1px solid #2a3340;border-radius:14px;padding:8px 12px;z-index:5}
.play{background:#3dd68c!important;border-color:#3dd68c!important;color:#08130d!important;font-weight:900;font-size:15px!important;padding:9px 26px!important}
.play.fighting{background:#e5484d!important;border-color:#e5484d!important;color:#fff!important}
#score{font-size:13px;font-weight:700;min-width:90px;text-align:center}
#hint{font-size:11px;color:#9fb2c8}
#banner{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);font-size:44px;font-weight:900;font-family:Georgia,serif;letter-spacing:3px;padding:18px 34px;border-radius:16px;z-index:6;text-shadow:0 3px 0 #000;border:3px solid #ffd34d}
#banner.blue{background:#1e3faedd}#banner.red{background:#8f1d22dd}#banner.draw{background:#555c}
#endActions{position:absolute;top:calc(38% + 70px);left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:6}
#endActions.hidden{display:none}
#endActions button{background:#ffd34d;border:2px solid #000;color:#111;font-weight:900;font-size:15px;border-radius:10px;padding:10px 22px;cursor:pointer}
#endActions #retry{background:#1d2530;color:#ffd34d;border-color:#ffd34d}
#tests{position:absolute;top:58px;right:10px;width:330px;max-height:calc(100% - 140px);overflow:auto;background:#0c1015f2;border:1px solid #ffd34d;border-radius:10px;padding:10px 12px;z-index:7;font-family:monospace;font-size:12px;line-height:1.7}
#tests b{color:#ffd34d}
#tests .pok{color:#3dd68c}
#tests .pfail{color:#e5484d;font-weight:700}
.hidden{display:none}
@media(max-width:700px){#left{width:180px}#hint{display:none}}
