:root{color-scheme:dark;--cream:#eee4cc;--muted:#b8ae95;--bronze:#bd8b51;--green:#183b2b;font-family:Georgia,'Times New Roman',serif;background:#131912;color:var(--cream)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#59634522,transparent 65%),#131912}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,select{font:700 12px/1.4 system-ui,sans-serif;cursor:pointer;color:var(--cream);background:#263b2e;border:1px solid #ab895688;border-radius:6px;min-height:44px;padding:11px 17px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:hover:not(:disabled){background:#34503e;border-color:#e2b77c}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e6bc77;outline-offset:4px}[hidden]{display:none!important}.bj-header{max-width:1140px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:auto;padding:22px;border-bottom:1px solid #ffffff19;font:700 11px system-ui;letter-spacing:1px}.bj-header span{color:var(--muted)}main{max-width:1100px;padding:32px 24px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.eyebrow{font:700 10px/1.6 system-ui;letter-spacing:2px;color:#c5b087;margin:0 0 8px}h1{font-size:clamp(35px,5.9vw,65px);line-height:1.05;letter-spacing:-1.5px;margin:0 0 10px}.subtitle{font-style:italic;font-size:16px;color:#cbbd9f;line-height:1.5;margin:0}.table-badge{border:1px solid #ac855355;border-radius:50%;text-align:center;white-space:nowrap;padding:21px 15px;font:700 8px/1.8 system-ui;color:#b49d73;transform:rotate(7deg)}.table-badge strong{display:block;color:var(--cream);font:700 20px Georgia;margin:3px 0}.top-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 15px}.top-controls>span{font:700 9px system-ui;letter-spacing:1px;color:var(--muted)}.top-controls>div{display:flex;gap:7px;flex-wrap:wrap}.top-controls button{font-size:10px;padding:8px 11px;background:#1e2d22}.casino-table{border:1px solid #bc8e5666;padding:12px;border-radius:30px 30px 44px 44px;background:repeating-linear-gradient(2deg,#5c3a1f88 0,#3a271788 3px,#261a1088 5px),linear-gradient(100deg,#523a25,#241b12);box-shadow:0 18px 60px #0006,inset 0 1px 1px #d3a66f55}.table-felt{padding:22px 30px 18px;border:1px solid #b8995b55;border-radius:20px 20px 30px 30px;background:radial-gradient(ellipse at 50% 35%,#2d5840,#173b2a 80%);box-shadow:inset 0 5px 25px #07170dc9,inset 0 0 1px 4px #14291b44;min-height:510px}.dealer-heading{display:flex;align-items:center;gap:12px;max-width:820px;margin:auto}.dealer-heading img{width:62px;height:62px;border-radius:50%;border:1px solid #d0af7188;box-shadow:0 4px 10px #0005}.dealer-heading>div>p:last-child{font:700 11px/1.5 system-ui;color:#e1d0a9;margin:0}.dealer-heading .eyebrow{margin-bottom:4px}.shoe-label{margin-left:auto;font:700 9px/1.5 system-ui;letter-spacing:1px;color:#a9b89b;text-align:right}.dealer-cards{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;max-width:750px;margin:18px auto 0;min-height:121px}.playing-card{flex:0 0 auto;position:relative;width:85px;height:121px;border:1px solid #bdaa83;border-radius:7px;background:linear-gradient(140deg,#fffdf3,#ece3ce);box-shadow:1px 3px 4px #0005,inset 0 1px #fff;color:#1d2821;overflow:hidden}.playing-card.red{color:#a33e2e}.card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1;left:6px;top:5px;font-size:17px}.card-corner b{font-weight:700}.card-corner span{font-size:13px;margin-top:2px}.card-corner.bottom{top:auto;left:auto;right:6px;bottom:5px;transform:rotate(180deg)}.card-center{position:absolute;inset:24% 29%;font-size:20px}.card-center>span{position:absolute;transform:translate(-50%,-50%);line-height:1}.card-center .inverted{transform:translate(-50%,-50%) rotate(180deg)}.card-center.ace{inset:22% 19%;display:flex;align-items:center;justify-content:center;font-size:46px}.card-center.court{inset:18% 22%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #b39051;border-radius:40%;background:repeating-linear-gradient(45deg,#b89b5520 0 2px,transparent 2px 5px);font-size:32px}.card-center.court small{font-size:19px}.card-back{background:repeating-linear-gradient(45deg,#193d2d 0 3px,#355d40 3px 5px);border:5px solid #e6ddc5;display:flex;align-items:center;justify-content:center;box-shadow:1px 3px 4px #0005,inset 0 0 0 1px #c6aa6f}.card-back>span{color:#d7bf85;border:1px solid #c1aa6c;border-radius:50%;padding:7px 12px;font-size:25px;background:#1a382bdd}.card-placeholder{width:85px;height:121px;border:1px solid #d8c99c2b;border-radius:7px;display:inline-flex;justify-content:center;align-items:center;color:#d8c99c20;font-size:38px;flex:0 0 auto}.table-lettering{text-align:center;color:#bfab72aa;padding:18px 0 15px;letter-spacing:3px}.table-lettering span{display:block;font-size:18px;transform:perspective(500px) rotateX(13deg)}.table-lettering small{display:block;font:700 8px/1.6 system-ui;letter-spacing:2px;margin-top:5px}.hands{display:grid;grid-template-columns:1fr;gap:15px;max-width:830px;margin:auto}.hands.split-hands{grid-template-columns:repeat(2,minmax(0,1fr))}.hand{min-width:0;border:1px solid #d9bd7b26;border-radius:12px;padding:12px;background:#102b1c22;transition:border-color .2s,background .2s}.hand.active{border-color:#e4bb71;background:#c9a55309;box-shadow:0 0 0 2px #d9b16812}.hand-win{border-color:#c6ab71}.hand-empty{text-align:center;border-color:transparent}.hand-empty p{font:700 10px system-ui;letter-spacing:2px;color:#c4b78f;margin:0 0 10px}.hand-empty .card-placeholder{margin:0 3px}.hand-header{display:flex;gap:10px;align-items:center;justify-content:center;font:700 10px/1.5 system-ui;letter-spacing:1px;margin:0 0 12px}.hand-header span{color:#f6dc9d;font-size:15px}.hand-cards{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.hand-bet{margin:10px 0 0;text-align:center;font:700 10px/1.7 system-ui;letter-spacing:.4px;color:#cabb94}.split-hands .playing-card{width:65px;height:93px}.split-hands .card-corner{font-size:14px;left:4px;top:4px}.split-hands .card-corner.bottom{left:auto;top:auto;right:4px;bottom:4px}.split-hands .card-corner span{font-size:10px}.split-hands .card-center{font-size:16px}.split-hands .card-center.ace{font-size:37px}.split-hands .card-center.court{font-size:24px}.split-hands .card-center.court small{font-size:15px}.status-banner{max-width:830px;margin:16px auto 0;min-height:43px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:6px;padding:9px 12px;background:#0b26172b}.status-banner p{font-size:15px;line-height:1.6;margin:0}.status-banner.result{border:1px solid #d2b57855;background:#101d1544}.status-banner.positive p{color:#f2d08f}.status-banner.negative p{color:#ead5bc}.remark{display:flex;justify-content:center;align-items:center;gap:10px;max-width:800px;margin:7px auto 0}.remark p{font:italic 12px/1.7 Georgia;color:#bdc5a4;margin:0}.remark button{border:0;background:transparent;font-size:20px;padding:5px;flex:0 0 44px}.table-rail{display:flex;justify-content:center;gap:60px;padding:20px 15px 7px;text-align:center}.table-rail span{display:block;font:700 8px system-ui;letter-spacing:1px;color:#c8b089}.table-rail strong{display:block;font-size:27px;margin:5px 0 0;color:#f0e2c2;font-variant-numeric:tabular-nums}.decision-panel{max-width:820px;margin:24px auto 28px;padding:20px 26px;border-radius:12px;background:linear-gradient(120deg,#283526,#1c281d);border:1px solid #b2955a44}.bet-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.bet-heading p{font:700 10px system-ui;letter-spacing:1px;margin:0}.bet-heading p span{display:block;font:11px/1.8 system-ui;color:var(--muted);letter-spacing:0;margin-top:3px}.quiet{background:transparent;font-size:11px}.chip-buttons{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin:20px 0 24px}.chip{position:relative;width:66px;height:66px;border-radius:50%;min-height:0;border:5px dashed #e8dcc3;padding:5px;background:#ddd9cb;box-shadow:0 4px 0 #101e14,0 7px 10px #0006;transition:transform .15s}.chip>span{display:flex;width:100%;height:100%;border:1px solid #f4e8cfaa;border-radius:50%;align-items:center;justify-content:center;font:700 21px Georgia;box-shadow:inset 0 0 0 3px #10101018}.chip-5{background:#963e32}.chip-10{background:#315a79}.chip-25{background:#39764d}.chip-50{background:#67517c}.chip-100{background:#292d29}.chip:hover:not(:disabled){transform:translateY(-3px);background-color:#54704b}.chip:active:not(:disabled){transform:translateY(2px)}.bet-actions{display:flex;justify-content:center;gap:10px}.bet-actions .primary{min-width:170px}.primary{background:linear-gradient(#c39857,#a67b3e);color:#172317;border-color:#d1ad70}.primary:hover:not(:disabled){background:#d0ad70;color:#152416}.hand-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.hand-actions button{min-height:52px;letter-spacing:1px}.insurance-controls p{text-align:center;font:13px/1.7 system-ui;color:#d7ccad}.insurance-controls>div,.between-controls{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.small{font:11px/1.8 system-ui;color:var(--muted)}#action-note{text-align:center;margin:15px 0 0}.br-game-radio{margin:25px 0!important}.rules{border:1px solid #ffffff1b;padding:22px;border-radius:10px;margin-top:24px;background:#1a261c}.rules summary{font:700 13px/1.6 system-ui;letter-spacing:1px;cursor:pointer}.rules>div{columns:2;column-gap:30px}.rules p{font:12px/1.9 system-ui;color:#c8c2ae;break-inside:avoid}footer{text-align:center;padding:30px 0 12px;color:var(--muted);font:11px/1.8 system-ui}footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}footer p{font-size:10px}dialog{width:min(570px,calc(100% - 28px));max-height:90dvh;border:1px solid #bd975d;border-radius:14px;padding:28px;background:linear-gradient(125deg,#2b3d2b,#17291e);color:var(--cream);box-shadow:0 20px 100px #000b}dialog::backdrop{background:#09120bd4;backdrop-filter:blur(3px)}dialog h2{font-size:27px;margin:5px 0 20px}dialog>p{font:13px/1.8 system-ui;color:#cfbea0}.dialog-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.statistics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 22px}.statistics span{display:block;font:11px/1.5 system-ui;color:var(--muted)}.statistics strong{display:block;font-size:25px;margin-top:4px}#settings-dialog>button{margin:8px 0;display:block}#settings-dialog .small{font-size:11px;margin-top:0}#close-stats{margin-top:18px}.preview-banner{text-align:center;background:#503c22;padding:8px;font:10px/1.7 system-ui;color:#e8cea1}.dealt{animation:deal-card .32s cubic-bezier(.2,.6,.3,1) both}@keyframes deal-card{from{opacity:0;transform:translate(35px,-25px) rotate(8deg)}to{opacity:1;transform:none}}@media(max-width:760px){main{padding:24px 14px}.bj-header{padding:17px 14px}.bj-header span{display:none}.table-badge{display:none}.heading{margin-bottom:22px}.subtitle{font-size:14px}.top-controls{flex-wrap:wrap;gap:10px}.top-controls>span{font-size:8px}.top-controls>div{gap:6px}.top-controls button{padding:8px 10px}.table-felt{padding:18px 18px 14px;min-height:480px}.casino-table{padding:9px;border-radius:23px 23px 34px 34px}.dealer-heading img{width:52px;height:52px}.dealer-heading .eyebrow{font-size:9px}.shoe-label{font-size:8px}.table-rail{gap:35px;padding-top:16px}.table-rail strong{font-size:24px}.rules>div{columns:1}.decision-panel{padding:18px 20px}.chip-buttons{gap:19px}}@media(max-width:480px){h1{font-size:35px;letter-spacing:-1.1px}.heading .eyebrow{font-size:9px}.subtitle{font-size:13px}.casino-table{padding:7px;border-radius:20px 20px 30px 30px}.table-felt{padding:15px 10px 12px;border-radius:14px 14px 22px 22px;min-height:440px}.dealer-heading{gap:9px}.dealer-heading img{width:43px;height:43px}.dealer-heading>div>p:last-child{font-size:9px}.dealer-heading .eyebrow{font-size:8px;letter-spacing:1px}.shoe-label{font-size:7px;max-width:70px;letter-spacing:.4px}.playing-card,.card-placeholder{width:64px;height:92px;border-radius:5px}.dealer-cards{gap:6px;min-height:92px;margin-top:16px}.card-corner{font-size:15px;left:4px;top:4px}.card-corner span{font-size:10px}.card-corner.bottom{right:4px;bottom:4px}.card-center{font-size:16px}.card-center.ace{font-size:36px}.card-center.court{font-size:25px}.card-center.court small{font-size:14px}.card-back{border-width:4px}.card-back>span{font-size:20px;padding:5px 9px}.hand{padding:10px 7px;border-radius:8px}.hands{gap:8px}.hand-cards{gap:5px}.hand-header{font-size:8px;letter-spacing:.5px;gap:8px;margin-bottom:9px}.hand-header span{font-size:13px}.hand-bet{font-size:8px;letter-spacing:0}.split-hands .playing-card{width:43px;height:63px;border-radius:4px}.split-hands .card-corner{font-size:11px;left:3px;top:3px}.split-hands .card-corner.bottom{right:3px;bottom:3px}.split-hands .card-corner span{font-size:8px;margin-top:1px}.split-hands .card-center{inset:28% 31%;font-size:12px}.split-hands .card-center.ace{inset:20% 22%;font-size:27px}.split-hands .card-center.court{inset:20% 25%;font-size:19px}.split-hands .card-center.court small{font-size:11px}.table-lettering{padding:15px 0 13px;letter-spacing:2px}.table-lettering span{font-size:13px}.table-lettering small{font-size:7px}.status-banner{padding:8px;margin-top:12px}.status-banner p{font-size:12px}.remark p{font-size:11px}.table-rail{gap:18px;padding:16px 8px 5px}.table-rail span{font-size:7px;letter-spacing:.4px}.table-rail strong{font-size:23px}.decision-panel{margin:20px auto;padding:16px 12px}.chip-buttons{gap:9px;margin:18px 0 23px}.chip{width:46px;height:46px;border-width:4px;padding:3px}.chip>span{font-size:16px}.bet-heading p{font-size:9px}.bet-heading p span{font-size:10px}.bet-heading .quiet{padding:8px 9px;font-size:10px}.bet-actions{gap:7px;flex-wrap:wrap}.bet-actions .primary{width:100%;min-width:0}.bet-actions button:not(.primary){flex:1}.hand-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.hand-actions button{min-height:49px}.insurance-controls>div{flex-direction:column}.insurance-controls button{width:100%}.rules{padding:18px}.rules summary{font-size:11px}.top-controls>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:5px}.top-controls button{padding:8px 5px;font-size:9px}.small{font-size:10px}footer nav{gap:14px}dialog{padding:23px 18px}dialog h2{font-size:24px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.table-badge{transform:none}}
