@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-duration:initial;--tw-ease:initial;--tw-tracking:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--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;--color-gray-400:#e6f0ff8c;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wide:.025em;--radius-md:.375rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg-0:#060b14;--color-bg-1:#071022;--color-panel:#081226c7;--color-panel-strong:#081226eb;--color-border:#8cb4ff2e;--color-border-strong:#8cb4ff47;--color-text:#e6f0ff;--color-muted:#e6f0ffad;--color-muted-strong:#e6f0ffc7;--color-danger:#ff5b7c;--color-warning:#ffb020;--color-ok:#2ef2a0;--color-accent:#00d4ff;--color-cell:#e7f5ff14;--color-cell-hover:#e7f5ff1f;--color-focus:#00d4ff59;--radius-card:18px;--radius-control:14px;--radius-pill:999px;--shadow-panel:0 18px 60px #00000059;--animate-radar-sweep:radar-sweep 3.8s linear infinite;--animate-sea-drift:sea-drift 14s ease-in-out infinite;--animate-board-shake:board-shake .24s ease;--animate-flash:flash .4s ease-out;--animate-modal-pop:modal-pop .2s cubic-bezier(.16,1,.3,1);--animate-ability-pulse:ability-pulse 1.5s ease-in-out infinite;--animate-ability-glow:ability-glow 2s ease-in-out infinite;--animate-ability-cooldown-tick:ability-cooldown-tick .5s ease-out;--animate-blast:blast .56s cubic-bezier(.16,1,.3,1)forwards;--animate-ripple:ripple .7s ease-out forwards;--animate-pop:pop .18s cubic-bezier(.175,.885,.32,1.275)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.page{gap:calc(var(--spacing)*3);max-width:920px;min-height:100vh;padding:12px 12px calc(12px + env(safe-area-inset-bottom));flex-direction:column;margin-inline:auto;display:flex}.shell{gap:calc(var(--spacing)*2);flex-direction:column;flex:1;display:flex}.footer{padding-top:calc(var(--spacing)*3);text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));border-top:1px solid #8cb4ff1f;margin-top:auto}.topbar{justify-content:space-between;align-items:center;gap:calc(var(--spacing)*2);flex-direction:row;display:flex}.brand{flex-direction:column;justify-content:center;display:flex}.status{margin-left:calc(var(--spacing)*0);align-items:center;gap:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:calc(var(--spacing)*4);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card-head{margin-bottom:calc(var(--spacing)*2);justify-content:space-between;align-items:center;gap:calc(var(--spacing)*3);flex-wrap:wrap;display:flex}.section-title{margin:calc(var(--spacing)*0);margin-bottom:calc(var(--spacing)*2);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide);color:#e6f0ffeb}.eyebrow{margin:calc(var(--spacing)*0);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.muted{color:var(--color-muted);margin:calc(var(--spacing)*0)}.stack{gap:calc(var(--spacing)*3);flex-direction:column;display:flex}.field{gap:calc(var(--spacing)*1.5);flex-direction:column;font-size:.95rem;display:flex}.field input{border-radius:var(--radius-control);border:1px solid var(--color-border);padding:calc(var(--spacing)*3);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));color:var(--color-text);background:#060b14a6;transition:border-color .15s,box-shadow .15s,transform .12s}.field input:focus{--tw-outline-style:none;box-shadow:0 0 0 4px var(--color-focus);border-color:#00d4ff8c;outline-style:none}.field input::placeholder{color:#e6f0ff73}.grid-2{gap:calc(var(--spacing)*2.5);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.actions{align-items:center;gap:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.actions--footer{margin-top:calc(var(--spacing)*2);padding-top:calc(var(--spacing)*3);border-top:1px solid var(--color-border);justify-content:flex-end}.icon-btn{cursor:pointer;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2.5);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:#e6f0ffe6;background:#060b1459;border:1px solid #8cb4ff47;border-radius:3.40282e38px;transition:transform .12s,border-color .18s,background .18s}.icon-btn:hover{background:#060b1480;border-color:#00d4ff73}.icon-btn:active{transform:scale(.99)}.icon-btn:focus-visible{--tw-outline-style:none;box-shadow:0 0 0 4px var(--color-focus);outline-style:none}.btn{cursor:pointer;--tw-border-style:none;padding:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);border-radius:var(--radius-control);color:#060b14f2;background:linear-gradient(135deg,#00d4ff,#8a5bff);border-style:none;transition:transform .12s,box-shadow .2s,opacity .2s,filter .2s;box-shadow:0 10px 30px #00d4ff40,0 12px 40px #8a5bff2e}.btn:disabled{cursor:not-allowed;opacity:.5;--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.btn:hover:not(:disabled){filter:saturate(1.06);transform:translateY(-1px);box-shadow:0 14px 42px #00d4ff4d,0 16px 50px #8a5bff38}.btn:active:not(:disabled){transform:translateY(0)scale(.99)}.btn--outline{color:var(--color-text);border:1px solid var(--color-border-strong);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background:#060b1459}.btn--ghost{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);color:var(--color-text);background-color:#0000;border:1px dashed #8cb4ff59}.pill{align-items:center;gap:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*2.5);padding-block:calc(var(--spacing)*1.5);border-radius:var(--radius-pill);color:var(--color-text);background:#e7f5ff14;border:1px solid #0000;font-size:.85rem;display:inline-flex}.pill--amber{color:#ffdca0eb;background:#ffb02026;border-color:#ffb02073}.pill--green{color:#b7ffe2eb;background:#2ef2a024;border-color:#2ef2a08c}.pill--gray{color:#e6f0ffb3;background:#e6f0ff14;border-color:#8cb4ff2e}.pill--purple{color:#e0d4fff2;background:#8a5bff24;border-color:#8a5bff8c}.pill--outline{color:var(--color-muted-strong);background-color:#0000;border-color:#8cb4ff59}.pill--hit{color:#ff6384;background:#ff638440;border-color:#ff638499;box-shadow:0 0 40px #ff638466}.pill--miss{color:var(--color-white);background:#8cb4ff26;border-color:#8cb4ff66}.pill--sunk{color:#fa6;background:#ff8c5059;border-color:#ff8c50cc;font-size:3.5rem;box-shadow:0 0 60px #ff8c5066}.fleet-list{gap:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.chip{gap:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2.5);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);border-radius:var(--radius-control);border:1px solid var(--color-border);background:#060b1459;display:inline-flex}.chip--compact{padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1.5);font-size:.85rem}.log-list{max-height:calc(var(--spacing)*80);gap:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*1.5);flex-direction:column;display:flex;overflow-y:auto}.log-item{align-items:center;gap:calc(var(--spacing)*2);padding:calc(var(--spacing)*2.5);border-radius:var(--radius-control);background:#060b1447;border:1px solid #8cb4ff1f;display:flex}.log-time{font-family:var(--font-mono);color:#e6f0ffa6;font-size:.85rem}.meta{margin-top:calc(var(--spacing)*2.5);gap:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.board-wrap{gap:calc(var(--spacing)*2.5);flex-direction:column;display:flex}.board-section{gap:calc(var(--spacing)*2);flex-direction:column;display:flex}.combat-tabs{margin-block:calc(var(--spacing)*2.5);gap:calc(var(--spacing)*2);padding:calc(var(--spacing)*1);background:#060b1459;border:1px solid #8cb4ff2e;border-radius:16px;grid-template-columns:1fr 1fr;display:grid}.seg-btn{cursor:pointer;border-style:var(--tw-border-style);padding:calc(var(--spacing)*3);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:#e6f0ffc7;letter-spacing:.02em;background-color:#0000;border-width:1px;border-color:#0000;border-radius:14px;transition:transform .12s,background .18s,border-color .18s}.seg-btn:active{transform:scale(.99)}.seg-btn--active{color:#e6f0fff2;background:#00d4ff1f;border-color:#00d4ff66}.combat-grid{gap:calc(var(--spacing)*3);grid-template-columns:1fr;display:grid}.combat-panel{display:none}.combat-panel--active{display:block}.board{gap:calc(var(--spacing)*.5);border-radius:var(--radius-2xl);width:100%;padding:calc(var(--spacing)*1.5);aspect-ratio:1;touch-action:none;background:#e7f5ff1a;border:1px solid #8cb4ff29;display:grid;position:relative;overflow:hidden}.board--sea{background:radial-gradient(900px 520px at 30% 20%,#00d4ff1f,#0000 60%),radial-gradient(900px 520px at 70% 85%,#2ef2a014,#0000 62%),linear-gradient(#08182ecc,#060b14d9);border-color:#00d4ff2e}.board--sea:before{content:"";pointer-events:none;opacity:.35;filter:blur(10px);animation:var(--animate-sea-drift);background:radial-gradient(circle at 20% 30%,#00d4ff24,#0000 45%),radial-gradient(circle at 55% 55%,#b4d2ff1a,#0000 44%),radial-gradient(circle at 75% 25%,#2ef2a014,#0000 50%),repeating-linear-gradient(135deg,#e6f0ff0f 0 2px,#0000 10px 16px);position:absolute;inset:-20%;transform:translate(0)}.board--sea:after{content:"";pointer-events:none;inset:calc(var(--spacing)*0);opacity:.55;background:radial-gradient(circle at 50% 40%,#0000 45%,#00000073);position:absolute}.board--radar{background:radial-gradient(circle,#22ff8c1a,#0000 55%),radial-gradient(circle,#000000d9,#000000eb);border-color:#22ff8c38}.board--radar:before{content:"";pointer-events:none;inset:calc(var(--spacing)*0);opacity:.8;background:radial-gradient(circle,#0000 0 22%,#22ff8c1f 22% 22.6%,#0000 22.6% 36%),radial-gradient(circle,#0000 0 36%,#22ff8c1a 36% 36.6%,#0000 36.6% 50%),radial-gradient(circle,#0000 0 50%,#22ff8c14 50% 50.6%,#0000 50.6% 64%),radial-gradient(circle,#0000 0 64%,#22ff8c0f 64% 64.6%,#0000 64.6% 78%),linear-gradient(90deg,#0000 49.6%,#22ff8c1a,#0000 50.4%),linear-gradient(#0000 49.6%,#22ff8c1a,#0000 50.4%);position:absolute}.board--radar:after{content:"";pointer-events:none;mix-blend-mode:screen;opacity:.65;animation:var(--animate-radar-sweep);background:conic-gradient(#22ff8c00 0deg 320deg,#22ff8c24 334deg,#22ff8c0f 348deg,#22ff8c00 360deg);position:absolute;inset:-35%}.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{opacity:1;background:#28ff9640;border:1px solid #28ff9666}.board>*{z-index:1;position:relative}.board--busy{opacity:.75}.board--shake{animation:var(--animate-board-shake)}.board--shake .cell--hit{filter:saturate(1.05)}.cell{background:var(--color-cell);cursor:pointer;border-radius:var(--radius-md);--tw-border-style:none;width:100%;height:100%;padding:calc(var(--spacing)*0);touch-action:none;border-style:none;transition:transform .1s,box-shadow .18s;position:relative}.cell:active{transform:scale(.98)}.cell:focus-visible{--tw-outline-style:none;box-shadow:0 0 0 3px var(--color-focus);outline-style:none}.cell:hover:not(:disabled){background:var(--color-cell-hover)}.cell--filled{background:linear-gradient(135deg,#00d4ff40,#00d4ff99);box-shadow:inset 0 0 0 1px #00d4ff59}.cell--ghost{opacity:.6;background:repeating-linear-gradient(45deg,#ffffff0d,#ffffff0d 5px,#ffffff1a 5px 10px);box-shadow:inset 0 0 0 2px #fff3}.cell--preview{z-index:10;box-shadow:0 0 10px #00ffb366;background:#00ffb399!important}.cell--invalid{box-shadow:0 0 10px #ff3c3c66;background:#ff3c3c99!important}.cell--hit{animation:var(--animate-pop);box-shadow:inset 0 0 0 3px #ffffffb3,inset 0 0 12px #ff638466,0 0 10px #ff638480;background:#ff6384e6!important}.cell--target{background:radial-gradient(circle,#00d4ff2e,#0000 60%);outline:2px dashed #00d4ff73;box-shadow:inset 0 0 0 3px #00d4ffa6,0 0 18px #00d4ff59}.cell--miss{opacity:.8;background:#b4d2ff40;border:2px solid #b4d2ff99;border-radius:3.40282e38px;transform:scale(.6)}.cell--intel-hit{background:linear-gradient(135deg,#00d4ff1f,#00d4ff66);border:1px solid #00d4ff73;box-shadow:inset 0 0 0 2px #00d4ff40,0 0 10px #00d4ff2e}.cell--intel-miss{background:#00d4ff14;border:1px dashed #00d4ff59}.cell--ability-area{background:radial-gradient(circle,#ffb0202e,#0000 65%);outline:2px dashed #ffb02080;box-shadow:0 0 12px #ffb02040}.cell--fx:before,.cell--fx:after{content:"";pointer-events:none;opacity:0;position:absolute;inset:-35%}.cell--fx-hit:after,.cell--fx-sunk:after{animation:var(--animate-blast);background:radial-gradient(circle,#ffffffa6,#ff638473 22%,#0000 60%);transform:scale(.2)}.cell--fx-miss:after{animation:var(--animate-ripple);border:2px solid #b4d2ff73;border-radius:3.40282e38px;inset:-10%;transform:scale(.2)}.board-label-corner{width:100%;height:100%}.board-label-col{padding-bottom:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-gray-400);justify-content:center;align-items:center;display:flex}.board-label-row{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-gray-400);justify-content:center;align-items:center;display:flex}.ship-chip{cursor:pointer;padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);background:var(--color-bg-1);border:1px solid var(--color-border);color:var(--color-text);border-radius:3.40282e38px;transition:all .2s}.ship-chip:disabled{cursor:not-allowed;opacity:.5}.ship-chip--selected{background:var(--color-accent);color:var(--color-black);border-color:var(--color-accent);box-shadow:0 0 10px #00d4ff66}.ship-chip--empty{--tw-border-style:dashed;color:var(--color-muted);border-style:dashed}.ship-palette{margin-bottom:calc(var(--spacing)*4);gap:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.board-footer{margin-top:calc(var(--spacing)*2);justify-content:space-between;align-items:center;display:flex}.turn-overlay{pointer-events:none;inset:calc(var(--spacing)*0);z-index:9998;justify-content:center;align-items:center;display:flex;position:fixed}.turn-overlay .pill{padding-inline:calc(var(--spacing)*12);padding-block:calc(var(--spacing)*4);font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height));--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold);text-transform:uppercase;background:var(--color-panel-strong);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.1em;box-shadow:0 10px 25px #00000080}.settings-backdrop{inset:calc(var(--spacing)*0);z-index:10020;padding:calc(var(--spacing)*4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed}.settings-modal{background:var(--color-panel-strong);border:1px solid var(--color-border);width:100%;max-width:var(--container-md);border-radius:var(--radius-2xl);animation:var(--animate-modal-pop);overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.pref-row{padding-inline:calc(var(--spacing)*6);padding-block:calc(var(--spacing)*4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.pref-row:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.pref-info{padding-right:calc(var(--spacing)*4)}.pref-title{margin-bottom:calc(var(--spacing)*1);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-text)}.pref-row--compact{padding-block:calc(var(--spacing)*2.5);border-bottom:1px solid var(--color-border)}.pref-row--compact:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.config-subpanel{margin-top:calc(var(--spacing)*2);padding:calc(var(--spacing)*3);border:1px solid var(--color-border);background:radial-gradient(80% 120% at 15% 20%,#00d4ff1f,#0000 55%),radial-gradient(80% 120% at 85% 10%,#8a5bff1a,#0000 55%),#060b14a6;border-radius:14px;box-shadow:inset 0 1px #ffffff0a,0 18px 35px #00000059}.config-subpanel--muted{background:#060b148c;border-color:#8cb4ff2e}.config-subpanel__head{margin-bottom:calc(var(--spacing)*1);justify-content:space-between;align-items:center;gap:calc(var(--spacing)*2);display:flex}.config-subpanel__head .eyebrow{color:var(--color-muted-strong)}.enabled-abilities{gap:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.enabled-abilities .chip{color:var(--color-text);padding-inline:calc(var(--spacing)*2.5);padding-block:calc(var(--spacing)*2);background:#00d4ff14;border-color:#00d4ff40}.ability-panel{margin-top:calc(var(--spacing)*4);border-radius:var(--radius-2xl);padding:calc(var(--spacing)*4);border:1px solid var(--color-border);background:radial-gradient(120% 140% at 20% 20%,#00d4ff1f,#0000 55%),radial-gradient(140% 140% at 80% 10%,#8a5bff1a,#0000 55%),#060b14a6;box-shadow:0 20px 45px #00000073,inset 0 1px #ffffff0d}.ability-panel--disabled{opacity:.8;filter:saturate(.85)}.ability-panel__head{margin-bottom:calc(var(--spacing)*2);justify-content:space-between;align-items:center;gap:calc(var(--spacing)*2.5);display:flex}.ability-panel__title{margin:calc(var(--spacing)*0);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-strong);font-size:.95rem}.ability-actions{margin-bottom:calc(var(--spacing)*1);gap:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.ability-chip{cursor:pointer;align-items:center;gap:calc(var(--spacing)*2);border-radius:var(--radius-xl);padding-inline:calc(var(--spacing)*3);padding-block:calc(var(--spacing)*2.5);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);border:1px solid var(--color-border);color:var(--color-text);letter-spacing:.01em;background:#060b148c;transition:transform .15s,border-color .2s,box-shadow .2s,background .2s,color .2s;display:inline-flex;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{color:#020916;background:linear-gradient(135deg,#00d4ffe6,#8a5bffe6);border-color:#00d4ffcc;box-shadow:0 12px 32px #00d4ff40,0 16px 40px #8a5bff33}.ability-chip--ghost{--tw-border-style:dashed;color:var(--color-text);background:#060b1459;border-style:dashed}.ability-chip .chip{padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1.5);color:inherit;background:#00000059;border-color:#8cb4ff40}.ability-chip--active .chip{color:#020916;background:#ffffff29;border-color:#00000014}.ability-hint{margin:calc(var(--spacing)*0);color:var(--color-muted-strong);font-size:.9rem}.ability-hint strong{color:var(--color-accent)}.cooldown-panel{margin-top:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*3.5);padding-block:calc(var(--spacing)*3);background:linear-gradient(135deg,#ffb0201f,#ff5b7c14);border:1px solid #ffb02059;border-radius:14px;box-shadow:inset 0 1px #ffffff0a}.cooldown-panel .eyebrow{margin-bottom:calc(var(--spacing)*1);color:#ffd596e6}.cooldown-badges{gap:calc(var(--spacing)*2);flex-wrap:wrap;display:flex}.cooldown-pill{align-items:center;gap:calc(var(--spacing)*2);border-radius:var(--radius-xl);padding-inline:calc(var(--spacing)*2.5);padding-block:calc(var(--spacing)*1);color:#ffd596;background:#ffb02024;border:1px solid #ffb02066;display:inline-flex;box-shadow:inset 0 1px #ffffff0d,0 10px 20px #00000040}.cooldown-pill .chip{color:inherit;padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1.5);background:#00000059;border-color:#ffb02066}.ability-cancel{border-color:var(--color-danger);color:var(--color-danger)}.ability-cancel:hover{border-color:var(--color-danger);background:#ff5b7c14}.toggle{cursor:pointer;background:var(--color-bg-1);border:1px solid var(--color-border);border-radius:99px;flex-shrink:0;width:52px;height:32px;padding:2px;transition:all .2s;position:relative}.toggle--on{background:var(--color-accent);border-color:var(--color-accent)}.toggle-thumb{background-color:var(--color-white);border-radius:3.40282e38px;width:26px;height:26px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:block;box-shadow:0 2px 4px #0003}.toggle--on .toggle-thumb{transform:translate(20px)}.sheet-head{padding:calc(var(--spacing)*6);border-bottom:1px solid var(--color-border);background:#0003;justify-content:space-between;align-items:flex-start;display:flex}.sheet-head .close-btn{margin-top:calc(var(--spacing)*-2);margin-right:calc(var(--spacing)*-2)}.ability-btn-active{animation:var(--animate-ability-pulse)}.ability-btn-glow{animation:var(--animate-ability-glow)}.ability-overlay{pointer-events:none;z-index:1000;font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-accent);text-shadow:0 0 20px #00d4ffcc;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.ability-cooldown-badge{animation:var(--animate-ability-cooldown-tick)}.flash-animation{animation:var(--animate-flash)}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.top-16{top:calc(var(--spacing)*16)}.right-0{right:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mb-2{margin-bottom:calc(var(--spacing)*2)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.h-2{height:calc(var(--spacing)*2)}.w-2{width:calc(var(--spacing)*2)}.flex-shrink-0{flex-shrink:0}.-translate-y-2{--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing)*2)}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.px-3\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--board-label-size:2rem;font-family:var(--font-sans);color:var(--color-text);background:radial-gradient(1200px 800px at 20% 0%,#00d4ff29,transparent 55%),radial-gradient(900px 700px at 85% 8%,#8a5bff24,transparent 55%),radial-gradient(1100px 900px at 50% 110%,#2ef2a014,transparent 60%),linear-gradient(180deg,var(--color-bg-1),var(--color-bg-0));min-height:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:dark;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:0 0;min-height:100vh;margin:0}#root{min-height:100vh}a{color:inherit}h1{margin:calc(var(--spacing)*0);font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));letter-spacing:.02em}h2{margin:calc(var(--spacing)*0);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));letter-spacing:.01em}@media(min-width:700px){.page{padding-top:calc(var(--spacing)*8)}}@media(min-width:820px){.combat-tabs{display:none}.combat-grid{grid-template-columns:1fr 1fr;align-items:flex-start}.combat-panel{display:block}}@media(max-width:480px){:root{--board-label-size:1.25rem}.turn-overlay .pill{padding-inline:calc(var(--spacing)*8);padding-block:calc(var(--spacing)*3);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.board{gap:1px!important;padding:2px!important}.page{padding:8px 8px calc(8px + env(safe-area-inset-bottom))!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@keyframes radar-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sea-drift{0%{transform:translate(-2%,-1%)rotate(-1deg)}50%{transform:translate(2%,1%)rotate(1deg)}to{transform:translate(-2%,-1%)rotate(-1deg)}}@keyframes board-shake{0%{transform:translate(0)}18%{transform:translate(-2px)}36%{transform:translate(2px)}54%{transform:translate(-1px)}72%{transform:translate(1px)}to{transform:translate(0)}}@keyframes flash{0%{color:var(--color-text);transform:scale(1)}50%{color:var(--color-accent);transform:scale(1.2)}to{color:var(--color-text);transform:scale(1)}}@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 modal-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@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-cooldown-tick{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}
