.setup[data-v-291d4ba3]{justify-content:center;align-items:center;height:100%;padding:20px;display:flex;overflow-y:auto}.setup__card[data-v-291d4ba3]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-lg);color:#fff;background:#ffffff14;width:100%;max-width:380px;padding:28px 24px}.setup__title[data-v-291d4ba3]{text-align:center;letter-spacing:1px;font-size:32px;font-weight:800}.setup__subtitle[data-v-291d4ba3]{text-align:center;color:var(--color-text-muted);margin-bottom:24px;font-size:14px}.setup__section[data-v-291d4ba3]{margin-bottom:20px}.setup__label[data-v-291d4ba3]{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:13px;font-weight:600;display:block}.setup__player-count[data-v-291d4ba3]{gap:10px;display:flex}.setup__count-btn[data-v-291d4ba3]{border-radius:var(--radius-sm);color:#fff;transition:background var(--transition-ui);background:#ffffff1a;flex:1;padding:12px;font-size:18px;font-weight:700}.setup__count-btn--active[data-v-291d4ba3]{background:var(--color-capturable)}.setup__count-btn--debug[data-v-291d4ba3]{color:#e74c3c;border:1px solid #e74c3c}.setup__count-btn--debug.setup__count-btn--active[data-v-291d4ba3]{color:#fff;background:#e74c3c}.setup__players[data-v-291d4ba3]{flex-direction:column;gap:8px;display:flex}.setup__player-row[data-v-291d4ba3]{align-items:center;gap:8px;display:flex}.setup__input[data-v-291d4ba3]{border-radius:var(--radius-sm);color:#fff;background:#ffffff1a;border:1px solid #fff3;outline:none;flex:1;padding:10px 12px;font-size:14px}.setup__input[data-v-291d4ba3]::placeholder{color:#fff6}.setup__input[data-v-291d4ba3]:focus{border-color:#ffffff80}.setup__ai-toggle[data-v-291d4ba3]{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:13px;display:flex}.setup__start[data-v-291d4ba3]{background:var(--color-capturable);color:#fff;border-radius:var(--radius-md);width:100%;transition:opacity var(--transition-ui);margin-top:8px;padding:16px;font-size:18px;font-weight:700}.setup__start[data-v-291d4ba3]:active{opacity:.85}.setup__online-btn[data-v-291d4ba3]{color:#fff;border-radius:var(--radius-md);width:100%;transition:background var(--transition-ui);background:#3498db40;border:1px solid #3498db80;padding:14px;font-size:16px;font-weight:700}.setup__online-btn[data-v-291d4ba3]:hover{background:#3498db66}.score-panel[data-v-d644b9b0]{border-bottom:1px solid var(--color-border);background:#00000040;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;display:flex}.score-panel__player[data-v-d644b9b0]{border-radius:var(--radius-sm);transition:background var(--transition-ui);align-items:center;gap:4px;padding:2px 8px;font-size:13px;display:flex}.score-panel__player--active[data-v-d644b9b0]{background:#f1c40f40}.score-panel__team-dot[data-v-d644b9b0]{border-radius:50%;flex-shrink:0;width:7px;height:7px}.score-panel__name[data-v-d644b9b0]{color:var(--color-text-muted)}.score-panel__badge[data-v-d644b9b0]{color:var(--color-text-muted);background:#ffffff1f;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700}.score-panel__badge--you[data-v-d644b9b0]{color:var(--color-selected);background:#f1c40f33}.score-panel__badge--dealer[data-v-d644b9b0]{color:#fff;background:#ffffff40}.score-panel__score[data-v-d644b9b0]{color:var(--color-selected);font-weight:700}.score-panel__round[data-v-d644b9b0]{color:var(--color-text-muted);margin-left:auto;font-size:12px}.turn-indicator[data-v-618a5cf1]{text-align:center;color:var(--color-text-muted);min-height:24px;padding:4px 12px;font-size:13px}.card{width:var(--card-width);height:var(--card-height);border-radius:var(--card-radius);transition:transform var(--transition-card), box-shadow var(--transition-card), border-color var(--transition-card);cursor:default;background:#fff;border:2px solid #ddd;flex-direction:column;flex-shrink:0;justify-content:flex-start;align-items:flex-start;padding:4px 6px;display:flex;position:relative}.card--clickable{cursor:pointer}.card--selected{border-color:var(--color-selected);box-shadow:0 0 0 2px var(--color-selected), 0 8px 20px #0006;transform:translateY(-10px)}.card--capturable{border-color:var(--color-capturable);box-shadow:0 0 0 2px var(--color-capturable)}.card--capturable:hover,.card--capturable:focus{transform:translateY(-4px)}.card--disabled{opacity:.5;pointer-events:none}.card__rank{font-size:calc(var(--card-width) * .22);font-weight:700;line-height:1}.card__suit-icon{font-size:calc(var(--card-width) * .18);line-height:1}.card__center{font-size:calc(var(--card-width) * .38);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.card__corner-bottom{flex-direction:column;align-items:flex-end;display:flex;position:absolute;bottom:4px;right:6px;transform:rotate(180deg)}.card--red .card__rank,.card--red .card__suit-icon,.card--red .card__center{color:var(--suit-red)}.card--black .card__rank,.card--black .card__suit-icon,.card--black .card__center{color:var(--suit-black)}.card-back{width:var(--card-width);height:var(--card-height);border-radius:var(--card-radius);background:linear-gradient(135deg,#1a1a6e 0%,#2c2c8e 50%,#1a1a6e 100%);border:2px solid #444;flex-shrink:0;position:relative;overflow:hidden}.card-back:after{content:"";border-radius:calc(var(--card-radius) - 2px);background:repeating-linear-gradient(45deg,#0000,#0000 4px,#ffffff0d 4px 8px);border:1px solid #fff3;position:absolute;inset:4px}.capture-flash[data-v-b37ba825]{z-index:50;color:#fff;pointer-events:none;white-space:nowrap;background:#000000d1;border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:8px;padding:10px 16px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 20px #00000080}.capture-flash__name[data-v-b37ba825]{font-size:14px;font-weight:700}.capture-flash__arrow[data-v-b37ba825]{opacity:.7;font-size:12px}.capture-flash__cards[data-v-b37ba825]{align-items:center;gap:4px;display:flex}.capture-flash__card[data-v-b37ba825]{background:#fff;border-radius:5px;padding:2px 5px;font-size:14px;font-weight:700}.capture-flash__card--red[data-v-b37ba825]{color:#d32f2f}.capture-flash__card--black[data-v-b37ba825]{color:#1a1a1a}.capture-flash__plus[data-v-b37ba825]{opacity:.6;font-size:12px}.flash-enter-active[data-v-b37ba825]{transition:opacity .15s,transform .15s}.flash-leave-active[data-v-b37ba825]{transition:opacity .4s,transform .4s}.flash-enter-from[data-v-b37ba825]{opacity:0;transform:translate(-50%,calc(-50% - 8px))}.flash-leave-to[data-v-b37ba825]{opacity:0;transform:translate(-50%,calc(8px - 50%))}.table-zone[data-v-898cfc3f]{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;padding:8px;display:flex;position:relative}.table-zone__cards[data-v-898cfc3f]{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.table-zone__empty[data-v-898cfc3f]{color:var(--color-text-muted);font-size:14px}.player-hand[data-v-d044587f]{justify-content:center;padding:8px 8px 0;display:flex}.player-hand__cards[data-v-d044587f]{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.opponent-hand[data-v-69824806]{border-radius:var(--radius-md);transition:background var(--transition-ui);flex-direction:column;align-items:center;gap:4px;padding:6px;display:flex}.opponent-hand--active[data-v-69824806]{background:#ffffff1a}.opponent-hand__name[data-v-69824806]{color:var(--color-text-muted);align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.opponent-hand__team-dot[data-v-69824806]{border-radius:50%;flex-shrink:0;width:7px;height:7px}.opponent-hand__ai-badge[data-v-69824806],.opponent-hand__dealer-badge[data-v-69824806]{color:var(--color-text-muted);background:#ffffff26;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700}.opponent-hand__dealer-badge[data-v-69824806]{color:#fff;background:#ffffff40}.opponent-hand__cards[data-v-69824806]{gap:4px;display:flex}.opponent-hand__card-wrap[data-v-69824806]{display:contents}.opponent-hand__info[data-v-69824806]{color:var(--color-text-muted);font-size:11px}.card-pile[data-v-2565d50d]{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:8px 6px;display:flex;position:absolute;top:0;bottom:0;left:0}.card-pile__item[data-v-2565d50d]{flex-direction:column;align-items:center;gap:4px;display:flex}.card-pile__back[data-v-2565d50d]{width:calc(var(--card-width) * .6);height:calc(var(--card-height) * .6);border-radius:var(--card-radius);background:linear-gradient(135deg,#1a1a6e,#2c2c8e);border:2px solid #fff3}.card-pile__label[data-v-2565d50d]{color:var(--color-text-muted);font-size:11px}.modal-overlay[data-v-af913bf3]{z-index:100;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal[data-v-af913bf3]{color:#1a1a1a;border-radius:var(--radius-lg);background:#fff;width:100%;max-width:360px;padding:24px}.modal__title[data-v-af913bf3]{text-align:center;margin-bottom:16px;font-size:18px;font-weight:700}.action-modal__meta[data-v-1ad1a992]{text-align:center;color:#999;margin-bottom:6px;font-size:12px}.action-modal__desc[data-v-1ad1a992]{text-align:center;color:#555;margin-bottom:20px;font-size:15px}.action-modal__buttons[data-v-1ad1a992]{flex-direction:column;gap:10px;display:flex}.action-modal__btn[data-v-1ad1a992]{border-radius:var(--radius-md);width:100%;padding:14px;font-size:16px;font-weight:600}.action-modal__btn--primary[data-v-1ad1a992]{color:#fff;background:#27ae60}.action-modal__btn--secondary[data-v-1ad1a992]{color:#333;background:#e0e0e0}.round-summary__scores[data-v-1889fe6e]{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.round-summary__block[data-v-1889fe6e]{border-radius:var(--radius-sm);border:1px solid #e0e0e0;padding:10px 12px}.round-summary__header[data-v-1889fe6e]{flex-direction:column;gap:2px;margin-bottom:8px;display:flex}.round-summary__team-label[data-v-1889fe6e]{text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.round-summary__team-label--us[data-v-1889fe6e]{color:#27ae60}.round-summary__team-label--them[data-v-1889fe6e]{color:#999}.round-summary__player-name[data-v-1889fe6e]{align-items:center;gap:6px;font-size:15px;font-weight:700;display:flex}.round-summary__you-badge[data-v-1889fe6e]{color:#c49a00;background:#f1c40f33;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:700}.round-summary__row[data-v-1889fe6e]{color:#555;justify-content:space-between;padding:2px 0;font-size:13px;display:flex}.round-summary__pts[data-v-1889fe6e]{color:#27ae60;font-weight:600}.round-summary__total[data-v-1889fe6e]{border-top:1px solid #eee;margin-top:6px;padding-top:4px;font-size:14px;font-weight:700}.round-summary__next[data-v-1889fe6e]{color:#fff;border-radius:var(--radius-md);background:#27ae60;width:100%;padding:14px;font-size:16px;font-weight:600}.card-enter-active{transition:all .3s}.card-leave-active{transition:all .2s}.card-enter-from{opacity:0;transform:translateY(-20px)scale(.85)}.card-leave-to{opacity:0;transform:scale(.7)}.card-move{transition:transform .3s}.deal-enter-active{transition:opacity .25s,transform .35s cubic-bezier(.22,1,.36,1)}.deal-leave-active{transition:all .2s}.deal-enter-from{opacity:0;transform:translateY(-40px)scale(.75)}.deal-leave-to{opacity:0;transform:scale(.7)}.deal-move{transition:transform .3s}.modal-enter-active{transition:all .25s}.modal-leave-active{transition:all .2s}.modal-enter-from,.modal-leave-to{opacity:0;transform:scale(.92)}.overlay-enter-active{transition:opacity .25s}.overlay-leave-active{transition:opacity .2s}.overlay-enter-from,.overlay-leave-to{opacity:0}.fade-enter-active{transition:opacity .2s}.fade-leave-active{transition:opacity .15s}.fade-enter-from,.fade-leave-to{opacity:0}.board[data-v-73d409ac]{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.board__table-row[data-v-73d409ac]{flex:1;min-height:0;position:relative}.board__opponents[data-v-73d409ac]{flex-wrap:wrap;justify-content:center;gap:8px;padding:8px 12px 0;display:flex}.board__hand-area[data-v-73d409ac]{flex-direction:column;flex-shrink:0;gap:6px;padding:0 8px 8px;display:flex}.board__player-label[data-v-73d409ac]{text-align:center;color:var(--color-text-muted);justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.board__team-dot[data-v-73d409ac]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.board__you-badge[data-v-73d409ac]{color:var(--color-selected);background:#f1c40f33;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:700}.board__dealer-badge[data-v-73d409ac]{color:#fff;background:#ffffff40;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:700}.board__actions[data-v-73d409ac]{gap:10px;display:flex}.board__btn[data-v-73d409ac]{border-radius:var(--radius-md);transition:opacity var(--transition-ui), transform var(--transition-ui);flex:1;padding:14px;font-size:16px;font-weight:700}.board__btn[data-v-73d409ac]:disabled{opacity:.35;pointer-events:none}.board__btn[data-v-73d409ac]:active:not(:disabled){transform:scale(.97)}.board__btn--discard[data-v-73d409ac]{color:#fff;background:#ffffff26}.board__btn--capture[data-v-73d409ac]{background:var(--color-capturable);color:#fff}.board__leave[data-v-73d409ac]{z-index:10;color:#fff9;border-radius:var(--radius-md);transition:background var(--transition-ui), color var(--transition-ui);background:#ffffff1a;padding:4px 10px;font-size:12px;font-weight:600;position:absolute;top:10px;right:10px}.board__leave[data-v-73d409ac]:hover{color:#fff;background:#ff505040}.board__player-left-overlay[data-v-73d409ac]{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.board__player-left-box[data-v-73d409ac]{background:var(--color-surface);border-radius:var(--radius-lg);text-align:center;flex-direction:column;gap:20px;min-width:240px;padding:32px 24px;display:flex}.board__player-left-box p[data-v-73d409ac]{color:#1b4332;font-size:16px}.game-summary[data-v-b8da3198]{justify-content:center;align-items:center;height:100%;padding:24px;display:flex}.game-summary__card[data-v-b8da3198]{border-radius:var(--radius-lg);color:#1a1a1a;text-align:center;background:#fff;width:100%;max-width:380px;padding:32px 24px}.game-summary__title[data-v-b8da3198]{margin-bottom:16px;font-size:24px;font-weight:700}.game-summary__winner[data-v-b8da3198]{color:#27ae60;margin-bottom:20px;font-size:22px;font-weight:700}.game-summary__winner-label[data-v-b8da3198]{text-transform:uppercase;letter-spacing:.5px;color:#999;margin-bottom:4px;font-size:11px;font-weight:700}.game-summary__scores[data-v-b8da3198]{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.game-summary__row[data-v-b8da3198]{border-radius:var(--radius-sm);background:#f5f5f5;justify-content:space-between;padding:8px 12px;font-size:15px;display:flex}.game-summary__row--winner[data-v-b8da3198]{background:#d4edda;font-weight:700}.game-summary__score[data-v-b8da3198]{font-weight:600}.game-summary__btn[data-v-b8da3198]{color:#fff;border-radius:var(--radius-md);background:#27ae60;width:100%;padding:14px;font-size:16px;font-weight:600}.dbg-panel[data-v-cd74d773]{color:#ccc;background:#0a0c12f7;border-top:1px solid #2a2e3a;flex-direction:column;flex-shrink:0;max-height:27vh;font-family:SF Mono,Fira Mono,monospace;font-size:11px;display:flex}.dbg-body[data-v-cd74d773]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.dbg-expand-enter-active[data-v-cd74d773],.dbg-expand-leave-active[data-v-cd74d773]{max-height:27vh;transition:max-height .2s,opacity .2s;overflow:hidden}.dbg-expand-enter-from[data-v-cd74d773],.dbg-expand-leave-to[data-v-cd74d773]{opacity:0;max-height:0}.dbg-header[data-v-cd74d773]{cursor:pointer;border-bottom:1px solid #2a2e3a;flex-shrink:0;align-items:center;gap:10px;padding:5px 10px;display:flex}.dbg-title[data-v-cd74d773]{color:#4a9eff;margin-right:auto;font-size:12px;font-weight:700}.dbg-toggle-label[data-v-cd74d773]{cursor:pointer;color:#f39c12;align-items:center;gap:4px;font-size:11px;display:flex}.dbg-toggle-label--red[data-v-cd74d773]{color:#e74c3c}.dbg-title[data-v-cd74d773]{color:#4a9eff;letter-spacing:1px;margin-right:auto;font-size:11px;font-weight:700}.dbg-chevron[data-v-cd74d773]{color:#555;font-size:9px;transition:transform .2s;transform:rotate(180deg)}.dbg-chevron.open[data-v-cd74d773]{transform:rotate(0)}.dbg-copy[data-v-cd74d773]{color:#2ecc71;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #2ecc71;border-radius:4px;padding:2px 8px;font-size:11px}.dbg-clear[data-v-cd74d773],.dbg-undo[data-v-cd74d773]{color:#888;cursor:pointer;background:0 0;border:1px solid #333;border-radius:4px;padding:2px 8px;font-size:12px}.dbg-undo[data-v-cd74d773]:not(:disabled){color:#4a9eff;border-color:#4a9eff}.dbg-undo[data-v-cd74d773]:disabled{opacity:.3;cursor:default}.dbg-resume[data-v-cd74d773]{color:#2ecc71;cursor:pointer;background:0 0;border:1px solid #2ecc71;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.dbg-confirm[data-v-cd74d773]{background:#f39c121f;border-bottom:1px solid #f39c12;flex-shrink:0;padding:8px 10px}.dbg-confirm__title[data-v-cd74d773]{color:#f39c12;margin-bottom:4px;font-weight:700}.dbg-confirm__move[data-v-cd74d773]{color:#ddd;margin-bottom:8px}.dbg-confirm__btn[data-v-cd74d773]{color:#000;cursor:pointer;background:#f39c12;border:none;border-radius:6px;width:100%;padding:6px 16px;font-size:12px;font-weight:700}.dbg-state[data-v-cd74d773]{border-bottom:1px solid #1e2230;flex-direction:column;flex-shrink:0;gap:3px;padding:6px 10px;display:flex}.dbg-state__row[data-v-cd74d773]{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.dbg-label[data-v-cd74d773]{color:#555;text-transform:uppercase;letter-spacing:.5px;font-size:10px}.dbg-value[data-v-cd74d773]{color:#ddd}.dbg-cards[data-v-cd74d773]{color:#7ecfff;letter-spacing:1px}.dbg-players[data-v-cd74d773]{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.dbg-player[data-v-cd74d773]{background:#ffffff0a;border:1px solid #2a2e3a;border-radius:5px;align-items:center;gap:6px;padding:2px 8px;display:flex}.dbg-player--active[data-v-cd74d773]{border-color:#4a9eff}.dbg-player__name[data-v-cd74d773]{color:#eee;font-weight:600}.dbg-player__stat[data-v-cd74d773]{color:#888;font-size:10px}.dbg-log[data-v-cd74d773]{flex:1;padding:4px 0;overflow-y:auto}.dbg-log__entry[data-v-cd74d773]{border-left:3px solid #0000;flex-wrap:wrap;align-items:baseline;gap:6px;padding:3px 10px;display:flex}.dbg-log__entry[data-v-cd74d773]:hover{background:#ffffff08}.dbg-log__time[data-v-cd74d773]{color:#444;flex-shrink:0;font-size:10px}.dbg-log__type[data-v-cd74d773]{flex-shrink:0;min-width:80px;font-size:10px;font-weight:700}.dbg-log__text[data-v-cd74d773]{color:#aaa;word-break:break-word}.dbg-log__empty[data-v-cd74d773]{text-align:center;color:#444;padding:12px}.app-shell{flex-direction:column;height:100%;display:flex}.app-shell__view{flex:1;min-height:0}.app-shell__ws-banner{color:#fff;text-align:center;background:#e74c3c;padding:6px;font-size:13px;font-weight:600}:root{--card-width:clamp(56px, 14vw, 80px);--card-height:calc(var(--card-width) * 1.45);--card-radius:8px;--suit-red:#c0392b;--suit-black:#1a1a2e;--color-bg:#2d6a4f;--color-bg-dark:#1b4332;--color-surface:#fff;--color-border:#ffffff26;--color-selected:#f1c40f;--color-capturable:#27ae60;--color-highlight:#f1c40f59;--color-text:#fff;--color-text-muted:#ffffffa6;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--transition-card:.2s ease;--transition-ui:.15s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;overflow:hidden}body{background:var(--color-bg);color:var(--color-text);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-family:system-ui,-apple-system,sans-serif}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}
