:root{font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif;color:#fff8df;background:#5a2b13;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--wood-dark: #3f1c0c;--wood: #7b3c19;--wood-light: #a95e29;--cream: #fff1bf;--cream-deep: #d79845;--ink: #2b170b;--muted: #f5d99b;--blue: #0877c9;--red: #d43a2a;--green: #079842;--yellow: #e0a317;--shadow: rgba(24, 10, 4, .55);--thin-line: rgba(117, 64, 23, .58);--thick-line: rgba(104, 52, 18, .9);--app-viewport-height: 100vh}@supports (height: 100dvh){:root{--app-viewport-height: 100dvh}}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overscroll-behavior:none;background:#5a2b13}body{min-height:var(--app-viewport-height);color:#fff8df;overflow:hidden}#root{position:relative;width:100vw;height:var(--app-viewport-height);min-height:100%;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}.boot-loader,.splash-screen,.setup-screen,.game-shell{min-height:var(--app-viewport-height);background:radial-gradient(circle at 24% 16%,rgba(255,213,135,.18),transparent 28rem),linear-gradient(90deg,rgba(52,22,8,.18) 0 1px,transparent 1px 16px),linear-gradient(180deg,#8a451d,#5b2b12 46%,#35160a)}.setup-screen,.game-shell{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.boot-loader,.splash-screen{display:grid;place-items:center;padding:2rem}.boot-loader img,.splash-mark img{width:min(84vw,34rem);filter:drop-shadow(0 1.2rem 1.8rem rgba(0,0,0,.35))}.splash-screen{gap:1rem}.splash-mark{animation:floatIn .65s ease-out both}.splash-dice{display:flex;gap:.8rem}.loader-die{width:2.1rem;aspect-ratio:1;border-radius:.5rem;box-shadow:inset .12rem .18rem #ffffff73,0 .6rem 1rem #00000052;animation:bounceDie .76s ease-in-out infinite alternate}.loader-die-blue{background:var(--blue)}.loader-die-red{background:var(--red);animation-delay:.12s}.setup-screen{display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom))}.setup-panel,.menu-panel{width:min(100%,30rem);border:.12rem solid rgba(255,226,161,.34);border-radius:1.25rem;background:linear-gradient(145deg,rgba(255,209,128,.18),transparent 34%),linear-gradient(180deg,#4d1e0af0,#281007f5);box-shadow:0 1.2rem 3rem #00000061,inset 0 .08rem #ffffff29;padding:1.25rem}.setup-logo,.menu-panel img{display:block;width:min(88%,22rem);margin:0 auto .75rem;filter:drop-shadow(0 .7rem .9rem rgba(0,0,0,.32))}h1,h2,p{margin:0}.setup-panel h1,.menu-panel h2{color:#fff8db;font-size:1.65rem;line-height:1.12;text-align:center;text-shadow:0 .16rem 0 rgba(0,0,0,.38)}.setup-copy,.menu-panel p{margin-top:.6rem;color:var(--muted);line-height:1.35;text-align:center}.count-selector,.setup-actions{display:flex;gap:.55rem;margin-top:1rem}.count-selector button,.primary-button,.secondary-button{min-height:2.8rem;border:0;border-radius:.85rem;color:#fff7d8;font-weight:800;box-shadow:inset 0 .12rem #ffffff40,0 .55rem .9rem #00000047}.count-selector button{flex:1;background:linear-gradient(180deg,#9b5a2b,#5a260d)}.count-selector button.is-active,.primary-button{background:linear-gradient(180deg,#f5be29,#b66c08);color:#321708}.secondary-button{background:linear-gradient(180deg,#8b4b26,#4f210d)}.setup-actions button{flex:1}.profile-gate-form{margin-top:1rem}.home-screen{place-items:start center}.home-panel{width:min(100%,34rem);margin-block:auto}.home-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem;margin-top:1.1rem}.home-action-button{position:relative;display:grid;align-content:center;gap:.28rem;min-width:0;min-height:6rem;border:.1rem solid rgba(255,226,161,.26);border-radius:.9rem;background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 42%),linear-gradient(180deg,#401808fa,#1b0a04f5);box-shadow:inset 0 .08rem #ffffff21,0 .6rem 1rem #00000040;color:#fff8dc;padding:.82rem;text-align:left}.home-action-button:before{content:"";position:absolute;inset:.54rem auto .54rem .54rem;width:.28rem;border-radius:999px;background:var(--cream-deep)}.home-action-button strong,.home-action-button span{display:block;min-width:0;overflow:hidden;padding-left:.52rem;text-overflow:ellipsis;white-space:nowrap}.home-action-button strong{font-size:1.05rem;font-weight:950;line-height:1.08}.home-action-button span{color:var(--muted);font-size:.78rem;font-weight:800}.home-action-button.is-local:before{background:var(--blue)}.home-action-button.is-online:before{background:var(--green)}.home-action-button.is-friends:before{background:var(--yellow)}.home-action-button.is-settings:before{background:var(--red)}.home-alert-badge{position:absolute;top:.48rem;right:.48rem;display:grid;place-items:center;width:1.55rem;height:1.55rem;border:.1rem solid #fff6d0;border-radius:50%;background:linear-gradient(180deg,#f9d743,#d92b18);color:#2d1307;font-size:1rem;font-weight:950;line-height:1;box-shadow:0 .3rem .7rem #00000057}.tabletop-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.85rem;min-height:3rem;margin-top:1rem;border:.1rem solid rgba(255,226,161,.24);border-radius:.85rem;background:#230d0575;color:#fff4c5;font-weight:950;padding:.5rem .72rem .5rem .86rem;box-shadow:inset 0 .08rem #ffffff1f}.tabletop-toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-track{position:relative;flex:0 0 auto;width:3.25rem;height:1.7rem;border:.08rem solid rgba(255,240,188,.26);border-radius:999px;background:linear-gradient(180deg,#52210d,#260d04);box-shadow:inset 0 .16rem .28rem #0000005c}.toggle-track span{position:absolute;top:.18rem;left:.2rem;width:1.24rem;aspect-ratio:1;border-radius:999px;background:linear-gradient(180deg,#fff5cc,#d79845);box-shadow:0 .12rem .22rem #00000057;transition:transform .14s ease}.tabletop-toggle.is-active .toggle-track{background:linear-gradient(180deg,#f5be29,#8d4c06)}.tabletop-toggle.is-active .toggle-track span{transform:translate(1.38rem)}.tabletop-toggle input:focus-visible+.toggle-track{outline:.18rem solid #fff3a6;outline-offset:.14rem}.setup-warning{margin-top:.64rem;border:.08rem solid rgba(255,223,154,.24);border-radius:.72rem;background:#260d048a;color:#ffd98a;font-size:.82rem;font-weight:800;line-height:1.3;padding:.62rem .72rem;text-align:center}.game-shell{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:.72rem;width:min(100%,34rem);height:var(--app-viewport-height);min-height:var(--app-viewport-height);margin:0 auto;padding:max(.7rem,env(safe-area-inset-top)) .75rem max(.75rem,env(safe-area-inset-bottom));box-shadow:0 0 3rem #00000057}.game-header{position:relative;z-index:70;display:grid;grid-template-columns:2.8rem 1fr 3.2rem;align-items:center;gap:.55rem}.game-logo{justify-self:center;width:min(58vw,13.8rem);max-height:4.8rem;object-fit:contain;filter:drop-shadow(0 .55rem .75rem rgba(0,0,0,.35))}.round-icon,.new-game-chip{min-height:2.6rem;border:.1rem solid rgba(255,219,145,.38);border-radius:999px;background:linear-gradient(180deg,#9f5b2c,#55220d);color:#fff0bf;box-shadow:inset 0 .12rem #ffffff38,0 .35rem .7rem #00000047}.round-icon{display:grid;place-content:center;gap:.25rem;padding:0}.round-icon span{display:block;width:1.18rem;height:.15rem;border-radius:999px;background:currentColor}.new-game-chip{font-size:.88rem;font-weight:900}.player-dot{display:inline-block;width:.78rem;aspect-ratio:1;border:.12rem solid rgba(255,255,255,.42);border-radius:999px;box-shadow:inset 0 .1rem #ffffff73,0 .18rem .25rem #00000052}.dot-blue{background:var(--blue)}.dot-red{background:var(--red)}.dot-green{background:var(--green)}.dot-yellow{background:var(--yellow)}.opponent-tray-zone{display:grid;gap:var(--opponent-tray-gap, .34rem)}.opponent-tray-row{--opponent-color: var(--cream-deep);--rail-accent: var(--opponent-color);display:grid;grid-template-columns:minmax(3.9rem,max-content) minmax(0,1fr);align-items:center;gap:clamp(.32rem,1.8vw,.62rem);width:min(100%,23.2rem);max-width:100%;min-width:0;justify-self:end}.opponent-tray-row strong{color:var(--opponent-color);font-size:clamp(.92rem,3vw,1.12rem);font-weight:950;line-height:1;text-shadow:0 .08rem 0 rgba(0,0,0,.44);white-space:nowrap}.player-name-stack{display:inline-flex;flex-direction:column;justify-content:center}.player-name-stack.is-bot{gap:.12rem}.bot-difficulty-label{color:color-mix(in srgb,currentColor,#fff8dc 38%);font-size:.62em;font-weight:850;line-height:1}.opponent-tray-row.is-active-player strong{color:color-mix(in srgb,var(--opponent-color),#fff5c4 32%);text-shadow:0 .08rem 0 rgba(0,0,0,.44),0 0 .5rem color-mix(in srgb,var(--opponent-color),white 30%)}.opponent-tray-row.is-active-player .opponent-dice-rail{border-color:color-mix(in srgb,var(--opponent-color),white 42%);box-shadow:inset 0 .22rem .45rem #0000006b,inset 0 -.08rem color-mix(in srgb,var(--opponent-color),white 12%),0 0 0 .12rem color-mix(in srgb,var(--opponent-color),transparent 54%),0 0 .8rem color-mix(in srgb,var(--opponent-color),white 18%)}.opponent-blue{--opponent-color: var(--blue)}.opponent-red{--opponent-color: var(--red)}.opponent-green{--opponent-color: var(--green)}.opponent-yellow{--opponent-color: var(--yellow)}.board-wrap{align-self:center;box-sizing:border-box;display:grid;width:100%;aspect-ratio:1;border-radius:1.1rem;background:linear-gradient(90deg,rgba(100,55,19,.12) 0 1px,transparent 1px 1.5rem),linear-gradient(180deg,#f4d497,#dca65a);box-shadow:inset 0 0 0 .38rem #ffdf9a6b,inset 0 0 0 .72rem #6c36123d,0 0 0 .25rem var(--active-player-color),0 0 1.05rem color-mix(in srgb,var(--active-player-color),white 24%),0 .9rem 1.4rem #00000057;padding:.62rem}.board-grid{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));width:100%;aspect-ratio:1;border-radius:.55rem;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.1),transparent),#f1cf8a}.board-cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;width:100%;height:100%;border:0;border-top:.075rem solid var(--thin-line);border-left:.075rem solid var(--thin-line);background:transparent;padding:.12rem}.board-cell:disabled{cursor:default;opacity:1}.board-wrap.is-readonly .die-face{cursor:default}.board-cell.thick-top{border-top-width:.18rem;border-top-color:var(--thick-line)}.board-cell.thick-left{border-left-width:.18rem;border-left-color:var(--thick-line)}.board-cell.thick-right{border-right:.18rem solid var(--thick-line)}.board-cell.thick-bottom{border-bottom:.18rem solid var(--thick-line)}.board-cell.has-conflict{background:#de2d1e29}.completion-highlight-segment{--completion-trace-width: .22rem;--completion-outline-color: color-mix(in srgb, var(--completion-color), white 34%);position:absolute;z-index:4;top:calc(var(--completion-row) * 100% / 6);left:calc(var(--completion-col) * 100% / 6);width:calc(var(--completion-col-span) * 100% / 6);height:calc(var(--completion-row-span) * 100% / 6);border-radius:.52rem;background:linear-gradient(var(--completion-outline-color),var(--completion-outline-color)) left top / 0 var(--completion-trace-width) no-repeat,linear-gradient(var(--completion-outline-color),var(--completion-outline-color)) right top / var(--completion-trace-width) 0 no-repeat,linear-gradient(var(--completion-outline-color),var(--completion-outline-color)) right bottom / 0 var(--completion-trace-width) no-repeat,linear-gradient(var(--completion-outline-color),var(--completion-outline-color)) left bottom / var(--completion-trace-width) 0 no-repeat;box-shadow:inset 0 0 .64rem color-mix(in srgb,var(--completion-color),transparent 42%),0 0 .45rem color-mix(in srgb,var(--completion-color),white 28%),0 0 1.35rem color-mix(in srgb,var(--completion-color),transparent 22%);pointer-events:none;animation:completionTraceClockwise .78s ease-out both;animation-delay:var(--completion-trace-delay, 0ms)}.completion-highlight-segment.is-dice-outline{top:calc((var(--completion-row) * 100% / 6) + (100% / 6 * .1));left:calc((var(--completion-col) * 100% / 6) + (100% / 6 * .1));width:calc(100% / 6 * .8);height:calc(100% / 6 * .8);border-radius:24%}.completion-bonus-pop{--reward-facing-rotate: 0deg;position:absolute;z-index:5;top:50%;left:50%;min-width:min(82%,12rem);border:.16rem solid color-mix(in srgb,var(--completion-color),white 42%);border-radius:.82rem;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.34),transparent 55%),linear-gradient(180deg,color-mix(in srgb,var(--completion-color),white 22%),color-mix(in srgb,var(--completion-color),black 18%));color:#fff9d9;font-size:clamp(1.5rem,7vw,2.75rem);font-weight:950;line-height:1;padding:.58rem .82rem .64rem;text-align:center;text-shadow:0 .12rem 0 rgba(0,0,0,.4),0 0 .45rem color-mix(in srgb,var(--completion-color),white 34%);box-shadow:inset 0 .14rem #ffffff47,inset 0 -.16rem #00000029,0 .45rem .9rem #00000057,0 0 1.4rem color-mix(in srgb,var(--completion-color),white 18%);pointer-events:none;transform:translate(-50%,-50%) rotate(var(--reward-facing-rotate));animation:completionBonusPop .98s cubic-bezier(.2,.86,.22,1) both}.completion-bonus-pop.faces-top{--reward-facing-rotate: 180deg}.completion-bonus-pop.faces-left{--reward-facing-rotate: 90deg}.completion-bonus-pop.faces-right{--reward-facing-rotate: -90deg}.die-face{--die-color: var(--blue);position:relative;display:inline-block;box-sizing:border-box;width:min(82%,3.1rem);aspect-ratio:1;border-radius:22%;touch-action:none;-webkit-user-select:none;user-select:none;transform:perspective(12rem) rotateX(9deg);transform-origin:50% 72%;transform-style:preserve-3d;transition:transform .14s ease,filter .14s ease,outline-color .14s ease}.die-face-depth{position:absolute;top:7%;right:4%;bottom:-12%;left:4%;border:clamp(.055rem,.11em,.085rem) solid color-mix(in srgb,var(--die-color),black 34%);border-radius:23%;background:linear-gradient(90deg,color-mix(in srgb,var(--die-color),black 34%),color-mix(in srgb,var(--die-color),black 17%) 48%,color-mix(in srgb,var(--die-color),black 39%)),var(--die-color);box-shadow:inset 0 -.1rem .12rem #00000047,inset .08rem 0 .08rem #ffffff1f,0 .35rem .42rem #00000061;pointer-events:none;transform:translateY(.08rem) scaleX(.97)}.die-face-surface{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);border:clamp(.06rem,.12em,.09rem) solid color-mix(in srgb,var(--die-color),white 22%);border-bottom-color:color-mix(in srgb,var(--die-color),black 28%);border-radius:22%;background:radial-gradient(ellipse at 29% 14%,rgba(255,255,255,.72) 0 4%,rgba(255,255,255,.25) 12%,transparent 27%),linear-gradient(145deg,rgba(255,255,255,.2),transparent 38%),linear-gradient(160deg,color-mix(in srgb,var(--die-color),white 9%),var(--die-color) 54%,color-mix(in srgb,var(--die-color),black 21%));box-shadow:inset .13rem .15rem .15rem #ffffff45,inset -.16rem -.2rem .15rem #0000003b,inset 0 0 .18rem #ffffff17,0 .1rem .08rem color-mix(in srgb,var(--die-color),black 32%);padding:18%;pointer-events:none}.die-face.is-compact{width:min(100%,var(--compact-die-size, 2.55rem));max-width:100%}.die-face.is-placeholder{opacity:1;filter:none;transform:none}.die-face.is-placeholder .die-face-depth{display:none}.die-face.is-placeholder .die-face-surface{top:10%;right:10%;bottom:10%;left:10%;border:0;background:none;box-shadow:none}.die-face.is-placeholder .pip{background:#5830155c;box-shadow:inset .045rem .055rem .065rem #2d1407b8,.035rem .04rem #ffebbe47}.die-face.is-selected{outline:.18rem solid #fff5af;transform:perspective(12rem) translateY(-.12rem) rotateX(9deg) rotate(-2deg) scale(1.02)}.die-face.is-conflicted{filter:drop-shadow(0 0 .35rem rgba(255,31,16,.9));outline:.16rem solid #ffef5f}.die-face.recent-blue{--recent-color: var(--blue)}.die-face.recent-red{--recent-color: var(--red)}.die-face.recent-green{--recent-color: var(--green)}.die-face.recent-yellow{--recent-color: var(--yellow)}.die-face.is-recent-move:after{position:absolute;top:-.34rem;right:-.34rem;bottom:-.34rem;left:-.34rem;border:.18rem solid var(--recent-color);border-radius:30%;box-shadow:0 0 0 .06rem #2b170b73,0 0 .56rem color-mix(in srgb,var(--recent-color),white 30%);content:"";pointer-events:none}.die-face.is-dragging-source,.tray-die.is-dragging-source{visibility:hidden}.die-lock-icon{position:absolute;z-index:3;top:-13%;right:-13%;display:grid;width:47%;aspect-ratio:1;place-items:center;border:.08rem solid rgba(255,241,191,.92);border-radius:999px;background:linear-gradient(145deg,#431f0cfa,#1f0c05fa);color:#fff1bf;box-shadow:inset .06rem .08rem #ffffff2e,0 .1rem .22rem #14080394;pointer-events:none}.die-lock-icon svg{display:block;width:72%;height:72%;overflow:visible}.die-lock-icon path:first-child{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2.35}.die-lock-icon rect{fill:currentColor}.die-lock-icon circle{fill:var(--ink)}.die-lock-icon .die-lock-keyway{fill:none;stroke:var(--ink);stroke-linecap:round;stroke-width:1.7}.die-multiplier{position:absolute;right:-.34rem;bottom:-.3rem;display:grid;place-items:center;min-width:1.58rem;height:1.58rem;border:.08rem solid rgba(80,31,7,.44);border-radius:999px;background:linear-gradient(180deg,#fff7be,#eeb54a);color:#351607;font-size:1.24rem;font-weight:950;line-height:.95;padding:0 .28rem;box-shadow:0 .1rem .18rem #00000057;text-shadow:none;white-space:nowrap;z-index:2}.die-p1{--die-color: var(--blue)}.die-p2{--die-color: var(--red)}.die-p3{--die-color: var(--green)}.die-p4{--die-color: var(--yellow)}.pip{align-self:center;justify-self:center;width:72%;aspect-ratio:1;border-radius:999px;background:radial-gradient(circle at 34% 28%,#fff 0,#fff 18%,#fffdf3 54%,#d8d3c3);box-shadow:-.025rem -.035rem .035rem #ffffffad,inset 0 .055rem .075rem #0000002e,0 .045rem .055rem #260e036b}.side-stack{display:grid;gap:.62rem}.control-dock{display:grid;gap:.62rem;padding:0}.dice-tray{--tray-player-color: var(--cream-deep);display:grid;justify-self:end;gap:0;width:min(100%,21.4rem);min-width:0}.floating-reroll-tray{position:fixed;z-index:65;box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.42rem;width:min(26rem,calc(100vw - 1.25rem));height:min(26rem,calc(100vw - 1.25rem));min-height:0;border:.16rem dashed rgba(104,52,18,.82);border-radius:.9rem;background:linear-gradient(90deg,rgba(100,55,19,.12) 0 1px,transparent 1px 1.5rem),linear-gradient(180deg,#f4d497,#dca65a);box-shadow:inset 0 0 0 .12rem #ffefc66b,inset 0 0 0 .34rem #6c361224,0 .6rem 1.35rem #0000007a;padding:.58rem .68rem .68rem;pointer-events:auto}.floating-reroll-tray.is-tabletop{transform-origin:top left}.floating-reroll-tray.tabletop-facing-top{transform:rotate(180deg)}.floating-reroll-tray.tabletop-facing-left{transform:rotate(90deg)}.floating-reroll-tray.tabletop-facing-right{transform:rotate(-90deg)}.floating-reroll-tray>strong{position:relative;z-index:3;color:#3f1c0c;font-size:clamp(.72rem,2.4vw,.9rem);font-weight:950;line-height:1.1;text-align:center;text-shadow:0 .06rem 0 rgba(255,244,207,.72)}.floating-reroll-tray.is-empty{place-content:center}.floating-reroll-tray.is-empty>strong{max-width:20rem;font-size:clamp(1.15rem,5vw,1.5rem);line-height:1.2}.floating-reroll-tray.is-empty .reroll-tray-dice{display:none}.reroll-tray-dice{display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;gap:.34rem;min-height:2.75rem}.reroll-tray-dice.has-3d-roll{position:absolute;top:-10%;right:0;bottom:-10%;left:0;z-index:1;display:block;width:auto;height:auto;min-height:0;overflow:visible;border:0;border-radius:.48rem;background:transparent;box-shadow:none;pointer-events:none}.reroll-3d-stage,.reroll-3d-canvas{display:block;width:100%;height:100%}.reroll-3d-stage{position:relative;overflow:visible;border-radius:inherit}.reroll-3d-canvas{touch-action:none}.reroll-3d-loading{width:100%;height:100%;background:radial-gradient(circle at 84% 52%,rgba(8,120,214,.2),transparent 16%),transparent}.reroll-3d-suspense-dice{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:clamp(.12rem,1vw,.35rem);pointer-events:none}.reroll-3d-suspense-dice .die-face{width:clamp(2.25rem,13%,3.35rem);height:auto;aspect-ratio:1;flex:0 0 auto}.reroll-3d-loading-dice{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:clamp(.12rem,1vw,.35rem);pointer-events:none}.reroll-3d-loading-die-fallback{display:block;width:clamp(2.25rem,13%,3.35rem);aspect-ratio:1;flex:0 0 auto}.reroll-3d-loading-die-fallback{display:grid;place-items:center;border-radius:24%;color:#fff8df;background:var(--fallback-die-color);box-shadow:-.12rem .14rem .2rem #35150666;font-weight:900}.reroll-3d-fallback{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:.35rem;background:#f1cf8a;padding:.5rem}.reroll-3d-fallback span{display:grid;width:2.3rem;aspect-ratio:1;place-items:center;border-radius:.52rem;background:var(--fallback-die-color);color:#fff3c4;font-weight:950;box-shadow:inset .12rem .16rem #ffffff47,0 .22rem .3rem #3718084d}.reroll-tray-die{display:grid;place-items:center;flex:0 0 clamp(2rem,8vw,2.55rem);width:clamp(2rem,8vw,2.55rem);border:0;border-radius:.62rem;background:transparent;padding:0;touch-action:none}.reroll-tray-die:disabled{opacity:1}.reroll-tray-die .die-face{width:100%;max-width:none}.floating-reroll-tray.is-gathering .reroll-tray-die{animation:rerollDieGather .52s cubic-bezier(.2,.82,.3,1) both;animation-delay:calc(var(--reroll-die-index) * -18ms)}.floating-reroll-tray.is-rolling .reroll-tray-die{animation:rerollDieTumble .36s ease-in-out infinite;animation-delay:calc(var(--reroll-die-index) * -54ms)}.floating-reroll-tray.is-landed .reroll-tray-die{animation:rerollDieLand .26s cubic-bezier(.18,.9,.3,1.25) both;animation-delay:calc(var(--reroll-die-index) * -10ms)}.floating-reroll-tray.is-return-preparing,.floating-reroll-tray.is-returning{pointer-events:none}.floating-reroll-tray.is-return-preparing>strong,.floating-reroll-tray.is-returning>strong{opacity:0}.floating-reroll-tray.is-return-preparing .reroll-tray-die{opacity:0}.floating-reroll-tray.is-returning .reroll-tray-die{animation:rerollDieReturn .56s cubic-bezier(.28,.72,.22,1) both;animation-delay:0ms;will-change:transform}@keyframes rerollDieGather{0%{opacity:.72;transform:translate(var(--reroll-die-return-x, var(--reroll-return-x)),var(--reroll-die-return-y, var(--reroll-return-y))) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rerollDieTumble{0%{transform:translateY(0) rotate(-5deg) scale(.96)}50%{transform:translateY(-.42rem) rotate(7deg) scale(1.08)}to{transform:translateY(0) rotate(-5deg) scale(.96)}}@keyframes rerollDieLand{0%{transform:translateY(-.35rem) scale(1.12) rotate(5deg)}to{transform:translateY(0) scale(1) rotate(0)}}@keyframes rerollDieReturn{0%{opacity:1;transform:translate3d(var(--reroll-die-start-x, 0),var(--reroll-die-start-y, 0),0) scale(1)}to{opacity:1;transform:translate3d(var(--reroll-die-return-x, var(--reroll-return-x)),var(--reroll-die-return-y, var(--reroll-return-y)),0) scale(1)}}.dice-tray.is-active-player .dice-rail-groove{border-color:color-mix(in srgb,var(--tray-player-color),white 42%);box-shadow:inset 0 .2rem .38rem #00000061,inset 0 -.08rem color-mix(in srgb,var(--tray-player-color),white 12%),0 0 0 .12rem color-mix(in srgb,var(--tray-player-color),transparent 54%),0 0 .85rem color-mix(in srgb,var(--tray-player-color),white 18%)}.dice-tray.is-active-player .tray-action-counter{color:color-mix(in srgb,var(--tray-player-color),#ffe59c 44%)}.tray-status-row{display:grid;place-items:center;min-height:1.22rem;min-width:0}.tray-status-row.has-player-name{grid-template-columns:minmax(0,1fr) minmax(4.8rem,52%);justify-items:stretch;gap:.46rem}.tray-status-row.has-player-name .tray-action-counter{justify-self:end;min-width:0;text-align:right}.tray-status-row.is-reroll-message{justify-items:start;padding-left:.12rem}.tray-player-name{overflow:hidden;color:color-mix(in srgb,var(--tray-player-color),#fff8dc 44%);font-size:clamp(.82rem,2.7vw,1.02rem);font-weight:950;line-height:1;text-overflow:ellipsis;text-shadow:0 .1rem 0 rgba(0,0,0,.44);white-space:nowrap}.tray-action-counter{max-width:100%;overflow:hidden;color:#ffe59c;font-size:clamp(.92rem,3.1vw,1.22rem);font-weight:950;line-height:1;text-overflow:ellipsis;text-shadow:0 .1rem 0 rgba(0,0,0,.44);white-space:nowrap}.reroll-cancel-button{justify-self:stretch;min-height:1.5rem;border:.08rem solid rgba(255,226,163,.28);border-radius:.46rem;background:linear-gradient(180deg,#8b4b26,#4f210d);color:#fff0bf;font-size:.62rem;font-weight:950;line-height:1;padding:0 .26rem;text-shadow:0 .09rem 0 rgba(0,0,0,.38);box-shadow:inset 0 .11rem #ffffff2e,0 .24rem .42rem #00000047}.tray-control-row{display:grid;grid-template-areas:"dice actions";grid-template-columns:minmax(0,1fr) minmax(3.35rem,max-content);align-items:end;gap:.38rem;min-width:0}.tray-dice-column,.tray-action-column{display:grid;min-width:0}.tray-dice-column{grid-area:dice;gap:.24rem}.tray-action-column{grid-area:actions;align-self:end;gap:.18rem;min-width:3.35rem}.dice-rail-groove{--rail-gap: clamp(.08rem, 1vw, .26rem);--rail-slot-max: var(--compact-die-size, 2.55rem);--rail-slot-size: min( var(--rail-slot-max), calc((100% - var(--rail-gap-count, 0) * var(--rail-gap)) / var(--rail-group-count, 1)) );display:grid;grid-template-columns:repeat(var(--rail-group-count, 1),minmax(0,var(--rail-slot-size)));align-items:center;justify-content:end;justify-items:stretch;gap:var(--rail-gap);width:min(100%,17.6rem);min-height:3.55rem;border:.08rem solid rgba(255,226,163,.18);border-radius:.8rem;background:radial-gradient(circle at 18% 12%,rgba(255,234,176,.18),transparent 30%),linear-gradient(180deg,#2b1107,#190903);box-shadow:inset 0 .2rem .38rem #00000061,inset 0 -.08rem #ffdf9a1a;overflow:hidden;padding:.38rem .42rem .48rem}.dice-rail-groove.is-readonly{border-color:color-mix(in srgb,var(--rail-accent),white 18%);box-shadow:inset 0 .22rem .45rem #0000006b,inset 0 -.08rem color-mix(in srgb,var(--rail-accent),white 12%)}.opponent-dice-rail{--rail-gap: var(--opponent-rail-gap, clamp(.08rem, .8vw, .16rem));--rail-slot-max: var(--opponent-die-max, 2.65rem);--opponent-die-gap: var(--opponent-rail-gap, clamp(.1rem, .9vw, .22rem));--opponent-die-size: clamp(1.7rem, calc(16.666% - var(--opponent-die-gap)), var(--opponent-die-max, 2.65rem));min-height:var(--opponent-rail-min-height, clamp(2.55rem, 10vw, 3.2rem));overflow:hidden;padding:.18rem clamp(.18rem,1.2vw,.36rem)}.opponent-dice-rail .rail-die{padding:0}.opponent-dice-rail .die-face.is-compact{width:min(100%,var(--opponent-die-max, 2.65rem));max-width:var(--opponent-die-max, 2.65rem)}.opponent-dice-rail .die-multiplier{right:-.24rem;bottom:-.2rem;min-width:1.3rem;height:1.3rem;font-size:1rem;padding:0 .2rem}.rail-value-slot{display:grid;width:100%;min-width:0;place-items:center}.rail-die{display:grid;place-items:center;width:100%;min-width:0;border:0;border-radius:.85rem;background:transparent;color:inherit;padding:.14rem;touch-action:none}.rail-stack{display:grid;width:100%;min-width:0;justify-items:center;align-items:end;gap:.24rem}.rail-die.is-selected{background:#fff2a638;box-shadow:0 0 0 .1rem #fff2a62e}.rail-die.is-readonly{display:inline-grid;place-items:center;touch-action:manipulation}.stack-reroll-picker{position:fixed;z-index:30;display:grid;grid-template-columns:1.9rem 2.45rem 1.9rem;gap:.18rem;border:.08rem solid rgba(255,232,177,.24);border-radius:.62rem;background:linear-gradient(180deg,#6b2d0f,#2d1005);box-shadow:inset 0 .08rem #ffffff21,0 .3rem .45rem #0000004d;padding:.22rem;transform:translate(-50%,-100%)}.stack-reroll-picker strong{display:grid;place-items:center;min-height:1.6rem;color:#fff4bf;font-size:.72rem;font-weight:950}.stack-reroll-picker button{min-width:0;min-height:1.6rem;border:0;border-radius:.46rem;background:linear-gradient(180deg,#f6b437,#9c4a0f);color:#2d1005;font-size:.68rem;font-weight:950;padding:0 .26rem;text-shadow:0 .05rem 0 rgba(255,255,255,.24)}.action-button{min-width:0;min-height:4.35rem;border:0;border-radius:.9rem;color:#fff;font-size:.78rem;font-weight:950;text-shadow:0 .11rem 0 rgba(0,0,0,.38);box-shadow:inset 0 .16rem #ffffff45,0 .4rem .65rem #00000059}.action-button{display:grid;align-content:center;justify-items:center;gap:.2rem}.action-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.action-button.is-active{outline:.18rem solid #fff0a2}.action-blue{background:linear-gradient(180deg,#27a2f0,#0755a6)}.action-green{background:linear-gradient(180deg,#21c34a,#066f22)}.action-gold{background:linear-gradient(180deg,#ffc638,#bb6c06);color:#321706}.action-red{background:linear-gradient(180deg,#f35b42,#a51b13)}.tray-roll-button{align-self:center;min-width:3.35rem;width:3.35rem;min-height:2.42rem;border-radius:.58rem;gap:.08rem;padding:.18rem .22rem .2rem}.tray-roll-button .action-icon{display:grid;place-items:center;width:1.08rem;height:1.08rem}.tray-roll-button .action-label{position:static;width:auto;height:auto;overflow:visible;clip:auto;color:inherit;font-size:.5rem;line-height:1;text-align:center;text-transform:uppercase;white-space:nowrap}.tray-roll-button .mini-die{display:grid;grid-template-columns:repeat(2,.24rem);grid-template-rows:repeat(2,.24rem);place-content:center;place-items:center;gap:.12rem;width:1rem;height:1rem;border-radius:.24rem;background:#fff5d3;padding:.16rem;box-shadow:inset 0 -.1rem #0003}.mini-die span{width:.21rem;aspect-ratio:1;border-radius:999px;background:#0c5ca6}.game-shell.has-compact-trays{--compact-die-size: 2.05rem;--opponent-die-max: 2.08rem;--opponent-rail-gap: clamp(.08rem, .7vw, .15rem);--opponent-rail-min-height: 2.32rem;--opponent-tray-gap: .18rem;gap:.42rem;padding-top:max(.45rem,env(safe-area-inset-top));padding-bottom:max(.55rem,env(safe-area-inset-bottom))}.game-shell.has-compact-trays .opponent-tray-row{grid-template-columns:minmax(3.2rem,max-content) minmax(0,1fr);gap:clamp(.2rem,1vw,.36rem)}.game-shell.has-compact-trays .opponent-tray-row strong{font-size:clamp(.78rem,2.55vw,.94rem)}.game-shell.has-compact-trays .opponent-dice-rail{border-radius:.62rem;padding:.12rem clamp(.12rem,.8vw,.22rem)}.game-shell.has-compact-trays .opponent-dice-rail .die-multiplier{right:-.18rem;bottom:-.16rem;min-width:1.06rem;height:1.06rem;font-size:.82rem}.game-shell.has-compact-trays .board-wrap{align-self:stretch;justify-self:center;width:auto;height:100%;max-width:100%;max-height:100%;border-radius:.92rem;padding:.46rem}.game-shell.has-compact-trays .board-grid{width:100%;height:100%;aspect-ratio:auto}.game-shell.has-compact-trays .tray-status-row{min-height:1.02rem}.game-shell.has-compact-trays .tray-action-counter{font-size:clamp(.78rem,2.6vw,1rem)}.game-shell.has-compact-trays .tray-player-name{font-size:clamp(.72rem,2.35vw,.88rem)}.game-shell.has-compact-trays .tray-control-row{grid-template-columns:minmax(0,1fr) minmax(3.05rem,max-content);gap:.28rem}.game-shell.has-compact-trays .tray-dice-column{gap:.18rem}.game-shell.has-compact-trays .tray-action-column{gap:.16rem;min-width:3.05rem}.game-shell.has-compact-trays .dice-rail-groove:not(.opponent-dice-rail){min-height:3rem;border-radius:.68rem;padding:.24rem .3rem .32rem}.game-shell.has-compact-trays .rail-die{border-radius:.68rem;padding:.08rem}.game-shell.has-compact-trays .tray-roll-button{min-width:3.05rem;width:3.05rem;min-height:2.18rem;border-radius:.52rem;padding:.14rem .18rem .16rem}.game-shell.has-compact-trays .tray-roll-button .action-icon{width:.96rem;height:.96rem}.game-shell.has-compact-trays .tray-roll-button .action-label{font-size:.46rem}.game-shell.has-compact-trays .tray-roll-button .mini-die{grid-template-columns:repeat(2,.22rem);grid-template-rows:repeat(2,.22rem);gap:.11rem;width:.92rem;height:.92rem;border-radius:.22rem;padding:.14rem}.game-shell.has-compact-trays .tray-roll-button .mini-die span{width:.19rem}.game-shell.has-compact-trays .reroll-cancel-button{min-height:1.32rem;border-radius:.42rem;font-size:.54rem;padding:0 .22rem}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#1408039e;padding:1rem;z-index:100}.drag-preview{position:fixed;z-index:70;pointer-events:none;transform:translate(-50%,-50%) scale(1.08);filter:drop-shadow(0 .75rem .75rem rgba(0,0,0,.38))}.drag-preview .die-face.is-compact{width:2.8rem}.game-shell.has-compact-trays .drag-preview .die-face.is-compact{width:2.45rem}.invalid-return-preview{position:fixed;z-index:22;pointer-events:none;transform:translate(-50%,-50%) scale(1.08);animation:returnDie .56s cubic-bezier(.24,.8,.26,1) both}.invalid-return-preview.is-invalid-feedback{animation-name:invalidReturn;animation-duration:2.16s}.invalid-return-preview.is-invalid-feedback.is-board-move{animation-name:invalidMoveReturn}.invalid-return-preview .die-face{width:2.8rem;filter:drop-shadow(0 .58rem .6rem rgba(0,0,0,.36))}.invalid-return-preview.is-invalid-feedback .die-face{outline:.2rem solid #ff3b30;filter:drop-shadow(0 0 .42rem rgba(255,45,31,.95)) drop-shadow(0 .58rem .6rem rgba(0,0,0,.36))}.game-shell.has-compact-trays .invalid-return-preview .die-face{width:2.45rem}.winner-celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:24;display:grid;place-items:center;overflow:hidden;pointer-events:none}.winner-confetti-field{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.winner-confetti-piece{position:fixed;top:0;left:0;width:var(--confetti-width);height:var(--confetti-height);border-radius:.12rem;background:var(--confetti-color);box-shadow:inset 0 .08rem #ffffff52,0 0 .2rem color-mix(in srgb,var(--confetti-color),transparent 42%);opacity:0;transform:translate3d(var(--confetti-start-x),var(--confetti-start-y),0) rotate(0);animation:winnerConfettiFall var(--confetti-duration) cubic-bezier(.2,.72,.3,1) var(--confetti-delay) both}.winner-panel{--winner-color: var(--cream-deep);--winner-facing-rotate: 0deg;position:relative;z-index:2;display:grid;justify-items:center;gap:.72rem;min-width:min(82vw,18rem);border:.16rem solid color-mix(in srgb,var(--winner-color),white 44%);border-radius:.95rem;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.26),transparent 58%),linear-gradient(180deg,#652b0ef5,#260e05f7);box-shadow:inset 0 .13rem #ffffff2e,inset 0 -.18rem #0000002e,0 .85rem 1.35rem #00000061,0 0 1.3rem color-mix(in srgb,var(--winner-color),transparent 24%);padding:1rem;pointer-events:auto;transform:rotate(var(--winner-facing-rotate));animation:winnerPanelPop .22s ease-out both}.winner-panel.faces-top{--winner-facing-rotate: 180deg}.winner-panel.faces-left{--winner-facing-rotate: 90deg}.winner-panel.faces-right{--winner-facing-rotate: -90deg}.winner-panel strong{color:color-mix(in srgb,var(--winner-color),#fff8d8 46%);font-size:clamp(1.7rem,8vw,2.8rem);font-weight:950;line-height:1;text-align:center;text-shadow:0 .12rem 0 rgba(0,0,0,.42),0 0 .55rem color-mix(in srgb,var(--winner-color),white 24%)}.winner-panel button{min-width:9rem;min-height:2.85rem;border:0;border-radius:.72rem;background:linear-gradient(180deg,color-mix(in srgb,var(--winner-color),white 34%),color-mix(in srgb,var(--winner-color),black 18%));color:#fff8d8;font-size:1rem;font-weight:950;padding:0 1.1rem;text-shadow:0 .09rem 0 rgba(0,0,0,.38);box-shadow:inset 0 .13rem #ffffff42,0 .42rem .68rem #00000052;touch-action:manipulation}.winner-panel button:focus-visible{outline:.18rem solid #fff3a6;outline-offset:.14rem}.turn-start-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;background:#1a0a0457;padding:1rem}.turn-start-card{--turn-color: var(--cream-deep);display:grid;justify-items:center;gap:.72rem;min-width:min(17rem,calc(100vw - 2rem));border:.12rem solid color-mix(in srgb,var(--turn-color),#fff4bc 42%);border-radius:.9rem;background:radial-gradient(circle at 20% 14%,rgba(255,238,180,.2),transparent 28%),linear-gradient(180deg,#692d0ffa,#270f06fa);box-shadow:inset 0 .12rem #ffffff29,inset 0 -.2rem #1b090357,0 .9rem 1.35rem #0000005c,0 0 .85rem color-mix(in srgb,var(--turn-color),transparent 58%);padding:1rem;animation:turnStartPop .16s ease-out both}.turn-start-card strong{color:var(--turn-color);font-size:clamp(1.55rem,7.8vw,2.32rem);font-weight:950;letter-spacing:0;line-height:1;text-align:center;text-shadow:0 .1rem 0 rgba(0,0,0,.46),0 0 .5rem color-mix(in srgb,var(--turn-color),white 34%)}.turn-start-card button{min-width:8rem;border:0;border-radius:.72rem;background:linear-gradient(180deg,color-mix(in srgb,var(--turn-color),white 30%),color-mix(in srgb,var(--turn-color),black 18%));color:#fff8d8;font-size:.95rem;font-weight:950;padding:.78rem 1rem;text-shadow:0 .09rem 0 rgba(0,0,0,.38);box-shadow:inset 0 .13rem #ffffff42,0 .4rem .65rem #00000052;touch-action:manipulation}.turn-start-card button:focus-visible{outline:.18rem solid #fff3a6;outline-offset:.14rem}.turn-blue{--turn-color: var(--blue)}.turn-red{--turn-color: var(--red)}.turn-green{--turn-color: var(--green)}.turn-yellow{--turn-color: var(--yellow)}.menu-panel{animation:floatIn .18s ease-out both}.rules-grid{display:grid;grid-template-columns:1fr auto;gap:.45rem 1rem;margin-top:1rem;border-radius:.8rem;background:#1d0c0585;padding:.8rem}.rules-grid span{color:var(--muted)}.rules-grid strong{color:#fff}.game-shell.is-tabletop{--tabletop-tray-width: clamp(24rem, 36vw, 27rem);--tabletop-tray-depth: clamp(5.95rem, 9vw, 6.7rem);--tabletop-board-max: min(100%, 36.5rem);grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);align-items:stretch;width:min(100%,74rem);gap:clamp(.25rem,1vw,.55rem);padding:max(.45rem,env(safe-area-inset-top)) .45rem max(.55rem,env(safe-area-inset-bottom))}.tabletop-tools{display:flex;justify-content:space-between;min-height:2.3rem}.tabletop-tools .round-icon,.tabletop-tools .new-game-chip{min-height:2.25rem;padding:0 .82rem}.tabletop-tools .round-icon{width:2.75rem;padding:0}.tabletop-play-area{display:grid;grid-template-areas:". top ." "left board right" ". bottom .";grid-template-columns:var(--tabletop-tray-depth) minmax(0,1fr) var(--tabletop-tray-depth);grid-template-rows:minmax(var(--tabletop-tray-depth),auto) minmax(0,1fr) minmax(var(--tabletop-tray-depth),auto);align-items:center;justify-items:center;gap:clamp(.45rem,1.2vw,.82rem);width:100%;height:100%;min-height:0}.tabletop-count-2{grid-template-areas:"top" "board" "bottom";grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(var(--tabletop-tray-depth),auto) minmax(0,1fr) minmax(var(--tabletop-tray-depth),auto)}.tabletop-count-3{grid-template-areas:". . ." "left board right" ". bottom ."}.tabletop-board-slot{grid-area:board;width:var(--tabletop-board-max);min-width:0}.game-shell.is-tabletop .board-wrap{border-radius:.95rem;box-shadow:inset 0 0 0 .32rem #ffdf9a6b,inset 0 0 0 .66rem #6c36123d,0 0 0 .25rem var(--active-player-color),0 0 1.05rem color-mix(in srgb,var(--active-player-color),white 24%),0 .75rem 1.25rem #0000005c;padding:clamp(.38rem,1.2vw,.58rem)}.tabletop-tray-slot{--tray-player-color: var(--cream-deep);--rail-accent: var(--tray-player-color);position:relative;display:grid;place-items:center;width:100%;min-width:0}.tabletop-slot-top{grid-area:top}.tabletop-slot-right{grid-area:right}.tabletop-slot-bottom{grid-area:bottom}.tabletop-slot-left{grid-area:left}.tabletop-tray-inner{width:min(100%,var(--tabletop-tray-width))}.tabletop-slot-top .tabletop-tray-inner{transform:rotate(180deg)}.tabletop-tray-slot.is-side{align-self:stretch;min-height:min(100%,var(--tabletop-tray-width));min-width:var(--tabletop-tray-depth)}.tabletop-tray-slot.is-side .tabletop-tray-inner{position:absolute;top:50%;left:50%;width:min(var(--tabletop-tray-width),74dvh)}.tabletop-slot-left .tabletop-tray-inner{transform:translate(-50%,-50%) rotate(90deg)}.tabletop-slot-right .tabletop-tray-inner{transform:translate(-50%,-50%) rotate(-90deg)}.tabletop-tray-slot .dice-tray{width:min(100%,21.4rem);min-width:0}.tabletop-tray-slot .tray-action-counter{color:color-mix(in srgb,var(--tray-player-color),#ffe59c 44%);font-size:clamp(1rem,2.1vw,1.24rem)}.tabletop-tray-slot .dice-rail-groove{justify-content:end;gap:clamp(.28rem,.8vw,.48rem);min-height:clamp(3.65rem,6.2vw,4.05rem);overflow:hidden;border-color:color-mix(in srgb,var(--tray-player-color),white 18%);box-shadow:inset 0 .22rem .45rem #0000006b,inset 0 -.08rem color-mix(in srgb,var(--tray-player-color),white 12%)}.tabletop-tray-slot .rail-die{padding:.08rem}.tabletop-tray-slot .tray-control-row{grid-template-columns:minmax(0,1fr) minmax(3.35rem,max-content);gap:clamp(.32rem,.9vw,.52rem)}.tabletop-tray-slot.is-active .dice-tray{filter:drop-shadow(0 0 .45rem color-mix(in srgb,var(--tray-player-color),white 16%))}.dice-tray.is-disabled .rail-die,.dice-tray.is-disabled .action-button{cursor:default;opacity:.72;filter:saturate(.82)}.rail-die:disabled,.action-button:disabled{cursor:default}@keyframes floatIn{0%{opacity:0;transform:translateY(.6rem) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bounceDie{0%{transform:translateY(0)}to{transform:translateY(-.5rem) rotate(7deg)}}@keyframes completionTraceClockwise{0%{opacity:0;background-size:0 var(--completion-trace-width),var(--completion-trace-width) 0,0 var(--completion-trace-width),var(--completion-trace-width) 0;transform:scale(.98)}12%{opacity:1}30%{background-size:100% var(--completion-trace-width),var(--completion-trace-width) 0,0 var(--completion-trace-width),var(--completion-trace-width) 0}55%{background-size:100% var(--completion-trace-width),var(--completion-trace-width) 100%,0 var(--completion-trace-width),var(--completion-trace-width) 0}80%{background-size:100% var(--completion-trace-width),var(--completion-trace-width) 100%,100% var(--completion-trace-width),var(--completion-trace-width) 0}to{opacity:1;background-size:100% var(--completion-trace-width),var(--completion-trace-width) 100%,100% var(--completion-trace-width),var(--completion-trace-width) 100%;transform:scale(1)}}@keyframes completionBonusPop{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--reward-facing-rotate)) scale(.72)}18%{opacity:1;transform:translate(-50%,-50%) rotate(var(--reward-facing-rotate)) scale(1.08)}32%,74%{opacity:1;transform:translate(-50%,-50%) rotate(var(--reward-facing-rotate)) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--reward-facing-rotate)) scale(.9)}}@keyframes invalidReturn{0%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}8%{transform:translate(calc(-50% - .42rem),-50%) scale(1.08) rotate(-4deg)}16%{transform:translate(calc(-50% + .42rem),-50%) scale(1.08) rotate(4deg)}24%{transform:translate(calc(-50% - .3rem),-50%) scale(1.08) rotate(-3deg)}34%{transform:translate(calc(-50% + .2rem),-50%) scale(1.08) rotate(2deg)}44%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}to{opacity:1;transform:translate(calc(-50% + var(--invalid-return-x)),calc(-50% + var(--invalid-return-y))) scale(1) rotate(0)}}@keyframes returnDie{0%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}to{opacity:1;transform:translate(calc(-50% + var(--invalid-return-x)),calc(-50% + var(--invalid-return-y))) scale(1)}}@keyframes invalidMoveReturn{0%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}8%{opacity:1;transform:translate(calc(-50% - .42rem),-50%) scale(1.08) rotate(-4deg)}16%{opacity:1;transform:translate(calc(-50% + .42rem),-50%) scale(1.08) rotate(4deg)}24%{opacity:1;transform:translate(calc(-50% - .3rem),-50%) scale(1.08) rotate(-3deg)}34%{opacity:1;transform:translate(calc(-50% + .2rem),-50%) scale(1.08) rotate(2deg)}44%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}to{opacity:1;transform:translate(calc(-50% + var(--invalid-return-x)),calc(-50% + var(--invalid-return-y))) scale(1) rotate(0)}}@keyframes winnerConfettiFall{0%{opacity:0;transform:translate3d(var(--confetti-start-x),var(--confetti-start-y),0) rotate(0) scale(.72)}10%{opacity:1}76%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-end-x),var(--confetti-end-y),0) rotate(var(--confetti-spin)) scale(1)}}@keyframes winnerPanelPop{0%{opacity:0;transform:rotate(var(--winner-facing-rotate)) scale(.9)}to{opacity:1;transform:rotate(var(--winner-facing-rotate)) scale(1)}}@keyframes turnStartPop{0%{opacity:0;transform:translateY(.35rem) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@media(min-width:48rem){.game-shell{width:min(100%,58rem);grid-template-columns:minmax(0,1fr) 20rem;grid-template-rows:auto auto minmax(0,1fr);align-items:start}.game-header,.opponent-tray-zone{grid-column:1 / -1}.board-wrap{grid-column:1;grid-row:3}.side-stack{grid-column:2;grid-row:3;align-self:start}.control-dock{align-self:stretch}}@media(max-width:25rem){.game-shell{gap:.52rem;padding-left:.55rem;padding-right:.55rem}.opponent-tray-row{grid-template-columns:minmax(3.55rem,max-content) minmax(0,1fr)}.tray-control-row{grid-template-columns:minmax(0,1fr) minmax(3.2rem,max-content);gap:.3rem}.tray-action-column{min-width:3.2rem}.action-button{min-height:3.9rem;font-size:.72rem}.tray-roll-button{min-width:3.2rem;width:3.2rem;min-height:2.32rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}.online-screen{align-items:start;height:var(--app-viewport-height);overflow-y:auto;place-items:start center}.online-panel{width:min(100%,42rem)}.online-heading{position:relative}.online-back{position:absolute;top:0;right:0;min-height:2.2rem;padding:0 .9rem}.online-stack{display:grid;gap:.72rem;margin-top:1rem}.online-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.58rem}.online-bottom-actions{margin-top:auto}.online-card{display:grid;gap:.66rem;border:.08rem solid rgba(255,226,161,.24);border-radius:.8rem;background:linear-gradient(180deg,#52200beb,#270f06e6);box-shadow:inset 0 .08rem #ffffff1f;padding:.82rem}.online-card h2{color:#fff6d0;font-size:1.02rem;line-height:1.1;text-align:left;text-shadow:0 .08rem 0 rgba(0,0,0,.38)}.online-card input,.online-card select{min-width:0;min-height:2.45rem;width:100%;border:.1rem solid rgba(255,232,166,.3);border-radius:.68rem;background:#1f0c05d9;color:#fff6d7;padding:0 .72rem;outline:none}.online-card input:focus,.online-card select:focus{border-color:#fff1bf;box-shadow:0 0 0 .12rem #fff1bf2e}.create-game-card{gap:.82rem}.create-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.62rem}.create-slot{position:relative;display:grid;min-height:7rem;border:.08rem solid rgba(255,226,161,.2);border-radius:.72rem;background:#18090375;overflow:hidden}.create-slot.is-you{align-content:center;gap:.22rem;border-color:color-mix(in srgb,var(--blue),#fff6c8 24%);background:radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--blue),transparent 66%),transparent 48%),#18090385;padding:.74rem}.create-slot-main,.create-slot-add{display:grid;align-content:center;gap:.24rem;width:100%;min-height:100%;border:0;background:transparent;color:#fff8dc;padding:.74rem;text-align:left}.create-slot-add{place-items:center;border:.08rem dashed rgba(255,226,161,.34);color:#ffe7a0;text-align:center}.create-slot strong{overflow:hidden;font-size:1rem;font-weight:950;line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.create-slot span{overflow:hidden;color:var(--muted);font-size:.78rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.create-slot-remove{position:absolute;right:.42rem;bottom:.42rem;min-height:1.75rem;border:.08rem solid rgba(255,226,161,.24);border-radius:999px;background:#180903b8;color:#ffe9ad;font-size:.68rem;font-weight:900;padding:0 .54rem}.friend-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:#0d0502bd;padding:1rem}.friend-picker-panel{display:grid;gap:.72rem;width:min(100%,25rem);max-height:min(38rem,calc(var(--app-viewport-height) - 2rem));border:.12rem solid rgba(255,226,161,.34);border-radius:1rem;background:linear-gradient(180deg,#4d1e0afa,#1e0b04fa);box-shadow:0 1.2rem 3rem #0000007a,inset 0 .08rem #ffffff29;padding:1rem;overflow-y:auto}.friend-picker-panel h2{color:#fff6d0;font-size:1.18rem;line-height:1.1;text-align:left}.online-profile-row,.online-card-title-row,.online-inline-form,.online-grid-form,.online-list-item{display:grid;gap:.52rem}.online-profile-row{grid-template-columns:repeat(2,minmax(0,1fr))}.online-label{display:block;color:var(--muted);font-size:.76rem;font-weight:800}.online-profile-row strong,.online-list-item strong{display:block;overflow:hidden;color:#fff8dc;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.online-card-title-row,.online-inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:center}.online-grid-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.online-grid-form label{display:grid;gap:.28rem;color:var(--muted);font-size:.82rem;font-weight:900}.online-check{grid-template-columns:auto 1fr;align-items:center;min-height:2.45rem}.online-check input{width:1.1rem;min-height:1.1rem;accent-color:var(--green)}.online-list{display:grid;gap:.44rem}.online-list-item{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;min-width:0;border:.07rem solid rgba(255,226,161,.16);border-radius:.64rem;background:#18090373;padding:.56rem}.online-list-item span{display:block;overflow:hidden;color:var(--muted);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.online-list-item.is-pending-invite{border-color:color-mix(in srgb,var(--yellow),#fff1bf 18%);background:radial-gradient(circle at 6% 16%,color-mix(in srgb,var(--yellow),transparent 74%),transparent 44%),#18090380}.online-list-item.is-pending-invite span{color:#ffe49a}.online-count-chip,.online-turn-pill{display:inline-grid;place-items:center;min-height:1.5rem;border:.08rem solid rgba(255,226,161,.24);border-radius:999px;background:#1809036b;color:#fff3c0;font-size:.72rem;font-weight:950;line-height:1;padding:0 .52rem;white-space:nowrap}.current-games-card{border-color:#ffe8b152}.current-games-list{gap:.52rem}.current-game-item{grid-template-columns:minmax(0,1fr) auto}.current-game-actions{display:grid;gap:.4rem}.online-resign-button{border-color:color-mix(in srgb,var(--red),white 14%);color:#ffd6cc}.current-game-item.is-your-turn{border-color:color-mix(in srgb,var(--green),#fff6c8 20%);background:radial-gradient(circle at 7% 18%,color-mix(in srgb,var(--green),transparent 72%),transparent 42%),#18090385;box-shadow:inset 0 .08rem #ffffff1f,0 0 .75rem color-mix(in srgb,var(--green),transparent 62%)}.current-game-main{display:grid;gap:.2rem;min-width:0}.current-game-title-row{display:flex;align-items:center;gap:.42rem;min-width:0}.current-game-title-row strong{min-width:0}.online-turn-pill.is-your-turn{border-color:color-mix(in srgb,var(--green),white 24%);background:linear-gradient(180deg,color-mix(in srgb,var(--green),white 20%),color-mix(in srgb,var(--green),black 18%));color:#fffbe0}.online-turn-pill.is-waiting{border-color:color-mix(in srgb,var(--blue),white 12%);color:#d5ecff}.online-turn-pill.is-lobby{border-color:color-mix(in srgb,var(--yellow),white 12%);color:#fff0a6}.online-turn-pill.is-finished{color:#e4d4b6}.online-small-button{min-height:2.18rem;border-radius:.58rem;font-size:.78rem;padding:0 .72rem}.online-empty{color:var(--muted);font-size:.86rem;line-height:1.28}.online-lobby-status{display:grid;place-items:center;flex:1;min-height:2.8rem;border:.08rem solid rgba(255,226,161,.24);border-radius:.85rem;background:#18090370;color:#ffe49a;font-weight:950;text-align:center}.online-game-banner{position:fixed;right:.72rem;top:calc(env(safe-area-inset-top) + 4rem);z-index:25;display:grid;gap:.08rem;max-width:min(19rem,calc(100vw - 1.44rem));border:.1rem solid rgba(255,232,177,.36);border-radius:.72rem;background:linear-gradient(180deg,#52200bf5,#1c0a04f5);box-shadow:inset 0 .08rem #ffffff24,0 .45rem .9rem #0000006b;color:#fff8dc;padding:.52rem .68rem;pointer-events:none}.online-game-banner strong,.online-game-banner span,.online-game-banner em{overflow-wrap:anywhere}.online-game-banner span{font-size:.76rem;font-weight:900}.online-game-banner em{color:#ffb39f;font-size:.72rem;font-style:normal}@media(max-width:31rem){.online-profile-row,.online-card-title-row,.online-inline-form,.online-grid-form,.online-action-row,.online-list-item{grid-template-columns:minmax(0,1fr)}.online-back{position:static;justify-self:end;margin-bottom:.5rem}}.local-setup-panel{width:min(100%,42rem)}.setup-section{display:grid;gap:.5rem;margin-top:1rem}.setup-section-heading,.create-game-summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem;color:#fff6d0}.setup-section-heading span,.create-game-summary span{color:var(--muted);font-size:.78rem;font-weight:850}.setup-section .count-selector{margin-top:0}.seat-list{display:grid;gap:.62rem;margin-top:.82rem}.seat-card{--seat-color: var(--cream-deep);display:grid;gap:.58rem;border:.08rem solid color-mix(in srgb,var(--seat-color),#fff1bf 24%);border-left:.3rem solid var(--seat-color);border-radius:.82rem;background:radial-gradient(circle at 5% 12%,color-mix(in srgb,var(--seat-color),transparent 76%),transparent 42%),#18090385;box-shadow:inset 0 .08rem #ffffff1a;padding:.72rem}.seat-card-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem}.seat-card-heading strong,.seat-card-heading span{display:block}.seat-card-heading strong{overflow:hidden;color:#fff8dc;font-size:.98rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.seat-card-heading div>span{margin-top:.12rem;color:var(--muted);font-size:.76rem;font-weight:800}.seat-number{display:grid;min-width:2.15rem;min-height:2.15rem;place-items:center;border:.08rem solid color-mix(in srgb,var(--seat-color),white 18%);border-radius:50%;background:color-mix(in srgb,var(--seat-color),#2b170b 52%);color:#fffbe5;font-size:.72rem;font-weight:950}.seat-type-switch,.difficulty-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.2rem;border:.08rem solid rgba(255,226,161,.18);border-radius:.7rem;background:#18090380}.difficulty-selector{grid-template-columns:repeat(4,minmax(0,1fr))}.seat-type-switch button,.difficulty-selector button{min-height:2.75rem;border:0;border-radius:.52rem;background:transparent;color:var(--muted);font-size:.76rem;font-weight:950;text-transform:capitalize}.seat-type-switch button.is-active,.difficulty-selector button.is-active{background:linear-gradient(180deg,#f5be29,#a65c07);color:#321708;box-shadow:inset 0 .08rem #ffffff52,0 .2rem .42rem #00000047}.tabletop-toggle>span:first-child{display:grid;gap:.08rem}.tabletop-toggle small{color:var(--muted);font-size:.7rem;font-weight:750}.tabletop-toggle.is-disabled{opacity:.62}.online-intro-copy{margin-top:.55rem}.create-slot-content{display:grid;gap:.2rem;min-width:0;padding-right:3.8rem}.create-slot.is-bot{border-color:color-mix(in srgb,var(--yellow),#fff1bf 22%);background:radial-gradient(circle at 10% 10%,color-mix(in srgb,var(--yellow),transparent 76%),transparent 52%),#18090385}.online-seat-switch,.create-slot .difficulty-selector{align-self:end}.create-game-summary{flex-wrap:wrap;justify-content:flex-start;border:.08rem solid rgba(255,226,161,.16);border-radius:.68rem;background:#18090366;padding:.62rem .72rem}.create-game-summary strong{margin-right:auto}.game-brand-stack{display:grid;justify-items:center;gap:.08rem;min-width:0}.game-brand-stack .game-logo{width:min(50vw,12.8rem)}.game-status-pill{display:block;max-width:100%;overflow:hidden;border:.07rem solid rgba(255,226,161,.26);border-radius:999px;background:#230d05b8;color:#fff0b4;font-size:.68rem;font-weight:900;line-height:1.5;padding:0 .55rem;text-overflow:ellipsis;white-space:nowrap}.game-status-pill.is-bot-turn{border-color:color-mix(in srgb,var(--yellow),white 18%);background:color-mix(in srgb,var(--yellow),#2b170b 78%)}button:focus-visible,input:focus-visible,select:focus-visible{outline:.18rem solid #fff3a6;outline-offset:.14rem}.online-back,.online-small-button,.create-slot-remove{min-height:2.75rem}@media(min-width:38rem){.seat-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:25rem){.home-action-grid{grid-template-columns:minmax(0,1fr)}.home-action-button{min-height:4.8rem}.create-slot-grid{grid-template-columns:minmax(0,1fr)}.setup-actions{flex-direction:column-reverse}.setup-actions button{width:100%}}.home-action-button.is-local,.home-action-button.is-online{min-height:7.25rem;border-color:#ffe8b15c;background:linear-gradient(145deg,rgba(255,255,255,.11),transparent 42%),linear-gradient(180deg,#4c1e0afa,#1b0a04fa)}.home-action-button.is-friends,.home-action-button.is-settings{min-height:4.6rem}@media(max-width:28rem),(max-height:48rem){.home-screen{padding:max(.65rem,env(safe-area-inset-top)) .65rem max(.65rem,env(safe-area-inset-bottom))}.home-panel{padding:.82rem}.home-panel .setup-logo{width:min(68%,15rem);margin-bottom:.35rem}.home-panel h1{font-size:1.4rem}.home-panel .setup-copy{margin-top:.32rem;font-size:.88rem}.home-action-grid{gap:.48rem;margin-top:.68rem}.home-action-button.is-local,.home-action-button.is-online{min-height:4.75rem}.home-action-button.is-friends,.home-action-button.is-settings{min-height:4.15rem}}.home-action-button:hover:not(:disabled){border-color:#ffefc285;transform:translateY(-.08rem)}.home-action-button:active:not(:disabled){transform:translateY(.04rem)}.online-game-banner strong{color:#fff7d4;font-size:.84rem;font-style:normal;line-height:1.15}.online-room-code{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;border:.08rem solid color-mix(in srgb,var(--yellow),transparent 64%);border-radius:.8rem;background:color-mix(in srgb,var(--yellow),#261307 88%);padding:.72rem .78rem}.online-room-code>div{display:grid;gap:.16rem}.online-room-code span{color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.online-room-code code{color:#fff1b5;font-family:inherit;font-size:1.22rem;font-weight:950;letter-spacing:.16em}.online-list-item.is-bot-seat{border-color:color-mix(in srgb,var(--yellow),transparent 52%);background:linear-gradient(135deg,color-mix(in srgb,var(--yellow),transparent 88%),#221107b3)}.online-turn-pill.is-bot-turn{border-color:color-mix(in srgb,var(--yellow),white 16%);background:color-mix(in srgb,var(--yellow),#2b170b 78%);color:#fff1ad}@media(max-width:34rem){.online-room-code{align-items:stretch;flex-direction:column}.online-room-code .online-small-button{width:100%}}.local-setup-screen{display:grid;width:100%;height:var(--app-viewport-height);min-height:0;place-items:start center;overflow-x:hidden;overflow-y:auto;padding:max(.65rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom));overscroll-behavior-y:contain;touch-action:pan-y}.local-setup-panel{align-self:start;margin:0 auto}.local-setup-panel>.setup-logo{width:min(48%,10rem);margin-bottom:.4rem}.seat-card-heading .seat-number{display:grid;width:2.15rem;height:2.15rem;min-width:2.15rem;min-height:2.15rem;align-items:center;justify-items:center;line-height:1;padding:0;text-align:center}.online-seat-switch.is-player-only{grid-template-columns:minmax(0,1fr)}.create-slot.is-required-player{border-color:color-mix(in srgb,var(--blue),#fff6c8 22%)}.create-slot-remove{top:.42rem;right:.42rem;bottom:auto;z-index:2;display:grid;width:2.1rem;min-width:2.1rem;height:2.1rem;min-height:2.1rem;place-items:center;border-color:#ffbca6b8;background:linear-gradient(180deg,#db4b35,#8f2017);color:#fff8ee;font-size:1.38rem;line-height:1;padding:0 0 .1rem}.create-slot-remove:hover{filter:brightness(1.12)}.board-cell>.die-face.is-landing{animation:dieLand .42s cubic-bezier(.18,.9,.3,1.2) both}.game-shell.is-pc-turn .game-status-pill{animation:pcThinkingPulse 1.15s ease-in-out infinite}.bot-drag-preview{position:fixed;z-index:24;display:grid;place-items:center;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 .72rem .72rem rgba(0,0,0,.42));animation:pcDragDie .62s cubic-bezier(.2,.82,.3,1) both}.bot-drag-preview .die-face{width:100%;max-width:none}@keyframes pcDragDie{0%{transform:translate(-50%,-50%) scale(1) rotate(-3deg)}78%{transform:translate(calc(-50% + var(--bot-drag-x)),calc(-50% + var(--bot-drag-y))) scale(1.06) rotate(2deg)}to{transform:translate(calc(-50% + var(--bot-drag-x)),calc(-50% + var(--bot-drag-y))) scale(1) rotate(0)}}@keyframes dieLand{0%{opacity:0;transform:perspective(12rem) translateY(-.7rem) scale(.72) rotateX(9deg) rotate(-7deg)}to{opacity:1;transform:perspective(12rem) translateY(0) scale(1) rotateX(9deg) rotate(0)}}@keyframes pcThinkingPulse{0%,to{filter:brightness(.94);transform:scale(.98)}50%{filter:brightness(1.16);transform:scale(1.02)}}@media(prefers-reduced-motion:reduce){.board-cell>.die-face,.game-shell.is-pc-turn .game-status-pill{animation:none}}.live-dice-3d-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:66;display:block;width:100vw;height:var(--app-viewport-height, 100vh);pointer-events:none}.live-dice-3d-ready .die-face[data-live-die-3d=true] .die-face-depth,.live-dice-3d-ready .die-face[data-live-die-3d=true] .die-face-surface{opacity:0}.live-dice-3d-ready .reroll-3d-loading-die-fallback{color:transparent;background:transparent;box-shadow:none}.die-face.is-selected,.die-face.is-conflicted,.die-face.is-recent-move,.die-face:has(.die-lock-icon),.die-face:has(.die-multiplier){z-index:62}.die-face.is-recent-move:after,.die-lock-icon,.die-multiplier{z-index:4}.game-shell{background-color:#351607;background-image:linear-gradient(#2e12051f,#14070252),url(../textures/dark-walnut-table.png);background-position:center;background-size:cover,38rem auto;box-shadow:inset 0 1.2rem 2rem #ffac5214,inset 0 -1.4rem 2.4rem #0a030166,0 0 3rem #0000006b}.dice-render-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-content:center;justify-items:center;gap:1rem;background-color:#351607;background-image:linear-gradient(#3715062e,#12060275),url(../textures/dark-walnut-table.png);background-position:center;background-size:cover,38rem auto;color:#f5d6a1;text-shadow:0 .12rem .18rem rgba(0,0,0,.65)}.dice-render-loader img{width:min(13rem,54vw);height:auto;filter:drop-shadow(0 .55rem .7rem rgba(0,0,0,.48))}.dice-render-loader strong{font-size:1rem;letter-spacing:.02em}.dice-render-loader-spinner{width:2.2rem;height:2.2rem;border:.24rem solid rgba(245,214,161,.22);border-top-color:#f5d6a1;border-radius:999px;animation:diceRendererSpin .72s linear infinite}@keyframes diceRendererSpin{to{transform:rotate(360deg)}}.round-icon,.new-game-chip{border-color:#c88a49;background-color:#57250f;background-image:linear-gradient(#ffc57314,#3110044d),url(../textures/dark-walnut-table.png);background-size:cover,11rem auto;color:#f5ddb3;box-shadow:inset 0 0 0 .12rem #ffe0a624,inset 0 .25rem .35rem #ffd28e24,inset 0 -.3rem .45rem #1f090285,0 0 0 .14rem #371405b8,0 .46rem .74rem #0006}.round-icon{width:3.15rem;min-height:3.15rem}.round-icon span{height:.18rem;box-shadow:0 .08rem #3011049e}.board-wrap{border:.52rem solid transparent;border-radius:1.25rem;background-image:url(../textures/pale-maple-board.png),url(../textures/dark-walnut-table.png);background-origin:padding-box,border-box;background-clip:padding-box,border-box;background-position:center;background-size:24rem auto,28rem auto;box-shadow:inset 0 0 0 .18rem #5c2d0e52,inset .35rem .42rem .52rem #fff1cb7a,inset -.42rem -.5rem .6rem #58280b61,0 0 0 .16rem var(--active-player-color),0 0 .7rem color-mix(in srgb,var(--active-player-color),transparent 42%),0 .95rem 1.45rem #00000075;padding:.48rem}.board-grid{border:.12rem solid rgba(91,50,21,.72);border-radius:.38rem;background-color:#efca8b;background-image:linear-gradient(#fff6da17,#7e471a0d),url(../textures/pale-maple-board.png);background-position:center;background-size:cover,22rem auto;box-shadow:inset .22rem .24rem .36rem #522a0d47,inset -.12rem -.14rem .24rem #fff3cf73}.board-cell{border-top-color:#693e1c94;border-left-color:#693e1c94;box-shadow:inset .045rem .045rem #fff1c952,inset -.035rem -.035rem #522a0f2e}.board-cell.thick-top,.board-cell.thick-left,.board-cell.thick-right,.board-cell.thick-bottom{border-color:#5b3013db}.opponent-dice-rail,.dice-rail-groove{border:.2rem solid color-mix(in srgb,var(--rail-accent, var(--tray-player-color)),#9b5629 52%);border-radius:.86rem;background-color:#d7a969;background-image:linear-gradient(#fff7da33,#6835121f),url(../textures/pale-maple-board.png);background-position:center;background-size:cover,18rem auto;box-shadow:inset 0 0 0 .1rem color-mix(in srgb,var(--rail-accent, var(--tray-player-color)),white 32%),inset 0 .28rem .42rem #fff4cf7a,inset 0 -.38rem .5rem #64310f4d,0 0 0 .11rem #4a2008b8,0 .52rem .74rem #00000057}.dice-rail-groove{min-height:4.05rem;overflow:visible;padding:.34rem .38rem .66rem}.rail-value-slot{box-sizing:border-box;min-height:2.8rem;border:.07rem solid rgba(113,68,37,.65);border-radius:.58rem;background-color:#2c160c;background-image:url(../textures/dark-tray-well.png);background-position:center;background-size:8rem auto;box-shadow:inset .18rem .2rem .32rem #0000009e,inset -.1rem -.1rem .2rem #dfa1651a,0 .05rem #ffdeaa1c}.rail-value-slot.is-empty-value{background-color:#d5a465;background-image:linear-gradient(#fff4cf1f,#68351214),url(../textures/pale-maple-board.png);background-size:cover,8rem auto;box-shadow:inset .12rem .14rem .22rem #52280d47,inset -.08rem -.08rem .16rem #ffe8bb4d,0 .05rem #ffdeaa29}.opponent-dice-rail{min-height:var(--opponent-rail-min-height, clamp(2.85rem, 11vw, 3.5rem));padding:.22rem clamp(.22rem,1.2vw,.38rem)}.opponent-tray-row strong{filter:saturate(.9)}.dice-tray .die-multiplier{right:-.24rem;bottom:-.2rem;min-width:1.3rem;height:1.3rem;font-size:1rem;padding:0 .2rem;isolation:isolate;backface-visibility:hidden;color:#351607;transform:translateZ(.01rem);-webkit-font-smoothing:antialiased;box-shadow:inset 0 .1rem #ffffff6b,0 .14rem .24rem #0006}.floating-reroll-tray{z-index:75;border:.5rem solid transparent;border-radius:1.2rem;background-image:linear-gradient(#fff6d612,#763e140d),url(../textures/pale-maple-board.png),url(../textures/dark-walnut-table.png);background-origin:padding-box,padding-box,border-box;background-clip:padding-box,padding-box,border-box;background-position:center;background-size:cover,24rem auto,28rem auto;box-shadow:inset 0 0 0 .12rem #6132126b,inset .3rem .34rem .46rem #ffedc466,inset -.35rem -.42rem .52rem #50240a59,0 .85rem 1.25rem #00000080;padding:.52rem .6rem .62rem}.floating-reroll-tray>strong{color:#5a2b12;text-shadow:0 .07rem 0 rgba(255,244,211,.86)}.live-dice-3d-canvas{z-index:76}.live-dice-badge-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:79;overflow:visible;pointer-events:none}.live-die-multiplier{position:fixed;right:auto;bottom:auto;z-index:1;box-sizing:border-box;min-width:0;margin:0;transform-origin:center}.live-die-lock-icon{position:fixed;top:auto;right:auto;z-index:1;box-sizing:border-box;margin:0;transform-origin:center}.live-board-message{position:fixed;z-index:2;min-width:0;margin:0;transform-origin:center}.live-dice-3d-overlay-ready .die-face[data-live-die-3d=true]>.die-multiplier,.live-dice-3d-overlay-ready .die-face[data-live-die-3d=true]>.die-lock-icon{opacity:0}.live-dice-3d-overlay-ready .board-grid>.completion-bonus-pop{opacity:0!important}.die-face[data-live-die-3d=true] .die-face-depth,.die-face[data-live-die-3d=true] .die-face-surface{opacity:0}.die-face:has(.die-multiplier),.die-face:has(.die-lock-icon){z-index:79;overflow:visible}.die-face:has(.die-multiplier){transform-style:flat}.drag-preview,.bot-drag-preview{z-index:78}@media(prefers-reduced-motion:reduce){.dice-render-loader-spinner{animation-duration:1.5s}}.board-wrap,.dice-rail-groove,.opponent-dice-rail{position:relative;overflow:visible;transform-style:preserve-3d}.floating-reroll-tray{overflow:visible;transform-style:flat}.floating-reroll-tray.is-gathering,.floating-reroll-tray.is-rolling,.floating-reroll-tray.is-landed{z-index:80}.floating-reroll-tray.is-return-preparing,.floating-reroll-tray.is-returning{z-index:75}.board-wrap{border-width:.36rem .52rem .72rem;box-shadow:inset -.34rem .32rem .44rem #fff6d77a,inset .28rem -.34rem .48rem #5b2b0d57,0 0 0 .16rem var(--active-player-color),0 0 .7rem color-mix(in srgb,var(--active-player-color),transparent 42%),-.52rem 1.18rem 1.45rem #0f05018a}.board-wrap:before,.dice-rail-groove:before,.opponent-dice-rail:before,.floating-reroll-tray:before{position:absolute;z-index:0;right:.12rem;bottom:-.62rem;left:.12rem;height:.78rem;border:.08rem solid rgba(78,35,10,.72);border-top-color:#ffe2ae47;border-radius:0 0 1rem 1rem;background-color:#a96832;background-image:linear-gradient(180deg,#ffe0aa33,#4e22097a),url(../textures/pale-maple-board.png);background-position:center;background-size:cover,20rem auto;box-shadow:inset -.25rem 0 .25rem #ffe7b52e,inset 0 -.22rem .3rem #37150561,-.28rem .48rem .68rem #0d040180;content:"";pointer-events:none;transform:perspective(12rem) rotateX(-30deg);transform-origin:center top}.board-grid,.rail-value-slot,.floating-reroll-tray>*{position:relative;z-index:1}.board-grid-lines{position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:inherit;fill:none;pointer-events:none}.board-grid-lines-thin{stroke:#693e1cad;stroke-width:1px}.board-grid-lines-thick{stroke:#5b3013e6;stroke-width:3px}.board-grid-lines-edge{stroke:#5b3013e6;stroke-width:4px}.board-grid>.board-cell{border:0}.rail-value-slot{z-index:auto}.rail-value-slot.is-empty-value{border:0;box-shadow:inset 0 0 0 1px #693d1dc7,inset .12rem .14rem .22rem #52280d57,inset -.08rem -.08rem .16rem #ffe8bb57,0 .05rem #ffdeaa33}.rail-value-slot.is-empty-value .die-face.is-placeholder{z-index:2;display:block;opacity:1;filter:none;transform:none;transform-style:flat}.rail-value-slot.is-empty-value .die-face.is-placeholder .die-face-surface{display:grid;opacity:1;visibility:visible;transform:none}.rail-value-slot.is-empty-value .die-face.is-placeholder .pip{min-width:3px;min-height:3px;background:#522c13ad;box-shadow:inset .045rem .055rem .065rem #281105d1,.035rem .04rem #ffefc86b}.dice-rail-groove,.opponent-dice-rail{border-width:.14rem .22rem .38rem;box-shadow:inset -.22rem .2rem .28rem #fff7dc61,inset .18rem -.24rem .32rem #5b2b0d4d,0 0 0 .08rem #4a2008b8,-.28rem .68rem .82rem #10050175}.dice-rail-groove:before,.opponent-dice-rail:before{right:-.12rem;bottom:-.46rem;left:-.12rem;height:.56rem;border-color:color-mix(in srgb,var(--rail-accent, var(--tray-player-color)),#67300f 58%);border-top-color:color-mix(in srgb,var(--rail-accent, var(--tray-player-color)),white 24%);border-radius:0 0 .78rem .78rem;transform:perspective(9rem) rotateX(-34deg)}.floating-reroll-tray{border-width:.34rem .5rem .68rem;box-shadow:inset -.3rem .28rem .4rem #fff6d770,inset .26rem -.32rem .44rem #5b2b0d52,-.48rem 1rem 1.25rem #0f050185}.floating-reroll-tray:before{bottom:-.58rem;height:.72rem}:root,html,body{background-color:#351607;background-image:linear-gradient(#2e12051f,#14070257),url(../textures/dark-walnut-table.png);background-position:center;background-size:cover,38rem auto}.boot-loader,.splash-screen,.setup-screen,.game-shell{background-color:#351607;background-image:linear-gradient(#2e12051a,#14070261),url(../textures/dark-walnut-table.png);background-position:center;background-size:cover,38rem auto}.setup-panel,.menu-panel,.online-card{--muted: #714522;position:relative;overflow:visible;border-color:#6f3b17c2;border-width:.18rem .28rem .52rem;background-color:#d7a969;background-image:linear-gradient(145deg,rgba(255,250,226,.42),transparent 34%),linear-gradient(180deg,#ffedc429,#6936121a),url(../textures/pale-maple-board.png);background-position:center;background-size:cover,cover,20rem auto;color:#3b1d0c;box-shadow:inset -.34rem .3rem .42rem #fff7da7a,inset .28rem -.32rem .46rem #5b2b0d47,0 0 0 .1rem #3d1906b8,-.5rem 1rem 1.34rem #0d040180}.setup-panel:after,.menu-panel:after,.online-card:after{position:absolute;z-index:0;right:.12rem;bottom:-.48rem;left:.12rem;height:.58rem;border:.08rem solid rgba(76,34,9,.7);border-top-color:#ffe2ae57;border-radius:0 0 .9rem .9rem;background-color:#a96832;background-image:linear-gradient(180deg,#ffe2ae38,#4c200875),url(../textures/pale-maple-board.png);background-position:center;background-size:cover,18rem auto;box-shadow:inset -.2rem 0 .22rem #ffebc12e,inset 0 -.2rem .28rem #37150566,-.3rem .48rem .68rem #0d040180;content:"";pointer-events:none;transform:perspective(10rem) rotateX(-32deg);transform-origin:center top}.setup-panel>*,.menu-panel>*,.online-card>*{position:relative;z-index:1}.setup-panel h1,.menu-panel h2,.online-card h2,.setup-section-heading,.create-game-summary,.online-profile-row strong{color:#3b1d0c;text-shadow:0 .06rem 0 rgba(255,246,216,.62)}.setup-copy,.menu-panel>p,.online-card>p,.online-label,.online-empty,.setup-section-heading span,.create-game-summary span{color:#714522}.home-action-button,.home-action-button.is-local,.home-action-button.is-online,.home-action-button.is-friends,.home-action-button.is-settings,.primary-button,.secondary-button,.count-selector button,.online-list-item,.seat-card,.create-slot,.seat-type-switch,.difficulty-selector,.create-game-summary,.rules-grid,.tabletop-toggle,.online-room-code,.online-card input,.online-card select{--muted: #f5d99b;border-color:#d69d5b7a;background-color:#3d1909;background-image:linear-gradient(145deg,rgba(255,211,144,.12),transparent 38%),linear-gradient(180deg,#5c280e33,#1a08025c),url(../textures/dark-walnut-table.png);background-position:center;background-size:cover,cover,13rem auto;color:#fff3c9;box-shadow:inset -.18rem .16rem .22rem #ffe0ab29,inset .16rem -.2rem .26rem #11050175,-.18rem .42rem .58rem #19080266}.home-action-button,.primary-button,.secondary-button,.count-selector button{border-style:solid;border-width:.08rem .1rem .26rem}.home-action-button strong,.online-list-item strong,.seat-card-heading strong,.create-slot strong,.rules-grid strong{color:#fff6d4;text-shadow:0 .08rem 0 rgba(0,0,0,.48)}.home-action-button span,.online-list-item span,.seat-card-heading div>span,.create-slot span,.create-game-summary span,.rules-grid span,.tabletop-toggle small{color:#f0cf8f}.count-selector button.is-active,.seat-type-switch button.is-active,.difficulty-selector button.is-active{border-color:#f1bd4c;background-color:#4a200c;background-image:linear-gradient(180deg,#f5be292e,#3d160633),url(../textures/dark-walnut-table.png);background-size:cover,12rem auto;color:#fff2b9;box-shadow:inset 0 0 0 .1rem #f5be299e,inset 0 .12rem #ffefc133,-.14rem .3rem .46rem #16070266}.primary-button{border-color:#f4bb43b8;color:#fff0b3}.create-slot-remove{border-color:#ffbca6b8;background:linear-gradient(180deg,#db4b35,#8f2017);color:#fff8ee}.setup-warning{color:#8e2118;text-shadow:0 .04rem rgba(255,237,199,.44)}.opening-roll-tray{position:fixed;z-index:85;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;box-sizing:border-box;border:.42rem solid transparent;border-radius:1.2rem;background-image:linear-gradient(#fff6d612,#763e1414),url(../textures/pale-maple-board.png),url(../textures/dark-walnut-table.png);background-origin:padding-box,padding-box,border-box;background-clip:padding-box,padding-box,border-box;background-position:center;background-size:cover,24rem auto,28rem auto;box-shadow:inset 0 0 0 .12rem #6132126b,inset .3rem .34rem .46rem #ffedc466,inset -.35rem -.42rem .52rem #50240a59,-.48rem 1rem 1.25rem #0f050194;padding:.58rem;pointer-events:auto}.opening-roll-tray>strong{position:relative;z-index:2;justify-self:center;max-width:calc(100% - 1rem);border-radius:999px;background:#371707d6;color:#fff2c2;font-size:clamp(.82rem,3.2vw,1.15rem);font-weight:950;line-height:1.1;padding:.38rem .82rem;text-align:center;text-shadow:0 .08rem rgba(0,0,0,.5);box-shadow:0 .28rem .5rem #00000052}.opening-roll-stage{position:relative;z-index:1;min-width:0;min-height:0}.opening-roll-stage .reroll-3d-stage,.opening-roll-stage .reroll-3d-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.opening-roll-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#6c3515;font-weight:900}.opening-roll-results{position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(4.2rem,1fr));gap:.32rem}.opening-roll-results>span{--opening-player-color: var(--blue);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem;min-width:0;border:.1rem solid color-mix(in srgb,var(--opening-player-color),#fff4c7 24%);border-radius:.62rem;background:#371707db;color:color-mix(in srgb,var(--opening-player-color),white 22%);padding:.35rem .46rem;box-shadow:inset 0 .07rem #ffffff1f,0 .2rem .38rem #00000047}.opening-roll-results>span.is-high-roll{background:color-mix(in srgb,var(--opening-player-color),#351607 68%);box-shadow:inset 0 .07rem #ffffff2e,0 0 .58rem color-mix(in srgb,var(--opening-player-color),transparent 38%)}.opening-roll-results b{overflow:hidden;font-size:clamp(.62rem,2.5vw,.82rem);text-overflow:ellipsis;white-space:nowrap}.opening-roll-results em{min-width:1.35rem;color:#fff7d7;font-size:clamp(.86rem,3.5vw,1.15rem);font-style:normal;font-weight:950;text-align:center}.opening-roll-tray>small{position:absolute;z-index:3;right:.7rem;bottom:3.45rem;left:.7rem;color:#5b2b11;font-size:.68rem;font-weight:850;text-align:center}@media(prefers-reduced-motion:reduce){.opening-roll-tray{transition:none}}
