@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;700&display=swap";[data-theme=midnight]{--felt-top: #1a1a2e;--felt-bottom: #0f0f1a;--panel-bg: #12121f;--gold-hairline: rgba(0, 255, 200, .35);--gold-accent: #00ffc8;--color-player: #4d9fff;--color-banker: #ff4d6d;--color-tie: #00e676;--text-primary: #e8e8f0;--text-muted: rgba(232, 232, 240, .6)}[data-theme=crimson]{--felt-top: #4a1020;--felt-bottom: #2a0812;--panel-bg: #1a0a10;--gold-hairline: rgba(205, 170, 90, .45);--gold-accent: #c9a227;--color-player: #5b8fd4;--color-banker: #c41e3a;--color-tie: #2d8f5e;--text-primary: #f5ebe0;--text-muted: rgba(245, 235, 224, .65)}[data-theme=high-contrast]{--felt-top: #000000;--felt-bottom: #000000;--panel-bg: #000000;--gold-hairline: rgba(255, 255, 255, .8);--gold-accent: #ffff00;--color-player: #0066ff;--color-banker: #ff0000;--color-tie: #00ff00;--text-primary: #ffffff;--text-muted: rgba(255, 255, 255, .85)}[data-theme=high-contrast] .display-shell,[data-theme=high-contrast] .settings-dialog{border-width:2px}html[data-board-language=ZH] .baccarat-display .display-view__bead .display-view__road-label,html[data-board-language=ZH] .baccarat-display .display-view__big-road-wrap .display-view__road-label{font-size:0;line-height:0}html[data-board-language=ZH] .baccarat-display .display-view__bead .display-view__road-label:before{content:"珠盘";font-size:.75rem;line-height:normal;font-weight:700;letter-spacing:.05em;opacity:.7}html[data-board-language=ZH] .baccarat-display .display-view__big-road-wrap .display-view__road-label:before{content:"大路";font-size:.75rem;line-height:normal;font-weight:700;letter-spacing:.05em;opacity:.7}html[data-board-language="EN+ZH"] .baccarat-display .display-view__bead .display-view__road-label:after{content:" / 珠盘"}html[data-board-language="EN+ZH"] .baccarat-display .display-view__big-road-wrap .display-view__road-label:after{content:" / 大路"}html[data-board-language="EN+ZH"] .roulette-display .display-view__percentages div:nth-child(1):after{content:" (红/黑/绿)";font-size:.85em;opacity:.75}html[data-board-language="EN+ZH"] .roulette-display .display-view__percentages div:nth-child(2):after{content:" (单/双)";font-size:.85em;opacity:.75}html[data-board-language="EN+ZH"] .roulette-display .display-view__percentages div:nth-child(3):after{content:" (小/大)";font-size:.85em;opacity:.75}html[data-board-language=ZH] .baccarat-display,html[data-board-language=ZH] .roulette-display,html[data-board-language="EN+ZH"] .baccarat-display,html[data-board-language="EN+ZH"] .roulette-display{font-family:Noto Sans SC,system-ui,sans-serif}:root,[data-theme=table-felt]{--felt-top: #0b3d2e;--felt-bottom: #062418;--panel-bg: #0f1412;--gold-hairline: rgba(184, 148, 90, .4);--gold-accent: #d4af37;--color-player: #2f6fe4;--color-banker: #e5322d;--color-tie: #2bb673;--text-primary: #f5f5f0;--text-muted: rgba(245, 245, 240, .65);--font-size-base: clamp(14px, 1.2vmin, 24px)}html{font-size:var(--font-size-base)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,system-ui,sans-serif;color:var(--text-primary);background:linear-gradient(180deg,var(--felt-top),var(--felt-bottom))}button{font:inherit;cursor:pointer}a{color:var(--gold-accent)}.dealer-shell button,.dealer-shell [role=button],.card-picker__rank,.card-picker__suit,.card-picker__btn,.card-picker__close,.number-grid__cell,.number-grid__confirm,.dice-picker__face,.dice-picker__clear,.dice-picker__commit,.outcome-chips__chip,.dealer-view__slot,.dealer-view__seat-tab,.dealer-view__action,.dealer-view__pair-btn,.dealer-view__no-spin,.dealer-view__mode-toggle,.dealer-view__seven-out{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.dealer-shell,.dealer-shell__module,.card-picker__sheet,.number-grid,.dice-picker{-webkit-user-select:none;user-select:none;font-size:max(1rem,16px)}.dealer-shell button:active:not(:disabled),.card-picker__rank:active,.card-picker__suit:active,.card-picker__btn:active:not(:disabled),.number-grid__cell:active:not(:disabled),.dice-picker__face:active,.outcome-chips__chip:active,.dealer-view__slot:active:not(:disabled){transform:scale(.97);transition:transform 80ms ease}@media(prefers-reduced-motion:reduce){.dealer-shell button:active,.card-picker__rank:active,.card-picker__suit:active,.number-grid__cell:active,.dice-picker__face:active,.outcome-chips__chip:active,.dealer-view__slot:active,.dealer-view__slot--pulse{transform:none;transition:none;animation:none!important}}.qr-dialog__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.qr-dialog{background:var(--panel-bg, #0f1412);border:1px solid var(--gold-hairline, #b8945a66);border-radius:8px;padding:1.5rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom));max-width:90vw;max-height:90vh;overflow:auto}.qr-dialog button{min-height:max(3rem,44px);min-width:max(3rem,44px);font-size:max(1rem,16px)}.qr-dialog__entry{margin:1rem 0;text-align:center}.qr-dialog__warning{color:#e57373;font-size:.875rem}.qr-dialog__url{display:block;margin-top:.5rem;font-size:.75rem;word-break:break-all}.qr-dialog img{max-width:256px;height:auto}.card-picker__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1000;display:flex;align-items:flex-end}.card-picker__sheet{pointer-events:auto;width:100%;max-height:70vh;background:#1a1a2e;color:#f5f5f5;border-radius:16px 16px 0 0;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;overflow-y:auto}.card-picker__header{display:flex;justify-content:space-between;align-items:center}.card-picker__title{font-size:1.1rem;font-weight:600}.card-picker__close{min-width:56px;min-height:56px;font-size:1.5rem;background:transparent;border:none;color:#f5f5f5;cursor:pointer}.card-picker__banner{padding:8px 12px;border-radius:8px;font-size:.9rem}.card-picker__banner--warning{background:#5c4a00;color:#ffd866}.card-picker__banner--blocked{background:#5c1a1a;color:#ff8a8a}.card-picker__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.card-picker__rank,.card-picker__suit{min-width:64px;min-height:64px;font-size:1.25rem;font-weight:600;background:#2a2a4a;border:2px solid #3a3a6a;border-radius:8px;color:#f5f5f5;cursor:pointer;position:relative}.card-picker__rank--selected,.card-picker__suit--selected{border-color:#6ab0ff;background:#1a3a6a}.card-picker__rank-sub{position:absolute;bottom:4px;right:6px;font-size:.65rem;opacity:.7}.card-picker__suit--red{color:#e5322d}.card-picker__suits{display:flex;gap:8px;justify-content:center}.card-picker__preview{display:flex;justify-content:center;padding:8px}.card-picker__preview-card{min-width:80px;min-height:112px;border:2px solid #ccc;border-radius:8px;background:#fff;color:#111;display:flex;align-items:center;justify-content:center;font-size:2rem;position:relative}.card-picker__preview-card--red{color:#e5322d}.card-picker__preview-sub{position:absolute;bottom:6px;right:8px;font-size:.75rem;opacity:.7}.card-picker__actions{display:flex;justify-content:space-between;gap:12px}.card-picker__btn{min-width:56px;min-height:56px;padding:0 24px;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer}.card-picker__btn--undo,.card-picker__btn--remove{background:#3a3a3a;color:#f5f5f5}.card-picker__btn--confirm{background:#2d8a4e;color:#fff;margin-left:auto}.card-picker__btn:disabled{opacity:.4;cursor:not-allowed}.number-grid{display:flex;flex-direction:column;gap:.5rem;width:100%}.number-grid__zeros{display:flex;gap:.5rem;justify-content:center}.number-grid__felt{display:flex;flex-direction:column;gap:.35rem}.number-grid__row{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.number-grid__cell{min-height:max(3.5rem,56px);min-width:max(3.5rem,56px);border:2px solid rgba(255,255,255,.15);border-radius:.35rem;font-size:1.125rem;font-weight:700;color:#f5f5f5;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.number-grid__cell:disabled{opacity:.5;cursor:not-allowed}.number-grid__cell--red{background:#d7263d}.number-grid__cell--black{background:#111318;box-shadow:inset 0 0 0 1px #2a2d34}.number-grid__cell--green{background:#1e8f4e}.number-grid__cell--selected{outline:3px solid #d4af37;outline-offset:2px;transform:scale(1.03)}.number-grid__confirm{margin-top:.5rem;min-height:max(3rem,44px);border:none;border-radius:.35rem;background:#d4af37;color:#111318;font-weight:700;font-size:1rem;cursor:pointer}.number-grid__confirm:disabled{opacity:.45;cursor:not-allowed}.outcome-chips{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.outcome-chips__chip{min-width:64px;min-height:64px;padding:8px 20px;font-size:1.25rem;font-weight:700;border:none;border-radius:12px;color:#fff;cursor:pointer}.outcome-chips__chip:focus-visible{outline:3px solid #fff;outline-offset:2px}.outcome-chips__chip--pressing{opacity:.7;transform:scale(.96)}.dice-picker{display:flex;flex-direction:column;gap:.75rem;outline:none}.dice-picker__blocked{margin:0;color:#d7263d;font-size:.875rem}.dice-picker__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.dice-picker__die-label{font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;color:#94a3b8}.dice-picker__faces{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.dice-picker__face{min-width:max(3.5rem,56px);min-height:max(3.5rem,56px);padding:.25rem;border:2px solid #334155;border-radius:.5rem;background:#1e293b;cursor:pointer}.dice-picker__face--selected{border-color:#d4af37;background:#0f172a}.dice-picker__pip-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;gap:2px}.dice-picker__pip{border-radius:50%;background:transparent}.dice-picker__pip--on{background:#f8fafc}.dice-picker__actions{display:flex;gap:.5rem;justify-content:flex-end}.dice-picker__clear,.dice-picker__commit{min-height:max(3rem,44px);min-width:max(3rem,44px);padding:.5rem 1rem;border-radius:.375rem;border:1px solid #475569;background:#334155;color:#f8fafc;cursor:pointer;font-weight:600}.dice-picker__commit:disabled{opacity:.4;cursor:not-allowed}.dice-picker__commit{background:#d4af37;color:#0f172a;border-color:#d4af37}.chip-tray{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;touch-action:manipulation}.chip-tray--disabled{opacity:.5;pointer-events:none}.chip-tray__selected{flex:1 1 100%;font-size:max(.8125rem,13px);opacity:.9}.chip-tray__denom{min-width:3.5rem;min-height:3.5rem;width:3.5rem;height:3.5rem;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:#333;color:#fff;font-weight:700;font-size:max(.875rem,14px);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .1s ease}.chip-tray__denom:active{transform:scale(.95)}.chip-tray__denom--selected{min-width:4rem;min-height:4rem;width:4rem;height:4rem;border-color:#ffd54f;box-shadow:0 0 0 3px #ffd54f;font-size:max(1rem,16px)}.chip-tray__clear{margin-left:auto;min-width:max(3rem,44px);min-height:max(3rem,44px);padding:0 1rem;border:1px solid rgba(255,255,255,.35);border-radius:.5rem;background:transparent;color:#fff;font-size:max(.875rem,14px);font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.chip-tray__clear:active{transform:scale(.97)}@media(prefers-reduced-motion:reduce){.chip-tray__denom:active,.chip-tray__clear:active{transform:none}}.bet-slip{padding:.5rem .75rem 0;touch-action:manipulation}.bet-slip--compact .bet-slip__details{display:none}.bet-slip--compact .bet-slip__compact{display:flex}.bet-slip__compact{display:none;align-items:center;justify-content:space-between;gap:.5rem;min-height:max(3rem,44px);padding:.25rem 0;border:none;background:transparent;color:#fff;font-size:max(.875rem,14px);cursor:pointer;width:100%;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.bet-slip__compact-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.9}.bet-slip__compact-total{font-weight:700;font-variant-numeric:tabular-nums}.bet-slip__title{font-size:max(.875rem,14px);opacity:.8;margin-bottom:.5rem}.bet-slip__row{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;font-size:max(.9375rem,15px)}.bet-slip__label{flex:1}.bet-slip__amount{font-variant-numeric:tabular-nums}.bet-slip__remove{min-width:max(3rem,44px);min-height:max(3rem,44px);border:none;border-radius:.25rem;background:#ffffff1f;color:#fff;cursor:pointer;font-size:1rem;line-height:1;touch-action:manipulation}.bet-slip__total{display:flex;justify-content:space-between;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.12);font-weight:600;font-size:max(.9375rem,15px)}.bet-slip__place{display:block;width:100%;margin-top:.5rem;min-height:4rem;border:none;border-radius:.5rem;background:#16a34a;color:#fff;font-weight:700;font-size:max(1rem,16px);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.bet-slip__place:active{transform:scale(.98)}.bet-slip__place:disabled{opacity:.45;cursor:not-allowed}.bet-slip__locked,.bet-slip__idle{margin-top:.5rem;text-align:center;font-size:max(.9375rem,15px);opacity:.85}.bet-slip__error{margin-top:.5rem;color:#fca5a5;font-size:max(.875rem,14px)}@media(prefers-reduced-motion:reduce){.bet-slip__place:active{transform:none}}.felt-zones{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;-webkit-user-select:none;user-select:none;touch-action:manipulation}.felt-zones--baccarat,.felt-zones--baccarat .felt-zones__main-row{flex:1;min-height:0}.felt-zones--baccarat .felt-zones__main-row .felt-zones__zone{min-height:max(3rem,48px)}.felt-zones__side-row{display:flex;gap:.5rem;flex-shrink:0}.felt-zones__main-row{display:flex;gap:.5rem;flex:1;min-height:0}.felt-zones__zone{flex:1;min-height:max(3rem,48px);min-width:max(3rem,48px);border:2px solid rgba(255,255,255,.25);border-radius:.5rem;background:#0003;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.felt-zones__zone:active{transform:scale(.97)}.felt-zones--disabled{opacity:.5;pointer-events:none}.felt-zones__zone--disabled{cursor:not-allowed}.felt-zones__zone--own{box-shadow:0 0 0 3px var(--player-color, #fff)}.felt-zones__you{position:absolute;top:.25rem;left:.25rem;padding:.125rem .375rem;border-radius:.25rem;font-size:max(.6875rem,11px);font-weight:700;text-transform:uppercase;background:#fff3;z-index:1}.felt-zones__zone--pressing{opacity:.85}.felt-zones__zone--flash-win{animation:felt-zone-win .6s ease-out}.felt-zones__zone--flash-lose{animation:felt-zone-lose .6s ease-out}@keyframes felt-zone-win{0%,to{box-shadow:none}50%{box-shadow:0 0 0 4px #4ade80}}@keyframes felt-zone-lose{0%,to{box-shadow:none}50%{box-shadow:0 0 0 4px #f87171}}@media(prefers-reduced-motion:reduce){.felt-zones__zone--flash-win,.felt-zones__zone--flash-lose,.felt-zones__zone:active{animation:none;transform:none}}.felt-zones__label{font-weight:700;font-size:max(1rem,16px)}.felt-zones__sublabel{font-size:max(.8125rem,13px);opacity:.85}.felt-zones__stake{margin-top:.25rem;font-size:max(1.125rem,18px);font-weight:600}.felt-zones__table-stake{font-size:max(.8125rem,13px);opacity:.7}.felt-zones__chips{display:flex;gap:2px;margin-top:.25rem}.felt-zones__chip{width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid var(--player-color, #fff);background:#333;font-size:.55rem;display:flex;align-items:center;justify-content:center}.felt-zones__badge{position:absolute;top:.25rem;right:.25rem;padding:.125rem .375rem;border-radius:.25rem;font-size:max(.75rem,12px);font-weight:800;letter-spacing:.05em;z-index:1}.felt-zones__badge--win{background:#166534;color:#fff;border:2px solid #4ade80}.felt-zones__badge--lose{background:#7f1d1d;color:#fff;border:2px solid #f87171}.action-buttons__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.action-buttons{display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem .75rem;justify-content:center;touch-action:manipulation}.action-buttons__btn-wrap{position:relative;display:inline-flex;flex:1;min-width:0}.action-buttons__countdown{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;pointer-events:none}.action-buttons__countdown svg{width:100%;height:100%;transform:rotate(-90deg)}.action-buttons__countdown-track{fill:none;stroke:#ffffff26;stroke-width:3}.action-buttons__countdown-progress{fill:none;stroke:#ffd54f;stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .3s linear}.action-buttons__btn{width:100%;min-width:4rem;min-height:4rem;padding:.75rem 1.25rem;border:2px solid rgba(255,255,255,.35);border-radius:.75rem;background:#2563eb;color:#fff;font-weight:700;font-size:max(1rem,16px);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.action-buttons__btn:active{transform:scale(.97)}.action-buttons__btn:disabled{opacity:.4;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.action-buttons__btn:active{transform:none}}.mini-big-road{overflow-x:auto;padding:8px;background:#1a1a1a;border-radius:8px;border:1px solid rgba(255,255,255,.12)}.mini-big-road__grid{display:grid;gap:2px}.mini-big-road__cell{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.mini-big-road__dot{width:14px;height:14px;border-radius:50%;border:2px solid}.mini-big-road__dot--P{border-color:#2563eb;background:#2563eb59}.mini-big-road__dot--B{border-color:#e5322d;background:#e5322d59}.mini-big-road__tie{font-size:.55rem;color:#16a34a;font-weight:700}.dealer-view{display:flex;flex-direction:column;gap:12px;padding:4px 0;min-height:100%}.dealer-view__columns{display:flex;flex-direction:column;gap:16px}.dealer-view__column{display:flex;flex-direction:column;gap:8px;width:100%}.dealer-view__side-label{font-size:max(.875rem,16px);font-weight:700;letter-spacing:.05em;opacity:.8}.dealer-view__slots{display:flex;gap:8px;width:100%}.dealer-view__slot{position:relative;flex:1;min-width:0;min-height:64px;border:2px solid #444;border-radius:8px;background:#1e1e2e;color:#f5f5f5;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.5rem}.dealer-view__slot--empty{border-style:dashed;opacity:.6}.dealer-view__slot--pulse{animation:dealer-slot-pulse 1.2s ease-in-out infinite;border-color:#6ab0ff}.dealer-view__slot--disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.dealer-view__slot--draw{border-color:#ffd866;box-shadow:0 0 8px #ffd86680}.dealer-view__slot--error{border-color:#e5322d;background:#3a1a1a}.dealer-view__slot-value{font-size:.75rem;opacity:.7;margin-top:2px}.dealer-view__slot--red{color:#e5322d}.dealer-view__draw-badge{position:absolute;top:-8px;right:-8px;background:#ffd866;color:#111;font-size:.65rem;font-weight:700;padding:2px 4px;border-radius:4px}.dealer-view__error-msg{font-size:.65rem;color:#ff8a8a;text-align:center;max-width:100%;line-height:1.2}.dealer-view__total{font-size:1.5rem;font-weight:600}.dealer-view__hint{text-align:center;font-size:max(1rem,16px);padding:4px 0;min-height:1.5em}.dealer-view__quick-entry{display:flex;flex-direction:column;gap:8px;align-items:center;flex-shrink:0}.dealer-view__pair-menu{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.dealer-view__pair-btn{min-height:48px;min-width:48px;padding:0 12px;border:1px solid #666;border-radius:8px;background:#2a2a3a;color:#f5f5f5;cursor:pointer}@keyframes dealer-slot-pulse{0%,to{box-shadow:0 0 #6ab0ff66}50%{box-shadow:0 0 0 6px #6ab0ff00}}@media(prefers-reduced-motion:reduce){.dealer-view__slot--pulse{animation:none;border-color:#6ab0ff;box-shadow:0 0 0 2px #6ab0ff80}}.current-hand-panel{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--baccarat-panel);border:1px solid rgba(184,148,90,.4);border-radius:8px}.current-hand-panel__row{display:flex;align-items:center;gap:12px}.current-hand-panel__side{font-weight:700;min-width:4rem;font-size:.85rem}.current-hand-panel__side--P{color:var(--baccarat-player)}.current-hand-panel__side--B{color:var(--baccarat-banker)}.current-hand-panel__cards{display:flex;gap:6px;flex-wrap:wrap}.current-hand-panel__card{padding:4px 8px;background:#fff;color:#111;border-radius:4px;font-weight:600;animation:card-flip-in .2s ease-out}.current-hand-panel__card--red{color:#c8102e}@keyframes card-flip-in{0%{transform:rotateY(90deg);opacity:0}to{transform:rotateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.current-hand-panel__card{animation:none}}.current-hand-panel__total{margin-left:auto;font-weight:700}.current-hand-panel__hint{font-size:.85rem;opacity:.9}.current-hand-panel__banner{font-size:1.1rem;font-weight:700;color:var(--baccarat-gold);margin-top:4px}.current-hand-panel__banner--P{color:var(--baccarat-player)}.current-hand-panel__banner--B{color:var(--baccarat-banker)}.current-hand-panel__banner--T{color:var(--baccarat-tie)}.road-grid{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.road-grid__inner{display:grid;gap:2px;width:max-content;min-width:100%}.road-grid__cell{width:var(--road-cell-size);height:var(--road-cell-size);display:flex;align-items:center;justify-content:center;position:relative}.road-grid__cell--enter{animation:road-cell-enter .18s ease-out}@keyframes road-cell-enter{0%{transform:scale(.6);opacity:.4}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.road-grid__cell--enter{animation:none}}[data-road-fit=true] .road-grid{overflow-x:hidden}.bead-plate__disc{width:calc(var(--road-cell-size) - 4px);height:calc(var(--road-cell-size) - 4px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:calc(var(--road-cell-size) * .45);font-weight:700;color:#fff;position:relative}.bead-plate__disc--P{background:var(--baccarat-player)}.bead-plate__disc--B{background:var(--baccarat-banker)}.bead-plate__disc--T{background:var(--baccarat-tie)}.bead-plate__pair-dot{position:absolute;width:calc(var(--road-cell-size) * .22);height:calc(var(--road-cell-size) * .22);border-radius:50%}.bead-plate__pair-dot--banker{top:1px;left:1px;background:var(--baccarat-banker)}.bead-plate__pair-dot--player{bottom:1px;right:1px;background:var(--baccarat-player)}.big-road__ring{width:calc(var(--road-cell-size) - 6px);height:calc(var(--road-cell-size) - 6px);border-radius:50%;border:3px solid;background:transparent;position:relative;display:flex;align-items:center;justify-content:center;font-size:calc(var(--road-cell-size) * .4);font-weight:700}.big-road__ring--P{border-color:var(--baccarat-player);color:var(--baccarat-player)}.big-road__ring--B{border-color:var(--baccarat-banker);color:var(--baccarat-banker)}.big-road__leading-tie{width:calc(var(--road-cell-size) - 6px);height:calc(var(--road-cell-size) - 6px);border-radius:50%;border:2px dashed var(--baccarat-tie);display:flex;align-items:center;justify-content:center;font-size:calc(var(--road-cell-size) * .4);font-weight:700;color:var(--baccarat-tie);position:relative}.big-road__leading-tie:after{content:"";position:absolute;width:70%;height:2px;background:var(--baccarat-tie);transform:rotate(-45deg)}.big-road__tie-slash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.big-road__tie-slash:before{content:"";position:absolute;top:50%;left:10%;right:10%;height:2px;background:var(--baccarat-tie);transform:rotate(-45deg)}.big-road__tie-count{position:absolute;top:0;right:0;font-size:calc(var(--road-cell-size) * .35);font-weight:700;color:var(--baccarat-tie);line-height:1}.big-road__pair-dot{position:absolute;width:calc(var(--road-cell-size) * .22);height:calc(var(--road-cell-size) * .22);border-radius:50%}.big-road__pair-dot--player{top:0;left:0;background:var(--baccarat-player)}.big-road__pair-dot--banker{bottom:0;right:0;background:var(--baccarat-banker)}.derived-road__ring{width:calc(var(--road-cell-size) - 6px);height:calc(var(--road-cell-size) - 6px);border-radius:50%;border:3px solid;background:transparent}.derived-road__ring--red{border-color:var(--baccarat-banker)}.derived-road__ring--blue{border-color:var(--baccarat-player)}.derived-road__disc{width:calc(var(--road-cell-size) - 6px);height:calc(var(--road-cell-size) - 6px);border-radius:50%}.derived-road__disc--red{background:var(--baccarat-banker)}.derived-road__disc--blue{background:var(--baccarat-player)}.derived-road__slash{width:calc(var(--road-cell-size) - 6px);height:calc(var(--road-cell-size) - 6px);position:relative}.derived-road__slash:before{content:"";position:absolute;top:50%;left:10%;right:10%;height:3px;transform:rotate(-45deg)}.derived-road__slash--red:before{background:var(--baccarat-banker)}.derived-road__slash--blue:before{background:var(--baccarat-player)}.derived-road__prediction{border:2px dashed var(--baccarat-gold);border-radius:4px;opacity:.85}.derived-road__prediction-label{font-size:calc(var(--road-cell-size) * .35);font-weight:700;color:var(--baccarat-gold)}.baccarat-display{--baccarat-player: #2f6fe4;--baccarat-banker: #e5322d;--baccarat-tie: #2bb673;--baccarat-gold: #d4af37;--baccarat-panel: #0f1412;--baccarat-text: #f5f5f5;--road-cell-size: 1.375rem;color:var(--baccarat-text)}[data-road-fit=true] .baccarat-display{--road-cell-size: clamp(1.375rem, 2.2vmin, 2rem)}.display-view{display:flex;flex-direction:column;gap:8px;height:100%;padding:8px}.display-view__top{display:grid;grid-template-columns:1fr 2fr;gap:8px;min-height:0}.display-view__middle{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;min-height:0}.display-view__footer{display:flex;gap:16px;padding:8px 12px;font-size:.9rem;border-top:1px solid rgba(184,148,90,.3)}.display-view__road-label{font-size:.75rem;font-weight:700;letter-spacing:.05em;opacity:.7;margin-bottom:4px}.display-view--roads-only .display-view__middle{grid-template-columns:1fr 1fr 1fr}.display-view--big-road-focus .display-view__top{grid-template-columns:2fr 3fr}.display-view--big-road-focus .display-view__big-road-wrap{grid-column:span 1}.display-view--portrait .display-view__top{grid-template-columns:1fr}.display-view--portrait .display-view__middle{grid-template-columns:1fr 1fr}.display-view--portrait .display-view__bead{order:3}.derived-road__label{font-size:.75rem;font-weight:700;opacity:.7;margin-bottom:4px}.baccarat-player-view{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;flex:1;min-height:0;overflow:hidden}.baccarat-player-view__road-wrap{flex-shrink:0}.baccarat-player-view__last-hand{font-size:max(.8125rem,13px);opacity:.9;text-align:center;padding:.25rem;flex-shrink:0}.baccarat-player-view__road-label{font-size:max(.75rem,12px);opacity:.7;text-align:center}.felt-zones__zone--player{border-color:#2563eb!important}.felt-zones__zone--tie{border-color:#16a34a!important}.felt-zones__zone--banker{border-color:#e5322d!important}.felt-zones__zone--side{min-height:3rem}.result-detail{padding:16px;background:var(--baccarat-panel);border-radius:8px;display:flex;flex-direction:column;gap:12px}.result-detail__outcome{font-size:1.25rem;font-weight:700}.result-detail__outcome--P{color:var(--baccarat-player)}.result-detail__outcome--B{color:var(--baccarat-banker)}.result-detail__outcome--T{color:var(--baccarat-tie)}.result-detail__hand{display:flex;gap:12px;align-items:center}.result-detail__badges{display:flex;gap:8px;flex-wrap:wrap}.result-detail__badge{padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:700;background:#d4af3733;color:var(--baccarat-gold)}.result-detail__quick-note{font-style:italic;opacity:.85}.rules-settings{display:flex;flex-direction:column;gap:16px;padding:16px}.rules-settings__field{display:flex;flex-direction:column;gap:6px}.rules-settings__label{font-weight:600;font-size:.9rem}.rules-settings__options{display:flex;gap:12px;flex-wrap:wrap}.rules-settings__note{font-size:.8rem;opacity:.8;color:var(--baccarat-gold)}.rules-settings input[type=range]{width:100%;max-width:240px}.craps-display{--craps-gold: #d4af37;--craps-cream: #ede6d6;--craps-red: #d7263d;--craps-orange: #e08a1e;--craps-purple: #8e5bd9;--craps-surface: #0f172a;--craps-panel: #1e293b;--craps-border: #334155;color:var(--craps-cream);font-family:system-ui,sans-serif}.dealer-view{display:flex;flex-direction:column;gap:.75rem;padding:.75rem}.dealer-view__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem .75rem;font-size:.875rem;font-weight:600}.dealer-view__header-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem}.dealer-view__shooter-name{color:var(--craps-cream)}.dealer-view__puck{color:var(--craps-gold)}.dealer-view__preview{display:flex;align-items:center;gap:1rem}.dealer-view__hint{margin:0;font-size:.875rem;color:#94a3b8}.dealer-view__history{font-size:.75rem;color:#94a3b8;overflow-x:auto;white-space:nowrap}.dealer-view__history-item:after{content:" · "}.dealer-view__history-item:last-child:after{content:""}.dealer-view__quick-row{display:flex;gap:.5rem}.dealer-view__mode-toggle,.dealer-view__seven-out{min-height:48px;min-width:48px;padding:.5rem .75rem;border-radius:.375rem;border:1px solid var(--craps-border);background:var(--craps-panel);color:var(--craps-cream);cursor:pointer;font-weight:600}.dealer-view__seven-out{background:var(--craps-red);border-color:var(--craps-red)}.craps-dice{display:inline-flex;border:2px solid var(--craps-border);border-radius:.375rem;background:var(--craps-panel);padding:.125rem}.craps-dice--sm{width:2rem;height:2rem}.craps-dice--md{width:3rem;height:3rem}.craps-dice--lg{width:4rem;height:4rem}.craps-dice__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;gap:1px}.craps-dice__pip{border-radius:50%;background:transparent}.craps-dice__pip--on{background:#f8fafc}.craps-dice-pair{display:inline-flex;gap:.25rem;align-items:center}.display-view{display:flex;flex-direction:column;gap:.75rem;padding:1rem;min-height:100%;background:var(--craps-surface)}.craps-display__header{display:flex;justify-content:space-between;font-size:.875rem;font-weight:600}.craps-puck-board{display:flex;gap:.5rem;align-items:flex-end;position:relative}.craps-puck-board__box{flex:1;min-height:3rem;border:2px solid var(--craps-border);border-radius:.375rem;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:var(--craps-panel)}.craps-puck-board__box--active{border-color:var(--craps-gold)}.craps-puck-board__num{font-size:1.25rem;font-weight:700}.craps-puck-board__puck{font-size:.625rem;font-weight:700;color:var(--craps-gold)}.craps-puck-board__made{position:absolute;bottom:.125rem;color:var(--craps-gold);font-size:.75rem}.craps-puck-board__off{position:absolute;right:0;top:-1.25rem;font-size:.75rem;font-weight:700;color:#64748b;background:#0f172a;padding:.125rem .375rem;border-radius:.25rem}.craps-display__body{display:grid;grid-template-columns:2fr 1fr;gap:.75rem}.display-view--history-focus .craps-display__body{grid-template-columns:1fr}.display-view--puck-focus .craps-display__body{display:none}.display-view--portrait .craps-display__body{grid-template-columns:1fr}.craps-history{display:flex;gap:.5rem;overflow-x:auto;padding:.5rem 0}.craps-history__item{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--craps-panel);border-radius:.375rem;white-space:nowrap}.craps-history__badge{font-weight:700;color:var(--craps-gold)}.craps-distribution{display:flex;align-items:flex-end;gap:.25rem;height:5rem}.craps-distribution__bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;position:relative;justify-content:flex-end}.craps-distribution__ref{position:absolute;bottom:1rem;width:100%;background:#94a3b833;border:1px dashed #475569}.craps-distribution__bar{width:100%;background:var(--craps-gold);min-height:2px}.craps-distribution__label{font-size:.625rem;margin-top:.125rem}.craps-display__footer{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.75rem;color:#94a3b8}.craps-fire__dot{opacity:.3}.craps-fire__dot--on{color:#ff6a00;opacity:1}.craps-display__live{display:flex;justify-content:center}.craps-display__last-roll{font-size:.875rem;font-weight:600;color:var(--craps-gold)}.result-detail{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.result-detail__total{font-size:2rem;font-weight:700;color:var(--craps-gold)}.result-detail__dice{display:flex;align-items:center;gap:.75rem}.result-detail__classification{font-weight:600}.result-detail__puck{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#94a3b8}.result-detail__quick-note{margin:0;font-size:.875rem;color:#94a3b8}.craps-player-view{display:flex;flex-direction:column;gap:.75rem;padding:.5rem;color:var(--craps-fg, #f5f5f4);font-family:system-ui,sans-serif}.craps-player-view__status{font-size:.875rem;font-weight:600;line-height:1.3}.craps-player-view__turn-prompt{color:var(--craps-gold, #d4af37)}.craps-player-view__place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.craps-player-view__place-box{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;padding:.35rem;border:2px solid var(--craps-felt-border, #2d6a4f);border-radius:8px;background:var(--craps-felt, #1b4332);color:inherit;cursor:pointer}.craps-player-view__place-num{font-size:1.125rem;font-weight:700}.craps-player-view__come-chip,.craps-player-view__place-chip{font-size:.75rem;margin-top:.15rem}.craps-player-view__come-mark{margin-left:.15rem;font-size:.625rem;font-weight:700;color:var(--craps-gold, #d4af37)}.craps-player-view__line-row,.craps-player-view__pass-row{display:flex;flex-wrap:wrap;gap:.5rem}.craps-player-view__zone{flex:1 1 30%;min-height:48px;padding:.5rem;border:2px solid var(--craps-felt-border, #2d6a4f);border-radius:8px;background:var(--craps-felt, #1b4332);color:inherit;cursor:pointer;text-align:center}.craps-player-view__zone--disabled{opacity:.45;cursor:not-allowed}.craps-player-view__zone-label{display:block;font-size:.8125rem;font-weight:600}.craps-player-view__zone-reason{display:block;margin-top:.2rem;font-size:.625rem;line-height:1.2;opacity:.9}.craps-player-view__odds{flex:1 1 30%;min-height:48px;padding:.5rem;border:2px dashed var(--craps-gold, #d4af37);border-radius:8px;background:#d4af371f;color:inherit;font-weight:600;cursor:pointer}.craps-player-view__collapsible summary{cursor:pointer;font-weight:600;padding:.35rem 0}.craps-player-view__collapsible-body{display:flex;flex-wrap:wrap;gap:.5rem;padding:.35rem 0}.craps-player-view__working,.craps-player-view__shooter{display:flex;flex-wrap:wrap;gap:.5rem}.craps-player-view__working button,.craps-player-view__shooter button{min-height:48px;padding:.5rem .75rem;border:1px solid var(--craps-felt-border, #2d6a4f);border-radius:8px;background:#264653;color:inherit;font-weight:600;cursor:pointer}.craps-player-view__roll-btn{flex:1 1 100%;min-height:72px!important;font-size:1.25rem;background:var(--craps-gold, #d4af37)!important;color:#1a1a1a!important}.craps-player-view__history{display:flex;flex-wrap:wrap;gap:.35rem;font-size:.75rem}.craps-player-view__history-item{display:inline-flex;align-items:center;gap:.2rem}.craps-player-view__history-badge{color:var(--craps-gold, #d4af37);font-weight:700}.craps-player-view__last-roll{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.craps-player-sheet__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;background:#0000008c}.craps-player-sheet__sheet{width:100%;max-height:70vh;padding:.5rem;border-radius:16px 16px 0 0;background:#1e293b}.craps-player-sheet__row{display:block;width:100%;min-height:56px;margin-bottom:.35rem;padding:.75rem 1rem;border:none;border-radius:8px;background:#334155;color:inherit;font-size:1rem;font-weight:600;text-align:left;cursor:pointer}.craps-player-sheet__row:last-child{margin-bottom:0}@media(max-width:400px){.craps-player-view__place-box{min-height:56px}}.rules-settings{padding:1rem;display:flex;flex-direction:column;gap:1rem}.rules-settings__field{display:flex;flex-direction:column;gap:.375rem}.rules-settings__label{font-weight:600;font-size:.875rem}.rules-settings__toggle{display:flex;align-items:center;gap:.5rem}.dealer-view{display:flex;flex-direction:column;gap:.75rem;padding:0;background:#0a0d0c;min-height:100%}.dealer-view__felt{flex:1;min-height:0;overflow-y:auto}.dealer-view__footer{flex-shrink:0}.dealer-view__hint{margin:0;font-size:.95rem;color:#d4d4d4;min-height:1.25rem}.dealer-view__quick{display:flex;gap:.5rem}.dealer-view__no-spin{min-width:48px;min-height:48px;border:none;border-radius:.35rem;color:#f5f5f5;font-size:1.25rem;font-weight:700;cursor:pointer}.dealer-view__history{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.875rem}.dealer-view__history-label{color:#9ca3af;margin-right:.25rem}.dealer-view__chip{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;padding:0 .35rem;border-radius:999px;font-weight:700;font-size:.8rem;color:#f5f5f5}.dealer-view__chip--red{background:var(--roulette-red, #d7263d)}.dealer-view__chip--black{background:var(--roulette-black, #111318);box-shadow:inset 0 0 0 1px var(--roulette-black-chip, #2a2d34)}.dealer-view__chip--green{background:var(--roulette-green, #1e8f4e)}.dealer-view__chip--void{background:var(--roulette-void, #6b7280)}.display-view{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--roulette-panel);min-height:100%}.display-view__header{font-size:1rem;font-weight:600;letter-spacing:.02em}.display-view__body{display:grid;grid-template-columns:minmax(4rem,.15fr) 1fr minmax(10rem,.35fr);gap:1rem;flex:1;align-items:start}.display-view__section-label{font-size:.7rem;letter-spacing:.08em;color:#9ca3af;margin-bottom:.35rem}.display-view__history-col{display:flex;flex-direction:column;gap:.25rem}.display-view__chip{display:flex;align-items:center;justify-content:center;min-width:2.5rem;min-height:2.5rem;border-radius:.35rem;font-weight:700;font-size:.95rem}.display-view__chip--red{background:var(--roulette-red)}.display-view__chip--black{background:var(--roulette-black);box-shadow:inset 0 0 0 1px var(--roulette-black-chip)}.display-view__chip--green{background:var(--roulette-green)}.display-view__chip--void{background:var(--roulette-void);color:#e5e7eb}.display-view__wheel-col{display:flex;align-items:center;justify-content:center}.wheel-graphic{width:100%;max-width:280px;height:auto}.display-view__stats-col{display:flex;flex-direction:column;gap:.75rem}.display-view__hotcold{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.display-view__hotcold-title{font-size:.75rem;font-weight:700;letter-spacing:.06em;margin-bottom:.25rem}.display-view__hotcold-row{display:flex;justify-content:space-between;font-size:.85rem;padding:.15rem 0}.display-view__percentages{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;line-height:1.35}.display-view--results-focus .display-view__body{grid-template-columns:minmax(8rem,.45fr) minmax(6rem,.25fr) minmax(8rem,.3fr)}.display-view--wheel-focus .display-view__body{grid-template-columns:minmax(3rem,.1fr) minmax(12rem,.55fr) minmax(8rem,.35fr)}.display-view--wheel-focus .wheel-graphic{max-width:360px}.display-view--portrait .display-view__body{grid-template-columns:1fr;grid-template-rows:auto auto auto}.display-view--portrait .display-view__history-col{flex-direction:row;flex-wrap:wrap}.result-detail{padding:1rem;background:var(--roulette-panel)}.result-detail__outcome{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}.result-detail__outcome--red{color:var(--roulette-red)}.result-detail__outcome--black{color:#e5e7eb}.result-detail__outcome--green{color:var(--roulette-green)}.result-detail__outcome--void{color:var(--roulette-void)}.result-detail__note{margin:0;color:#9ca3af}.result-detail__props{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0}.result-detail__props dt{color:#9ca3af;font-size:.85rem}.result-detail__props dd{margin:0;font-weight:600}.roulette-display{--roulette-red: #d7263d;--roulette-black: #111318;--roulette-black-chip: #2a2d34;--roulette-green: #1e8f4e;--roulette-void: #6b7280;--roulette-gold: #d4af37;--roulette-panel: #0f1412;--roulette-text: #f5f5f5;color:var(--roulette-text)}.roulette-player-view{--felt-cell: 3rem;--felt-gap: 2px;display:flex;flex-direction:column;gap:.75rem;padding:.5rem;min-width:360px;color:var(--roulette-text);background:var(--roulette-panel)}.roulette-player-view__body{display:flex;flex-direction:row;gap:.5rem;align-items:flex-start}.roulette-player-view__sidebar{flex:0 0 3.5rem;display:flex;flex-direction:column;gap:.5rem}.roulette-player-view__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.roulette-player-view__history-col{display:flex;flex-direction:column;gap:.25rem}.roulette-player-view__section-label{font-size:.65rem;letter-spacing:.08em;opacity:.7}.roulette-player-view__chip{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;border:2px solid rgba(255,255,255,.2)}.roulette-player-view__chip--red{background:var(--roulette-red)}.roulette-player-view__chip--black{background:var(--roulette-black-chip)}.roulette-player-view__chip--green{background:var(--roulette-green)}.roulette-player-view__chip--void{background:var(--roulette-void)}.roulette-player-view__hotcold-panel{font-size:.65rem}.roulette-player-view__hotcold-title{font-weight:700;margin-bottom:.15rem}.roulette-player-view__hotcold-row{display:flex;justify-content:space-between;gap:.25rem}.player-felt{display:flex;flex-direction:column;gap:var(--felt-gap)}.player-felt__grid-wrap{position:relative}.player-felt__grid{display:grid;grid-template-columns:var(--felt-cell) repeat(12,minmax(var(--felt-cell),1fr)) var(--felt-cell);grid-template-rows:repeat(3,minmax(var(--felt-cell),auto));gap:var(--felt-gap)}.player-felt__zero-col{grid-row:1 / span 3;grid-column:1;display:flex;flex-direction:column;gap:var(--felt-gap)}.player-felt__zero{flex:1;min-height:var(--felt-cell);min-width:var(--felt-cell)}.player-felt__number{min-height:max(var(--felt-cell),48px);min-width:max(var(--felt-cell),48px);border:1px solid rgba(255,255,255,.15);border-radius:.25rem;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;position:relative}.player-felt__number--red{background:var(--roulette-red)}.player-felt__number--black{background:var(--roulette-black)}.player-felt__number--green{background:var(--roulette-green)}.player-felt__column-bet{grid-row:1 / span 3;display:flex;flex-direction:column;gap:var(--felt-gap)}.player-felt__column-btn{flex:1;min-height:var(--felt-cell);min-width:var(--felt-cell)}.player-felt__dozens{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--felt-gap)}.player-felt__dozen{min-height:2.5rem}.player-felt__outsides{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--felt-gap)}.player-felt__outside{min-height:3.5rem}.player-felt__hits{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.player-felt__hit{position:absolute;pointer-events:auto;border:none;background:transparent;cursor:pointer;min-width:2.5rem;min-height:2.5rem;padding:0;z-index:2}.player-felt__hit:focus-visible{outline:2px solid var(--roulette-gold);outline-offset:1px}.player-felt__hit--disabled{pointer-events:none;opacity:.35}.player-felt__hit-stake{position:absolute;bottom:0;right:0;font-size:.55rem;background:#0009;padding:.1rem .2rem;border-radius:.15rem}.player-felt__magnifier{position:fixed;bottom:5rem;left:50%;transform:translate(-50%);background:#000000d9;border:2px solid var(--roulette-gold);color:#fff;padding:.5rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:700;z-index:100;pointer-events:none}.player-felt__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.player-felt__repeat,.player-felt__racetrack-toggle{padding:.5rem .75rem;border-radius:.375rem;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:inherit;font-size:.8rem;cursor:pointer}.player-felt__repeat:disabled{opacity:.4;cursor:not-allowed}.player-felt__racetrack{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;border:1px solid rgba(255,255,255,.15);border-radius:.5rem}.player-felt__racetrack-sectors{display:flex;flex-wrap:wrap;gap:.35rem}.player-felt__sector-btn{padding:.35rem .5rem;font-size:.7rem;border-radius:.25rem;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:inherit;cursor:pointer}.player-felt__racetrack-numbers{display:flex;flex-wrap:wrap;gap:.2rem}.player-felt__track-num{width:1.75rem;height:1.75rem;font-size:.6rem;border-radius:50%;border:1px solid rgba(255,255,255,.2);cursor:pointer;color:#fff}.player-felt__track-num--red{background:var(--roulette-red)}.player-felt__track-num--black{background:var(--roulette-black)}.player-felt__track-num--green{background:var(--roulette-green)}@media(min-width:360px){.roulette-player-view{--felt-cell: 3rem}}@media(orientation:landscape)and (min-width:640px){.roulette-player-view__body{flex-direction:row-reverse}}.rules-settings{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0}.rules-settings__field{display:flex;flex-direction:column;gap:.35rem}.rules-settings__label{font-size:.85rem;font-weight:600;color:#9ca3af}.rules-settings__options{display:flex;flex-wrap:wrap;gap:.75rem}.rules-settings__options label,.rules-settings__field>label{font-size:.9rem;cursor:pointer}.rules-settings__field input[type=number]{max-width:5rem;padding:.35rem;border-radius:.25rem;border:1px solid #374151;background:#111318;color:var(--roulette-text)}.blackjack-display{--bj-win: #2bb673;--bj-blackjack: #d4af37;--bj-lose: #d7263d;--bj-push: #9aa0a6;--bj-dealer-bust: #e08a1e;--bj-text: #ede6d6;--bj-muted: #9aa0a6;--bj-panel: rgba(255, 255, 255, .06);--bj-border: rgba(255, 255, 255, .12);--bj-slot-next: #6ab0ff}.dealer-view{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;color:var(--bj-text, #ede6d6)}.dealer-view__section-label{font-size:.7rem;letter-spacing:.08em;color:var(--bj-muted, #9aa0a6);margin-bottom:.35rem}.dealer-view__dealer-slots{display:flex;flex-wrap:wrap;gap:.35rem}.dealer-view__slot{min-width:48px;min-height:48px;border:1px solid var(--bj-border, rgba(255, 255, 255, .2));border-radius:4px;background:#00000040;color:inherit;cursor:pointer;font-size:.95rem;position:relative}.dealer-view__slot--empty{border-style:dashed;opacity:.75}.dealer-view__slot-plus{opacity:.35;font-size:1.1rem;line-height:1}.dealer-view__slot--next{animation:dealer-slot-pulse 1.2s ease-in-out infinite;border-color:var(--bj-slot-next, #6ab0ff)}.dealer-view__slot--hole{background:#1a2744;color:transparent}.dealer-view__slot--hole:after{content:"▮▮";color:#4a5568;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.dealer-view__slot--red{color:#f87171}.dealer-view__seat-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.dealer-view__seat-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:48px;min-width:48px;padding:.35rem .65rem;border:1px solid var(--bj-border, rgba(255, 255, 255, .2));border-radius:4px;background:#0003;color:inherit;cursor:pointer}.dealer-view__seat-intent{font-size:.55rem;font-weight:700;letter-spacing:.04em;color:var(--bj-blackjack, #d4af37);line-height:1}.dealer-view__seat-tab--active{border-color:var(--bj-blackjack, #d4af37);background:#d4af3726}.dealer-view__seat-tab--inactive{opacity:.45}.dealer-view__seat-panel{padding:.75rem;background:var(--bj-panel, rgba(255, 255, 255, .06));border-radius:6px}.dealer-view__seat-panel .outcome-chips{gap:8px}.dealer-view__seat-panel .outcome-chips__chip{min-width:48px;min-height:48px;padding:6px 8px;font-size:.7rem;font-weight:700;letter-spacing:.02em}.dealer-view__hand-row{margin-bottom:.5rem}.dealer-view__hand-label{font-size:.7rem;color:var(--bj-muted, #9aa0a6)}.dealer-view__actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.dealer-view__action{min-height:48px;min-width:48px;padding:.35rem .65rem;border:1px solid var(--bj-border, rgba(255, 255, 255, .2));border-radius:4px;background:#00000040;color:inherit;cursor:pointer;font-size:.8rem}.dealer-view__action:disabled{opacity:.35;cursor:not-allowed}.dealer-view__hint{font-size:.85rem;color:var(--bj-muted, #9aa0a6);min-height:1.25rem}.dealer-view__error-banner{background:#d7263d33;border:1px solid #d7263d;border-radius:6px;padding:.75rem;color:#fca5a5}.dealer-view__error-list{margin:0 0 .5rem;padding-left:1.25rem;font-size:.85rem}.dealer-view__override-btn{width:100%;padding:.5rem;background:#d7263d;border:none;border-radius:4px;color:#fff;font-weight:600;cursor:pointer}.dealer-view__quick-entry{margin-top:.25rem}.dealer-view__quick-entry--disabled .outcome-chips__chip{pointer-events:none;opacity:.35;cursor:not-allowed}@keyframes dealer-slot-pulse{0%,to{box-shadow:0 0 #6ab0ff73}50%{box-shadow:0 0 0 6px #6ab0ff00}}@media(prefers-reduced-motion:reduce){.dealer-view__slot--next{animation:none;border-color:var(--bj-slot-next, #6ab0ff);box-shadow:0 0 0 2px #6ab0ff80}}.display-view{display:flex;flex-direction:column;height:100%;padding:.75rem;color:var(--bj-text, #ede6d6);box-sizing:border-box}.display-view__dealer{text-align:center;padding:.75rem;background:var(--bj-panel, rgba(255, 255, 255, .06));border-radius:6px;margin-bottom:.75rem}.display-view__dealer-label{font-size:.7rem;letter-spacing:.08em;color:var(--bj-muted, #9aa0a6)}.display-view__dealer-cards{font-size:1.25rem;margin:.35rem 0}.display-view__dealer-status{font-size:.85rem;color:var(--bj-muted, #9aa0a6)}.display-view__seats{display:grid;gap:.5rem;flex:1}.display-view--classic .display-view__seats{grid-template-columns:repeat(auto-fit,minmax(5rem,1fr))}.display-view--dealer-focus .display-view__seats{grid-template-columns:repeat(7,1fr);font-size:.75rem}.display-view--dealer-focus .display-view__dealer{padding:1.5rem}.display-view--dealer-focus .display-view__dealer-cards{font-size:2rem}.display-view--stats-focus .display-view__seats,.display-view--stats-focus .display-view__dealer-cards{font-size:.8rem}.display-view--portrait{flex-direction:column}.display-view--portrait .display-view__seats{grid-template-columns:repeat(2,1fr)}.display-view__seat{background:var(--bj-panel, rgba(255, 255, 255, .06));border:1px solid var(--bj-border, rgba(255, 255, 255, .12));border-radius:4px;padding:.5rem;min-height:3rem}.display-view__seat--empty{opacity:.35}.display-view__seat-label{font-size:.65rem;color:var(--bj-muted, #9aa0a6)}.display-view__hand{margin-top:.25rem}.display-view__hand-tag{font-size:.65rem;color:var(--bj-blackjack, #d4af37)}.display-view__outcome{font-weight:700;font-size:.8rem;margin-top:.2rem}.display-view__footer{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--bj-border, rgba(255, 255, 255, .12));font-size:.75rem}.display-view__shoe{flex:1;min-width:10rem}.display-view__shoe-bar{height:.5rem;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-top:.25rem}.display-view__shoe-fill{height:100%;background:var(--bj-blackjack, #d4af37)}.display-view__stats{display:flex;flex-wrap:wrap;gap:.35rem 1rem}.display-view__stat{white-space:nowrap}.blackjack-player-view{display:flex;flex-direction:column;gap:.75rem;padding:.5rem;min-height:100%}.blackjack-player-view__section-label{font-size:.7rem;letter-spacing:.08em;color:#9aa0a6;margin-bottom:.35rem}.blackjack-player-view__dealer,.blackjack-player-view__seat{border-bottom:1px solid rgba(237,230,214,.12);padding-bottom:.75rem}.blackjack-player-view__cards{display:flex;flex-wrap:wrap;gap:.35rem}.blackjack-player-view__card{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;min-height:3rem;padding:.25rem .4rem;border-radius:.35rem;background:#1a1f2e;border:1px solid rgba(237,230,214,.2);font-size:1rem;color:#ede6d6}.blackjack-player-view__card--red{color:#d7263d}.blackjack-player-view__card--down{background:#0f1219;color:#64748b;letter-spacing:-.15em}.blackjack-player-view__total{margin-top:.35rem;font-size:.95rem;color:#ede6d6}.blackjack-player-view__hand{margin-bottom:.5rem;padding:.35rem;border-radius:.35rem}.blackjack-player-view__hand--active{outline:2px solid #d4af37;background:#d4af3714}.blackjack-player-view__hand-label{font-size:.75rem;color:#9aa0a6;margin-bottom:.25rem}.blackjack-player-view__stake{font-size:.85rem;color:#d4af37;margin-top:.35rem}.blackjack-player-view__no-seat{text-align:center;padding:2rem 1rem;color:#9aa0a6}.blackjack-player-view__seat-picker{padding:1rem}.blackjack-player-view__seat-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.blackjack-player-view__seat-pick{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:64px;min-width:48px;border:1px solid rgba(255,255,255,.2);border-radius:.35rem;background:#ffffff0f;color:inherit;cursor:pointer}.blackjack-player-view__seat-pick:disabled{opacity:.4;cursor:not-allowed}.blackjack-player-view__seat-pick-taken{font-size:.65rem;color:#9aa0a6}.blackjack-player-view__intent{text-align:center;padding:.5rem;background:#2563eb26;border-radius:.35rem;color:#93c5fd;font-size:.9rem}.blackjack-player-view__prompt{text-align:center;font-size:.85rem;letter-spacing:.06em;color:#d4af37;margin-bottom:.5rem}.blackjack-player-view__action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.blackjack-player-view__action-btn{min-height:64px;min-width:48px;border:none;border-radius:.5rem;background:#2563eb;color:#fff;font-size:1rem;font-weight:600;letter-spacing:.04em;cursor:pointer}.blackjack-player-view__action-btn:disabled{opacity:.35;cursor:not-allowed}.blackjack-player-view__others-toggle{width:100%;min-height:48px;text-align:left;padding:.5rem .75rem;border:1px solid rgba(237,230,214,.15);border-radius:.35rem;background:transparent;color:#9aa0a6;font-size:.8rem;cursor:pointer}.blackjack-player-view__others-list{margin:.35rem 0 0;padding-left:1.25rem;color:#ede6d6;font-size:.85rem}.felt-zones__zone--main{grid-column:span 2}.result-detail{padding:1rem;color:var(--bj-text, #ede6d6)}.result-detail__dealer-error{background:#d7263d;color:#fff;padding:.5rem .75rem;border-radius:4px;margin-bottom:.75rem;font-weight:600}.result-detail__section{margin-bottom:1rem}.result-detail__section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--bj-muted, #9aa0a6);margin-bottom:.35rem}.result-detail__hand-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;margin-bottom:.35rem}.result-detail__outcome{font-weight:700;font-size:.85rem}.result-detail__quick-note{color:var(--bj-muted, #9aa0a6);font-style:italic}.result-detail__tag{font-size:.75rem;color:var(--bj-blackjack, #d4af37)}.rules-settings{padding:1rem;color:var(--bj-text, #ede6d6);max-height:100%;overflow-y:auto}.rules-settings__field{margin-bottom:1rem}.rules-settings__label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--bj-muted, #9aa0a6);margin-bottom:.35rem}.rules-settings__options{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.rules-settings__options label{cursor:pointer;font-size:.9rem}.rules-settings__range{width:100%;max-width:16rem}.bank-panel__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;z-index:100}.bank-panel{width:100%;max-height:85vh;overflow-y:auto;background:var(--panel-bg, #1a1a1a);border-top:1px solid var(--gold-hairline, #c9a227);padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.bank-panel button,.bank-panel select{min-height:max(3rem,44px);min-width:max(3rem,44px)}.bank-panel input,.bank-panel select{font-size:max(1rem,16px)}.bank-panel input{min-height:max(3rem,44px)}.bank-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.bank-panel__section{margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem}.bank-panel__section h3{margin:0;font-size:.875rem;color:var(--accent, #c9a227)}.bank-panel__summary{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.bank-panel__actions{display:flex;gap:.5rem}.bank-panel label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.bank-panel input,.bank-panel select{padding:.5rem;border-radius:4px;border:1px solid var(--gold-hairline, #c9a227);background:#ffffff0f;color:inherit}.bank-panel button{padding:.5rem .75rem;border-radius:6px;border:1px solid var(--gold-hairline, #c9a227);background:#ffffff14;color:inherit;cursor:pointer}.bank-panel__empty{opacity:.75;font-size:.9rem;margin:.5rem 0 1rem}.bank-panel__toast{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);padding:.75rem 1rem;background:#1e1e32f2;border:1px solid rgba(255,255,255,.2);border-radius:8px;z-index:110;max-width:90vw;font-size:.9rem}.betting-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;width:100%;min-height:56px;padding:.625rem 1rem;border-bottom:1px solid var(--gold-hairline);background:#d4af3714;color:var(--text-primary);font:inherit;font-size:max(1rem,16px);text-align:left;flex-shrink:0}.betting-bar__toggle{min-height:56px;min-width:8rem;padding:.5rem 1rem;border:2px solid var(--gold-hairline);border-radius:8px;background:#ffffff14;color:var(--text-primary);font:inherit;font-size:max(.9375rem,15px);font-weight:700;cursor:pointer;flex-shrink:0}.betting-bar__toggle--open{border-color:#4caf50;background:#4caf5026;color:#a5d6a7}.betting-bar__toggle--closed{border-color:#ff9800;background:#ff98001f;color:#ffcc80}.betting-bar__toggle--idle{border-color:var(--accent, #c9a227);background:#d4af3726;color:var(--accent, #c9a227)}.betting-bar__info{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem}.betting-bar__status{font-weight:600;color:var(--accent, #c9a227)}.betting-bar__friendly{opacity:.9}.betting-bar__countdown{opacity:.85}.betting-bar__zones{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1rem;width:100%}.betting-bar__legend{width:100%;font-size:max(.8125rem,13px);opacity:.7}.betting-bar__side{opacity:.9}.ui-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0000008c;display:flex;align-items:flex-end;justify-content:center}.ui-sheet{width:100%;max-width:28rem;background:var(--panel-bg, #1a1a1a);color:var(--text-primary, #f5f5f5);border:1px solid var(--gold-hairline, rgba(212, 175, 55, .35));border-radius:.75rem .75rem 0 0;padding:1rem 1rem max(1rem,env(safe-area-inset-bottom,0))}.ui-sheet__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-weight:700;font-size:max(1.125rem,18px)}.ui-sheet__body{margin-bottom:1rem;font-size:max(.9375rem,15px);line-height:1.45;color:var(--text-muted, rgba(245, 245, 245, .85));white-space:pre-wrap}.ui-sheet__actions{display:flex;gap:.5rem}.ui-sheet__btn{flex:1;min-height:3rem;border-radius:8px;border:1px solid var(--gold-hairline, rgba(212, 175, 55, .35));background:#ffffff0f;color:inherit;font-size:max(1rem,16px);font-weight:600;cursor:pointer}.ui-sheet__btn--primary{position:relative;overflow:hidden}.ui-sheet__btn--destructive{border-color:#f4433680;color:#f44336}.ui-sheet__btn--cancel{background:transparent}.ui-sheet__hold-progress{position:absolute;top:0;right:0;bottom:0;left:0;background:#f4433640;transform-origin:left;pointer-events:none}.ui-sheet__field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.ui-sheet__field label{font-size:max(.875rem,14px);opacity:.85}.ui-sheet__input,.ui-sheet__textarea{width:100%;min-height:3rem;padding:.5rem .75rem;border-radius:.35rem;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:inherit;font-size:max(1rem,16px);font-family:inherit;box-sizing:border-box}.ui-sheet__textarea{min-height:8rem;resize:vertical}.ui-sheet__error{color:#e57373;font-size:max(.875rem,14px)}.ui-sheet__preview{margin-bottom:.75rem;padding:.5rem .75rem;border-radius:.35rem;background:#ffffff0f;font-size:max(.875rem,14px);color:var(--text-muted, rgba(245, 245, 245, .75))}.ui-sheet__secondary{margin-bottom:.75rem}.ui-sheet__secondary-btn{min-height:2.75rem;padding:0 .75rem;border-radius:8px;border:1px solid var(--gold-hairline, rgba(212, 175, 55, .35));background:#ffffff0f;color:inherit;font-size:max(.9375rem,15px);cursor:pointer}.settings-dialog__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100}.settings-dialog{background:var(--surface-elevated, #1a1a2e);border:1px solid var(--border, #333);border-radius:8px;width:min(420px,95vw);max-height:85vh;display:flex;flex-direction:column;color:var(--text, #eee);padding-bottom:max(1rem,env(safe-area-inset-bottom))}.settings-dialog button,.settings-dialog select{min-height:max(3rem,44px);min-width:max(3rem,44px)}.settings-dialog input:not([type=checkbox]):not([type=radio]),.settings-dialog select{min-height:max(3rem,44px);font-size:max(1rem,16px)}.settings-dialog--wide{width:min(560px,95vw)}.settings-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border, #333)}.settings-dialog__sr-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.settings-dialog__tabs{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;min-height:max(3rem,44px);-webkit-overflow-scrolling:touch}.settings-dialog__tab{background:transparent;border:none;color:var(--text-muted, #aaa);padding:.25rem .5rem;cursor:pointer;min-height:max(3rem,44px);flex-shrink:0;scroll-snap-align:start}.settings-dialog__tab--active{color:var(--text, #eee);border-bottom:2px solid var(--accent, #c9a227)}.settings-dialog__body{padding:1rem;overflow-y:auto}.settings-dialog__field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.settings-dialog__field label{font-size:.85rem;color:var(--text-muted, #aaa)}.settings-dialog__field input[type=range],.settings-dialog__field select{width:100%}.settings-dialog__checks{display:flex;flex-direction:column;gap:.5rem}.animation-editor__bundles{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.animation-editor__bundles select{flex:1;min-width:8rem}.animation-editor__rows{display:flex;flex-direction:column;gap:.35rem}.animation-editor__row{border:1px solid var(--border, #333);border-radius:4px;padding:.35rem .5rem}.animation-editor__summary{cursor:pointer;display:flex;align-items:center;gap:.5rem;list-style:none}.animation-editor__summary::-webkit-details-marker{display:none}.animation-editor__badge{font-size:.7rem;text-transform:uppercase;color:var(--text-muted, #aaa);border:1px solid var(--border, #444);border-radius:3px;padding:0 .25rem}.animation-editor__override{font-size:.7rem;color:var(--accent, #c9a227)}.animation-editor__controls{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border, #333)}.animation-editor__vars{color:var(--text-muted, #aaa);font-size:.75rem}.animation-editor__actions{display:flex;gap:.5rem;margin-top:.5rem}.animation-editor__advanced{opacity:.85}.settings-dialog__section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border, #333)}.settings-dialog__section-title{margin:0 0 .35rem;font-size:.95rem}.settings-dialog__hint{margin:0 0 .75rem;font-size:.8rem;color:var(--text-muted, #aaa)}.settings-dialog__help{margin:.25rem 0 0;font-size:.8rem;color:var(--text-muted, #aaa);line-height:1.35}.settings-dialog__hint--warn{color:#ffb74d}.settings-dialog__fieldset{border:none;margin:0 0 .75rem;padding:0}.settings-dialog__fieldset legend{font-size:.85rem;color:var(--text-muted, #aaa);margin-bottom:.35rem}.settings-dialog__option{display:block;margin-bottom:.35rem;font-size:.9rem}.settings-dialog__option--nested{margin-left:1.25rem}.history-dialog__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100}.history-dialog{background:var(--surface-elevated, #1a1a2e);border:1px solid var(--border, #333);border-radius:8px;width:min(440px,95vw);max-height:85vh;display:flex;flex-direction:column;color:var(--text, #eee)}.history-dialog__header{display:flex;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border, #333)}.history-dialog__list{overflow-y:auto;flex:1}.history-dialog__row{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem 1rem;border:none;border-bottom:1px solid var(--border, #333);background:transparent;color:inherit;text-align:left;cursor:pointer}.history-dialog__row:hover{background:#ffffff0d}.history-dialog__index{font-variant-numeric:tabular-nums;color:var(--text-muted, #aaa);min-width:2rem}.history-dialog__outcome{font-weight:700;width:1.5rem;text-align:center;border-radius:4px}.history-dialog__outcome--P{color:#2563eb}.history-dialog__outcome--B{color:#e5322d}.history-dialog__outcome--T{color:#16a34a}.history-dialog__detail{padding:1rem;overflow-y:auto}.history-dialog__actions{display:flex;gap:.5rem;margin-top:1rem}.history-dialog__actions button{flex:1;padding:.5rem}.history-dialog__badges{display:flex;gap:.25rem;flex-wrap:wrap;font-size:.7rem}.history-dialog__badge{background:#ffffff1a;padding:.1rem .35rem;border-radius:3px}.calculator-dialog__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100}.calculator-dialog{background:var(--surface-elevated, #1a1a2e);border:1px solid var(--border, #333);border-radius:8px;width:min(480px,95vw);max-height:90vh;display:flex;flex-direction:column;color:var(--text, #eee);padding-bottom:max(1rem,env(safe-area-inset-bottom))}.calculator-dialog button,.calculator-dialog select{min-height:max(3rem,44px);min-width:max(3rem,44px)}.calculator-dialog input{min-height:max(3rem,44px);font-size:max(1rem,16px)}.calculator-dialog__header{display:flex;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border, #333)}.calculator-dialog__amount{font-size:1.5rem;padding:.75rem 1rem;text-align:right;font-variant-numeric:tabular-nums}.calculator-dialog__keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;padding:0 1rem 1rem}.calculator-dialog__key{padding:.75rem;font-size:1.1rem;background:var(--surface, #252540);border:1px solid var(--border, #333);color:inherit;cursor:pointer}.calculator-dialog__rows{overflow-y:auto;padding:0 1rem 1rem;flex:1}.calculator-dialog__group-label{font-size:.75rem;color:var(--text-muted, #aaa);margin:.5rem 0 .25rem}.calculator-dialog__row{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--border, #333);font-size:.85rem}.calculator-dialog__bet-label{font-weight:600}.calculator-dialog__bet-meta{color:var(--text-muted, #aaa);font-size:.75rem}.calculator-dialog__returns{text-align:right;font-variant-numeric:tabular-nums}.players-dialog__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;z-index:100}.players-dialog{width:100%;max-height:80vh;overflow:auto;background:#1a1a2e;color:#f5f5f5;border-radius:12px 12px 0 0;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.players-dialog button,.players-dialog select{min-height:max(3rem,44px);min-width:max(3rem,44px)}.players-dialog input[type=text],.players-dialog input[type=number]{min-height:max(3rem,44px);font-size:max(1rem,16px)}.players-dialog select{font-size:max(1rem,16px)}.players-dialog__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.players-dialog__section{margin-bottom:1rem}.players-dialog__section h3{font-size:.85rem;text-transform:uppercase;opacity:.7;margin-bottom:.5rem}.players-dialog__pending,.players-dialog__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.players-dialog__dot{width:.75rem;height:.75rem;border-radius:50%;flex-shrink:0}.players-dialog__status{font-size:.75rem;opacity:.65}.players-dialog__bank{font-size:.85rem;opacity:.8}.players-dialog__seat-select{min-height:32px;padding:.2rem .35rem;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:#00000040;color:inherit}.players-dialog__empty{opacity:.6;font-size:.9rem}.players-dialog__footer{padding-top:.5rem}.players-dialog__footer button{width:100%;padding:.65rem;border:1px solid rgba(255,255,255,.2);background:transparent;color:inherit;border-radius:6px}.players-dialog__reissue{margin-top:1rem;text-align:center;font-size:.85rem}.players-dialog__reissue img{max-width:160px;margin:.5rem auto;display:block}.players-dialog__rotation-hint{margin:0 0 .75rem;font-size:.85rem;opacity:.75;line-height:1.4}.players-dialog__rotation-hint--prominent{opacity:1;font-weight:600;padding:.5rem .65rem;border-radius:6px;background:#d4af3726;border:1px solid rgba(212,175,55,.35)}.players-dialog__shooter-badge{display:inline-block;margin-left:.25rem;padding:.1rem .4rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:4px;background:#d4af3740;color:#f5d76e;vertical-align:middle}.players-dialog__make-shooter{padding:.35rem .5rem;border:1px solid rgba(255,255,255,.2);background:transparent;color:inherit;border-radius:4px;font-size:.8rem;cursor:pointer}.players-dialog__make-shooter--primary{border-color:#d4af3780;background:#d4af371f;font-weight:600}.players-dialog__make-shooter:disabled{opacity:.45;cursor:not-allowed}.players-dialog__reissue-warning{color:#e57373;font-size:.85rem;margin:.25rem 0}.players-dialog__toast{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#1e1e32f2;border:1px solid rgba(255,255,255,.2);border-radius:8px;z-index:110;max-width:90vw;font-size:.9rem}.players-dialog__toast button{flex-shrink:0;padding:.35rem .75rem;border:1px solid rgba(212,175,55,.5);background:#d4af3726;color:inherit;border-radius:4px;cursor:pointer;font-weight:600}.ui-toast-host{position:fixed;left:0;right:0;bottom:0;z-index:70;pointer-events:none;display:flex;flex-direction:column;align-items:stretch}.ui-toast{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;background:#f4433626;color:#f44336;font-size:max(.875rem,16px);border-top:1px solid rgba(244,67,54,.25);pointer-events:auto}.ui-toast--info{background:#ff980026;color:#ff9800;border-top-color:#ff980040}.ui-toast--success{background:#4caf5026;color:#81c784;border-top-color:#4caf5040}.ui-toast-dismiss{flex-shrink:0;min-width:48px;min-height:48px;border:none;background:transparent;color:inherit;font-size:1.25rem;cursor:pointer}@media(prefers-reduced-motion:reduce){.ui-toast{transition:none}}.dealer-shell{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;background:var(--panel-bg);padding-top:env(safe-area-inset-top,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);overflow:hidden}.dealer-shell__rotate-hint{display:none;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;background:#d4af3726;color:var(--text-primary);font-size:.875rem;border-bottom:1px solid var(--gold-hairline)}.dealer-shell__rotate-hint button{flex-shrink:0;min-width:48px;min-height:48px;border:none;background:transparent;color:var(--text-primary);font-size:1.25rem}@media(orientation:landscape)and (max-height:500px){.dealer-shell__rotate-hint:not(.dealer-shell__rotate-hint--dismissed){display:flex}}.dealer-shell__edit-banner{background:transparent;border:none;color:var(--accent, #c9a227);font:inherit;cursor:pointer;padding:0;width:100%;text-align:left;min-height:48px}.dealer-shell__header{display:flex;align-items:center;gap:.35rem;padding:.5rem .75rem;border-bottom:1px solid var(--gold-hairline);font-size:max(.875rem,16px);flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dealer-shell__header>span{flex-shrink:0}.dealer-shell__dot{width:.625rem;height:.625rem;border-radius:50%;background:#4caf50;flex-shrink:0}.dealer-shell__dot--reconnecting{background:#ff9800}.dealer-shell__dot--offline{background:#f44336}.dealer-shell__player-count,.dealer-shell__virtual-badge{margin-left:auto;font-size:.8125rem;opacity:.9}.dealer-shell__module{flex:1;min-height:0;overflow:auto;padding:.5rem .75rem}.dealer-shell__virtual-panel{display:flex;flex-direction:column;align-items:center;justify-content:center}.dealer-shell__virtual-reveal{font-size:1.125rem;font-weight:600;text-align:center;animation:dealer-reveal-pulse 1.5s ease-in-out infinite}.dealer-shell__virtual-headline{margin:0 0 .75rem;font-size:1.125rem;font-weight:600;text-align:center}.dealer-shell__virtual-empty{margin:0;font-size:1rem;opacity:.75;text-align:center}@keyframes dealer-reveal-pulse{0%,to{opacity:1}50%{opacity:.55}}.dealer-shell__bottom{flex-shrink:0;border-top:1px solid var(--gold-hairline);background:var(--panel-bg);padding-bottom:env(safe-area-inset-bottom,0)}.dealer-shell__toolbar{display:flex;align-items:center;gap:.5rem;min-height:56px;padding:.25rem .75rem;border-bottom:1px solid var(--gold-hairline)}.dealer-shell__tool-btn{min-width:48px;min-height:48px;border:1px solid var(--gold-hairline);border-radius:8px;background:#ffffff0f;color:var(--text-primary);font-size:1.25rem;display:inline-flex;align-items:center;justify-content:center}.dealer-shell__tool-btn--labeled{flex-direction:column;gap:.125rem;min-width:56px;min-height:56px;padding:.25rem .375rem;font-size:.6875rem}.dealer-shell__tool-icon{font-size:1.125rem;line-height:1}.dealer-shell__tool-label{font-size:max(.6875rem,11px);font-weight:600;line-height:1.1}.dealer-shell__tool-btn:disabled{opacity:.4;cursor:not-allowed}.dealer-shell__menu{position:relative;margin-left:auto}.dealer-shell__menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;background:#00000073}.dealer-shell__menu-panel{position:absolute;right:0;bottom:100%;margin-bottom:.25rem;min-width:12rem;max-height:calc(100dvh - 5.5rem - env(safe-area-inset-top,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--panel-bg);border:1px solid var(--gold-hairline);border-radius:8px;padding:.5rem 0;z-index:20;box-shadow:0 4px 24px #00000059}.dealer-shell__menu-panel button{display:block;width:100%;text-align:left;padding:.75rem 1rem;min-height:48px;border:none;background:transparent;color:var(--text-primary)}.dealer-shell__menu-panel button:disabled{opacity:.45;cursor:not-allowed}.dealer-shell__menu-panel a{display:block;padding:.75rem 1rem;min-height:48px;color:var(--text-primary);text-decoration:none}.dealer-shell__actions{display:flex;gap:.5rem;padding:.5rem .75rem}.dealer-shell__btn{flex:1;min-height:56px;border:1px solid var(--gold-hairline);border-radius:8px;background:#ffffff0f;color:var(--text-primary);font-size:1rem;font-weight:600}.dealer-shell__btn--confirm{position:relative;overflow:hidden;flex:2;min-height:64px;font-size:1.0625rem}.dealer-shell__btn--disabled{opacity:.4;cursor:not-allowed}.dealer-shell__confirm-progress{position:absolute;top:0;right:0;bottom:0;left:0;background:#d4af3740;transform-origin:left;pointer-events:none}.dealer-shell__badges{display:block;font-size:.75rem;opacity:.85}.dealer-shell__session-ended{flex:1;min-height:0;overflow:auto;padding:1rem .75rem}.dealer-shell__session-ended h2{margin:0 0 1rem;font-size:max(1.125rem,18px)}.dealer-shell__session-stats{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;margin:0 0 1rem}.dealer-shell__session-stats dt{opacity:.85}.dealer-shell__session-stats dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.dealer-shell__session-leaders h3{margin:0 0 .5rem;font-size:.9375rem}.dealer-shell__session-leaders ol{margin:0 0 1rem;padding-left:1.25rem}.dealer-shell__session-seed{margin:0 0 1rem;font-size:.8125rem;word-break:break-all;opacity:.9}.dealer-shell__session-actions{display:flex;flex-direction:column;gap:.5rem}.dealer-shell__session-actions .dealer-shell__btn{flex:none;width:100%}@media(min-width:769px){.dealer-shell{min-height:100%;height:auto;max-height:none;border:1px solid var(--gold-hairline);border-radius:8px}}.dealer-page{min-height:100dvh;padding:0}@media(min-width:769px){.dealer-page{min-height:100%;padding:.5rem}}.dealer-page--error{text-align:center;padding:4rem 1rem}.dealer-page__demoted{background:#5d4037;color:#fff;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem;border-radius:4px}.dealer-page__demoted button{background:#fff;color:#333;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.animation-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.animation-layer__flash{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 0 transparent;animation:animation-flash var(--anim-duration, 1s) ease-out forwards}.animation-layer__flash--1{--flash-spread: 12px}.animation-layer__flash--2{--flash-spread: 24px}.animation-layer__flash--3{--flash-spread: 36px}@keyframes animation-flash{0%{box-shadow:inset 0 0 var(--flash-spread, 12px) var(--anim-color, #d4af37)}to{box-shadow:inset 0 0 0 transparent}}.animation-layer__sweep{position:absolute;top:0;bottom:0;width:18%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--anim-color, #d4af37) 70%,transparent),transparent);animation:animation-sweep var(--anim-duration, 1s) ease-in-out forwards}@keyframes animation-sweep{0%{left:-20%;opacity:.2}50%{opacity:1}to{left:100%;opacity:0}}.animation-layer__banner{position:absolute;left:50%;top:18%;transform:translate(-50%);padding:.75rem 1.5rem;font-size:clamp(1.5rem,4vw,3rem);font-weight:700;letter-spacing:.08em;color:var(--anim-color, #d4af37);text-shadow:0 0 18px color-mix(in srgb,var(--anim-color, #d4af37) 60%,transparent);animation:animation-banner var(--anim-duration, 1s) ease-out forwards}@keyframes animation-banner{0%{opacity:0;transform:translate(-50%) translateY(-24px)}20%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-12px)}}.animation-layer__canvas,.animation-layer__svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.animation-layer__dragon-head{fill:var(--anim-color, #d4af37);filter:drop-shadow(0 0 8px var(--anim-color, #d4af37))}.animation-layer__path-glow{fill:none;stroke:var(--anim-color, #d4af37);stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px var(--anim-color, #d4af37))}@keyframes animation-path-draw{to{stroke-dashoffset:0}}.animation-layer__chips{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.animation-layer__chip{position:absolute;left:var(--chip-origin-x, 50%);top:var(--chip-origin-y, 50%);width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--anim-color, #d4af37) 80%,white),var(--anim-color, #d4af37));border:2px solid color-mix(in srgb,var(--anim-color, #d4af37) 60%,white);box-shadow:0 2px 4px #00000059;opacity:0;animation:animation-chips-fly var(--anim-duration, 1s) ease-out forwards}@keyframes animation-chips-fly{0%{opacity:1;transform:translate(0) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(180px,-120px) scale(.6)}}.display-shell__module--shake{animation:animation-shake var(--anim-duration, .5s) ease-in-out}@keyframes animation-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px,2px)}40%{transform:translate(6px,-2px)}60%{transform:translate(-4px,-2px)}80%{transform:translate(4px,2px)}}.betting-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.5rem 1rem;border-bottom:1px solid var(--gold-hairline, #c9a227);background:#00000059;font-size:.875rem}.betting-strip__main{display:flex;flex-direction:column;gap:.25rem;min-width:8rem}.betting-strip__status{font-weight:600;color:var(--accent, #c9a227)}.betting-strip__bar{height:4px;width:8rem;background:#ffffff26;border-radius:2px;overflow:hidden}.betting-strip__bar-fill{height:100%;background:var(--accent, #c9a227);transition:width 1s linear}.betting-strip__side{opacity:.9}.leaderboard-interstitial{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:50}.leaderboard-interstitial__panel{background:var(--panel-bg, #1a1a1a);border:1px solid var(--gold-hairline, #c9a227);border-radius:12px;padding:1.5rem 2rem;max-width:36rem;width:90%}.leaderboard-interstitial__columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1rem 0}.leaderboard-interstitial h2{margin:0;text-align:center;color:var(--accent, #c9a227)}.leaderboard-interstitial h3{margin:0 0 .5rem;font-size:.875rem}.leaderboard-interstitial ol{margin:0;padding-left:1.25rem}.leaderboard-interstitial__disclaimer{margin:0 0 1rem;text-align:center;font-size:.8rem;opacity:.75}.leaderboard-interstitial button{display:block;margin:0 auto;padding:.5rem 1.5rem;border-radius:6px;border:1px solid var(--gold-hairline, #c9a227);background:#ffffff14;color:inherit;cursor:pointer}.leaderboard-interstitial__caption{margin:0;text-align:center;font-size:.9375rem;font-weight:600}.player-settings-sheet__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#00000080;display:flex;align-items:flex-end;justify-content:center}.player-settings-sheet{width:100%;max-width:28rem;background:#1a1a1a;color:#f5f5f5;border-radius:.75rem .75rem 0 0;padding:1rem 1rem max(1rem,env(safe-area-inset-bottom,0))}.player-settings-sheet__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;font-weight:700;font-size:max(1.125rem,18px)}.player-settings-sheet__close{min-width:max(3rem,44px);min-height:max(3rem,44px);border:none;background:transparent;color:inherit;font-size:1.25rem;cursor:pointer}.player-settings-sheet__field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.player-settings-sheet__field label{font-size:max(.875rem,14px);opacity:.85}.player-settings-sheet__field select{min-height:3rem;padding:.5rem .75rem;border-radius:.35rem;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:inherit;font-size:max(1rem,16px)}.player-shell{position:relative;display:flex;flex-direction:column;height:100dvh;max-height:100dvh;background:var(--felt-bg, #0d3b2e);color:#f5f5f5;overflow:hidden;padding-top:env(safe-area-inset-top,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);touch-action:manipulation}.player-shell__header{display:flex;align-items:center;gap:.35rem;padding:.5rem .75rem;border-bottom:1px solid rgba(255,255,255,.12);font-size:max(.875rem,14px);flex-shrink:0;white-space:nowrap;overflow:hidden}.player-shell__colour{width:.625rem;height:.625rem;border-radius:50%;flex-shrink:0}.player-shell__dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.player-shell__dot--on{background:#4caf50}.player-shell__dot--reconnecting{background:#ff9800}.player-shell__dot--off{background:#f44336}.player-shell__connection-pill{flex-shrink:0;text-align:center;padding:.35rem .75rem;font-size:max(.8125rem,13px);font-weight:600;color:#000;background:#ff9800}.player-shell__tray--disabled{opacity:.5}.player-shell__name{font-weight:600;overflow:hidden;text-overflow:ellipsis}.player-shell__bank{margin-left:auto;font-variant-numeric:tabular-nums;font-size:max(1.25rem,20px);font-weight:700;flex-shrink:0}.player-shell__code{opacity:.7;font-family:monospace;font-size:max(.8125rem,13px);flex-shrink:0}.player-shell__settings{flex-shrink:0;min-width:max(3rem,44px);min-height:max(3rem,44px);border:none;background:transparent;color:inherit;font-size:1.125rem;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.player-shell__rebuy{margin:0;padding:.5rem .75rem;background:#ffc10726;color:#ffd54f;font-size:max(.9375rem,15px);text-align:center;flex-shrink:0}.player-shell__status{padding:.625rem .75rem;font-weight:600;font-size:max(1.125rem,18px);min-height:2.75rem;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.player-shell__main{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.player-shell__panel{flex:1;min-height:0;padding:1rem;overflow-y:auto}.player-shell__panel--readonly{pointer-events:none;opacity:.95}.player-shell__bottom{flex-shrink:0;border-top:1px solid rgba(255,255,255,.12);background:#00000040;padding-bottom:env(safe-area-inset-bottom,0)}.player-shell__hint{margin:0;padding:.35rem .75rem 0;font-size:max(.8125rem,13px);opacity:.9}.player-shell__toast{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;background:#f4433626;color:#f44336;font-size:max(.875rem,14px);border-bottom:1px solid rgba(244,67,54,.25)}.player-shell__toast--success{background:#4caf5026;color:#81c784;border-bottom-color:#4caf5040}.player-shell__toast-dismiss{flex-shrink:0;min-width:3rem;min-height:3rem;border:none;background:transparent;color:inherit;font-size:1.25rem;cursor:pointer;touch-action:manipulation}.player-shell__footer{display:flex;flex-shrink:0;gap:.25rem;padding:.35rem .5rem;padding-bottom:max(.35rem,env(safe-area-inset-bottom,0));border-top:1px solid rgba(255,255,255,.12);background:#00000026}.player-shell__tab{flex:1;min-height:max(3rem,44px);min-width:max(3rem,44px);border:1px solid rgba(255,255,255,.2);border-radius:.35rem;background:transparent;color:#fff;font-size:max(.8125rem,13px);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.player-shell__tab:active{transform:scale(.97)}.player-shell__tab--active{background:#ffffff1f}.player-shell__tab--back{flex:100%}.player-shell__fairness{margin-top:.75rem;font-size:max(.875rem,14px);opacity:.85;word-break:break-all}.player-shell__history-list{list-style:none;margin:0;padding:0}.player-shell__history-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:max(.875rem,14px)}.player-shell__history-label{flex:1 1 100%;font-weight:600}.player-shell__history-outcome{text-transform:uppercase;font-size:max(.75rem,12px);font-weight:700;padding:.1rem .35rem;border-radius:.2rem;background:#ffffff1a}.player-shell__history-outcome--win{color:#81c784}.player-shell__history-outcome--lose{color:#e57373}.player-shell__history-outcome--push{color:#bdbdbd}.player-shell__history-profit{font-variant-numeric:tabular-nums;font-weight:600}.player-shell__history-net{margin-left:auto;font-variant-numeric:tabular-nums;opacity:.85}.player-shell__history-total{margin-top:.75rem;font-weight:700;font-variant-numeric:tabular-nums}.player-shell__session-summary h2{margin:0 0 1rem;font-size:max(1.125rem,18px)}.player-shell__summary-stats{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;margin:0 0 1rem}.player-shell__summary-stats dt{opacity:.85}.player-shell__summary-stats dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.player-shell__verify-link{display:inline-block;padding:.5rem .75rem;border-radius:.35rem;background:#ffffff1f;color:#fff;text-decoration:none;font-weight:600}.player-shell button,.player-shell .chip-tray__denom,.player-shell .felt-zones__zone{-webkit-tap-highlight-color:transparent}.player-shell__animation-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20}.player-shell--blocked{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:1rem}.player-shell__blocked-card{max-width:22rem;padding:1.25rem;border-radius:.5rem;background:#00000059;border:1px solid rgba(255,255,255,.12);text-align:center;font-size:max(1rem,16px)}.player-shell__home{margin-top:1rem;min-width:max(3rem,44px);min-height:max(3rem,44px);padding:.5rem 1rem;border:1px solid rgba(255,255,255,.25);border-radius:.35rem;background:transparent;color:inherit;cursor:pointer;touch-action:manipulation}.player-shell__disclaimer{margin-top:1rem;font-size:max(.875rem,14px);opacity:.85}.player-shell__history-result{display:block;font-size:max(.8125rem,13px);opacity:.85}@media(prefers-reduced-motion:reduce){.player-shell__tab:active{transform:none}}.display-shell{--display-scale: min(100vw / 1920, 100vh / 1080);position:relative;display:flex;flex-direction:column;min-height:100%;font-size:calc(16px * var(--display-scale));background:var(--panel-bg);border:1px solid var(--gold-hairline);border-radius:8px}.display-shell--cursor-hidden{cursor:none}.display-shell__header{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--gold-hairline)}.display-shell__logo{font:inherit;font-weight:700;color:var(--gold-accent);-webkit-user-select:none;user-select:none;background:none;border:none;padding:0;cursor:pointer}.display-shell__stats{display:flex;gap:1rem;margin-left:auto;font-size:.875rem}.display-shell__stat-value{color:var(--gold-accent)}.display-shell__connection-banner{background:#c62828;color:#fff;text-align:center;padding:.4rem .75rem;font-size:.875rem;font-weight:600}.display-shell__connection-pill{display:inline-flex;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:600;color:#000;background:#ff9800;border-radius:999px}.display-shell__dealer-hint{background:#ff9800;color:#000;text-align:center;padding:.35rem;font-size:.875rem;font-weight:600}.display-shell__dealer-hint--waiting{background:#90a4ae40;color:var(--text-muted, #90a4ae)}.display-shell__toast{text-align:center;padding:.5rem .75rem;font-size:.875rem;font-weight:600}.display-shell__toast--info{background:#ff980026;color:#ff9800;border-bottom:1px solid rgba(255,152,0,.25)}.qr-badge{display:inline-flex;flex-direction:column;align-items:center;gap:.25rem}.qr-badge__image{display:inline-flex;width:6rem;height:6rem}.qr-badge__image svg{width:100%;height:100%}.qr-badge__code{font-size:.75rem;font-weight:700;letter-spacing:.12em;color:var(--gold-accent)}.display-shell--idle-attract .display-shell__module{animation:display-idle-shimmer 4s ease-in-out infinite}@keyframes display-idle-shimmer{0%,to{box-shadow:inset 0 0 #c9a22700}50%{box-shadow:inset 0 0 80px #c9a2271f}}@media(prefers-reduced-motion:reduce){.display-shell--idle-attract .display-shell__module{animation:none;box-shadow:inset 0 0 40px #c9a22714}}.display-shell__module{position:relative;flex:1;min-height:10rem;padding:1rem}.display-shell__virtual-board-tag{position:absolute;top:.5rem;right:.5rem;z-index:2;padding:.15rem .45rem;font-size:.65rem;font-weight:700;letter-spacing:.08em;color:var(--text-muted);border:1px solid var(--gold-hairline);border-radius:4px;opacity:.75;pointer-events:none}.display-shell__sr-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.display-shell__hint-toast{position:absolute;right:1rem;bottom:1rem;z-index:5;max-width:min(20rem,40vw);padding:.65rem 1rem;font-size:.95rem;font-weight:600;text-align:center;background:#000000d1;color:var(--text-primary);border:1px solid var(--gold-hairline);border-radius:8px;pointer-events:none}.display-shell__info{position:absolute;top:3rem;left:1rem;padding:1rem;background:var(--panel-bg);border:1px solid var(--gold-hairline);border-radius:8px;z-index:6;font-size:.875rem}.display-shell__players{padding:.75rem 1rem;min-width:10rem;border-left:1px solid var(--gold-hairline, rgba(255, 255, 255, .12))}.display-shell__players-title{font-size:.75rem;letter-spacing:.08em;margin:0 0 .5rem;opacity:.75}.display-shell__players-list{list-style:none;margin:0;padding:0}.display-shell__player-row{display:flex;align-items:center;gap:.4rem;padding:.25rem 0;font-size:.9rem}.display-shell__player-dot{width:.6rem;height:.6rem;border-radius:50%;flex-shrink:0}.display-shell__player-away{font-size:.7rem;opacity:.6;text-transform:uppercase}.display-shell__player-bank{margin-left:auto;font-variant-numeric:tabular-nums}.display-shell__player-bankroll{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--gold-accent)}.display-shell__animation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100}.display-shell__virtual-pending{position:fixed;top:50%;left:50%;width:4rem;height:4rem;transform:translate(-50%,-50%);pointer-events:none;z-index:90}.display-shell__pending-track{fill:none;stroke:#ffffff26;stroke-width:3}.display-shell__pending-progress{fill:none;stroke:var(--gold-accent, #d4af37);stroke-width:3;transform:rotate(-90deg);transform-origin:50% 50%}.pwa-update-prompt{position:fixed;bottom:calc(4.5rem + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:10000}.pwa-update-prompt__reload{padding:.5rem 1rem;border:1px solid var(--color-gold, #d4af37);border-radius:999px;background:var(--color-panel, #0f1412);color:var(--color-gold, #d4af37);font:inherit;cursor:pointer}.display-page{min-height:100vh;display:flex;flex-direction:column}.display-page--error{text-align:center;padding:4rem 1rem}.display-page__waiting{background:#ff9800;color:#000;text-align:center;padding:.5rem;font-weight:600}.landing{max-width:48rem;margin:0 auto;padding:2rem 1rem}.landing__title{color:var(--gold-accent);margin:0 0 .5rem}.landing__subtitle{color:var(--text-muted);margin:0 0 2rem}.landing__games{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:1rem;margin-bottom:2rem}.landing__card{padding:1rem;background:var(--panel-bg);border:1px solid var(--gold-hairline);border-radius:8px}.landing__card h2{margin:0 0 .75rem;font-size:1rem}.landing__soon{color:var(--text-muted);font-size:.875rem}.landing__action-hint{margin:.35rem 0 0;color:var(--text-muted);font-size:.8125rem;line-height:1.35}.landing__host-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-start}.landing__host-action{display:flex;flex-direction:column;align-items:flex-start}.landing__host-actions button{min-height:2.75rem;padding:0 1.25rem;border:1px solid var(--gold-hairline);border-radius:8px;background:#ffffff0f;color:var(--text-primary)}.landing__host-actions button:disabled{opacity:.45;cursor:not-allowed}.landing__sync-note{width:100%;margin:0;color:var(--text-muted);font-size:.875rem}.landing__sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50}.landing__sheet{background:var(--panel-bg);border:1px solid var(--gold-hairline);border-radius:8px;padding:1.5rem;max-width:24rem;width:90vw}.landing__sheet fieldset{border:none;margin:1rem 0;padding:0}.landing__option{display:block;margin:.5rem 0}.landing__option--disabled{opacity:.5}.landing__field-help{margin:0 0 .75rem;color:var(--text-muted);font-size:.8125rem;line-height:1.4}.landing__field-help--sheet-note{margin-top:.5rem}.landing__error{color:#e57373;font-size:.875rem}.landing__dealer-join,.landing__staff{margin-top:1rem}.landing__staff summary{cursor:pointer;font-weight:600;margin-bottom:.5rem}.landing__sheet-close{margin-top:1rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer}.landing__your-tables{margin-top:2rem;padding:1rem;background:var(--panel-bg);border:1px solid var(--gold-hairline);border-radius:8px}.landing__your-tables-title{margin:0 0 .75rem;font-size:1rem}.landing__your-tables-list{list-style:none;margin:0;padding:0}.landing__your-tables-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-top:1px solid var(--gold-hairline)}.landing__your-tables-row:first-child{border-top:none;padding-top:0}.landing__your-tables-info{display:flex;flex-direction:column;gap:.2rem;font-size:.875rem}.landing__your-tables-opened{color:var(--text-muted);font-size:.8125rem}.landing__your-tables-actions{display:flex;gap:.5rem}.landing__your-tables-actions button{min-height:2rem;padding:0 .75rem;border:1px solid var(--gold-hairline);border-radius:6px;background:#ffffff0f;color:var(--text-primary);font-size:.8125rem;cursor:pointer}.landing__how-it-works{margin-top:2rem;padding:1rem;background:var(--panel-bg);border:1px solid var(--gold-hairline);border-radius:8px;color:var(--text-muted);font-size:.875rem}.landing__how-it-works summary{cursor:pointer;color:var(--text-primary);font-weight:600}.landing__how-it-works ol{margin:.75rem 0;padding-left:1.25rem}.landing__how-it-works p{margin:0}.landing__footer{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--gold-hairline);text-align:center}.landing__footer a{color:var(--text-muted);font-size:.875rem}.solo{min-height:100vh;padding:.75rem}@media(max-width:768px){.solo{display:flex;flex-direction:column;height:100dvh;min-height:100dvh;padding:0}.solo__toolbar{flex-shrink:0;margin-bottom:0;padding:.5rem .75rem}.solo__panes{flex:1;min-height:0;gap:0;display:flex;flex-direction:column}.solo__dealer{flex:1;min-height:0}.solo__dealer .dealer-shell{height:100%;max-height:100%}.solo__display{display:none}}.solo__toolbar{display:flex;gap:1rem;align-items:center;margin-bottom:.75rem;font-size:.875rem;flex-wrap:wrap}.solo__mode{display:inline-flex;border:1px solid rgba(255,255,255,.2);border-radius:.375rem;overflow:hidden}.solo__mode-btn{padding:.25rem .625rem;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.solo__mode-btn:disabled{opacity:.45;cursor:not-allowed}.solo__mode-btn--active{background:#ffffff1f}.solo__local-players-wrap{margin-left:auto;text-align:right}.solo__local-players{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.solo__field-help{margin:.25rem 0 0;max-width:16rem;font-size:.75rem;color:var(--text-muted);line-height:1.4}.solo__local-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;margin-bottom:.75rem;padding:.75rem;border:1px solid rgba(255,255,255,.12);border-radius:.5rem;font-size:.8125rem}.solo__local-link h2{margin:0 0 .5rem;font-size:.875rem}.solo__local-link img{display:block;width:8rem;height:8rem;margin-bottom:.5rem}.solo__local-link a{word-break:break-all}.solo__panes{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;min-height:calc(100vh - 4rem)}@media(max-width:768px){.solo__panes{grid-template-columns:1fr}}.solo__dealer,.solo__display{min-height:20rem}.solo--error{padding:2rem;text-align:center}.play-page{color:#f5f5f5;background:#0d3b2e;touch-action:manipulation}.play-page--join{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden;max-width:24rem;margin:0 auto;padding:1rem 1rem env(safe-area-inset-bottom,1rem);padding-top:max(1rem,env(safe-area-inset-top,0))}.play-page--embedded{height:100dvh;max-height:100dvh;overflow:hidden;padding:0;margin:0;max-width:none}.play-page__disclaimer{font-size:max(.875rem,14px);opacity:.75;margin-bottom:1rem;flex-shrink:0}.play-page__field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;flex-shrink:0}.play-page__field label,.play-page__field>span{font-size:max(1.125rem,18px)}.play-page__field-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.play-page__name-counter,.play-page__name-helper{font-size:max(.875rem,14px);opacity:.75}.play-page__field input{min-height:3rem;padding:.625rem .75rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#0003;color:inherit;font-size:max(1.125rem,18px)}.play-page__colors{border:none;margin:0 0 1rem;padding:0;flex-shrink:0}.play-page__colors legend{margin-bottom:.5rem;font-size:max(1.125rem,18px)}.play-page__swatch-row{display:flex;flex-wrap:wrap;gap:.5rem}.play-page__swatch-wrap{display:flex;flex-direction:column;align-items:center;gap:.25rem}.play-page__swatch{width:3rem;height:3rem;min-width:3rem;min-height:3rem;border-radius:50%;border:2px solid transparent;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.play-page__swatch--selected{border-color:#fff;box-shadow:0 0 0 3px #ffffff80}.play-page__swatch--taken{opacity:.35;cursor:not-allowed}.play-page__swatch:disabled{cursor:not-allowed}.play-page__swatch-label{font-size:max(.75rem,12px);opacity:.85}.play-page__join-wrap{margin-top:auto;flex-shrink:0;padding-bottom:env(safe-area-inset-bottom,0)}.play-page__join{width:100%;min-height:4rem;padding:.75rem;font-size:max(1.125rem,18px);border:none;border-radius:8px;background:#c9a227;color:#111;font-weight:700;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.play-page__join:active{transform:scale(.98)}.play-page__join:disabled{opacity:.5;cursor:not-allowed}.play-page__join:disabled:active{transform:none}.play-page__join-hint{margin:0 0 .5rem;font-size:max(.875rem,14px);opacity:.85}.play-page__error{color:#ff8a80;margin:.5rem 0;font-size:max(.9375rem,15px)}.play-page--pending{text-align:center}.play-page__pending-message{font-size:max(1.375rem,22px);font-weight:700;padding:1.5rem 1rem;flex-shrink:0}.play-page--loading,.play-page--error{max-width:24rem;margin:0 auto;padding:1.5rem 1rem;min-height:100dvh}.play-page__error-title{font-size:1.25rem;margin:0 0 .75rem}.play-page__error-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}.play-page__error-btn{padding:.75rem 1.25rem;border:none;border-radius:6px;background:#1b5e20;color:#fff;font-size:1rem;cursor:pointer}.play-page__error-btn:first-child{background:#2e7d32}@media(prefers-reduced-motion:reduce){.play-page__join:active{transform:none}}.sync-error{max-width:28rem;margin:4rem auto;padding:2rem;text-align:center}.sync-error__actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.sync-error__btn{padding:.75rem 1.25rem;border:none;border-radius:6px;background:#1b5e20;color:#fff;font-size:1rem;cursor:pointer}.sync-error__btn:first-child{background:#2e7d32}.table-created{max-width:40rem;margin:2rem auto;padding:1rem;text-align:center}.table-created__code-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;margin:1rem 0}.table-created__code{font-size:2.5rem;letter-spacing:.2em;font-weight:700;margin:0}.table-created__copy{min-height:2.25rem;padding:0 .75rem;border:1px solid var(--gold-hairline);border-radius:6px;background:#ffffff0f;color:var(--text-primary);font-size:.875rem;cursor:pointer}.table-created__next{text-align:left;max-width:20rem;margin:0 auto 2rem;padding-left:1.25rem;color:var(--text-muted);font-size:.9375rem;line-height:1.5}.table-created__qrs{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.table-created__qr-button{display:block;width:100%;padding:0;border:none;background:transparent;cursor:pointer}.table-created__qr-button img{max-width:100%;height:auto;margin:.5rem 0}.table-created__qrs a{display:block;margin-top:.5rem}.table-created__warning{margin:.75rem 0 0;font-size:.875rem;color:#ffb74d}.table-created__home{display:inline-block;margin-top:2rem}.table-created__lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#000000d9;padding:1rem;cursor:pointer}.table-created__lightbox-img{max-width:min(90vw,24rem);max-height:90vh;height:auto}@media(max-width:600px){.table-created__qrs{grid-template-columns:1fr}}
