@font-face{font-family:Plinko Narrow;src:url('assets/NimbusSansNarrow-Regular.otf') format('opentype');font-display:swap;font-weight:400}
@font-face{font-family:Plinko Narrow;src:url('assets/NimbusSansNarrow-Bold.otf') format('opentype');font-display:swap;font-weight:700}
:root{color-scheme:dark;--bg:#0c0e12;--panel:#15181f;--line:#333a47;--muted:#929aa9;--text:#edf0f6;--gold:#f4c267;--gold-dark:#9c6b23;--font:'Plinko Narrow','Arial Narrow',sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 15%,#202631 0%,#0e1116 57%,#090b0e 100%);color:var(--text);font:16px var(--font);min-width:320px;min-height:100svh}button,input{font:inherit}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.4}button,a,input,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,.results-scroll:focus-visible{outline:2px solid var(--gold)}button{touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2{font-weight:700}a{color:inherit;text-decoration:none}svg{display:block}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.topbar{height:90px;padding:0 clamp(18px,3vw,52px);border-bottom:1px solid #333a4766;background:linear-gradient(105deg,#0a0d11cc,#20263099,#0a0d11cc);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:18px}.brand-mark{height:55px;width:54px}.brand>span{font-size:42px;letter-spacing:4px;line-height:.9}.brand small{display:block;font-size:9px;color:var(--gold);letter-spacing:6px;margin-top:9px;text-align:center}.header-actions{display:flex;gap:12px;align-items:center}.icon-button{display:grid;place-items:center;flex:none;width:45px;height:45px;border:1px solid #414956;border-radius:50%;background:linear-gradient(145deg,#262c36,#11151c);color:#bfc7d9;box-shadow:inset 0 1px 0 #ffffff06}.icon-button:hover{border-color:#8791a2;color:#fff}.game-layout{width:100%;max-width:1700px;margin:0 auto;padding:22px 24px 12px;display:grid;grid-template-columns:208px minmax(0,1fr) 324px;gap:16px;align-items:stretch}.panel{border:1px solid #414956;border-radius:21px;background:linear-gradient(140deg,#20252d 0%,#15191f 33%,#101318 100%);box-shadow:inset 0 1px 0 #ffffff06,0 12px 35px #0003;min-width:0}.results-panel{display:flex;flex-direction:column;overflow:hidden;max-height:810px}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:19px 17px 17px;gap:7px}.panel-heading h2{font-size:21px;line-height:1.1}.tiny-badge{border:1px solid #3b4452;border-radius:7px;padding:3px 6px;font-size:13px;color:#b9c0cc}.results-scroll{flex:1;min-height:150px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#535e70 #14181e;border-top:1px solid var(--line);margin:0 15px;position:relative;max-height:660px}#history{list-style:none;margin:0;padding:0 6px 0 0}.result-row{display:flex;gap:11px;align-items:center;padding:17px 0;border-bottom:1px solid #38414e}.result-row.fresh{animation:row-in .28s ease-out}.result-orb{width:34px;height:34px;flex:none;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff8d7 0%,#f4c76a 27%,#d19830 60%,#6a3e0a 90%);border:1px solid #f2cc76;box-shadow:inset -3px -4px 8px #35180066,0 0 0 6px #0c1015,0 3px 13px #0009}.result-content{min-width:0;flex:1}.result-content h3{font-size:19px;font-weight:400}.result-detail{font-size:15px;color:#a8b1c1;margin:3px 0 4px}.result-cobro{display:flex;justify-content:space-between;align-items:baseline;gap:5px;font-size:16px;color:#c7cedb}.result-cobro strong{font-size:21px;font-weight:700;color:#b6bfce}.result-row.profit .result-cobro strong{color:var(--gold)}.results-footer{border-top:1px solid var(--line);margin:0 15px;padding:14px 0;display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:14px}.results-footer strong{font-size:22px;color:var(--gold)}.empty-state{display:flex;min-height:340px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 2px}.empty-ball{width:43px;height:43px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffefbc,#b98633 55%,#674517);box-shadow:0 0 0 15px #e7bc5e05,0 12px 30px #0006;margin-bottom:35px}.empty-state h3{font-size:18px;font-weight:400;color:#d4d9e3}.empty-state p{font-size:15px;line-height:1.5;color:var(--muted);margin-top:10px}.board-panel{padding:11px;align-self:start;background:linear-gradient(140deg,#2b313c,#10151b 45%,#242b35);overflow:hidden}.board-stage{position:relative;border-radius:15px;overflow:hidden;background:#0c1016;border:1px solid #080a0e;box-shadow:inset 0 0 35px #0008}.board-heading{position:absolute;left:17px;right:14px;top:16px;display:flex;align-items:center;justify-content:space-between;z-index:1;pointer-events:none;gap:10px}.board-heading h1{font-size:23px;font-weight:400;letter-spacing:.2px}.board-tools{display:flex;gap:7px;align-items:center;pointer-events:auto}.active-pill{border:1px solid #485260;border-radius:28px;background:#0c1015b3;padding:6px 13px;display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:15px}.active-pill strong{color:var(--gold);font-size:23px;font-weight:700}.speed-button{border:1px solid #3b4350;background:#151a21;border-radius:22px;color:#9ca7b7;min-height:35px;padding:4px 10px;font-size:14px}.speed-button span{display:none}.speed-button[aria-pressed=true]{border-color:#b48a42;color:var(--gold);background:#8d641d20}canvas{display:block;width:100%;height:auto;aspect-ratio:1000/1040}.board-hint{position:absolute;top:19%;right:3%;max-width:145px;text-align:right;font-size:15px;color:#8a93a0;line-height:1.4;pointer-events:none;transition:opacity .3s}.board-hint.hidden{opacity:0}.batch-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #3b4453;border-radius:13px;padding:14px 19px;margin-top:10px;font-size:18px;background:#11161c;color:#c1cad9}.batch-summary>span{color:#9ba6b6;font-size:16px}.batch-summary b{font-weight:400}.batch-summary strong{color:var(--gold);font-size:25px;font-weight:700}.multiply,.equals{padding:0 7px;color:#7b8698}.betting-panel{padding:20px 18px 14px;align-self:start}.betting-panel>h2{font-size:29px;margin-bottom:16px}.amount-section{padding:12px 10px;background:linear-gradient(135deg,#0b0f14,#14191f);border:1px solid #282f39;border-radius:14px}.amount-section>label{display:flex;justify-content:space-between;align-items:center;font-size:18px;color:#b7c1d1;margin:0 2px 10px}.amount-section label small{font-size:11px;letter-spacing:1px;color:#7a8495}.amount-input{display:flex;gap:6px;align-items:center;border-radius:25px;border:1px solid #38424e;background:linear-gradient(#090c10,#10141a);padding:3px}.amount-input>button{background:linear-gradient(#2b323e,#12171e);width:45px;height:44px;border:1px solid #3d4655;border-radius:20px;font-family:system-ui;font-size:27px;color:#c5cedf;flex:none;line-height:1}.amount-input>button:hover{background:#343e4d}.amount-value{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;color:var(--gold);font-size:27px;font-weight:700;gap:0}.amount-value input{width:95px;max-width:100%;padding:0;border:0;background:transparent;color:var(--gold);font-weight:700;font-size:27px;text-align:center;appearance:textfield;-moz-appearance:textfield}.amount-value input::-webkit-inner-spin-button,.amount-value input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.amount-presets{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:11px}.amount-presets button,.risk-options button{border:1px solid #3a4453;border-radius:10px;background:linear-gradient(155deg,#272e39,#13181f);min-height:38px;box-shadow:inset 0 1px 0 #ffffff06;color:#bac4d5;font-size:17px}.amount-presets button:hover,.risk-options button:hover:not(:disabled){border-color:#b5955a}.amount-presets .selected,.risk-options .selected{background:linear-gradient(135deg,#ffdf8f,#e2ac4b 60%,#b78029);color:#372008;border-color:#ffe3a0;box-shadow:inset 0 1px 0 #ffedb0,0 2px 7px #0006}.betting-panel fieldset{border:0;border-top:1px solid #3b4350;margin:17px 0 0;padding:15px 0 0;min-width:0}.betting-panel legend{float:left;width:100%;margin-bottom:13px;font-size:19px}.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;clear:both;padding:0 1px 3px}.chip{position:relative;aspect-ratio:1;min-width:0;border:1px solid #7c8796;border-radius:50%;padding:8px;background:repeating-conic-gradient(from -8deg,#84909f 0deg 17deg,#171c24 18deg 43deg,#566170 44deg 45deg);box-shadow:0 5px 7px #0008,inset 0 1px 2px #c4cbdc66}.chip:before{content:'';position:absolute;inset:6px;border-radius:50%;border:1px solid #080b0f;box-shadow:0 0 0 1px #d8dfeb22}.chip span{position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:linear-gradient(145deg,#2b323d,#0c1118);box-shadow:inset 0 1px 0 #e1e7f433;border:1px solid #0a0d12;font-weight:700;font-size:26px}.chip.selected{background:repeating-conic-gradient(from -8deg,#f7c86b 0deg 17deg,#24282b 18deg 43deg,#be8b37 44deg 45deg);border-color:#ffdd8e;box-shadow:0 5px 8px #0008,0 0 16px #e8b95e16}.chip.selected:after{content:'✓';position:absolute;width:18px;height:18px;bottom:-5px;left:calc(50% - 9px);display:grid;place-items:center;border-radius:50%;background:linear-gradient(#ffe39a,#cb8d2e);border:1px solid #ffe7a7;color:#402700;font:bold 12px system-ui}.chip:hover{filter:brightness(1.18)}.risk-options{clear:both;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.risk-options button{min-height:43px;font-size:20px;border-radius:12px}.risk-note{font-size:12px;min-height:15px;color:#8893a4;margin-top:8px;text-align:center}.launch-area{border-top:1px solid #3b4350;padding-top:15px;margin-top:12px}.total-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:19px;margin-bottom:13px}.total-row strong{font-size:26px;color:var(--gold);font-variant-numeric:tabular-nums}.launch-button{width:100%;min-height:59px;border-radius:35px;border:1px solid #ffe8a7;background:linear-gradient(135deg,#ffdf8e 0%,#ecc269 40%,#e7b65b 60%,#ba862f 100%);box-shadow:inset 0 2px 0 #fff1c17a,inset 0 -2px 0 #6f44072e,0 6px 15px #0006;color:#3b260c;font-size:23px;font-weight:700;letter-spacing:.1px;user-select:none;-webkit-user-select:none;touch-action:none}.launch-button:hover{filter:brightness(1.08)}.launch-button:active,.launch-button.holding{transform:translateY(1px);background:linear-gradient(145deg,#dca743,#f6cf7f);box-shadow:inset 0 2px 9px #68400a33,0 3px 7px #0006}.launch-button:disabled{opacity:.45}#holdHint{text-align:center;font-size:14px;color:#929eaf;margin-top:9px;min-height:17px}.bet-error:empty{display:none}.bet-error{font-size:15px;line-height:1.4;text-align:center;color:#f8a89c;margin-top:10px}.betting-footer{text-align:center}.betting-footer>p{font-size:15px;color:#a1adbf;margin:16px 0}.text-button{display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-top:1px solid #343d49;border-radius:0;padding:14px 0 0;width:100%;background:transparent;color:#9faabd;font-size:15px}.text-button:hover{color:var(--gold)}.text-button .icon{width:18px;height:18px}.page-footer{max-width:1700px;margin:auto;padding:0 26px 20px;display:flex;gap:20px;align-items:center;color:#778294;font-size:12px;letter-spacing:.4px}.page-footer>span:first-child{letter-spacing:2px;color:#616b7b}.page-footer button{border:0;background:none;color:#a7b0bd;font-size:13px;margin-left:auto;padding:8px 0}.page-footer button:hover{color:var(--gold)}.toast{position:fixed;z-index:10;bottom:25px;left:50%;transform:translate(-50%,15px);background:#222a35;border:1px solid #697486;box-shadow:0 5px 30px #0008;color:#edf0f6;padding:12px 21px;border-radius:25px;max-width:min(90vw,460px);text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:17px}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{width:min(520px,calc(100vw - 30px));padding:25px;border:1px solid #4a5362;border-radius:22px;background:linear-gradient(135deg,#222933,#11161c);color:var(--text);box-shadow:0 25px 100px #000a;max-height:85svh;overflow-y:auto;scrollbar-width:thin}dialog::backdrop{background:#05080dbb;backdrop-filter:blur(7px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.dialog-header h2{font-size:28px}.dialog-header .icon-button{width:36px;height:36px}.instructions{list-style:none;padding:0;margin:0}.instructions li{display:flex;gap:15px;margin:0 0 22px}.instructions li>span{font-size:23px;color:var(--gold)}.instructions h3{font-size:21px;margin-bottom:6px;font-weight:400}.instructions p,.example p,.fine-print,details p{font-family:system-ui,sans-serif;font-size:12px;line-height:1.7;color:#aab5c6}.example{background:#0b1016;border:1px solid #4f4530;padding:16px;border-radius:12px;margin:16px 0}.example strong{color:var(--gold);font-size:25px}.example p{margin-top:8px}.fine-print{margin-top:15px}details{margin-top:20px;border-top:1px solid #3a4351;padding-top:16px}summary{cursor:pointer;color:#c2ccda;font-size:17px}details p{margin-top:12px}.payout-table{font-size:14px;color:#9eabba;margin-top:12px;line-height:1.7}.setting-row{display:flex;justify-content:space-between;align-items:center;font-size:20px}.setting-row output{color:var(--gold);font-size:18px}input[type=range]{width:100%;margin:19px 0 26px;accent-color:#eeb95c;cursor:pointer;min-height:24px}.checkbox-row{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:18px;padding:0 0 22px;border-bottom:1px solid #3a4351}.checkbox-row input{width:21px;height:21px;accent-color:#eeb95c}.session-stats{padding:20px 0}.session-stats h3{font-weight:400;font-size:22px;margin-bottom:15px}.session-stats>div{display:flex;justify-content:space-between;gap:10px;margin:12px 0;color:#a8b4c5}.session-stats strong{color:#d8e1eb;font-variant-numeric:tabular-nums}.secondary-button{border:1px solid #505d71;background:linear-gradient(#2b3543,#181e27);border-radius:12px;width:100%;padding:13px;font-size:19px}.secondary-button:hover{border-color:var(--gold)}[hidden]{display:none!important}@keyframes row-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.game-layout{grid-template-columns:240px minmax(0,1fr) 360px}.betting-panel{padding:25px 22px}.chip span{font-size:30px}.chips{gap:15px}.amount-section{padding:15px 12px}.betting-panel fieldset{margin-top:23px;padding-top:20px}.betting-panel legend{margin-bottom:18px}.launch-button{min-height:65px}.result-row{padding:20px 0}.board-heading h1{font-size:27px}.active-pill{font-size:18px}}
@media(max-width:1180px) and (min-width:761px){.game-layout{grid-template-columns:minmax(0,1fr) 300px;padding:16px;gap:14px}.board-panel{grid-column:1;grid-row:1}.betting-panel{grid-column:2;grid-row:1}.results-panel{grid-column:1/-1;grid-row:2;max-height:270px}.results-scroll{max-height:170px;min-height:80px}.panel-heading{padding:12px 16px}.results-footer{padding:10px 0;flex-direction:row;align-items:center;justify-content:space-between}#history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}.result-row{padding:12px 5px}.empty-state{min-height:120px;flex-direction:row;gap:30px}.empty-ball{margin:0}.empty-state p{margin:0}.board-heading{left:13px;right:9px;top:13px}.board-heading h1{font-size:21px}.active-pill{padding:4px 9px}.batch-summary{font-size:17px;padding:12px}.batch-summary>span{font-size:14px}.batch-summary strong{font-size:22px}.board-hint{font-size:13px;max-width:115px}.chips{gap:10px}.chip span{font-size:24px}}
@media(max-width:760px){.topbar{height:70px;padding:0 14px;gap:8px}.brand{gap:9px}.brand-mark{width:34px;height:39px}.brand>span{font-size:28px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:3px;margin-top:6px}.header-actions{gap:7px}.icon-button{width:35px;height:35px}.icon-button .icon{width:18px;height:18px}.game-layout{padding:10px;gap:10px;grid-template-columns:minmax(0,1fr);max-width:560px}.board-panel{grid-row:1;padding:5px;border-radius:15px}.board-stage{border-radius:10px}.board-heading{top:10px;left:11px;right:8px}.board-heading h1{font-size:18px}.board-tools{gap:5px}.active-pill{padding:2px 8px;font-size:11px;gap:5px;min-height:27px}.active-pill strong{font-size:17px}.speed-button{font-size:11px;min-height:27px;padding:3px 8px}.board-hint{font-size:11px;max-width:95px;top:20%;right:3%}.batch-summary{padding:8px 12px;margin-top:5px;border-radius:9px;font-size:16px}.batch-summary>span{font-size:12px}.batch-summary strong{font-size:20px}.multiply,.equals{padding:0 4px}.betting-panel{grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;border-radius:16px;padding:14px}.betting-panel>h2{grid-column:1/-1;font-size:23px;margin:0}.amount-section{padding:0;border:0;background:none;min-width:0}.amount-section>label{font-size:15px;margin-bottom:9px;gap:3px}.amount-section>label small{font-size:9px}.amount-input{border-radius:20px;gap:1px}.amount-input>button{width:30px;height:36px;border-radius:15px;font-size:23px}.amount-value{font-size:21px}.amount-value input{font-size:21px;width:72px}.amount-presets{gap:3px;margin-top:8px}.amount-presets button{font-size:13px;min-height:29px;border-radius:7px}.betting-panel fieldset{margin:0;padding:0;border:0}.betting-panel legend{font-size:15px;margin-bottom:11px}.chips{gap:5px;padding-top:2px}.chip{padding:5px}.chip:before{inset:4px}.chip span{font-size:19px}.chip.selected:after{width:14px;height:14px;bottom:-4px;left:calc(50% - 7px);font-size:9px}.risk-section{grid-column:1/-1}.betting-panel .risk-section{display:flex;align-items:center;gap:12px;border-top:1px solid #343e4b;padding-top:11px}.risk-section legend{float:none;display:contents}.risk-options{display:grid;flex:1;min-width:0;gap:5px}.risk-options button{font-size:16px;min-height:34px;border-radius:9px}.risk-note{display:none}.launch-area{grid-column:1/-1;margin:0;border:0;padding:0}.total-row{font-size:16px;margin-bottom:8px}.total-row strong{font-size:22px}.launch-button{min-height:49px;font-size:21px}#holdHint{font-size:12px;margin-top:7px;min-height:14px}.betting-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:9px;border-top:1px solid #343e4b}.betting-footer>p{margin:0;font-size:13px}.text-button{border:0;padding:0;font-size:13px;width:auto;gap:5px}.text-button .icon{width:15px;height:15px}.results-panel{grid-row:3;max-height:380px;border-radius:16px}.panel-heading{padding:14px 16px}.panel-heading h2{font-size:20px}.results-scroll{max-height:260px;min-height:90px}.result-row{padding:13px 3px;gap:14px}.result-content{display:grid;grid-template-columns:1fr auto;gap:3px 10px}.result-content h3{font-size:18px}.result-detail{font-size:14px;margin:0;grid-row:2}.result-cobro{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;gap:2px;font-size:12px;align-items:flex-end;justify-content:center}.result-cobro strong{font-size:22px}.result-orb{width:29px;height:29px}.results-footer{flex-direction:row;align-items:center;justify-content:space-between;padding:11px 0}.results-footer strong{font-size:20px}.empty-state{min-height:150px}.empty-ball{width:28px;height:28px;margin-bottom:18px;box-shadow:0 0 0 9px #e7bc5e05}.empty-state h3{font-size:17px}.empty-state p{margin-top:5px;font-size:13px}.page-footer{padding:0 14px 18px;gap:10px;font-size:10px;max-width:560px}.page-footer>span:first-child{display:none}.page-footer button{font-size:12px;padding:8px 0}dialog{padding:20px}.dialog-header h2{font-size:25px}.toast{bottom:15px;font-size:15px}.bet-error{font-size:13px}}
@media(max-width:360px){.topbar{padding:0 10px}.brand>span{font-size:24px}.brand-mark{width:29px}.header-actions{gap:5px}.icon-button{width:31px;height:31px}.game-layout{padding:7px}.betting-panel{padding:11px;gap:10px}.amount-input>button{width:26px}.amount-value input{width:60px}.chip span{font-size:16px}.amount-presets button{font-size:12px}.batch-summary{font-size:14px;padding:7px 9px}.batch-summary strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* The controls and playfield share one board, with no overlapping layers. */
.play-column{min-width:0;align-self:start}
.game-layout{max-width:1800px;grid-template-columns:190px minmax(0,1fr) 290px;gap:14px}
.board-panel{padding:9px}
.board-heading{position:relative;inset:auto;min-height:47px;padding:10px 14px 5px}
.board-interior{display:grid;grid-template-columns:clamp(142px,11.5vw,192px) minmax(0,1fr);align-items:start;gap:0}
.board-controls{min-width:0;align-self:stretch;display:flex;flex-direction:column;gap:11px;padding:16px 12px 18px;border-right:1px solid #a7803b55;background:linear-gradient(90deg,#15191f,#0c1015)}
.playfield{min-width:0;position:relative;align-self:end}
.board-hint{top:24%;right:6%;max-width:95px;font-size:12px}
.money-card{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px 8px;padding:13px 10px;min-width:0;border:1px solid #47515d;border-radius:16px;background:linear-gradient(140deg,#20262d,#0b1015 75%);box-shadow:inset 0 1px 0 #ffffff08,0 5px 12px #0003}
.money-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid #9f824866;border-radius:50%;color:#f5c773;background:#10151b}
.money-icon .icon{width:19px;height:19px;stroke-width:1.5}
.money-label{font-size:13px;letter-spacing:.3px;text-transform:uppercase;color:#c2cbdb;line-height:1.2}
.money-card strong{grid-column:1/-1;font-size:clamp(27px,2.1vw,37px);line-height:1.1;color:#f4c76d;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.5px}
.money-card strong.compact{font-size:clamp(20px,1.55vw,28px)}
.money-note{grid-column:1/-1;font-size:11px;color:#8d99aa;min-height:12px}
.board-launch{min-width:0;margin-top:8px;text-align:center}
.launch-button{display:grid;place-items:center;position:relative;width:100%;max-width:188px;aspect-ratio:1;min-height:0;padding:0;border-radius:50%;border:2px solid #ffdda0;background:radial-gradient(circle at 50% 43%,#493516 0%,#1d180f 62%,#d5a452 63%,#ffdf9e 65%,#563b1b 68%,#0e1117 72%,#c08c42 74%,#e7c484 78%,#382713 83%,#12151a 100%);box-shadow:inset 0 1px 2px #fff4b5,0 0 0 2px #171a1f,0 0 0 3px #8b6e3d,0 7px 16px #0008;margin:0 auto;color:#ffe28b;font-size:clamp(18px,1.45vw,25px);line-height:1.05;transition:filter .15s,transform .1s}
.launch-button:active,.launch-button.holding{transform:scale(.97);background:radial-gradient(circle at 50% 43%,#61481e 0%,#2a2111 62%,#d5a452 63%,#ffdf9e 65%,#563b1b 68%,#0e1117 72%,#c08c42 74%,#e7c484 78%,#382713 83%,#12151a 100%);box-shadow:inset 0 1px 2px #fff4b5,0 0 0 2px #171a1f,0 0 0 3px #ae8a4f,0 0 24px #efba4a25}
.launch-arrows{position:absolute;inset:9%;width:82%;height:82%;pointer-events:none;filter:drop-shadow(0 2px 2px #0008)}
.launch-button.holding .launch-arrows{animation:launcher-turn 2.4s linear infinite}
.launch-copy{position:relative;display:flex;flex-direction:column;gap:3px;pointer-events:none;text-shadow:0 1px 3px #000}
#launchCount{font-size:.76em}
#holdHint{font-size:12px;line-height:1.3;margin:12px 0 0;min-height:31px;color:#a3adbd}
.batch-summary{display:flex;flex-direction:column;gap:3px;border:0;border-radius:0;padding:0;margin:4px 0 0;font-size:15px;background:none;color:#b9c4d4}
.batch-summary>span{font-size:12px;color:#8390a2}
.batch-summary strong{font-size:23px;color:#f5c873;margin-left:5px}
.board-controls .bet-error{font-size:13px;margin:0;line-height:1.35}
.betting-panel{padding:20px 16px 14px}
.chips{gap:8px}
.amount-input>button{width:38px}
.amount-value input{width:85px}
@keyframes launcher-turn{to{transform:rotate(360deg)}}
@media(min-width:1600px){.game-layout{grid-template-columns:225px minmax(0,1fr) 320px}.money-card{padding:16px 13px}.money-label{font-size:15px}.board-controls{gap:15px}.board-launch{margin-top:14px}}
@media(max-width:1180px) and (min-width:761px){.game-layout{grid-template-columns:minmax(0,1fr) 270px;padding:14px;gap:12px}.play-column{grid-column:1;grid-row:1}.board-interior{grid-template-columns:140px minmax(0,1fr)}.board-controls{padding:12px 10px;gap:9px}.money-card{padding:10px 8px;gap:5px}.money-label{font-size:12px}.money-card strong{font-size:27px}.money-card strong.compact{font-size:20px}.launch-button{font-size:18px}.money-note{font-size:10px}.board-hint{font-size:11px;max-width:80px}.betting-panel{padding:18px 14px}.amount-input>button{width:34px}.chip span{font-size:23px}}
@media(max-width:760px){
 .topbar{height:65px}.game-layout{grid-template-columns:minmax(0,1fr);max-width:560px;padding:9px;gap:10px}.play-column{grid-row:1}.board-panel{padding:5px}.board-heading{padding:8px 10px 3px;min-height:36px}.board-interior{grid-template-columns:minmax(0,1fr)}.playfield{grid-row:1}.board-hint{font-size:11px;max-width:95px}
 .board-controls{grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:8px 14px;border-right:0;border-top:1px solid #a7803b55;padding:12px;background:linear-gradient(120deg,#20252b,#0b1015)}
 .money-card{grid-template-columns:27px minmax(0,1fr);gap:3px 7px;padding:9px 10px;border-radius:12px}.money-icon{width:26px;height:26px;grid-row:1/3}.money-icon .icon{width:17px;height:17px}.money-label{font-size:11px}.money-card strong{grid-column:2;font-size:28px}.money-card strong.compact{font-size:21px}.money-note{grid-column:2;font-size:10px;min-height:0}.balance-card{grid-row:1;grid-column:1}.collected-card{grid-row:2;grid-column:1}.board-launch{grid-row:1/3;grid-column:2;align-self:center;margin:0}.launch-button{width:106px;font-size:18px}.launch-arrows{inset:8%;width:84%;height:84%}#holdHint{font-size:10px;min-height:0;margin:8px 0 0;line-height:1.2}.batch-summary{gap:0;margin-top:5px;font-size:13px}.batch-summary>span{display:none}.batch-summary strong{font-size:19px}.board-controls .bet-error{grid-column:1/-1;font-size:12px}
 .betting-panel{padding:14px}.amount-input>button{width:30px}.amount-value input{width:72px}.chips{gap:5px}.chip span{font-size:19px}
}
@media(max-width:360px){.game-layout{padding:7px}.board-controls{grid-template-columns:minmax(0,1fr) 100px;gap:7px 10px;padding:10px}.launch-button{width:94px;font-size:16px}.money-card{padding:8px;gap:3px 5px;grid-template-columns:22px minmax(0,1fr)}.money-icon{width:22px;height:22px}.money-icon .icon{width:15px;height:15px}.money-card strong{font-size:25px}.money-card strong.compact{font-size:18px}.money-label{font-size:10px}.money-note{font-size:9px}.amount-input>button{width:26px}.amount-value input{width:60px}.chip span{font-size:16px}}

/* One published probability table, shared by the board and bank scenario. */
.game-math{border-top:1px solid #3b4350;margin-top:20px;padding-top:16px;display:flex;flex-direction:column;gap:8px;color:#a6b2c4;font-size:16px}
.game-math strong{font-size:19px;color:var(--gold);font-weight:400}.game-math a{color:#d3dbe7;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.bank-panel{max-width:1752px;margin:12px auto 24px;padding:28px;scroll-margin-top:16px;width:calc(100% - 48px);background:linear-gradient(130deg,#20252c,#11151a 65%)}
.bank-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2px;color:#e2b563}.bank-heading h2{font-size:32px;font-weight:400;margin:7px 0}.bank-heading p,.odds-heading p{color:#9da9ba;font-size:16px;line-height:1.45}
.bank-status{padding:9px 15px;border:1px solid #505a69;border-radius:20px;white-space:nowrap;color:#c3cedc;font-size:15px;background:#11161b}
.live-bank{display:flex;flex-wrap:wrap;gap:14px 28px;padding:15px 0;margin:17px 0 22px;border-block:1px solid #36404d;color:#98a4b7;font-size:16px}.live-bank b{margin-left:7px;color:#dfe7f2;font-weight:400}.live-bank>span:first-child{margin-right:auto}
.bank-setup{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.bank-field{min-width:0;display:flex;flex-direction:column;gap:8px}.bank-field label{font-size:18px;color:#c9d2df}.bank-field input{width:100%;min-height:45px;padding:9px 12px;border:1px solid #4b5665;border-radius:10px;background:#0c1117;color:#f3cc7b;font-size:23px;font-variant-numeric:tabular-nums}.bank-field small{font-size:12px;color:#8e9cad;line-height:1.4}
.bank-presets{display:flex;gap:7px}.bank-presets button{border:1px solid #4a5666;background:linear-gradient(#272f3b,#141a22);color:#c9d3e2;border-radius:8px;padding:6px 13px;min-height:34px;font-size:16px}.bank-presets button.selected{border-color:#e2b970;color:#ffda8e;background:#73531c33}.bank-withdraw{display:flex;gap:10px;align-items:center;margin:22px 0 26px;font-size:19px;cursor:pointer}.bank-withdraw input{width:21px;height:21px;accent-color:#d3a95d;flex:none}.bank-withdraw small{display:block;font-size:13px;color:#94a2b6;margin-top:5px}
.odds-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid #39434f;padding-top:22px}.odds-heading h3,.bank-chart-head h3{font-size:23px;font-weight:400;margin-bottom:5px}.edge-presets{align-items:center;flex-wrap:wrap;justify-content:flex-end}.edge-presets>span{font-size:13px;color:#a5b1c2}
.odds-inputs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px;margin-top:16px}.odds-inputs>label,.odds-remainder{min-width:0;padding:11px 10px;border:1px solid #4a4436;border-radius:12px;background:#0e1319}.odds-inputs label>span{display:block;color:#f3cc7b;font-size:23px;margin-bottom:10px}.odds-inputs label>div{display:flex;align-items:center;gap:4px}.odds-inputs input{width:100%;min-width:0;border:0;border-bottom:1px solid #4b5665;border-radius:0;background:none;color:#e3eaf4;font-size:17px;min-height:32px;padding:3px 0;appearance:textfield;-moz-appearance:textfield}.odds-inputs input::-webkit-inner-spin-button,.odds-inputs input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.odds-inputs b{color:#8491a4;font-weight:400}.odds-remainder{display:flex;flex-direction:column;justify-content:center;gap:10px;border-color:#3c4857;color:#9aa9bd}.odds-remainder span{font-size:15px}.odds-remainder strong{font-size:19px;font-weight:400;color:#d5deea;overflow-wrap:anywhere}
.odds-preview{display:flex;gap:16px 30px;flex-wrap:wrap;padding:16px 0;color:#a7b4c7;font-size:16px}.odds-preview strong{color:#e9c783;font-size:22px;margin-left:8px}.bank-explanation{font-size:13px;color:#8594a9;line-height:1.55;max-width:1000px}
.bank-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0 12px}.bank-actions .secondary-button{width:auto;min-height:42px;font-size:16px;padding:10px 16px}.bank-start{min-height:43px;padding:10px 23px;border:1px solid #ffe6a5;border-radius:11px;background:linear-gradient(130deg,#ffe19a,#c4933e);color:#33230b;font-weight:700;font-size:18px}.bank-actions p{flex-basis:100%;color:#f3a798;font-size:15px;line-height:1.4}.bank-actions p:empty{display:none}.bank-applied{color:#a3afbf;font-size:14px;margin:16px 0}
.bank-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.bank-metrics>div{border:1px solid #3d4958;border-radius:13px;background:linear-gradient(140deg,#212831,#10161c);padding:17px 16px;min-width:0;display:flex;flex-direction:column;gap:8px}.bank-metrics span{color:#bac5d5;font-size:17px}.bank-metrics strong{color:#f0c46b;font-size:clamp(26px,2.3vw,37px);font-weight:400;line-height:1;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.bank-metrics small{font-size:12px;color:#8292a9;line-height:1.35}.negative{color:#f39d8b!important}
.bank-round-summary{display:flex;flex-wrap:wrap;gap:12px 25px;margin:18px 0;padding:14px 0;border-block:1px solid #374452;color:#9eafc6;font-size:16px}.bank-round-summary>span:first-child{color:#e0c18c;margin-right:auto}.bank-round-summary b{color:#d3ddeb;font-weight:400;margin-left:5px}.bank-chart-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px}.bank-chart-head>span{font-size:14px;color:#94a6bc}.bank-chart{width:100%;height:auto;display:block;border:1px solid #354252;border-radius:12px;background:#0c1219;margin:12px 0}.bank-chart text{font:14px var(--font)}.bank-distribution{margin-bottom:17px}.bank-distribution summary{font-size:18px}.bank-table-wrap{overflow-x:auto;margin-top:16px}.bank-distribution table{border-collapse:collapse;width:100%;font-size:17px;text-align:right}.bank-distribution th{font-weight:400;color:#8e9db1;font-size:14px}.bank-distribution td,.bank-distribution th{padding:11px 15px;border-bottom:1px solid #303c4b;white-space:nowrap}.bank-distribution td:first-child,.bank-distribution th:first-child{text-align:left;color:#edc677}.bank-distribution p{font-size:14px;color:#a7b4c6}
@media(max-width:1180px){.bank-panel{width:calc(100% - 28px);padding:22px}.odds-inputs{grid-template-columns:repeat(4,minmax(0,1fr))}.bank-setup{gap:12px}.bank-field label{font-size:16px}.odds-heading{align-items:start}.edge-presets{max-width:240px}.bank-metrics strong{font-size:29px}}
@media(max-width:760px){.game-math{grid-column:1/-1;margin:0;padding:10px 0 0;display:flex;flex-wrap:wrap;gap:7px;font-size:14px}.game-math strong{font-size:16px}.game-math a{font-size:13px}.bank-panel{width:calc(100% - 18px);padding:16px;max-width:542px;margin-top:10px;border-radius:16px}.bank-heading{align-items:start;flex-direction:column;gap:10px}.bank-heading h2{font-size:26px}.bank-heading p{font-size:15px}.bank-status{font-size:13px;padding:6px 11px}.bank-setup{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.bank-field label{font-size:15px;min-height:32px;line-height:1.2}.bank-field input{font-size:21px}.bank-presets button{padding:5px 9px;font-size:14px}.bank-field small{font-size:11px}.bank-withdraw{font-size:17px;line-height:1.3;margin-block:18px}.bank-withdraw small{font-size:12px}.odds-heading{flex-direction:column;gap:10px;padding-top:17px}.edge-presets{max-width:none;justify-content:flex-start}.odds-heading h3{font-size:22px}.odds-heading p{font-size:14px}.odds-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.odds-inputs>label{padding:10px 12px}.odds-inputs label>span{font-size:21px;margin-bottom:4px}.odds-inputs input{font-size:18px}.odds-preview{flex-direction:column;gap:9px;font-size:15px}.odds-preview strong{font-size:20px}.bank-explanation{font-size:12px}.bank-actions{gap:8px}.bank-actions .secondary-button{font-size:14px;padding:9px 11px}.bank-start{font-size:16px}.bank-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bank-metrics>div{padding:13px 11px}.bank-metrics span{font-size:15px;min-height:30px;line-height:1.2}.bank-metrics strong{font-size:27px}.bank-metrics small{font-size:10px}.bank-round-summary{font-size:14px;gap:10px 15px}.bank-round-summary>span:first-child{flex-basis:100%}.bank-chart-head{align-items:start;flex-direction:column;gap:4px}.bank-chart-head h3{font-size:21px}.bank-chart-head>span{font-size:12px}.bank-chart{min-height:140px}.bank-distribution summary{font-size:16px}.bank-distribution td,.bank-distribution th{padding:10px 8px}.live-bank{font-size:14px;gap:8px 13px;padding:12px 0}.live-bank>span:first-child{flex-basis:100%}.bank-applied{font-size:12px;line-height:1.5}}
/* Ten fixed seats share the playfield; balances stay independent. */
.room-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px 4px;border-bottom:1px solid #35404c}
.room-legend{display:flex;flex-wrap:wrap;gap:7px 14px;align-items:center}.room-color-label{display:flex;align-items:center;gap:5px;font-size:13px;color:#d6dfe9}
.player-dot{display:inline-grid;place-items:center;flex:none;width:19px;height:19px;border-radius:50%;font:700 10px system-ui,sans-serif;color:#0c1420;background:radial-gradient(circle at 30% 22%,#fff,var(--player-color) 52%,#263448);box-shadow:0 0 7px color-mix(in srgb,var(--player-color) 20%,transparent)}
.room-toggle{flex:none;font-size:13px;min-height:35px;padding:7px 11px;background:#141c25;border:1px solid #4e5b6c;border-radius:9px;color:#d8e1ed}.room-toggle:hover{border-color:#d3b576}.room-status{padding:6px 14px 7px;color:#8c9aae;font-size:11px;min-height:27px;line-height:1.4}
.room-players{display:flex;flex-direction:column;gap:8px;padding:0 12px 10px}.player-card{border:1px solid #3d4959;border-left:3px solid var(--player-color);border-radius:11px;padding:10px 9px;background:linear-gradient(120deg,#222a34,#12171e);min-width:0}.player-you{border-color:#856a3d;border-left-color:var(--player-color)}.player-active{background:linear-gradient(120deg,#2b3542,#151c24)}
.player-heading{display:flex;align-items:center;gap:7px}.player-heading strong{font-size:17px;font-weight:400;color:var(--player-color)}.player-state{margin-left:auto;font-size:11px;color:#a6b5c9;white-space:nowrap}.player-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px 9px;margin-top:9px}.player-stats>div{min-width:0}.player-stats span{display:block;font-size:11px;color:#8f9fb5;margin-bottom:2px}.player-stats strong{font-size:18px;font-weight:400;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.player-stats .player-net{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #354050;padding-top:5px}.player-net span{margin:0}.positive{color:#83dbab!important}.player-last{font-size:10px;line-height:1.4;color:#8fa0b7;margin-top:6px;min-height:14px}
.room-history-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 15px 10px}.room-history-heading h3{font-size:17px;font-weight:400;color:#c7d0de}
.results-panel .result-orb{background:radial-gradient(circle at 30% 20%,#fff,var(--player-color) 45%,#26313f);width:27px;height:27px;display:grid;place-items:center;font:700 12px system-ui,sans-serif;color:#0d1520;box-shadow:0 2px 8px #0008}.results-panel .result-row{gap:9px;padding:10px 0}.results-panel .result-content h3{font-size:16px}.results-panel .result-detail{font-size:12px;margin-top:3px;line-height:1.3}.results-panel .result-cobro{margin-top:4px}.results-panel .result-cobro strong{font-size:20px}
@media(min-width:1181px){.game-layout{grid-template-columns:246px minmax(0,1fr) 270px}.results-panel{max-height:1050px;align-self:start}.results-scroll{min-height:95px;max-height:210px}.results-panel .panel-heading{padding:15px}.results-panel .results-footer{padding:10px 0}.empty-state{min-height:110px}.empty-state .empty-ball{display:none}.board-interior{grid-template-columns:clamp(136px,10.4vw,175px) minmax(0,1fr)}.board-controls{padding:13px 10px}.room-toolbar{align-items:flex-start;flex-wrap:wrap}.room-toggle{margin-left:auto}}
@media(min-width:1600px){.game-layout{grid-template-columns:260px minmax(0,1fr) 290px}.room-toolbar{flex-wrap:nowrap}.player-card{padding:11px}.player-stats strong{font-size:20px}}
@media(max-width:1180px) and (min-width:761px){.results-panel{max-height:none}.room-players{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.player-heading{flex-wrap:wrap;gap:5px}.player-state{flex-basis:100%;margin:0;font-size:10px}.player-stats{gap:6px}.player-stats strong{font-size:17px}.player-net span{font-size:10px}.player-stats .player-net{align-items:start;flex-direction:column;gap:3px}.room-toolbar{flex-wrap:wrap;gap:5px}.room-toggle{margin-left:auto}.results-panel .results-scroll{max-height:145px}.results-panel .result-row{padding:10px 4px}}
@media(max-width:760px){.room-toolbar{padding:7px 9px 5px;gap:6px;flex-wrap:wrap}.room-legend{gap:5px 10px;flex:1 1 100%}.room-color-label{font-size:12px}.player-dot{width:17px;height:17px;font-size:9px}.room-toggle{font-size:12px;min-height:32px;margin-left:auto;padding:5px 9px}.room-status{font-size:10px;padding:5px 10px;min-height:24px}.results-panel{max-height:none}.room-players{flex-direction:row;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#6d7785 #111923;padding:0 12px 12px;gap:8px}.player-card{flex:0 0 190px;scroll-snap-align:start;padding:10px}.player-heading strong{font-size:17px}.player-stats strong{font-size:20px}.player-last{font-size:11px}.room-history-heading{padding-block:10px}.results-panel .results-scroll{max-height:180px;min-height:75px}.results-panel .result-cobro{margin:0}.results-panel .result-content h3{font-size:17px}.results-panel .result-detail{font-size:13px}.room-players .player-dot{width:20px;height:20px}.results-panel .empty-state{min-height:90px}.results-panel .empty-ball{display:none}.room-players:focus-visible{outline:2px solid #f4c267;outline-offset:-3px}}

/* Bounded visual session: one fixed 5% model, ten independent wallets. */
.mesa-scenario{padding:20px;margin-bottom:12px;min-width:0;background:linear-gradient(135deg,#24282d,#11161c 75%)}
.mesa-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.mesa-heading h2{font-size:27px;font-weight:400;margin-top:6px;line-height:1.15}.mesa-heading .eyebrow{font-size:10px;letter-spacing:1.4px}.mesa-edge{flex:none;display:flex;flex-direction:column;align-items:center;color:#f2c877;font-size:11px;letter-spacing:1px;border-left:1px solid #5c503c;padding-left:16px}.mesa-edge b{font-size:32px;line-height:1.1;font-weight:400}.mesa-edge small{font-size:10px;color:#a6afbd;letter-spacing:0}.mesa-description{color:#aeb9c9;font-size:14px;line-height:1.45;margin:12px 0 16px}
.mesa-setup{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mesa-setup label{font-size:15px}.mesa-setup input{font-size:21px;min-height:42px}.mesa-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:14px}.mesa-actions .bank-start{font-size:17px;min-height:44px}.mesa-actions>span{flex-basis:100%;font-size:12px;color:#9eadc1;line-height:1.4}.mesa-actions .room-toggle{margin-left:0;min-height:44px}
.mesa-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-top:17px;color:#b1bdd0}.mesa-progress-label strong{font-weight:400;color:#e7c587;font-variant-numeric:tabular-nums}.mesa-progress{height:4px;background:#35404d;border-radius:4px;overflow:hidden;margin:8px 0 15px}.mesa-progress>div{height:100%;width:0;background:#eac171;transition:width .18s}
.mesa-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.mesa-metrics>div{padding:11px 10px;border:1px solid #394452;border-radius:10px;background:#10161c;min-width:0}.mesa-metrics span{display:block;font-size:12px;color:#9eadc0;min-height:17px}.mesa-metrics strong{display:block;font-size:25px;line-height:1.2;font-weight:400;margin-top:6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.mesa-metrics .mesa-bank-net{border-color:#74603c;background:#b78b2910}.mesa-bank-net strong{color:#f2c877}.mesa-outcome{font-size:13px;line-height:1.5;color:#b2bfd1;margin:13px 0 0}.mesa-rules{padding-top:10px;margin-top:12px}.mesa-rules summary{font-size:14px}.mesa-rules p{font-size:11px;line-height:1.6}.player-retired{border-color:#4c7962}.player-retired .player-state{color:#83dbab}.player-state{white-space:normal;text-align:right}.player-card{flex-shrink:0}
button:disabled{cursor:not-allowed}.room-toggle:disabled,.mesa-actions button:disabled{opacity:.45}.board-launch .launch-button:disabled{opacity:.5;cursor:not-allowed}.room-players:focus-visible{outline:2px solid #f4c267;outline-offset:-3px}
@media(min-width:1181px){.room-players{max-height:620px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#6d7785 #111923;min-height:0}.results-panel{max-height:none}.mesa-heading h2{font-size:25px}}
@media(max-width:760px){.mesa-scenario{padding:14px;border-radius:15px;margin-bottom:10px}.mesa-heading h2{font-size:23px}.mesa-heading .eyebrow{font-size:9px;letter-spacing:1px}.mesa-edge{padding-left:11px}.mesa-edge b{font-size:29px}.mesa-description{font-size:13px}.mesa-setup{gap:9px}.mesa-setup label{font-size:13px;line-height:1.2;min-height:30px}.mesa-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mesa-metrics strong{font-size:24px}.mesa-metrics span{font-size:12px}.mesa-outcome{font-size:12px}.mesa-actions>span{font-size:11px}.room-color-label{font-size:11px}.room-players{max-height:none}}
/* Scenario leaderboard: actual net winners, independent of the shared table. */
.bank-leaderboard{margin-top:24px;border:1px solid #404b5a;border-radius:15px;background:linear-gradient(125deg,#202731,#11171e);padding:20px;min-width:0}.bank-leaderboard-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.bank-leaderboard-heading h3{font-size:25px;font-weight:400;margin:7px 0 0;line-height:1.2}.bank-leaderboard-note{font-size:14px;color:#a6b2c4;line-height:1.45;margin:12px 0 16px}.bank-leaderboard-empty{padding:28px 15px;border:1px dashed #435061;border-radius:10px;text-align:center;color:#9eacbf;font-size:16px;line-height:1.45}.bank-leaderboard-count{font-size:13px;color:#92a3bb;margin-top:13px;line-height:1.4}.bank-leaderboard-scroll{max-height:450px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#6a7585 #10161e;padding-right:5px}.bank-leaderboard-scroll:focus-visible{outline:2px solid #f4c267;outline-offset:3px;border-radius:6px}#bankTopPlayers,#bankLossPlayers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.bank-leader{display:grid;grid-template-columns:32px minmax(155px,1.4fr) repeat(3,minmax(90px,1fr));align-items:center;gap:14px;padding:12px 13px;border:1px solid #354252;border-radius:10px;background:#0e151d;min-width:0}.bank-leader:first-child{border-color:#917341;background:linear-gradient(100deg,#c4943515,#0e151d)}.bank-leader-rank{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid #626c79;color:#c5cfdd;font-size:16px}.bank-leader:nth-child(-n+3) .bank-leader-rank{border-color:#a88649;color:#efd08e;background:#be914e16}.bank-leader-identity strong{display:block;font-size:19px;font-weight:400;color:#dce5ef}.bank-leader-identity>span{display:block;color:#8fa2ba;font-size:12px;line-height:1.4;margin-top:4px}.bank-leader>div{min-width:0}.bank-leader-staked,.bank-leader-paid,.bank-leader-net{text-align:right;font-variant-numeric:tabular-nums}.bank-leader-staked>span,.bank-leader-paid>span,.bank-leader-net>span{display:block;color:#91a4bf;font-size:12px;margin-bottom:4px}.bank-leader-staked>strong,.bank-leader-paid>strong,.bank-leader-net>strong{display:block;font-size:21px;font-weight:400;overflow-wrap:anywhere}.bank-leader-net>strong{color:#83dbab}.bank-leader-net>span{color:#a9d5bc}
@media(max-width:760px){.bank-leaderboard{padding:13px;margin-top:19px;border-radius:12px}.bank-leaderboard-heading{align-items:start;gap:10px;flex-wrap:wrap}.bank-leaderboard-heading h3{font-size:22px}.bank-leaderboard-heading .eyebrow{font-size:9px;letter-spacing:1.3px}.bank-leaderboard-heading .bank-status{font-size:12px;padding:5px 10px}.bank-leaderboard-note{font-size:12px;margin:11px 0}.bank-leaderboard-scroll{max-height:440px;padding-right:3px}.bank-leader{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr);gap:9px 8px;padding:11px 9px}.bank-leader-rank{grid-row:1;width:23px;height:23px;font-size:13px}.bank-leader-identity{grid-column:2;grid-row:1}.bank-leader-identity strong{font-size:17px;overflow-wrap:anywhere}.bank-leader-identity>span{font-size:10px}.bank-leader-net{grid-column:3;grid-row:1}.bank-leader-staked{grid-column:2;grid-row:2;text-align:left}.bank-leader-paid{grid-column:3;grid-row:2}.bank-leader-staked>strong,.bank-leader-paid>strong{font-size:18px}.bank-leader-net>strong{font-size:21px}.bank-leader-staked>span,.bank-leader-paid>span,.bank-leader-net>span{font-size:10px}.bank-leaderboard-count{font-size:11px}.bank-leaderboard-empty{font-size:14px;padding:21px 10px}}

.bank-loss-leaderboard .bank-leader-net>strong{color:#f39d8b}.bank-loss-leaderboard .bank-leader-net>span{color:#d9aa9f}.bank-loss-leaderboard .bank-leader:first-child{border-color:#785047;background:linear-gradient(100deg,#b9533914,#0e151d)}.bank-loss-leaderboard .bank-leader:nth-child(-n+3) .bank-leader-rank{border-color:#785047;color:#e7b7ab;background:#b9533910}.bank-loss-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:0 0 15px;border:1px solid #65443d;border-radius:11px;background:#b953390b;min-width:0}.bank-loss-summary>div{min-width:0}.bank-loss-summary span{display:block;color:#d9beb5;font-size:17px;line-height:1.3}.bank-loss-summary small{display:block;color:#a99491;font-size:12px;margin-top:5px;line-height:1.4}.bank-loss-summary>strong{font-size:29px;font-weight:400;color:#f39d8b;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;text-align:right}
@media(max-width:760px){.bank-loss-summary{padding:12px;gap:10px;flex-wrap:wrap}.bank-loss-summary span{font-size:15px}.bank-loss-summary small{font-size:11px}.bank-loss-summary>strong{font-size:26px;margin-left:auto}}

#bankWalletDetail{flex-basis:100%;margin:0;max-width:none}

/* Editable player stake distribution, scoped to the independent bank scenario. */
.bank-mix{border:1px solid #47505c;border-radius:14px;background:#11171e;padding:20px;margin:0 0 16px;min-width:0}
.bank-mix-heading h3{font-size:24px;color:#f2d396;margin:0 0 6px}.bank-mix-heading p{font-size:15px;line-height:1.45;color:#acb7c5;margin:0 0 18px}
.bank-group-row{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1fr) minmax(120px,1fr);gap:16px;align-items:center;padding:13px 0;border-top:1px solid #2c3440}.bank-group-name{color:#f2d396;font-size:18px}.bank-group-row.inactive .bank-group-name{color:#9ba6b4}.bank-group-row .bank-field{gap:5px}.bank-group-row .bank-field label{font-size:14px;min-height:0}.bank-group-row .bank-field input{font-size:21px}.bank-group-count{font-size:15px;line-height:1.5;color:#bac5d2;font-variant-numeric:tabular-nums;padding-top:22px}
.bank-mix-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 0 6px;border-top:1px solid #46515f}.bank-mix-summary div{min-width:0}.bank-mix-summary span{display:block;color:#a6b2c3;font-size:14px;margin-bottom:6px}.bank-mix-summary strong{color:#f3cd82;font-size:26px;font-variant-numeric:tabular-nums}.bank-mix-summary .negative{color:#f29888}.bank-mix .bank-explanation{margin-bottom:0}
@media(max-width:760px){.bank-mix{padding:13px}.bank-mix-heading h3{font-size:22px}.bank-mix-heading p{font-size:13px}.bank-group-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;padding:14px 0}.bank-group-name{grid-column:1/-1;font-size:16px}.bank-group-count{grid-column:1/-1;padding-top:0;font-size:13px}.bank-group-row .bank-field input{font-size:20px}.bank-mix-summary{grid-template-columns:1fr;gap:12px}.bank-mix-summary div{display:flex;align-items:center;justify-content:space-between;gap:12px}.bank-mix-summary span{margin:0;font-size:13px}.bank-mix-summary strong{font-size:23px}}
