@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700&display=swap";:root{--font-sans: "Space Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-card: 18px;--radius-control: 14px;--radius-pill: 999px;--shadow-panel: 0 18px 60px rgba(0, 0, 0, .35);--shadow-pop: 0 18px 40px rgba(0, 0, 0, .35);--bg-0: #060b14;--bg-1: #071022;--panel: rgba(8, 18, 38, .78);--panel-strong: rgba(8, 18, 38, .92);--border: rgba(140, 180, 255, .18);--border-strong: rgba(140, 180, 255, .28);--text: #e6f0ff;--muted: rgba(230, 240, 255, .68);--muted-strong: rgba(230, 240, 255, .78);--danger: #ff5b7c;--warning: #ffb020;--ok: #2ef2a0;--accent: #00d4ff;--accent-2: #8a5bff;--color-danger: var(--danger);--cell: rgba(231, 245, 255, .08);--cell-hover: rgba(231, 245, 255, .12);--cell-ship: rgba(0, 212, 255, .35);--cell-ship-strong: rgba(0, 212, 255, .6);--cell-preview: rgba(138, 91, 255, .35);--cell-invalid: rgba(255, 91, 124, .45);--focus: rgba(0, 212, 255, .35);--color-gray-400: rgba(230, 240, 255, .55);--board-label-size: 2rem;font-family:var(--font-sans);line-height:1.5;font-weight:400;color:var(--text);background:radial-gradient(1200px 800px at 20% 0%,rgba(0,212,255,.16),transparent 55%),radial-gradient(900px 700px at 85% 8%,rgba(138,91,255,.14),transparent 55%),radial-gradient(1100px 900px at 50% 110%,rgba(46,242,160,.08),transparent 60%),linear-gradient(180deg,var(--bg-1),var(--bg-0));min-height:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:transparent}#root{min-height:100vh}a{color:inherit}.page{max-width:920px;margin:0 auto;padding:12px 12px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;min-height:100vh}.shell{display:flex;flex-direction:column;gap:8px;flex:1}.footer{text-align:center;padding-top:12px;border-top:1px solid rgba(140,180,255,.12);margin-top:auto;font-size:.75rem}@media(min-width:700px){.page{padding-top:32px}}.topbar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.brand{display:flex;flex-direction:column;justify-content:center}.status{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-left:0}.status{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.shell{display:flex;flex-direction:column;gap:12px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}h1{margin:0;font-size:1.8rem;letter-spacing:.02em}h2{margin:0;font-size:1.2rem;letter-spacing:.01em}.section-title{margin:0 0 8px;font-size:1rem;letter-spacing:.02em;color:#e6f0ffeb}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--muted);margin:0}.muted{color:var(--muted);margin:0}.stack{display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:6px;font-size:.95rem}.field input{border-radius:var(--radius-control);border:1px solid var(--border);padding:12px;font-size:1rem;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease;background:#060b14a6;color:var(--text)}.field input:focus{outline:none;border-color:#00d4ff8c;box-shadow:0 0 0 4px var(--focus)}.field input::placeholder{color:#e6f0ff73}.grid-2{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.actions--footer{justify-content:flex-end;margin-top:.5rem;border-top:1px solid var(--border);padding-top:12px}.icon-btn{border:1px solid rgba(140,180,255,.28);border-radius:999px;padding:10px 12px;background:#060b1459;color:#e6f0ffe6;font-weight:700;cursor:pointer;transition:transform .12s ease,border-color .18s ease,background .18s ease}.icon-btn:hover{background:#060b1480;border-color:#00d4ff73}.icon-btn:active{transform:scale(.99)}.icon-btn:focus-visible{outline:none;box-shadow:0 0 0 4px var(--focus)}.btn{border:none;border-radius:var(--radius-control);padding:12px 16px;font-size:1rem;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#00d4ff,#8a5bff);color:#060b14f2;box-shadow:0 10px 30px #00d4ff40,0 12px 40px #8a5bff2e;transition:transform .12s ease,box-shadow .2s ease,opacity .2s ease,filter .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn:hover:not(:disabled){transform:translateY(-1px);filter:saturate(1.06);box-shadow:0 14px 42px #00d4ff4d,0 16px 50px #8a5bff38}.btn:active:not(:disabled){transform:translateY(0) scale(.99)}.btn--outline{background:#060b1459;color:var(--text);border:1px solid var(--border-strong);box-shadow:none}.btn--ghost{background:transparent;color:var(--text);border:1px dashed rgba(140,180,255,.35);box-shadow:none}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-pill);font-size:.85rem;border:1px solid transparent;background:#e7f5ff14;color:var(--text)}.pill--amber{background:#ffb02026;color:#ffdca0eb;border-color:#ffb02073}.pill--green{background:#2ef2a024;color:#b7ffe2eb;border-color:#2ef2a08c}.pill--gray{background:#e6f0ff14;color:#e6f0ffb3;border-color:#8cb4ff2e}.pill--purple{background:#8a5bff24;color:#e0d4fff2;border-color:#8a5bff8c}.pill--outline{background:transparent;border-color:#8cb4ff59;color:var(--muted-strong)}.fleet-list{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;gap:6px;padding:10px 12px;border-radius:var(--radius-control);border:1px solid var(--border);background:#060b1459;font-weight:600}.log-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;padding-right:6px}.log-item{display:flex;align-items:center;gap:8px;padding:10px;border-radius:var(--radius-control);background:#060b1447;border:1px solid rgba(140,180,255,.12)}.log-time{font-family:var(--font-mono);color:#e6f0ffa6;font-size:.85rem}.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.board-wrap{display:flex;flex-direction:column;gap:10px}.board-section{display:flex;flex-direction:column;gap:8px}.combat-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 12px;padding:4px;border-radius:16px;border:1px solid rgba(140,180,255,.18);background:#060b1459}.seg-btn{border:1px solid transparent;border-radius:14px;padding:12px 14px;cursor:pointer;background:transparent;color:#e6f0ffc7;font-weight:700;letter-spacing:.02em;transition:transform .12s ease,background .18s ease,border-color .18s ease}.seg-btn:active{transform:scale(.99)}.seg-btn--active{background:#00d4ff1f;border-color:#00d4ff66;color:#e6f0fff2}.combat-grid{display:grid;grid-template-columns:1fr;gap:12px}.combat-panel{display:none}.combat-panel--active{display:block}@media(min-width:820px){.combat-tabs{display:none}.combat-grid{grid-template-columns:1fr 1fr;align-items:start}.combat-panel{display:block}}.board{display:grid;gap:2px;width:100%;aspect-ratio:1;border-radius:16px;background:#e7f5ff1a;border:1px solid rgba(140,180,255,.16);padding:6px;touch-action:none;position:relative;overflow:hidden}.board--sea{background:radial-gradient(900px 520px at 30% 20%,rgba(0,212,255,.12),transparent 60%),radial-gradient(900px 520px at 70% 85%,rgba(46,242,160,.08),transparent 62%),linear-gradient(180deg,#08182ecc,#060b14d9);border-color:#00d4ff2e}.board--sea:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 20% 30%,rgba(0,212,255,.14),transparent 45%),radial-gradient(circle at 55% 55%,rgba(180,210,255,.1),transparent 44%),radial-gradient(circle at 75% 25%,rgba(46,242,160,.08),transparent 50%),repeating-linear-gradient(135deg,rgba(230,240,255,.06) 0px,rgba(230,240,255,.06) 2px,transparent 10px,transparent 16px);opacity:.35;filter:blur(10px);transform:translateZ(0);animation:sea-drift 14s ease-in-out infinite;pointer-events:none}.board--sea:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,transparent 45%,rgba(0,0,0,.45) 100%);opacity:.55;pointer-events:none}.board--radar{background:radial-gradient(circle at 50% 50%,rgba(34,255,140,.1),transparent 55%),radial-gradient(circle at 50% 50%,#000000d9,#000000eb);border-color:#22ff8c38}.board--radar:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 0 22%,rgba(34,255,140,.12) 22% 22.6%,transparent 22.6% 36%),radial-gradient(circle at 50% 50%,transparent 0 36%,rgba(34,255,140,.1) 36% 36.6%,transparent 36.6% 50%),radial-gradient(circle at 50% 50%,transparent 0 50%,rgba(34,255,140,.08) 50% 50.6%,transparent 50.6% 64%),radial-gradient(circle at 50% 50%,transparent 0 64%,rgba(34,255,140,.06) 64% 64.6%,transparent 64.6% 78%),linear-gradient(90deg,transparent 49.6%,rgba(34,255,140,.1) 50%,transparent 50.4%),linear-gradient(0deg,transparent 49.6%,rgba(34,255,140,.1) 50%,transparent 50.4%);opacity:.8;pointer-events:none}.board--radar:after{content:"";position:absolute;inset:-35%;background:conic-gradient(from 0deg,#22ff8c00 0deg 320deg,#22ff8c24 334deg,#22ff8c0f 348deg,#22ff8c00 360deg);mix-blend-mode:screen;opacity:.65;animation:radar-sweep 3.8s linear infinite;pointer-events:none}.board--sea .cell{background:#e7f5ff12}.board--sea .cell--filled{background:linear-gradient(135deg,#00d4ff38,#00d4ff8c)}.board--radar .cell{background:#28ff960a}.board--radar .cell:hover:not(:disabled){background:#28ff960f}.board--radar .cell--preview{background:#28ff9629}.board--radar .cell--invalid{background:#ff3b5c59}.board--radar .cell--hit{background:#ff6384d9}.board--radar .cell--miss{background:#28ff9640;opacity:1;border:1px solid rgba(40,255,150,.4)}.board>*{position:relative;z-index:1}.board--busy{opacity:.75}.board--shake{animation:board-shake .24s ease}.board--shake .cell--hit{filter:saturate(1.05)}.cell--fx:before,.cell--fx:after{content:"";position:absolute;inset:-35%;pointer-events:none;opacity:0}.cell--fx-hit:after{background:radial-gradient(circle,rgba(255,255,255,.65) 0%,rgba(255,99,132,.45) 22%,transparent 60%);transform:scale(.2);animation:blast .56s cubic-bezier(.16,1,.3,1) forwards}.cell--fx-sunk:after{background:radial-gradient(circle,rgba(255,255,255,.65) 0%,rgba(255,99,132,.45) 22%,transparent 60%);transform:scale(.2);animation:blast .56s cubic-bezier(.16,1,.3,1) forwards}.cell--fx-miss:after{inset:-10%;border-radius:999px;border:2px solid rgba(180,210,255,.45);transform:scale(.2);animation:ripple .7s ease-out forwards}@keyframes blast{0%{opacity:0;transform:scale(.15)}12%{opacity:1;transform:scale(.55)}to{opacity:0;transform:scale(1.2)}}@keyframes ripple{0%{opacity:0;transform:scale(.2)}15%{opacity:1}to{opacity:0;transform:scale(1.35)}}@keyframes board-shake{0%{transform:translateZ(0)}18%{transform:translate3d(-2px,0,0)}36%{transform:translate3d(2px,0,0)}54%{transform:translate3d(-1px,0,0)}72%{transform:translate3d(1px,0,0)}to{transform:translateZ(0)}}@keyframes sea-drift{0%{transform:translate3d(-2%,-1%,0) rotate(-1deg)}50%{transform:translate3d(2%,1%,0) rotate(1deg)}to{transform:translate3d(-2%,-1%,0) rotate(-1deg)}}@keyframes radar-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes flash{0%{color:var(--text);transform:scale(1)}50%{color:var(--accent);transform:scale(1.2)}to{color:var(--text);transform:scale(1)}}.flash-animation{animation:flash .4s ease-out}.cell{background:var(--cell);border:none;border-radius:6px;width:100%;height:100%;padding:0;cursor:pointer;transition:transform .1s ease,box-shadow .18s ease;touch-action:none;position:relative}.cell:active{transform:scale(.98)}.cell:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus)}.cell:hover:not(:disabled){background:var(--cell-hover)}.cell--filled{background:linear-gradient(135deg,#00d4ff40,#00d4ff99);box-shadow:inset 0 0 0 1px #00d4ff59}.cell--ghost{background:repeating-linear-gradient(45deg,#ffffff0d,#ffffff0d 5px,#ffffff1a 5px 10px);box-shadow:inset 0 0 0 2px #fff3;opacity:.6}.cell--preview{background:#00ffb399!important;box-shadow:0 0 10px #00ffb366;z-index:10}.cell--invalid{background:#ff3c3c99!important;box-shadow:0 0 10px #ff3c3c66}.cell--preview{background:var(--cell-preview)}.cell--invalid{background:var(--cell-invalid)}.cell--hit{background:#ff6384e6!important;box-shadow:inset 0 0 0 3px #ffffffb3,inset 0 0 12px #ff638466,0 0 10px #ff638480;animation:pop .18s cubic-bezier(.175,.885,.32,1.275)}.cell--target{box-shadow:inset 0 0 0 3px #00d4ffa6,0 0 18px #00d4ff59;background:radial-gradient(circle at 50% 50%,rgba(0,212,255,.18),transparent 60%);outline:2px dashed rgba(0,212,255,.45)}.cell--miss{background:#b4d2ff40;opacity:.8;transform:scale(.6);border-radius:50%;border:2px solid rgba(180,210,255,.6)}.cell--intel-hit{background:linear-gradient(135deg,#00d4ff1f,#00d4ff66);border:1px solid rgba(0,212,255,.45);box-shadow:inset 0 0 0 2px #00d4ff40,0 0 10px #00d4ff2e}.cell--intel-miss{background:#00d4ff14;border:1px dashed rgba(0,212,255,.35)}.cell--ability-area{outline:2px dashed rgba(255,176,32,.5);background:radial-gradient(circle at 50% 50%,rgba(255,176,32,.18),transparent 65%);box-shadow:0 0 12px #ffb02040}@keyframes pulse-red{0%,to{background-color:#ff6384eb}50%{background-color:#e63054f5}}.board-label-corner{width:100%;height:100%}.board-label-col{display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--color-gray-400);font-weight:500;padding-bottom:.25rem}.board-label-row{display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--color-gray-400);font-weight:500}.ship-chip{padding:.5rem .75rem;background:var(--bg-1);border:1px solid var(--border);border-radius:99px;font-size:.875rem;cursor:pointer;font-weight:500;color:var(--text);transition:all .2s}.ship-chip:disabled{opacity:.5;cursor:not-allowed}.ship-chip--selected{background:var(--accent);color:#000;border-color:var(--accent);box-shadow:0 0 10px #00d4ff66}.ship-chip--empty{border-style:dashed;color:var(--muted)}.ship-palette{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.board-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.turn-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:9998;pointer-events:none}.turn-overlay .pill{font-size:3rem;padding:1rem 3rem;box-shadow:0 10px 25px #00000080;background:var(--panel-strong);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-transform:uppercase;font-weight:800;letter-spacing:.1em}.pill--hit{background:#ff638440;color:#ff6384;border-color:#ff638499;box-shadow:0 0 40px #ff638466}.pill--miss{background:#8cb4ff26;color:#fff;border-color:#8cb4ff66}.pill--sunk{background:#ff8c5059;color:#fa6;border-color:#ff8c50cc;box-shadow:0 0 60px #ff8c5066;font-size:3.5rem}@media(max-width:480px){:root{--board-label-size: 1.25rem}.turn-overlay .pill{font-size:1.5rem;padding:.75rem 2rem}.board{padding:2px!important;gap:1px!important}.page{padding:8px 8px calc(8px + env(safe-area-inset-bottom))!important}}.settings-backdrop{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10020;display:flex;align-items:center;justify-content:center;padding:1rem}.settings-modal{background:var(--panel-strong);border:1px solid var(--border);border-radius:16px;width:100%;max-width:400px;box-shadow:0 25px 50px -12px #00000080;overflow:hidden;animation:modal-pop .2s cubic-bezier(.16,1,.3,1)}@keyframes modal-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.pref-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.pref-row:last-child{border-bottom:none}.pref-info{padding-right:1rem}.pref-title{font-weight:600;font-size:1rem;color:var(--text);margin-bottom:.25rem}.pref-row--compact{padding:.65rem 0;border-bottom:1px solid var(--border)}.pref-row--compact:last-child{border-bottom:none}.chip--compact{padding:6px 8px;font-size:.85rem}.config-subpanel{margin-top:.5rem;padding:.75rem 1rem;border-radius:14px;border:1px solid var(--border);background:radial-gradient(80% 120% at 15% 20%,rgba(0,212,255,.12),transparent 55%),radial-gradient(80% 120% at 85% 10%,rgba(138,91,255,.1),transparent 55%),#060b14a6;box-shadow:inset 0 1px #ffffff0a,0 18px 35px #00000059}.config-subpanel--muted{background:#060b148c;border-color:#8cb4ff2e}.config-subpanel__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:.35rem}.config-subpanel__head .eyebrow{color:var(--muted-strong)}.enabled-abilities{display:flex;gap:.5rem;flex-wrap:wrap}.enabled-abilities .chip{background:#00d4ff14;border-color:#00d4ff40;color:var(--text);padding:8px 10px}.ability-panel{margin-top:1rem;padding:1rem;border-radius:16px;border:1px solid var(--border);background:radial-gradient(120% 140% at 20% 20%,rgba(0,212,255,.12),transparent 55%),radial-gradient(140% 140% at 80% 10%,rgba(138,91,255,.1),transparent 55%),#060b14a6;box-shadow:0 20px 45px #00000073,inset 0 1px #ffffff0d}.ability-panel--disabled{opacity:.8;filter:saturate(.85)}.ability-panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:.5rem}.ability-panel__title{margin:0;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-strong)}.ability-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.35rem}.ability-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#060b148c;color:var(--text);font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .15s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;box-shadow:inset 0 1px #ffffff0a,0 10px 24px #00000059}.ability-chip:hover{border-color:#00d4ff73;transform:translateY(-1px);box-shadow:0 12px 28px #00d4ff2e,0 14px 34px #8a5bff24}.ability-chip--active{background:linear-gradient(135deg,#00d4ffe6,#8a5bffe6);color:#020916;border-color:#00d4ffcc;box-shadow:0 12px 32px #00d4ff40,0 16px 40px #8a5bff33}.ability-chip--ghost{background:#060b1459;border-style:dashed;color:var(--text)}.ability-chip .chip{padding:6px 8px;background:#00000059;border-color:#8cb4ff40;color:inherit}.ability-chip--active .chip{background:#ffffff29;border-color:#00000014;color:#020916}.ability-hint{margin:0;color:var(--muted-strong);font-size:.9rem}.ability-hint strong{color:var(--accent)}.cooldown-panel{margin-top:.85rem;padding:.75rem .85rem;border-radius:14px;border:1px solid rgba(255,176,32,.35);background:linear-gradient(135deg,#ffb0201f,#ff5b7c14);box-shadow:inset 0 1px #ffffff0a}.cooldown-panel .eyebrow{margin-bottom:.35rem;color:#ffd596e6}.cooldown-badges{display:flex;gap:.5rem;flex-wrap:wrap}.cooldown-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border-radius:12px;border:1px solid rgba(255,176,32,.4);background:#ffb02024;color:#ffd596;box-shadow:inset 0 1px #ffffff0d,0 10px 20px #00000040}.cooldown-pill .chip{background:#00000059;border-color:#ffb02066;color:inherit;padding:6px 8px}.ability-cancel{border-color:var(--danger);color:var(--danger)}.ability-cancel:hover{border-color:var(--danger);background:#ff5b7c14}.toggle{position:relative;width:52px;height:32px;border-radius:99px;background:var(--bg-2);border:1px solid var(--border);cursor:pointer;padding:2px;transition:all .2s ease;flex-shrink:0}.toggle--on{background:var(--accent);border-color:var(--accent)}.toggle-thumb{display:block;width:26px;height:26px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.toggle--on .toggle-thumb{transform:translate(20px)}.sheet-head{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;background:#0003}.sheet-head .close-btn{margin-top:-.5rem;margin-right:-.5rem}@keyframes ability-pulse{0%,to{transform:scale(1);box-shadow:0 0 #3b82f6b3}50%{transform:scale(1.05);box-shadow:0 0 0 10px #3b82f600}}@keyframes ability-glow{0%,to{box-shadow:0 0 5px #3b82f680,0 0 10px #3b82f64d}50%{box-shadow:0 0 20px #3b82f6cc,0 0 30px #3b82f680}}@keyframes ability-flyover{0%{transform:translateY(-100px) scale(.5);opacity:0}50%{opacity:1}to{transform:translateY(100px) scale(.5);opacity:0}}@keyframes ability-sonar{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2);opacity:.8}to{transform:scale(2);opacity:0}}@keyframes ability-artillery{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(-5deg)}75%{transform:scale(.9) rotate(5deg)}to{transform:scale(1) rotate(0)}}@keyframes ability-cooldown-tick{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.ability-btn-active{animation:ability-pulse 1.5s ease-in-out infinite}.ability-btn-glow{animation:ability-glow 2s ease-in-out infinite}.ability-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;font-weight:700;color:var(--accent);text-shadow:0 0 20px rgba(0,212,255,.8);pointer-events:none;z-index:1000}.ability-cooldown-badge{animation:ability-cooldown-tick .5s ease-out}
