.board[data-v-e211da06]{aspect-ratio:1;background:var(--surface-2);border-radius:22px;grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,420px);padding:8px;display:grid;position:relative}.cell[data-v-e211da06]{background:var(--surface);box-shadow:var(--shadow);cursor:default;border:none;border-radius:14px;padding:0;position:relative}.interactive .cell[data-v-e211da06]:not(:disabled){cursor:pointer}.interactive .cell[data-v-e211da06]:not(:disabled):hover{background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.cell[data-v-e211da06]:disabled{opacity:1}.cell.last[data-v-e211da06]{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent), var(--shadow)}.mark[data-v-e211da06]{fill:none;stroke-width:11px;stroke-linecap:round;width:100%;height:100%;position:absolute;inset:0}.mark.x[data-v-e211da06]{stroke:var(--x)}.mark.o[data-v-e211da06]{stroke:var(--o)}.mark path[data-v-e211da06],.mark circle[data-v-e211da06]{stroke-dasharray:160;stroke-dashoffset:160px;animation:.28s ease-out forwards draw-e211da06}.mark path.second[data-v-e211da06]{animation-delay:.12s}.cell.won .mark[data-v-e211da06]{animation:.5s .25s pop-e211da06}.line[data-v-e211da06]{pointer-events:none;width:calc(100% - 16px);height:calc(100% - 16px);position:absolute;inset:8px}.line line[data-v-e211da06]{stroke-width:10px;stroke-linecap:round;stroke-dasharray:400;stroke-dashoffset:400px;opacity:.85;animation:.45s ease-out .2s forwards draw-line-e211da06}.line .x[data-v-e211da06]{stroke:var(--x)}.line .o[data-v-e211da06]{stroke:var(--o)}@keyframes draw-e211da06{to{stroke-dashoffset:0}}@keyframes draw-line-e211da06{to{stroke-dashoffset:0}}@keyframes pop-e211da06{50%{transform:scale(1.12)}}.page[data-v-205299c9]{max-width:640px;padding:10px max(16px, env(safe-area-inset-right)) 32px max(16px, env(safe-area-inset-left));margin:0 auto}.top[data-v-205299c9]{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.brand[data-v-205299c9]{white-space:nowrap;align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.logo[data-v-205299c9]{gap:2px;font-size:20px;display:inline-flex}.logo .x[data-v-205299c9]{color:var(--x)}.logo .o[data-v-205299c9]{color:var(--o)}.actions[data-v-205299c9]{align-items:center;gap:2px;display:flex}.actions .btn[data-v-205299c9]{white-space:nowrap;border-color:#0000;padding:0 12px}.actions svg[data-v-205299c9]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.code[data-v-205299c9]{letter-spacing:.12em}@media (max-width:600px){.brand span[data-v-205299c9]:last-child,.actions .label[data-v-205299c9]{display:none}}.play[data-v-205299c9]{flex-direction:column;align-items:center;gap:10px;display:flex}.status[data-v-205299c9]{text-align:center;min-height:1.3em;margin:8px 0 0;font-size:clamp(24px,6vw,32px)}.status.turn[data-v-205299c9]{color:var(--accent)}.status.covered[data-v-205299c9]{opacity:0}.score[data-v-205299c9]{min-height:1.4em;color:var(--muted);margin:-4px 0 2px;font-weight:600}.score strong[data-v-205299c9]{color:var(--text);margin:0 6px;font-size:18px}.score.hidden[data-v-205299c9]{visibility:hidden}.banner[data-v-205299c9]{background:color-mix(in srgb, var(--good) 15%, var(--surface));color:var(--good);text-align:center;border-radius:999px;margin:0;padding:10px 16px;font-weight:600}.stage[data-v-205299c9]{width:min(100%,420px);position:relative}.overlay[data-v-205299c9]{text-align:center;background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;animation:.3s ease-out both cover-205299c9;display:flex;position:absolute;inset:0}.overlay.tall[data-v-205299c9]{background:color-mix(in srgb, var(--bg) 92%, transparent);gap:14px;min-height:100%;bottom:auto}.overlay.late[data-v-205299c9]{animation-delay:.6s}.big[data-v-205299c9]{text-wrap:balance;margin:0;font-size:clamp(24px,6.5vw,32px);font-weight:800;line-height:1.2}.overlay.mine .big[data-v-205299c9]{color:var(--good)}.option[data-v-205299c9]{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.option h3[data-v-205299c9]{color:var(--muted);margin:0;font-size:15px;font-weight:600}.invite-code[data-v-205299c9]{letter-spacing:.2em;margin:0;font-size:34px;font-weight:800;line-height:1.1}.or[data-v-205299c9]{width:100%;color:var(--muted);align-items:center;gap:10px;margin:0;font-size:14px;display:flex}.or[data-v-205299c9]:before,.or[data-v-205299c9]:after{content:"";background:var(--border);flex:1;height:1px}.join-row[data-v-205299c9]{gap:8px;width:min(100%,300px);display:flex}.join-row input[data-v-205299c9]{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:44px;color:var(--text);font:inherit;letter-spacing:.2em;text-transform:uppercase;border-radius:999px;flex:1;padding:0 14px;font-weight:700}.again[data-v-205299c9]{min-height:52px;padding:0 28px;font-size:18px}.hint[data-v-205299c9]{color:var(--muted);margin:0;font-weight:600}@keyframes cover-205299c9{0%{opacity:0;transform:scale(.97)}}.board-empty[data-v-205299c9]{aspect-ratio:1;background:var(--surface-2);border-radius:22px;grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,420px);padding:8px;display:grid}.board-empty span[data-v-205299c9]{background:var(--surface);opacity:.6;border-radius:14px;animation:2.4s ease-in-out infinite breathe-205299c9}.board-empty span[data-v-205299c9]:nth-child(odd){animation-delay:.6s}@keyframes breathe-205299c9{50%{opacity:.3}}.history[data-v-205299c9]{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.small[data-v-205299c9]{font-size:14px}.small-btn[data-v-205299c9]{min-height:36px;font-size:14px}.error[data-v-205299c9]{color:var(--x);margin:0}.page[data-v-029d163f]{max-width:520px;margin:0 auto;padding:12px 16px 32px}.top[data-v-029d163f]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}a.btn[data-v-029d163f]{text-decoration:none}.replay[data-v-029d163f]{flex-direction:column;align-items:center;gap:14px;display:flex}.players[data-v-029d163f]{gap:12px;margin:0;font-weight:700;display:flex}.x[data-v-029d163f]{color:var(--x)}.o[data-v-029d163f]{color:var(--o)}input[type=range][data-v-029d163f]{width:min(100%,420px);accent-color:var(--accent)}.controls[data-v-029d163f]{gap:10px;display:flex}:root{--bg:#f6f2ea;--surface:#fff;--surface-2:#efe9df;--text:#1d1b18;--muted:#6d665e;--border:#e3dbcf;--accent:#2f6df6;--accent-text:#fff;--x:#e8553f;--o:#138f8a;--good:#1f9d55;--warn:#b7791f;--shadow:0 1px 2px #0000000f, 0 6px 20px #0000000f;--radius:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#15141a;--surface:#201e26;--surface-2:#2a2731;--text:#f3efe8;--muted:#a59f97;--border:#36323d;--accent:#6b9bff;--accent-text:#0d0c10;--x:#ff7a66;--o:#3cc7c0;--good:#4cc38a;--warn:#e3b45c;--shadow:0 1px 2px #0006, 0 8px 24px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font-family:ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.4}button{font:inherit;color:inherit}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-weight:600;transition:transform 80ms,background .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.ghost{background:0 0}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible,input:focus-visible,.cell:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.muted{color:var(--muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
