*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Helvetica,Arial,sans-serif;overflow-x:hidden}#root{min-height:100vh}.hand-tester{color:#eee;background:#1a1a1a;border:1px solid #333;border-radius:8px;max-width:900px;margin:40px auto;padding:24px;font-family:system-ui,-apple-system,sans-serif}.hand-tester-header{border-bottom:1px solid #333;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.hand-tester-header h2{margin:0;font-size:20px;font-weight:500}.hand-tester-close{color:#eee;cursor:pointer;background:#333;border:1px solid #555;border-radius:4px;padding:6px 14px;font-family:inherit}.hand-tester-close:hover{background:#444}.hand-tester-hint{color:#aaa;min-height:20px;margin:0 0 16px;font-size:13px}.hand-tester-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.hand-tester-label{color:#888;width:60px;font-size:13px;display:inline-block}.hand-tester-button{color:#eee;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:4px;min-width:36px;padding:6px 12px;font-family:inherit;font-size:14px}.hand-tester-button:hover{background:#3a3a3a}.hand-tester-button-active{background:#4a6a8a;border-color:#6a8aaa}.hand-tester-suit-button{min-width:40px;font-size:18px}.hand-tester-suit-button:disabled{opacity:.4;cursor:not-allowed}.hand-tester-red{color:#e66}.hand-tester-hand{background:#222;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;min-height:60px;margin:24px 0;padding:16px;display:flex}.hand-tester-empty{color:#666;font-style:italic}.hand-tester-card{color:#111;cursor:pointer;background:#eee;border:1px solid #888;border-radius:4px;min-width:50px;padding:10px 14px;font-family:inherit;font-size:18px;font-weight:500}.hand-tester-card:hover{background:#ddd}.hand-tester-card.hand-tester-red{color:#c33}.hand-tester-reset{color:#eee;cursor:pointer;background:#533;border:1px solid #744;border-radius:4px;margin-left:auto;padding:6px 14px;font-family:inherit}.hand-tester-reset:hover{background:#644}.hand-tester-result{min-height:60px;margin-top:20px}.hand-tester-loading{color:#888;font-style:italic}.hand-tester-error{color:#f66;background:#311;border:1px solid #533;border-radius:4px;padding:12px}.hand-tester-result-box{background:#222;border:1px solid #444;border-radius:6px;padding:16px}.hand-tester-value{margin-bottom:12px;font-size:18px}.hand-tester-value strong{color:#9ae;font-size:24px}.hand-tester-flags{flex-wrap:wrap;gap:8px;display:flex}.flag{letter-spacing:.5px;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600}.flag-hard{color:#ccc;background:#444}.flag-soft{color:#cfe;background:#3a5a7a}.flag-pair{color:#ecf;background:#5a4a7a}.flag-blackjack{color:#fff;background:#a80}.flag-bust{color:#fee;background:#833}:root{--table-bg:radial-gradient(ellipse at center, #147a39 0%, #0d5429 60%, #083818 100%);--panel-header-bg:#0a5e2a;--panel-header-text:#fff;--info-text:#fff;--info-value:#f7d34a;--info-value-highlight:#ffb347;--info-value-qualified:#fff;--info-value-eliminated:#999;--box-bg:#fff;--box-border:#000;--box-human-bg:#f4d88a;--box-text:#000;--box-strategy-text:#2a6edf;--bet-bar-bg:#147a39;--bet-bar-text:#fff;--bet-bar-active-bg:#e03030;--bet-bar-active-text:#fff;--box-active-glow:#f7d34a;--box-active-glow-strong:#ffd84a;--meta-row-bg:#0e4a22;--meta-row-text:#fff;--meta-row-value:#f7d34a;--meta-row-zero:#e03030;--hand-value:#fff;--hand-value-active:#f7d34a;--hand-value-bust:#e03030;--hand-value-blackjack:#fff;--outcome-win:#4ade80;--outcome-lose:#e03030;--outcome-push:#fff;--status-text:#f7d34a;--btn-hit:#28a745;--btn-stand:#dc3545;--btn-double:#ffc107;--btn-d4l:#ffc107;--btn-split:#6f42c1;--btn-surrender:#6c757d;--btn-autoplay:#2a4d9a;--btn-nextgame:#3d5a80;--btn-disabled:#4a4a4a;--btn-text:#fff;--btn-text-disabled:#888;--topbar-bg:#3c3c3c;--topbar-text:#fff;--topbar-button:#4a4a4a;--topbar-button-hover:#5a5a5a;--dealer-chip-bg:#fff;--dealer-chip-text:#000;--box-width-pct:10.5%;--box-edge-pad:clamp(14px, 1.04vw, 28px);--card-w:clamp(52px, 3.75vw, 96px);--card-h:clamp(75px, 5.42vw, 139px);--card-offset:clamp(16px, 1.25vw, 31px);--card-offset-medium:clamp(14px, 1.15vw, 29px);--card-offset-tight:clamp(12px, .94vw, 23px);--card-offset-tighter:clamp(9px, .73vw, 18px);--hand-info-h:clamp(16px, 1.15vw, 28px);--hand-info-fz:clamp(14px, .94vw, 22px);--split-gap:clamp(7px, .52vw, 14px);--box-bet-fz:clamp(12px, .78vw, 19px);--box-num-fz:clamp(11px, .68vw, 17px);--box-name-fz:clamp(13px, .83vw, 20px);--box-bankroll-fz:clamp(12px, .73vw, 18px);--box-meta-fz:clamp(11px, .68vw, 17px);--box-bankroll-bg:#e8e8e8;--info-panels-fz:clamp(12px, .78vw, 19px)}.tableview-root *,.tableview-root :before,.tableview-root :after{box-sizing:border-box}.tableview-root{color:#fff;background:#1a1a1a;flex-direction:column;width:100%;min-width:1024px;height:100vh;margin:0;padding:0;font-family:Segoe UI,Helvetica,Arial,sans-serif;display:flex;overflow:auto hidden}.tabular-nums{font-variant-numeric:tabular-nums}.hand-info{height:var(--hand-info-h);font-size:var(--hand-info-fz);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;margin-bottom:4px;font-weight:700;line-height:1;display:flex}.hand-value{color:var(--hand-value);text-align:left}.hand-value.active{color:var(--hand-value-active)}.hand-value.bust{color:var(--hand-value-bust)}.hand-value.win{color:var(--outcome-win)}.hand-value.lose{color:var(--outcome-lose)}.hand-value.push,.hand-value.surrender{color:var(--outcome-push)}.hand-blackjack-label{color:var(--hand-value-active);font-weight:700}.hand-outcome{text-align:right}.hand-outcome.win{color:var(--outcome-win)}.hand-outcome.lose{color:var(--outcome-lose)}.hand-outcome.push,.hand-outcome.surrender{color:var(--outcome-push)}.hand-cards{align-items:flex-start;display:flex;position:relative}.card-img{width:var(--card-w);height:var(--card-h);border-radius:5px;flex-shrink:0;box-shadow:0 3px 6px #00000080}.hand-cards .card-img:not(:first-child){margin-left:calc(var(--card-offset) - var(--card-w))}.hand-cards.medium .card-img:not(:first-child){margin-left:calc(var(--card-offset-medium) - var(--card-w))}.hand-cards.tight .card-img:not(:first-child){margin-left:calc(var(--card-offset-tight) - var(--card-w))}.hand-cards.tighter .card-img:not(:first-child){margin-left:calc(var(--card-offset-tighter) - var(--card-w))}.hand-cards .card-img.doubled-card{left:calc(var(--card-offset) + var(--card-w) / 2);top:calc((var(--card-h) - var(--card-w)) / 2);transform-origin:50%;margin-left:0;position:absolute;transform:rotate(90deg)}.hand-lab{height:100vh;padding:24px;overflow:auto}.hand-lab-header{max-width:800px;margin-bottom:24px}.hand-lab-header h1{margin:12px 0 8px;font-size:24px;font-weight:700}.hand-lab-header p{color:#ccc;margin:0;font-size:14px;line-height:1.5}.hand-lab-back{color:#ccc;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:4px;padding:6px 12px;font-family:inherit;font-size:13px}.hand-lab-back:hover{color:#fff;background:#3a3a3a}.hand-lab-section-title{color:var(--info-value,#f7d34a);border-bottom:1px solid #444;max-width:1200px;margin:24px 0 12px;padding-bottom:4px;font-size:16px;font-weight:700}.hand-lab-grid{flex-wrap:wrap;gap:24px;display:flex}.hand-lab-cell{flex-direction:column;align-items:flex-start;display:flex}.hand-lab-label{color:#999;margin-bottom:8px;font-size:13px}.hand-lab-stage{background:var(--table-bg,#0d5429);border-radius:6px;min-width:280px;min-height:160px;padding:16px}.box{width:var(--box-width-pct);flex-direction:column;align-items:stretch;transition:filter .25s ease-out;display:flex}.box.box--active{filter:drop-shadow(0 0 6px var(--box-active-glow)) drop-shadow(0 0 14px var(--box-active-glow));animation:.7s ease-out box-active-pulse}@keyframes box-active-pulse{0%{filter:drop-shadow(0 0 4px var(--box-active-glow)) drop-shadow(0 0 8px var(--box-active-glow))}40%{filter:drop-shadow(0 0 12px var(--box-active-glow-strong)) drop-shadow(0 0 28px var(--box-active-glow-strong))}to{filter:drop-shadow(0 0 6px var(--box-active-glow)) drop-shadow(0 0 14px var(--box-active-glow))}}.box-hands{align-items:stretch;gap:var(--split-gap);flex-direction:column-reverse;margin-bottom:6px;display:flex}.hand{flex-direction:column;align-items:stretch;display:flex}.box-labels{background:var(--box-bg);border:1px solid var(--box-border);width:100%;color:var(--box-text);font-size:var(--box-meta-fz);border-radius:3px;overflow:hidden}.bet-row{background:var(--bet-bar-bg);color:var(--bet-bar-text);font-weight:700;font-size:var(--box-bet-fz);justify-content:space-between;align-items:center;padding:3px 10px;display:flex;position:relative}.bet-row.active{background:var(--bet-bar-active-bg)}.bet-row .dealer-chip{background:var(--dealer-chip-bg);width:clamp(16px,1.15vw,28px);height:clamp(16px,1.15vw,28px);color:var(--dealer-chip-text);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:clamp(10px,.68vw,17px);font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 4px #0000004d}.box-player{background:var(--box-bg);text-align:center;padding:clamp(6px,.55vw,14px) 6px}.box-player.human{background:var(--box-human-bg)}.box-player-header{font-size:var(--box-num-fz);color:#666;justify-content:space-between;display:flex}.box-player-header .strategy{color:var(--box-strategy-text);font-size:var(--box-num-fz)}.box-player-name .timer-display{color:#4ade80;font-family:monospace;font-size:var(--box-name-fz);font-variant-numeric:tabular-nums;background:#111;border-radius:3px;padding:0 clamp(6px,.6vw,12px);font-weight:700;transition:color .12s ease-out,background .12s ease-out;display:inline-block}.box-player-name .timer-display.caution{color:#fbbf24}.box-player-name .timer-display.warning{color:#f44;animation:.8s ease-in-out infinite box-timer-warning-pulse}.box-player-name .timer-display.timeout{color:#f44;animation:.4s ease-in-out infinite box-timer-warning-pulse}@keyframes box-timer-warning-pulse{0%,to{opacity:1}50%{opacity:.55}}.box-player-name{font-weight:700;font-size:var(--box-name-fz);margin:1px 0}.box-player-bankroll{font-size:var(--box-bankroll-fz);color:#222;background:var(--box-bankroll-bg);border-radius:3px;margin-top:2px;padding:1px 6px;font-weight:700;display:inline-block}.meta-row{background:var(--meta-row-bg);color:var(--meta-row-text);font-size:var(--box-meta-fz);justify-content:space-between;padding:2px 8px;display:flex}.meta-row .value{color:var(--meta-row-value);font-weight:700}.meta-row .value.zero{color:var(--meta-row-zero)}.meta-row.meta-row-insurance-win,.meta-row.meta-row-insurance-win .value{color:var(--outcome-win)}.meta-row.meta-row-insurance-lose,.meta-row.meta-row-insurance-lose .value{color:var(--outcome-lose)}.box.box--many-splits{--card-h:clamp(62px, 4.44vw, 114px);--card-w:clamp(43px, 3.08vw, 79px);--card-offset:clamp(14px, 1.03vw, 26px);--card-offset-medium:clamp(12px, .94vw, 24px);--card-offset-tight:clamp(11px, .77vw, 20px);--card-offset-tighter:clamp(8px, .6vw, 16px)}.box.box--many-splits .box-player{padding:4px 6px}.dealer-area-wrapper{pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;top:2px;left:0;right:0}.phase-slot{justify-content:center;align-items:center;height:30px;margin-bottom:4px;display:flex}.phase-info{color:#f7d34a;text-align:center;font-size:clamp(13px,.94vw,20px);font-weight:700;line-height:1}.phase-info--reshuffle{color:#ffe27a;text-shadow:0 0 12px #ffe27ab3;animation:.8s ease-in-out infinite phase-reshuffle-pulse}@keyframes phase-reshuffle-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.dealer-area{width:100%;height:var(--card-h);position:relative}.dealer-value-text{color:#fff;font-size:var(--hand-info-fz);text-align:right;min-width:28px;right:calc(50% + var(--card-w) / 2 + 12px);top:calc(var(--card-h) / 2);font-weight:700;line-height:1;position:absolute;transform:translateY(-50%)}.dealer-value-text.bust{color:var(--hand-value-bust)}.dealer-value-text.blackjack{color:var(--hand-value-active);font-weight:700}.dealer-cards{height:var(--card-h);margin-left:calc(-1 * var(--card-w) / 2);flex-direction:row;align-items:flex-start;display:flex;position:absolute;top:0;left:50%}.dealer-cards .card-img{position:relative}.dealer-cards .card-img:nth-child(n+2){margin-left:calc(-1 * var(--card-w) + var(--card-offset))}.dealer-cards.medium .card-img:nth-child(n+2){margin-left:calc(-1 * var(--card-w) + var(--card-offset-medium))}.dealer-cards.tight .card-img:nth-child(n+2){margin-left:calc(-1 * var(--card-w) + var(--card-offset-tight))}.dealer-cards.tighter .card-img:nth-child(n+2){margin-left:calc(-1 * var(--card-w) + var(--card-offset-tighter))}.box-lab{height:100vh;padding:24px;overflow:auto}.box-lab-header{max-width:800px;margin-bottom:24px}.box-lab-header h1{margin:12px 0 8px;font-size:24px;font-weight:700}.box-lab-header p{color:#ccc;margin:0;font-size:14px;line-height:1.5}.box-lab-back{color:#ccc;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:4px;padding:6px 12px;font-family:inherit;font-size:13px}.box-lab-back:hover{color:#fff;background:#3a3a3a}.box-lab-section-title{color:var(--info-value,#f7d34a);border-bottom:1px solid #444;max-width:1400px;margin:24px 0 12px;padding-bottom:4px;font-size:16px;font-weight:700}.box-lab-grid{flex-wrap:wrap;gap:24px;display:flex}.box-lab-cell{flex-direction:column;align-items:flex-start;display:flex}.box-lab-label{color:#999;max-width:220px;margin-bottom:8px;font-size:13px}.box-lab-stage{background:var(--table-bg,#0d5429);border-radius:6px;justify-content:center;width:220px;padding:16px;display:flex}.box-lab-stage>.box{width:100%}.box-lab-dealer-stage{background:var(--table-bg,#0d5429);border-radius:6px;width:480px;height:220px;padding:16px;position:relative}.topbar{background:var(--topbar-bg);color:var(--topbar-text);flex-shrink:0;align-items:center;gap:8px;padding:clamp(7px,.52vw,14px) 10px;font-size:13px;display:flex}.topbar button{background:var(--topbar-button);color:#fff;cursor:pointer;border:1px solid #666;border-radius:4px;padding:clamp(7px,.52vw,13px) clamp(12px,.94vw,24px);font-family:inherit;font-size:clamp(12px,.73vw,18px)}.topbar button:hover{background:var(--topbar-button-hover)}.topbar .slider-label{text-align:center;min-width:50px;font-size:clamp(10px,.62vw,14px)}.topbar .slider-track{background:#666;border-radius:2px;width:50px;height:4px;margin:0 4px;position:relative}.topbar .slider-thumb{background:#ddd;border-radius:2px;width:12px;height:12px;position:absolute;top:-4px}.topbar .topbar-fx-slider{appearance:none;cursor:pointer;background:#666;border-radius:2px;outline:none;width:50px;height:4px;margin:0 4px}.topbar .topbar-fx-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#ddd;border-radius:2px;width:12px;height:12px}.topbar .topbar-fx-slider::-moz-range-thumb{cursor:pointer;background:#ddd;border:none;border-radius:2px;width:12px;height:12px}.topbar .timer{color:#4ade80;background:#111;border-radius:4px;padding:clamp(5px,.42vw,10px) clamp(8px,.62vw,14px);font-family:monospace;font-size:clamp(13px,.83vw,20px);font-weight:700;transition:color .12s ease-out}.topbar .timer.warning{color:#f44;animation:.8s ease-in-out infinite timer-warning-pulse}@keyframes timer-warning-pulse{0%,to{opacity:1}50%{opacity:.55}}.topbar .spacer{flex:1}.info-panels{pointer-events:none;font-size:var(--info-panels-fz);justify-content:space-between;align-items:flex-start;gap:16px;padding:4px 12px;display:flex;position:absolute;top:0;left:0;right:0}.info-panels-left{align-items:flex-start;gap:30px;display:flex}.info-panels-right{text-align:right;align-items:flex-start;gap:30px;display:flex}.info-panel{pointer-events:auto;min-width:220px}.info-panel-header{background:var(--panel-header-bg);color:var(--panel-header-text);border-radius:3px 3px 0 0;align-items:center;gap:6px;padding:4px 8px;font-weight:700;display:flex}.info-panel-header .arrow{font-size:10px}.info-panel-body{background:0 0;border-radius:0 0 3px 3px;padding:4px 8px}.info-row{white-space:nowrap;justify-content:space-between;gap:16px;padding:2px 0;display:flex}.info-row .label{color:var(--info-text)}.info-row .value{color:var(--info-value);font-weight:700}.info-row.tight{padding:1px 0}.standings-row{white-space:nowrap;justify-content:space-between;gap:16px;padding:2px 0;display:flex}.standings-row.human{font-weight:700}.standings-row.qualified{color:var(--info-value)}.standings-row.below-line{color:#fff}.standings-row.eliminated{color:var(--info-value-eliminated);opacity:.55;text-decoration:line-through}.standings-divider{border-top:2px solid #fff;margin:4px 0}.shoe-info{font-size:var(--info-panels-fz);line-height:1.3}.shoe-info .info-row{padding:1px 4px}.info-panel-header{cursor:pointer;-webkit-user-select:none;user-select:none}.info-panel-header:hover{background:#5a6b7a}.info-panel-header.auto-locked{cursor:default;opacity:.55}.info-panel-header.auto-locked:hover{background:var(--panel-header-bg)}.action-bar{padding:clamp(7px, .52vw, 14px) var(--box-edge-pad);background:0 0;align-items:center;gap:clamp(7px,.52vw,14px);display:flex;position:absolute;bottom:0;left:0;right:0}.action-bar .left-group,.action-bar .center-group,.action-bar .right-group{align-items:center;gap:clamp(7px,.52vw,14px);display:flex}.action-bar .left-group{flex:1;justify-content:flex-start}.action-bar .center-group{justify-content:center}.action-bar .right-group{flex:1;justify-content:flex-end}.action-btn{color:var(--btn-text);cursor:pointer;border:none;border-radius:4px;min-width:clamp(80px,5.73vw,145px);padding:clamp(7px,.52vw,13px) clamp(12px,.94vw,24px);font-family:inherit;font-size:clamp(12px,.73vw,18px);font-weight:700}.action-btn.hit{background:var(--btn-hit)}.action-btn.stand{background:var(--btn-stand)}.action-btn.double{background:var(--btn-double);color:#000}.action-btn.d4l{background:var(--btn-d4l);color:#000}.action-btn.split{background:var(--btn-split)}.action-btn.surrender{background:var(--btn-surrender)}.action-btn.autoplay{background:var(--btn-autoplay)}.action-btn.nextgame{background:var(--btn-nextgame)}.action-btn.endstandings{color:#fff;background:#6e7c87}.action-btn.endstandings:hover:not(.disabled):not(:disabled){background:#57636d}.action-btn.newtournament{background:var(--btn-nextgame)}.action-btn.mainmenu{color:#fff;background:#888}.action-btn.mainmenu:hover:not(.disabled):not(:disabled){background:#6c6c6c}.action-btn.disabled,.action-btn:disabled{background:var(--btn-disabled);color:var(--btn-text-disabled);cursor:not-allowed}.felt{background:#0d5429 radial-gradient(at 50% 40%,#147a39 0%,#0d5429 50%,#083818 100%);flex:1;min-height:0;position:relative;overflow:hidden}.boxes-row{padding:0 var(--box-edge-pad);justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:clamp(46px,3.13vw,78px);left:0;right:0}.pause-overlay{z-index:900;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000a6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pause-overlay-content{background:#ffffff14;border:2px solid #ffffff40;border-radius:12px;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 4rem;display:flex;box-shadow:0 8px 32px #00000080}.pause-overlay-icon{color:#fff;opacity:.9;font-size:4rem;line-height:1}.pause-overlay-title{letter-spacing:.15em;color:#fff;font-size:2.5rem;font-weight:700}.pause-overlay-hint{color:#ffffffbf;font-size:1rem;font-style:italic}.modal-backdrop{z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.bet-numpad{background:#1a2b3a;border:1px solid #334;border-radius:10px;width:clamp(280px,22vw,380px);margin-top:-10vh;padding:clamp(12px,1.2vw,20px);box-shadow:0 20px 60px #0009}.bet-numpad-timer-row{justify-content:center;align-items:center;min-height:clamp(18px,1.25vw,24px);margin-bottom:6px;display:flex}.bet-numpad-timer{color:#4ade80;font-variant-numeric:tabular-nums;background:#111;border-radius:4px;padding:0 clamp(10px,.8vw,16px);font-family:monospace;font-size:clamp(16px,1.1vw,22px);font-weight:700;transition:color .12s ease-out,background .12s ease-out}.bet-numpad-timer.caution{color:#fbbf24}.bet-numpad-timer.warning{color:#f44;animation:.8s ease-in-out infinite bet-numpad-timer-pulse}.bet-numpad-timer.timeout{color:#f44;animation:.4s ease-in-out infinite bet-numpad-timer-pulse}@keyframes bet-numpad-timer-pulse{0%,to{opacity:1}50%{opacity:.55}}.bet-numpad-header{color:#fff;text-align:center;margin-bottom:6px;font-size:clamp(14px,.95vw,18px);font-weight:700}.bet-numpad-range{color:#aac;background:#0f1a26;border-radius:4px;justify-content:space-between;margin-bottom:6px;padding:clamp(5px,.4vw,8px) clamp(8px,.7vw,14px);font-size:clamp(11px,.75vw,14px);display:flex}.bet-numpad-range>span{white-space:nowrap}.bet-numpad-display{text-align:center;color:#4ade80;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;background:#0a0f15;border-radius:4px;margin-bottom:10px;padding:clamp(10px,1vw,18px) 8px;font-size:clamp(28px,2.4vw,44px);font-weight:700;overflow:hidden}.bet-numpad-grid{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:10px;display:grid}.bet-numpad-grid button{color:#fff;cursor:pointer;background:#475569;border:none;border-radius:4px;padding:clamp(11px,1vw,18px) 0;font-family:inherit;font-size:clamp(15px,1.2vw,22px);font-weight:700}.bet-numpad-grid button:hover{background:#5a6b7a}.bet-numpad-grid button.clear{background:#dc3545}.bet-numpad-grid button.clear:hover{background:#e74c5c}.bet-numpad-confirm{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:4px;width:100%;margin-bottom:6px;padding:clamp(10px,.8vw,15px);font-family:inherit;font-size:clamp(13px,.95vw,17px);font-weight:700}.bet-numpad-confirm:hover{background:#06af7e}.bet-numpad-allin{color:#000;cursor:pointer;background:#ea9c27;border:none;border-radius:4px;width:100%;padding:clamp(8px,.65vw,13px);font-family:inherit;font-size:clamp(11px,.8vw,15px);font-weight:700}.bet-numpad-allin:hover:not(:disabled){background:#f0a939}.bet-numpad-allin:disabled{cursor:not-allowed;background:#998}.insurance-dialog{color:#111;background:#f0f0f0;border-radius:6px;width:320px;padding:0;overflow:hidden;box-shadow:0 20px 60px #0009}.insurance-title-bar{color:#111;background:#d8d8d8;justify-content:space-between;align-items:center;padding:6px 12px;font-size:13px;font-weight:700;display:flex}.insurance-title-bar .close{color:#555;cursor:pointer;font-size:18px;line-height:1}.insurance-title-bar .close:hover{color:#000}.insurance-content{align-items:center;gap:12px;padding:16px;display:flex}.insurance-icon{color:#fff;background:#2196f3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:26px;font-weight:700;display:flex}.insurance-text{font-size:14px;line-height:1.4}.insurance-text strong{margin-bottom:4px;display:block}.insurance-buttons{justify-content:flex-end;gap:10px;padding:0 16px 16px;display:flex}.insurance-buttons button{cursor:pointer;color:#111;background:#e0e0e0;border:1px solid #aaa;border-radius:3px;padding:6px 24px;font-family:inherit;font-size:13px}.insurance-buttons button:hover{background:#c8c8c8}.bankrupt-dialog{color:#111;background:#f5f5f5;border-radius:6px;width:380px;padding:0;overflow:hidden;box-shadow:0 20px 60px #0009}.bankrupt-title-bar{color:#fff;background:#0d5429;padding:8px 14px;font-size:14px;font-weight:700}.bankrupt-content{padding:18px 18px 6px}.bankrupt-text strong{color:#0d5429;margin-bottom:8px;font-size:16px;display:block}.bankrupt-text p{color:#333;margin:4px 0;font-size:13.5px;line-height:1.5}.bankrupt-text p.bankrupt-final{color:#111;margin-top:12px;font-size:14px}.bankrupt-text p.bankrupt-final span{color:#0d5429;font-weight:700}.bankrupt-buttons{justify-content:flex-end;gap:10px;padding:16px 18px 18px;display:flex}.bankrupt-buttons button{cursor:pointer;border:1px solid #aaa;border-radius:3px;padding:8px 18px;font-family:inherit;font-size:13px;transition:background .12s ease-out}.bankrupt-btn-primary{color:#fff;background:#147a39;border-color:#0d5429}.bankrupt-btn-primary:hover{background:#0d5429}.bankrupt-btn-secondary{color:#111;background:#e0e0e0}.bankrupt-btn-secondary:hover{background:#c8c8c8}.tournament-end-dialog{color:#111;background:#f5f5f5;border-radius:6px;flex-direction:column;width:480px;max-width:92vw;max-height:90vh;padding:0;display:flex;overflow:hidden;box-shadow:0 20px 60px #0009}.tournament-end-title-bar{color:#fff;background:#0d5429;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;font-size:14px;font-weight:700;display:flex}.tournament-end-close-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 6px;font-family:inherit;font-size:16px;line-height:1;transition:background .12s ease-out}.tournament-end-close-btn:hover{background:#ffffff2e}.tournament-end-content{flex:1;padding:18px 18px 6px;overflow-y:auto}.tournament-end-headline{text-align:center;border-bottom:1px solid #ddd;padding:8px 0 14px}.tournament-end-bigtext{letter-spacing:.3px;margin-bottom:4px;font-size:28px;font-weight:700;line-height:1.1}.tournament-end-subtext{color:#555;font-size:14px}.tournament-end-headline.accent-gold .tournament-end-bigtext{color:#c9a227}.tournament-end-headline.accent-silver .tournament-end-bigtext{color:#6e7c87}.tournament-end-headline.accent-bronze .tournament-end-bigtext{color:#a06845}.tournament-end-headline.accent-neutral .tournament-end-bigtext{color:#0d5429}.tournament-end-headline.accent-muted .tournament-end-bigtext{color:#777}.tournament-end-bankroll{justify-content:space-between;align-items:baseline;padding:14px 0 6px;display:flex}.tournament-end-bankroll .label{color:#555;font-size:13.5px}.tournament-end-bankroll .value{color:#0d5429;font-size:18px;font-weight:700}.tournament-end-mode{color:#777;text-align:right;border-bottom:1px solid #ddd;padding-bottom:14px;font-size:12.5px}.tournament-end-early{color:#b35400;font-style:italic}.tournament-end-standings-title{color:#333;text-transform:uppercase;letter-spacing:.5px;padding:14px 0 6px;font-size:13px;font-weight:700}.tournament-end-standings{font-size:13.5px}.tournament-end-standings-row{color:#333;grid-template-columns:32px 1fr auto;align-items:baseline;gap:10px;padding:4px 0;display:grid}.tournament-end-standings-row .pos{color:#888;text-align:right}.tournament-end-standings-row .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tournament-end-standings-row .bankroll{font-variant-numeric:tabular-nums;color:#111}.tournament-end-standings-row.human{background:#e8f0e8;border-radius:3px;margin-left:-6px;margin-right:-6px;padding-left:6px;padding-right:6px;font-weight:700}.tournament-end-standings-row.human .pos,.tournament-end-standings-row.human .name,.tournament-end-standings-row.human .bankroll{color:#0d5429}.tournament-end-standings-row.qualified .pos,.tournament-end-standings-row.qualified .name,.tournament-end-standings-row.qualified .bankroll{color:#147a39}.tournament-end-standings-row.eliminated{opacity:.5;text-decoration:line-through}.tournament-end-divider{border-top:1px dashed #888;margin:5px 0}.tournament-end-buttons{border-top:1px solid #ddd;flex-shrink:0;justify-content:center;gap:10px;padding:14px 18px 18px;display:flex}.tournament-end-buttons button{cursor:pointer;border:1px solid #aaa;border-radius:3px;padding:8px 18px;font-family:inherit;font-size:13px;transition:background .12s ease-out}.tournament-end-btn-close{color:#fff;background:#6e7c87;min-width:140px}.tournament-end-btn-close:hover{background:#57636d}.tournament-end-btn-primary{color:#fff;background:#147a39;border-color:#0d5429}.tournament-end-btn-primary:hover{background:#0d5429}.tournament-end-btn-secondary{color:#111;background:#e0e0e0}.tournament-end-btn-secondary:hover{background:#c8c8c8}.bet-numpad-error{color:#ff8a8a;text-align:center;word-wrap:break-word;background:#dc354526;border:1px solid #dc3545;border-radius:4px;margin-bottom:8px;padding:clamp(5px,.4vw,8px) clamp(8px,.7vw,14px);font-size:clamp(11px,.75vw,14px)}.simulation-overlay{color:#111;background:#f5f5f5;border-radius:8px;flex-direction:column;align-items:center;gap:24px;min-width:320px;padding:36px 48px;display:flex;box-shadow:0 20px 60px #0009}.simulation-card-spinner{perspective:1000px;justify-content:center;align-items:center;width:80px;height:110px;display:flex}.simulation-card{width:70px;height:100px;transform-style:preserve-3d;animation:1.6s linear infinite simulation-card-spin;position:relative}.simulation-card-inner{backface-visibility:visible;background:#fff;border:2px solid #0d5429;border-radius:8px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;box-shadow:0 4px 12px #00000040}.simulation-card-suit{color:#0d5429;font-size:44px;line-height:1}@keyframes simulation-card-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.simulation-text{color:#0d5429;text-align:center;font-size:16px;font-weight:700}.simulation-dots{margin-left:2px;display:inline-block}.simulation-dots span{opacity:0;animation:1.4s infinite simulation-dot-pulse}.simulation-dots span:first-child{animation-delay:0s}.simulation-dots span:nth-child(2){animation-delay:.35s}.simulation-dots span:nth-child(3){animation-delay:.7s}@keyframes simulation-dot-pulse{0%,to{opacity:0}40%,60%{opacity:1}}.chipcount-dialog{color:#111;background:#f5f5f5;border-radius:6px;flex-direction:column;width:380px;max-width:92vw;padding:0;display:flex;overflow:hidden;box-shadow:0 20px 60px #0009}.chipcount-title-bar{color:#fff;background:#0d5429;flex-shrink:0;padding:8px 14px;font-size:14px;font-weight:700}.chipcount-content{padding:18px}.chipcount-text{margin:6px 0;font-size:14px;line-height:1.5}.chipcount-auto-no{color:#777;text-align:right;margin-top:14px;font-size:12px;font-style:italic}.chipcount-buttons{border-top:1px solid #ddd;justify-content:flex-end;gap:10px;padding:14px 18px 18px;display:flex}.chipcount-buttons button{cursor:pointer;border:1px solid #aaa;border-radius:3px;padding:8px 22px;font-family:inherit;font-size:13px;transition:background .12s ease-out}.chipcount-btn-primary{color:#fff;background:#147a39;border-color:#0d5429}.chipcount-btn-primary:hover{background:#0d5429}.chipcount-btn-secondary{color:#111;background:#e0e0e0}.chipcount-btn-secondary:hover{background:#c8c8c8}.chipcount-standings-dialog{color:#111;background:#f5f5f5;border-top:4px solid #1e5a8e;border-radius:6px;flex-direction:column;width:480px;max-width:92vw;max-height:90vh;padding:0;display:flex;overflow:hidden;box-shadow:0 20px 60px #0009}.chipcount-standings-countdown{color:#1e5a8e;text-align:center;letter-spacing:.05em;flex-shrink:0;padding:clamp(8px,.83vw,16px) 0 clamp(4px,.42vw,8px);font-family:monospace;font-size:clamp(24px,1.85vw,36px);font-weight:700}.chipcount-standings-content{flex:1;padding:18px 18px 6px;overflow-y:auto}.chipcount-standings-header{color:#555;border-bottom:1px solid #ddd;justify-content:space-between;align-items:baseline;padding:4px 0 14px;font-size:13.5px;display:flex}.chipcount-standings-rounds{color:#1e5a8e;font-size:18px;font-weight:700}.chipcount-standings-list{padding:12px 0;font-size:14px}.chipcount-standings-row{color:#333;grid-template-columns:60px 1fr 44px auto;align-items:baseline;gap:10px;padding:5px 0;display:grid}.chipcount-standings-row .box-num{color:#555;text-align:left;white-space:nowrap;font-size:13px;font-weight:600}.chipcount-standings-row .pos{color:#888;text-align:center;font-weight:600}.chipcount-standings-row .pos.medal-gold{color:#c8a02e;text-shadow:0 0 1px #c8a02e66}.chipcount-standings-row .pos.medal-silver{color:#8a8a8a}.chipcount-standings-row .pos.medal-bronze{color:#a8703a}.chipcount-standings-row .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chipcount-standings-row .bankroll{font-variant-numeric:tabular-nums;color:#111;text-align:right}.chipcount-standings-row.human{background:#e0eaf2;border-radius:3px;margin-left:-6px;margin-right:-6px;padding-left:6px;padding-right:6px;font-weight:700}.chipcount-standings-row.human .box-num,.chipcount-standings-row.human .pos,.chipcount-standings-row.human .name,.chipcount-standings-row.human .bankroll{color:#1e5a8e}.chipcount-standings-row.human .pos.medal-gold{color:#c8a02e}.chipcount-standings-row.human .pos.medal-silver{color:#8a8a8a}.chipcount-standings-row.human .pos.medal-bronze{color:#a8703a}.chipcount-standings-row.qualified .box-num,.chipcount-standings-row.qualified .pos,.chipcount-standings-row.qualified .name,.chipcount-standings-row.qualified .bankroll{color:#147a39}.chipcount-standings-row.qualified .pos.medal-gold{color:#c8a02e}.chipcount-standings-row.qualified .pos.medal-silver{color:#8a8a8a}.chipcount-standings-row.qualified .pos.medal-bronze{color:#a8703a}.chipcount-standings-row.eliminated{opacity:.5;text-decoration:line-through}.chipcount-standings-divider{border-top:1px dashed #888;margin:5px 0}.chipcount-standings-hint{color:#666;text-align:center;margin:14px 0 0;font-size:12px;font-style:italic}.chipcount-standings-buttons{border-top:1px solid #ddd;justify-content:center;padding:14px 18px 18px;display:flex}.chipcount-standings-btn{color:#fff;cursor:pointer;background:#1e5a8e;border:1px solid #154572;border-radius:3px;min-width:140px;padding:8px 30px;font-family:inherit;font-size:13px;transition:background .12s ease-out}.chipcount-standings-btn:hover{background:#154572}.table-lab{width:100vw;height:100vh;position:relative;overflow:hidden}.table-lab-back-wrapper{z-index:200;position:fixed;top:6px;left:10px}.table-lab-back{color:#ccc;cursor:pointer;background:#2a2a2a;border:1px solid #555;border-radius:4px;padding:4px 10px;font-family:inherit;font-size:12px}.table-lab-back:hover{color:#fff;background:#3a3a3a}.table-lab-switcher{z-index:200;color:#ccc;background:#141414eb;border:1px solid #444;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:12px;display:flex;position:fixed;bottom:6px;left:50%;transform:translate(-50%)}.table-lab-switcher strong{color:#f7d34a;margin-right:4px}.table-lab-scene-btn{color:#ccc;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:4px;padding:4px 10px;font-family:inherit;font-size:12px}.table-lab-scene-btn:hover{color:#fff;background:#3a3a3a}.table-lab-scene-btn.active{color:#000;background:#f7d34a;border-color:#f7d34a;font-weight:700}.size-monitor{z-index:1000;color:#f7d34a;pointer-events:none;background:#000000b3;border-radius:4px;padding:4px 10px;font-family:Consolas,Courier New,monospace;font-size:12px;font-weight:700;position:fixed;bottom:4px;right:4px}.min-size-guard{color:#fff;z-index:9999;box-sizing:border-box;background:#1a1a1a;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;font-family:Segoe UI,Helvetica,Arial,sans-serif;display:flex;position:fixed;top:0;left:0;overflow:auto}.min-size-guard-content{text-align:center;box-sizing:border-box;background:#2a2a2a;border:1px solid #444;border-radius:8px;width:100%;max-width:520px;padding:30px 40px;box-shadow:0 10px 40px #00000080}.min-size-guard-icon{margin-bottom:12px;font-size:48px}.min-size-guard-content h2{color:#f7d34a;margin:0 0 16px;font-size:22px;font-weight:700}.min-size-guard-recommended,.min-size-guard-current{color:#ccc;margin:8px 0;font-size:14px;line-height:1.6}.min-size-guard-recommended strong{color:#fff;font-size:16px}.min-size-guard-current strong{color:#f0a939}.table-user-menu{align-items:center;display:inline-flex;position:relative}.table-user-menu-trigger{cursor:pointer;color:#fff;background:#d4a942;border:1px solid #b88e2e;border-radius:4px;align-items:center;gap:8px;max-width:clamp(180px,22vw,320px);padding:clamp(7px,.52vw,13px) clamp(12px,.94vw,24px);font-family:inherit;font-size:clamp(12px,.73vw,18px);transition:background .15s,border-color .15s;display:inline-flex}.table-user-menu-trigger:hover{background:#e0b550;border-color:#a17e26}.table-user-menu-trigger:active{background:#c19a3a}.table-user-menu-trigger:focus-visible{outline-offset:2px;outline:2px solid #5b8def}.table-user-menu-online{color:#2d6a14;flex-shrink:0;font-size:8px;line-height:1}.table-user-menu-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.table-user-menu-burger{color:#fff;flex-shrink:0;line-height:1}.table-user-menu-caret{color:#fff;flex-shrink:0;margin-left:-2px;font-size:.85em;line-height:1}.table-user-menu-shortcut{color:#fff;flex-shrink:0}.table-user-menu-dropdown{z-index:100;background:#2a2a2a;border:1px solid #555;border-radius:6px;min-width:220px;animation:.12s ease-out table-user-menu-fade;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000080}@keyframes table-user-menu-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.table-user-menu-header{color:#e0e0e0;background:#232323;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.table-user-menu-header-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-user-menu-separator{background:#444;height:1px;margin:0}.table-user-menu-item{color:#e0e0e0;text-align:left;cursor:pointer;background:#2a2a2a;border:none;align-items:center;gap:10px;width:100%;padding:10px 14px;font-family:inherit;font-size:13px;transition:background .12s;display:flex}.table-user-menu-item:hover:not(:disabled){background:#3a3a3a}.table-user-menu-item:active:not(:disabled){background:#404040}.table-user-menu-item-mock{color:#888;cursor:not-allowed}.table-user-menu-item-mock:hover{background:#2a2a2a}.table-user-menu-item-icon{text-align:center;flex-shrink:0;width:18px;font-size:14px;line-height:1}.table-user-menu-item-label{flex:1}.table-user-menu-confirm-backdrop{z-index:2000;box-sizing:border-box;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.table-user-menu-confirm{color:#222;box-sizing:border-box;background:#fff;border-radius:10px;width:100%;max-width:380px;padding:clamp(20px,4vw,32px);box-shadow:0 20px 60px #0006}.table-user-menu-confirm-text{text-align:center;margin:0 0 20px;font-size:15px;line-height:1.4}.table-user-menu-confirm-buttons{justify-content:flex-end;gap:10px;display:flex}.table-user-menu-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:9px 18px;font-family:inherit;font-size:14px;transition:background .15s,border-color .15s}.table-user-menu-btn-secondary{color:#333;background:#f0f0f0;border-color:#ccc}.table-user-menu-btn-secondary:hover{background:#e4e4e4}.table-user-menu-btn-primary{color:#fff;background:#d04a4f;border-color:#b73f44}.table-user-menu-btn-primary:hover{background:#b73f44}.fullscreen-hint{flex-direction:column;align-items:center;gap:.6rem;margin-top:1.5rem;padding-top:1rem;display:flex}.fullscreen-hint--unsupported{margin-top:1rem}.fullscreen-hint--light{border-top:1px solid #e8e8e8}.fullscreen-hint--light .fullscreen-hint__button{color:#444;background:#fff;border:1px solid #c8c8c8}.fullscreen-hint--light .fullscreen-hint__button:hover{background:#f3f3f3;border-color:#aaa}.fullscreen-hint--light .fullscreen-hint__button:active{background:#e8e8e8}.fullscreen-hint--light .fullscreen-hint__note{color:#888}.fullscreen-hint--dark{border-top:1px solid #444}.fullscreen-hint--dark .fullscreen-hint__button{color:#fff;background:#3a3a3a;border:1px solid #5a5a5a}.fullscreen-hint--dark .fullscreen-hint__button:hover{background:#4a4a4a;border-color:#777}.fullscreen-hint--dark .fullscreen-hint__button:active{background:#2a2a2a}.fullscreen-hint--dark .fullscreen-hint__note{color:#aaa}.fullscreen-hint__button{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-family:inherit;font-size:.92rem;line-height:1.2;transition:background-color .12s,border-color .12s;display:inline-flex}.fullscreen-hint__button:focus-visible{outline-offset:2px;outline:2px solid #4a90e2}.fullscreen-hint__icon{font-family:Segoe UI Symbol,Apple Symbols,"Noto Sans Symbols 2",sans-serif;font-size:1rem;line-height:1}.fullscreen-hint__note{text-align:center;max-width:32em;font-size:.78rem;line-height:1.4}@media (width<=480px){.fullscreen-hint__note{font-size:.72rem}}.newgame-table{width:100vw;height:100vh;position:relative;overflow:hidden}.newgame-back-wrapper{z-index:200;position:fixed;top:6px;left:10px}.newgame-back{color:#ccc;cursor:pointer;background:#2a2a2a;border:1px solid #555;border-radius:4px;padding:4px 10px;font-family:inherit;font-size:12px}.newgame-back:hover{color:#fff;background:#3a3a3a}.newgame-status-screen{color:#ccc;text-align:center;background:#1a1a1a;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:24px;font-family:inherit;display:flex;position:absolute;inset:0}.newgame-status-text{max-width:480px;font-size:18px;line-height:1.5}.newgame-status-error{color:#f87171}.newgame-status-actions{gap:12px;display:flex}.newgame-status-btn{color:#fff;cursor:pointer;background:#2a2a2a;border:1px solid #555;border-radius:4px;padding:8px 18px;font-family:inherit;font-size:14px}.newgame-status-btn:hover{background:#3a3a3a}.newgame-status-text-title{color:#fff;margin-bottom:4px;font-size:22px;font-weight:700}.newgame-action-banner{color:#fff;z-index:200;background:#b91c1c;border-radius:6px;align-items:center;gap:12px;max-width:80vw;padding:10px 18px;font-size:14px;font-weight:700;animation:.2s ease-out newgame-banner-slide-in;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000080}.newgame-action-banner-text{line-height:1.3}.newgame-action-banner-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 4px;font-family:inherit;font-size:22px;line-height:1}.newgame-action-banner-close:hover{opacity:.7}@keyframes newgame-banner-slide-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.login-page{color:#e8e8e8;box-sizing:border-box;background:linear-gradient(135deg,#1a1d24 0%,#0f1116 100%);flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:clamp(16px,4vw,32px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.login-card{box-sizing:border-box;background:#20242c;border:1px solid #2e333d;border-radius:12px;width:100%;max-width:420px;padding:clamp(28px,5vw,48px);box-shadow:0 20px 60px #0006}.login-field{margin-bottom:18px}.login-field label{color:#b8bcc4;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.login-field input{color:#f0f0f0;box-sizing:border-box;background:#161a20;border:1px solid #3a404a;border-radius:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.login-field input:focus{border-color:#5b8def;outline:none;box-shadow:0 0 0 3px #5b8def2e}.login-field input:disabled{opacity:.6;cursor:not-allowed}.login-password-row{align-items:stretch;gap:6px;display:flex}.login-password-row input{flex:1}.login-password-toggle{color:#b8bcc4;cursor:pointer;background:#161a20;border:1px solid #3a404a;border-radius:6px;flex-shrink:0;width:42px;font-size:16px;line-height:1}.login-password-toggle:hover:not(:disabled){background:#1d222a;border-color:#4a505a}.login-password-toggle:disabled{opacity:.5;cursor:not-allowed}.login-error{color:#f4a8ad;background:#e8505a1f;border:1px solid #e8505a66;border-radius:6px;margin:8px 0 16px;padding:10px 12px;font-size:13px;line-height:1.4}.login-submit{color:#fff;cursor:pointer;background:#5b8def;border:none;border-radius:6px;width:100%;margin-top:8px;padding:12px 16px;font-family:inherit;font-size:15px;font-weight:600;transition:background .15s}.login-submit:hover:not(:disabled){background:#4a7ce0}.login-submit:active:not(:disabled){background:#3e6dd0}.login-submit:disabled{cursor:not-allowed;background:#4a5060}.user-menu{z-index:1000;font-family:system-ui,sans-serif;font-size:.9em;position:fixed;top:1rem;right:11rem}@media (width<=600px){.user-menu{top:4rem;right:1rem}}.user-menu-trigger{color:#222;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;align-items:center;gap:6px;padding:.3rem .5rem;font-family:inherit;font-size:13px;display:flex}.user-menu-trigger:hover{border-color:#999}.user-menu-trigger:focus-visible{outline-offset:2px;outline:2px solid #5b8def}.user-menu-icon{color:#2d6a14;flex-shrink:0;font-size:8px;line-height:1}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;max-width:140px;font-weight:600;overflow:hidden}.user-menu-burger{color:#333;flex-shrink:0;font-size:14px;font-weight:700;line-height:1}.user-menu-caret{color:#333;flex-shrink:0;margin-left:-2px;font-size:11px;font-weight:700;line-height:1}.user-menu-shortcut{color:#666;flex-shrink:0;font-size:11px;font-weight:500}.user-menu-dropdown{background:#fff;border:1px solid #ccc;border-radius:4px;min-width:140px;animation:.12s ease-out user-menu-fade;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}@keyframes user-menu-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu-item{color:#222;text-align:left;cursor:pointer;background:#fff;border:none;width:100%;padding:10px 14px;font-family:inherit;font-size:13px;display:block}.user-menu-item:hover{background:#f3f5f8}.user-menu-item:active{background:#e8ecf0}.user-menu-confirm-backdrop{z-index:2000;box-sizing:border-box;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.user-menu-confirm{color:#222;box-sizing:border-box;background:#fff;border-radius:10px;width:100%;max-width:380px;padding:clamp(20px,4vw,32px);box-shadow:0 20px 60px #0006}.user-menu-confirm-text{text-align:center;margin:0 0 20px;font-size:15px;line-height:1.4}.user-menu-confirm-buttons{justify-content:flex-end;gap:10px;display:flex}.user-menu-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:9px 18px;font-family:inherit;font-size:14px;transition:background .15s,border-color .15s}.user-menu-btn-secondary{color:#333;background:#f0f0f0;border-color:#ccc}.user-menu-btn-secondary:hover{background:#e4e4e4}.user-menu-btn-primary{color:#fff;background:#d04a4f;border-color:#b73f44}.user-menu-btn-primary:hover{background:#b73f44}.app{color:#fff;background:radial-gradient(at top,#0e6b3a 0%,#072e1a 100%);flex-direction:column;min-height:100vh;font-family:Helvetica,Arial,sans-serif;display:flex}.header{text-align:center;padding:3rem 1rem 2rem}.header h1{letter-spacing:2px;text-shadow:2px 2px 4px #00000080;margin:0 0 .5rem;font-size:3.5rem;font-weight:700}.tagline{color:gold;letter-spacing:1px;margin:.25rem 0;font-size:1.2rem;font-weight:700}.tagline-sub{color:#ffd700cc;letter-spacing:1px;margin:.25rem 0;font-size:1rem;font-style:italic}.main{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2rem;padding:2rem;display:flex}.message-box{text-align:center;background:#0000004d;border:1px solid #ffd7004d;border-radius:8px;min-width:300px;padding:1.5rem 3rem;font-size:1.1rem}.button-group{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.btn{cursor:pointer;border:2px solid #0000;border-radius:8px;min-width:180px;padding:1rem 2rem;font-family:inherit;font-size:1.1rem;font-weight:700;transition:all .2s}.btn-primary{color:#fff;background:#1a5f2a;border-color:gold}.btn-primary:hover{background:#2d8a3e;transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.btn-secondary{color:#fff;background:#4a5568;border-color:gold}.btn-secondary:hover{background:#6b7280;transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.footer{text-align:center;color:#fff9;padding:1rem;font-size:.9rem}
