@import"https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Share+Tech+Mono&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{overflow:hidden;background:#0a0c10;font-family:Rajdhani,sans-serif;color:#e0e0e0;user-select:none;-webkit-user-select:none}#gameCanvas{display:block;width:100vw;height:100vh;touch-action:none}#hud{position:fixed;top:0;left:0;right:0;height:48px;background:linear-gradient(180deg,#0a0e14f2,#0a0e14cc);border-bottom:1px solid rgba(76,175,80,.3);display:flex;align-items:center;padding:0 10px;z-index:100;gap:10px;overflow:hidden}.hud-title{font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#4caf50;text-shadow:0 0 20px rgba(76,175,80,.4);margin-right:6px;white-space:nowrap;flex-shrink:0}@media(min-width:600px){#hud{padding:0 16px;gap:20px;height:52px}.hud-title{font-size:18px;letter-spacing:3px;margin-right:16px}#sidePanel{top:52px}#sidePanelContent{width:220px;max-height:calc(100vh - 52px)}}.hud-resource{display:flex;align-items:center;gap:4px;font-family:Share Tech Mono,monospace;font-size:13px;flex-shrink:0}.hud-resource .icon{width:18px;height:18px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:11px}.icon-money{background:#ffd740;color:#000}.icon-manpower{background:#42a5f5;color:#000}.hud-resource .value{color:#fff;min-width:40px}.hud-resource .rate{color:#4caf50;font-size:11px}@media(min-width:600px){.hud-resource{gap:6px;font-size:15px}.hud-resource .icon{width:20px;height:20px;font-size:12px}.hud-resource .value{min-width:60px}.hud-resource .rate{font-size:12px}}.hud-spacer{flex:1}.hud-level{font-size:13px;color:#888;letter-spacing:1px}#btnRecenter{position:fixed;top:60px;right:10px;z-index:100;width:38px;height:38px;background:#0a0e14cc;border:1px solid rgba(76,175,80,.4);border-radius:8px;color:#4caf50;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}#btnRecenter:hover{background:#4caf5040;border-color:#4caf50b3}#gameOverScreen,#victoryScreen,#pauseOverlay,#slotPicker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:700;background:#000000d9;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}#slotPicker{z-index:750}.save-slot{padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center;font-family:Rajdhani,sans-serif;color:#ccc;font-size:14px}.save-slot:hover{background:#2196f326;border-color:#2196f366}.save-slot .slot-time{font-family:Share Tech Mono,monospace;font-size:11px;color:#888}.save-slot.disabled{opacity:.3;cursor:default}.save-slot.disabled:hover{background:#ffffff0d;border-color:#ffffff1a}.go-panel{background:linear-gradient(135deg,#141820fa,#0f1219fa);border:1px solid rgba(244,67,54,.4);border-radius:12px;padding:40px 50px;text-align:center;max-width:380px;width:90%}.go-title{font-size:28px;font-weight:700;color:#ff5252;letter-spacing:4px;text-shadow:0 0 30px rgba(244,67,54,.5);margin-bottom:4px}.go-subtitle{font-size:14px;color:#888;margin-bottom:24px}.go-stats{margin-bottom:24px}.go-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;color:#aaa;border-bottom:1px solid rgba(255,255,255,.05)}.go-row span:last-child{font-family:Share Tech Mono,monospace;color:#ffd740}.go-divider{height:1px;background:#ffffff26;margin:8px 0}.go-row.go-total{font-size:18px;font-weight:700;color:#fff}.go-row.go-total span:last-child{color:#4caf50;font-size:22px}.go-btn{padding:12px 30px;font-family:Rajdhani,sans-serif;font-size:16px;font-weight:700;letter-spacing:2px;color:#fff;background:#4caf504d;border:1px solid #4CAF50;border-radius:6px;cursor:pointer;transition:all .2s;text-transform:uppercase}.go-btn:hover{background:#4caf5080;box-shadow:0 0 20px #4caf5066}#radarContainer{position:fixed;right:8px;z-index:99;background:#000800d9;border:1px solid rgba(76,175,80,.4);border-radius:50%;padding:3px;box-shadow:0 0 15px #00140099,inset 0 0 20px #000a0080;--radar-size: clamp(90px, 18vw, 180px);width:var(--radar-size);height:var(--radar-size)}#radarCanvas{display:block;border-radius:50%;width:100%;height:100%}.radar-label{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:9px;font-weight:700;letter-spacing:2px;color:#4caf5099;text-transform:uppercase;font-family:Share Tech Mono,monospace;white-space:nowrap}#scoreDisplay{font-family:Share Tech Mono,monospace;font-size:12px;color:#ffd740}#sidePanel{position:fixed;top:48px;left:0;bottom:0;display:flex;flex-direction:row;z-index:100;pointer-events:none}#modeTabs{display:flex;flex-direction:column;width:48px;background:linear-gradient(90deg,#0a0e14f2,#0a0e14d9);border-right:1px solid rgba(76,175,80,.3);padding:8px 0;gap:4px;align-items:center;pointer-events:auto;flex-shrink:0}.mode-tab{width:40px;height:40px;padding:0;font-size:20px;font-family:Rajdhani,sans-serif;font-weight:600;background:transparent;border:1px solid transparent;border-radius:6px;color:#666;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.mode-tab:hover{color:#aaa;background:#ffffff0d}.mode-tab.active{color:#4caf50;background:#4caf5026;border-color:#4caf5066}.mode-tab[data-mode=demolish].active{color:#f44336;background:#f4433626;border-color:#f4433666}.mode-tab[data-mode=road].active{color:#ff9800;background:#ff980026;border-color:#ff980066}.mode-tab[data-mode=command].active{color:#42a5f5;background:#42a5f526;border-color:#42a5f566}#sidePanelContent{width:200px;max-height:calc(100vh - 48px);overflow-y:auto;overflow-x:hidden;background:linear-gradient(90deg,#0a0e14f2,#0a0e14e0);border-right:1px solid rgba(76,175,80,.2);pointer-events:auto;transition:width .2s ease,opacity .2s ease}#sidePanelContent.collapsed{width:0;opacity:0;overflow:hidden;pointer-events:none}.panel-heading{font-family:Rajdhani,sans-serif;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#4caf50;padding:10px 12px 6px;border-bottom:1px solid rgba(76,175,80,.15);margin:0}#buildPanel{padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:6px;overflow-y:auto;overflow-x:hidden}.tool-panel{padding:10px 12px}.tool-info{display:flex;flex-direction:column;gap:8px}.road-tool-group{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.road-tool-btn{padding:8px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#ccc;font-family:Rajdhani,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;width:100%;text-align:left}.road-tool-btn:hover{background:#4caf5026;border-color:#4caf5066}.road-tool-btn.active{background:#4caf5040;border-color:#4caf50;color:#fff}.tool-desc{font-size:12px;color:#999;line-height:1.4}.tool-price{font-family:Share Tech Mono,monospace;font-size:12px;color:#ffd740;font-weight:600}.troop-select-btns{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.troop-sel-btn{padding:6px 10px;border-radius:5px;border:1px solid rgba(66,165,245,.3);background:#42a5f514;color:#90caf9;font-family:Rajdhani,sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;touch-action:manipulation}.troop-sel-btn:hover,.troop-sel-btn:active{background:#42a5f540;border-color:#42a5f5;color:#fff}.build-btn{padding:8px 4px;background:#4caf5014;border:1px solid rgba(76,175,80,.25);border-radius:6px;cursor:pointer;text-align:center;transition:all .2s;position:relative}.build-btn:hover{background:#4caf502e;border-color:#4caf5099;box-shadow:0 2px 12px #4caf5033}.build-btn.active{background:#4caf5040;border-color:#4caf50;box-shadow:0 0 15px #4caf504d}.build-btn .b-icon{font-size:20px;display:block;margin-bottom:2px}.build-btn .b-name{font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:#ccc;display:block}.build-btn .b-cost{font-family:Share Tech Mono,monospace;font-size:9px;color:#ffd740;margin-top:2px;display:block}.build-btn .b-trains{font-size:9px;display:block;margin-top:1px;letter-spacing:1px}#infoPanel{position:fixed;top:62px;right:10px;width:220px;background:#0a0e14ed;border:1px solid rgba(76,175,80,.25);border-radius:8px;padding:14px;z-index:100;display:none;font-size:13px}#infoPanel h3{color:#4caf50;font-size:14px;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}#infoPanel .info-row{display:flex;justify-content:space-between;margin-bottom:4px;color:#aaa}#infoPanel .info-row span:last-child{color:#fff;font-family:Share Tech Mono,monospace}.panel-btn{width:100%;margin-top:8px;padding:8px;border:1px solid rgba(76,175,80,.4);border-radius:4px;color:#4caf50;font-family:Rajdhani,sans-serif;font-weight:600;font-size:12px;cursor:pointer;letter-spacing:1px;text-transform:uppercase;transition:all .2s;background:#4caf501f}.panel-btn:hover{background:#4caf5040}.panel-btn.demolish-action{border-color:#f4433666;color:#f44336;background:#f443361a}.panel-btn.demolish-action:hover{background:#f4433640}.train-section{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.train-section h4{font-size:11px;color:#42a5f5;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.train-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:6px}.train-row .t-info{font-size:12px;color:#bbb}.train-row .t-cost{font-family:Share Tech Mono,monospace;font-size:10px;color:#888}.train-row button{padding:4px 10px;font-size:11px;font-family:Rajdhani,sans-serif;font-weight:600;background:#42a5f526;border:1px solid rgba(66,165,245,.3);border-radius:3px;color:#42a5f5;cursor:pointer;transition:all .15s;white-space:nowrap}.train-row button:hover{background:#42a5f54d}.toast.success{border-color:#4caf5080;color:#4caf50}#infoPanel{max-height:calc(100vh - 180px);overflow-y:auto}#infoPanel .upgrade-btn{width:100%;margin-top:10px;padding:8px;background:#4caf5026;border:1px solid rgba(76,175,80,.4);border-radius:4px;color:#4caf50;font-family:Rajdhani,sans-serif;font-weight:600;font-size:13px;cursor:pointer;letter-spacing:1px;text-transform:uppercase;transition:all .2s}#infoPanel .upgrade-btn:hover{background:#4caf504d}.toast{position:fixed;top:64px;left:50%;transform:translate(-50%);background:#0a0e14f2;border:1px solid rgba(255,82,82,.5);color:#ff5252;padding:8px 20px;border-radius:4px;font-size:13px;font-weight:600;letter-spacing:1px;z-index:200;animation:toastIn .3s ease,toastOut .3s ease 1.7s forwards}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}.placement-hint{position:fixed;bottom:24px;left:50%;transform:translate(-50%);color:#4caf50;font-size:13px;letter-spacing:1px;z-index:100;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}#tutorialOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;pointer-events:none}#tutorialBackdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;transition:opacity .4s}#tutorialBox{position:absolute;background:#0a0e14f7;border:1px solid rgba(76,175,80,.6);border-radius:10px;padding:20px 24px;max-width:360px;pointer-events:auto;box-shadow:0 8px 40px #0009,0 0 30px #4caf5026;animation:tutorialPopIn .35s cubic-bezier(.34,1.56,.64,1)}@keyframes tutorialPopIn{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}#tutorialBox .tut-step{font-family:Share Tech Mono,monospace;font-size:11px;color:#4caf50;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}#tutorialBox .tut-title{font-size:18px;font-weight:700;color:#fff;margin-bottom:8px;letter-spacing:.5px}#tutorialBox .tut-body{font-size:14px;color:#bbb;line-height:1.5;margin-bottom:16px}#tutorialBox .tut-body strong{color:#4caf50;font-weight:600}#tutorialBox .tut-body .key{display:inline-block;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;padding:1px 6px;font-family:Share Tech Mono,monospace;font-size:12px;color:#ddd}.tut-actions{display:flex;gap:10px;align-items:center}.tut-btn{padding:8px 20px;border-radius:5px;font-family:Rajdhani,sans-serif;font-weight:600;font-size:14px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s;border:none}.tut-btn-primary{background:#4caf50;color:#000}.tut-btn-primary:hover{background:#66bb6a;box-shadow:0 0 15px #4caf5066}.tut-btn-secondary{background:transparent;color:#888;border:1px solid rgba(255,255,255,.15)}.tut-btn-secondary:hover{color:#ccc;border-color:#ffffff4d}.tut-waiting{font-family:Share Tech Mono,monospace;font-size:12px;color:#4caf50;animation:pulse 1.5s ease-in-out infinite}.tut-highlight{position:absolute;border:2px solid #4CAF50;border-radius:8px;box-shadow:0 0 20px #4caf5066,inset 0 0 20px #4caf501a;pointer-events:none;z-index:499;animation:tutHighlightPulse 2s ease-in-out infinite}@keyframes tutHighlightPulse{0%,to{box-shadow:0 0 20px #4caf5066,inset 0 0 20px #4caf501a}50%{box-shadow:0 0 35px #4caf50b3,inset 0 0 30px #4caf5033}}.tut-arrow{position:absolute;z-index:501;pointer-events:none;animation:tutArrowBounce 1s ease-in-out infinite}.tut-arrow svg{filter:drop-shadow(0 0 6px rgba(76,175,80,.6))}@keyframes tutArrowBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}#welcomeScreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;background:#05080cf2;display:flex;align-items:center;justify-content:center;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.welcome-content{text-align:center;max-width:440px;padding:20px}.welcome-content .logo{font-size:40px;font-weight:700;letter-spacing:6px;text-transform:uppercase;color:#4caf50;text-shadow:0 0 40px rgba(76,175,80,.4);margin-bottom:8px}.welcome-content .subtitle{font-size:16px;color:#666;letter-spacing:4px;text-transform:uppercase;margin-bottom:32px}.welcome-content .desc{font-size:15px;color:#999;line-height:1.7;margin-bottom:36px}.welcome-btns{display:flex;flex-direction:column;gap:12px;align-items:center}.welcome-btns .tut-btn{width:240px;padding:12px 24px;font-size:15px}
