.lobby[data-v-ff45a949]{width:100%;height:100%;padding:24px 16px;padding-bottom:calc(24px + env(safe-area-inset-bottom));background:radial-gradient(#1a1a2e 0%,#0d0d1a 100%);justify-content:center;align-items:flex-start;display:flex;overflow-y:auto}.lobby-content[data-v-ff45a949]{text-align:center;width:100%;max-width:680px;margin:auto}.card-topbar[data-v-ff45a949]{justify-content:flex-end;margin-bottom:6px;display:flex}.sound-btn[data-v-ff45a949]{border:1px solid var(--border);color:var(--text-secondary);background:#ffffff0f}.sound-btn[data-v-ff45a949]:hover{color:var(--text-primary);border-color:var(--accent)}.title[data-v-ff45a949]{letter-spacing:4px;color:var(--text-primary);margin-bottom:20px;font-size:clamp(30px,6vw,42px);font-weight:900}.lobby .card-container[data-v-ff45a949]{text-align:left}.tabs[data-v-ff45a949]{background:#ffffff0d;border-radius:12px;gap:4px;margin-bottom:22px;padding:4px;display:flex}.tab[data-v-ff45a949]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:10px;font-size:15px;font-weight:600;transition:color .2s,background .2s}.tab[data-v-ff45a949]:hover{color:var(--text-primary)}.tab.active[data-v-ff45a949]{color:#fff;background:var(--accent)}.form[data-v-ff45a949]{flex-direction:column;gap:16px;display:flex}.form-row[data-v-ff45a949]{align-items:center;gap:16px;display:flex}.form-row>label[data-v-ff45a949]{text-align:right;width:60px;color:var(--text-secondary);flex-shrink:0;font-size:14px;font-weight:500}.pref-label[data-v-ff45a949]{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;text-align:left!important;width:auto!important;color:var(--text-secondary)!important;display:flex!important}.form input[type=checkbox][data-v-ff45a949]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.form-row .input[data-v-ff45a949]{border-radius:10px;flex:1;min-height:46px}.form-row .input[data-v-ff45a949]:focus{border-color:var(--accent)}.custom-round-input[data-v-ff45a949]{width:100px;flex:none!important}.round-stepper[data-v-ff45a949]{align-items:center;gap:6px;display:inline-flex}.stepper-btn[data-v-ff45a949]{border:1px solid var(--border);width:40px;min-height:46px;color:var(--text-primary);cursor:pointer;user-select:none;background:#ffffff0f;border-radius:10px;justify-content:center;align-items:center;font-size:20px;font-weight:700;line-height:1;transition:border-color .2s,background .2s;display:flex}.stepper-btn[data-v-ff45a949]:hover{border-color:var(--accent)}.stepper-btn[data-v-ff45a949]:active{background:var(--accent);color:#fff}.auto-fullscreen-row[data-v-ff45a949]{margin-top:16px}.form-row--stack[data-v-ff45a949]{flex-direction:column;align-items:stretch;gap:6px}.form-row--stack>label[data-v-ff45a949]{text-align:left;width:auto;font-size:13px}.field-wrap[data-v-ff45a949]{flex-direction:column;gap:4px;width:100%;display:flex}.field-error[data-v-ff45a949]{color:var(--danger);margin:0;font-size:12px}.option-group[data-v-ff45a949]{flex-wrap:wrap;flex:1;gap:8px;display:flex}.option-btn[data-v-ff45a949]{border:1px solid var(--border);min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;padding:9px 16px;font-size:15px;font-weight:500;transition:border-color .2s,color .2s,background .2s;display:flex}.option-btn[data-v-ff45a949]:hover{border-color:var(--accent);color:var(--text-primary)}.option-btn.active[data-v-ff45a949]{background:var(--accent);border-color:var(--accent);color:#fff}.invite-applied[data-v-ff45a949]{background:#ffd70014;border:1px solid #ffd70040;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.invite-applied-text[data-v-ff45a949]{color:var(--text-secondary);font-size:13px}.invite-code-text[data-v-ff45a949]{color:gold;font-weight:700}.invite-code-section[data-v-ff45a949]{border:1px solid var(--border);background:#ffffff08;border-radius:14px;flex-direction:column;gap:16px;padding:22px 20px;display:flex}.invite-code-head[data-v-ff45a949]{flex-direction:column;gap:6px;display:flex}.invite-title[data-v-ff45a949]{color:#fff;margin:0;font-size:18px;font-weight:700}.invite-desc[data-v-ff45a949]{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.voice-prefs-row[data-v-ff45a949]{margin-top:-8px}.voice-prefs[data-v-ff45a949]{flex-wrap:wrap;gap:15px;font-size:.9em;display:flex}.form .btn-primary.btn-lg[data-v-ff45a949]{border-radius:12px;gap:8px;width:100%;min-height:50px;font-size:16px}.btn-spinner[data-v-ff45a949]{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite btn-spin-ff45a949}@keyframes btn-spin-ff45a949{to{transform:rotate(360deg)}}.status-container[data-v-ff45a949]{flex-direction:column;align-items:center;gap:4px;min-height:24px;margin-top:12px;display:flex}.error-msg[data-v-ff45a949]{color:var(--danger);font-size:14px}.connect-status[data-v-ff45a949]{color:var(--text-muted);font-size:14px}@media (width<=480px){.lobby[data-v-ff45a949]{padding:20px 12px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.lobby .card-container[data-v-ff45a949]{padding:16px 14px}.form[data-v-ff45a949]{gap:12px}.form-row[data-v-ff45a949]{flex-direction:column;align-items:stretch;gap:6px}.form-row>label[data-v-ff45a949]{text-align:left;width:auto;font-size:13px}.voice-prefs-row[data-v-ff45a949]{margin-top:0}.option-btn[data-v-ff45a949]{padding:8px 12px;font-size:14px}.custom-round-input[data-v-ff45a949]{width:84px}.sound-toggle[data-v-ff45a949]{top:12px;right:12px}}@media (height<=480px){.lobby[data-v-ff45a949]{padding-top:12px}.title[data-v-ff45a949]{margin-bottom:12px;font-size:24px}.form[data-v-ff45a949]{gap:10px}}@media (width>=820px){.lobby-content[data-v-ff45a949]{max-width:620px}}.room-view[data-v-dcc28d6c]{height:100%;padding:16px 24px;padding-bottom:calc(16px + env(safe-area-inset-bottom));background:radial-gradient(#1a1a2e 0%,#0d0d1a 100%);flex-direction:column;display:flex;overflow-y:auto}.config-panel[data-v-dcc28d6c]{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;flex-shrink:0;width:100%;max-width:1000px;margin:0 auto 16px;overflow:hidden}.config-panel-header[data-v-dcc28d6c]{cursor:pointer;user-select:none;justify-content:space-between;align-items:center;padding:10px 16px;transition:background .2s;display:flex}.config-panel-header[data-v-dcc28d6c]:hover{background:#ffffff0f}.config-panel-title[data-v-dcc28d6c]{color:var(--text-secondary);font-size:14px;font-weight:600}.config-panel-arrow[data-v-dcc28d6c]{color:var(--text-muted);font-size:11px;transition:transform .25s}.config-panel-arrow.expanded[data-v-dcc28d6c]{transform:rotate(180deg)}.config-panel-body[data-v-dcc28d6c]{border-top:1px solid #ffffff0f;flex-direction:column;gap:12px;padding:4px 16px 14px;display:flex}.cfg-row[data-v-dcc28d6c]{align-items:center;gap:12px;display:flex}.cfg-label[data-v-dcc28d6c]{text-align:right;color:#a0aec0;flex-shrink:0;width:42px;font-size:13px}.cfg-options[data-v-dcc28d6c]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cfg-btn[data-v-dcc28d6c]{border:1px solid var(--border);min-height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:500;transition:border-color .2s,color .2s,background .2s}.cfg-btn[data-v-dcc28d6c]:hover{border-color:var(--accent);color:var(--text-primary)}.cfg-btn.active[data-v-dcc28d6c]{background:var(--accent);border-color:var(--accent);color:#fff}.cfg-input[data-v-dcc28d6c]{border:1px solid var(--border);width:70px;color:var(--text-primary,#fff);background:#ffffff0f;border-radius:8px;outline:none;padding:5px 8px;font-size:13px}.cfg-stepper[data-v-dcc28d6c]{align-items:center;gap:6px;display:inline-flex}.cfg-stepper .stepper-btn[data-v-dcc28d6c]{border:1px solid var(--border);width:34px;min-height:34px;color:var(--text-primary,#fff);cursor:pointer;user-select:none;background:#ffffff0f;border-radius:8px;justify-content:center;align-items:center;font-size:18px;font-weight:700;line-height:1;transition:border-color .2s,background .2s;display:flex}.cfg-stepper .stepper-btn[data-v-dcc28d6c]:hover{border-color:var(--accent)}.cfg-stepper .stepper-btn[data-v-dcc28d6c]:active{background:var(--accent);color:#fff}.cfg-input[data-v-dcc28d6c]:focus{border-color:var(--accent)}.cfg-checkbox-label[data-v-dcc28d6c]{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.config-panel input[type=checkbox][data-v-dcc28d6c]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.config-slide-enter-active[data-v-dcc28d6c],.config-slide-leave-active[data-v-dcc28d6c]{max-height:300px;transition:max-height .28s,opacity .2s;overflow:hidden}.config-slide-enter-from[data-v-dcc28d6c],.config-slide-leave-to[data-v-dcc28d6c]{opacity:0;max-height:0}.room-header[data-v-dcc28d6c]{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px 16px;width:100%;max-width:1000px;margin:0 auto 20px;display:flex}.header-actions[data-v-dcc28d6c]{align-items:center;gap:8px;display:flex}.header-actions .btn[data-v-dcc28d6c]{letter-spacing:.02em;white-space:nowrap;border:1px solid var(--border);height:40px;color:var(--text-primary);box-shadow:none;background:#ffffff0f;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font-weight:600;transition:background .18s,border-color .18s,box-shadow .18s,color .18s;display:inline-flex;transform:none}.header-actions .btn[data-v-dcc28d6c]:hover{background:#ffffff1f;border-color:#ffffff47;transform:none;box-shadow:0 2px 10px #00000047}.header-actions .btn[data-v-dcc28d6c]:active{box-shadow:none;background:#ffffff0a;transform:scale(.97)}.header-actions .btn[data-v-dcc28d6c]:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.room-view .btn-sm[data-v-dcc28d6c]{min-height:40px}.room-info[data-v-dcc28d6c]{flex-direction:column;gap:4px;display:flex}.room-id-wrapper[data-v-dcc28d6c]{align-items:center;gap:12px;display:flex}.room-id[data-v-dcc28d6c]{color:var(--accent);font-size:20px;font-weight:700}.share-btn[data-v-dcc28d6c]{color:var(--accent);background:#e945601a;border:1px solid #e945604d;border-radius:12px;padding:4px 10px;font-size:12px}.share-btn[data-v-dcc28d6c]:hover{background:#e9456033}.room-config[data-v-dcc28d6c]{color:var(--text-secondary);font-size:13px}.players-grid[data-v-dcc28d6c]{flex:1;grid-template-columns:repeat(auto-fit,132px);place-content:center;gap:12px;width:100%;max-width:1000px;margin:0 auto;padding:6px 0;display:grid}.seat-card[data-v-dcc28d6c]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:126px;padding:14px 12px;transition:background .2s,border-color .2s;display:flex}.seat-card.clickable[data-v-dcc28d6c]{cursor:pointer}.seat-card.clickable[data-v-dcc28d6c]:hover{background:#ffffff1a;border-color:#fff6}.seat-card.mine[data-v-dcc28d6c]{border-color:var(--accent)}.seat-card.empty[data-v-dcc28d6c]{background:#ffffff08;border-style:dashed;justify-content:center}.seat-card.empty.clickable[data-v-dcc28d6c]{cursor:pointer}.seat-card.empty.clickable[data-v-dcc28d6c]:hover{border-color:var(--accent);background:#ffffff17}.seat-card.empty.clickable[data-v-dcc28d6c]:active{transform:scale(.97)}.seat-avatar-wrapper[data-v-dcc28d6c]{position:relative}.seat-avatar[data-v-dcc28d6c]{background:linear-gradient(135deg, var(--accent), #ff8c00);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;display:flex}.voice-badge[data-v-dcc28d6c]{color:#fff;z-index:10;border:1px solid var(--border);background:#0009;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;display:flex;position:absolute;bottom:-4px;right:-4px}.voice-speaking[data-v-dcc28d6c]{background:#2ecc71;border-color:#27ae60;animation:1s infinite alternate pulse}.voice-muted[data-v-dcc28d6c]:after{content:"";z-index:1;background-color:#ff5252;border-radius:1px;height:2px;position:absolute;top:50%;left:3px;right:3px;transform:translateY(-50%)rotate(-45deg)}.seat-name[data-v-dcc28d6c]{font-size:15px;font-weight:600}.seat-tags[data-v-dcc28d6c]{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.tag[data-v-dcc28d6c]{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.tag-host[data-v-dcc28d6c]{color:var(--accent);background:#e9456033}.tag-ready[data-v-dcc28d6c]{color:var(--success);background:#2ecc7133}.tag-not-ready[data-v-dcc28d6c]{color:var(--text-muted);background:#6c6c8033}.tag-offline[data-v-dcc28d6c]{color:var(--danger);background:#e74c3c33}.seat-score[data-v-dcc28d6c]{color:var(--text-secondary);font-size:12px}.seat-empty-icon[data-v-dcc28d6c]{color:var(--text-muted);font-size:32px}.seat-empty-text[data-v-dcc28d6c]{color:#64748b;font-size:14px}.tag-mine[data-v-dcc28d6c]{color:gold;background:#ffd7002e}.ready-progress[data-v-dcc28d6c]{flex-direction:column;flex-basis:100%;align-items:center;gap:6px;margin-bottom:2px;display:flex}.ready-count[data-v-dcc28d6c]{color:var(--text-secondary);font-size:13px}.ready-bar[data-v-dcc28d6c]{background:#ffffff1a;border-radius:3px;width:min(320px,80%);height:6px;overflow:hidden}.ready-bar-fill[data-v-dcc28d6c]{background:var(--success);height:100%;transition:width .3s}.ready-note[data-v-dcc28d6c]{color:var(--text-muted);text-align:center;margin:0;font-size:12px}.spectators-area[data-v-dcc28d6c]{background:#ffffff0d;border-radius:12px;width:100%;max-width:1000px;margin:16px auto 0;padding:12px}.spectators-title[data-v-dcc28d6c]{color:#94a3b8;margin-bottom:8px;font-size:14px}.spectators-list[data-v-dcc28d6c]{flex-wrap:wrap;gap:12px;display:flex}.spectator-item[data-v-dcc28d6c]{flex-direction:column;align-items:center;gap:4px;width:50px;display:flex}.spectator-item .seat-avatar.small[data-v-dcc28d6c]{width:40px;height:40px;font-size:18px}.spectator-item .seat-name[data-v-dcc28d6c]{text-overflow:ellipsis;white-space:nowrap;text-align:center;width:100%;font-size:12px;overflow:hidden}.error-container[data-v-dcc28d6c]{justify-content:center;align-items:center;width:100%;max-width:1000px;min-height:40px;margin:0 auto 12px;display:flex}.error-banner[data-v-dcc28d6c]{color:var(--danger);text-align:center;background:#e74c3c1f;border:1px solid #e74c3c59;border-radius:10px;padding:9px 18px;font-size:14px}.room-actions[data-v-dcc28d6c]{flex-wrap:wrap;justify-content:center;gap:14px;width:100%;max-width:1000px;margin:0 auto;padding:18px 0 6px;display:flex}.room-actions .btn-lg[data-v-dcc28d6c]{flex:0 220px;min-height:46px}.room-view .btn[data-v-dcc28d6c]:focus-visible,.config-panel .cfg-btn[data-v-dcc28d6c]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=820px){.seat-card[data-v-dcc28d6c]{min-height:112px;padding:12px 10px}.seat-avatar[data-v-dcc28d6c]{width:44px;height:44px;font-size:18px}.room-actions[data-v-dcc28d6c]{z-index:20;padding:14px 0 calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg-primary) 72%, #1a1a2e00);border-top:1px solid var(--border);margin-top:8px;position:sticky;bottom:0}}@media (width<=480px){.room-view[data-v-dcc28d6c]{padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.room-header[data-v-dcc28d6c]{margin-bottom:12px}.room-id[data-v-dcc28d6c]{font-size:17px}.room-config[data-v-dcc28d6c]{font-size:12px}.players-grid[data-v-dcc28d6c]{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}.room-view .btn-sm[data-v-dcc28d6c]{min-height:44px}.seat-card[data-v-dcc28d6c]{min-height:104px;padding:10px}.seat-avatar[data-v-dcc28d6c]{width:42px;height:42px;font-size:18px}.seat-name[data-v-dcc28d6c]{font-size:13px}.cfg-label[data-v-dcc28d6c]{width:36px}.cfg-btn[data-v-dcc28d6c]{padding:5px 9px;font-size:12px}.room-actions[data-v-dcc28d6c]{padding:12px 0 calc(12px + env(safe-area-inset-bottom));gap:10px}.room-actions .btn-lg[data-v-dcc28d6c]{flex:auto;max-width:200px;min-height:44px;font-size:15px}}@media (height<=480px){.room-view[data-v-dcc28d6c]{padding-top:10px}.room-header[data-v-dcc28d6c]{margin-bottom:10px}.players-grid[data-v-dcc28d6c]{gap:8px}.seat-card[data-v-dcc28d6c]{min-height:100px;padding:8px}.room-actions[data-v-dcc28d6c]{padding:8px 0 4px}.room-actions .btn-lg[data-v-dcc28d6c]{min-height:42px}}.hud-left[data-v-3880ab44]{z-index:20;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;top:12px;left:12px}.hud-left[data-v-3880ab44]>*{pointer-events:auto}.hud-badge[data-v-3880ab44]{backdrop-filter:blur(4px);color:#ffffffe6;text-shadow:0 1px 2px #00000080;background:#00000073;border-radius:6px;width:fit-content;padding:4px 10px;font-size:11px;font-weight:600}.hud-multiplier[data-v-3880ab44]{color:#fff;background:#e9456099;border:1px solid #e94560cc}.hud-right[data-v-3880ab44]{z-index:1050;flex-direction:column;align-items:flex-end;display:flex;position:absolute;top:12px;right:12px}.menu-toggle-btn[data-v-3880ab44]{z-index:1051;background:#0009;align-items:center;gap:4px;padding:6px 12px;font-size:13px;display:flex}.menu-icon[data-v-3880ab44]{font-size:16px}.dropdown-backdrop[data-v-3880ab44]{z-index:1049;width:100vw;height:100vh;position:fixed;top:0;left:0}.dropdown-menu[data-v-3880ab44]{background:var(--bg-secondary);border:1px solid var(--border);z-index:1052;border-radius:8px;flex-direction:column;min-width:130px;margin-top:8px;padding:6px 0;animation:.2s ease-out slideDown-3880ab44;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #0009}@keyframes slideDown-3880ab44{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item[data-v-3880ab44]{color:var(--text-primary);text-align:center;cursor:pointer;background:0 0;border:none;width:100%;padding:12px 20px;font-size:14px;transition:background .2s}.dropdown-item[data-v-3880ab44]:hover{background:#ffffff1a}.dropdown-divider[data-v-3880ab44]{background:var(--border);height:1px;margin:4px 0}.text-danger[data-v-3880ab44]{color:#ff6b6b}.btn-hud[data-v-3880ab44]{backdrop-filter:blur(4px);color:#fff;cursor:pointer;background:#00000073;border:1px solid #ffffff1a;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.btn-hud[data-v-3880ab44]:hover{background:#ffffff26}.table-bg[data-v-76d508b3]{z-index:0;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.poker-table-svg[data-v-76d508b3]{filter:drop-shadow(0 24px 40px #00000059);width:100%;height:100%;display:block}.poker-table-text[data-v-76d508b3]{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.table-center-text[data-v-76d508b3]{fill:#f4e8c899;stroke:#f4e8c899;stroke-width:2.6px;paint-order:stroke fill;stroke-linejoin:round}.table-center-text path[data-v-76d508b3]{vector-effect:non-scaling-stroke}.bid-panel[data-v-4b68018f]{background:0 0;flex-direction:column;align-items:center;gap:8px;padding:10px 20px;display:flex}.bid-buttons[data-v-4b68018f]{gap:12px;display:flex}.bid-buttons .btn[data-v-4b68018f]{min-width:88px}.playing-card[data-v-c2d475e0]{width:var(--card-w);height:var(--card-h);color-scheme:light only;border-radius:var(--card-radius);cursor:default;flex-direction:column;flex-shrink:0;justify-content:flex-start;padding:4px 5px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 2px 8px #0000004d;color:#1a1a1a!important;background-color:#fff!important}.playing-card.clickable[data-v-c2d475e0]{cursor:pointer}.playing-card.selected[data-v-c2d475e0]{transform:translateY(-20px)}.playing-card.dimmed[data-v-c2d475e0]{cursor:not-allowed}.playing-card.dimmed[data-v-c2d475e0]:after{content:"";border-radius:var(--card-radius);pointer-events:none;background-color:#00000080;position:absolute;inset:0}.playing-card.ghost[data-v-c2d475e0]{border:none;box-shadow:0 1px 4px #00000040}.card-corner[data-v-c2d475e0]{flex-direction:column;align-items:flex-start;font-weight:800;line-height:1;display:flex}.card-corner.top-left[data-v-c2d475e0]{align-self:flex-start}.rank[data-v-c2d475e0]{font-size:22px}.rank.rank-10[data-v-c2d475e0]{letter-spacing:-2px;transform-origin:0;margin-right:-4px;display:inline-block;transform:scaleX(.85)}.suit-icon[data-v-c2d475e0]{margin-top:1px;font-size:16px}.joker-text[data-v-c2d475e0]{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:-3px;margin-top:1px;margin-left:1px;font-size:10px;font-weight:900}.suit-heart[data-v-c2d475e0],.suit-diamond[data-v-c2d475e0]{color:#e74c3c!important}.suit-spade[data-v-c2d475e0],.suit-club[data-v-c2d475e0]{color:#1a2c3e!important}.suit-joker[data-v-c2d475e0]{color:#9b59b6!important}.suit-joker.suit-big[data-v-c2d475e0]{color:#e74c3c!important}.suit-joker.suit-small[data-v-c2d475e0]{color:#668!important}.card-back[data-v-c2d475e0]{border-radius:var(--card-radius);justify-content:center;align-items:center;width:100%;height:100%;display:flex;background:linear-gradient(135deg,#1a1a2e,#16213e)!important}.back-pattern[data-v-c2d475e0]{text-shadow:0 0 10px #e94560;font-size:20px;font-weight:900;color:#e94560!important}.bottom-bar[data-v-4dfab9bf]{z-index:50;pointer-events:none;align-items:flex-end;gap:10px;width:100%;padding:2px 12px 6px;display:flex;position:absolute;bottom:0;left:0}.bottom-bar>.my-info[data-v-4dfab9bf],.bottom-bar>.hand-cards[data-v-4dfab9bf],.action-bar[data-v-4dfab9bf]>*{pointer-events:auto}.action-bar[data-v-4dfab9bf]{z-index:50;pointer-events:none;background:0 0;justify-content:center;align-items:center;width:100%;min-height:clamp(48px,7vh,64px);padding:6px 16px;display:flex;position:absolute;bottom:100%;left:0}.play-actions[data-v-4dfab9bf]{flex-wrap:wrap;gap:16px;display:flex}@media (width<=768px){.play-actions[data-v-4dfab9bf]{gap:12px}}@media (width<=480px){.play-actions[data-v-4dfab9bf]{justify-content:center;gap:8px;width:100%}}.btn-hint[data-v-4dfab9bf]{background:var(--success,#2ecc71);border:1px solid var(--success,#2ecc71);color:#fff}.btn-hint[data-v-4dfab9bf]:hover{background:#27ae60}.btn-pass[data-v-4dfab9bf]{background:var(--warning,#f1c40f);border:1px solid var(--warning,#f1c40f);color:#000}.btn-pass[data-v-4dfab9bf]:hover{background:#f39c12}.pass-text[data-v-4dfab9bf]{color:#fcc;text-shadow:0 2px 4px #000c;white-space:nowrap;padding:0 10px;font-size:24px;font-weight:700}.pass-text.highlight[data-v-4dfab9bf]{color:#fc0;text-shadow:0 2px 4px #000c,0 0 10px #ffcc0080}.my-play-center[data-v-4dfab9bf]{z-index:15;flex-direction:row;justify-content:center;align-items:center;display:flex;position:absolute;bottom:10px}.my-play-center[data-v-4dfab9bf] .playing-card{border-radius:5px;width:48px;height:68px}.my-play-center[data-v-4dfab9bf] .playing-card+.playing-card{margin-left:-24px}.my-position-badge[data-v-4dfab9bf]{background:var(--accent);color:#fff;white-space:nowrap;border-radius:12px;padding:4px 12px;font-size:16px;font-weight:900;position:absolute;top:-30px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000080}.my-info[data-v-4dfab9bf]{z-index:6;align-items:center;gap:8px;display:flex;position:absolute;bottom:4px;left:8px}.my-avatar[data-v-4dfab9bf]{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;font-weight:700;display:flex}.my-text[data-v-4dfab9bf]{flex-direction:column;line-height:1.2;display:flex}.my-name[data-v-4dfab9bf]{color:#ffffffe6;white-space:nowrap;font-size:13px;font-weight:600}.my-score[data-v-4dfab9bf]{color:#f1c40f;text-shadow:0 1px 2px #00000080;font-size:14px;font-weight:800}.my-faction[data-v-4dfab9bf]{color:#fff;text-transform:uppercase;letter-spacing:0;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin-left:8px;font-size:14px;font-weight:800;display:flex;box-shadow:0 2px 6px #0000004d}.my-faction.san[data-v-4dfab9bf]{background:var(--accent)}.my-faction.gu[data-v-4dfab9bf]{background:var(--success)}.my-suits[data-v-4dfab9bf]{gap:4px;margin-left:4px;display:flex}.my-suits .suit-mark[data-v-4dfab9bf]{font-size:15px;line-height:1;transition:all .3s;color:#ffffff26!important}.my-suits .suit-mark.active[data-v-4dfab9bf]{transform:scale(1.2)}.my-suits .suit-mark.spade.active[data-v-4dfab9bf],.my-suits .suit-mark.club.active[data-v-4dfab9bf]{text-shadow:0 0 2px #ffffffb3;color:#1a1a1a!important}.my-suits .suit-mark.heart.active[data-v-4dfab9bf],.my-suits .suit-mark.diamond.active[data-v-4dfab9bf]{text-shadow:0 0 8px #ff4757cc;color:#ff4757!important}.spectating-banner[data-v-4dfab9bf]{bottom:calc(var(--card-h) + 15px);z-index:60;color:#fff;white-space:nowrap;pointer-events:none;backdrop-filter:blur(4px);background:#0009;border:1px solid #fff3;border-radius:20px;padding:6px 16px;font-size:14px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.hand-cards[data-v-4dfab9bf]{min-width:0;min-height:calc(var(--card-h) + 28px);flex:auto;justify-content:safe center;gap:0;padding:24px 0 4px 8px;display:flex;overflow:auto hidden}.hand-cards[data-v-4dfab9bf] .playing-card+.playing-card{margin-left:calc(var(--card-w) * -.55)}.hand-cards[data-v-4dfab9bf] .playing-card{flex-shrink:0;transition:transform .15s}.hand-cards[data-v-4dfab9bf] .playing-card.selected{transform:translateY(-20px)}.settle-card[data-v-aa639557]{background:var(--bg-secondary);border-radius:16px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:420px;min-height:0;max-height:100%;padding:16px 24px;display:flex;overflow:hidden;box-shadow:0 10px 40px #00000080}@media (height<=700px){.settle-card[data-v-aa639557]{gap:6px;max-height:90%;padding:12px 16px}}.settle-title[data-v-aa639557]{font-size:22px;font-weight:800}@media (height<=700px){.settle-title[data-v-aa639557]{font-size:18px}}.san-win[data-v-aa639557]{color:var(--accent)}.gu-win[data-v-aa639557]{color:var(--success)}.tie-win[data-v-aa639557]{color:var(--text-secondary)}.settle-detail[data-v-aa639557]{color:var(--text-secondary);flex-shrink:0;font-size:13px}@media (height<=700px){.settle-detail[data-v-aa639557]{font-size:11px}}.settle-rows[data-v-aa639557]{flex-direction:column;flex:auto;gap:4px;width:100%;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.settle-row[data-v-aa639557]{background:var(--bg-card);border-radius:8px;align-items:center;gap:10px;padding:6px 12px;font-size:14px;display:flex}@media (height<=700px){.settle-row[data-v-aa639557]{padding:4px 10px;font-size:12px}}.settle-name[data-v-aa639557]{flex:1;font-weight:600}.settle-score[data-v-aa639557]{text-align:right;min-width:48px;font-weight:700}.settle-score.pos[data-v-aa639557]{color:var(--success)}.settle-score.neg[data-v-aa639557]{color:var(--danger)}.settle-actions[data-v-aa639557]{gap:12px;width:100%;margin-top:4px;display:flex}.settle-btn[data-v-aa639557]{flex:1}.btn-hold-hide[data-v-aa639557]{-webkit-user-select:none;user-select:none;touch-action:none}.settle-overlay.is-hidden[data-v-aa639557]{pointer-events:none;backdrop-filter:none!important;background:0 0!important}.settle-overlay.is-hidden .settle-card[data-v-aa639557]{pointer-events:none;box-shadow:none!important;background:0 0!important;border:none!important}.settle-overlay.is-hidden .settle-title[data-v-aa639557],.settle-overlay.is-hidden .settle-detail[data-v-aa639557],.settle-overlay.is-hidden .settle-rows[data-v-aa639557],.settle-overlay.is-hidden .settle-btn[data-v-aa639557]:not(.btn-hold-hide){opacity:0!important;pointer-events:none!important}.settle-overlay.is-hidden .btn-hold-hide[data-v-aa639557]{opacity:0!important;pointer-events:auto!important}.game-over-card[data-v-0d58f238]{background:var(--bg-secondary);border-radius:16px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:420px;min-height:0;max-height:100%;padding:16px 24px;display:flex;overflow:hidden;box-shadow:0 10px 40px #00000080}@media (height<=700px){.game-over-card[data-v-0d58f238]{gap:6px;max-height:90%;padding:12px 16px}}.game-over-title[data-v-0d58f238]{color:var(--accent);font-size:24px;font-weight:900}.game-over-subtitle[data-v-0d58f238]{color:var(--text-secondary);margin-top:-6px;font-size:14px}@media (height<=700px){.game-over-title[data-v-0d58f238]{font-size:20px}}.rankings[data-v-0d58f238]{flex-direction:column;flex:auto;gap:4px;width:100%;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.ranking-item[data-v-0d58f238]{background:var(--bg-card);border-radius:8px;align-items:center;gap:12px;padding:8px 16px;display:flex}.ranking-item.first[data-v-0d58f238]{border:1px solid var(--warning);background:linear-gradient(135deg,#f1c40f33,#e67e2233)}.rank-num[data-v-0d58f238]{color:var(--warning);width:24px;font-size:18px;font-weight:900}.rank-name[data-v-0d58f238]{flex:1;align-items:center;gap:6px;font-weight:600;display:flex}.left-tag[data-v-0d58f238]{color:#ff9800;background:#ff980026;border:1px solid #ff980059;border-radius:4px;padding:1px 5px;font-size:11px;font-weight:500;line-height:1.2}.rank-score[data-v-0d58f238]{color:var(--text-secondary);font-size:14px}.game-over-actions[data-v-0d58f238]{flex-direction:column;flex-shrink:0;gap:10px;width:100%;margin-top:16px;display:flex}.action-row[data-v-0d58f238]{gap:12px;width:100%;display:flex}.play-again-btn[data-v-0d58f238]{width:100%;padding:12px 4px;font-size:16px;font-weight:800}.wait-host-note[data-v-0d58f238]{text-align:center;width:100%;color:var(--text-muted);margin:0;font-size:13px}.action-btn[data-v-0d58f238]{white-space:nowrap;flex:1;padding:8px 4px;font-size:13px}.btn-hold-hide[data-v-0d58f238]{-webkit-user-select:none;user-select:none;touch-action:none}.game-over-overlay.is-hidden[data-v-0d58f238]{pointer-events:none;backdrop-filter:none!important;background:0 0!important}.game-over-overlay.is-hidden .game-over-card[data-v-0d58f238]{pointer-events:none;box-shadow:none!important;background:0 0!important;border:none!important}.game-over-overlay.is-hidden .game-over-title[data-v-0d58f238],.game-over-overlay.is-hidden .game-over-subtitle[data-v-0d58f238],.game-over-overlay.is-hidden .rankings[data-v-0d58f238],.game-over-overlay.is-hidden .wait-host-note[data-v-0d58f238],.game-over-overlay.is-hidden .action-btn[data-v-0d58f238]:not(.btn-hold-hide){opacity:0!important;pointer-events:none!important}.game-over-overlay.is-hidden .btn-hold-hide[data-v-0d58f238]{opacity:0!important;pointer-events:auto!important}.history-overlay[data-v-a9b8d410]{z-index:1100}.history-card[data-v-a9b8d410]{background:var(--bg-secondary);border-radius:16px;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:460px;min-height:0;max-height:90%;padding:20px 24px;display:flex;box-shadow:0 10px 40px #00000080}.history-title[data-v-a9b8d410]{color:var(--text-primary);font-size:20px;font-weight:800}.history-list[data-v-a9b8d410]{flex-direction:column;flex:auto;gap:8px;width:100%;min-height:0;display:flex;overflow-y:auto}.history-round[data-v-a9b8d410]{background:var(--bg-card);border-radius:8px;padding:8px 12px}.history-round-header[data-v-a9b8d410]{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.history-round-num[data-v-a9b8d410]{color:var(--text-primary);font-size:14px;font-weight:700}.history-winner[data-v-a9b8d410]{color:#fff;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600}.history-winner.winner-san[data-v-a9b8d410]{background:var(--accent)}.history-winner.winner-gu[data-v-a9b8d410]{background:var(--success)}.history-winner.winner-tie[data-v-a9b8d410]{background:var(--text-muted)}.history-scores[data-v-a9b8d410]{flex-wrap:wrap;gap:6px 12px;display:flex}.history-score-item[data-v-a9b8d410]{color:var(--text-secondary);font-size:13px}.history-score-item .pos[data-v-a9b8d410]{color:var(--success);font-weight:600}.history-score-item .neg[data-v-a9b8d410]{color:var(--danger);font-weight:600}.spectator-overlay[data-v-92293171]{z-index:1100}.spectator-card[data-v-92293171]{background:var(--bg-secondary);border-radius:16px;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:460px;min-height:0;max-height:90%;padding:20px 24px;display:flex;box-shadow:0 10px 40px #00000080}.spectator-header h3[data-v-92293171]{color:var(--text-primary);margin:0;font-size:18px}.spectator-content[data-v-92293171]{flex:auto;width:100%;overflow-y:auto}.empty-state[data-v-92293171]{text-align:center;color:var(--text-muted);padding:20px 0}.spectator-list[data-v-92293171]{flex-direction:column;gap:8px;width:100%;display:flex}.spectator-item[data-v-92293171]{background:var(--bg-card);border-radius:8px;align-items:center;padding:8px 12px;display:flex}.spectator-name[data-v-92293171]{color:var(--text-primary);font-weight:500}.player-seat[data-v-e0be9b7c]{flex-direction:column;align-items:center;gap:2px;min-width:auto;padding:4px;transition:all .3s;display:flex;position:relative}.player-seat.active .seat-avatar[data-v-e0be9b7c]{z-index:5;border:2px solid #ffeb3b;animation:1.5s ease-in-out infinite avatarPulse-e0be9b7c;transform:scale(1.15)}.player-seat.active .seat-name[data-v-e0be9b7c]{color:#ffeb3b}@keyframes avatarPulse-e0be9b7c{0%,to{box-shadow:0 0 10px #ffeb3b80}50%{box-shadow:0 0 20px #ffeb3be6,0 0 30px #ffeb3b66}}.avatar-wrapper[data-v-e0be9b7c]{justify-content:center;display:flex;position:relative}.faction-badge[data-v-e0be9b7c]{z-index:10;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:flex;position:absolute;top:-6px;box-shadow:0 2px 4px #0006}.faction-badge.badge-left[data-v-e0be9b7c]{left:-8px;right:auto}.badge-right[data-v-e0be9b7c]{left:auto;right:-8px}.voice-badge[data-v-e0be9b7c]{color:#fff;z-index:10;border:1px solid var(--border);background:#0009;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;display:flex;position:absolute;bottom:-4px;right:-4px}.voice-speaking[data-v-e0be9b7c]{background:#2ecc71;border-color:#27ae60;animation:1s infinite pulseSpeaking-e0be9b7c}.voice-muted[data-v-e0be9b7c]:after{content:"";z-index:1;background-color:#ff5252;border-radius:1px;height:2px;position:absolute;top:50%;left:3px;right:3px;transform:translateY(-50%)rotate(-45deg)}@keyframes pulseSpeaking-e0be9b7c{0%{transform:scale(1);box-shadow:0 0 #2ecc71b3}70%{transform:scale(1.1);box-shadow:0 0 0 4px #2ecc7100}to{transform:scale(1);box-shadow:0 0 #2ecc7100}}.faction-badge.san[data-v-e0be9b7c]{background:var(--accent);color:#fff}.faction-badge.gu[data-v-e0be9b7c]{background:var(--success);color:#fff}.seat-avatar[data-v-e0be9b7c]{color:#fff;box-sizing:border-box;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;font-weight:700;transition:all .3s;display:flex}.seat-info[data-v-e0be9b7c]{text-align:center}.seat-name[data-v-e0be9b7c]{white-space:nowrap;color:#fff;text-shadow:0 1px 2px #000000e6;font-size:12px;font-weight:600}.seat-meta[data-v-e0be9b7c]{text-shadow:0 1px 2px #000c;flex-wrap:nowrap;justify-content:center;gap:4px;margin-top:0;display:flex}.order-tag[data-v-e0be9b7c],.score-tag[data-v-e0be9b7c],.card-count[data-v-e0be9b7c]{border-radius:3px;padding:1px 6px;font-size:11px;font-weight:600}.order-tag[data-v-e0be9b7c]{color:var(--info,#3498db);background:#3498db2e}.score-tag[data-v-e0be9b7c]{color:var(--warning);background:#f1c40f2e}.bid-action-tag[data-v-e0be9b7c]{border-radius:3px;margin-left:4px;padding:1px 4px;font-size:10px;font-weight:600}.bid-action-tag.pass[data-v-e0be9b7c]{color:#ddd;background:#ffffff26}.bid-action-tag.zha[data-v-e0be9b7c],.bid-action-tag.gen[data-v-e0be9b7c]{color:#2ecc71;background:#2ecc7133}.bid-action-tag.liang[data-v-e0be9b7c]{color:#e74c3c;background:#e74c3c33}.card-count[data-v-e0be9b7c]{color:var(--text-secondary);font-size:11px}.position-tag[data-v-e0be9b7c]{color:var(--warning);background:#f1c40f33;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.suit-marks[data-v-e0be9b7c]{justify-content:center;gap:3px;margin-top:2px;display:flex}.suit-mark[data-v-e0be9b7c]{color:#ffffff38;font-size:12px;line-height:1;transition:color .2s,transform .2s}.suit-mark.active[data-v-e0be9b7c]{opacity:1;transform:scale(1.15);color:#e94560!important}.suit-mark.spade.active[data-v-e0be9b7c],.suit-mark.club.active[data-v-e0be9b7c]{text-shadow:0 0 2px #ffffffb3;color:#1a1a1a!important}.suit-mark.heart.active[data-v-e0be9b7c],.suit-mark.diamond.active[data-v-e0be9b7c]{text-shadow:0 0 6px #e9456080;color:#e74c3c!important}.status-badge[data-v-e0be9b7c]{color:#fff;z-index:10;white-space:nowrap;background:#000000b3;border-radius:4px;padding:4px 8px;font-size:14px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.left-badge[data-v-e0be9b7c]{background:#dc3545d9}.player-seat.offline .seat-avatar[data-v-e0be9b7c],.player-seat.left .seat-avatar[data-v-e0be9b7c]{filter:grayscale()opacity(.5)}.player-seat.offline .seat-info[data-v-e0be9b7c],.player-seat.left .seat-info[data-v-e0be9b7c]{opacity:.6}.spectate-btn[data-v-e0be9b7c]{background:var(--accent);color:#fff;cursor:pointer;z-index:20;writing-mode:vertical;text-orientation:mixed;border:none;border-radius:6px;padding:6px 4px;font-size:12px;font-weight:700;line-height:1;transition:transform .2s,background .2s;position:absolute;top:60%;transform:translateY(-50%);box-shadow:0 2px 4px #0000004d}.spectate-btn[data-v-e0be9b7c]:hover{background:#ff5277;transform:translateY(-50%)scale(1.05)}.rank-badge[data-v-e0be9b7c]{color:#fff;white-space:nowrap;z-index:20;writing-mode:vertical-rl;text-orientation:mixed;background:linear-gradient(135deg,#f17c0f,#f36412);border:1px solid gold;border-radius:6px;padding:6px 4px;font-size:13px;font-weight:900;line-height:1;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 4px #00000080}.rank-left[data-v-e0be9b7c]{margin-right:10px;right:100%}.rank-right[data-v-e0be9b7c]{margin-left:10px;left:100%}.game-view[data-v-77b17e6c]{background:radial-gradient(#1f2a44 0%,#0f1626 100%);flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.game-table[data-v-77b17e6c]{flex:1;min-height:0;padding:4px;position:relative}.seat-slot[data-v-77b17e6c]{width:auto;position:absolute}.seat-slot[data-v-77b17e6c] .player-seat{min-width:92px}.near-play[data-v-77b17e6c]{z-index:5;flex-direction:row;justify-content:center;align-items:center;padding:2px;display:flex;position:absolute}.near-top[data-v-77b17e6c]{top:90px;left:50%;transform:translate(-50%)}.near-right[data-v-77b17e6c]{top:50%;right:95px;transform:translateY(-50%)}.near-left[data-v-77b17e6c]{top:50%;left:95px;transform:translateY(-50%)}.seat-action-text[data-v-77b17e6c]{z-index:10;justify-content:center;align-items:center;display:flex;position:absolute}.seat-action-text.near-top[data-v-77b17e6c]{top:90px;left:50%;transform:translate(-50%)}.seat-action-text.near-right[data-v-77b17e6c]{top:50%;right:90px;transform:translateY(-50%)}.seat-action-text.near-left[data-v-77b17e6c]{top:50%;left:90px;transform:translateY(-50%)}.near-play[data-v-77b17e6c] .playing-card{border-radius:5px;width:42px;height:60px}.near-play[data-v-77b17e6c] .playing-card+.playing-card{margin-left:-18px}.center-area[data-v-77b17e6c]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.waiting-text[data-v-77b17e6c]{color:#ffffffe6;backdrop-filter:blur(4px);text-shadow:0 1px 2px #00000080;background:#0000004d;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:500}.reconnecting-banner[data-v-77b17e6c]{z-index:200;color:#fff;white-space:nowrap;pointer-events:none;background:#e74c3ce6;border-radius:20px;align-items:center;gap:8px;padding:6px 16px;font-size:13px;font-weight:600;display:flex;position:absolute;top:56px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.reconnect-spinner[data-v-77b17e6c]{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite reconnect-spin-77b17e6c}@keyframes reconnect-spin-77b17e6c{to{transform:rotate(360deg)}}.pass-text[data-v-77b17e6c]{color:#fcc;text-shadow:0 2px 4px #000c;white-space:nowrap;padding:0 10px;font-size:24px;font-weight:700}.pass-text.highlight[data-v-77b17e6c]{color:#fc0;text-shadow:0 2px 4px #000c,0 0 10px #ffcc0080}.remaining-cards[data-v-77b17e6c]{flex-direction:row;align-items:center;gap:4px;display:flex}.remaining-label[data-v-77b17e6c]{color:#fffc;white-space:nowrap;background:#0006;border-radius:4px;margin-right:4px;padding:2px 6px;font-size:11px}.near-top .remaining-label[data-v-77b17e6c]{margin-bottom:0;margin-right:4px}.near-left .remaining-cards[data-v-77b17e6c]{flex-direction:column;align-items:flex-start}.near-left .remaining-label[data-v-77b17e6c]{margin-bottom:4px;margin-right:0}.near-right .remaining-cards[data-v-77b17e6c]{flex-direction:column;align-items:flex-end}.near-right .remaining-label[data-v-77b17e6c]{margin-bottom:4px;margin-right:0}.remaining-cards[data-v-77b17e6c] .playing-card{border-radius:4px;width:32px;height:46px}.remaining-cards[data-v-77b17e6c] .playing-card+.playing-card{margin-left:-12px}.test-harness[data-v-a9b92fba]{color:#fff;background:#1e1e1e;flex-direction:column;width:100vw;height:100vh;font-family:monospace;display:flex}.header[data-v-a9b92fba]{background:#2d2d2d;border-bottom:1px solid #444;justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.controls[data-v-a9b92fba]{align-items:center;gap:15px;display:flex}.iframe-grid[data-v-a9b92fba]{background:#000;flex:1;gap:10px;height:calc(100vh - 65px);padding:10px;display:grid}.game-iframe[data-v-a9b92fba]{background:#fff;border:2px solid #555;border-radius:8px;width:100%;height:100%}.log-panel[data-v-a9b92fba]{flex:1;padding:20px;font-size:14px;line-height:1.5;overflow-y:auto}.log-entry[data-v-a9b92fba]{margin-bottom:4px}.log-entry.info[data-v-a9b92fba]{color:#ccc}.log-entry.error[data-v-a9b92fba]{color:#ff6b6b;font-weight:700}.log-entry.success[data-v-a9b92fba]{color:#51cf66;font-weight:700}.btn[data-v-a9b92fba]{cursor:pointer;border:none;border-radius:4px;padding:5px 15px;font-weight:700}.btn-primary[data-v-a9b92fba]{color:#fff;background:#339af0}.btn-primary[data-v-a9b92fba]:disabled{cursor:not-allowed;background:#666}.btn-danger[data-v-a9b92fba]{color:#fff;background:#fa5252}.admin-view[data-v-f510319f]{background:var(--bg-primary,#1a1a2e);width:100vw;height:100vh;color:var(--text-primary,#fff);-webkit-user-select:text;user-select:text;flex-direction:column;font-family:system-ui,-apple-system,sans-serif;display:flex;overflow:hidden}.admin-header[data-v-f510319f]{background:var(--bg-secondary,#16213e);border-bottom:1px solid var(--border,#ffffff1a);justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.header-left[data-v-f510319f]{align-items:center;gap:12px;display:flex}.logo-badge[data-v-f510319f]{font-size:24px}.header-title[data-v-f510319f]{margin:0;font-size:18px;font-weight:700}.status-chip[data-v-f510319f]{color:#e74c3c;background:#e74c3c33;border-radius:12px;padding:4px 10px;font-size:12px}.status-chip.online[data-v-f510319f]{color:#2ecc71;background:#2ecc7133}.header-right[data-v-f510319f]{align-items:center;gap:16px;display:flex}.token-field[data-v-f510319f]{color:var(--text-secondary,#a0a0b0);align-items:center;gap:8px;font-size:14px;display:flex}.token-input[data-v-f510319f]{border:1px solid var(--border,#ffffff1a);background:var(--bg-card,#0f3460);color:#fff;border-radius:6px;width:130px;padding:6px 10px}.refresh-controls[data-v-f510319f]{align-items:center;gap:8px;display:flex}.select-input[data-v-f510319f]{border:1px solid var(--border,#ffffff1a);background:var(--bg-card,#0f3460);color:#fff;border-radius:6px;padding:6px 12px;font-size:14px}.spinning[data-v-f510319f]{animation:1s linear infinite spin-f510319f;display:inline-block}@keyframes spin-f510319f{to{transform:rotate(360deg)}}.admin-nav[data-v-f510319f]{background:var(--bg-secondary,#16213e);border-bottom:1px solid var(--border,#ffffff1a);gap:8px;padding:12px 24px 0;display:flex}.nav-tab[data-v-f510319f]{color:var(--text-secondary,#a0a0b0);cursor:pointer;background:0 0;border:none;border-top-left-radius:8px;border-top-right-radius:8px;padding:10px 20px;font-size:15px;font-weight:600;transition:all .2s}.nav-tab[data-v-f510319f]:hover{color:#fff;background:#ffffff0d}.nav-tab.active[data-v-f510319f]{color:var(--accent,#e94560);background:var(--bg-primary,#1a1a2e);border-bottom:2px solid var(--accent,#e94560)}.error-banner[data-v-f510319f]{color:#fff;background:#e74c3c;justify-content:space-between;align-items:center;padding:10px 24px;font-size:14px;display:flex}.close-btn[data-v-f510319f]{color:#fff;cursor:pointer;background:0 0;border:none;font-size:16px}.admin-main[data-v-f510319f]{flex:1;padding:24px;overflow-y:auto}.metrics-grid[data-v-f510319f]{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px;display:grid}.metric-card[data-v-f510319f]{background:var(--bg-secondary,#16213e);border:1px solid var(--border,#ffffff1a);border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex}.metric-icon[data-v-f510319f]{font-size:32px}.metric-label[data-v-f510319f]{color:var(--text-secondary,#a0a0b0);font-size:13px}.metric-value[data-v-f510319f]{margin:4px 0;font-size:20px;font-weight:700}.metric-value.highlight[data-v-f510319f]{color:var(--accent,#e94560)}.metric-value.text-gold[data-v-f510319f]{color:#f1c40f}.metric-sub[data-v-f510319f]{color:var(--text-muted,#6c6c80);font-size:12px}.state-card[data-v-f510319f]{background:var(--bg-secondary,#16213e);border-radius:12px;padding:20px}.section-title[data-v-f510319f]{margin-bottom:16px;font-size:16px}.state-badges[data-v-f510319f]{flex-wrap:wrap;gap:12px;display:flex}.state-pill[data-v-f510319f]{background:var(--bg-card,#0f3460);border-radius:8px;align-items:center;gap:12px;padding:10px 16px;font-weight:600;display:flex}.state-count[data-v-f510319f]{background:#fff3;border-radius:10px;padding:2px 8px;font-size:13px}.toolbar[data-v-f510319f]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.search-input[data-v-f510319f]{width:320px}.toolbar-info[data-v-f510319f]{color:var(--text-secondary,#a0a0b0);font-size:14px}.table-wrapper[data-v-f510319f]{background:var(--bg-secondary,#16213e);border:1px solid var(--border,#ffffff1a);border-radius:12px;overflow:auto}.mini-table-wrapper[data-v-f510319f]{max-height:240px}.admin-table[data-v-f510319f]{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.admin-table th[data-v-f510319f],.admin-table td[data-v-f510319f]{border-bottom:1px solid var(--border,#ffffff0d);padding:14px 18px}.mini-table th[data-v-f510319f],.mini-table td[data-v-f510319f]{padding:8px 12px;font-size:13px}.admin-table th[data-v-f510319f]{background:var(--bg-card,#0f3460);color:var(--text-secondary,#a0a0b0);font-weight:600}.font-mono[data-v-f510319f]{font-family:monospace}.player-chips[data-v-f510319f]{flex-wrap:wrap;gap:6px;display:flex}.player-mini-tag[data-v-f510319f]{background:#ffffff1a;border-radius:4px;padding:2px 8px;font-size:12px}.player-mini-tag.offline[data-v-f510319f]{opacity:.5;text-decoration:line-through}.spectator-tag[data-v-f510319f]{color:#f1c40f;background:#f1c40f2e;border:1px solid #f1c40f59}.watching-tag[data-v-f510319f]{color:#ffffffd9;opacity:.9;margin-left:4px;font-size:11px}.spectators-section[data-v-f510319f]{background:#f1c40f0f;border:1px solid #f1c40f33;border-radius:10px;padding:14px}.spectators-section h3[data-v-f510319f]{margin-bottom:10px;font-size:15px}.badge[data-v-f510319f]{border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.badge-info[data-v-f510319f]{color:#fff;background:#3498db}.badge-success[data-v-f510319f]{color:#fff;background:#2ecc71}.badge-warning[data-v-f510319f]{color:#fff;background:#f39c12}.badge-purple[data-v-f510319f]{color:#fff;background:#9b59b6}.badge-muted[data-v-f510319f]{color:#fff;background:#7f8c8d}.btn-group[data-v-f510319f]{gap:6px;display:flex}.btn-outline[data-v-f510319f]{border:1px solid var(--border,#fff3);color:var(--text-primary,#fff);background:0 0}.btn-outline[data-v-f510319f]:hover{background:#ffffff1a}.broadcast-card[data-v-f510319f]{background:var(--bg-secondary,#16213e);border-radius:12px;max-width:600px;padding:24px}.form-group[data-v-f510319f]{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.textarea[data-v-f510319f]{background:var(--bg-card,#0f3460);border:1px solid var(--border,#ffffff1a);color:#fff;border-radius:8px;outline:none;width:100%;padding:12px;font-size:14px}.modal-overlay[data-v-f510319f]{backdrop-filter:blur(4px);z-index:999;background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content.room-modal[data-v-f510319f]{background:var(--bg-secondary,#16213e);border:1px solid var(--border,#ffffff26);border-radius:16px;flex-direction:column;width:92%;max-width:1020px;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 10px 40px #00000080}.modal-header[data-v-f510319f]{background:var(--bg-card,#0f3460);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.modal-header h2[data-v-f510319f]{margin:0;font-size:18px}.modal-close[data-v-f510319f]{color:#fff;cursor:pointer;background:0 0;border:none;font-size:20px}.modal-subnav[data-v-f510319f]{border-bottom:1px solid var(--border,#ffffff1a);background:#0003;display:flex}.subnav-tab[data-v-f510319f]{color:var(--text-secondary,#a0a0b0);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-size:14px;font-weight:600}.subnav-tab.active[data-v-f510319f]{color:#fff;border-bottom-color:var(--accent,#e94560);background:#ffffff0d}.modal-body[data-v-f510319f]{flex-direction:column;flex:1;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.summary-box[data-v-f510319f]{background:#0f346099;border:1px solid #ffffff14;border-radius:8px;padding:12px 16px}.bids-chip-list[data-v-f510319f]{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.bid-chip[data-v-f510319f]{background:#0003;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.inline-cards-span[data-v-f510319f]{align-items:center;gap:2px;margin-left:4px;display:inline-flex}.finish-rank-list[data-v-f510319f]{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.rank-tag[data-v-f510319f]{color:#f1c40f;background:#f1c40f26;border:1px solid #f1c40f4d;border-radius:6px;padding:4px 10px;font-size:13px}.rank-mini-tag[data-v-f510319f]{background:#ffffff14;border-radius:4px;margin-right:6px;padding:2px 8px;font-size:12px}.room-meta-grid[data-v-f510319f]{background:#0003;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:12px 16px;font-size:13px;display:grid}.players-grid[data-v-f510319f]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:10px;display:grid}.player-card[data-v-f510319f]{background:var(--bg-card,#0f3460);border:1px solid #ffffff0d;border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.player-card.is-turn[data-v-f510319f]{border-color:#f1c40f;box-shadow:0 0 10px #f1c40f4d}.player-card-header[data-v-f510319f]{align-items:center;gap:8px;font-weight:700;display:flex}.seat-badge[data-v-f510319f]{background:#34495e;border-radius:4px;padding:2px 6px;font-size:11px}.host-tag[data-v-f510319f]{background:var(--accent,#e94560);border-radius:4px;padding:2px 6px;font-size:11px}.online-tag[data-v-f510319f]{margin-left:auto;font-size:11px}.online-tag.online[data-v-f510319f]{color:#2ecc71}.online-tag.offline[data-v-f510319f]{color:#e74c3c}.player-card-stats[data-v-f510319f]{align-items:center;gap:12px;font-size:13px;display:flex}.faction-tag[data-v-f510319f]{background:#8e44ad;border-radius:4px;padding:2px 6px;font-size:11px}.turn-tag[data-v-f510319f]{color:#f1c40f;font-size:12px;font-weight:700}.cards-block[data-v-f510319f]{font-size:12px}.block-title[data-v-f510319f]{color:var(--text-secondary,#a0a0b0);margin-bottom:4px;font-size:12px}.card-list[data-v-f510319f]{flex-wrap:wrap;gap:4px;display:flex}.mini-card[data-v-f510319f]{color:#000;background:#fff;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:700;display:inline-block;box-shadow:0 1px 3px #0000004d}.mini-card.suit-red[data-v-f510319f]{color:#e74c3c}.mini-card.suit-black[data-v-f510319f]{color:#2c3e50}.mini-card.suit-joker-big[data-v-f510319f]{color:#fff;background:#f34;border:1px solid #d50000;box-shadow:0 0 6px #f349}.mini-card.suit-joker-small[data-v-f510319f]{color:#fff;background:#8e24aa;border:1px solid #4a148c;box-shadow:0 0 6px #8e24aa99}.mini-card-ghost[data-v-f510319f]{opacity:.85;border:1px dashed #0003}.history-rounds-list[data-v-f510319f]{flex-direction:column;gap:16px;display:flex}.round-history-card[data-v-f510319f]{background:#00000040;border:1px solid #ffffff1a;border-radius:12px;padding:16px}.round-card-header[data-v-f510319f]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.round-card-header h4[data-v-f510319f]{margin:0;font-size:15px}.toggle-detail-btn[data-v-f510319f]{margin-left:auto}.round-scores-grid[data-v-f510319f]{background:#ffffff08;border-radius:8px;flex-wrap:wrap;gap:12px;margin-bottom:10px;padding:10px 14px;display:flex}.history-finish-order[data-v-f510319f]{margin-bottom:8px;font-size:13px}.round-expand-body[data-v-f510319f]{border-top:1px dashed #ffffff1a;flex-direction:column;gap:12px;margin-top:14px;padding-top:14px;display:flex}.score-pill[data-v-f510319f]{font-size:13px}.score-pname[data-v-f510319f]{color:var(--text-secondary,#a0a0b0);margin-right:4px}.score-val[data-v-f510319f]{font-weight:700}.text-green[data-v-f510319f]{color:#2ecc71}.text-red[data-v-f510319f]{color:#e74c3c}.font-bold[data-v-f510319f]{font-weight:700}.history-initial-hands[data-v-f510319f],.history-play-logs[data-v-f510319f],.history-bids[data-v-f510319f]{margin-top:8px}.init-hands-grid[data-v-f510319f]{flex-direction:column;gap:6px;display:flex}.init-hand-item[data-v-f510319f]{align-items:center;gap:8px;font-size:12px;display:flex}.init-player-name[data-v-f510319f]{width:90px;color:var(--text-secondary,#a0a0b0);font-weight:600}.modal-footer[data-v-f510319f]{background:var(--bg-card,#0f3460);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.modal-content.template-modal[data-v-f510319f]{background:var(--bg-secondary,#16213e);border:1px solid var(--border,#ffffff26);border-radius:16px;flex-direction:column;width:92%;max-width:680px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 10px 40px #00000080}.template-modal-body[data-v-f510319f]{flex-direction:column;gap:16px;padding:18px 24px;display:flex;overflow-y:auto}.template-guide-box[data-v-f510319f]{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;padding:12px 14px}.guide-title[data-v-f510319f]{color:#94a3b8;margin-bottom:8px;font-size:13px;font-weight:500}.variable-tags-grid[data-v-f510319f]{flex-wrap:wrap;gap:6px;display:flex}.var-tag-btn[data-v-f510319f]{color:#38bdf8;cursor:pointer;background:#38bdf81f;border:1px solid #38bdf84d;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-family:monospace;font-size:12px;transition:all .15s;display:inline-flex}.var-tag-btn[data-v-f510319f]:hover{background:#38bdf840;border-color:#38bdf8;transform:translateY(-1px)}.var-tag-btn .tag-desc[data-v-f510319f]{color:#cbd5e1;font-family:-apple-system,sans-serif;font-size:11px}.editor-label[data-v-f510319f]{color:#cbd5e1;font-size:13px;font-weight:500}.template-textarea[data-v-f510319f]{box-sizing:border-box;color:#f1f3f9;resize:vertical;background:#0d1527;border:1px solid #ffffff26;border-radius:8px;outline:none;width:100%;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5;transition:border-color .2s}.template-textarea[data-v-f510319f]:focus{border-color:#38bdf8}.template-preview-section[data-v-f510319f]{background:#00000040;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.preview-header[data-v-f510319f]{color:#94a3b8;justify-content:space-between;align-items:center;font-size:12px;display:flex}.preview-badge[data-v-f510319f]{color:#cbd5e1;background:#ffffff14;border-radius:4px;padding:2px 8px;font-size:11px}.preview-content[data-v-f510319f]{color:#4ade80;white-space:pre-wrap;word-break:break-all;background:#090e1a;border-radius:6px;max-height:160px;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.5;overflow-y:auto}.stats-view[data-v-158cdb9f]{color:#f1f3f9;box-sizing:border-box;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at 50% 0,#1a2238 0%,#0d111d 75%);flex-direction:column;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;display:flex;overflow-y:auto}.stats-header[data-v-158cdb9f]{z-index:50;-webkit-backdrop-filter:blur(12px);background:#0f1421e0;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.header-left[data-v-158cdb9f],.header-right[data-v-158cdb9f]{z-index:1;align-items:center;display:flex}.home-btn[data-v-158cdb9f]{color:#cdd3e2;background:#ffffff14;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.home-btn[data-v-158cdb9f]:hover{color:#fff;background:#ffffff26}.brand[data-v-158cdb9f]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.brand-title[data-v-158cdb9f]{color:#fff;letter-spacing:.4px;font-size:17px;font-weight:700}.btn-report-link[data-v-158cdb9f]{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-report-link[data-v-158cdb9f]:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.btn-share-link[data-v-158cdb9f]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #0284c759}.btn-share-link[data-v-158cdb9f]:hover{filter:brightness(1.1);transform:translateY(-1px)}.stats-container[data-v-158cdb9f]{box-sizing:border-box;flex-direction:column;gap:20px;width:100%;max-width:960px;margin:0 auto;padding:20px 16px 40px;display:flex}.filter-card[data-v-158cdb9f]{background:#192134b3;border:1px solid #ffffff1a;border-radius:14px;padding:16px;box-shadow:0 8px 24px #0000004d}.filter-row[data-v-158cdb9f]{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.input-group[data-v-158cdb9f]{flex-direction:column;gap:6px;display:flex}.input-group label[data-v-158cdb9f]{color:#94a3b8;font-size:12px;font-weight:500}.code-input-group[data-v-158cdb9f]{flex:1;min-width:140px}.date-input-group[data-v-158cdb9f]{flex:1.4;min-width:240px}.input-wrapper input[data-v-158cdb9f]{color:#fff;box-sizing:border-box;background:#111728;border:1px solid #ffffff24;border-radius:9px;outline:none;width:100%;height:40px;padding:0 12px;font-size:14px;transition:border-color .2s}.input-wrapper input[data-v-158cdb9f]:focus{border-color:#38bdf8}.date-wrapper[data-v-158cdb9f]{align-items:center;gap:8px;display:flex}.date-wrapper input[data-v-158cdb9f]{flex:1}.quick-date-btns[data-v-158cdb9f]{gap:6px;display:flex}.btn-quick-date[data-v-158cdb9f]{color:#cbd5e1;cursor:pointer;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff1f;border-radius:9px;height:40px;padding:0 11px;font-size:12px;transition:all .2s}.btn-quick-date.active[data-v-158cdb9f],.btn-quick-date[data-v-158cdb9f]:hover{color:#38bdf8;background:#38bdf829;border-color:#38bdf8}.action-group[data-v-158cdb9f]{display:flex}.btn-query[data-v-158cdb9f]{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:9px;height:40px;padding:0 20px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #10b9814d}.btn-query[data-v-158cdb9f]:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn-query[data-v-158cdb9f]:disabled{opacity:.55;cursor:not-allowed}.overview-grid[data-v-158cdb9f]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.stat-tile[data-v-158cdb9f]{background:#192134a6;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:4px;padding:16px;display:flex;box-shadow:0 4px 16px #0003}.stat-label[data-v-158cdb9f]{color:#94a3b8;font-size:12px}.stat-value[data-v-158cdb9f]{color:#fff;letter-spacing:-.5px;font-size:24px;font-weight:800}.stat-value.highlight[data-v-158cdb9f]{color:#38bdf8}.stat-value.code-badge[data-v-158cdb9f]{color:#f59e0b;font-size:20px}.stat-sub[data-v-158cdb9f]{color:#64748b;margin-top:2px;font-size:11px}.content-card[data-v-158cdb9f]{background:#161e30b3;border:1px solid #ffffff17;border-radius:16px;flex-direction:column;gap:16px;padding:20px;display:flex;box-shadow:0 8px 30px #00000059}.card-header[data-v-158cdb9f]{border-bottom:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-bottom:12px;display:flex}.title-wrap[data-v-158cdb9f]{align-items:center;gap:8px;display:flex}.header-icon[data-v-158cdb9f]{font-size:20px}.card-header h2[data-v-158cdb9f]{color:#fff;margin:0;font-size:16px;font-weight:700}.header-tip[data-v-158cdb9f]{color:#64748b;font-size:12px}.leaderboard-list[data-v-158cdb9f]{flex-direction:column;gap:8px;display:flex}.leaderboard-item[data-v-158cdb9f]{background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;align-items:center;padding:12px 16px;transition:transform .15s,background .15s;display:flex}.leaderboard-item[data-v-158cdb9f]:hover{background:#ffffff0f;transform:translate(2px)}.rank-badge[data-v-158cdb9f]{color:#94a3b8;justify-content:flex-start;align-items:center;width:32px;font-size:16px;font-weight:800;display:flex}.player-info[data-v-158cdb9f]{flex:1;align-items:center;gap:10px;display:flex}.player-name[data-v-158cdb9f]{color:#fff;font-size:15px;font-weight:600}.player-games[data-v-158cdb9f]{color:#64748b;background:#ffffff0f;border-radius:6px;padding:2px 7px;font-size:12px}.player-score[data-v-158cdb9f]{text-align:right;letter-spacing:-.2px;border-radius:8px;min-width:68px;padding:4px 12px;font-size:18px;font-weight:800}.player-score.positive[data-v-158cdb9f]{color:#34d399;background:#34d3991f;border:1px solid #34d39940}.player-score.negative[data-v-158cdb9f]{color:#f87171;background:#f871711f;border:1px solid #f8717140}.player-score.zero[data-v-158cdb9f]{color:#94a3b8;background:#ffffff0f}.records-grid[data-v-158cdb9f]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.record-item[data-v-158cdb9f]{background:#ffffff08;border:1px solid #ffffff12;border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.record-meta[data-v-158cdb9f]{justify-content:space-between;align-items:center;display:flex}.room-tag[data-v-158cdb9f]{align-items:center;gap:4px;display:flex}.room-icon[data-v-158cdb9f]{font-size:14px}.room-id[data-v-158cdb9f]{color:#38bdf8;font-size:14px;font-weight:700}.time-tag[data-v-158cdb9f]{color:#94a3b8;font-size:12px}.round-badge[data-v-158cdb9f]{color:#cbd5e1;font-size:12px}.record-scores[data-v-158cdb9f]{flex-wrap:wrap;gap:6px;display:flex}.player-chip[data-v-158cdb9f]{background:#ffffff0d;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:inline-flex}.chip-name[data-v-158cdb9f]{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;max-width:90px;overflow:hidden}.chip-score[data-v-158cdb9f]{font-weight:700}.player-chip.positive[data-v-158cdb9f]{color:#34d399;background:#34d3991f}.player-chip.negative[data-v-158cdb9f]{color:#f87171;background:#f871711f}.player-chip.zero[data-v-158cdb9f]{color:#94a3b8}.notice-card[data-v-158cdb9f]{text-align:center;background:#161e30cc;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;align-items:center;gap:12px;margin:20px 0;padding:36px 24px;display:flex}.notice-icon[data-v-158cdb9f]{margin-bottom:4px;font-size:38px}.notice-card h3[data-v-158cdb9f]{color:#fff;margin:0;font-size:18px;font-weight:700}.notice-card p[data-v-158cdb9f]{color:#94a3b8;max-width:460px;margin:0;font-size:14px;line-height:1.6}.disabled-card[data-v-158cdb9f]{background:#241c14cc;border-color:#f59e0b4d}.disabled-card .notice-icon[data-v-158cdb9f]{color:#f59e0b}.btn-return[data-v-158cdb9f]{color:#0f172a;background:#38bdf8;border-radius:8px;margin-top:8px;padding:8px 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.btn-retry[data-v-158cdb9f]{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:8px;margin-top:8px;padding:8px 20px;font-weight:600}.empty-list[data-v-158cdb9f]{text-align:center;color:#64748b;padding:30px;font-size:14px}.loading-box[data-v-158cdb9f]{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:60px 0;font-size:14px;display:flex}.spinner[data-v-158cdb9f]{border:3px solid #38bdf833;border-top-color:#38bdf8;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-158cdb9f}@keyframes spin-158cdb9f{to{transform:rotate(360deg)}}@media (width<=640px){.stats-header[data-v-158cdb9f]{padding:10px 14px}.brand-title[data-v-158cdb9f]{font-size:15px}.filter-row[data-v-158cdb9f]{flex-direction:column;align-items:stretch}.date-wrapper[data-v-158cdb9f]{flex-direction:column}.quick-date-btns[data-v-158cdb9f]{width:100%}.btn-quick-date[data-v-158cdb9f]{flex:1}.btn-query[data-v-158cdb9f]{width:100%}}.voice-control-container[data-v-e9acc9ea]{z-index:1000;position:fixed;bottom:20px;right:20px}.voice-control-panel[data-v-e9acc9ea]{backdrop-filter:blur(10px);background:#000000b3;border-radius:20px;gap:8px;padding:8px;display:flex;box-shadow:0 4px 12px #0000004d}.voice-btn[data-v-e9acc9ea]{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:16px;align-items:center;gap:4px;padding:6px 12px;font-size:.9em;transition:all .2s;display:flex}.voice-btn[data-v-e9acc9ea]:hover{background:#fff3}.voice-btn.active[data-v-e9acc9ea]{color:#2ecc71;background:#2ecc7133;border-color:#2ecc7180}.voice-btn.muted[data-v-e9acc9ea]{color:#e74c3c;background:#e74c3c33;border-color:#e74c3c80}.voice-btn.connecting[data-v-e9acc9ea]{opacity:.7;cursor:wait}.voice-btn[data-v-e9acc9ea]:disabled{opacity:.5;cursor:not-allowed}.icon.slashable[data-v-e9acc9ea]{display:inline-block;position:relative}.voice-btn.muted .icon.slashable[data-v-e9acc9ea]:after{content:"";background-color:currentColor;border-radius:2px;height:2px;position:absolute;top:50%;left:-2px;right:-2px;transform:translateY(-50%)rotate(45deg);box-shadow:0 0 2px #00000080}.toast-host[data-v-1db590f6]{z-index:10000;pointer-events:none;flex-direction:column;align-items:center;gap:8px;max-width:min(560px,90vw);display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast-item[data-v-1db590f6]{pointer-events:auto;box-sizing:border-box;color:#fff;backdrop-filter:blur(6px);cursor:pointer;word-break:break-word;text-align:center;background:#000000d1;border:1px solid #ffffff1f;border-radius:10px;width:max-content;max-width:min(560px,90vw);padding:10px 18px;font-size:14px;line-height:1.4;box-shadow:0 4px 18px #00000059}.toast-item.success[data-v-1db590f6]{color:#fff;background:#2ecc71eb}.toast-item.warning[data-v-1db590f6]{color:#fff;background:#f39c12eb}.toast-item.error[data-v-1db590f6]{color:#fff;background:#e74c3ceb}.toast-enter-active[data-v-1db590f6]{transition:opacity .25s ease-out,transform .25s ease-out}.toast-leave-active[data-v-1db590f6]{pointer-events:none;transition:opacity .25s ease-in,transform .25s ease-in}.toast-enter-from[data-v-1db590f6],.toast-leave-to[data-v-1db590f6]{opacity:0;transform:translateY(-12px)}.toast-move[data-v-1db590f6]{transition:transform .25s}.confirm-overlay[data-v-d82b55ac]{z-index:10001;-webkit-backdrop-filter:blur(8px);pointer-events:auto;background:#080b14c7;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-card[data-v-d82b55ac]{text-align:center;-webkit-user-select:none;user-select:none;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(165deg,#1f2738 0%,#151a26 100%);border:1px solid #ffffff21;border-radius:18px;flex-direction:column;align-items:center;width:100%;max-width:360px;padding:24px 22px 20px;display:flex;box-shadow:0 24px 60px #000000a6,inset 0 0 0 1px #ffffff0f}.confirm-icon-wrap[data-v-d82b55ac]{border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:12px;display:flex}.confirm-icon-wrap.danger[data-v-d82b55ac]{color:#ff5e57;background:#e74c3c29;border:1px solid #e74c3c5c;box-shadow:0 0 20px #e74c3c3d}.confirm-icon-wrap.warning[data-v-d82b55ac]{color:#f39c12;background:#f39c1229;border:1px solid #f39c125c;box-shadow:0 0 20px #f39c123d}.confirm-icon-wrap.info[data-v-d82b55ac]{color:#3498db;background:#3498db29;border:1px solid #3498db5c;box-shadow:0 0 20px #3498db3d}.confirm-title[data-v-d82b55ac]{color:#fff;letter-spacing:.3px;margin:0 0 8px;font-size:18px;font-weight:700}.confirm-message[data-v-d82b55ac]{color:#c5cbd8;white-space:pre-wrap;word-break:break-word;margin:0 0 22px;font-size:14px;line-height:1.55}.confirm-actions[data-v-d82b55ac]{gap:12px;width:100%;display:flex}.confirm-btn[data-v-d82b55ac]{cursor:pointer;border:none;border-radius:10px;outline:none;flex:1;justify-content:center;align-items:center;min-height:44px;padding:11px 16px;font-size:14px;font-weight:600;transition:all .18s;display:inline-flex}.confirm-btn[data-v-d82b55ac]:active{transform:scale(.97)}.btn-cancel[data-v-d82b55ac]{color:#cfd4e2;background:#ffffff14;border:1px solid #ffffff24}.btn-cancel[data-v-d82b55ac]:hover{color:#fff;background:#ffffff21}.btn-action.danger[data-v-d82b55ac]{color:#fff;background:linear-gradient(135deg,#ff5e57 0%,#d63031 100%);box-shadow:0 4px 14px #d6303166}.btn-action.danger[data-v-d82b55ac]:hover{filter:brightness(1.08);box-shadow:0 6px 18px #d630318c}.btn-action.warning[data-v-d82b55ac]{color:#fff;background:linear-gradient(135deg,#c2410c 0%,#9a3412 100%);box-shadow:0 4px 14px #9a341266}.btn-action.warning[data-v-d82b55ac]:hover{filter:brightness(1.08);box-shadow:0 6px 18px #9a34128c}.btn-action.info[data-v-d82b55ac]{color:#fff;background:linear-gradient(135deg,#2471a3 0%,#1a5276 100%);box-shadow:0 4px 14px #1a527666}.btn-action.info[data-v-d82b55ac]:hover{filter:brightness(1.08);box-shadow:0 6px 18px #1a52768c}.confirm-fade-enter-active[data-v-d82b55ac],.confirm-fade-leave-active[data-v-d82b55ac]{transition:opacity .22s}.confirm-fade-enter-active .confirm-card[data-v-d82b55ac],.confirm-fade-leave-active .confirm-card[data-v-d82b55ac]{transition:transform .22s cubic-bezier(.16,1,.3,1),opacity .22s}.confirm-fade-enter-from[data-v-d82b55ac],.confirm-fade-leave-to[data-v-d82b55ac]{opacity:0}.confirm-fade-enter-from .confirm-card[data-v-d82b55ac],.confirm-fade-leave-to .confirm-card[data-v-d82b55ac]{opacity:0;transform:scale(.92)translateY(10px)}@media (height<=500px){.confirm-card[data-v-d82b55ac]{max-height:94vh;padding:14px 18px 12px;overflow-y:auto}.confirm-icon-wrap[data-v-d82b55ac]{width:40px;height:40px;margin-bottom:6px}.confirm-title[data-v-d82b55ac]{margin:0 0 4px;font-size:16px}.confirm-message[data-v-d82b55ac]{margin:0 0 14px;font-size:13px;line-height:1.4}.confirm-btn[data-v-d82b55ac]{min-height:38px;padding:8px 14px;font-size:13px}}@media (prefers-reduced-motion:reduce){.confirm-overlay[data-v-d82b55ac],.confirm-card[data-v-d82b55ac],.confirm-fade-enter-active[data-v-d82b55ac],.confirm-fade-leave-active[data-v-d82b55ac],.confirm-fade-enter-active .confirm-card[data-v-d82b55ac],.confirm-fade-leave-active .confirm-card[data-v-d82b55ac]{transition:none!important;animation:none!important}}.app[data-v-270757fa]{width:100%;height:100%}:root{color-scheme:dark;--bg-primary:#1a1a2e;--bg-secondary:#16213e;--bg-card:#0f3460;--bg-table:#2d5a3d;--text-primary:#fff;--text-secondary:#a0a0b0;--text-muted:#6c6c80;--accent:#e94560;--accent-hover:#ff5277;--accent-light:#e9456026;--success:#2ecc71;--warning:#f39c12;--danger:#e74c3c;--border:#ffffff1a;--shadow:0 4px 20px #0000004d;--card-w:clamp(68px, 18dvmin, 109px);--card-h:clamp(99px, 26dvmin, 159px);--card-gap:clamp(2px, .5vw, 6px);--card-radius:8px;--suit-red:#e74c3c;--suit-black:#2c3e50;--suit-heart:#e74c3c;--suit-diamond:#e74c3c;--suit-spade:#2c3e50;--suit-club:#2c3e50;--suit-joker:#9b59b6;--table-radius:200px;--seat-w:120px;--seat-h:80px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);-webkit-user-select:none;user-select:none;color-scheme:dark;font-family:PingFang SC,Microsoft YaHei,-apple-system,sans-serif;overflow:hidden}#app{flex-direction:column;width:100vw;height:100vh;display:flex}.app{transition:transform .3s}.app.css-landscape-forced{transform-origin:0 0!important;z-index:9999!important;position:fixed!important;top:0!important;left:0!important;overflow:hidden!important}.btn{cursor:pointer;background:var(--bg-card);color:var(--text-primary);border:none;border-radius:8px;justify-content:center;align-items:center;padding:10px 24px;font-size:16px;font-weight:600;transition:all .2s;display:inline-flex}.btn:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.btn-primary{background:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-success{background:var(--success)}.btn-danger{background:var(--danger)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-sm{padding:6px 14px;font-size:14px}.btn-lg{padding:14px 30px;font-size:18px}.input{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);border-radius:8px;outline:none;padding:10px 16px;font-size:16px;transition:border-color .2s}.input:focus{border-color:var(--accent)}.card-container{background:var(--bg-secondary);box-shadow:var(--shadow);border-radius:12px;padding:20px}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}@media (width<=768px){.btn-lg{padding:13px 28px;font-size:16px}}@media (width<=480px){.btn-lg{padding:12px 20px;font-size:15px}}.hand-cards{scrollbar-width:none}.hand-cards::-webkit-scrollbar:vertical{display:none}.overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}
