.lobby[data-v-6618f805]{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}.sound-toggle[data-v-6618f805]{z-index:10;position:absolute;top:20px;right:20px}.lobby-content[data-v-6618f805]{text-align:center;width:100%;max-width:600px;margin:auto}.title[data-v-6618f805]{letter-spacing:4px;color:var(--text-primary);margin-bottom:20px;font-size:clamp(30px,6vw,42px);font-weight:900}.lobby .card-container[data-v-6618f805]{text-align:left}.tabs[data-v-6618f805]{background:#ffffff0d;border-radius:12px;gap:4px;margin-bottom:22px;padding:4px;display:flex}.tab[data-v-6618f805]{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-6618f805]:hover{color:var(--text-primary)}.tab.active[data-v-6618f805]{color:#fff;background:var(--accent)}.form[data-v-6618f805]{flex-direction:column;gap:16px;display:flex}.form-row[data-v-6618f805]{align-items:center;gap:16px;display:flex}.form-row>label[data-v-6618f805]{text-align:right;width:60px;color:var(--text-secondary);flex-shrink:0;font-size:14px;font-weight:500}.pref-label[data-v-6618f805]{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-6618f805]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.form-row .input[data-v-6618f805]{border-radius:10px;flex:1;min-height:46px}.form-row .input[data-v-6618f805]:focus{border-color:var(--accent)}.custom-round-input[data-v-6618f805]{width:100px;flex:none!important}.round-stepper[data-v-6618f805]{align-items:center;gap:6px;display:inline-flex}.stepper-btn[data-v-6618f805]{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-6618f805]:hover{border-color:var(--accent)}.stepper-btn[data-v-6618f805]:active{background:var(--accent);color:#fff}.auto-fullscreen-row[data-v-6618f805]{margin-top:4px}.option-group[data-v-6618f805]{flex-wrap:wrap;flex:1;gap:8px;display:flex}.option-btn[data-v-6618f805]{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-6618f805]:hover{border-color:var(--accent);color:var(--text-primary)}.option-btn.active[data-v-6618f805]{background:var(--accent);border-color:var(--accent);color:#fff}.invite-applied[data-v-6618f805]{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-6618f805]{color:var(--text-secondary);font-size:13px}.invite-code-text[data-v-6618f805]{color:gold;font-weight:700}.invite-title[data-v-6618f805]{color:#fff;margin-bottom:12px;font-size:18px}.invite-desc[data-v-6618f805]{color:var(--text-secondary);margin-bottom:20px;font-size:13px}.voice-prefs-row[data-v-6618f805]{margin-top:-8px}.voice-prefs[data-v-6618f805]{flex-wrap:wrap;gap:15px;font-size:.9em;display:flex}.form .btn-primary.btn-lg[data-v-6618f805]{border-radius:12px;width:100%;min-height:50px;font-size:16px}.status-container[data-v-6618f805]{flex-direction:column;align-items:center;gap:4px;min-height:24px;margin-top:12px;display:flex}.error-msg[data-v-6618f805]{color:var(--danger);font-size:14px}.connect-status[data-v-6618f805]{color:var(--text-muted);font-size:14px}@media (width<=480px){.lobby[data-v-6618f805]{padding:20px 12px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.lobby .card-container[data-v-6618f805]{padding:16px 14px}.form[data-v-6618f805]{gap:12px}.form-row[data-v-6618f805]{flex-direction:column;align-items:stretch;gap:6px}.form-row>label[data-v-6618f805]{text-align:left;width:auto;font-size:13px}.voice-prefs-row[data-v-6618f805]{margin-top:0}.option-btn[data-v-6618f805]{padding:8px 12px;font-size:14px}.custom-round-input[data-v-6618f805]{width:84px}.sound-toggle[data-v-6618f805]{top:12px;right:12px}}@media (height<=480px){.lobby[data-v-6618f805]{padding-top:12px}.title[data-v-6618f805]{margin-bottom:12px;font-size:24px}.form[data-v-6618f805]{gap:10px}}.room-view[data-v-508c2d5a]{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-508c2d5a]{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-508c2d5a]{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-508c2d5a]:hover{background:#ffffff0f}.config-panel-title[data-v-508c2d5a]{color:var(--text-secondary);font-size:14px;font-weight:600}.config-panel-arrow[data-v-508c2d5a]{color:var(--text-muted);font-size:11px;transition:transform .25s}.config-panel-arrow.expanded[data-v-508c2d5a]{transform:rotate(180deg)}.config-panel-body[data-v-508c2d5a]{border-top:1px solid #ffffff0f;flex-direction:column;gap:12px;padding:4px 16px 14px;display:flex}.cfg-row[data-v-508c2d5a]{align-items:center;gap:12px;display:flex}.cfg-label[data-v-508c2d5a]{text-align:right;color:#a0aec0;flex-shrink:0;width:42px;font-size:13px}.cfg-options[data-v-508c2d5a]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cfg-btn[data-v-508c2d5a]{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-508c2d5a]:hover{border-color:var(--accent);color:var(--text-primary)}.cfg-btn.active[data-v-508c2d5a]{background:var(--accent);border-color:var(--accent);color:#fff}.cfg-input[data-v-508c2d5a]{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-508c2d5a]{align-items:center;gap:6px;display:inline-flex}.cfg-stepper .stepper-btn[data-v-508c2d5a]{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-508c2d5a]:hover{border-color:var(--accent)}.cfg-stepper .stepper-btn[data-v-508c2d5a]:active{background:var(--accent);color:#fff}.cfg-input[data-v-508c2d5a]:focus{border-color:var(--accent)}.cfg-checkbox-label[data-v-508c2d5a]{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.config-panel input[type=checkbox][data-v-508c2d5a]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.config-slide-enter-active[data-v-508c2d5a],.config-slide-leave-active[data-v-508c2d5a]{max-height:300px;transition:max-height .28s,opacity .2s;overflow:hidden}.config-slide-enter-from[data-v-508c2d5a],.config-slide-leave-to[data-v-508c2d5a]{opacity:0;max-height:0}.room-header[data-v-508c2d5a]{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-508c2d5a]{gap:8px;display:flex}.room-info[data-v-508c2d5a]{flex-direction:column;gap:4px;display:flex}.room-id-wrapper[data-v-508c2d5a]{align-items:center;gap:12px;display:flex}.room-id[data-v-508c2d5a]{color:var(--accent);font-size:20px;font-weight:700}.share-btn[data-v-508c2d5a]{color:var(--accent);background:#e945601a;border:1px solid #e945604d;border-radius:12px;padding:4px 10px;font-size:12px}.share-btn[data-v-508c2d5a]:hover{background:#e9456033}.room-config[data-v-508c2d5a]{color:var(--text-secondary);font-size:13px}.players-grid[data-v-508c2d5a]{flex:1;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-content:center;gap:12px;width:100%;max-width:1000px;margin:0 auto;padding:6px 0;display:grid}.seat-card[data-v-508c2d5a]{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-508c2d5a]{cursor:pointer}.seat-card.clickable[data-v-508c2d5a]:hover{background:#ffffff1a;border-color:#fff6}.seat-card.mine[data-v-508c2d5a]{border-color:var(--accent)}.seat-card.empty[data-v-508c2d5a]{opacity:.5;background:#ffffff08;border-style:dashed;justify-content:center}.seat-avatar-wrapper[data-v-508c2d5a]{position:relative}.seat-avatar[data-v-508c2d5a]{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-508c2d5a]{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-508c2d5a]{background:#2ecc71;border-color:#27ae60;animation:1s infinite alternate pulse}.voice-muted[data-v-508c2d5a]: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-508c2d5a]{font-size:15px;font-weight:600}.seat-tags[data-v-508c2d5a]{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.tag[data-v-508c2d5a]{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.tag-host[data-v-508c2d5a]{color:var(--accent);background:#e9456033}.tag-ready[data-v-508c2d5a]{color:var(--success);background:#2ecc7133}.tag-not-ready[data-v-508c2d5a]{color:var(--text-muted);background:#6c6c8033}.tag-offline[data-v-508c2d5a]{color:var(--danger);background:#e74c3c33}.seat-score[data-v-508c2d5a]{color:var(--text-secondary);font-size:12px}.seat-empty-icon[data-v-508c2d5a]{color:var(--text-muted);font-size:32px}.seat-empty-text[data-v-508c2d5a]{color:#64748b;font-size:14px}.spectators-area[data-v-508c2d5a]{background:#ffffff0d;border-radius:12px;width:100%;max-width:1000px;margin:16px auto 0;padding:12px}.spectators-title[data-v-508c2d5a]{color:#94a3b8;margin-bottom:8px;font-size:14px}.spectators-list[data-v-508c2d5a]{flex-wrap:wrap;gap:12px;display:flex}.spectator-item[data-v-508c2d5a]{flex-direction:column;align-items:center;gap:4px;width:50px;display:flex}.spectator-item .seat-avatar.small[data-v-508c2d5a]{width:40px;height:40px;font-size:18px}.spectator-item .seat-name[data-v-508c2d5a]{text-overflow:ellipsis;white-space:nowrap;text-align:center;width:100%;font-size:12px;overflow:hidden}.error-container[data-v-508c2d5a]{justify-content:center;align-items:center;width:100%;max-width:1000px;min-height:40px;margin:0 auto 12px;display:flex}.error-banner[data-v-508c2d5a]{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-508c2d5a]{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-508c2d5a]{flex:0 240px;min-height:52px}@media (width<=480px){.room-view[data-v-508c2d5a]{padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.room-header[data-v-508c2d5a]{margin-bottom:12px}.room-id[data-v-508c2d5a]{font-size:17px}.room-config[data-v-508c2d5a]{font-size:12px}.players-grid[data-v-508c2d5a]{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.seat-card[data-v-508c2d5a]{min-height:104px;padding:10px}.seat-avatar[data-v-508c2d5a]{width:42px;height:42px;font-size:18px}.seat-name[data-v-508c2d5a]{font-size:13px}.cfg-label[data-v-508c2d5a]{width:36px}.cfg-btn[data-v-508c2d5a]{padding:5px 9px;font-size:12px}.room-actions[data-v-508c2d5a]{gap:10px;padding:14px 0 4px}.room-actions .btn-lg[data-v-508c2d5a]{flex:auto;min-height:48px}}@media (height<=480px){.room-view[data-v-508c2d5a]{padding-top:10px}.room-header[data-v-508c2d5a]{margin-bottom:10px}.players-grid[data-v-508c2d5a]{gap:8px}.seat-card[data-v-508c2d5a]{min-height:100px;padding:8px}.room-actions[data-v-508c2d5a]{padding:8px 0 4px}.room-actions .btn-lg[data-v-508c2d5a]{min-height:42px}}.hud-left[data-v-cb028f65]{z-index:20;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;top:12px;left:12px}.hud-left[data-v-cb028f65]>*{pointer-events:auto}.hud-badge[data-v-cb028f65]{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-cb028f65]{color:#fff;background:#e9456099;border:1px solid #e94560cc}.hud-right[data-v-cb028f65]{z-index:100;flex-direction:column;align-items:flex-end;display:flex;position:absolute;top:12px;right:12px}.menu-toggle-btn[data-v-cb028f65]{z-index:101;background:#0009;align-items:center;gap:4px;padding:6px 12px;font-size:13px;display:flex}.menu-icon[data-v-cb028f65]{font-size:16px}.dropdown-backdrop[data-v-cb028f65]{z-index:99;width:100vw;height:100vh;position:fixed;top:0;left:0}.dropdown-menu[data-v-cb028f65]{background:var(--bg-secondary);border:1px solid var(--border);z-index:101;border-radius:8px;flex-direction:column;min-width:130px;margin-top:8px;padding:6px 0;animation:.2s ease-out slideDown-cb028f65;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #0009}@keyframes slideDown-cb028f65{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item[data-v-cb028f65]{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-cb028f65]:hover{background:#ffffff1a}.dropdown-divider[data-v-cb028f65]{background:var(--border);height:1px;margin:4px 0}.text-danger[data-v-cb028f65]{color:#ff6b6b}.btn-hud[data-v-cb028f65]{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-cb028f65]:hover{background:#ffffff26}.table-bg[data-v-409055b7]{z-index:0;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.poker-table-svg[data-v-409055b7]{filter:drop-shadow(0 24px 40px #00000059);width:100%;height:100%;display:block}.poker-table-text[data-v-409055b7]{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.table-center-text[data-v-409055b7]{fill:#f4e8c899;stroke:#f4e8c899;stroke-width:2.6px;paint-order:stroke fill;stroke-linejoin:round}.table-center-text path[data-v-409055b7]{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-c8674f2e]{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-c8674f2e],.bottom-bar>.hand-cards[data-v-c8674f2e],.action-bar[data-v-c8674f2e]>*{pointer-events:auto}.action-bar[data-v-c8674f2e]{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-c8674f2e]{flex-wrap:wrap;gap:16px;display:flex}@media (width<=768px){.play-actions[data-v-c8674f2e]{gap:12px}}@media (width<=480px){.play-actions[data-v-c8674f2e]{justify-content:center;gap:8px;width:100%}}.btn-hint[data-v-c8674f2e]{background:var(--success,#2ecc71);border:1px solid var(--success,#2ecc71);color:#fff}.btn-hint[data-v-c8674f2e]:hover{background:#27ae60}.btn-pass[data-v-c8674f2e]{background:var(--warning,#f1c40f);border:1px solid var(--warning,#f1c40f);color:#000}.btn-pass[data-v-c8674f2e]:hover{background:#f39c12}.pass-text[data-v-c8674f2e]{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-c8674f2e]{color:#fc0;text-shadow:0 2px 4px #000c,0 0 10px #ffcc0080}.my-play-center[data-v-c8674f2e]{z-index:15;flex-direction:row;justify-content:center;align-items:center;display:flex;position:absolute;bottom:10px}.my-play-center[data-v-c8674f2e] .playing-card{border-radius:5px;width:48px;height:68px}.my-play-center[data-v-c8674f2e] .playing-card+.playing-card{margin-left:-24px}.my-position-badge[data-v-c8674f2e]{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}.concede-confirm-overlay[data-v-c8674f2e]{z-index:1000;pointer-events:auto;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.concede-confirm-box[data-v-c8674f2e]{border:1px solid var(--border);text-align:center;background:#1e1e1e;border-radius:12px;width:90%;max-width:320px;padding:24px;box-shadow:0 8px 24px #0006}.concede-confirm-text[data-v-c8674f2e]{color:var(--text-main);margin-bottom:24px;font-size:16px;line-height:1.5}.concede-confirm-actions[data-v-c8674f2e]{justify-content:space-between;gap:16px;display:flex}.concede-confirm-actions .btn[data-v-c8674f2e]{border-radius:8px;flex:1;padding:10px 0;font-size:16px}.concede-confirm-actions .btn-outline[data-v-c8674f2e]{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.concede-confirm-actions .btn-danger[data-v-c8674f2e]{color:#fff;background:#dc3545;border:none}.my-info[data-v-c8674f2e]{z-index:6;align-items:center;gap:8px;display:flex;position:absolute;bottom:4px;left:8px}.my-avatar[data-v-c8674f2e]{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-c8674f2e]{flex-direction:column;line-height:1.2;display:flex}.my-name[data-v-c8674f2e]{color:#ffffffe6;white-space:nowrap;font-size:13px;font-weight:600}.my-score[data-v-c8674f2e]{color:#f1c40f;text-shadow:0 1px 2px #00000080;font-size:14px;font-weight:800}.my-faction[data-v-c8674f2e]{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-c8674f2e]{background:var(--accent)}.my-faction.gu[data-v-c8674f2e]{background:var(--success)}.my-suits[data-v-c8674f2e]{gap:4px;margin-left:4px;display:flex}.my-suits .suit-mark[data-v-c8674f2e]{font-size:15px;line-height:1;transition:all .3s;color:#ffffff26!important}.my-suits .suit-mark.active[data-v-c8674f2e]{transform:scale(1.2)}.my-suits .suit-mark.spade.active[data-v-c8674f2e],.my-suits .suit-mark.club.active[data-v-c8674f2e]{text-shadow:0 0 2px #ffffffb3;color:#1a1a1a!important}.my-suits .suit-mark.heart.active[data-v-c8674f2e],.my-suits .suit-mark.diamond.active[data-v-c8674f2e]{text-shadow:0 0 8px #ff4757cc;color:#ff4757!important}.spectating-banner[data-v-c8674f2e]{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-c8674f2e]{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-c8674f2e] .playing-card+.playing-card{margin-left:calc(var(--card-w) * -.55)}.hand-cards[data-v-c8674f2e] .playing-card{flex-shrink:0;transition:transform .15s}.hand-cards[data-v-c8674f2e] .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-736219ca]{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-736219ca]{gap:6px;max-height:90%;padding:12px 16px}}.game-over-title[data-v-736219ca]{color:var(--accent);font-size:24px;font-weight:900}.game-over-subtitle[data-v-736219ca]{color:var(--text-secondary);margin-top:-6px;font-size:14px}@media (height<=700px){.game-over-title[data-v-736219ca]{font-size:20px}}.rankings[data-v-736219ca]{flex-direction:column;flex:auto;gap:4px;width:100%;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.ranking-item[data-v-736219ca]{background:var(--bg-card);border-radius:8px;align-items:center;gap:12px;padding:8px 16px;display:flex}.ranking-item.first[data-v-736219ca]{border:1px solid var(--warning);background:linear-gradient(135deg,#f1c40f33,#e67e2233)}.rank-num[data-v-736219ca]{color:var(--warning);width:24px;font-size:18px;font-weight:900}.rank-name[data-v-736219ca]{flex:1;font-weight:600}.rank-score[data-v-736219ca]{color:var(--text-secondary);font-size:14px}.game-over-actions[data-v-736219ca]{flex-shrink:0;gap:12px;width:100%;margin-top:16px;display:flex}.action-btn[data-v-736219ca]{white-space:nowrap;flex:1;padding:8px 4px;font-size:13px}.btn-hold-hide[data-v-736219ca]{-webkit-user-select:none;user-select:none;touch-action:none}.game-over-overlay.is-hidden[data-v-736219ca]{pointer-events:none;backdrop-filter:none!important;background:0 0!important}.game-over-overlay.is-hidden .game-over-card[data-v-736219ca]{pointer-events:none;box-shadow:none!important;background:0 0!important;border:none!important}.game-over-overlay.is-hidden .game-over-title[data-v-736219ca],.game-over-overlay.is-hidden .game-over-subtitle[data-v-736219ca],.game-over-overlay.is-hidden .rankings[data-v-736219ca],.game-over-overlay.is-hidden .action-btn[data-v-736219ca]:not(.btn-hold-hide){opacity:0!important;pointer-events:none!important}.game-over-overlay.is-hidden .btn-hold-hide[data-v-736219ca]{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-5a8833d0]{background:radial-gradient(#1f2a44 0%,#0f1626 100%);flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.game-table[data-v-5a8833d0]{flex:1;min-height:0;padding:4px;position:relative}.seat-slot[data-v-5a8833d0]{width:auto;position:absolute}.seat-slot[data-v-5a8833d0] .player-seat{min-width:92px}.near-play[data-v-5a8833d0]{z-index:5;flex-direction:row;justify-content:center;align-items:center;padding:2px;display:flex;position:absolute}.near-top[data-v-5a8833d0]{top:90px;left:50%;transform:translate(-50%)}.near-right[data-v-5a8833d0]{top:50%;right:95px;transform:translateY(-50%)}.near-left[data-v-5a8833d0]{top:50%;left:95px;transform:translateY(-50%)}.seat-action-text[data-v-5a8833d0]{z-index:10;justify-content:center;align-items:center;display:flex;position:absolute}.seat-action-text.near-top[data-v-5a8833d0]{top:90px;left:50%;transform:translate(-50%)}.seat-action-text.near-right[data-v-5a8833d0]{top:50%;right:90px;transform:translateY(-50%)}.seat-action-text.near-left[data-v-5a8833d0]{top:50%;left:90px;transform:translateY(-50%)}.near-play[data-v-5a8833d0] .playing-card{border-radius:5px;width:42px;height:60px}.near-play[data-v-5a8833d0] .playing-card+.playing-card{margin-left:-18px}.center-area[data-v-5a8833d0]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.waiting-text[data-v-5a8833d0]{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-5a8833d0]{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-5a8833d0]{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite reconnect-spin-5a8833d0}@keyframes reconnect-spin-5a8833d0{to{transform:rotate(360deg)}}.pass-text[data-v-5a8833d0]{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-5a8833d0]{color:#fc0;text-shadow:0 2px 4px #000c,0 0 10px #ffcc0080}.remaining-cards[data-v-5a8833d0]{flex-direction:row;align-items:center;gap:4px;display:flex}.remaining-label[data-v-5a8833d0]{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-5a8833d0]{margin-bottom:0;margin-right:4px}.near-left .remaining-cards[data-v-5a8833d0]{flex-direction:column;align-items:flex-start}.near-left .remaining-label[data-v-5a8833d0]{margin-bottom:4px;margin-right:0}.near-right .remaining-cards[data-v-5a8833d0]{flex-direction:column;align-items:flex-end}.near-right .remaining-label[data-v-5a8833d0]{margin-bottom:4px;margin-right:0}.remaining-cards[data-v-5a8833d0] .playing-card{border-radius:4px;width:32px;height:46px}.remaining-cards[data-v-5a8833d0] .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-824c099c]{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-824c099c]{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-824c099c]{align-items:center;gap:12px;display:flex}.logo-badge[data-v-824c099c]{font-size:24px}.header-title[data-v-824c099c]{margin:0;font-size:18px;font-weight:700}.status-chip[data-v-824c099c]{color:#e74c3c;background:#e74c3c33;border-radius:12px;padding:4px 10px;font-size:12px}.status-chip.online[data-v-824c099c]{color:#2ecc71;background:#2ecc7133}.header-right[data-v-824c099c]{align-items:center;gap:16px;display:flex}.token-field[data-v-824c099c]{color:var(--text-secondary,#a0a0b0);align-items:center;gap:8px;font-size:14px;display:flex}.token-input[data-v-824c099c]{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-824c099c]{align-items:center;gap:8px;display:flex}.select-input[data-v-824c099c]{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-824c099c]{animation:1s linear infinite spin-824c099c;display:inline-block}@keyframes spin-824c099c{to{transform:rotate(360deg)}}.admin-nav[data-v-824c099c]{background:var(--bg-secondary,#16213e);border-bottom:1px solid var(--border,#ffffff1a);gap:8px;padding:12px 24px 0;display:flex}.nav-tab[data-v-824c099c]{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-824c099c]:hover{color:#fff;background:#ffffff0d}.nav-tab.active[data-v-824c099c]{color:var(--accent,#e94560);background:var(--bg-primary,#1a1a2e);border-bottom:2px solid var(--accent,#e94560)}.error-banner[data-v-824c099c]{color:#fff;background:#e74c3c;justify-content:space-between;align-items:center;padding:10px 24px;font-size:14px;display:flex}.close-btn[data-v-824c099c]{color:#fff;cursor:pointer;background:0 0;border:none;font-size:16px}.admin-main[data-v-824c099c]{flex:1;padding:24px;overflow-y:auto}.metrics-grid[data-v-824c099c]{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px;display:grid}.metric-card[data-v-824c099c]{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-824c099c]{font-size:32px}.metric-label[data-v-824c099c]{color:var(--text-secondary,#a0a0b0);font-size:13px}.metric-value[data-v-824c099c]{margin:4px 0;font-size:20px;font-weight:700}.metric-value.highlight[data-v-824c099c]{color:var(--accent,#e94560)}.metric-value.text-gold[data-v-824c099c]{color:#f1c40f}.metric-sub[data-v-824c099c]{color:var(--text-muted,#6c6c80);font-size:12px}.state-card[data-v-824c099c]{background:var(--bg-secondary,#16213e);border-radius:12px;padding:20px}.section-title[data-v-824c099c]{margin-bottom:16px;font-size:16px}.state-badges[data-v-824c099c]{flex-wrap:wrap;gap:12px;display:flex}.state-pill[data-v-824c099c]{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-824c099c]{background:#fff3;border-radius:10px;padding:2px 8px;font-size:13px}.toolbar[data-v-824c099c]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.search-input[data-v-824c099c]{width:320px}.toolbar-info[data-v-824c099c]{color:var(--text-secondary,#a0a0b0);font-size:14px}.table-wrapper[data-v-824c099c]{background:var(--bg-secondary,#16213e);border:1px solid var(--border,#ffffff1a);border-radius:12px;overflow:auto}.mini-table-wrapper[data-v-824c099c]{max-height:240px}.admin-table[data-v-824c099c]{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.admin-table th[data-v-824c099c],.admin-table td[data-v-824c099c]{border-bottom:1px solid var(--border,#ffffff0d);padding:14px 18px}.mini-table th[data-v-824c099c],.mini-table td[data-v-824c099c]{padding:8px 12px;font-size:13px}.admin-table th[data-v-824c099c]{background:var(--bg-card,#0f3460);color:var(--text-secondary,#a0a0b0);font-weight:600}.font-mono[data-v-824c099c]{font-family:monospace}.player-chips[data-v-824c099c]{flex-wrap:wrap;gap:6px;display:flex}.player-mini-tag[data-v-824c099c]{background:#ffffff1a;border-radius:4px;padding:2px 8px;font-size:12px}.player-mini-tag.offline[data-v-824c099c]{opacity:.5;text-decoration:line-through}.spectator-tag[data-v-824c099c]{color:#f1c40f;background:#f1c40f2e;border:1px solid #f1c40f59}.watching-tag[data-v-824c099c]{color:#ffffffd9;opacity:.9;margin-left:4px;font-size:11px}.spectators-section[data-v-824c099c]{background:#f1c40f0f;border:1px solid #f1c40f33;border-radius:10px;padding:14px}.spectators-section h3[data-v-824c099c]{margin-bottom:10px;font-size:15px}.badge[data-v-824c099c]{border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.badge-info[data-v-824c099c]{color:#fff;background:#3498db}.badge-success[data-v-824c099c]{color:#fff;background:#2ecc71}.badge-warning[data-v-824c099c]{color:#fff;background:#f39c12}.badge-purple[data-v-824c099c]{color:#fff;background:#9b59b6}.badge-muted[data-v-824c099c]{color:#fff;background:#7f8c8d}.btn-group[data-v-824c099c]{gap:6px;display:flex}.btn-outline[data-v-824c099c]{border:1px solid var(--border,#fff3);color:var(--text-primary,#fff);background:0 0}.btn-outline[data-v-824c099c]:hover{background:#ffffff1a}.broadcast-card[data-v-824c099c]{background:var(--bg-secondary,#16213e);border-radius:12px;max-width:600px;padding:24px}.form-group[data-v-824c099c]{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.textarea[data-v-824c099c]{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-824c099c]{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-824c099c]{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-824c099c]{background:var(--bg-card,#0f3460);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.modal-header h2[data-v-824c099c]{margin:0;font-size:18px}.modal-close[data-v-824c099c]{color:#fff;cursor:pointer;background:0 0;border:none;font-size:20px}.modal-subnav[data-v-824c099c]{border-bottom:1px solid var(--border,#ffffff1a);background:#0003;display:flex}.subnav-tab[data-v-824c099c]{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-824c099c]{color:#fff;border-bottom-color:var(--accent,#e94560);background:#ffffff0d}.modal-body[data-v-824c099c]{flex-direction:column;flex:1;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.summary-box[data-v-824c099c]{background:#0f346099;border:1px solid #ffffff14;border-radius:8px;padding:12px 16px}.bids-chip-list[data-v-824c099c]{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.bid-chip[data-v-824c099c]{background:#0003;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.inline-cards-span[data-v-824c099c]{align-items:center;gap:2px;margin-left:4px;display:inline-flex}.finish-rank-list[data-v-824c099c]{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.rank-tag[data-v-824c099c]{color:#f1c40f;background:#f1c40f26;border:1px solid #f1c40f4d;border-radius:6px;padding:4px 10px;font-size:13px}.rank-mini-tag[data-v-824c099c]{background:#ffffff14;border-radius:4px;margin-right:6px;padding:2px 8px;font-size:12px}.room-meta-grid[data-v-824c099c]{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-824c099c]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:10px;display:grid}.player-card[data-v-824c099c]{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-824c099c]{border-color:#f1c40f;box-shadow:0 0 10px #f1c40f4d}.player-card-header[data-v-824c099c]{align-items:center;gap:8px;font-weight:700;display:flex}.seat-badge[data-v-824c099c]{background:#34495e;border-radius:4px;padding:2px 6px;font-size:11px}.host-tag[data-v-824c099c]{background:var(--accent,#e94560);border-radius:4px;padding:2px 6px;font-size:11px}.online-tag[data-v-824c099c]{margin-left:auto;font-size:11px}.online-tag.online[data-v-824c099c]{color:#2ecc71}.online-tag.offline[data-v-824c099c]{color:#e74c3c}.player-card-stats[data-v-824c099c]{align-items:center;gap:12px;font-size:13px;display:flex}.faction-tag[data-v-824c099c]{background:#8e44ad;border-radius:4px;padding:2px 6px;font-size:11px}.turn-tag[data-v-824c099c]{color:#f1c40f;font-size:12px;font-weight:700}.cards-block[data-v-824c099c]{font-size:12px}.block-title[data-v-824c099c]{color:var(--text-secondary,#a0a0b0);margin-bottom:4px;font-size:12px}.card-list[data-v-824c099c]{flex-wrap:wrap;gap:4px;display:flex}.mini-card[data-v-824c099c]{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-824c099c]{color:#e74c3c}.mini-card.suit-black[data-v-824c099c]{color:#2c3e50}.mini-card.suit-joker-big[data-v-824c099c]{color:#fff;background:#f34;border:1px solid #d50000;box-shadow:0 0 6px #f349}.mini-card.suit-joker-small[data-v-824c099c]{color:#fff;background:#8e24aa;border:1px solid #4a148c;box-shadow:0 0 6px #8e24aa99}.mini-card-ghost[data-v-824c099c]{opacity:.85;border:1px dashed #0003}.history-rounds-list[data-v-824c099c]{flex-direction:column;gap:16px;display:flex}.round-history-card[data-v-824c099c]{background:#00000040;border:1px solid #ffffff1a;border-radius:12px;padding:16px}.round-card-header[data-v-824c099c]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.round-card-header h4[data-v-824c099c]{margin:0;font-size:15px}.toggle-detail-btn[data-v-824c099c]{margin-left:auto}.round-scores-grid[data-v-824c099c]{background:#ffffff08;border-radius:8px;flex-wrap:wrap;gap:12px;margin-bottom:10px;padding:10px 14px;display:flex}.history-finish-order[data-v-824c099c]{margin-bottom:8px;font-size:13px}.round-expand-body[data-v-824c099c]{border-top:1px dashed #ffffff1a;flex-direction:column;gap:12px;margin-top:14px;padding-top:14px;display:flex}.score-pill[data-v-824c099c]{font-size:13px}.score-pname[data-v-824c099c]{color:var(--text-secondary,#a0a0b0);margin-right:4px}.score-val[data-v-824c099c]{font-weight:700}.text-green[data-v-824c099c]{color:#2ecc71}.text-red[data-v-824c099c]{color:#e74c3c}.font-bold[data-v-824c099c]{font-weight:700}.history-initial-hands[data-v-824c099c],.history-play-logs[data-v-824c099c],.history-bids[data-v-824c099c]{margin-top:8px}.init-hands-grid[data-v-824c099c]{flex-direction:column;gap:6px;display:flex}.init-hand-item[data-v-824c099c]{align-items:center;gap:8px;font-size:12px;display:flex}.init-player-name[data-v-824c099c]{width:90px;color:var(--text-secondary,#a0a0b0);font-weight:600}.modal-footer[data-v-824c099c]{background:var(--bg-card,#0f3460);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.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-3cf4c5b8]{z-index:9999;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast-item[data-v-3cf4c5b8]{pointer-events:auto;color:#fff;backdrop-filter:blur(6px);cursor:pointer;background:#000000d1;border:1px solid #ffffff1f;border-radius:10px;max-width:80vw;padding:10px 18px;font-size:14px;line-height:1.4;box-shadow:0 4px 18px #00000059}.toast-item.success[data-v-3cf4c5b8]{background:#2ecc71eb}.toast-item.warning[data-v-3cf4c5b8]{color:#222;background:#f1c40ff2}.toast-item.error[data-v-3cf4c5b8]{background:#e74c3ceb}.toast-enter-active[data-v-3cf4c5b8],.toast-leave-active[data-v-3cf4c5b8]{transition:all .3s}.toast-enter-from[data-v-3cf4c5b8],.toast-leave-to[data-v-3cf4c5b8]{opacity:0;transform:translateY(-12px)}.app[data-v-908d17c8]{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}
