:root{color:#edf2f7;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#10141f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}#app,#game{width:100vw;height:100vh}.panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#0f172ad6;border:1px solid #94a3b847;border-radius:8px;width:min(300px,100vw - 36px);max-height:70vh;padding:16px;transition:transform .2s;position:fixed;top:82px;right:18px;overflow:auto;transform:translate(calc(100% + 24px))}.panel.open{transform:translate(0)}.panel h2{margin:0 0 12px;font-size:18px}#inventory-list{gap:8px;display:grid}#inventory-list button{text-align:left;border:1px solid var(--item-color,#64748b);color:#f8fafc;cursor:pointer;font:inherit;background:#1e293bd1;border-radius:6px;gap:4px;padding:9px;display:grid}#inventory-list small{color:#cbd5e1}.toast{opacity:0;color:#f8fafc;pointer-events:none;background:#0f172ae6;border-radius:7px;padding:10px 14px;transition:all .2s;position:fixed;bottom:72px;left:50%;transform:translate(-50%,12px)}.toast.visible{opacity:1;transform:translate(-50%)}#game{display:block}.hud{pointer-events:none;z-index:5;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:fixed;top:16px;left:16px;right:16px}.hud strong,.hud span,.hud button{color:#f8fafc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ac2;border:1px solid #94a3b83d;border-radius:8px;box-shadow:0 10px 24px #0000002e}.hud strong,.hud span{padding:8px 11px}.hud button{pointer-events:auto;cursor:pointer;font:inherit;padding:8px 11px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading h2{margin:0}.panel-heading button{color:#cbd5e1;cursor:pointer;background:0 0;border:0;font-size:22px;line-height:1}.equipment-slots{grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0;display:grid}.equipment-slots button{color:#cbd5e1;cursor:pointer;min-height:58px;font:inherit;background:#1e293bbd;border:1px solid #94a3b842;border-radius:6px;font-size:11px}.equipment-slots span{color:#facc15;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;display:block;overflow:hidden}.modal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#0206179e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal.hidden{display:none}.modal-card{background:#0f172af5;border:1px solid #94a3b852;border-radius:8px;width:min(420px,100%);padding:20px;box-shadow:0 24px 80px #0006}.setting-row,.setting-toggle{color:#e2e8f0;gap:8px;margin-top:18px;font-size:14px;display:grid}.setting-row select,.setting-row input{accent-color:#38bdf8;width:100%}.setting-row select{color:#f8fafc;font:inherit;background:#1e293b;border:1px solid #475569;border-radius:6px;padding:9px}.setting-row strong{color:#7dd3fc;font-size:13px}.setting-toggle{grid-template-columns:auto 1fr;align-items:center;display:flex}.setting-note{color:#94a3b8;font-size:12px}.hud-top{flex-wrap:wrap;align-items:center;gap:14px;display:flex;top:18px;left:18px;right:18px}.hud-top strong,.hud-top span,.hud-help{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ab8;border:1px solid #94a3b83d;border-radius:8px;box-shadow:0 10px 24px #0000002e}.hud-top strong{padding:9px 12px;font-size:18px;font-weight:700}.hud-top span{color:#f8fafc;padding:8px 11px;font-size:15px}.hud-help{color:#cbd5e1;max-width:calc(100vw - 36px);padding:9px 12px;font-size:14px;bottom:18px;left:18px}.tower-picker{pointer-events:auto;gap:8px;display:flex;position:fixed;top:72px;left:18px}.tower-picker button,.touch-actions button{color:#e2e8f0;cursor:pointer;font:inherit;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ac2;border:1px solid #94a3b847;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:800}.tower-picker button.selected{color:#ecfeff;background:#0e7490d1;border-color:#38bdf8}.touch-controls{pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:fixed;inset:auto 18px 18px}.joystick{pointer-events:auto;touch-action:none;background:#0f172a80;border:1px solid #94a3b852;border-radius:50%;place-items:center;width:112px;height:112px;display:grid}#joystick-knob{background:#7dd3fceb;border-radius:50%;width:44px;height:44px;box-shadow:0 8px 20px #38bdf852}.touch-actions{pointer-events:auto;gap:10px;display:flex}.touch-actions button{background:#082f49d1;min-width:76px;min-height:54px}.game-over{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020617b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.game-over.hidden{display:none}.game-over-panel{text-align:center;background:#0f172aeb;border:1px solid #f8fafc2e;border-radius:8px;width:min(420px,100%);padding:28px;box-shadow:0 24px 80px #00000061}.game-over-panel p{color:#fca5a5;text-transform:uppercase;margin:0 0 8px;font-size:14px;font-weight:800}.game-over-panel h1{margin:0 0 24px;font-size:28px}.result-grid{text-align:left;grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:24px;display:grid}.result-grid span{color:#94a3b8}.result-grid strong{color:#f8fafc;text-align:right}#restart-button{color:#082f49;cursor:pointer;width:100%;font:inherit;background:#38bdf8;border:0;border-radius:8px;padding:12px 16px;font-weight:800}#restart-button:hover{background:#7dd3fc}@media (hover:hover) and (pointer:fine){.touch-controls{display:none}}@media (width<=720px){.hud{gap:5px;top:10px;left:10px;right:10px}.hud strong,.hud span,.hud button{padding:6px 8px;font-size:12px}.hud>span:last-of-type{display:none}.panel{width:min(340px,100vw - 20px);max-height:calc(100vh - 82px);top:66px;right:10px}.help{text-align:center;max-width:none;font-size:12px;bottom:12px;left:10px;right:10px}.toast{text-align:center;width:calc(100vw - 32px);bottom:54px}.hud-top{gap:8px}.hud-top strong,.hud-top span{padding:7px 9px;font-size:13px}.tower-picker{top:108px;left:12px;right:12px}.tower-picker button{flex:1;padding:9px 8px}.hud-help{display:none}}
