:root{--bj-bg: #07160d;--bj-panel: rgba(7, 17, 12, .78);--bj-panel-border: rgba(255, 238, 196, .22);--bj-text: #f7f5eb;--bj-muted: rgba(247, 245, 235, .72);--bj-gold: #f0c562;--bj-green: #1f9d63;--bj-red: #cc4d41;--bj-blue: #2b7fff;--bj-amber: #b87a22;--bj-shadow: 0 18px 40px rgba(0, 0, 0, .32)}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at top,rgba(36,103,63,.22),transparent 44%),linear-gradient(180deg,#102f1d 0%,var(--bj-bg) 72%);color:var(--bj-text);font-family:Trebuchet MS,Avenir Next,Arial,sans-serif;-webkit-tap-highlight-color:transparent;user-select:none}body{touch-action:manipulation}#game-container{width:100vw;height:100vh;position:relative}canvas{display:block;width:100%;height:100%}.bj-ui{position:fixed;inset:0;z-index:999;pointer-events:none}.bj-hud{position:absolute;inset:0}.bj-topbar{position:absolute;top:max(14px,env(safe-area-inset-top));left:16px;right:16px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.bj-panel{min-width:148px;padding:10px 12px;border:1px solid var(--bj-panel-border);border-radius:14px;background:linear-gradient(180deg,rgba(17,31,22,.92),var(--bj-panel));backdrop-filter:blur(16px);box-shadow:var(--bj-shadow)}.bj-panel strong{display:block;margin-top:2px;font-size:1.2rem;line-height:1.1;color:#fff7dc}.bj-panel-label,.bj-panel-meta{display:block}.bj-panel-label{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffecbab3}.bj-panel-meta{margin-top:3px;font-size:.73rem;color:var(--bj-muted)}.bj-message{--message-accent: var(--bj-gold);position:absolute;top:max(70px,calc(env(safe-area-inset-top) + 56px));left:50%;transform:translate(-50%);min-width:min(420px,calc(100vw - 40px));max-width:min(520px,calc(100vw - 40px));padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-left:3px solid var(--message-accent);border-radius:12px;background:#08120dd1;box-shadow:var(--bj-shadow);backdrop-filter:blur(14px);text-align:center}.bj-message__eyebrow{display:block;margin-bottom:3px;font-size:.58rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff3ccb3}.bj-message strong{display:block;font-size:clamp(.84rem,1.6vw,1rem);font-weight:800;color:#fffdf7}.bj-score{position:absolute;min-width:56px;padding:7px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#08100ccc;box-shadow:var(--bj-shadow);opacity:0;transform:translate(-50%,-50%) scale(.92);transition:opacity .14s ease,transform .14s ease,border-color .14s ease;backdrop-filter:blur(12px);will-change:left,top,transform;text-align:center}.bj-score.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.bj-score.is-active{border-color:#f0c562ad;box-shadow:0 18px 40px #5336065c}.bj-score.is-bust{border-color:#cc4d41b3}.bj-score.is-blackjack{border-color:#f0c562d9}.bj-score__tag{display:block;font-size:.48rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff0cfb3;line-height:1}.bj-score__value{display:block;margin:3px 0 0;font-size:1rem;line-height:1}.bj-score__detail{display:none;font-size:.66rem;color:var(--bj-muted)}.bj-controls{position:absolute;left:16px;right:16px;bottom:max(14px,env(safe-area-inset-bottom));padding:10px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#0a140feb,#060c09db);box-shadow:0 20px 44px #0000006b;backdrop-filter:blur(18px);pointer-events:auto;text-align:center}.bj-controls__summary{margin-bottom:8px;font-size:.82rem;font-weight:700;color:#fff7e1d6}.bj-controls__group+.bj-controls__group{margin-top:8px}.bj-controls__heading{margin-bottom:6px;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffe8b0b8}.bj-chip-row,.bj-action-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.bj-btn{appearance:none;border:0;border-radius:14px;min-height:44px;padding:0 12px;color:#fffefb;font:inherit;font-weight:800;cursor:pointer;pointer-events:auto;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;box-shadow:0 10px 22px #0000003d}.bj-btn span,.bj-btn small{display:block}.bj-btn small{margin-top:2px;font-size:.62rem;font-weight:700;color:#ffffffc7}.bj-btn:hover:not(:disabled),.bj-btn:active:not(:disabled){transform:translateY(-1px) scale(1.01)}.bj-btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.bj-btn--small{min-height:38px;padding:0 10px}.bj-btn--chip{border-radius:999px;background:linear-gradient(180deg,#d35149,#7c1e1a)}.bj-btn--primary{background:linear-gradient(180deg,#2eb872,#17724a)}.bj-btn--secondary{background:linear-gradient(180deg,#3f8eff,#1f56af)}.bj-btn--warning{background:linear-gradient(180deg,#f1c05a,#9b6114);color:#211202}.bj-btn--warning small{color:#211202c7}.bj-btn--ghost{background:linear-gradient(180deg,#ffffff2e,#ffffff14);border:1px solid rgba(255,255,255,.14)}.gamuse-loading,.gamuse-game-over,.gamuse-pause,.gamuse-start-menu{font-family:Trebuchet MS,Avenir Next,Arial,sans-serif}.bj-animation-layer{position:fixed;inset:0;pointer-events:none;z-index:1000;overflow:hidden;font-family:Trebuchet MS,Avenir Next,Arial,sans-serif}.bj-chip{--x-offset: 0px;--delay: 0s;position:absolute;bottom:-140px;left:calc(50% + var(--x-offset));width:82px;height:82px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#ffe7a1 32%,#d4af37 68%,#8d6d1f);box-shadow:0 10px 20px #00000059;display:flex;align-items:center;justify-content:center;color:#2f2500;font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:1px;opacity:0;transform:translate3d(-50%,80px,0) scale(.35);animation:bj-chip-flight .9s cubic-bezier(.32,.72,.17,1.05) forwards;animation-delay:var(--delay)}.bj-chip:after{content:"";position:absolute;inset:12px;border-radius:50%;border:3px solid rgba(0,0,0,.2);box-shadow:inset 0 0 0 4px #ffffff73}.bj-chip--alt{background:radial-gradient(circle at 30% 30%,#fff,#ffd4e3 32%,#ee3a7b 68%,#861a45);color:#49091f}.bj-chip--cool{background:radial-gradient(circle at 30% 30%,#fff,#c9efff 32%,#2ba4ff 68%,#0f4a7b);color:#062d4a}@keyframes bj-chip-flight{0%{opacity:0;transform:translate3d(-50%,140px,0) scale(.2)}35%{opacity:1;transform:translate3d(-50%,-40px,0) scale(.8)}65%{transform:translate3d(-50%,-200px,0) scale(.9)}to{opacity:0;transform:translate3d(-50%,-240px,0) scale(.75)}}.bj-coin{--x-offset: 0px;--delay: 0s;position:absolute;left:calc(50% + var(--x-offset));bottom:120px;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff8d5 15%,#f7d666 55%,#cd9f26);box-shadow:0 6px 14px #00000059;opacity:0;transform:translate3d(-50%,0,0) scale(.5);animation:bj-coin-pop 1.1s ease-out forwards;animation-delay:var(--delay)}.bj-coin:after{content:"$";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#4a2b00;font-size:18px;font-weight:700}@keyframes bj-coin-pop{0%{opacity:0;transform:translate3d(-50%,40px,0) scale(.4)}30%{opacity:1;transform:translate3d(-50%,-80px,0) scale(1)}60%{transform:translate3d(-50%,-160px,0) scale(.95);opacity:.85}to{opacity:0;transform:translate3d(-50%,-220px,0) scale(.8)}}.bj-payout-label{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%) scale(.7);font-size:44px;font-weight:800;color:#ffe77a;text-shadow:0 0 12px rgba(0,0,0,.6),0 0 30px rgba(255,231,122,.6);letter-spacing:1px;opacity:0;animation:bj-payout-label 1.2s cubic-bezier(.19,1,.22,1) forwards}@keyframes bj-payout-label{0%{opacity:0;transform:translate(-50%,-30%) scale(.4)}40%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}70%{opacity:1;transform:translate(-50%,-58%) scale(1)}to{opacity:0;transform:translate(-50%,-75%) scale(1.05)}}.bj-outcome-banner{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%) scale(.6);padding:22px 36px;border-radius:48px;background:linear-gradient(135deg,#000000bf,#0000008c);color:#fff;font-size:36px;font-weight:800;letter-spacing:2px;text-transform:uppercase;text-shadow:0 6px 18px rgba(0,0,0,.7);box-shadow:0 18px 35px #00000059;opacity:0;animation:bj-outcome-pop 1.25s cubic-bezier(.22,1,.36,1) forwards}.bj-outcome-banner strong{display:block;font-size:54px;letter-spacing:4px}.bj-outcome-banner span{display:block;margin-top:6px;font-size:22px;font-weight:600;letter-spacing:1px}.bj-outcome-banner--win{background:linear-gradient(135deg,#106c25f2,#2ac75cd9);box-shadow:0 18px 40px #2ac75c73}.bj-outcome-banner--blackjack{background:linear-gradient(135deg,#dcb64cf2,#8f5a0fd9);box-shadow:0 18px 40px #d4af378c;color:#241000;text-shadow:none}.bj-outcome-banner--push{background:linear-gradient(135deg,#344b74f2,#182440bf);box-shadow:0 18px 40px #344b7466}.bj-outcome-banner--lose{background:linear-gradient(135deg,#771818f2,#2e0707bf);box-shadow:0 18px 40px #7718188c}@keyframes bj-outcome-pop{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}60%{transform:translate(-50%,-52%) scale(1)}to{opacity:0;transform:translate(-50%,-70%) scale(.95)}}.bj-coin--push{background:radial-gradient(circle at 35% 35%,#ecf2ff 15%,#aebfff 55%,#3a4fa7)}.bj-coin--push:after{color:#101f53}.bj-coin--blackjack{background:radial-gradient(circle at 35% 35%,#fff7d1 15%,#ffd66c 55%,#c0911c)}.bj-coin--blackjack:after{content:"21";color:#4b2c00;font-size:16px}@media (max-width: 768px){.bj-topbar{left:12px;right:12px;gap:8px}.bj-panel{min-width:0;flex:1 1 0;padding:8px 10px;border-radius:12px}.bj-panel strong{font-size:1rem}.bj-message{top:calc(env(safe-area-inset-top) + 52px);min-width:auto;max-width:calc(100vw - 88px);padding:6px 10px;border-radius:10px}.bj-score{min-width:52px;padding:6px 7px}.bj-controls{left:12px;right:12px;padding:8px;border-radius:14px}.bj-chip-row,.bj-action-row{gap:6px}.bj-btn{flex:1 1 calc(50% - 6px);min-height:38px;padding:0 10px;border-radius:12px;font-size:.86rem}.bj-btn--small{flex-basis:calc(33.333% - 6px);min-height:34px}.bj-controls__summary{margin-bottom:6px;font-size:.74rem}.bj-controls__group+.bj-controls__group{margin-top:6px}.bj-controls__heading{margin-bottom:4px;font-size:.56rem}.bj-score__tag{font-size:.42rem}.bj-score__value{font-size:.92rem}.bj-chip{width:68px;height:68px;font-size:16px}.bj-payout-label{font-size:32px}.bj-outcome-banner{width:min(82vw,360px);padding:18px 20px}.bj-outcome-banner strong{font-size:36px;letter-spacing:2px}.bj-outcome-banner span{font-size:16px}}@media (max-width: 520px){.bj-topbar{right:auto;width:auto;gap:6px}.bj-deck-panel{display:none}.bj-message{top:calc(env(safe-area-inset-top) + 52px);max-width:calc(100vw - 112px);left:auto;right:12px;transform:none;text-align:left}.bj-btn{flex-basis:calc(50% - 6px)}.bj-btn--small{flex-basis:calc(33.333% - 6px)}}
