.bj-table{gap:var(--space-6);margin:var(--space-7) 0}.bj-felt,.bj-table{display:flex;flex-direction:column}.bj-felt{--felt:#2f6b46;background:radial-gradient(ellipse at 50% 0,rgba(255,255,255,.12),transparent 60%),linear-gradient(170deg,#35784e,#23553a);border:6px solid #4a3524;border-radius:var(--radius-xl);box-shadow:var(--shadow-4),inset 0 0 60px rgba(0,0,0,.35);padding:var(--space-7) var(--space-6);gap:var(--space-5);min-height:340px}.bj-seat{gap:var(--space-4)}.bj-seat,.bj-seats{display:flex;flex-direction:column}.bj-seats,.bj-seats-many{gap:var(--space-5)}.bj-seats-many{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.bj-seat-box{display:flex;flex-direction:column;gap:var(--space-3);border-radius:var(--radius-lg);padding:var(--space-4);border:2px solid transparent;flex:1 1 220px;min-width:0}.bj-seat-mine{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2)}.bj-seat-acting{border-color:rgba(255,235,150,.75)}.bj-seat-points{font-size:var(--text-xs);color:rgba(255,255,255,.7);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bj-seat-out{margin:0;font-size:var(--text-sm);color:rgba(255,255,255,.5)}.bj-seat-head{display:flex;align-items:center;gap:var(--space-4)}.bj-seat-name{font-family:var(--font-display);font-size:var(--text-base);color:rgba(255,255,255,.85)}.bj-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent)}.bj-cards{gap:var(--space-3);min-height:96px}.bj-cards,.bj-hands{display:flex;flex-wrap:wrap}.bj-hands{gap:var(--space-6)}.bj-hand{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);border:2px solid transparent}.bj-hand-active{border-color:rgba(255,235,150,.75);background:rgba(255,255,255,.06)}.bj-hand-foot{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.bj-total{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#fff;background:rgba(0,0,0,.32);border-radius:var(--radius-pill);padding:.15rem .7rem;font-size:var(--text-base)}.bj-total-partial{color:rgba(255,255,255,.75)}.bj-total-bust{background:#a3271f}.bj-total-blackjack{background:#e8c34a;color:var(--color-ink)}.bj-hand-bet{font-size:var(--text-sm);color:rgba(255,255,255,.72);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bj-hand-bet:before{content:"かけた点数 "}.bj-outcome{font-family:var(--font-display);font-size:var(--text-sm);border-radius:var(--radius-pill);padding:.15rem .8rem;background:rgba(0,0,0,.4);color:#fff}.bj-outcome-blackjack,.bj-outcome-win{background:#e8c34a;color:var(--color-ink)}.bj-outcome-bust,.bj-outcome-lose{background:#a3271f}.bj-controls{flex-direction:column;align-items:center}.bj-controls,.bj-points-row{display:flex;gap:var(--space-5)}.bj-points-row{flex-wrap:wrap;justify-content:center}.bj-points{display:inline-flex;align-items:baseline;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:.35rem 1.1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bj-points strong{font-size:var(--text-lg)}.bj-points-label{font-size:var(--text-xs);color:var(--color-muted)}.bj-points-bet strong{color:var(--color-accent)}.bj-bets{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center}.bj-stake{min-width:74px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--text-base);padding:.5rem 1rem;cursor:pointer;box-shadow:var(--shadow-1);transition:transform .14s ease,box-shadow .14s ease}.bj-stake-unit{font-size:var(--text-xs);font-weight:500;margin-left:.15em;opacity:.75}.bj-stake:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-2)}.bj-stake:disabled{opacity:.35;cursor:not-allowed}.bj-stake-50{background:var(--color-accent-soft)}.bj-stake-100{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.bj-stake-500{background:var(--color-ink);border-color:var(--color-ink);color:#fff}.bj-actions{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center;align-items:center}.bj-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:var(--font-display);font-size:var(--text-base);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);border-radius:var(--radius-pill);padding:.6rem 1.6rem;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.bj-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-2)}.bj-btn-primary{background:var(--color-ink);border-color:var(--color-ink);color:#fff}.bj-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.bj-note{margin:0;color:var(--color-muted);font-size:var(--text-base)}.bj-note-live{color:var(--color-accent);font-weight:600}.bj-error{margin:0;color:var(--color-danger)}.bj-error,.bj-log{font-size:var(--text-sm)}.bj-log{max-width:460px;margin:0 auto;width:100%;color:var(--color-muted)}.bj-log summary{cursor:pointer}.bj-log ul{margin:var(--space-4) 0 0;padding-left:1.1rem;display:flex;flex-direction:column;gap:var(--space-2)}@media (max-width:520px){.playing-card{--card-w:56px;--card-h:80px}.bj-felt{padding:var(--space-5) var(--space-4)}.bj-stake{min-width:64px;padding:.45rem .8rem}}.bj-notice{border:1px solid var(--color-border);border-left:4px solid var(--color-accent);background:var(--color-surface);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--space-5) var(--space-6);margin:var(--space-6) 0}.bj-notice-title{margin:0 0 var(--space-3);font-weight:700;color:var(--color-ink)}.bj-notice ul{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-body);line-height:1.75}