.auth[data-v-b33f354c]{background:radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--primary) 16%, transparent), transparent 40%), radial-gradient(circle at 85% 80%, color-mix(in srgb, var(--success) 16%, transparent), transparent 40%);grid-template-columns:minmax(0,460px) minmax(0,380px);place-content:center;place-items:center;gap:24px;min-height:100%;padding:32px 16px;display:grid}.theme[data-v-b33f354c]{position:fixed;top:16px;right:16px}.hero h1[data-v-b33f354c]{letter-spacing:-.02em;font-size:clamp(32px,5vw,48px)}.hero p[data-v-b33f354c]{color:var(--muted);max-width:420px;font-size:16px;line-height:1.6}.suits[data-v-b33f354c]{gap:10px;margin-bottom:10px;font-size:38px;display:flex}.suits .r[data-v-b33f354c]{color:var(--ink-H)}.card-form[data-v-b33f354c]{flex-direction:column;gap:14px;width:100%;display:flex}.error[data-v-b33f354c]{color:var(--danger);margin:0;font-weight:500}@media (width<=800px){.auth[data-v-b33f354c]{grid-template-columns:minmax(0,420px)}.hero[data-v-b33f354c]{text-align:center}.hero p[data-v-b33f354c]{margin-inline:auto}.suits[data-v-b33f354c]{justify-content:center}}.avatar[data-v-007f0f89]{background:hsl(var(--hue) 62% 52%);color:#fff;box-shadow:0 0 0 2px var(--surface);border-radius:50%;flex:none;place-items:center;font-weight:700;line-height:1;display:inline-grid;overflow:hidden}.avatar img[data-v-007f0f89]{object-fit:cover;width:100%;height:100%}.avatar.bot[data-v-007f0f89]{background:linear-gradient(135deg,#6b7cff,#9b5cf6)}.lobby[data-v-0949459a]{flex-direction:column;gap:16px;max-width:1100px;margin:0 auto;display:flex}.lobby-head[data-v-0949459a]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.lobby-head h1[data-v-0949459a]{margin-bottom:4px;font-size:26px}.lobby-head p[data-v-0949459a]{max-width:560px;margin:0}.my-stats[data-v-0949459a]{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.stat[data-v-0949459a]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.stat b[data-v-0949459a]{font-size:20px}.table-list[data-v-0949459a]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.table-card[data-v-0949459a]{flex-direction:column;gap:10px;padding:16px;display:flex}.table-card h3[data-v-0949459a]{margin:0;font-size:16px}.compass[data-v-0949459a]{grid-template-columns:1fr auto 1fr;grid-template-areas:".n.""w c e"".s.";place-items:center;gap:8px;padding:6px 0;display:grid}.pos-N[data-v-0949459a]{grid-area:n}.pos-S[data-v-0949459a]{grid-area:s}.pos-W[data-v-0949459a]{grid-area:w}.pos-E[data-v-0949459a]{grid-area:e}.felt-mini[data-v-0949459a]{background:var(--felt);color:#ffffffb3;border-radius:14px;grid-area:c;place-items:center;width:54px;height:54px;font-size:22px;display:grid}.seat[data-v-0949459a]{text-align:center;flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.seat-name[data-v-0949459a]{text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-size:12px;font-weight:600;overflow:hidden}.empty-seat[data-v-0949459a]{color:var(--muted);font-size:12px}.empty[data-v-0949459a]{text-align:center;grid-column:1/-1}.empty .big[data-v-0949459a]{opacity:.4;font-size:48px}.players[data-v-0949459a]{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.player[data-v-0949459a]{align-items:center;gap:12px;padding:12px;display:flex}.grow[data-v-0949459a]{flex:1;min-width:0}tr.me td[data-v-0949459a]{background:var(--primary-soft)}@media (width<=640px){.my-stats[data-v-0949459a]{grid-template-columns:repeat(2,1fr)}.table-list[data-v-0949459a]{grid-template-columns:1fr}}.suit-icon[data-v-e7e5cf29]{fill:currentColor;display:block;overflow:visible}.chip[data-v-1716ba97]{--h:26px;width:calc(var(--h) * .78);height:var(--h);font-weight:800;font-size:calc(var(--h) * .5);color:#1b2233;cursor:default;border-radius:4px;flex:none;place-items:center;line-height:1;display:inline-grid;position:relative;overflow:visible;box-shadow:0 1px 3px #0006}.pass[data-v-1716ba97]{background:#ffeb3b}.pass .rot[data-v-1716ba97]{font-size:calc(var(--h) * .43);transform:rotate(-60deg)}.dbl[data-v-1716ba97]{color:#fff;font-size:calc(var(--h) * .6);background:#e53935}.rdbl[data-v-1716ba97]{color:#fff;font-size:calc(var(--h) * .46);letter-spacing:-.04em;background:#1e63d6}.nt[data-v-1716ba97]{color:#7a1d12;font-size:calc(var(--h) * .54);background:#ff9f43;border:1px solid #c0392b;line-height:.9}.nt small[data-v-1716ba97]{font-size:calc(var(--h) * .36)}.suit[data-v-1716ba97]{background:#fff}.suit[data-v-1716ba97]:has(.suit-C){background:#dcf2e1}.suit[data-v-1716ba97]:has(.suit-D){background:#ffe9cc}.suit>.suit-icon[data-v-1716ba97]{grid-area:1/1;width:96%;height:96%}.suit>b[data-v-1716ba97]{color:#fff;font-size:calc(var(--h) * .46);text-shadow:0 0 2px #000;grid-area:1/1;padding-top:12%}:is(.suit:has(.suit-H)>b[data-v-1716ba97],.suit:has(.suit-D)>b[data-v-1716ba97]){color:#111;text-shadow:0 0 2px #fffc}sup[data-v-1716ba97]{color:#ffb300;text-shadow:0 0 2px #000;font-size:12px;position:absolute;top:-5px;right:-4px}@media (width>=900px){.chip[data-v-1716ba97]{--h:32px}}.seat-info[data-v-11b598db]{color:#e8efe9;gap:6px;min-width:0;display:flex}.horizontal[data-v-11b598db]{background:#0003;border:1px solid #00000059;border-radius:6px;flex-flow:wrap;justify-content:center;align-items:center;padding:4px 8px}.vertical[data-v-11b598db]{flex-direction:column;align-items:center;padding:6px 3px}.ids[data-v-11b598db]{align-items:center;gap:6px;display:flex}.vertical .ids[data-v-11b598db]{flex-direction:column;gap:5px}.calls[data-v-11b598db]{gap:4px;display:flex}.horizontal .calls[data-v-11b598db]{flex-wrap:wrap}.vertical .calls[data-v-11b598db]{flex-direction:column;align-items:center;gap:5px}svg[data-v-11b598db]{fill:currentColor;width:100%;height:100%;display:block}.dir[data-v-11b598db]{border:1px solid color-mix(in srgb, var(--seat) 60%, transparent);color:var(--seat);cursor:help;font:inherit;background:#00000040;border-radius:6px;place-items:center;padding:2px;display:inline-grid;position:relative}.dir svg[data-v-11b598db]{width:24px;height:24px}.dir.vul[data-v-11b598db]{color:#fff;background:#c62828;border-color:#ff8a80}.zon[data-v-11b598db]{color:#c62828;background:#fff;border-radius:50%;place-items:center;width:13px;height:13px;font-size:9px;font-weight:900;display:grid;position:absolute;top:-6px;right:-6px}.who[data-v-11b598db]{width:22px;height:22px;color:var(--seat);cursor:help;outline:none}.who.empty[data-v-11b598db]{opacity:.35}.who.off[data-v-11b598db]{opacity:.5}.who.bot[data-v-11b598db]{filter:drop-shadow(0 0 2px #fff)}.name[data-v-11b598db]{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:14px;font-weight:700;overflow:hidden}.mark[data-v-11b598db]{color:#e8efe9;width:18px;height:18px}.mark.turn[data-v-11b598db]{color:#ffd54a;animation:1.2s ease-in-out infinite pulse-11b598db}@keyframes pulse-11b598db{50%{transform:scale(1.18)}}.hcp[data-v-11b598db]{color:#c9d4cc;white-space:nowrap;font-size:12px}.suggest[data-v-11b598db]{cursor:help;background:#ffd54a1f;border:1px dashed #ffd54a;border-radius:6px;align-items:center;padding:2px 4px 2px 2px;display:inline-flex;position:relative}.suggest .bulb[data-v-11b598db]{margin-right:2px;font-size:13px;line-height:1}.vertical .hcp small[data-v-11b598db]{font-size:9px;display:block}.sit[data-v-11b598db]{color:#fff;cursor:pointer;background:#2e9e5b;border:0;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.vertical .sit[data-v-11b598db]{writing-mode:vertical-rl;padding:3px 4px;font-size:11px}@media (width>=900px){.who[data-v-11b598db]{width:28px;height:28px}.dir svg[data-v-11b598db]{width:30px;height:30px}.mark[data-v-11b598db]{width:22px;height:22px}.name[data-v-11b598db]{max-width:200px;font-size:15px}.hcp[data-v-11b598db]{font-size:13px}}.auction[data-v-0f82bb55]{width:100%}.auction-grid[data-v-0f82bb55]{background:var(--surface);border-radius:10px;grid-template-columns:repeat(4,1fr);gap:2px;display:grid;overflow:hidden}.head[data-v-0f82bb55]{text-align:center;background:var(--nonvul);color:#fff;flex-direction:column;padding:6px 4px;font-size:12px;line-height:1.2;display:flex}.head.vul[data-v-0f82bb55]{background:var(--vul)}.head .who[data-v-0f82bb55]{opacity:.85;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.cell[data-v-0f82bb55]{text-align:center;background:var(--surface-2);place-items:center;min-height:30px;padding:3px 0;display:grid}.call[data-v-0f82bb55]{cursor:default;border-radius:6px;padding:3px 8px;font-size:15px;font-weight:800}.call.alerted[data-v-0f82bb55]{background:color-mix(in srgb, var(--warning) 22%, transparent)}.call sup[data-v-0f82bb55]{color:var(--warning)}.pending[data-v-0f82bb55]{color:var(--muted);font-weight:800;animation:1.2s infinite blink-0f82bb55}@keyframes blink-0f82bb55{50%{opacity:.3}}.bidding-box[data-v-1653bfee]{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:14px;flex-direction:column;gap:8px;width:min(360px,100%);padding:10px;display:flex}.levels[data-v-1653bfee],.strains[data-v-1653bfee],.specials[data-v-1653bfee]{gap:6px;display:grid}.levels[data-v-1653bfee]{grid-template-columns:repeat(7,1fr)}.strains[data-v-1653bfee]{grid-template-columns:repeat(5,1fr)}.specials[data-v-1653bfee]{grid-template-columns:1fr 1fr 1fr auto}button[data-v-1653bfee]{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:9px;padding:9px 0;font-size:15px;font-weight:800;transition:transform 80ms,background .12s}button[data-v-1653bfee]:hover:not(:disabled){background:var(--surface-3)}button[data-v-1653bfee]:active:not(:disabled){transform:scale(.96)}button[data-v-1653bfee]:disabled{opacity:.3;cursor:not-allowed}.lvl.active[data-v-1653bfee]{background:var(--primary);color:#fff;border-color:var(--primary)}.strain[data-v-1653bfee]{background:var(--card-bg);justify-content:center;align-items:center;gap:2px;min-height:46px;padding:8px 0;display:flex}.strain .bid-level[data-v-1653bfee]{color:#1b2233;font-size:22px}.strain .suit-icon[data-v-1653bfee]{width:24px;height:24px}.strain .nt[data-v-1653bfee]{color:#1b2233;font-size:17px;font-weight:900}.sp[data-v-1653bfee]{color:#fff;border:0;font-size:14px}.pass[data-v-1653bfee]{background:var(--success)}.dbl[data-v-1653bfee]{background:var(--danger)}.rdbl[data-v-1653bfee]{background:var(--primary)}.alert-btn[data-v-1653bfee]{background:var(--surface-3);color:var(--warning);padding:9px 14px}.alert-btn.on[data-v-1653bfee]{background:var(--warning);color:#fff}.score-modal[data-v-e05a71c4]{width:min(820px,100%)}.penalty[data-v-e05a71c4]{background:color-mix(in srgb, var(--danger) 14%, transparent);border-radius:10px;margin:0;padding:8px 12px}.pen-badge[data-v-e05a71c4]{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:800}.result-hero[data-v-e05a71c4]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.contract[data-v-e05a71c4]{flex-wrap:wrap;align-items:baseline;gap:10px;font-size:32px;font-weight:800;display:flex}.contract small[data-v-e05a71c4]{color:var(--muted);font-size:14px;font-weight:600}.score-boxes[data-v-e05a71c4],.side-totals[data-v-e05a71c4]{flex-wrap:wrap;gap:10px;display:flex}.score-box[data-v-e05a71c4]{background:var(--surface-2);border-radius:12px;flex-direction:column;min-width:96px;padding:10px 14px;display:flex}.score-box span[data-v-e05a71c4]{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.score-box b[data-v-e05a71c4]{font-size:20px}.side-totals .score-box[data-v-e05a71c4]{flex:1}.datum[data-v-e05a71c4],.rubber[data-v-e05a71c4]{background:var(--surface-2);border-radius:12px}.psych[data-v-e05a71c4]{background:color-mix(in srgb, var(--warning) 18%, transparent);border-radius:10px;margin:0;padding:10px 12px;font-weight:600}.deal[data-v-e05a71c4]{background:var(--surface-2);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:".n.""w c e"".s.";gap:8px;padding:12px;display:grid}.pos-N[data-v-e05a71c4]{grid-area:n}.pos-S[data-v-e05a71c4]{grid-area:s}.pos-W[data-v-e05a71c4]{grid-area:w}.pos-E[data-v-e05a71c4]{grid-area:e}.deal-center[data-v-e05a71c4]{text-align:center;background:var(--felt);color:#fff;border-radius:12px;grid-area:c;place-content:center;padding:8px;font-size:12px;display:grid}.deal-hand[data-v-e05a71c4]{font-size:13px}.deal-name[data-v-e05a71c4]{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;overflow:hidden}.deal-row[data-v-e05a71c4]{font-variant-numeric:tabular-nums;font-weight:600}.clickable[data-v-e05a71c4]{cursor:pointer}.clickable:hover td[data-v-e05a71c4]{background:var(--surface-2)}tr.me td[data-v-e05a71c4]{background:var(--primary-soft)}.next-info[data-v-e05a71c4]{margin-right:auto}@media (width<=560px){.deal[data-v-e05a71c4]{gap:4px;padding:8px;font-size:12px}.contract[data-v-e05a71c4]{font-size:26px}}.table-view[data-v-cc933696]{flex-direction:column;gap:12px;max-width:1100px;margin:0 auto;display:flex}.info-bar[data-v-cc933696]{flex-wrap:wrap;align-items:center;gap:16px;padding:12px 16px;display:flex}.info-main h2[data-v-cc933696]{margin:0 0 4px;font-size:17px}.facts[data-v-cc933696]{flex-wrap:wrap;gap:18px;display:flex}.fact[data-v-cc933696]{flex-direction:column;display:flex}.fact span[data-v-cc933696]{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.fact b[data-v-cc933696]{font-size:15px}.vultext[data-v-cc933696]{color:var(--vul)}.actions[data-v-cc933696]{margin-left:auto}.felt[data-v-cc933696]{box-shadow:inset 0 0 60px #00000059, var(--shadow);background:#173d2a;border:6px solid #0f2e1f;border-radius:10px;flex-direction:column;gap:8px;padding:8px;display:flex;position:relative}.hand-row[data-v-cc933696]{flex-wrap:wrap;justify-content:center;gap:4px;padding-top:6px;display:flex}.middle[data-v-cc933696]{align-items:stretch;gap:6px;min-height:340px;display:flex}.middle>.side[data-v-cc933696]{flex:none;width:40px}.hand-grid[data-v-cc933696]{flex:none;grid-template-columns:repeat(3,auto);align-content:start;gap:4px;padding-top:6px;display:grid}.center[data-v-cc933696]{background:#1d4a33;border-radius:4px;flex:1;place-items:center;min-width:0;padding:8px;display:grid}.center-card[data-v-cc933696]{color:#182033;text-align:center;max-width:380px;box-shadow:var(--shadow-lg);background:#fffffff0;border-radius:18px;padding:20px}.center-card .big[data-v-cc933696]{letter-spacing:6px;margin-bottom:6px;font-size:26px}.center-card .muted[data-v-cc933696]{color:#5a6275}.bidding-area[data-v-cc933696]{flex-direction:column;align-items:center;gap:12px;width:min(380px,100%);display:flex}.center[data-v-cc933696]{position:relative}.slow-banner[data-v-cc933696]{z-index:5;color:#fff;text-align:center;cursor:pointer;background:#c62828;border-radius:10px;width:max-content;max-width:calc(100% - 16px);padding:8px 14px;font-size:13px;font-weight:700;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0006}.fade-enter-active[data-v-cc933696],.fade-leave-active[data-v-cc933696]{transition:opacity .4s}.fade-enter-from[data-v-cc933696],.fade-leave-to[data-v-cc933696]{opacity:0}.waiting-note[data-v-cc933696]{color:#fff;text-shadow:0 1px 3px #0006;text-align:center;margin:0;font-weight:600}.play-area[data-v-cc933696]{flex-direction:column;justify-content:space-between;align-items:center;gap:6px;width:100%;height:100%;display:flex;position:relative}.tricks-pill[data-v-cc933696]{color:#f0c048;background:#0000004d;border:1px solid #8a7a3a;border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700}.center[data-v-cc933696]{container-type:inline-size}.trick-area[data-v-cc933696]{--tw:min(var(--tw-max,56px), 100cqi / 4.4);width:calc(var(--tw) * 4.2);height:calc(var(--tw) * 4.45);flex:none;position:relative}.trick-card[data-v-cc933696] .card{--w:var(--tw)!important}.contract-badge[data-v-cc933696]{width:calc(var(--tw) * 1.66);height:calc(var(--tw) * 1.66);box-shadow:inset 0 0 8px #0006, 0 0 0 3px var(--decl);background:#133524;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;line-height:1;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contract-pip[data-v-cc933696]{width:calc(var(--tw) * .72);height:calc(var(--tw) * .72);place-items:center;display:grid;position:relative}.contract-pip .suit-icon[data-v-cc933696]{grid-area:1/1;width:100%;height:100%}.pip-level[data-v-cc933696]{font-size:calc(var(--tw) * .36);color:#fff;text-shadow:0 0 2px #000000e6,0 1px 2px #0009;grid-area:1/1;padding-top:12%;font-weight:900;line-height:1}.contract-pip.red .pip-level[data-v-cc933696]{color:#111;text-shadow:0 0 2px #fffc}.nt-tile[data-v-cc933696]{color:#7a1d12;background:#ff9f43;border:1px solid #c0392b;border-radius:4px;flex-direction:column;grid-area:1/1;justify-content:center;align-items:center;width:100%;height:100%;line-height:.95;display:flex}.nt-tile b[data-v-cc933696]{font-size:calc(var(--tw) * .34)}.nt-tile small[data-v-cc933696]{font-size:calc(var(--tw) * .18);font-weight:800}.contract-pip .dbl[data-v-cc933696]{font-size:calc(var(--tw) * .18);color:#ff8a80;font-weight:900;position:absolute;top:-12%;right:-38%}.suit-ink-S[data-v-cc933696],.suit-ink-C[data-v-cc933696]{color:#111}.suit-ink-H[data-v-cc933696],.suit-ink-D[data-v-cc933696]{color:#d0262f}.decl-arrow[data-v-cc933696]{width:calc(var(--tw) * .4);height:calc(var(--tw) * .4);fill:var(--decl);filter:drop-shadow(0 0 2px #0009);position:absolute}.decl-arrow.to-top[data-v-cc933696]{top:calc(var(--tw) * .06);left:50%;transform:translate(-50%)}.decl-arrow.to-bottom[data-v-cc933696]{bottom:calc(var(--tw) * .06);left:50%;transform:translate(-50%)}.decl-arrow.to-left[data-v-cc933696]{left:calc(var(--tw) * .06);top:50%;transform:translateY(-50%)}.decl-arrow.to-right[data-v-cc933696]{right:calc(var(--tw) * .06);top:50%;transform:translateY(-50%)}.trick-card[data-v-cc933696]{transition:transform .2s;animation:.18s ease-out drop-cc933696;position:absolute}.trick-card.at-top[data-v-cc933696]{top:0;left:50%;transform:translate(-50%)}.trick-card.at-bottom[data-v-cc933696]{bottom:0;left:50%;transform:translate(-50%)}.trick-card.at-left[data-v-cc933696]{top:50%;left:0;transform:translateY(-50%)}.trick-card.at-right[data-v-cc933696]{top:50%;right:0;transform:translateY(-50%)}.trick-card.winner[data-v-cc933696] .card{box-shadow:0 0 0 3px #ffd54a,0 6px 16px #00000059}@keyframes drop-cc933696{0%{opacity:0}}.trick-label[data-v-cc933696]{color:#fff;z-index:1;background:#00000059;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.center-foot[data-v-cc933696]{text-align:center}.center-foot p[data-v-cc933696]{margin:2px 0}.hint[data-v-cc933696]{color:#fff;font-size:13px;font-weight:600}.claim-btn[data-v-cc933696]{color:#f0c048;cursor:pointer;background:#0000004d;border:1px solid #f0c048;border-radius:999px;margin:4px 0;padding:5px 14px;font-size:13px;font-weight:700}.claim-btn[data-v-cc933696]:hover{color:#173d2a;background:#f0c048}.hcp-totals[data-v-cc933696]{color:#e8efe9;background:#0000004d;border-radius:999px;padding:3px 12px;font-size:13px;font-weight:600;display:inline-block}.hcp-totals b[data-v-cc933696]{color:#f0c048}.auction-overlay[data-v-cc933696]{width:100%;overflow:auto}.lock-note[data-v-cc933696]{text-align:center;color:var(--muted);margin:0;font-weight:600}.claim-picker[data-v-cc933696]{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}@media (width<=700px){.felt[data-v-cc933696]{border-width:4px;gap:4px;padding:4px}.middle[data-v-cc933696]{gap:3px;min-height:300px}.middle>.side[data-v-cc933696]{width:32px}.hand-row[data-v-cc933696],.hand-grid[data-v-cc933696]{gap:3px}.center[data-v-cc933696]{padding:4px}.facts[data-v-cc933696]{gap:12px}.actions[data-v-cc933696]{margin-left:0}}.chat[data-v-214cf545]{flex-direction:column;width:100%;min-height:0;display:flex}.chat-head[data-v-214cf545]{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px;display:flex}.chat-head .tabs[data-v-214cf545]{flex:1}.tab .dot-count[data-v-214cf545]{margin-left:6px;display:inline-grid;position:static}.close[data-v-214cf545]{display:none}@media (width<=1000px){.close[data-v-214cf545]{display:grid}}.messages[data-v-214cf545]{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px;display:flex;overflow-y:auto}.msg[data-v-214cf545]{align-items:flex-end;gap:8px;max-width:92%;display:flex}.msg.mine[data-v-214cf545]{flex-direction:row-reverse;margin-left:auto}.bubble[data-v-214cf545]{background:var(--surface-2);border-radius:14px 14px 14px 4px;min-width:0;padding:7px 11px}.msg.mine .bubble[data-v-214cf545]{background:var(--primary);color:var(--on-primary);border-radius:14px 14px 4px}.meta[data-v-214cf545]{opacity:.75;gap:8px;margin-bottom:2px;font-size:11px;display:flex}.text[data-v-214cf545]{white-space:pre-wrap;word-break:break-word}.system[data-v-214cf545]{color:var(--muted);background:var(--surface-2);text-align:center;border-radius:999px;align-self:center;padding:4px 10px;font-size:12px}.system.replace[data-v-214cf545],.system.warn[data-v-214cf545]{background:color-mix(in srgb, var(--warning) 20%, transparent);color:var(--text);font-weight:600}.composer[data-v-214cf545]{border-top:1px solid var(--border);padding:10px;padding-bottom:max(10px, env(safe-area-inset-bottom));gap:8px;display:flex}.dm-head[data-v-214cf545]{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 10px;display:flex}.people[data-v-214cf545]{flex:1;padding:8px;overflow-y:auto}.person[data-v-214cf545]{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.person[data-v-214cf545]:hover{background:var(--surface-2)}.person .grow[data-v-214cf545]{flex-direction:column;flex:1;min-width:0;display:flex}.person .grow span[data-v-214cf545]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.online-dot[data-v-214cf545]{background:var(--success);border-radius:50%;width:9px;height:9px}.empty[data-v-214cf545]{text-align:center;margin:auto;padding:20px}.profile-top[data-v-49a48e8e]{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.photo-preview[data-v-49a48e8e]{object-fit:cover;border-radius:50%;width:96px;height:96px}.mini-stats[data-v-49a48e8e]{gap:14px;margin-left:auto;display:flex}.mini-stats div[data-v-49a48e8e]{flex-direction:column;align-items:center;display:flex}.mini-stats b[data-v-49a48e8e]{font-size:18px}.mini-stats span[data-v-49a48e8e]{color:var(--muted);font-size:11px}.icons[data-v-49a48e8e]{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px;display:grid}.icon-choice[data-v-49a48e8e]{border:2px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:10px;height:42px;font-size:20px;font-weight:700}.icon-choice.active[data-v-49a48e8e]{border-color:var(--primary);background:var(--primary-soft)}.check[data-v-49a48e8e]{cursor:pointer;align-items:center;gap:6px;display:flex}:root{--bg:#f3f5fa;--surface:#fff;--surface-2:#eef1f7;--surface-3:#e3e8f1;--text:#182033;--muted:#667089;--border:#dbe1ec;--primary:#2f6fed;--primary-soft:#e3ecff;--on-primary:#fff;--success:#1f9d5a;--danger:#e0484e;--warning:#e59a12;--felt:radial-gradient(ellipse at center, #2a8c62 0%, #1d6c4a 55%, #155238 100%);--felt-border:#0f3f2b;--vul:#d93a43;--nonvul:#2e9e5b;--card-bg:#fff;--card-border:#cfd5e0;--card-S:#1b2233;--card-H:#d0262f;--card-D:#d0262f;--card-C:#1b2233;--ink-S:#1b2233;--ink-H:#d0262f;--ink-D:#d0262f;--ink-C:#1b2233;--shadow:0 8px 28px #16224014;--shadow-lg:0 18px 48px #1622402e;--radius:14px;--radius-sm:9px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0e121c;--surface:#161b28;--surface-2:#1d2434;--surface-3:#262f43;--text:#e6e9f2;--muted:#8e97ad;--border:#283147;--primary:#5b8cff;--primary-soft:#1f2d52;--felt:radial-gradient(ellipse at center, #1b5e43 0%, #134431 55%, #0c3022 100%);--felt-border:#081f16;--card-bg:#f5f4ef;--card-border:#b9bcc4;--ink-S:#d4dbea;--ink-H:#ff5d66;--ink-D:#ff5d66;--ink-C:#d4dbea;--shadow:0 8px 28px #00000059;--shadow-lg:0 18px 48px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root.four-color{--card-C:#178a3e;--card-D:#e06a00;--ink-C:#178a3e;--ink-D:#e06a00}:root.four-color[data-theme=dark]{--ink-C:#43c271;--ink-D:#ff9a3d}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;transition:background .2s,color .2s}#app{height:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary)}h1,h2,h3{margin:0 0 .6em;line-height:1.2}.muted{color:var(--muted)}.small{font-size:12px}.spacer{flex:1}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.suit-S{color:var(--ink-S)}.suit-H{color:var(--ink-H)}.suit-D{color:var(--ink-D)}.suit-C{color:var(--ink-C)}.suit-NT{color:var(--text)}.on-card.suit-S{color:var(--card-S)}.on-card.suit-H{color:var(--card-H)}.on-card.suit-D{color:var(--card-D)}.on-card.suit-C{color:var(--card-C)}.on-card.suit-NT{color:#1b2233}.call-pass{color:var(--success)}.call-double{color:var(--danger)}.call-redouble{color:var(--primary)}.btn{border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-weight:600;transition:transform 80ms,filter .15s,background .15s;display:inline-flex}.btn:hover{filter:brightness(1.07)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{color:var(--text);border-color:var(--border);background:0 0}.btn.ghost:hover{background:var(--surface-2)}.btn.soft{background:var(--primary-soft);color:var(--primary)}.btn.success{background:var(--success)}.btn.danger{background:var(--danger)}.btn.sm{padding:6px 11px;font-size:13px}.icon-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:38px;height:38px;font-size:17px;display:grid;position:relative}.icon-btn:hover{background:var(--surface-2)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-pad{padding:18px}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.input,select.input,textarea.input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);outline:none;width:100%;padding:10px 12px;transition:border .15s,box-shadow .15s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.badge{background:var(--surface-3);color:var(--muted);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge.primary{background:var(--primary-soft);color:var(--primary)}.badge.success{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success)}.badge.danger{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.dot-count{background:var(--danger);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-4px;right:-4px}.tabs{background:var(--surface-2);border-radius:12px;gap:4px;padding:4px;display:flex;overflow-x:auto}.tab{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:7px 14px;font-weight:600;position:relative}.tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000014}table.grid{border-collapse:collapse;width:100%}table.grid th,table.grid td{text-align:left;border-bottom:1px solid var(--border);padding:9px 10px}table.grid th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}table.grid td.num,table.grid th.num{text-align:right;font-variant-numeric:tabular-nums}.pos{color:var(--success);font-weight:700}.neg{color:var(--danger);font-weight:700}.table-scroll{overflow-x:auto}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#080c168c;place-items:center;padding:16px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(760px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);border:1px solid var(--border);border-radius:18px;animation:.18s ease-out pop;overflow:auto}.modal-head{border-bottom:1px solid var(--border);background:var(--surface);z-index:1;align-items:center;gap:10px;padding:16px 20px;display:flex;position:sticky;top:0}.modal-head h2{margin:0;font-size:18px}.modal-body{padding:18px 20px}.modal-foot{border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex;position:sticky;bottom:0}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.96)}}.toasts{z-index:80;flex-direction:column;gap:8px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;top:70px;right:16px}.toast{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-left:4px solid var(--primary);border-radius:12px;padding:12px 14px;font-weight:500;animation:.2s ease-out slide}.toast.error{border-left-color:var(--danger)}.toast.replace,.toast.warn{border-left-color:var(--warning)}.toast.join{border-left-color:var(--success)}@keyframes slide{0%{opacity:0;transform:translate(30px)}}.card{--w:64px;width:var(--w);height:calc(var(--w) * 1.12);border-radius:calc(var(--w) * .1);background:var(--card-bg);border:1px solid var(--card-border);-webkit-user-select:none;user-select:none;flex:none;font-weight:800;line-height:1;transition:transform .12s,box-shadow .12s,opacity .12s;position:relative;box-shadow:0 2px 6px #0000002e}.card .pip{place-items:center;display:grid;position:absolute;inset:0}.card .pip svg{width:98%;height:98%}.card .rank{font-size:calc(var(--w) * .47);color:#fff;text-shadow:0 0 2px #000000e6,0 1px 2px #0009;place-items:center;padding-top:7%;font-weight:800;display:grid;position:absolute;inset:0}.card.back{background:repeating-linear-gradient(45deg,#2f4fa8 0 6px,#2a4697 6px 12px);border:3px solid #fff}[data-theme=dark] .card.back{border-color:#d7dae3}.card.muted,.card.dim{box-shadow:none;background:#9aa8a0;border-color:#7f8c85}.card.suit-C:not(.back){background:#dcf2e1;border-color:#9fcaa9}.card.suit-D:not(.back){background:#ffe9cc;border-color:#e8b87a}.card.muted.suit-C,.card.dim.suit-C{background:#86b492;border-color:#6c9878}.card.muted.suit-D,.card.dim.suit-D{background:#c3a47c;border-color:#a68862}.card.muted .rank,.card.dim .rank{color:#e8e0a0}.card.suit-H .rank,.card.suit-D .rank{color:#111;text-shadow:0 0 2px #ffffffb3}.card.dim{opacity:.45;cursor:not-allowed}.card.playable{cursor:pointer;box-shadow:0 0 0 2px #ffd54a,0 0 10px #ffd54a99}.card.playable:hover{transform:translateY(-5px);box-shadow:0 0 0 3px #ffe680,0 0 16px #ffe680e6,0 6px 14px #0000004d}.app{flex-direction:column;height:100%;display:flex}.topbar{padding:10px 18px;padding-top:max(10px, env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);z-index:20;align-items:center;gap:10px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;align-items:center;gap:8px;font-size:18px;font-weight:800;display:flex}.brand .logo{background:var(--felt);color:#fff;border-radius:10px;place-items:center;width:32px;height:32px;font-size:18px;display:inline-grid}.conn{background:var(--danger);border-radius:50%;width:9px;height:9px}.conn.on{background:var(--success)}.profile-btn{cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:4px 8px;font-weight:600;display:flex}.profile-btn:hover{background:var(--surface-2)}.layout{flex:1;grid-template-columns:1fr 340px;min-height:0;display:grid}.content{min-width:0;padding:18px;overflow:auto}.chat-side{border-left:1px solid var(--border);background:var(--surface);min-height:0;display:flex}.chat-toggle{display:none}@media (width<=1000px){.layout{grid-template-columns:1fr}.chat-toggle{display:grid}.chat-side{z-index:40;border-left:0;border-top:1px solid var(--border);height:min(72dvh,560px);box-shadow:var(--shadow-lg);border-radius:18px 18px 0 0;transition:transform .25s;position:fixed;inset:auto 0 0;transform:translateY(105%)}.chat-side.open{transform:none}.profile-btn .name{display:none}}@media (width<=640px){.content{padding:10px}.topbar{gap:6px;padding:8px 10px}.brand .title{display:none}.hide-mobile{display:none!important}}
