.defense-game{color:#f4fff9;background:#07100f;min-height:100vh;font-family:Arial,Noto Sans TC,sans-serif}.defense-header{border-bottom:1px solid #244139;justify-content:space-between;gap:12px;max-width:1180px;margin:auto;padding:22px 28px;font-size:14px;display:flex}.defense-header a{color:#cce2d9;text-decoration:none}.defense-header span{color:#8eb4a7;letter-spacing:2px}.defense-header small{letter-spacing:0}.defense-main{max-width:1120px;margin:auto;padding:28px 28px 52px}.defense-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.defense-heading p{color:#93afa5;margin:0;font-size:16px;line-height:1.65}.defense-heading h1{letter-spacing:4px;margin:5px 0 0;font-size:42px}.defense-heading h1 span{color:#65efca}.defense-layout{grid-template-columns:minmax(430px,680px) minmax(270px,1fr);align-items:start;gap:26px;display:grid}.defense-stage,.defense-panel{background:#0d1a17;border:1px solid #29483f;border-radius:20px;overflow:hidden}.defense-hud{color:#87a69b;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px 18px;font-size:12px;display:grid}.defense-hud strong{color:#f3fff9;margin-top:4px;font-size:22px;display:block}.defense-hud small{color:#739287;font-size:11px;font-weight:400}.defense-board{isolation:isolate;background:radial-gradient(circle at 50% 35%,#173f36,#07110f 68%);position:relative;overflow:hidden}.defense-board svg{width:100%;height:auto;min-height:360px;display:block}.defense-route-shadow{fill:none;stroke:#020706;stroke-width:36px;stroke-linejoin:round;stroke-linecap:round}.defense-route{fill:none;stroke:#244d43;stroke-width:25px;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:3 10}.defense-gate{fill:#152923;stroke:#65efca;stroke-width:3px;filter:url(#glow)}.defense-core{fill:#ffc269;stroke:#fff1c8;stroke-width:2px;filter:url(#glow)}.defense-pad{cursor:pointer;outline:none}.defense-pad .pad-ring{fill:#0a1613;stroke:#4b6a60;stroke-width:2px;transition:all .18s}.defense-pad.empty:hover .pad-ring,.defense-pad.empty:focus .pad-ring{stroke:#72f4cf;stroke-width:4px}.defense-pad.built .pad-ring{stroke:currentColor;stroke-width:3px;filter:url(#glow)}.defense-pad .pad-core{fill:#213932}.defense-pad text{fill:#d7eee5;pointer-events:none;font-size:15px;font-weight:800}.defense-pad.built text{fill:#07100f}.defense-enemy circle{fill:#ff667b;stroke:#ffd0d8;stroke-width:2px}.defense-enemy.brute circle{fill:#ff9e57;stroke:#ffe0ba;stroke-width:3px}.defense-enemy path{stroke:#26090f;stroke-width:2px}.defense-enemy .hp-back{fill:#32151b;stroke:none}.defense-enemy .hp{fill:#7df2c3;stroke:none}.defense-overlay{z-index:5;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#06100edc;flex-direction:column;justify-content:center;align-items:center;padding:28px;display:flex;position:absolute;inset:0}.defense-overlay>span{letter-spacing:3px;color:#6aebc7;font-size:12px}.defense-overlay h2{margin:14px 0 10px;font-size:28px}.defense-overlay p{color:#9eb8ae;margin:0 0 22px;font-size:15px;line-height:1.65}.defense-overlay button{color:#0b3026;cursor:pointer;background:#69edc9;border:0;border-radius:12px;min-width:180px;min-height:56px;font-size:17px;font-weight:800}.defense-overlay.result{background:#06100ef2}.defense-toolbar{background:#091310;border-top:1px solid #27483e;padding:13px}.defense-types{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.defense-types button{color:#d8ece4;cursor:pointer;background:#10201b;border:1px solid #2c4a41;border-radius:10px;align-items:center;gap:8px;min-height:58px;padding:8px;display:flex}.defense-types button.active{background:#17352c;border-color:#72f4cf;box-shadow:inset 0 0 0 1px #72f4cf}.defense-types button:disabled{cursor:default;opacity:.6}.defense-types i{border-radius:4px;flex:none;width:10px;height:34px}.defense-types b{color:#74958a;font-size:11px}.defense-types span{text-align:left;font-size:13px;font-weight:700}.defense-types small{color:#82a498;margin-top:3px;font-size:11px;font-weight:400;display:block}.defense-wave{color:#2e2007;cursor:pointer;background:#f7ba67;border:0;border-radius:10px;width:100%;min-height:54px;margin-top:10px;font-size:16px;font-weight:800}.defense-wave:disabled{color:#6e8a80;cursor:default;background:#263b35}.defense-panel{padding:26px}.defense-kicker{letter-spacing:2px;color:#67eac5;font-size:12px}.defense-panel h2{margin:12px 0;font-size:24px;line-height:1.35}.defense-panel>p{color:#a7beb5;font-size:15px;line-height:1.7}.defense-guide,.defense-rules{border-top:1px solid #28463d;margin-top:19px;padding-top:17px}.defense-guide h3,.defense-rules h3{margin:0 0 11px;font-size:16px}.defense-guide p,.defense-rules p{color:#9db5ac;margin:9px 0;font-size:14px;line-height:1.55}.defense-guide i{border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block}.defense-guide i.pulse{background:#62f2df}.defense-guide i.frost{background:#8ab8ff}.defense-guide i.burst{background:#ffae68}.defense-actions{gap:8px;margin-top:20px;display:flex}.defense-actions button{color:#d9eee6;cursor:pointer;background:#14241f;border:1px solid #3b5c51;border-radius:10px;flex:1;min-height:44px;font-size:14px}.defense-controls{border-top:1px solid #28463d;padding-top:16px;margin-top:20px!important;font-size:13px!important}.defense-game button:focus-visible{outline-offset:3px;outline:3px solid #70f0cc}.defense-game a:focus-visible{outline-offset:3px;outline:3px solid #70f0cc}.defense-pad:focus-visible .pad-ring{outline-offset:3px;outline:3px solid #70f0cc}@media (max-width:820px){.defense-header{padding:18px 16px}.defense-main{padding:22px 16px 36px}.defense-heading{flex-direction:column;align-items:start}.defense-heading h1{font-size:34px}.defense-layout{grid-template-columns:1fr}.defense-panel{padding:22px}.defense-board svg{min-height:0}.defense-types button{touch-action:manipulation;min-height:64px}.defense-wave{touch-action:manipulation;min-height:58px}}@media (max-width:430px){.defense-main{padding-left:10px;padding-right:10px}.defense-heading{padding:0 6px}.defense-heading h1{font-size:30px}.defense-hud{padding:12px 10px}.defense-hud strong{font-size:19px}.defense-types{gap:5px}.defense-types button{gap:5px;padding:6px 5px}.defense-types b{display:none}.defense-types i{width:7px;height:32px}.defense-types span{font-size:12px}.defense-panel{padding:20px}}
