:root{--c-bg: #161616;--c-bg-dark: #0d0d0d;--c-panel: #1e1e1e;--c-panel-2: #262626;--c-elevated: #333333;--c-border: #383838;--c-text: #f2f2f2;--c-text-muted: #a8a8a8;--c-text-faint: #757575;--c-green: #ffd200;--c-green-hover: #ffde3d;--c-green-shadow: #c9a600;--c-blue: #4e91d3;--c-red: #d64541;--c-red-hover: #e05752;--c-gold: #ffd200;--sq-light: #ece9df;--sq-dark: #4a4a4a;--sq-highlight: #ffd200;--sq-target: #ffffff;--radius: 8px;--radius-lg: 12px;--shadow: 0 8px 30px rgba(0, 0, 0, .35);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100vh}body{color:var(--c-text);background:var(--c-bg);line-height:1.5;font-family:Segoe UI,Inter,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-weight:700;line-height:1.25;color:#fff}a{color:var(--c-green);text-decoration:none;transition:color .15s ease}a:hover{color:var(--c-green-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;font-size:15px;font-weight:700;font-family:inherit;color:#fff;background:var(--c-elevated);border:none;border-radius:var(--radius);cursor:pointer;transition:background .15s ease,transform .05s ease,box-shadow .15s ease;box-shadow:0 3px #00000059;-webkit-user-select:none;user-select:none}.btn:hover{background:#454340}.btn:active{transform:translateY(1px);box-shadow:0 2px #00000059}.btn-primary{background:var(--c-green);color:#161616;box-shadow:0 3px 0 var(--c-green-shadow)}.btn-primary:hover{background:var(--c-green-hover)}.btn-danger{background:var(--c-red);box-shadow:0 3px #9e2b28}.btn-danger:hover{background:var(--c-red-hover)}.btn-ghost{background:transparent;box-shadow:none;color:var(--c-text-muted);font-weight:600}.btn-ghost:hover{background:#ffffff0f;color:#fff}.btn-sm{padding:7px 12px;font-size:13px}.btn-block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.card{background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.input{width:100%;padding:12px 14px;font-size:15px;font-family:inherit;color:var(--c-text);background:var(--c-bg-dark);border:1px solid var(--c-border);border-radius:var(--radius);transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:var(--c-text-faint)}.input:focus{outline:none;border-color:var(--c-green);box-shadow:0 0 0 3px #81b64c33}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:600;background:var(--c-panel-2);color:var(--c-text-muted)}*{scrollbar-width:thin;scrollbar-color:#4a4844 transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#4a4844;border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#5a5854}#app{min-height:100vh;display:flex;flex-direction:column}.page{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:28px 20px 60px}.navbar[data-v-b71ed399]{display:flex;align-items:center;gap:24px;height:60px;padding:0 22px;background:var(--c-bg-dark);border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:100}.brand[data-v-b71ed399]{display:flex;align-items:center;gap:10px;color:#fff}.brand[data-v-b71ed399]:hover{color:#fff}.brand-mark[data-v-b71ed399]{font-size:28px;line-height:1;color:var(--c-green)}.brand-name[data-v-b71ed399]{font-size:20px;font-weight:800;letter-spacing:.2px}.brand-accent[data-v-b71ed399]{color:var(--c-green)}.nav-links[data-v-b71ed399]{display:flex;gap:6px;flex:1}.nav-link[data-v-b71ed399]{padding:8px 12px;border-radius:var(--radius);color:var(--c-text-muted);font-weight:600}.nav-link[data-v-b71ed399]:hover{background:#ffffff0f;color:#fff}.router-link-active.nav-link[data-v-b71ed399]{color:#fff}.nav-right[data-v-b71ed399]{display:flex;align-items:center;gap:8px}.nav-right .btn[data-v-b71ed399]{white-space:nowrap;flex-shrink:0}@media (max-width: 480px){.navbar[data-v-b71ed399]{gap:12px;padding:0 14px}.nav-links[data-v-b71ed399]{display:none}.brand-name[data-v-b71ed399]{font-size:18px}.brand-mark[data-v-b71ed399]{font-size:24px}}.lobby[data-v-8c9bf0a6]{max-width:960px}.hero[data-v-8c9bf0a6]{max-width:480px;margin:60px auto 0;padding:48px 32px;text-align:center}.hero-mark[data-v-8c9bf0a6]{font-size:64px;color:var(--c-green);line-height:1}.hero h1[data-v-8c9bf0a6]{font-size:30px;margin:16px 0 8px}.hero-sub[data-v-8c9bf0a6]{color:var(--c-text-muted);margin-bottom:24px}.hero-actions[data-v-8c9bf0a6]{display:flex;gap:12px;justify-content:center}.lobby-grid[data-v-8c9bf0a6]{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}.lobby-main[data-v-8c9bf0a6]{padding:20px}.lobby-head[data-v-8c9bf0a6]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.lobby-head h2[data-v-8c9bf0a6]{font-size:20px}.game-grid[data-v-8c9bf0a6]{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.game-tile[data-v-8c9bf0a6]{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--radius);background:var(--c-panel-2);color:var(--c-text);border:1px solid var(--c-border);transition:background .15s ease,border-color .15s ease,transform .15s ease}.game-tile[data-v-8c9bf0a6]:hover{background:var(--c-elevated);border-color:var(--c-green);color:#fff;transform:translateY(-2px)}.game-tile.is-finished[data-v-8c9bf0a6]{opacity:.72}.game-tile.is-finished[data-v-8c9bf0a6]:hover{opacity:1;border-color:var(--c-border)}.game-tile.is-live[data-v-8c9bf0a6]{border-color:var(--c-green-shadow)}.tile-top[data-v-8c9bf0a6]{display:flex;align-items:center;justify-content:space-between;gap:8px}.tile-title[data-v-8c9bf0a6]{font-weight:700;font-size:15px}.tile-badge[data-v-8c9bf0a6]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px;white-space:nowrap}.badge-live[data-v-8c9bf0a6]{background:var(--c-green);color:#000}.badge-wait[data-v-8c9bf0a6]{background:var(--c-elevated);color:var(--c-text-muted)}.badge-done[data-v-8c9bf0a6]{background:transparent;color:var(--c-text-faint);border:1px solid var(--c-border)}.tile-players[data-v-8c9bf0a6]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--c-text-muted)}.tile-players .player[data-v-8c9bf0a6]{display:inline-flex;align-items:center;gap:6px}.tile-players .vs[data-v-8c9bf0a6]{color:var(--c-text-faint);font-size:11px}.disc[data-v-8c9bf0a6]{width:12px;height:12px;border-radius:50%;display:inline-block;border:1px solid var(--c-border);flex-shrink:0}.disc-white[data-v-8c9bf0a6]{background:#f2f2f2}.disc-black[data-v-8c9bf0a6]{background:#111}.tile-bottom[data-v-8c9bf0a6]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--c-border);font-size:13px}.tile-result[data-v-8c9bf0a6]{font-weight:700;color:var(--c-green)}.tile-moves[data-v-8c9bf0a6]{color:var(--c-text-faint)}.tile-go[data-v-8c9bf0a6]{color:var(--c-text-faint);font-weight:600}.game-tile:hover .tile-go[data-v-8c9bf0a6]{color:var(--c-green)}.empty-state[data-v-8c9bf0a6]{text-align:center;padding:40px 20px;color:var(--c-text-muted)}.empty-state p[data-v-8c9bf0a6]{margin-bottom:16px}.lobby-side[data-v-8c9bf0a6]{padding:20px}.lobby-side h3[data-v-8c9bf0a6]{font-size:16px;margin-bottom:12px}.lobby-side h3+.how-list[data-v-8c9bf0a6],.lobby-side .import-hint+h3[data-v-8c9bf0a6]{margin-top:20px}.import-form[data-v-8c9bf0a6]{display:flex;flex-direction:column;gap:8px}.import-input[data-v-8c9bf0a6]{width:100%;padding:9px 12px;border-radius:var(--radius);border:1px solid var(--c-border);background:var(--c-panel-2);color:var(--c-text);font-size:13px}.import-input[data-v-8c9bf0a6]:focus{outline:none;border-color:var(--c-green)}.import-error[data-v-8c9bf0a6]{margin-top:8px;font-size:13px;color:var(--c-red, #e05c5c)}.import-hint[data-v-8c9bf0a6]{margin-top:8px;font-size:12px;color:var(--c-text-faint);line-height:1.45}.how-list[data-v-8c9bf0a6]{list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:12px}.how-list li[data-v-8c9bf0a6]{counter-increment:step;position:relative;padding-left:34px;color:var(--c-text-muted);font-size:14px}.how-list li[data-v-8c9bf0a6]:before{content:counter(step);position:absolute;left:0;top:0;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--c-green);color:#fff;font-weight:700;font-size:13px}@media (max-width: 760px){.lobby-grid[data-v-8c9bf0a6]{grid-template-columns:1fr}}.side-selector[data-v-b66a71f0]{text-align:center}.side-selector h2[data-v-b66a71f0]{font-size:20px;margin-bottom:4px}.hint[data-v-b66a71f0]{color:var(--c-text-muted);margin-top:12px}.buttons[data-v-b66a71f0]{display:flex;gap:14px;justify-content:center;margin:22px 0 4px;flex-wrap:wrap}.side-button[data-v-b66a71f0]{display:flex;flex-direction:column;align-items:center;gap:8px;width:130px;padding:18px 12px;font-size:15px;font-weight:700;border-radius:var(--radius);border:2px solid transparent;cursor:pointer;transition:transform .1s ease,border-color .15s ease}.side-button[data-v-b66a71f0]:hover{transform:translateY(-2px);border-color:var(--c-green)}.side-glyph[data-v-b66a71f0]{font-size:40px;line-height:1}.white-button[data-v-b66a71f0]{background:var(--sq-light);color:#3a2c1a}.black-button[data-v-b66a71f0]{background:#4a4744;color:#f0eee9}.selected[data-v-b66a71f0]{margin-top:16px;color:var(--c-green);font-weight:600}.error[data-v-b66a71f0]{color:var(--c-red);margin-top:12px}.player-bar[data-v-249588f1]{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--radius);transition:border-color .15s ease,background .15s ease}.player-bar.active[data-v-249588f1]{border-color:var(--c-green);background:var(--c-panel-2)}.avatar[data-v-249588f1]{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.avatar.is-white[data-v-249588f1]{background:var(--sq-light)}.avatar.is-black[data-v-249588f1]{background:#4a4744}.avatar-piece[data-v-249588f1]{font-size:26px;line-height:1}.is-white .avatar-piece[data-v-249588f1]{color:#3a2c1a}.is-black .avatar-piece[data-v-249588f1]{color:#eceae7}.player-meta[data-v-249588f1]{display:flex;flex-direction:column;flex:1}.player-name[data-v-249588f1]{font-weight:700;color:#fff;display:flex;align-items:center;gap:6px}.player-side[data-v-249588f1]{font-size:12px;color:var(--c-text-faint)}.you-tag[data-v-249588f1]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:4px;background:var(--c-green);color:#fff}.turn-indicator[data-v-249588f1]{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--c-green)}.turn-dot[data-v-249588f1]{width:9px;height:9px;border-radius:50%;background:var(--c-green);box-shadow:0 0 0 3px #81b64c40}.waiting-tag[data-v-249588f1]{font-size:12px;color:var(--c-text-faint);font-style:italic}.move-history[data-v-6c0322c1]{display:flex;flex-direction:column;min-height:0}.mh-head[data-v-6c0322c1]{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 12px}.mh-head h3[data-v-6c0322c1]{font-size:15px}.mh-body[data-v-6c0322c1]{flex:1;min-height:120px;max-height:300px;overflow-y:auto;border-radius:var(--radius);background:var(--c-bg-dark)}.move-table[data-v-6c0322c1]{width:100%;border-collapse:collapse}.move-table tr[data-v-6c0322c1]:nth-child(odd){background:#ffffff05}.mh-num[data-v-6c0322c1]{width:40px;padding:7px 10px;color:var(--c-text-faint);font-size:13px;text-align:right;-webkit-user-select:none;user-select:none}.mh-move[data-v-6c0322c1]{padding:7px 10px;font-size:14px;font-weight:600;color:var(--c-text);cursor:default;white-space:nowrap}.mh-move[data-v-6c0322c1]:not(.empty){cursor:pointer}.mh-move[data-v-6c0322c1]:not(.empty):hover{background:var(--c-elevated)}.mh-move.active[data-v-6c0322c1]{background:var(--c-green);color:#fff;border-radius:4px}.mh-empty[data-v-6c0322c1]{padding:20px;text-align:center;color:var(--c-text-faint)}.mh-controls[data-v-6c0322c1]{display:flex;align-items:center;gap:6px;padding-top:12px}.ctrl[data-v-6c0322c1]{width:34px;height:34px;display:grid;place-items:center;border:none;border-radius:var(--radius);background:var(--c-elevated);color:var(--c-text);cursor:pointer;font-size:13px}.ctrl[data-v-6c0322c1]:hover:not(:disabled){background:#4a4744}.ctrl[data-v-6c0322c1]:disabled{opacity:.35;cursor:not-allowed}.mh-range[data-v-6c0322c1]{flex:1;accent-color:var(--c-green)}.mh-count[data-v-6c0322c1]{font-size:12px;color:var(--c-text-muted);min-width:46px;text-align:right}.modal-overlay[data-v-0f1b1bc3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.result-modal[data-v-0f1b1bc3]{width:100%;max-width:360px;padding:32px 28px;text-align:center;box-shadow:var(--shadow)}.result-crown[data-v-0f1b1bc3]{font-size:56px;line-height:1;color:var(--c-gold)}.result-title[data-v-0f1b1bc3]{font-size:26px;margin:12px 0 4px}.result-reason[data-v-0f1b1bc3]{color:var(--c-text-muted);margin-bottom:24px;text-transform:capitalize}.result-actions[data-v-0f1b1bc3]{display:flex;flex-direction:column;gap:10px}.game-page[data-v-148575e9]{max-width:1080px}.game-layout[data-v-148575e9]{display:grid;grid-template-columns:minmax(320px,1fr) 340px;gap:24px;align-items:start}.board-column[data-v-148575e9]{display:flex;justify-content:center}.board-inner[data-v-148575e9]{width:100%;max-width:620px;display:flex;flex-direction:column;gap:10px}.board-wrap[data-v-148575e9]{position:relative}.board-svg[data-v-148575e9]{width:100%;height:auto;display:block;border-radius:var(--radius);box-shadow:var(--shadow);touch-action:none;overflow:hidden}.board-svg.dragging[data-v-148575e9]{cursor:grabbing}.sq-light[data-v-148575e9]{fill:var(--sq-light)}.sq-dark[data-v-148575e9]{fill:var(--sq-dark)}#coords text[data-v-148575e9]{font-size:15px;font-weight:700;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Segoe UI,sans-serif}.coord-file[data-v-148575e9]{text-anchor:end}.coord-rank[data-v-148575e9]{text-anchor:start}.on-light[data-v-148575e9]{fill:var(--sq-dark)}.on-dark[data-v-148575e9]{fill:var(--sq-light)}#pieces image[data-v-148575e9]{cursor:default}#pieces image.movable[data-v-148575e9]{cursor:grab}.board-svg.dragging #pieces image[data-v-148575e9]{cursor:grabbing}#highlights[data-v-148575e9],#move-indicators[data-v-148575e9],#drag-layer[data-v-148575e9],#coords[data-v-148575e9]{pointer-events:none}.move-dot[data-v-148575e9]{fill:var(--sq-highlight);opacity:.55}.move-capture[data-v-148575e9]{fill:none;stroke:var(--sq-highlight);stroke-width:7;opacity:.75}.origin-highlight[data-v-148575e9]{fill:var(--sq-highlight);opacity:.5}.target-highlight[data-v-148575e9]{fill:#fff;fill-opacity:.12;stroke:#fff;stroke-opacity:.7;stroke-width:6}.move-error[data-v-148575e9]{position:absolute;left:50%;bottom:14px;transform:translate(-50%);padding:9px 16px;border-radius:var(--radius);background:#d64541f2;color:#fff;font-size:14px;font-weight:600;box-shadow:var(--shadow-sm);white-space:nowrap;max-width:90%}.fade-enter-active[data-v-148575e9],.fade-leave-active[data-v-148575e9]{transition:opacity .2s ease}.fade-enter-from[data-v-148575e9],.fade-leave-to[data-v-148575e9]{opacity:0}.game-sidebar[data-v-148575e9]{padding:16px;display:flex;flex-direction:column;gap:16px;position:sticky;top:84px}.sidebar-top[data-v-148575e9]{display:flex;flex-direction:column;gap:12px}.status-line[data-v-148575e9]{display:flex;align-items:center;gap:8px}.status-live[data-v-148575e9]{background:#81b64c2e;color:var(--c-green)}.status-finished[data-v-148575e9]{background:#e6b80026;color:var(--c-gold)}.status-idle[data-v-148575e9]{background:var(--c-panel-2);color:var(--c-text-muted)}.spectator-tag[data-v-148575e9]{font-size:12px;color:var(--c-text-faint);font-style:italic}.import-tag[data-v-148575e9]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px;background:var(--c-elevated);color:var(--c-green);border:1px solid var(--c-green-shadow);white-space:nowrap}.import-note[data-v-148575e9]{font-size:13px;color:var(--c-text-muted);line-height:1.45}.sidebar-actions[data-v-148575e9]{display:flex;gap:8px;flex-wrap:wrap}.modal-overlay[data-v-148575e9]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-148575e9]{width:100%;max-width:420px;padding:28px 24px;position:relative;box-shadow:var(--shadow)}.close-button[data-v-148575e9]{position:absolute;top:12px;right:12px;width:32px;height:32px;display:grid;place-items:center;background:transparent;border:none;border-radius:var(--radius);color:var(--c-text-muted);font-size:16px;cursor:pointer}.close-button[data-v-148575e9]:hover{background:#ffffff14;color:#fff}.promotion-modal[data-v-148575e9]{width:auto;max-width:90vw;padding:20px 24px;box-shadow:var(--shadow);text-align:center}.promotion-title[data-v-148575e9]{margin:0 0 16px;font-size:16px;color:var(--c-text)}.promotion-choices[data-v-148575e9]{display:flex;gap:12px;justify-content:center}.promotion-choice[data-v-148575e9]{width:72px;height:72px;display:grid;place-items:center;padding:6px;background:#ffffff0a;border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:border-color .12s,background .12s}.promotion-choice[data-v-148575e9]:hover,.promotion-choice[data-v-148575e9]:focus-visible{border-color:var(--c-accent, #6ea8fe);background:#ffffff1a;outline:none}.promotion-choice img[data-v-148575e9]{width:100%;height:100%;object-fit:contain}@media (max-width: 860px){.game-layout[data-v-148575e9]{grid-template-columns:1fr}.game-sidebar[data-v-148575e9]{position:static}}.auth-page[data-v-7a767bd9]{display:flex;align-items:flex-start;justify-content:center}.auth-card[data-v-7a767bd9]{width:100%;max-width:400px;margin-top:48px;padding:36px 32px;text-align:center}.auth-mark[data-v-7a767bd9]{font-size:48px;color:var(--c-green);line-height:1}.auth-card h2[data-v-7a767bd9]{font-size:24px;margin:12px 0 4px}.auth-sub[data-v-7a767bd9]{color:var(--c-text-muted);margin-bottom:24px}.auth-form[data-v-7a767bd9]{display:flex;flex-direction:column;gap:12px}.auth-message[data-v-7a767bd9]{margin-top:16px;padding:10px 14px;border-radius:var(--radius);background:#d645411f;border:1px solid rgba(214,69,65,.4);color:#f0a3a1;font-size:14px}.auth-message.ok[data-v-7a767bd9]{background:#81b64c1f;border-color:#81b64c66;color:#b7dd8f}.auth-alt[data-v-7a767bd9]{margin-top:20px;color:var(--c-text-muted);font-size:14px}.auth-page[data-v-d4fd3180]{display:flex;align-items:flex-start;justify-content:center}.auth-card[data-v-d4fd3180]{width:100%;max-width:400px;margin-top:48px;padding:36px 32px;text-align:center}.auth-mark[data-v-d4fd3180]{font-size:48px;color:var(--c-green);line-height:1}.auth-card h2[data-v-d4fd3180]{font-size:24px;margin:12px 0 4px}.auth-sub[data-v-d4fd3180]{color:var(--c-text-muted);margin-bottom:24px}.auth-form[data-v-d4fd3180]{display:flex;flex-direction:column;gap:12px}.auth-message[data-v-d4fd3180]{margin-top:16px;padding:10px 14px;border-radius:var(--radius);background:#d645411f;border:1px solid rgba(214,69,65,.4);color:#f0a3a1;font-size:14px}.auth-message.ok[data-v-d4fd3180]{background:#81b64c1f;border-color:#81b64c66;color:#b7dd8f}.auth-alt[data-v-d4fd3180]{margin-top:20px;color:var(--c-text-muted);font-size:14px}.embedded-doc[data-v-2266c8aa]{display:block;width:100%;height:calc(100vh - 60px);border:0}
