:root{--bg: #090909;--panel: #111111;--panel-strong: #171717;--line: #2d2d2d;--line-hot: #7ee081;--amber: #f4a641;--ice: #d2d7d3;--muted: #889189;--danger: #ff6b57;--shadow: rgba(0, 0, 0, .45);--font-ui: "Chakra Petch", "Avenir Next Condensed", "Segoe UI", sans-serif;--font-display: "Orbitron", "Eurostile", "Bank Gothic", sans-serif}:root{color-scheme:dark}body{margin:0;min-height:100vh;height:100vh;overflow:hidden;font-family:var(--font-ui);color:var(--ice);background:radial-gradient(circle at 50% 10%,rgba(126,224,129,.08),transparent 22%),linear-gradient(180deg,#0f0f0f,#070707)}a{color:inherit}.hub-shell{width:min(1200px,calc(100% - 32px));margin:0 auto;height:100vh;padding:28px 0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:24px}.top-bar,.registry-panel{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 26%),var(--panel-strong);box-shadow:0 24px 70px var(--shadow)}.top-bar{padding:18px 24px;display:flex;align-items:center;min-height:88px;border-color:#7ee08161}.top-bar-copy{display:grid;gap:6px}.registry-panel{padding:24px;display:grid;gap:22px}.registry-panel{min-height:0;grid-template-rows:auto minmax(0,1fr)}.eyebrow{font-family:var(--font-display);color:var(--amber);font-size:11px;letter-spacing:.24em;text-transform:uppercase}.top-bar h1,.section-heading h2,.game-card h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em}.top-bar h1{font-size:clamp(22px,4vw,34px)}.section-heading h2{font-size:clamp(18px,2.8vw,26px)}.game-card h2{font-size:20px}.section-heading{display:grid;gap:10px}.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-auto-rows:1fr;gap:18px;min-height:0;overflow-y:auto;align-content:start;padding-right:6px}.game-card{display:grid;grid-template-rows:1fr auto;gap:14px;padding:18px;min-height:220px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 30%),#101010;justify-items:center;text-align:center;position:relative;overflow:hidden}.game-card>*{position:relative;z-index:1}.game-card-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.18;filter:drop-shadow(0 12px 24px rgba(0,0,0,.4))}.game-card-art:before,.game-card-art:after{content:"";position:absolute;width:128px;aspect-ratio:5 / 7;background-repeat:no-repeat;background-position:center;background-size:contain}.game-card-art:before{left:10px;bottom:-4px;background-image:var(--tile-card-left);transform:rotate(-18deg)}.game-card-art:after{right:12px;top:20px;background-image:var(--tile-card-right);transform:rotate(15deg)}.game-card.has-card-art .game-card-header{text-shadow:0 1px 0 rgba(0,0,0,.9)}.game-card-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;width:100%;justify-content:center}.hub-button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:48px;padding:12px 16px;border:1px solid var(--line);background:var(--amber);color:#120c03;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.14em;text-decoration:none;text-transform:uppercase;box-shadow:4px 4px #000;margin-top:auto;justify-self:center}.hub-button.secondary{background:#171717;color:var(--ice)}.hub-button:disabled{cursor:not-allowed;opacity:.72;filter:none}.hub-button:hover{filter:brightness(1.05)}.hub-button:disabled:hover{filter:none}@media(max-width:720px){.hub-shell{width:min(100%,calc(100% - 20px));padding-top:18px;padding-bottom:18px}.top-bar,.registry-panel{padding:18px}.game-card-header{flex-direction:column}}*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui);color:var(--ice);background:radial-gradient(circle at 50% 15%,rgba(126,224,129,.08),transparent 24%),linear-gradient(180deg,#101010,#070707);min-height:100vh}.game-shell,.blackjack-shell{width:100%;min-height:100vh;padding:0;display:grid;grid-template-columns:320px 1fr;gap:0}h1,h2,p{margin:0}.game-sidebar,.masthead{min-height:100vh;border-right:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 22%),#0d0d0d;padding:28px 22px;box-shadow:18px 0 40px var(--shadow);display:flex;flex-direction:column;gap:22px}.game-title,.title{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"eyebrow" "title";align-items:center;column-gap:0;gap:6px}.title h1{grid-area:title;font-family:var(--font-display);font-size:clamp(17px,2.1vw,30px);letter-spacing:.12em;text-transform:uppercase}.tagline{display:none}.game-arena,.arena{display:grid;place-items:center;padding:20px}.felt-surface,.table{width:100%;min-height:calc(100vh - 40px);border:1px solid var(--felt-line-hot, var(--line-hot));--result-flash: transparent;background:linear-gradient(180deg,var(--felt-top-highlight, rgba(126, 224, 129, .08)),transparent 22%),radial-gradient(circle at center,var(--felt-center, rgba(18, 51, 22, .95)),var(--felt-edge, rgba(6, 15, 8, .98)));box-shadow:0 0 0 1px var(--felt-inner-glow, rgba(126, 224, 129, .15)) inset,0 25px 70px var(--shadow);padding:26px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.felt-surface.result-flash,.table.result-flash{animation:table-border-flash 1.3s ease-out}.felt-surface:before,.felt-surface:after,.table:before,.table:after{content:"";position:absolute;top:22px;right:22px;bottom:22px;left:22px;border:1px solid var(--felt-frame, rgba(244, 166, 65, .16));pointer-events:none}.felt-surface:after,.table:after{top:36px;right:36px;bottom:36px;left:36px;border-color:var(--felt-inner-frame, rgba(255, 255, 255, .05))}.hand{display:grid;gap:12px;justify-items:center;text-align:center;margin:18px 0;position:relative;z-index:1}.hand h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.18em;font-size:15px;color:var(--amber)}.game-hand-row,.player-hands{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:18px;width:100%}.dock{display:grid;gap:16px}.game-panel,.panel{border:1px solid var(--line);background:var(--panel-strong);padding:16px;box-shadow:0 18px 50px var(--shadow)}.game-panel h2,.panel h2{margin-bottom:12px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.16em;font-size:13px;color:var(--amber)}.baccarat-subhead{color:var(--muted);font-size:14px;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.baccarat-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.baccarat-pill{padding:8px 10px;border:1px solid rgba(255,255,255,.08);background:#0003;font-family:var(--font-display);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.baccarat-pill.accent{color:var(--amber);border-color:#f4a64166}.baccarat-lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:min(100%,980px);margin:0;position:relative;z-index:1}.baccarat-lane{display:grid;justify-items:center;gap:14px;min-height:260px;padding:22px 16px;border:1px solid rgba(255,255,255,.07);background:#0000001f}.baccarat-lane.winner{border-color:#f4a64173;box-shadow:0 0 0 1px #f4a64124 inset}.baccarat-lane-head{display:grid;gap:8px;justify-items:center}.eyebrow{display:inline-block;font-family:var(--font-display);color:var(--amber);font-size:11px;letter-spacing:.24em;text-transform:uppercase}.nav-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;width:fit-content;border:1px solid var(--line);background:#171717;color:var(--ice);font-family:var(--font-display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;box-shadow:3px 3px #000}.nav-link-button:hover{filter:brightness(1.05)}.back-button{grid-area:eyebrow;display:inline-flex;align-items:center;gap:0;align-self:center;min-width:0;padding:8px 0;font-size:11px;line-height:1;border:0;background:transparent;color:var(--amber);box-shadow:none}.eyebrow-link{text-decoration:none;align-self:center;margin-left:0}.eyebrow-link:hover{filter:brightness(1.08)}.back-arrow{font-size:16px;margin-right:.22em}.back-label{display:inline-block;font-family:var(--font-display);font-size:11px;letter-spacing:.24em;text-transform:uppercase}.game-balance,.sidebar-balance{display:grid;gap:8px}.game-balance-label,.sidebar-balance-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--muted)}.game-balance-value,.sidebar-balance-value{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;font-size:24px;color:var(--ice);text-shadow:0 1px 0 #000}.game-balance-value strong,.sidebar-balance-value strong{color:var(--amber)}.balance-chart{width:100%;height:90px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),#101010;display:block}.balance-meta{display:flex;justify-content:space-between;gap:10px;font-family:var(--font-display);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.shoe-tracker,.shoe-display{display:grid;gap:8px;padding:10px 12px 12px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),#101010}.shoe-display-header{display:flex;justify-content:space-between;gap:12px;font-family:var(--font-display);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.shoe-leds{display:grid;grid-template-columns:repeat(39,minmax(0,1fr));gap:3px;direction:rtl}.shoe-led{height:14px;border:1px solid rgba(255,255,255,.04);background:#00000085;box-shadow:inset 0 0 0 1px #ffffff05}.shoe-led.remaining{background:linear-gradient(180deg,#ffd36b,#c9851f);box-shadow:0 0 8px #f4a64138,inset 0 0 0 1px #ffffff29}.shoe-led.cut{background:linear-gradient(180deg,#ff8d7c,#9f2018);box-shadow:0 0 8px #ff6b5738,inset 0 0 0 1px #ffffff24}.table-settings{display:grid;gap:10px;margin-top:6px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-field{display:grid;gap:6px}.settings-field label{font-family:var(--font-display);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.baccarat-bet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.baccarat-bet-button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;border:1px solid var(--line);background:#00000040;color:var(--ice);font-family:var(--font-display);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.baccarat-bet-button.selected{border-color:#f4a6418c;background:#f4a64124;color:var(--amber)}.baccarat-pay-lines{display:grid;gap:8px;margin-top:12px}.baccarat-pay-lines div,.baccarat-history-row{display:flex;justify-content:space-between;gap:10px;font-family:var(--font-display);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.baccarat-history{display:grid;gap:8px}.baccarat-empty-note{color:var(--muted);font-size:14px}.total{font-family:var(--font-display);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.game-hand,.player-hand{display:grid;gap:8px;justify-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.04);background:#00000014;min-width:220px}.game-hand.single,.player-hand.single{padding:0;border:none;background:transparent;min-width:0}.game-hand.active,.player-hand.active{border-color:#f4a64159;box-shadow:0 0 0 1px #f4a6411f inset}.game-hand.single.active,.player-hand.single.active{border:none;box-shadow:none}.game-hand-meta,.player-hand-meta{font-family:var(--font-display);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.game-card-stack,.cards{position:relative;min-height:164px;width:min(100%,560px);--card-step: 28px;--stack-rise: 0px;--card-half-width: 54px;perspective:1200px}.game-card-stack[data-layout=spread],.cards[data-layout=spread]{--card-step: 112px}.game-card-stack[data-layout=stacked],.cards[data-layout=stacked]{--card-step: 32px}.game-card-frame,.card-frame{width:108px;height:152px;border:none;background:transparent;display:grid;place-items:center;box-shadow:none;position:absolute;left:50%;top:0;transform:translate(calc(var(--card-x, 0px) - var(--card-half-width)),var(--card-y, 0px));transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .22s ease;transform-style:preserve-3d}.game-card-frame.entering,.card-frame.entering{animation:card-enter .26s ease-out both}.game-card-stack[data-owner=player][data-layout=stacked],.cards[data-owner=player][data-layout=stacked]{--stack-rise: 12px}.game-card-stack[data-owner=dealer][data-layout=stacked],.cards[data-owner=dealer][data-layout=stacked]{--stack-rise: 0px}.game-card-frame img,.card-frame img{width:100%;height:100%;display:block;image-rendering:crisp-edges}.card-flip-inner{position:relative;width:100%;height:100%;background:transparent;transform-style:preserve-3d}.game-card-frame.flipping .card-flip-inner,.card-frame.flipping .card-flip-inner{animation:card-flip .72s cubic-bezier(.22,.7,.2,1) both}.game-card-frame.flipping,.card-frame.flipping{opacity:1}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;background:transparent;opacity:1}.card-face.back{transform:rotateY(0)}.card-face.front{transform:rotateY(180deg)}button,select{border:1px solid var(--line);padding:14px 18px;font:inherit;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;background:var(--panel);color:var(--ice);min-height:52px;font-size:13px}button{cursor:pointer;background:var(--amber);color:#120c03;font-weight:700;box-shadow:4px 4px #000}button:hover{filter:brightness(1.05)}button:active{transform:translate(2px,2px);box-shadow:2px 2px #000}.secondary{background:#1d1d1d;color:var(--ice)}.muted{color:var(--muted)}.game-status-line,.status-line{position:relative;z-index:1;margin-top:10px;text-align:center;font-family:var(--font-display);color:var(--ice);background:#00000047;border:1px solid rgba(255,255,255,.08);padding:12px 16px;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.insurance-indicator{position:absolute;top:26px;left:26px;z-index:3;display:inline-flex;padding:8px 12px;font-family:var(--font-display);border:1px solid rgba(244,166,65,.45);background:#f4a6411f;color:var(--amber);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.insurance-indicator[hidden]{display:none}.game-action-bar,.felt-controls{position:relative;z-index:2;margin-top:18px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;align-self:center;width:100%}.game-action-bar[hidden],.felt-controls[hidden]{display:none}.control-slot{flex:0 1 auto;min-width:118px;min-height:52px;display:flex}.control-slot[hidden]{display:none}.control-slot.preserve-space.keep-space[hidden]{display:flex}.control-slot button{width:100%}.control-slot.preserve-space button.control-placeholder{border-color:transparent;background:transparent;color:transparent;box-shadow:none;pointer-events:none}.recommend-button[hidden],.recommendation[hidden]{display:none}.recommend-button{margin-top:12px;width:100%}.recommendation{margin-top:12px;border:1px solid var(--line);background:#0d0d0d;padding:14px 16px;min-height:54px;display:flex;align-items:center;color:var(--ice);font-size:12px;line-height:1.35}.legend{display:none}.accent{color:var(--line-hot)}.video-poker-hand{flex:1 1 auto;align-self:stretch;width:100%;min-height:100%;margin:0;grid-template-rows:auto minmax(0,1fr) auto;align-items:stretch}.video-poker-header,.video-poker-footer{width:100%;display:grid;justify-items:center}.video-poker-header{gap:10px;align-self:start}.video-poker-middle{width:100%;min-height:0;display:grid;align-items:center;justify-items:center}.video-poker-footer{gap:0;align-self:end}.video-poker-subhead{font-family:var(--font-display);color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.video-poker-card-row{position:relative;z-index:1;width:min(100%,560px);min-height:194px;--card-half-width: 54px;perspective:1200px}.video-poker-card-slot{width:108px;border:none;background:transparent;display:grid;place-items:center;box-shadow:none;position:absolute;left:50%;top:0;transform:translate(calc(var(--card-x, 0px) - var(--card-half-width)),var(--card-y, 0px));transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .22s ease}.video-poker-card-slot.entering{animation:card-enter .26s ease-out both}.video-poker-card{width:108px;min-height:0;padding:0;border:1px solid rgba(255,255,255,.08);background:#0000003d;box-shadow:0 14px 32px #00000052;overflow:hidden;position:relative;display:block}.video-poker-card .game-card-stack,.video-poker-card .cards{width:108px;min-height:152px}.video-poker-card-hitbox{position:absolute;top:0;right:0;bottom:0;left:0;padding:0;border:none;background:transparent;box-shadow:none;z-index:3}.video-poker-card-hitbox:hover,.video-poker-card-hitbox:active{transform:none;filter:none;box-shadow:none}.video-poker-card-hitbox:disabled{cursor:default}.video-poker-card img{width:100%;height:152px;display:block}.video-poker-card.held{border-color:#f4a641a6;box-shadow:0 0 0 1px #f4a64133 inset,0 14px 32px #00000052}.video-poker-card.recommended:not(.held){border-color:#7ee0818c}.video-poker-card-flag{display:block;padding:10px 8px;font-family:var(--font-display);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ice);background:#0000007a;position:relative;z-index:2}.video-poker-card.held .video-poker-card-flag{color:var(--amber)}.video-poker-card.recommended:not(.held) .video-poker-card-flag{color:#7ee081}.pay-table{display:grid;gap:8px;margin-top:6px}.pay-table.compact{gap:6px;margin-top:0}.pay-table-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06);font-family:var(--font-display);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.pay-table.compact .pay-table-row{padding-bottom:6px;font-size:10px}.pay-table-row:last-child{padding-bottom:0;border-bottom:0}.pay-table-row strong{color:var(--amber)}.video-poker-controls-band{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:minmax(180px,220px) minmax(260px,1fr) minmax(180px,220px);gap:18px;align-items:stretch;margin-top:18px}.video-poker-controls-core{min-width:0;align-self:center}.video-poker-controls-core .game-action-bar,.video-poker-controls-core .felt-controls{margin-top:0}.video-poker-widget{height:100%;display:grid;grid-template-rows:auto 1fr;padding:14px 16px;border:1px solid rgba(244,166,65,.2);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 36%),#08120ab8;box-shadow:inset 0 0 0 1px #ffffff08,0 16px 30px #00000038}.video-poker-widget h3{margin:0 0 10px;font-family:var(--font-display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber)}.baccarat-hand{flex:1 1 auto;align-self:stretch;width:100%;min-height:100%;margin:0;grid-template-rows:auto minmax(0,1fr) auto;align-items:stretch}.baccarat-header,.baccarat-footer{width:100%;display:grid;justify-items:center}.baccarat-header{gap:10px;align-self:start}.baccarat-middle{width:100%;min-height:0;display:grid;align-items:center;justify-items:center}.baccarat-footer{gap:0;align-self:end}.baccarat-controls-core{width:100%;max-width:540px;margin-top:18px}.baccarat-controls-core .game-action-bar,.baccarat-controls-core .felt-controls{margin-top:0}@keyframes card-enter{0%{opacity:0;transform:translate(calc(var(--card-x, 0px) - var(--card-half-width)),calc(var(--card-y, 0px) + 18px))}to{opacity:1;transform:translate(calc(var(--card-x, 0px) - var(--card-half-width)),var(--card-y, 0px))}}@keyframes card-flip{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes table-border-flash{0%{border-color:var(--felt-line-hot, var(--line-hot));box-shadow:0 0 0 1px var(--felt-inner-glow, rgba(126, 224, 129, .15)) inset,0 25px 70px var(--shadow)}16%,56%{border-color:var(--result-flash);box-shadow:0 0 0 1px color-mix(in srgb,var(--result-flash) 48%,transparent) inset,0 0 32px color-mix(in srgb,var(--result-flash) 45%,transparent),0 25px 70px var(--shadow)}32%,72%{border-color:var(--felt-line-hot, var(--line-hot));box-shadow:0 0 0 1px var(--felt-inner-glow, rgba(126, 224, 129, .15)) inset,0 25px 70px var(--shadow)}to{border-color:var(--felt-line-hot, var(--line-hot));box-shadow:0 0 0 1px var(--felt-inner-glow, rgba(126, 224, 129, .15)) inset,0 25px 70px var(--shadow)}}@media(max-width:960px){.game-shell,.blackjack-shell{grid-template-columns:1fr}.game-sidebar,.masthead{min-height:auto;border-right:none;border-bottom:1px solid var(--line);box-shadow:0 18px 40px var(--shadow)}.felt-surface,.table{min-height:540px;padding:18px}.game-card-frame,.card-frame{width:88px;height:124px}.game-card-stack,.cards{min-height:132px;width:min(100%,420px);--card-half-width: 44px}.game-card-stack[data-layout=spread],.cards[data-layout=spread]{--card-step: 100px}.game-card-stack[data-layout=stacked],.cards[data-layout=stacked]{--card-step: 28px}.video-poker-controls-band{grid-template-columns:1fr;align-items:stretch}.video-poker-card-row{width:min(100%,420px);min-height:166px;--card-half-width: 44px}.video-poker-card-slot,.video-poker-card{width:88px}.video-poker-card img{height:124px}.baccarat-lanes,.baccarat-bet-grid{grid-template-columns:1fr}}#app-root{display:contents}.frontend-sidebar{display:grid;gap:16px}.frontend-sidebar select,.felt-controls button{width:100%}.frontend-sidebar .recommendation[hidden]{display:none}.game-sidebar-content{display:grid;gap:16px}
