.sound[data-v-9998c470]{gap:6px;display:flex;position:relative}.popover[data-v-9998c470]{z-index:20;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;min-width:200px;padding:10px 12px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 20px #00000026}.popover input[data-v-9998c470]{padding:0}.teams[data-v-a9eb32d1]{flex-wrap:wrap;gap:16px;margin-top:12px;display:flex}.team[data-v-a9eb32d1]{flex:200px}.plain[data-v-a9eb32d1]{padding:0;list-style:none}.log ul[data-v-2dae4598]{margin:0;padding:0;list-style:none}.log li[data-v-2dae4598]{border-bottom:1px solid var(--line);padding:4px 0;font-size:.85rem}.log li.status[data-v-2dae4598]{color:var(--bad)}.log li.score[data-v-2dae4598]{color:var(--good)}.log li.wind[data-v-2dae4598]{color:var(--accent)}.dice[data-v-2dae4598]{flex-wrap:wrap;align-items:center;gap:2px;margin-top:3px;display:flex}.die[data-v-2dae4598]{color:#fff;border:1px solid #0000004d;border-radius:4px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 3px;font-size:.7rem;font-weight:700;display:inline-flex}.die-red[data-v-2dae4598]{background:#b03a38}.die-yellow[data-v-2dae4598]{color:#1a1203;background:#c9a227}.die-blue[data-v-2dae4598]{background:#2c6fb0}.die-black[data-v-2dae4598]{background:#111;border-color:#888}.die-plain[data-v-2dae4598]{background:#44556a}.die-pirate[data-v-2dae4598]{background:#5a2d5a}.die-soldier[data-v-2dae4598]{background:#3a6a3a}.vs[data-v-2dae4598]{color:var(--text-dim);margin:0 4px;font-size:.75rem}.detail[data-v-2dae4598]{padding-left:8px}.helm[data-v-87bfc5d3]{background:var(--bg-raised);border:1px solid var(--mine);border-radius:var(--radius);padding:10px}.helm.theirs[data-v-87bfc5d3]{border-color:var(--theirs)}.head[data-v-87bfc5d3]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.block[data-v-87bfc5d3]{margin-top:8px}.block h3[data-v-87bfc5d3]{margin-bottom:3px;font-size:.75rem}.boxes[data-v-87bfc5d3]{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.box[data-v-87bfc5d3]{border:1px solid var(--line);background:var(--bg-sunk);border-radius:2px;width:14px;height:14px;display:inline-block}.box.wide[data-v-87bfc5d3]{width:auto;height:auto;padding:2px 7px;font-size:.75rem}.box.on[data-v-87bfc5d3]{background:var(--good);border-color:var(--good);color:#fff}.box.wide.on[data-v-87bfc5d3]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.box.bad[data-v-87bfc5d3]{background:var(--bad);border-color:var(--bad);color:#fff}.box.half[data-v-87bfc5d3]{border-right:3px solid var(--warn)}.box.min[data-v-87bfc5d3]{border-bottom:3px solid var(--text)}.tick[data-v-87bfc5d3]{color:var(--text-dim);margin-right:8px}.tick.on[data-v-87bfc5d3]{color:var(--text)}.warn-text[data-v-87bfc5d3]{color:var(--warn)}.slots[data-v-87bfc5d3]{grid-template-columns:1fr 1fr;gap:4px;display:grid}.slot[data-v-87bfc5d3]{background:var(--bg-sunk);border:1px dashed var(--line);border-radius:4px;flex-direction:column;padding:3px 6px;font-size:.8rem;display:flex}.slot em[data-v-87bfc5d3]{color:var(--text-dim);text-transform:uppercase;font-size:.65rem;font-style:normal}.pad[data-v-b19cc962]{color:#eef6fc;border-radius:var(--radius);background:#0b2a44;border:1px solid #3d6a8c;flex-direction:column;margin-bottom:8px;padding:6px 8px;display:flex}.head[data-v-b19cc962]{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.hint[data-v-b19cc962]{color:#9db8cc;margin:2px 0 0;font-size:.68rem}.close[data-v-b19cc962]{color:#eef6fc;background:0 0;border-color:#3d6a8c;padding:0 8px;line-height:1.4}.note-line[data-v-b19cc962]{color:#cfe3f2;margin:2px 0 0;font-size:.74rem}.note-line.warn[data-v-b19cc962]{color:#ffd27a}.grid[data-v-b19cc962]{flex-direction:column;gap:6px;margin-top:4px;display:flex}.row[data-v-b19cc962]{border-left:3px solid #0000;padding-left:5px}.row.active[data-v-b19cc962]{border-left-color:#ffc247}.row h3[data-v-b19cc962]{text-transform:uppercase;color:#9db8cc;margin:2px 0 3px;font-size:.68rem}.items[data-v-b19cc962]{flex-wrap:wrap;gap:4px;display:flex}.item[data-v-b19cc962]{text-align:left;color:#eef6fc;cursor:pointer;background:#1e4664b3;border:1.5px solid #4a7a9c;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:.78rem;line-height:1.15;display:flex}.item.template[data-v-b19cc962]{text-align:center;flex-direction:column;width:52px;padding:3px 2px 4px;font-size:.6rem}.item.template .text[data-v-b19cc962]{align-items:center}.item.chosen[data-v-b19cc962]{color:#1b2a38;background:#ffc247;border-color:#fff}.item.off[data-v-b19cc962]{opacity:.4;cursor:not-allowed}.item.cursor[data-v-b19cc962]{outline-offset:1px;outline:3px solid #8fd3ff}.text[data-v-b19cc962]{flex-direction:column;display:flex}.note[data-v-b19cc962]{opacity:.8;font-size:.66rem}.glyph[data-v-b19cc962]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.art[data-v-b19cc962]{width:44px;height:44px}.track[data-v-b19cc962]{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-dasharray:.1 5}.ghost[data-v-b19cc962]{fill:none;stroke:currentColor;stroke-width:1.6px}.start[data-v-b19cc962]{fill:currentColor;opacity:.55}.detail[data-v-b19cc962]{color:#cfe3f2;min-height:1.2em;margin-top:4px;font-size:.78rem}.detail.bad[data-v-b19cc962]{color:#ffb4a8}.table-canvas[data-v-51a38a64]{-webkit-user-select:none;user-select:none;width:100%;height:100%;min-height:320px;position:relative;overflow:hidden}.labels[data-v-51a38a64],.handles[data-v-51a38a64]{pointer-events:none;position:absolute;inset:0}.handle[data-v-51a38a64]{pointer-events:auto;color:#eef6fc;cursor:pointer;background:#081c30b8;border:1.5px solid #8fd3ff;border-radius:12px;min-width:24px;height:24px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;position:absolute;transform:translate(-50%,-50%)}.handle.fire[data-v-51a38a64]{border-color:#ffc247}.handle.manoeuvre[data-v-51a38a64]{color:#c4ccd4;border-color:#c4ccd4}.handle.chosen[data-v-51a38a64]{color:#1b2a38;background:#ffc247;border-color:#fff}.handle.off[data-v-51a38a64]{opacity:.35;cursor:not-allowed}.handle[data-v-51a38a64]:hover:not(.off){color:#10202e;background:#8fd3ff}.table-label[data-v-51a38a64]{color:#eef6fc;white-space:nowrap;background:#081c30c7;border-radius:3px;padding:2px 4px;font-size:11px;line-height:1;position:absolute;transform:translate(-50%,-50%)}.table-label.mine[data-v-51a38a64]{color:#8fd3ff}.table-label.theirs[data-v-51a38a64]{color:#ff9a90}.table-label.pop[data-v-51a38a64]{color:#ffc247;font-weight:600}.battle[data-v-4cdd55c1]{flex-direction:column;height:100%;min-height:0;display:flex}.bar[data-v-4cdd55c1]{background:var(--bg-raised);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:6px 12px;display:flex}.warn[data-v-4cdd55c1]{color:var(--warn)}.main[data-v-4cdd55c1]{flex:1;min-height:360px;display:flex}.fleet[data-v-4cdd55c1]{border-right:1px solid var(--line);flex:none;width:150px;padding:8px;overflow:auto}.shipbtn[data-v-4cdd55c1]{border-left:3px solid var(--mine);justify-content:space-between;width:100%;margin-bottom:4px;padding:5px 7px;font-size:.82rem;display:flex}.shipbtn.theirs[data-v-4cdd55c1]{border-left-color:var(--theirs)}.shipbtn small[data-v-4cdd55c1]{color:var(--text-dim)}.board[data-v-4cdd55c1]{flex:1;min-width:0;position:relative}.viewtoggle[data-v-4cdd55c1]{z-index:2;position:absolute;top:8px;right:8px}.replaybar[data-v-4cdd55c1]{color:#eef6fc;border:1px solid var(--line);border-radius:var(--radius);background:#081c30eb;align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.replaybar input[data-v-4cdd55c1]{flex:1;padding:0}.side[data-v-4cdd55c1]{border-left:1px solid var(--line);flex:none;width:440px;padding:8px;overflow:auto}.hints[data-v-4cdd55c1]{margin-top:8px}.lower[data-v-4cdd55c1]{border-top:1px solid var(--line);background:var(--bg-sunk);max-height:170px;padding:8px 12px;overflow:auto}.history[data-v-4cdd55c1]{margin-bottom:6px}.flag[data-v-db0a95b4]{border:1px solid var(--line);display:block}.flagbtn[data-v-ec5ae0bb]{padding:3px}.flagbtn.chosen[data-v-ec5ae0bb]{outline:2px solid var(--accent,#e3b73b)}.flagbtn[data-v-ec5ae0bb]:disabled{opacity:.35}.deploy[data-v-16d4e50b]{gap:12px;height:100%;min-height:420px;display:flex}.side[data-v-16d4e50b]{flex:none;width:260px;padding:12px}.board[data-v-16d4e50b]{flex:1;min-width:0}.ships[data-v-16d4e50b]{margin:8px 0;padding:0;list-style:none}.ships li[data-v-16d4e50b]{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;margin-bottom:4px;padding:5px 8px}.ships li.on[data-v-16d4e50b]{border-color:var(--accent)}.side .row[data-v-16d4e50b]{margin-bottom:12px}.over h1.good[data-v-41d7cf68]{color:var(--good)}.cols[data-v-41d7cf68]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.plain[data-v-41d7cf68]{margin:0;padding:0;font-size:.9rem;list-style:none}.plain li[data-v-41d7cf68]{padding:2px 0}.scores[data-v-41d7cf68]{max-width:320px;margin-bottom:12px}.back[data-v-41d7cf68]{margin-top:12px;display:inline-block}.catalogue[data-v-b3964ef1]{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin-bottom:12px;display:grid}.card[data-v-b3964ef1]{background:var(--bg-sunk);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:4px;padding:8px;display:flex}.check[data-v-b3964ef1]{flex-direction:row;align-items:center;gap:4px}.total[data-v-b3964ef1]{margin-top:12px}.shipname[data-v-b3964ef1]{width:12em;margin-top:2px;display:block}.match[data-v-a01a6b4a]{flex-direction:column;height:100%;display:flex}.status[data-v-a01a6b4a]{background:var(--bg-raised);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:6px 16px;font-size:.9rem;display:flex}.stage[data-v-a01a6b4a]{flex:1;min-height:0}.battlestage[data-v-a01a6b4a]{flex-direction:column;display:flex;overflow:auto}.over[data-v-a01a6b4a]{width:100%}.invite[data-v-a01a6b4a]{padding-bottom:0}.invite input[data-v-a01a6b4a]{width:100%}:root{--bg:#eceef0;--bg-raised:#fff;--bg-sunk:#f5f6f7;--line:#c8cdd2;--text:#1f2429;--text-dim:#5b6670;--accent:#3b556b;--accent-text:#fff;--mine:#1f6fb2;--theirs:#b5483f;--good:#2f7d4f;--bad:#b3382f;--warn:#8f5f00;--radius:4px;--gap:12px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg)}.shell{flex-direction:column;height:100%;display:flex}.topbar{align-items:baseline;gap:var(--gap);background:var(--bg-raised);border-bottom:1px solid var(--line);padding:8px 16px;display:flex}.brand{color:var(--text);letter-spacing:.04em;font-weight:700;text-decoration:none}.credits-link{color:var(--text-dim);margin-left:auto;font-size:.85rem}.tagline{color:var(--text-dim);font-size:.85rem}.content{flex:1;min-height:0;overflow:auto}.page{max-width:880px;margin:0 auto;padding:16px}h1,h2,h3{margin:0 0 8px;font-weight:600}h1{font-size:1.4rem}h2{font-size:1.1rem}h3{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.95rem}.panel{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:var(--gap);padding:14px}.row{gap:var(--gap);flex-wrap:wrap;align-items:center;display:flex}.grow{flex:1}.dim{color:var(--text-dim)}.small{font-size:.85rem}.error{color:var(--bad)}.good{color:var(--good)}label{color:var(--text-dim);flex-direction:column;gap:4px;font-size:.85rem;display:flex}label.check{flex-direction:row;align-items:center;gap:6px}input[type=checkbox]{width:16px;height:16px;padding:0}input,select{background:var(--bg-sunk);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);font:inherit;padding:7px 9px}button{background:var(--bg-sunk);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);font:inherit;cursor:pointer;padding:7px 12px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}button.chosen{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.badge{background:var(--bg-sunk);border:1px solid var(--line);border-radius:999px;padding:1px 7px;font-size:.75rem;display:inline-block}.badge.turn{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}.badge.warn{border-color:var(--warn);color:var(--warn)}.badge.bad{border-color:var(--bad);color:var(--bad)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}a{color:var(--accent)}table{border-collapse:collapse;width:100%}td,th{text-align:left;border-bottom:1px solid var(--line);padding:5px 8px;font-size:.9rem}
