:root{color:#162016;font-synthesis:none;text-rendering:optimizelegibility;background:#f4efe5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{-webkit-tap-highlight-color:transparent;min-width:320px;margin:0}button,input,textarea{font:inherit}fieldset{border:1px solid #d8c8ad;border-radius:18px;gap:.75rem;margin:0;padding:.85rem;display:grid}legend{color:#5c4d3c;padding:0 .35rem;font-weight:850}button{color:#fff;cursor:pointer;touch-action:manipulation;background:#1f6b45;border:0;border-radius:999px;min-height:48px;padding:.8rem 1rem;font-weight:750;transition:transform .16s,opacity .16s}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.42}button.secondary{color:#2d2418;background:#e2d5be}.shell{gap:1rem;max-width:1180px;margin:0 auto;padding:1rem;display:grid}.narrow-shell,.splash-shell{place-content:center;max-width:720px;min-height:100svh}.splash-card,.ready-card,.game-setup{gap:1rem;display:grid}.splash-card{text-align:center;position:relative;overflow:hidden}.splash-card:before{content:"";z-index:0;background:radial-gradient(circle,#f9d77eb3,#0000 58%);width:18rem;height:18rem;position:absolute;top:-9rem;left:50%;transform:translate(-50%)}.splash-card>*{position:relative}.logo-mark{font-size:4rem;line-height:1}.splash-card h1,.ready-card h1,.game-setup h1{margin:0;font-size:clamp(3rem,16vw,6rem);line-height:.9}.tagline{color:#1f6b45;margin:-.25rem 0 0;font-size:clamp(1.35rem,5vw,2.2rem);font-weight:900}.splash-actions{gap:.75rem;display:grid}.card{background:#fffcf6eb;border:1px solid #3e2d161f;border-radius:28px;padding:1.25rem;box-shadow:0 20px 60px #261c0f14}.hero{background:radial-gradient(circle at 0 0,#f9d77e,#0000 34%),#fffaf1;justify-content:space-between;align-items:center;gap:1rem;display:flex}.hero h1{margin:.1rem 0 .75rem;font-size:clamp(2.3rem,7vw,5rem);line-height:.9}.hero p{color:#554838;max-width:58ch}.compact-hero{padding:.85rem 1rem}.compact-hero h1{margin-bottom:0;font-size:clamp(2rem,6vw,3.75rem)}.eyebrow,.status{color:#8b5d1f;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:850}.round-meter{aspect-ratio:1;color:#fff8ea;text-align:center;background:#1f6b45;border-radius:999px;place-items:center;min-width:190px;padding:1.2rem;display:grid}.round-meter strong{font-size:4.2rem;line-height:.85}.compact-hero .round-meter{aspect-ratio:auto;border-radius:22px;min-width:150px;padding:.7rem 1rem}.compact-hero .round-meter strong{font-size:3rem}.bank-game-logo{grid-template-columns:auto auto minmax(0,1fr);justify-content:start;align-items:end;gap:0 .45rem;line-height:.9;display:grid}.bank-game-logo .logo-dice{color:#1f6b45;letter-spacing:-.35rem;padding-right:.35rem;font-size:clamp(1.8rem,6vw,3rem)}.bank-game-logo strong{color:#101b12;letter-spacing:-.07em;font-size:clamp(2.5rem,11vw,5.2rem);font-weight:950}.bank-game-logo small{color:#8b5d1f;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.25rem;font-size:clamp(.85rem,3vw,1.2rem);font-weight:950}.bank-command-center{gap:.7rem;padding:.85rem 1rem 1rem;display:grid}.bank-command-meta{justify-content:space-between;align-items:end;gap:1rem;display:flex}.bank-command-meta h1{margin:.1rem 0 0;font-size:clamp(2rem,6vw,3.4rem);line-height:.86}.bank-command-meta>span{color:#fff8ea;white-space:nowrap;background:#1f6b45;border-radius:999px;padding:.45rem .7rem;font-size:.85rem;font-weight:850}.bank-bar{color:#fff8ea;background:#1f6b45;border:2px solid #f9d77e61;border-radius:20px 20px 26px 26px;position:relative;overflow:visible;box-shadow:inset 0 0 0 1px #ffffff14,0 1rem 2rem #261c0f24}.round-tab{color:#fff8ea;letter-spacing:.11em;text-transform:uppercase;z-index:2;background:#101b12;border-radius:18px 18px 0 0;padding:.5rem .85rem;font-size:.78rem;font-weight:950;display:inline-grid;position:absolute;top:-2.05rem;left:0}.bank-roll-strip{grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.bank-roll-strip li{color:#1f1b14;background:linear-gradient(160deg,#fff8ea,#ead7b2);border-right:1px solid #1f6b452e;grid-template:"initial.""roll roll"minmax(0,1fr)"bank bank"/auto minmax(0,1fr);min-height:72px;padding:.28rem .42rem .32rem;display:grid}.bank-roll-strip li:first-child{border-top-left-radius:22px}.bank-roll-strip li:last-child{border-right:0;border-top-right-radius:22px}.bank-roll-strip li.bust{color:#fff8ea;background:linear-gradient(160deg,#301014,#9d1f2d)}.bank-roll-strip li.safe-seven{background:linear-gradient(160deg,#f9d77e,#b9841f)}.bank-roll-strip li.empty{color:#fff8ea80;background:#fff8ea24;place-items:center;font-weight:900;display:grid}.bank-roll-strip .roll-player-initial{grid-area:initial;background:#1f6b4524;border-radius:999px;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.66rem;font-weight:950;line-height:1;display:inline-grid}.bank-roll-strip strong{grid-area:roll;place-self:center;font-size:clamp(2.15rem,8vw,3rem);line-height:.9}.bank-roll-strip small{grid-area:bank;justify-self:center;font-size:.72rem;font-weight:900;line-height:1}.bank-bar-main{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.last-roll-cell,.bank-total-cell,.bank-action-cell{justify-content:center;gap:.1rem;min-height:82px;padding:.75rem;display:grid}.last-roll-cell{text-align:center;place-content:center}.last-roll-cell span,.bank-total-cell span{color:#f9d77e;letter-spacing:.11em;text-transform:uppercase;font-size:.7rem;font-weight:950}.last-roll-cell strong{font-size:clamp(2.2rem,8vw,3.6rem);line-height:.9}.bank-total-cell strong{font-size:clamp(4.4rem,16vw,7.4rem);line-height:.82}.last-roll-equation{color:#fff8eac2;justify-content:center;align-items:center;gap:.28rem;font-weight:800;display:inline-flex}.last-roll-equation .die-face{background:linear-gradient(145deg,#fff 0%,#fff8ea 68%,#eadfc9 100%);border:2px solid #f9d77ebf;border-radius:8px;width:1.65rem;height:1.65rem;padding:.22rem;display:grid;box-shadow:inset -.08rem -.08rem .18rem #563e1c33}.last-roll-equation .pip{width:.22rem;height:.22rem}.bank-total-cell{text-align:center;background:radial-gradient(circle at 50% 18%,#fff8ea2e,#0000 42%),#f9d77e1c;border-left:1px solid #fff8ea29;align-content:center;min-width:0}.bank-action-cell{border-left:1px solid #fff8ea29;align-content:center;min-width:0;position:relative}.bank-action-cell>button{color:#1f1b14;background:#f9d77e;justify-self:center;min-width:min(9rem,78%)}.sevens-status{letter-spacing:.08em;text-align:center;text-transform:uppercase;border-top:1px solid #fff8ea2e;border-radius:0 0 22px 22px;padding:.55rem .75rem;font-size:.86rem;font-weight:950}.sevens-status.safe{color:#1f1b14;background:linear-gradient(135deg,#f9d77e,#b9841f)}.sevens-status.danger{color:#fff8ea;background:linear-gradient(135deg,#6f1822,#bb2d3a)}.bank-player-menu{color:#1f1b14;z-index:5;background:#fffaf1;border:1px solid #3e2d1629;border-radius:18px;gap:.35rem;min-width:min(34rem,100vw - 1.5rem);padding:.55rem;display:grid;position:absolute;top:calc(100% - .35rem);right:.75rem;box-shadow:0 1rem 2.4rem #261c0f38}.bank-menu-header,.bank-player-option{grid-template-columns:minmax(6.5rem,1fr) 3.6rem 3.8rem 3.8rem 4.5rem;align-items:center;gap:.45rem;display:grid}.bank-menu-header{color:#6d6254;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .55rem .25rem;font-size:.66rem;font-weight:950}.bank-player-option{color:#1f1b14;text-align:left;background:#fffaf1;border:1px solid #d8c8ade6;border-radius:14px;min-height:52px;padding:.55rem}.bank-player-option:hover:not(:disabled){background:#f9efd9}.bank-player-option strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bank-player-option span{text-align:right;font-weight:850}.bank-player-option .rank-up,.bank-player-option .rank-same{text-align:center;border-radius:999px;padding:.22rem .38rem}.bank-player-option .rank-up{color:#1f6b45;background:#1f6b4524}.bank-player-option .rank-same{color:#5c4d3c;background:#6d62541f}.layout,.players{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.play-shell{grid-template-rows:auto auto auto minmax(0,1fr);height:100svh;overflow:hidden}.view-toggle{background:#e2d5be;border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.35rem;display:grid}.view-toggle button{min-height:44px}.dashboard-view,.scoreboard-view{gap:1rem;min-height:0;display:grid;overflow:hidden}.dashboard-view{grid-template-rows:auto minmax(0,1fr)}.dashboard-main-grid{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:1rem;min-height:0;display:grid}.dashboard-side-stack,.scoreboard-view{overflow:auto}.dashboard-side-stack{gap:1rem;min-height:0;display:grid}.section-title-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.compact-scoreboard,.compact-scoreboard ol{gap:.65rem;display:grid}.compact-scoreboard h2,.compact-scoreboard ol{margin:0}.compact-scoreboard ol{padding:0;list-style:none}.compact-scoreboard li{background:#fffaf1;border:1px solid #d8c8adcc;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .75rem;padding:.7rem;display:grid}.compact-scoreboard li.banked{border-color:#1f6b4573}.compact-scoreboard li.busted{opacity:.68}.compact-scoreboard li span{text-overflow:ellipsis;white-space:nowrap;font-weight:850;overflow:hidden}.compact-scoreboard li strong{color:#1f6b45;font-size:1.35rem}.compact-scoreboard li small{color:#6d6254;grid-column:1/-1}.setup,.controls,.history{gap:1rem;display:grid}.dashboard-main-grid>.controls{min-height:0;overflow:auto}.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.player-name-list{gap:.65rem;display:grid}.player-name-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.player-name-row>span{color:#fff8ea;background:#1f6b45;border-radius:999px;place-items:center;width:2rem;height:2rem;font-weight:900;display:grid}.order-buttons{gap:.3rem;display:flex}button.small{border-radius:12px;min-height:42px;padding:.45rem .65rem}.turn-order{background:#fffaf1;border:1px solid #d8c8ad;border-radius:18px;gap:.35rem;margin:0;padding:1rem 1rem 1rem 2.25rem;display:grid}.setup label{color:#5c4d3c;gap:.4rem;font-weight:700;display:grid}.radio-option{cursor:pointer;background:#fffaf1;border:1px solid #d8c8adcc;border-radius:16px;align-items:center;padding:.75rem;gap:.75rem!important;display:flex!important}.radio-option input{accent-color:#1f6b45;width:1.2rem;height:1.2rem}.radio-option span{gap:.15rem;display:grid}.radio-option strong{color:#1f1b14}textarea,input{color:#1f1b14;background:#fffaf1;border:1px solid #d8c8ad;border-radius:16px;padding:.75rem}.control-header,.button-row,.scoreline,.player>div:first-child{justify-content:space-between;align-items:center;gap:1rem;display:flex}.manual-roll{gap:1rem;display:grid}.manual-roll-prompt{color:#5c4d3c;margin:0;font-weight:850}.manual-total-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;display:grid}.manual-total-grid button{border-radius:18px;min-height:58px;padding:.6rem;font-size:1.25rem}.dice span.total-die{width:auto;min-width:4.4rem}.roll-on-screen-pinned{order:2;min-height:58px;margin-top:.25rem;font-size:1.08rem}.control-header h2,.player h3,.history h2,.setup h2{margin:0}.control-header p,.status,.history p{margin:.25rem 0 0}.roulette-history{color:#fff8ea;z-index:1;background:radial-gradient(circle at 8% 10%,#f9d77e3d,#0000 34%),linear-gradient(135deg,#07351d,#15582d 58%,#0b2a18);border:1px solid #f9d77e59;border-radius:22px;gap:.7rem;min-height:112px;padding:.8rem;display:grid;position:relative;overflow:visible;box-shadow:inset 0 0 0 1px #ffffff0f,0 .8rem 1.8rem #261c0f1f}.roulette-history-header{justify-content:space-between;align-items:baseline;gap:.55rem;display:flex}.roulette-history-header span{color:#f9d77e;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:950}.roulette-history-header strong{font-size:.95rem}.roulette-history ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;min-height:58px;margin:0;padding:0;list-style:none;display:grid}.roulette-history li{color:#1f1b14;text-align:center;background:linear-gradient(160deg,#fff8ea,#ead7b2);border:2px solid #fff8eac7;border-radius:16px;place-items:center;gap:.05rem;min-width:0;min-height:58px;padding:.45rem .35rem;display:grid;box-shadow:inset 0 -.18rem .45rem #261c0f29}.roulette-history li.bust{color:#fff8ea;background:linear-gradient(160deg,#301014,#9d1f2d);border-color:#ffc2c29e}.roulette-history li.safe-seven{background:linear-gradient(160deg,#f9d77e,#b9841f);border-color:#fff8eac7}.roulette-history li.empty{box-shadow:none;color:#fff8ea8f;background:#fff8ea14;border-color:#fff8ea2e}.roulette-history li span,.roulette-history li small{text-transform:uppercase;font-size:.68rem;font-weight:850;line-height:1}.roulette-history li strong{font-size:clamp(1.25rem,4vw,2rem);line-height:.95}.turn-dice-showcase{background:radial-gradient(circle at 18% 20%,#f9d77eb3,#0000 36%),linear-gradient(135deg,#fff8ea,#f4e4c5);border:2px solid #1f6b4538;border-radius:28px;grid-template-columns:minmax(8rem,1fr) auto;align-items:center;gap:1rem;padding:1rem;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff8c,0 1rem 2.2rem #261c0f1f}.turn-dice-showcase.is-rolling:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffffc7,#0000 62%);animation:.22s ease-in-out infinite alternate roll-flash;position:absolute;inset:-30%}.dice-copy{z-index:1;gap:.25rem;display:grid;position:relative}.dice-copy span{color:#8b5d1f;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:900}.dice-copy strong{color:#1f6b45;font-size:clamp(1.5rem,4vw,2.45rem);line-height:.95}.dice{perspective:900px;z-index:1;flex:none;justify-content:center;gap:1rem;display:flex;position:relative}.dice.dice-rolling{animation:.12s ease-in-out infinite alternate dice-tray-shake}.dice.dice-settling{animation:.42s cubic-bezier(.2,1.35,.32,1) both dice-tray-land}.dice span{background:linear-gradient(145deg,#fff 0%,#fff8ea 68%,#eadfc9 100%);border:5px solid #1f6b45f5;border-radius:26px;place-items:center;width:clamp(5.8rem,10vw,7.3rem);height:clamp(5.8rem,10vw,7.3rem);font-size:2.8rem;font-weight:900;display:grid;box-shadow:inset -.32rem -.38rem .7rem #563e1c33,inset .18rem .18rem .44rem #fffffff5,0 1rem 1.8rem #261c0f3d}.die-face{transform-style:preserve-3d;will-change:transform;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);padding:.9rem;transform:rotateX(0)rotateY(0)rotate(0)}.die-face.die-rolling{animation:.24s cubic-bezier(.36,1.18,.46,1) both die-tumble}.die-face.die-rolling.die-2{animation-name:die-tumble-reverse}.die-face.die-settling{animation:.42s cubic-bezier(.19,1.42,.35,1) both die-settle}.die-face.die-settling.die-2{animation-name:die-settle-reverse}.pip{background:0 0;border-radius:999px;place-self:center;width:clamp(.82rem,1.45vw,1.08rem);height:clamp(.82rem,1.45vw,1.08rem);transition:background 80ms,transform 80ms;display:block;transform:scale(.35)}.pip.visible{background:radial-gradient(circle at 35% 35%,#4a4134,#17130e 72%);transform:scale(1);box-shadow:inset .06rem .08rem .08rem #00000038,0 .02rem .04rem #fff6}@keyframes dice-tray-shake{0%{transform:rotate(-7deg)translate(-7px,5px)scale(1.03)}to{transform:rotate(7deg)translate(7px,-7px)scale(1.08)}}@keyframes roll-flash{0%{opacity:.1;transform:translate(-8%)rotate(-8deg)}to{opacity:.65;transform:translate(8%)rotate(8deg)}}@keyframes dice-tray-land{0%{transform:translateY(-.9rem)scale(1.06)}62%{transform:translateY(.28rem)scale(.98)}to{transform:translateY(0)scale(1)}}@keyframes die-tumble{0%{transform:translate(-.35rem,-.75rem)rotateX(0)rotateY(0)rotate(-18deg)scale(.94)}48%{transform:translate(.32rem,.22rem)rotateX(185deg)rotateY(125deg)rotate(22deg)scale(1.09)}to{transform:translate(-.12rem,-.08rem)rotateX(390deg)rotateY(210deg)rotate(-7deg)scale(1.02)}}@keyframes die-tumble-reverse{0%{transform:translate(.35rem,-.6rem)rotateX(0)rotateY(0)rotate(18deg)scale(.94)}48%{transform:translate(-.28rem,.2rem)rotateX(-175deg)rotateY(-135deg)rotate(-24deg)scale(1.09)}to{transform:translate(.12rem,-.08rem)rotateX(-390deg)rotateY(-210deg)rotate(7deg)scale(1.02)}}@keyframes die-settle{0%{transform:translateY(-1rem)rotate(-10deg)scale(1.08)}58%{transform:translateY(.22rem)rotate(5deg)scale(.96)}to{transform:translateY(0)rotate(0)scale(1)}}@keyframes die-settle-reverse{0%{transform:translateY(-.8rem)rotate(11deg)scale(1.08)}58%{transform:translateY(.22rem)rotate(-5deg)scale(.96)}to{transform:translateY(0)rotate(0)scale(1)}}.dice-overlay{color:#fff8ea;padding:max(1.1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));z-index:20;background:radial-gradient(circle at 28% 18%,#60be7947,#0000 30%),radial-gradient(circle at 68% 76%,#052a1873,#0000 38%),linear-gradient(135deg,#002612f7,#0c5b2dfa);grid-template-rows:auto minmax(0,1fr);align-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.dice-overlay.total{animation:1.15s ease-in forwards overlay-fade-home}.felt-grain{mix-blend-mode:soft-light;opacity:.5;pointer-events:none;background-image:radial-gradient(circle,#ffffff1f 0 1px,#0000 1.5px),repeating-linear-gradient(32deg,#ffffff0b 0 1px,#0000 1px 7px);background-size:18px 18px,100% 100%;position:absolute;inset:0}.overlay-copy{text-align:center;text-shadow:0 .25rem 1rem #00000052;z-index:1;justify-self:center;position:relative}.overlay-copy span{color:#f9d77e;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;font-weight:950}.overlay-copy strong{margin-top:.2rem;font-size:clamp(1.75rem,7vw,4.8rem);line-height:.95;display:block}.dice-table{perspective:1100px;z-index:1;place-items:center;min-height:22rem;display:grid;position:relative}.roll-total-reveal{opacity:0;pointer-events:none;text-align:center;text-shadow:0 .35rem 1.4rem #00000073;z-index:2;position:absolute;top:52%;left:50%;transform:translate(-50%,-42%)scale(.82)}.roll-total-reveal span{color:#f9d77e;letter-spacing:.18em;text-transform:uppercase;font-size:clamp(.9rem,3vw,1.4rem);font-weight:950;display:block}.roll-total-reveal strong{font-size:clamp(6rem,26vw,15rem);line-height:.8;display:block}.dice-overlay.total .roll-total-reveal{animation:1.15s ease-out forwards total-slow-reveal}.dice-overlay.total .dice-table,.dice-overlay.total .overlay-copy{animation:1.15s ease-out forwards dice-table-make-room}.dice-table:before{content:"";background:radial-gradient(#00000073,#0000 62%);border-radius:50%;width:min(76vw,34rem);height:min(52vw,20rem);position:absolute;top:52%;transform:translateY(-50%)}.cinematic-die{--die-size:clamp(4.7rem, 15vw, 7.8rem);animation:cinematic-die-path var(--roll-duration) cubic-bezier(.16, .76, .2, 1) forwards;height:var(--die-size);left:calc(50% - (var(--die-size) / 2));top:calc(50% - (var(--die-size) / 2));transform-style:preserve-3d;width:var(--die-size);will-change:transform;position:absolute}.die-cube{animation:cinematic-cube-spin var(--roll-duration) cubic-bezier(.16, .78, .18, 1) forwards;height:100%;transform-style:preserve-3d;width:100%;position:relative}.cube-face{backface-visibility:hidden;background:linear-gradient(145deg,#fff 0%,#fff9ee 62%,#d9ccb5 100%);border:clamp(3px,.8vw,6px) solid #f5efe2fa;border-radius:20%;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);padding:15%;display:grid;position:absolute;inset:0;box-shadow:inset -.35rem -.45rem .8rem #432d123d,inset .22rem .18rem .45rem #fffffff2}.cube-face .pip{width:clamp(.48rem,1.55vw,.9rem);height:clamp(.48rem,1.55vw,.9rem)}.cube-face-1{transform:translateZ(calc(var(--die-size) / 2))}.cube-face-2{transform:rotateY(90deg) translateZ(calc(var(--die-size) / 2))}.cube-face-3{transform:rotateX(90deg) translateZ(calc(var(--die-size) / 2))}.cube-face-4{transform:rotateX(-90deg) translateZ(calc(var(--die-size) / 2))}.cube-face-5{transform:rotateY(-90deg) translateZ(calc(var(--die-size) / 2))}.cube-face-6{transform:rotateY(180deg) translateZ(calc(var(--die-size) / 2))}@keyframes cinematic-die-path{0%{filter:blur(.6px);transform:translate3d(var(--start-x), var(--start-y), 10rem) rotateZ(-31deg) scale(.82)}21%{filter:blur(1px);transform:translate3d(var(--bounce-1-x), var(--bounce-1-y), 13rem) rotateZ(50deg) scale(1.14)}27%{filter:blur(.35px);transform:translate3d(calc(var(--bounce-1-x) * .94), calc(var(--bounce-1-y) + 2vh), 9rem) rotateZ(68deg) scale(1.05)}47%{filter:blur(.85px);transform:translate3d(var(--bounce-2-x), var(--bounce-2-y), 8rem) rotateZ(-42deg) scale(1.09)}50%{filter:blur(.25px);transform:translate3d(calc(var(--bounce-2-x) * .92), calc(var(--bounce-2-y) - 1vh), 5.5rem) rotateZ(-58deg) scale(1.01)}70%{filter:blur(.25px);transform:translate3d(var(--drift-x), var(--drift-y), 2.5rem) rotateZ(22deg) scale(1.02)}82%{filter:blur();transform:translate3d(calc(var(--end-x) + 2vw), calc(var(--end-y) + 1.35rem), 0) rotateZ(10deg) scale(.95)}89%{transform:translate3d(calc(var(--end-x) - 1vw), calc(var(--end-y) - .9rem), .7rem) rotateZ(calc(var(--land-rotation) * -.45)) scale(1.02)}95%{transform:translate3d(calc(var(--end-x) + .35vw), calc(var(--end-y) + .28rem), .12rem) rotateZ(calc(var(--land-rotation) * .65)) scale(.992)}to{filter:blur();transform:translate3d(var(--end-x), var(--end-y), 0) rotateZ(var(--land-rotation)) scale(1)}}@keyframes cinematic-cube-spin{0%{transform:rotateX(55deg)rotateY(-35deg)rotate(18deg)}24%{transform:rotateX(calc(var(--spin-x) * .34)) rotateY(calc(var(--spin-y) * .32)) rotateZ(calc(var(--spin-z) * .28))}50%{transform:rotateX(calc(var(--spin-x) * .67)) rotateY(calc(var(--spin-y) * .64)) rotateZ(calc(var(--spin-z) * -.58))}78%{transform:rotateX(var(--spin-x)) rotateY(var(--spin-y)) rotateZ(var(--spin-z))}90%{transform:rotateX(calc(var(--spin-x) * 1.08)) rotateY(calc(var(--spin-y) * 1.06)) rotateZ(calc(var(--spin-z) * 1.04))}96%{transform:rotateX(calc(var(--spin-x) * 1.11)) rotateY(calc(var(--spin-y) * 1.09)) rotateZ(calc(var(--spin-z) * 1.07))}to{transform:var(--final-facing)}}@keyframes total-slow-reveal{0%{opacity:0;transform:translate(-50%,-36%)scale(.74)}38%,72%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-56%)scale(1.05)}}@keyframes dice-table-make-room{0%,24%{opacity:1;transform:translateY(0)scale(1)}to{opacity:.26;transform:translateY(12vh)scale(.72)}}@keyframes overlay-fade-home{0%,72%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.035)}}.banner{color:#6d4511;background:#fff0cf;border-radius:18px;padding:.85rem;font-weight:750}.banner.win{color:#15582d;background:#d9f6df}.player{gap:.45rem;padding:.85rem 1rem;display:grid}.player-main-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.55rem;display:grid}.player-name-status{min-width:0}.player-name-status h3{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-bank-button{white-space:nowrap;min-height:40px;padding:.55rem .8rem}.player-score-row{justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.player-score-row .scoreline{justify-content:flex-start;gap:.35rem}.player-score-row .scoreline span{letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:850}.player.banked{border-color:#1f6b4573}.player.busted{opacity:.68}.scoreline strong{font-size:1.45rem;line-height:1}.scoreline strong.leader{color:#1f6b45}.scoreline.muted{color:#6d6254}.history ol{gap:.45rem;margin:0;padding-left:1.25rem;display:grid}@media (width<=720px){.shell{padding:max(.75rem, env(safe-area-inset-top)) .75rem max(1rem, env(safe-area-inset-bottom));gap:.75rem}.card{border-radius:22px;padding:1rem}.hero{flex-direction:column;align-items:stretch}.compact-hero{flex-direction:row;align-items:center}.hero h1{font-size:clamp(2.15rem,15vw,3.5rem)}.hero p{margin-bottom:0}.round-meter{aspect-ratio:auto;border-radius:22px;min-width:0;padding:.9rem}.compact-hero .round-meter{min-width:128px}.round-meter strong{font-size:3.5rem}.bank-game-logo{grid-template-columns:auto auto minmax(0,1fr);justify-content:start;align-items:end;gap:0 .45rem;line-height:.9;display:grid}.bank-game-logo .logo-dice{color:#1f6b45;letter-spacing:-.35rem;padding-right:.35rem;font-size:clamp(1.8rem,6vw,3rem)}.bank-game-logo strong{color:#101b12;letter-spacing:-.07em;font-size:clamp(2.5rem,11vw,5.2rem);font-weight:950}.bank-game-logo small{color:#8b5d1f;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.25rem;font-size:clamp(.85rem,3vw,1.2rem);font-weight:950}.bank-command-center{padding:.75rem}.bank-command-meta{align-items:start}.bank-command-meta h1{font-size:clamp(1.9rem,12vw,3rem)}.bank-game-logo{margin-bottom:1.4rem}.bank-roll-strip strong{font-size:clamp(2rem,9vw,2.85rem)}.bank-bar-main{grid-template-columns:repeat(3,minmax(0,1fr))}.last-roll-cell,.bank-total-cell,.bank-action-cell{min-height:76px;padding:.6rem .5rem}.bank-action-cell{min-width:0}.bank-total-cell strong{font-size:clamp(4rem,18vw,6.2rem)}.bank-action-cell>button{min-width:74px;padding-inline:.7rem}.bank-player-menu{min-width:0;left:.5rem;right:.5rem}.bank-menu-header,.bank-player-option{grid-template-columns:minmax(5.5rem,1fr) 2.7rem 3.1rem 3.1rem 3.8rem;gap:.25rem}.bank-menu-header{padding-inline:.35rem;font-size:.58rem}.bank-player-option{padding:.5rem .35rem;font-size:.86rem}.layout,.players,.setup-grid,.dashboard-main-grid{grid-template-columns:1fr}.dashboard-main-grid{overflow:auto}.dashboard-main-grid>.controls,.dashboard-side-stack{overflow:visible}.splash-shell,.narrow-shell{place-content:stretch;min-height:100svh}.controls{top:max(.5rem, env(safe-area-inset-top));z-index:2;position:sticky}.button-row{flex-direction:column;align-items:stretch}.primary-actions button:first-child{min-height:58px;font-size:1.2rem}.control-header{grid-template-columns:1fr;align-items:stretch;display:grid}.roulette-history{gap:.5rem;min-height:104px;padding:.65rem}.roulette-history ol{overscroll-behavior-x:contain;scrollbar-width:none;gap:.35rem;min-height:54px;padding-bottom:.05rem;display:flex;overflow-x:auto}.roulette-history ol::-webkit-scrollbar{display:none}.roulette-history li{border-radius:13px;flex:0 0 66px;min-height:54px;padding:.4rem .2rem}.turn-dice-showcase{grid-template-columns:1fr;padding:.85rem}.dice{gap:1rem;width:100%}.dice span{border-radius:22px;width:clamp(5.4rem,28vw,6.7rem);height:clamp(5.4rem,28vw,6.7rem)}.pip{width:clamp(.76rem,3.5vw,.98rem);height:clamp(.76rem,3.5vw,.98rem)}.manual-total-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.player{gap:.45rem;padding:.75rem .8rem}.player button,.setup button,.manual-roll button,.splash-actions button,.ready-card button{width:100%}.player .player-bank-button{width:auto}textarea,input{font-size:16px}}@media (width<=420px){.control-header,.scoreline,.player>div:first-child{gap:.5rem}.player-main-row,.player-score-row{gap:.45rem}.history{font-size:.95rem}}.bank-roll-strip li.double{color:#1f1b14;background:linear-gradient(160deg,#fff3a6,#f4a93c 48%,#d95b8a)}.last-roll-cell.double strong{color:#f9d77e;letter-spacing:.03em;text-shadow:0 0 1rem #f9d77e6b;font-size:clamp(1.45rem,5vw,2.6rem)}.dice-overlay.double-roll{background:radial-gradient(circle at 18% 22%,#f9d77e5c,#0000 28%),radial-gradient(circle at 76% 28%,#ee628f47,#0000 30%),radial-gradient(circle at 68% 76%,#052a1873,#0000 38%),linear-gradient(135deg,#002612fa,#0d6f39fa)}.dice-overlay.double-roll.total,.dice-overlay.double-roll.total .roll-total-reveal,.dice-overlay.double-roll.total .dice-table,.dice-overlay.double-roll.total .overlay-copy{animation-duration:2.9s}.dice-overlay.double-roll .roll-total-reveal strong{color:#f9d77e;text-shadow:0 0 1.4rem #f9d77e75,0 .35rem 1.4rem #00000073}.double-celebration{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.double-celebration i{--burst-angle:calc(var(--burst-index) * 16.36deg);opacity:0;height:.7rem;transform:rotate(var(--burst-angle)) translateY(0) scale(.7);will-change:transform, opacity;background:#f9d77e;border-radius:999px;width:.28rem;animation:2.35s cubic-bezier(.16,.78,.18,1) forwards double-confetti;position:absolute;top:49%;left:50%}.double-celebration i:nth-child(3n){background:#fff8ea;border-radius:2px}.double-celebration i:nth-child(3n+1){background:#ee628f}.double-celebration i:nth-child(4n){width:.42rem;height:.42rem}@keyframes double-confetti{0%{opacity:0;transform:rotate(var(--burst-angle)) translateY(0) scale(.4)}18%{opacity:1}72%{opacity:.95}to{opacity:0;transform:rotate(var(--burst-angle)) translateY(-46vmin) rotate(540deg) scale(1)}}@media (prefers-reduced-motion:reduce){.double-celebration i{opacity:0;animation:none}}.round-end-overlay{color:#fff8ea;padding:max(1.1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));z-index:30;background:radial-gradient(circle at 28% 18%,#9d1f2d5c,#0000 30%),radial-gradient(circle at 70% 72%,#052a188c,#0000 38%),linear-gradient(135deg,#26070afa,#560811fa);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.round-end-overlay.no-bust{background:radial-gradient(circle at 28% 18%,#f9d77e38,#0000 30%),radial-gradient(circle at 70% 72%,#052a1880,#0000 38%),linear-gradient(135deg,#002612fa,#0c5b2dfa)}.round-end-overlay.is-final{background:radial-gradient(circle at 20% 18%,#f9d77e57,#0000 28%),radial-gradient(circle at 78% 24%,#ee628f3d,#0000 30%),radial-gradient(circle at 70% 76%,#052a187a,#0000 38%),linear-gradient(135deg,#002612fa,#0d6f39fa)}.bust-sequence{pointer-events:none;text-align:center;text-shadow:0 .4rem 1.5rem #00000085;z-index:1;place-items:center;display:grid;position:absolute;inset:0}.bust-label{color:#ffdad8;letter-spacing:.1em;opacity:0;font-size:clamp(2.4rem,13vw,7rem);font-weight:1000;animation:2.25s step-end forwards bust-label-flash;transform:translateY(-20vmin)rotate(-4deg)}.bust-seven,.bust-zero{grid-area:1/1;font-size:clamp(10rem,44vw,28rem);font-style:normal;font-weight:1000;line-height:.72}.bust-seven{color:#ff2b2b;animation:3.05s step-end forwards bust-seven-flash}.bust-zero{color:#fff8ea;opacity:0;text-shadow:0 0 2rem #ff2b2b73,0 .4rem 1.5rem #00000085;animation:3.7s ease-out forwards bust-zero-reveal;transform:scale(.82)}.round-summary-card{color:#1f1b14;opacity:0;z-index:2;background:#fffcf6f5;border:1px solid #f9d77e47;border-radius:30px;gap:1rem;width:100%;max-width:min(42rem,100vw - 1.5rem);padding:clamp(1rem,4vw,1.6rem);animation:.72s cubic-bezier(.16,.8,.22,1) 3.25s both round-summary-enter;display:grid;position:relative;transform:translateY(1rem)scale(.96);box-shadow:0 2rem 5rem #00000057}.round-end-overlay.no-bust .round-summary-card{animation-delay:.12s}.round-summary-card h1{margin:0;font-size:clamp(2rem,8vw,4.2rem);line-height:.9}.round-summary-leaderboard{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.round-summary-leaderboard li{background:#fffaf1;border:1px solid #d8c8ade6;border-radius:18px;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.75rem .85rem;display:grid}.round-summary-leaderboard li.winner{background:linear-gradient(135deg,#fff8dc,#f9d77e);border-color:#1f6b4580;animation:1.2s ease-in-out infinite alternate winner-pulse;box-shadow:0 .8rem 1.8rem #b9841f38}.round-summary-leaderboard span{color:#8b5d1f;font-weight:950}.round-summary-leaderboard strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.round-summary-leaderboard em{color:#1f6b45;font-size:1.45rem;font-style:normal;font-weight:1000}.round-summary-card button{justify-self:stretch;margin-top:.15rem}@keyframes bust-label-flash{0%,18%,36%,54%{opacity:1}9%,27%,45%,63%,to{opacity:0}}@keyframes bust-seven-flash{0%,16%,32%,48%,64%{opacity:1;transform:scale(1)rotate(-2deg)}8%,24%,40%,56%{opacity:.16;transform:scale(1.08)rotate(2deg)}72%,to{opacity:0;transform:scale(1.18)}}@keyframes bust-zero-reveal{0%,72%{opacity:0;transform:scale(.82)}83%{opacity:1;transform:scale(1.14)}to{opacity:1;transform:scale(1)}}@keyframes round-summary-enter{to{opacity:1;transform:translateY(0)scale(1)}}@keyframes winner-pulse{0%{transform:translateY(0)scale(1)}to{transform:translateY(-2px)scale(1.015)}}@media (prefers-reduced-motion:reduce){.bust-label,.bust-seven,.bust-zero,.round-summary-card,.round-summary-leaderboard li.winner{opacity:1;animation:none;transform:none}.round-end-overlay.is-bust .round-summary-card{margin-top:12rem}}
