.bs,.bs-setup{--bs-sea:#cfe3f2;--bs-line:#9cc0dc;--bs-ship:#6e8597;--bs-hit:#e5484d;--bs-sunk:#8e2328;--bs-miss:#5f8fb3;--bs-sel:#f2c94c;--bs-buf:#b8d3e8;--bs-pv:#3fb6a8;flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}@media (prefers-color-scheme:dark){.bs,.bs-setup{--bs-sea:#123a5a;--bs-line:#1d5179;--bs-ship:#8aa4b8;--bs-sunk:#7a1f22;--bs-miss:#7fa9c9;--bs-buf:#1a4c74}}.bs-msg{text-align:center;min-height:1.5em;margin:0;font-size:.95rem}.bs-msg.err{color:var(--seat0)}.bs-msg.big{font-weight:700}.bs-boards{flex-wrap:wrap;justify-content:center;gap:18px;width:100%;display:flex}.bs-wrap{flex-direction:column;flex:300px;align-items:center;gap:6px;max-width:440px;display:flex}.bs-wrap h2{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0;font-size:.8rem;font-weight:700}.bs-grid{aspect-ratio:1;background:var(--bs-line);touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:8px;grid-template-rows:repeat(10,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr));gap:2px;width:min(100%,440px);padding:2px;display:grid}.bs-grid.small{width:min(100%,300px)}@media (min-width:760px){.bs-grid.small{width:min(100%,440px)}}.bs-grid .c{background:var(--bs-sea);border-radius:2px;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative}.bs-grid.click .c{cursor:pointer}.bs-grid.click .c:not(.h):not(.m):not(.mk):active{filter:brightness(1.25)}.bs-grid .c.s{background:var(--bs-ship)}.bs-grid .c.h{background:var(--bs-hit)}.bs-grid .c.h:after{content:"✕";color:#fff;font-size:clamp(11px,3.4vw,20px);font-weight:900;line-height:1}.bs-grid .c.sunk{background:var(--bs-sunk)}.bs-grid .c.m:after,.bs-grid .c.mk:after{content:"";aspect-ratio:1;background:var(--bs-miss);border-radius:50%;width:28%}.bs-grid .c.mk:after{opacity:.45}.bs-grid .c.pop{z-index:1;animation:.5s ease-out bs-pop}.bs-grid .c.m.pop{animation:.4s ease-out bs-drop}@keyframes bs-pop{0%{transform:scale(1)}35%{transform:scale(1.5);box-shadow:0 0 14px 4px #e5484daa}to{transform:scale(1)}}@keyframes bs-drop{0%{opacity:.4;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.bs-grid .c.pop{animation:none}}.bs-grid.edit .c.s{touch-action:none;cursor:grab}.bs-grid.edit .c.sel{background:var(--bs-sel);box-shadow:inset 0 0 0 2px #fff6}.bs-grid.edit .c.drag{opacity:.3}.bs-grid.edit .c.buf{background:repeating-linear-gradient(45deg, var(--bs-buf) 0 3px, var(--bs-sea) 3px 8px)}.bs-grid.edit .c.pv{background:var(--bs-pv);box-shadow:inset 0 0 0 2px #fff8}.bs-grid.edit .c.pv.bad{background:var(--bs-hit)}.bs-grid.shake{animation:.3s bs-shake}@keyframes bs-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.bs-fleet{flex-wrap:wrap;justify-content:center;gap:6px;max-width:440px;font-size:.75rem;display:flex}.bs-fleet span{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:4px 8px}.bs-fleet span.dead{opacity:.45;text-decoration:line-through}.bs-fleet span.on{background:var(--bs-sel,#f2c94c);color:#2a2000;border-color:#0000}.bs-setup .bs-fleet span{cursor:pointer;align-items:center;min-height:32px;display:inline-flex}.bs-btns{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.ttt{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.ttt-legend{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.ttt-legend span{background:var(--surface);border:2px solid #0000;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:4px 12px 4px 6px;font-weight:600;display:inline-flex}.ttt-legend span.on{border-color:var(--accent)}.ttt-legend .ttt-mark{width:24px;height:24px}.ttt-board{aspect-ratio:1;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,420px,62dvh);display:grid}.ttt-cell{-webkit-appearance:none;appearance:none;background:var(--surface);touch-action:manipulation;cursor:pointer;color:inherit;border:0;border-radius:14px;justify-content:center;align-items:center;min-width:0;min-height:0;margin:0;padding:0;display:flex;position:relative}.ttt-cell:disabled{cursor:default;opacity:1}.ttt-cell:not(:disabled):active{background:var(--surface-press)}.ttt-cell.win{background:var(--win-bg)}.ttt-cell .ttt-mark{width:72%;height:72%;animation:.18s ease-out ttt-pop;position:absolute;inset:14%}.ttt-mark{fill:none;stroke:currentColor;stroke-width:11px;stroke-linecap:round}@keyframes ttt-pop{0%{opacity:.3;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.ttt-cell .ttt-mark{animation:none}}:root{--bg:#f4f1ea;--surface:#fff;--surface-press:#e9e4d8;--text:#1d1f24;--muted:#6b6f78;--line:#ddd7ca;--accent:#2f6f62;--accent-text:#fff;--win-bg:#d6eadf;--seat0:#d9473f;--seat1:#2f6fd6;--seat2:#d99611;--seat3:#2e9a5e;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#16181d;--surface:#23262d;--surface-press:#2e323a;--text:#eceef2;--muted:#9aa0ab;--line:#353943;--accent:#4fb39e;--accent-text:#0d1f1b;--win-bg:#1f4537;--seat0:#ff6b62;--seat1:#6aa2ff;--seat2:#f2b84b;--seat3:#5cc98a}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;touch-action:manipulation}body{background:var(--bg);color:var(--text);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0;font:17px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}input{-webkit-user-select:text;user-select:text}.app{min-height:100dvh;padding:env(safe-area-inset-top) max(16px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px, env(safe-area-inset-left));flex-direction:column;display:flex}.bar{justify-content:space-between;align-items:center;gap:8px;min-height:56px;display:flex}.brand{padding:0 4px;font-size:1.1rem;font-weight:700}main{flex-direction:column;flex:1;padding-bottom:24px;display:flex}.screen{flex-direction:column;gap:16px;width:100%;max-width:640px;margin:0 auto;display:flex}.screen h1{margin:8px 0 4px;font-size:1.5rem}.hint{color:var(--muted);margin:0;font-size:.9rem}.btn{-webkit-appearance:none;appearance:none;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 18px;font-weight:600;display:inline-flex}.btn:not(:disabled):active{background:var(--surface-press)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:not(:disabled):active{filter:brightness(.92)}.btn.ghost{background:0 0;border-color:#0000;min-height:44px;padding:8px 10px}.btn.me{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;max-width:50%;display:block;overflow:hidden}.btn.big{flex-direction:column;gap:2px;min-height:64px;font-size:1.1rem}.btn small{color:var(--muted);font-size:.8rem;font-weight:500}.name-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.btn.name{text-overflow:ellipsis;white-space:nowrap;min-height:56px;font-size:1.05rem;display:block;overflow:hidden}.new-name{gap:10px;display:flex}.new-name input{min-width:0;min-height:52px;font:inherit;color:var(--text);background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius);-webkit-appearance:none;appearance:none;flex:1;padding:0 14px;font-size:17px}.new-name input:focus{outline:2px solid var(--accent);outline-offset:1px}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.tile{-webkit-appearance:none;appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);touch-action:manipulation;border-radius:18px;flex-direction:column;gap:4px;padding:12px;display:flex}.tile:active{background:var(--surface-press)}.tile-img{aspect-ratio:1;background:var(--bg);border-radius:12px;width:100%;display:block}.tile-img svg{width:100%;height:100%;display:block}.tile-name{margin-top:6px;font-size:1.05rem;font-weight:700}.tile-sub{color:var(--muted);font-size:.85rem}.choices{gap:12px;display:grid}.match{align-items:center;max-width:960px}.status{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-height:2.2em;margin:0;font-size:1.2rem;font-weight:600;display:flex}.status.done{font-size:1.35rem}.who{align-items:center;gap:6px;display:inline-flex}.who i{border-radius:50%;width:12px;height:12px;display:inline-block}.actions{flex-wrap:wrap;justify-content:center;gap:10px;min-height:48px;display:flex}.handover{text-align:center;flex:1;justify-content:center;align-items:center}@media (orientation:landscape) and (max-height:500px){.screen h1{margin:0;font-size:1.2rem}.bar{min-height:44px}}.seats{gap:10px;margin:0;padding:0;list-style:none;display:grid}.seats li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;min-height:56px;padding:8px 12px;font-weight:600;display:flex}.seats li.free{background:0 0;border-style:dashed}.seats .tags{flex:1;gap:6px;display:inline-flex}.seats em{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:.75rem;font-style:normal;font-weight:600}.seats em.warn,.hint.warn{color:var(--seat2)}.muted{color:var(--muted);flex:1;font-weight:500}.level-pick{flex-wrap:wrap;gap:8px;display:flex}.btn.small{min-height:44px;padding:6px 12px;font-size:.95rem}.banner{top:env(safe-area-inset-top);z-index:5;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);text-align:center;width:100%;max-width:640px;margin:0 auto 8px;padding:10px 14px;font-size:.95rem;position:sticky}.banner.err{border-color:var(--seat0);color:var(--seat0)}.banner button{margin-left:8px}.stats h2{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:10px 0 0;font-size:1rem}.seg{flex-wrap:wrap;gap:8px;display:flex}.seg .btn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.tbl{border-collapse:collapse;background:var(--surface);border-radius:var(--radius);width:100%;font-size:.95rem;overflow:hidden}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px}.tbl th{color:var(--muted);font-size:.78rem;font-weight:600}.tbl tr:last-child td{border-bottom:0}.tbl .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tbl tr.me td{color:var(--accent);font-weight:700}.tbl small{color:var(--muted);font-weight:500}.after-stats{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.btn.name{flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex}.btn.name small{font-size:.7rem}.games-head{justify-content:space-between;align-items:center;gap:10px;display:flex}
