.dice-game{background:radial-gradient(circle at 50% -8%,#ffb17530,#0000 38%),linear-gradient(145deg,#ffffff06,#0000 34%),#151016;border:1px solid #ff915f57;border-radius:clamp(22px,4vw,32px);gap:clamp(16px,3vw,24px);width:min(100%,780px);margin:0 auto;padding:clamp(18px,4vw,38px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0f,0 24px 70px #0000003d}.dice-game:before{pointer-events:none;content:"";background-image:linear-gradient(115deg,#0000 25%,#ffffff06 42%,#0000 58%);position:absolute;inset:0}.dice-game header{z-index:2;text-align:center;gap:7px;display:grid;position:relative}.dice-game header h1{text-wrap:balance;margin:0;font-size:clamp(28px,7vw,58px);line-height:1.02}.dice-game header span,.dice-bid{color:var(--muted);text-align:center}.dice-rack{z-index:3;flex-wrap:wrap;justify-content:center;gap:clamp(10px,2.2vw,17px);display:flex;position:relative}.dice-rack.private{background:#ff915f09;border:1px dashed #ff915fb8;border-radius:18px;padding:15px}.box-row,.dice-actions,.bid-controls{z-index:2;flex-wrap:wrap;justify-content:center;gap:9px;display:flex;position:relative}.box-row button{color:#24130e;background:#db965f;border:2px solid #8f553d;border-radius:8px;width:48px;height:64px;font-weight:950;transition:translate .18s,border-color .18s}.box-row button.selected{border-color:var(--lime);translate:0 -7px}.dice-actions button,.bid-controls button{color:#23120c;background:linear-gradient(#ffae78,#ff8a55);border:0;border-radius:999px;min-height:48px;padding:0 22px;font-weight:950;transition:transform .16s,filter .16s,box-shadow .16s;box-shadow:0 7px 18px #ff6f3e33,inset 0 1px #ffffff73}.dice-actions button:not(:disabled):hover,.bid-controls button:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 9px 24px #ff6f3e47,inset 0 1px #ffffff73}.dice-actions button:not(:disabled):active,.bid-controls button:not(:disabled):active{transform:translateY(1px)scale(.98)}.dice-actions button:disabled,.bid-controls button:disabled{cursor:not-allowed;filter:saturate(.45);opacity:.58}.bid-controls input,.bid-controls select{border:1px solid var(--line);color:#fff;background:#211820;border-radius:12px;min-height:48px;padding:0 14px}.morris-board{background:#21192e}.dice-roll-stage{perspective:1000px;isolation:isolate;background:radial-gradient(at 50% 48%,#ff915f1f,#0000 54%),linear-gradient(#ffffff06,#0000001a);border:1px solid #ffffff0e;border-radius:26px;place-items:center;min-height:clamp(190px,34vw,264px);padding:clamp(32px,6vw,52px) 12px 58px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0b,inset 0 -35px 70px #0000001c}.dice-stage-glow{filter:blur(34px);opacity:.64;pointer-events:none;background:#ffab701b;border-radius:50%;width:80%;height:95%;position:absolute;top:-40%;left:50%;transform:translate(-50%)}.dice-stage-floor{filter:blur(3px);opacity:.76;pointer-events:none;background:radial-gradient(#ff915f1f,#0000003b 48%,#0000 72%);border-radius:50%;height:38%;position:absolute;bottom:22px;left:8%;right:8%;transform:perspective(240px)rotateX(64deg)}.dice-game.is-tossing .dice-stage-glow{animation:.62s ease-in-out infinite alternate dice-glow-breathe}.dice-rack .die-button{--die-size:clamp(58px,13vw,88px);--die-half:calc(var(--die-size)/2);z-index:2;width:var(--die-size);height:var(--die-size);color:inherit;box-shadow:none;perspective:600px;isolation:isolate;cursor:default;translate:var(--die-land-x) var(--die-land-y);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;border-radius:0;padding:0;display:block;position:relative;overflow:visible}.dice-rack button.die-button:not(:disabled){cursor:pointer}.dice-rack .die-button:after{z-index:-1;content:"";filter:blur(7px);background:#00000094;border-radius:50%;height:19%;transition:transform .3s,opacity .3s;position:absolute;bottom:-19%;left:10%;right:10%;transform:rotateX(68deg)}.dice-rack .die-button.held:before{z-index:8;background:var(--lime);color:#17200b;content:"HELD";letter-spacing:.09em;border:1px solid #ffffff8c;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:1000;line-height:1;position:absolute;top:-14px;left:50%;transform:translate(-50%);box-shadow:0 3px 10px #00000052}.die-cube{--rest-x:var(--die-rest-x,-9deg);--rest-y:var(--die-rest-y,11deg);--rest-z:var(--die-rest-z,0deg);transform:rotateX(var(--rest-x)) rotateY(var(--rest-y)) rotateZ(var(--rest-z));transform-style:preserve-3d;transition:transform .39s cubic-bezier(.17,.84,.22,1);display:block;position:absolute;inset:0}.die-core{transform-style:preserve-3d;display:block;position:absolute;inset:0}.die-core-face{backface-visibility:hidden;background:#e8d9c3;border:1px solid #76533b33;border-radius:8%;display:block;position:absolute;inset:-1px;box-shadow:inset 3px 3px 7px #ffffffa6,inset -4px -4px 7px #5c3a252e}.die-core-face-1{transform:translateZ(calc(var(--die-half) - 1px))}.die-core-face-2{transform:rotateY(180deg) translateZ(calc(var(--die-half) - 1px))}.die-core-face-3{transform:rotateY(90deg) translateZ(calc(var(--die-half) - 1px))}.die-core-face-4{transform:rotateY(-90deg) translateZ(calc(var(--die-half) - 1px))}.die-core-face-5{transform:rotateX(90deg) translateZ(calc(var(--die-half) - 1px))}.die-core-face-6{transform:rotateX(-90deg) translateZ(calc(var(--die-half) - 1px))}.die-face{backface-visibility:hidden;background:linear-gradient(145deg,#fffefa 0%,#f5ead9 58%,#d5c0a3 100%);border:1px solid #ffffffd1;border-radius:12%;display:block;position:absolute;inset:2px;overflow:hidden;box-shadow:inset 7px 7px 12px #ffffffd6,inset -7px -8px 12px #5b371f2b,0 0 0 .5px #5b371f1a}.die-face:after{content:"";pointer-events:none;background:linear-gradient(120deg,#ffffff61,#0000 32%,#784c2c0b 76%);position:absolute;inset:0}.die-face-1{transform:translateZ(var(--die-half))}.die-face-2{transform:rotateY(180deg) translateZ(var(--die-half))}.die-face-3{transform:rotateY(90deg) translateZ(var(--die-half));filter:brightness(.9)}.die-face-4{transform:rotateY(-90deg) translateZ(var(--die-half));filter:brightness(.84)}.die-face-5{transform:rotateX(90deg) translateZ(var(--die-half));filter:brightness(1.04)}.die-face-6{transform:rotateX(-90deg) translateZ(var(--die-half));filter:brightness(.78)}.dice-rack .die-pip{z-index:2;aspect-ratio:1;background:radial-gradient(circle at 38% 32%,#62453e 0 13%,#241412 48%,#050303 100%);border:0;border-radius:50%;width:15%;height:auto;font-size:0;display:block;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 1px 2px 3px #000,0 1px 1px #ffffff7a}.die-pip-tl{top:22%;left:22%}.die-pip-tr{top:22%;left:78%}.die-pip-ml{top:50%;left:22%}.die-pip-mc{top:50%;left:50%}.die-pip-mr{top:50%;left:78%}.die-pip-bl{top:78%;left:22%}.die-pip-br{top:78%;left:78%}.dice-rack .die-button.held{translate:var(--die-land-x) calc(var(--die-land-y) - 11px);box-shadow:none}.die-button.held .die-face{border-color:#d8ff84d1;box-shadow:inset 7px 7px 12px #ffffffd6,inset -7px -8px 12px #5b371f2b,0 0 8px #c8ff5585}.die-button.held:after{opacity:.42;transform:rotateX(68deg)scale(.72)}.dice-game.is-tossing .die-button.rolling{pointer-events:none;box-shadow:none}.dice-game.is-tossing .die-button.rolling .die-cube{will-change:transform;animation:.62s cubic-bezier(.37,.02,.3,1) infinite die-cube-tumble}.dice-game.is-tossing .die-button.rolling:after{animation:.62s ease-in-out infinite die-shadow-flight}.dice-game.is-settling .die-button.rolling{pointer-events:none;box-shadow:none}.dice-game.is-settling .die-button.rolling .die-cube{will-change:transform;animation:.42s cubic-bezier(.18,.72,.2,1) both die-cube-settle}.dice-game.is-settling .die-button.rolling:after{animation:.42s ease-out both die-shadow-settle}.dice-game.is-revealed .die-face{animation:.68s ease-out both die-result-glint}.dice-motion-lines{z-index:1;pointer-events:none;position:absolute;inset:14px 5% 40px;overflow:hidden;transform:rotate(-4deg)}.dice-motion-lines i{filter:blur(.35px);background:linear-gradient(90deg,#0000,#ffad78d6,#0000);border-radius:999px;width:38%;height:3px;animation:.51s ease-out infinite dice-streak;position:absolute;top:27%;left:4%}.dice-motion-lines i:nth-child(2){width:44%;animation-delay:-170ms;top:55%;left:45%}.dice-motion-lines i:nth-child(3){width:29%;animation-delay:-340ms;top:74%;left:18%}.dice-impact-ring{z-index:1;aspect-ratio:4;pointer-events:none;border:3px solid #ffb77ed1;border-radius:50%;width:42%;animation:.56s ease-out both dice-impact-ring;position:absolute;bottom:15%;left:50%;transform:translate(-50%);box-shadow:0 0 16px #ff915f59}.dice-roll-status{z-index:5;color:#ffd4b6;letter-spacing:.11em;text-align:center;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#130c11c2;border:1px solid #ffffff1c;border-radius:999px;min-width:96px;padding:6px 12px;font-size:11px;font-weight:900;animation:.26s ease-out both dice-status-arrive;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 5px 16px #0003}.dice-roll-announcer{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.dice-ready-state{z-index:3;color:#ffdcc39e;letter-spacing:.13em;text-transform:uppercase;place-items:center;gap:10px;font-size:11px;font-weight:900;display:grid;position:relative}.dice-ready-dots{background:#ffffff05;border:1px dashed #ffae7652;border-radius:13px;justify-content:center;align-items:center;gap:7px;width:76px;height:46px;display:flex;box-shadow:inset 0 0 18px #ff915f0a}.dice-ready-dots i{aspect-ratio:1;background:#ffb582a8;border-radius:50%;width:6px;display:block;box-shadow:0 0 8px #ff915f42}.dice-waiting-state{z-index:3;color:#ffdcc3b8;letter-spacing:.1em;text-align:center;text-transform:uppercase;place-items:center;gap:12px;font-size:11px;font-weight:900;display:grid;position:relative}.dice-waiting-mark{background:#ff915f09;border:1px solid #ffae7647;border-radius:15px;justify-content:center;align-items:center;gap:7px;width:78px;height:48px;display:flex;box-shadow:inset 0 0 20px #ff915f0e}.dice-waiting-mark i{aspect-ratio:1;background:#ffb786b8;border-radius:50%;width:7px;display:block}.dice-game.is-waiting .dice-stage-glow{opacity:.34}.dice-game.is-waiting .dice-roll-status{animation:none}@keyframes die-cube-tumble{0%{transform:translate3d(var(--die-x-start),9px,0) rotateX(0deg) rotateY(0deg) rotateZ(var(--die-z-start)) scale(.96)}38%{transform:translate3d(var(--die-x-apex),-32px,42px) rotateX(286deg) rotateY(232deg) rotateZ(var(--die-z-apex)) scale(1.06)}72%{transform:translate3d(var(--die-x-bounce),5px,5px) rotateX(518deg) rotateY(474deg) rotateZ(var(--die-z-bounce)) scale(.985)}to{transform:translate3d(var(--die-x-start),9px,0) rotateX(var(--die-spin-x)) rotateY(var(--die-spin-y)) rotateZ(calc(var(--die-spin-z) + var(--die-z-start))) scale(.96)}}@keyframes die-shadow-flight{0%,72%{opacity:.68;transform:rotateX(68deg)scale(1)}38%,to{opacity:.15;transform:rotateX(68deg)scale(.42)}}@keyframes die-cube-settle{0%{transform:translate3d(var(--die-x-start),9px,0) rotateX(var(--die-spin-x)) rotateY(var(--die-spin-y)) rotateZ(calc(var(--die-spin-z) + var(--die-z-start))) scale(.96)}46%{transform:translate3d(0,6px,0) rotateX(calc(var(--rest-x) + 24deg)) rotateY(calc(var(--rest-y) - 18deg)) rotateZ(calc(var(--rest-z) + 8deg)) scale(.97,1.025)}70%{transform:translate3d(0,-4px,4px) rotateX(calc(var(--rest-x) - 9deg)) rotateY(calc(var(--rest-y) + 7deg)) rotateZ(calc(var(--rest-z) - 3deg)) scale(1.012)}86%{transform:translate3d(0,1px,0) rotateX(calc(var(--rest-x) + 3deg)) rotateY(calc(var(--rest-y) - 2deg)) rotateZ(var(--rest-z)) scale(.995,1.005)}to{transform:translate3d(0,0,0) rotateX(var(--rest-x)) rotateY(var(--rest-y)) rotateZ(var(--rest-z)) scale(1)}}@keyframes die-shadow-settle{0%{opacity:.2;transform:rotateX(68deg)scale(.48)}42%{opacity:.76;transform:rotateX(68deg)scale(1.1)}to{opacity:.58;transform:rotateX(68deg)scale(1)}}@keyframes die-result-glint{0%{filter:brightness()}35%{filter:brightness(1.14)}to{filter:brightness()}}@keyframes dice-streak{0%{opacity:0;transform:translate(-45%)scaleX(.2)}35%{opacity:.9}to{opacity:0;transform:translate(165%)scaleX(1)}}@keyframes dice-impact-ring{0%{opacity:.9;transform:translate(-50%)scale(.3)}to{opacity:0;transform:translate(-50%)scale(3.2)}}@keyframes dice-status-arrive{0%{opacity:0;transform:translate(-50%,6px)scale(.94)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes dice-glow-breathe{0%{opacity:.35;transform:translate(-50%)scale(.9)}to{opacity:.82;transform:translate(-50%)scale(1.12)}}@media (min-width:800px){.dice-game.is-display{gap:clamp(24px,3vw,38px);width:min(100%,1180px);padding:clamp(30px,4vw,58px)}.dice-game.is-display header h1{font-size:clamp(48px,5.2vw,76px)}.dice-game.is-display header span{font-size:clamp(16px,1.5vw,22px)}.dice-game.is-display .dice-roll-stage{border-radius:36px;min-height:clamp(330px,37vw,470px);padding:72px 28px 86px}.dice-game.is-display .dice-rack{gap:clamp(20px,2.2vw,32px)}.dice-game.is-display .dice-rack .die-button{--die-size:clamp(108px,10vw,136px)}.dice-game.is-display .dice-roll-status{padding:9px 18px;font-size:14px;bottom:25px}.dice-game.is-display .dice-ready-state{font-size:15px}.dice-game.is-display .dice-ready-dots{width:112px;height:68px}}@media (max-width:520px){.dice-game{padding:16px 12px 20px}.dice-roll-stage{min-height:220px;padding-inline:7px}.dice-rack{gap:13px 11px}.dice-rack[data-dice-count="6"]{width:min(100%,260px)}.dice-rack .die-button{--die-size:clamp(56px,20vw,76px)}.dice-actions button{min-width:104px}}@media (prefers-reduced-motion:reduce){.die-cube,.box-row button,.dice-actions button,.bid-controls button{transition:none}.dice-game.is-tossing .die-button.rolling,.dice-game.is-tossing .die-button.rolling .die-cube,.dice-game.is-tossing .die-button.rolling:after,.dice-game.is-settling .die-button.rolling,.dice-game.is-settling .die-button.rolling:after,.dice-game.is-revealed .die-face,.dice-stage-glow,.dice-roll-status{animation:none}.dice-motion-lines,.dice-impact-ring{display:none}}
