.bj-game{--felt:#0f6a43;--felt-light:#178c58;--felt-deep:#073b26;--print:#f2d68c;--leather:#2b1a10;--leather-light:#4a2e1c;--apron:#23150d;--apron-deep:#160d08;--cell-hit:#2a3140;--cell-stand:#f2b33d;--cell-double:#177a4a;--cell-split:#3563d1;--cell-surrender:#e9edf3;grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.bj-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bj-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.bj-rules-button{border:1px solid var(--border);background:var(--surface);max-width:100%;min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:0 14px;font-size:.9rem;display:inline-flex}.bj-rules-button:hover{border-color:var(--border-strong)}.bj-rules-label{color:var(--muted)}.bj-rules-long{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bj-rules-short,.bj-rules-tiny{white-space:nowrap;display:none}.bj-rules-edge{color:var(--success-soft);font-variant-numeric:tabular-nums;font-weight:600}@media (width<=899px){.bj-rules-long,.bj-rules-label{display:none}.bj-rules-short{display:inline}}@media (width<=420px){.bj-toolbar{gap:8px}.bj-rules-button{gap:6px;min-width:0;padding:0 10px;font-size:.82rem}.bj-rules-short{display:none}.bj-rules-tiny{text-overflow:ellipsis;min-width:0;display:inline;overflow:hidden}.bj-rules-edge{order:-1}}.bj-layout{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.bj-play{flex:999 600px;gap:14px;min-width:0;display:grid;container:bjtable/inline-size}.bj-table{background:linear-gradient(180deg, #1a110b 0 8px, var(--leather-light) 8px, var(--leather) 60%, #1c1009);border-radius:14px 14px 50% 50%/14px 14px 46% 46%;padding:8px 2% 2.4%;position:relative;box-shadow:inset 0 -3px #ffffff0f,0 28px 60px #0000008c}.bj-felt{--cw-base:7.6cqw;--cw:var(--cw-base);--chip:5.6cqw;--chip-gap:1.4cqw;--tag:max(12px, 1.75cqw);aspect-ratio:838/500;background:radial-gradient(70% 60% at 50% 34%, var(--felt-light) 0%, var(--felt) 55%, var(--felt-deep) 100%);border-radius:6px 6px 50% 50%/6px 6px 47% 47%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #00000040,inset 0 18px 40px #00000040}.bj-print{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.bj-print-narrow{display:none}.bj-print-text{fill:var(--print);font-family:Cinzel,Times New Roman,serif}.bj-tray{background:#0b2418;border-radius:0 0 10px 10px;gap:3px;width:34%;height:7.5%;padding:.6% 1%;display:flex;position:absolute;top:0;left:33%;box-shadow:inset 0 3px 8px #0009}.bj-tray span{background:repeating-linear-gradient(180deg, var(--chip) 0 3px, #00000059 3px 4px);border-radius:3px;flex:1}.bj-discard,.bj-shoe{border-radius:8px;position:absolute}.bj-discard{background:#ffffff1a;border:1px solid #ffffff40;width:8.5%;height:10%;top:3%;left:5%;transform:rotate(10deg)}.bj-discard:after{content:"";background:repeating-linear-gradient(0deg,#f4f6f9 0 2px,#b7bfcc 2px 3px);border-radius:4px;position:absolute;inset:22% 10% 10%}.bj-shoe{background:linear-gradient(160deg,#2e3440,#12151b);width:11.5%;height:12%;top:4%;right:4%;transform:rotate(-14deg);box-shadow:0 8px 16px #00000073}.bj-shoe:after{content:"";background:repeating-linear-gradient(90deg,#f4f6f9 0 2px,#c9ced8 2px 3px);border-radius:3px;width:30%;height:64%;position:absolute;top:18%;left:8%}.bj-card{width:var(--cw);aspect-ratio:250/350;filter:drop-shadow(0 6px 8px #0006);user-select:none;border-radius:7%;height:auto;animation:.3s ease-out both bj-deal;display:block}@keyframes bj-deal{0%{opacity:0;translate:0 -14px}}.bj-card.bj-flip{animation-name:bj-flip;animation-duration:.28s}@keyframes bj-flip{0%{scale:.04 1}}[data-reveal-speed=fast] .bj-card,[data-reveal-speed=fast] .bj-banner{animation-duration:.12s}[data-reveal-speed=instant] .bj-card,[data-reveal-speed=instant] .bj-banner{animation:none}.bj-dealer{position:absolute;top:11.5%;left:50%;transform:translate(-50%)}.bj-dealer-cards{display:flex;position:relative}.bj-dealer-cards .bj-card+.bj-card{margin-left:calc(var(--cw) * -.38)}.bj-tag{white-space:nowrap;color:#fff;font-weight:700;font-size:var(--tag);font-variant-numeric:tabular-nums;background:#0000008c;border-radius:999px;padding:2px 10px;line-height:1.5}.bj-tag-dealer{margin-left:10px;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.bj-tone-active{background:var(--gold);color:var(--on-gold);box-shadow:0 0 0 3px #f2b33d4d}.bj-tone-win{background:var(--success);color:#032313}.bj-tone-lose{color:#ffd7d1;background:#5b2620}.bj-tone-push{color:#e9edf3;background:#3b4250}.bj-spot,.bj-spot-chips{position:absolute;top:87.5%;left:50%;transform:translate(-50%,-50%)}.bj-spot{width:calc(var(--chip) * 1.85);aspect-ratio:1;border:2px solid #f2d68cb3;border-radius:50%}.bj-hands{justify-content:center;align-items:flex-end;gap:calc(var(--cw) * 1.1);display:flex;position:absolute;bottom:20%;left:0;right:0}.bj-hands[data-count="3"],.bj-hands[data-count="4"]{--cw:calc(var(--cw-base) * .78);gap:calc(var(--cw) * .8)}.bj-hand{flex-direction:column;align-items:center;display:flex;position:relative}.bj-hand>.bj-tag{margin-bottom:calc((var(--n) - 1) * var(--cw) * .12 + 6px)}.bj-hand-cards{align-items:flex-end;display:flex}.bj-hand-cards .bj-card{transform:translateY(calc(var(--i) * var(--cw) * -.12))}.bj-hand-cards .bj-card+.bj-card{margin-left:calc(var(--cw) * -.7)}.bj-hand-cards .bj-card.bj-sideways{margin-left:calc(var(--cw) * -.1);transform:translateY(calc(var(--i) * var(--cw) * -.12)) rotate(90deg)}.bj-hand-chips{top:calc(100% + var(--chip-gap));gap:4px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.bj-stack{width:var(--chip);height:var(--chip);display:block;position:relative}.bj-stack-chip{left:0;bottom:calc(var(--k) * var(--chip) * .08);width:100%;height:100%;position:absolute}.bj-stack-chip svg{filter:drop-shadow(0 2px 2px #00000080);width:100%;height:100%;display:block}.bj-banner{max-width:94%;color:var(--print);text-align:center;white-space:nowrap;background:#06140dd9;border:1px solid #f2d68c99;border-radius:999px;padding:8px 22px;font-size:max(14px,2.2cqw);font-weight:600;animation:.3s ease-out both bj-deal;position:absolute;top:39%;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0006}.bj-banner b{color:#fff}.bj-console{justify-items:center;gap:12px;display:grid}.bj-status{text-align:center;min-height:1.6em;color:var(--soft);margin:0}.bj-status-coach{color:#ffd27a}.bj-hint-text{color:var(--success-soft);font-weight:600}.bj-gain{color:#6ee7a8;white-space:nowrap}.bj-status .bj-link-button{display:none}.bj-keys{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.bj-key{border:1px solid var(--border-strong);background:var(--surface);min-width:112px;min-height:52px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:0 18px;font-weight:600}.bj-key:hover:not(:disabled){background:var(--surface-2)}.bj-key:disabled{opacity:.38;cursor:default}.bj-key-short{display:none}.bj-key-hint{border:2px solid var(--success);color:#c9f5da;background:#0f2a1c;box-shadow:0 0 20px #2ed67359}.bj-key-best,.bj-key-best:hover:not(:disabled){color:#052e1c;background:linear-gradient(#6ee7a8,#22b866);border:0}.bj-key-deal,.bj-key-deal:hover:not(:disabled){background:var(--gold);color:var(--on-gold);border:0}.bj-betting{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.bj-rack{background:var(--surface);border:1px solid var(--border);border-radius:999px;flex-wrap:wrap;justify-content:center;gap:10px;padding:8px 14px;display:flex}.bj-chip-button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:52px;height:52px;padding:0;transition:transform .12s}.bj-chip-button svg{width:100%;height:100%;display:block}.bj-chip-button:hover:not(:disabled){transform:translateY(-2px)}.bj-chip-button:disabled{opacity:.35;cursor:default}.bj-console .tm{width:min(100%,560px)}@container bjtable (width<=560px){.bj-table{padding:6px 2.2% 3%}.bj-felt{--cw-base:12.6cqw;--chip:8.4cqw;--chip-gap:3.4cqw;--tag:12px;aspect-ratio:358/400}.bj-print-wide{display:none}.bj-print-narrow{display:block}.bj-tag-dealer{margin-left:6px}.bj-dealer-cards .bj-card+.bj-card{margin-left:calc(var(--cw) * -.5)}.bj-hands{gap:calc(var(--cw) * .7)}.bj-banner{padding:6px 14px;font-size:13px;top:36%}.bj-console{background:linear-gradient(180deg, var(--apron), var(--apron-deep));border-radius:0 0 22px 22px;justify-items:stretch;gap:10px;margin:-6px 1.6% 0;padding:16px 10px 12px;box-shadow:0 20px 40px #00000080}.bj-status{color:#e3d2b0;font-size:.9rem}.bj-status-coach{color:#ffd27a}.bj-status .bj-link-button{color:var(--gold);display:inline}.bj-keys{grid-template-columns:repeat(var(--keys,2), minmax(0, 1fr));gap:6px;display:grid}.bj-keys-two{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.bj-key{color:#f3e6cf;background:#2a1b12;border-color:#4a3426;min-width:0;min-height:50px;padding:0 4px;font-size:.88rem}.bj-key:hover:not(:disabled){background:#33221a}.bj-key-deal,.bj-key-deal:hover:not(:disabled){background:var(--gold);color:var(--on-gold);border:0}.bj-key-best,.bj-key-best:hover:not(:disabled){color:#052e1c;background:linear-gradient(#6ee7a8,#22b866);border:0}.bj-key-hint{border:2px solid var(--success);color:#c9f5da;background:#0f2a1c}.bj-key-long{display:none}.bj-key-short{display:inline}.bj-betting{justify-content:stretch;display:grid}.bj-rack{background:0 0;border:0;justify-content:space-between;padding:0 2px}.bj-chip-button{width:46px;height:46px}.bj-console .tm{background:#00000059;border-color:#4a3426;width:100%}}@media (prefers-reduced-motion:no-preference){.bj-key-hint{animation:1.8s ease-in-out infinite alternate bj-glow}@keyframes bj-glow{0%{box-shadow:0 0 10px #2ed67340}to{box-shadow:0 0 24px #2ed67380}}}@media (prefers-reduced-motion:reduce){.bj-card,.bj-card.bj-flip,.bj-banner{animation:none}}.bj-trainer{background:var(--surface);border:1px solid var(--border);border-radius:20px;flex:300px;gap:14px;min-width:0;padding:20px;display:grid}.bj-trainer-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.bj-trainer-head h2{font-size:1.25rem}.bj-trainer-status{color:var(--success-soft);align-items:center;gap:8px;font-size:.8rem;display:inline-flex}.bj-trainer-status:before{content:"";background:var(--success);border-radius:50%;width:8px;height:8px}.bj-coach{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;font-size:.85rem;display:flex}.bj-level{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:3px;display:inline-flex}.bj-level button{font:inherit;color:var(--soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:.85rem}.bj-level button[aria-pressed=true]{background:var(--gold);color:var(--on-gold);font-weight:600}.bj-trainer-copy{color:var(--soft);margin:0;line-height:1.55}.bj-small{font-size:.85rem}.bj-callout{border:1px solid;border-radius:14px;gap:6px;padding:14px 16px;display:grid}.bj-callout p{color:var(--soft);margin:0;font-size:.95rem}.bj-callout-success{background:#0f2a1c;border-color:#1f5a39}.bj-callout-label{color:var(--success-soft);font-size:.8rem}.bj-callout-big{font-size:1.7rem;line-height:1.15}.bj-callout-warning{background:#2a1d0b;border-color:#6b4612}.bj-callout-warning strong{color:#fbbf5a}.bj-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.bj-button{border:1px solid var(--border-strong);min-height:44px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:12px;padding:0 16px;font-weight:500}.bj-button:hover:not(:disabled){background:var(--surface-2)}.bj-button[aria-pressed=true]{border-color:var(--success);color:var(--success-soft)}.bj-button:disabled{cursor:default;color:var(--muted)}.bj-button-primary,.bj-button-primary:hover:not(:disabled){background:var(--gold);border-color:var(--gold);color:var(--on-gold);font-weight:600}.bj-button-primary:disabled{opacity:.5;color:var(--on-gold)}.bj-link-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.bj-evs-head,.bj-recap-head{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:8px;font-size:.8rem;display:flex}.bj-evs ul,.bj-recap ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.bj-evs li{font-variant-numeric:tabular-nums;border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(40px,1fr) auto;align-items:center;gap:10px;padding:4px 6px;display:grid}.bj-evs li.bj-ev-mine{background:#f2b33d1f}.bj-evs li.bj-ev-best{font-weight:600}.bj-bar{background:var(--border);border-radius:99px;height:8px;overflow:hidden}.bj-bar span{background:#4f8cff;border-radius:99px;height:100%;display:block}.bj-ev-best .bj-bar span{background:var(--success)}.bj-ev{text-align:right;font-weight:600}.bj-tag-you{background:var(--gold);color:var(--on-gold);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.7rem;font-weight:600}.bj-recap li{background:var(--surface-2);border-radius:10px;justify-content:space-between;gap:12px;padding:7px 10px;font-size:.9rem;display:flex}.bj-ok,.bj-good{color:var(--success-soft);font-weight:600}.bj-bad{color:#ffb4a8;font-weight:600}.bj-notice{background:#2a1d0b;border:1px solid #6b4612;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:14px 16px;display:flex}.bj-help{color:var(--muted);margin:-8px 0 0;font-size:.85rem}@media (hover:none){.bj-help{display:none}}.bj-dialog{border:1px solid var(--border-strong);background:var(--surface);width:min(640px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);border-radius:22px;padding:22px;overflow:auto;box-shadow:0 30px 80px #0009}.bj-dialog[open]{gap:16px;display:grid}.bj-dialog::backdrop{background:#05070ab8}.bj-dialog-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.bj-dialog-head h2{font-size:1.35rem}.bj-close{border:1px solid var(--border);width:44px;height:44px;color:var(--soft);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:grid}.bj-dialog-foot{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (width<=560px){.bj-dialog{width:100vw;max-width:100vw;padding:18px 14px calc(16px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;margin:auto 0 0}}.bj-rules-form{gap:12px;display:grid}.bj-presets{flex-wrap:wrap;gap:8px;display:flex}.bj-presets button{border:1px solid var(--border);min-height:36px;color:var(--soft);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:0 12px;font-size:.85rem}.bj-presets button:hover{color:var(--text);border-color:var(--border-strong)}.bj-field{grid-template-columns:170px minmax(0,1fr);align-items:center;gap:12px;display:grid}.bj-field-label{color:var(--soft);font-size:.9rem}.bj-opts{background:var(--bg);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-self:start;gap:4px;padding:3px;display:inline-flex}.bj-opts button{min-width:44px;min-height:36px;color:var(--soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 12px;font-size:.9rem}.bj-opts button[aria-pressed=true]{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong);font-weight:600}.bj-more{gap:12px;display:grid}.bj-more[open]{padding-bottom:4px}.bj-more summary{min-height:36px;color:var(--accent);cursor:pointer;align-items:center;font-weight:500;display:flex}.bj-more>.bj-field+.bj-field,.bj-more>summary+.bj-field{margin-top:12px}@media (width<=560px){.bj-field{grid-template-columns:minmax(0,1fr);gap:4px}.bj-opts{justify-self:stretch}.bj-opts button{flex:1 1 0;padding:0 6px}}.bj-edge-box{background:var(--bg);border:1px solid var(--border);border-radius:16px;gap:10px;padding:16px 18px;display:grid}.bj-edge-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.bj-edge-big{font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:700;line-height:1}.bj-edge-big.bj-good{color:var(--success-soft)}.bj-edge-big.bj-bad{color:#f08a7e}.bj-edge-note{color:var(--soft);margin:0;font-size:.9rem}.bj-scale{background:linear-gradient(90deg,#2ed673,#f2b33d 45%,#f08a7e);border-radius:5px;height:10px;position:relative}.bj-scale i{width:4px;height:20px;box-shadow:0 0 0 2px var(--bg);background:#fff;border-radius:2px;position:absolute;top:-5px;transform:translate(-50%)}.bj-scale-labels{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.75rem;display:flex}.bj-strategy{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.bj-strategy-charts{flex:999 600px;min-width:0}.bj-strategy-side{background:var(--surface);border:1px solid var(--border);border-radius:20px;flex:280px;gap:14px;padding:20px;display:grid}.bj-strategy-side h2{font-size:1.1rem;line-height:1.35}.bj-strategy-edge{color:var(--soft);margin:0}.bj-calculator-grid{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.bj-calculator-grid>.bj-rules-form{flex:420px;min-width:0}.bj-calculator-result{flex:300px;gap:12px;min-width:0;display:grid}.bj-calculator-links{flex-wrap:wrap;gap:10px;margin:0;display:flex}.bj-calculator-links .bj-button{align-items:center;text-decoration:none;display:inline-flex}
