: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}.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}.layout,.players{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.setup,.controls,.history{gap:1rem;display:grid}.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}.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:90ms 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:.21s cubic-bezier(.34,1.56,.64,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)}}.banner{color:#6d4511;background:#fff0cf;border-radius:18px;padding:.85rem;font-weight:750}.banner.win{color:#15582d;background:#d9f6df}.player{gap:1rem;display:grid}.player.banked{border-color:#1f6b4573}.player.busted{opacity:.68}.scoreline strong{font-size:2rem}.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}.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}.round-meter strong{font-size:3.5rem}.layout,.players,.setup-grid{grid-template-columns:1fr}.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}.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:.75rem}.player button,.setup button,.manual-roll button,.splash-actions button,.ready-card button{width:100%}textarea,input{font-size:16px}}@media (width<=420px){.control-header,.scoreline,.player>div:first-child{gap:.5rem}.history{font-size:.95rem}}
