:root{--background:#090b0f;--foreground:#f4f5ef;--card:#12151b;--card-foreground:#f4f5ef;--primary:#c9ff4a;--primary-foreground:#0b0d10;--secondary:#191d24;--secondary-foreground:#eef0e8;--muted:#171a20;--muted-foreground:#91978a;--accent:#252b31;--accent-foreground:#fff;--destructive:#ff624d;--border:#ffffff17;--input:#ffffff1f;--ring:#c9ff4a;--radius:.8rem}*{box-sizing:border-box}body{color:var(--foreground);font-family:var(--font-sans);background:#090b0f;min-width:320px;margin:0}.game-shell{background:radial-gradient(circle at 50% 35%,#29321d55 0,#0000 28%),linear-gradient(145deg,#090b0f,#101217 68%,#080a0d);min-height:100svh;padding-bottom:52px;position:relative;overflow-x:hidden}.game-shell:before{content:"";opacity:.06;pointer-events:none;background-image:linear-gradient(#fff 1px,#0000 1px),linear-gradient(90deg,#fff 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0}.topbar{z-index:2;border-bottom:1px solid #ffffff12;grid-template-columns:1fr auto 1fr;align-items:center;height:78px;padding:0 clamp(18px,4vw,56px);display:grid;position:relative}.brand{align-items:center;gap:11px;display:flex}.brand-mark{color:#0c0e11;background:#c9ff4a;border-radius:10px;place-items:center;width:35px;height:35px;font-weight:900;display:grid;box-shadow:0 0 28px #c9ff4a26}.brand b{letter-spacing:.12em;font-size:16px;display:block}.brand small{color:#6f756a;letter-spacing:.15em;margin-top:2px;font-size:10px;display:block}.score{grid-template-columns:1fr 15px 1fr;align-items:center;column-gap:10px;font-size:15px;display:grid}.score span:first-child{text-align:right}.score b{margin:0 4px;font-size:26px}.score i{color:#51574e;font-style:normal}.score small{text-align:center;color:#777d72;letter-spacing:.12em;grid-column:1/-1;font-size:11px}.debug-toggle{color:#777d72;justify-self:end}.table{background:linear-gradient(#13171de8,#0d1015eb);border:1px solid #ffffff17;border-radius:28px;width:min(960px,100% - 32px);margin:26px auto 0;position:relative;overflow:hidden;box-shadow:0 40px 90px #0008,inset 0 1px #ffffff12}.table:after{content:"";pointer-events:none;border-radius:28px;position:absolute;inset:0;box-shadow:inset 0 0 80px #0005}.ai-zone{border-bottom:1px solid #ffffff0f;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:128px;padding:23px clamp(20px,4vw,42px);display:grid}.avatar{color:#c9ff4a;background:linear-gradient(145deg,#272d24,#12150f);border:1px solid #c9ff4a3d;border-radius:17px;place-items:center;width:54px;height:54px;display:grid;position:relative}.pulse{background:#c9ff4a;border-radius:50%;width:9px;height:9px;position:absolute;bottom:2px;right:-2px;box-shadow:0 0 14px #c9ff4a}.name-line{align-items:center;gap:10px;display:flex}.name-line b{font-size:19px}.name-line span{color:#858b80;border:1px solid #ffffff16;border-radius:99px;padding:3px 8px;font-size:11px}.ai-line{color:#c9cdbf;margin-top:8px;font-size:15px}.dice-row{flex-wrap:wrap;gap:9px;display:flex}.die{color:#11141a;background:#e8eadf;border-radius:12px;place-items:center;width:50px;height:50px;font-size:22px;font-weight:900;display:grid;box-shadow:0 7px #aeb2a8,0 12px 25px #0006}.hidden-die{color:#60665d;background:#1a1e24;border:1px solid #30363c;box-shadow:0 7px #080a0d,0 12px 25px #0007}.rolling{animation:.65s ease-in-out both roll}@keyframes roll{0%{opacity:.3;transform:translateY(-16px)rotate(-16deg)}45%{transform:translateY(5px)rotate(8deg)}to{opacity:1;transform:none}}.bid-stage{flex-direction:column;justify-content:center;align-items:center;height:195px;display:flex;position:relative}.eyebrow,.section-label{letter-spacing:.18em;text-transform:uppercase;color:#71776d;font-size:11px}.big-bid{align-items:baseline;gap:9px;margin:4px 0;display:flex}.big-bid strong,.big-bid b{font-size:68px;font-weight:850;line-height:1}.big-bid b{color:#c9ff4a}.big-bid span{color:#6d7469;font-size:19px}.big-bid.empty{color:#4d534c;font-size:34px;font-weight:750}.turn-state{color:#c9ff4a;background:#c9ff4a12;border:1px solid #c9ff4a24;border-radius:99px;padding:5px 11px;font-size:12px}.player-zone{border-top:1px solid #ffffff0d;padding:18px clamp(20px,4vw,42px) 28px}.section-label{justify-content:center;gap:12px;margin-bottom:16px;display:flex}.section-label em{color:#c9ff4a;font-style:normal}.player-zone .dice-row{justify-content:center}.player-zone .die{width:62px;height:62px;font-size:26px}.controls{z-index:2;background:#0a0c10b8;border-top:1px solid #ffffff14;grid-template-columns:1.5fr 1fr auto;align-items:end;gap:24px;padding:21px clamp(18px,4vw,42px);display:grid;position:relative}.picker-block label{color:#858b81;margin-bottom:8px;font-size:12px;display:block}.picker-grid{grid-template-columns:repeat(6,38px);gap:5px;display:grid}.quantity-grid{grid-template-columns:repeat(6,34px)}.picker-grid button{color:#a8ada3;cursor:pointer;background:#171b20;border:1px solid #ffffff12;border-radius:8px;height:36px}.picker-grid button:hover:not(:disabled){border-color:#c9ff4a66}.picker-grid button.active{color:#0b0d10;background:#c9ff4a;border-color:#c9ff4a;font-weight:800}.picker-grid button:disabled{opacity:.18;cursor:not-allowed}.action-row{gap:8px;display:flex}.call-btn{min-width:130px;height:48px;font-weight:800}.open-btn{color:#ff7868;border-color:#ff624d66;width:58px;height:48px}.result-card{z-index:2;background:#0a0c10d6;border-top:1px solid #ffffff14;grid-template-columns:1fr auto auto;align-items:center;gap:26px;padding:20px clamp(18px,4vw,42px);display:grid;position:relative}.result-title{align-items:center;gap:12px;display:flex}.result-title svg{color:#c9ff4a}.result-title small{color:#8b9186}.result-title h2{margin:2px 0;font-size:25px}.breakdown{gap:8px;display:flex}.breakdown span{color:#858b81;border-left:1px solid #ffffff15;padding:0 12px;font-size:11px}.breakdown b{color:#fff;margin-top:3px;font-size:20px;display:block}.breakdown .total b{color:#c9ff4a}.next-btn{height:46px}.stats-strip{color:#676d64;justify-content:center;gap:25px;margin:17px auto;font-size:12px;display:flex}.stats-strip b{color:#bcc0b7;margin-left:4px}.debug-panel{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#10141af2;border:1px solid #c9ff4a36;border-radius:18px;width:min(390px,100% - 36px);max-height:calc(100svh - 115px);position:fixed;top:94px;right:18px;overflow:auto;box-shadow:0 24px 70px #000b}.debug-head{color:#c9ff4a;letter-spacing:.12em;border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:14px 17px;font:700 11px ui-monospace;display:flex}.debug-head>div{gap:8px;display:flex}.debug-head button{color:#8e958a;cursor:pointer;background:0 0;border:0}.debug-panel dl{grid-template-columns:88px 1fr;margin:0;padding:7px 17px 16px;font:12px/1.55 ui-monospace;display:grid}.debug-panel dt,.debug-panel dd{border-bottom:1px solid #ffffff0d;padding:8px 0}.debug-panel dt{color:#6f776d}.debug-panel dd{color:#c7ccc2;margin:0}@media (width<=760px){.topbar{height:68px;padding:0 14px}.brand small{display:none}.brand-mark{width:31px;height:31px}.score b{font-size:21px}.table{border-radius:20px;width:calc(100% - 18px);margin-top:10px}.ai-zone{grid-template-columns:auto 1fr;padding:18px}.ai-zone>.dice-row{grid-column:1/-1;justify-content:center}.ai-zone .die{width:42px;height:42px}.bid-stage{height:145px}.big-bid strong,.big-bid b{font-size:53px}.player-zone{padding:16px}.player-zone .die{width:51px;height:51px}.controls{grid-template-columns:1fr;gap:15px;padding:18px}.picker-grid{grid-template-columns:repeat(6,1fr)}.quantity-grid{grid-template-columns:repeat(11,1fr);overflow:auto}.picker-grid button{min-width:30px}.action-row{grid-template-columns:1fr 72px;display:grid}.call-btn{width:100%}.result-card{grid-template-columns:1fr}.breakdown{justify-content:space-between;gap:0}.next-btn{width:100%}.stats-strip{flex-wrap:wrap;gap:12px}.brand b,.ai-line{font-size:14px}}@media (width<=410px){.score small{display:none}.score{column-gap:3px}.score b{margin:0 2px}.topbar{grid-template-columns:1fr auto auto}.player-zone .dice-row,.ai-zone .dice-row{gap:6px}.player-zone .die{width:48px;height:48px}.quantity-grid{grid-template-columns:repeat(6,1fr)}}.button{color:#0b0d10;font:inherit;cursor:pointer;background:#c9ff4a;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.button:disabled{opacity:.35;cursor:not-allowed}.debug-toggle{background:0 0;padding:8px}.open-btn{background:0 0}.dice-tray{perspective:720px;justify-content:center;align-items:center;gap:clamp(8px,2vw,18px);min-height:74px;display:flex}.dice-scene{--dice-size:54px;--half:27px;width:var(--dice-size);height:var(--dice-size);perspective:620px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;padding:0}.dice-scene:disabled{opacity:1}.dice-cube{width:100%;height:100%;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.2,.8,.2,1),filter .25s;display:block;position:relative}.cube-face{backface-visibility:hidden;background:linear-gradient(145deg,#fffef5 0%,#e8e5d8 72%,#cbc7ba 100%);border:1px solid #fff;border-radius:12px;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:9px;display:grid;position:absolute;inset:0;box-shadow:inset 3px 3px 8px #fff,inset -4px -5px 10px #a9a59866}.cube-front{transform:translateZ(var(--half))}.cube-back{transform:rotateY(180deg) translateZ(var(--half))}.cube-right{transform:rotateY(90deg) translateZ(var(--half))}.cube-left{transform:rotateY(-90deg) translateZ(var(--half))}.cube-top{transform:rotateX(90deg) translateZ(var(--half))}.cube-bottom{transform:rotateX(-90deg) translateZ(var(--half))}.pip{border-radius:50%;place-self:center;width:8px;height:8px}.pip.on{background:radial-gradient(circle at 35% 30%,#4b4c49,#111311 68%);box-shadow:inset 1px 1px 2px #0009,0 1px #fff8}.dice-scene:not(:disabled):hover .dice-cube{filter:drop-shadow(0 13px 9px #0009);transform:translateY(-5px)rotateX(-9deg)rotateY(8deg)!important}.dice-scene.is-tapped{animation:.52s diceTap}.dice-scene.is-rolling{animation:1.05s cubic-bezier(.2,.65,.3,1) both diceToss;animation-delay:var(--delay)}.dice-scene.is-rolling .dice-cube{animation:1.05s cubic-bezier(.18,.72,.24,1) both cubeSpin;animation-delay:var(--delay)}.dice-tray.is-revealed{animation:.65s cubic-bezier(.2,.8,.2,1) both diceReveal}@keyframes diceTap{45%{transform:translateY(-8px)rotate(7deg)}to{transform:none}}@keyframes diceToss{0%{opacity:.2;transform:translateY(-42px)scale(.8)}48%{transform:translate(5px,8px)scale(1.06)}75%{transform:translate(-2px,-4px)}to{opacity:1;transform:none}}@keyframes cubeSpin{0%{transform:rotateX(-300deg)rotateY(240deg)rotate(-90deg)}to{}}@keyframes diceReveal{0%{opacity:0;transform:translateY(18px)scale(.88)}to{opacity:1;transform:none}}.ai-dice-stage{justify-content:center;min-width:300px;display:flex}.dice-cup-wrap{color:#626960;letter-spacing:.12em;flex-direction:column;justify-content:flex-end;align-items:center;height:86px;font-size:10px;display:flex}.dice-cup{background:linear-gradient(110deg,#292f37,#11151b 55%,#303640);border:1px solid #ffffff25;border-radius:17px 17px 27px 27px;width:116px;height:66px;position:relative;box-shadow:inset 10px 0 18px #fff1,0 14px 25px #0009}.dice-cup:before{content:"";background:linear-gradient(#303740,#15191f);border:1px solid #ffffff24;border-radius:50%;height:16px;position:absolute;top:-12px;left:22px;right:22px}.dice-cup:after{content:"";background:#090b0e;border:1px solid #3d444c;border-radius:50%;height:12px;position:absolute;bottom:-5px;left:-6px;right:-6px}.dice-cup span{background:linear-gradient(100deg,#ffffff10,#0000);border-radius:14px;position:absolute;inset:10px 20px 16px}.dice-cup-wrap small{margin-top:12px}.ai-copy{min-width:0}.mini-face{background:#222;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 3px #eeeee4}.face-grid button{justify-content:center;align-items:center;gap:7px;min-width:44px;display:flex}.face-grid button.active .mini-face{background:#0a0d0b}.open-btn{min-width:84px;font-weight:800;color:#ffbd8f!important;background:linear-gradient(#ff9c5f12,#ff704008)!important;border:1px solid #ff9c5f70!important}.open-btn:hover{background:#ff9c5f1c!important}.action-row .button{min-height:48px}.game-shell{padding-bottom:max(52px,env(safe-area-inset-bottom))}@media (width<=760px){body{overscroll-behavior:none}.game-shell{min-height:100dvh;padding-bottom:max(12px,env(safe-area-inset-bottom));flex-direction:column;display:flex}.topbar{padding-top:env(safe-area-inset-top);flex:0 0 60px}.table{flex-direction:column;flex:1;min-height:0;margin:7px auto 0;display:flex}.ai-zone{grid-template-columns:42px minmax(0,1fr) auto;gap:10px;min-height:104px;padding:12px 14px}.avatar{border-radius:13px;width:42px;height:42px}.name-line b{font-size:16px}.name-line span{font-size:10px}.ai-line{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:5px;font-size:14px;line-height:1.35;display:-webkit-box;overflow:hidden}.ai-dice-stage{min-width:86px}.dice-cup-wrap{height:64px}.dice-cup{border-radius:12px 12px 18px 18px;width:74px;height:43px}.dice-cup:before{height:11px;top:-8px;left:16px;right:16px}.dice-cup-wrap small{display:none}.ai-dice-stage .dice-tray{gap:4px}.ai-dice-stage .dice-scene{--dice-size:38px;--half:19px}.ai-dice-stage .cube-face{border-radius:8px;padding:6px}.ai-dice-stage .pip{width:5px;height:5px}.bid-stage{flex:0 0 112px;height:112px}.eyebrow{font-size:10px}.big-bid{margin:2px 0}.big-bid strong,.big-bid b{font-size:46px}.big-bid.empty{font-size:27px}.turn-state{padding:4px 10px}.player-zone{flex:none;padding:10px 10px 16px}.section-label{margin-bottom:10px}.dice-tray{gap:clamp(6px,2.6vw,12px);min-height:57px}.dice-scene{--dice-size:48px;--half:24px}.cube-face{border-radius:10px;padding:7px}.pip{width:7px;height:7px}.controls{padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:#090b0ff5;grid-template-columns:1fr;gap:10px;margin-top:auto}.picker-block label{margin-bottom:5px}.picker-grid button{min-width:44px;height:44px}.quantity-grid{scroll-snap-type:x mandatory;padding-bottom:2px;display:flex;overflow-x:auto}.quantity-grid button{scroll-snap-align:start;flex:0 0 44px}.face-grid{grid-template-columns:repeat(6,1fr);gap:5px}.face-grid button{min-width:0}.action-row{gap:10px;display:flex}.call-btn{flex:1;min-width:0;height:52px}.open-btn{width:96px;height:52px}.stats-strip{display:none}.result-card{gap:13px;margin-top:auto;padding:14px}.result-title h2{font-size:22px}.breakdown span{padding:0 7px}.breakdown b{font-size:18px}.next-btn{height:50px}.debug-panel{max-height:calc(100dvh - 88px);top:72px}}@media (width>=761px){.player-zone .dice-scene{--dice-size:62px;--half:31px}.player-zone .cube-face{padding:10px}.player-zone .pip{width:9px;height:9px}}@media (width<=390px){.brand small{display:none}.ai-zone{grid-template-columns:38px minmax(0,1fr) 72px;padding-inline:10px}.avatar{width:38px;height:38px}.ai-dice-stage{min-width:72px}.dice-cup{width:64px}.player-zone{padding-inline:8px}.dice-tray{gap:6px}.dice-scene{--dice-size:46px;--half:23px}.cube-face{padding:7px}.controls{padding-inline:10px}.picker-grid button{min-width:42px}.quantity-grid button{flex-basis:42px}.face-grid button{min-width:0}.face-grid .mini-face{display:none}}@media (width<=375px){.dice-scene{--dice-size:44px;--half:22px}.dice-tray{gap:5px}.cube-face{padding:6px}.pip{width:6px;height:6px}.controls{gap:8px;padding-top:10px}.picker-grid button{height:44px}.bid-stage{flex-basis:101px;height:101px}.big-bid strong,.big-bid b{font-size:42px}}@media (prefers-reduced-motion:reduce){.dice-scene,.dice-cube,.dice-tray{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}@media (width<=760px){.game-shell{padding-bottom:0}.controls{padding-bottom:max(12px,env(safe-area-inset-bottom))}}.dice-scene.dice-static{cursor:default;transform-style:preserve-3d;background:0 0;border:0;display:block;position:relative;overflow:visible}.dice-body{width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(-10deg) rotateY(12deg) rotateZ(var(--tilt));filter:drop-shadow(0 7px 7px #0008);transition:transform .18s,filter .18s;display:block}.dice-shadow{z-index:-1;filter:blur(5px);opacity:.82;background:#000b;border-radius:50%;height:28%;transition:opacity .18s,filter .18s;position:absolute;bottom:-18%;left:8%;right:2%;transform:translateZ(-34px)rotate(-2deg)}.dice-scene.dice-static:hover .dice-body{transform:translateY(-3px) rotateX(-11deg) rotateY(13deg) rotateZ(var(--tilt));filter:drop-shadow(0 11px 9px #000a)}.dice-scene.dice-static:hover .dice-cube{transform:var(--result-transform)!important}.dice-scene.dice-static:hover .dice-shadow{opacity:.62;filter:blur(7px)}.dice-scene.dice-static .dice-cube{transition:none}.dice-scene.dice-static .cube-face{background:radial-gradient(circle at 28% 22%,#fff 0,#faf9f2 32%,#e5e2d7 75%,#c7c2b6 100%);border:1px solid #f8f6ed;border-radius:15px;box-shadow:inset 4px 4px 9px #fff,inset -5px -6px 12px #96928670,0 0 0 .5px #aca79d}.dice-scene.dice-static .pip.on{background:radial-gradient(circle at 37% 30%,#555,#111 62%,#050505);box-shadow:inset 1px 1px 3px #000d,0 1px 1px #fff}.dice-scene.dice-static.is-rolling{animation:1.08s cubic-bezier(.18,.7,.24,1) both diceTossV3;animation-delay:var(--delay)}.dice-scene.dice-static.is-rolling .dice-body{animation:1.08s cubic-bezier(.18,.72,.24,1) both diceBodyBounce;animation-delay:var(--delay)}.dice-scene.dice-static.is-rolling .dice-cube{animation:1.08s cubic-bezier(.18,.72,.24,1) both cubeSpinV3;animation-delay:var(--delay)}@keyframes diceTossV3{0%{transform:translate3d(calc(var(--drift) * -1),-34px,0) scale(.88)}28%{transform:translate3d(var(--drift),-8px,0) scale(1.03)}56%{transform:translate3d(calc(var(--drift) * -.45),5px,0) scale(.98)}76%{transform:translate(2px,-6px)}90%{transform:translate(-1px,1px)}to{transform:none}}@keyframes diceBodyBounce{0%{transform:rotateX(22deg)rotateY(-20deg)rotate(-14deg)}55%{transform:rotateX(-17deg)rotateY(20deg)rotate(8deg)}to{transform:rotateX(-10deg) rotateY(12deg) rotateZ(var(--tilt))}}@keyframes cubeSpinV3{0%{transform:rotateX(-420deg)rotateY(330deg)rotate(-120deg)}58%{transform:rotateX(-155deg)rotateY(205deg)rotate(34deg)}to{transform:var(--result-transform)}}.dice-landing{justify-content:center;align-items:center;gap:clamp(8px,2vw,18px);height:72px;display:flex}.dice-landing span{background:linear-gradient(145deg,#ffffff08,#ffffff02);border:1px dashed #ffffff1e;border-radius:15px;width:62px;height:62px;box-shadow:inset 0 1px #ffffff0a}.roll-panel{z-index:2;background:linear-gradient(#0d1015e8,#080a0ef5);border-top:1px solid #ffffff14;justify-content:center;align-items:center;gap:34px;padding:22px clamp(22px,4vw,42px);display:flex;position:relative}.roll-panel>div{text-align:right;flex-direction:column;gap:4px;display:flex}.roll-panel b{font-size:16px}.roll-panel span{color:#777e73;font-size:12px}.roll-btn{letter-spacing:.04em;border-radius:14px;min-width:190px;height:58px;font-size:18px;font-weight:900;box-shadow:0 10px 28px #c9ff4a1f,0 2px #8eb52e}.roll-btn:disabled{opacity:.72}.roll-icon{color:#111;font-size:15px;animation:1.4s ease-in-out infinite rollIcon}@keyframes rollIcon{50%{transform:rotate(90deg)scale(1.15)}}@media (width<=760px){.dice-scene.dice-static .cube-face{border-radius:12px}.dice-landing{gap:clamp(5px,2vw,9px);height:58px}.dice-landing span{border-radius:12px;width:48px;height:48px}.roll-panel{padding:15px 14px calc(15px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;margin-top:auto}.roll-panel>div{text-align:center;gap:3px}.roll-panel b{font-size:17px}.roll-panel span{font-size:11px}.roll-btn{width:100%;min-width:0;height:58px;font-size:19px}.dice-body{transform:rotateX(-9deg) rotateY(10deg) rotateZ(var(--tilt))}.dice-scene.dice-static:hover .dice-body{transform:rotateX(-9deg) rotateY(10deg) rotateZ(var(--tilt));filter:drop-shadow(0 7px 7px #0008)}}@media (width<=390px){.dice-landing span{width:46px;height:46px}.roll-panel{padding-inline:10px}}.quantity-stepper{display:none}@media (width<=760px){html,body,#root{max-width:100%;overflow-x:hidden}.table{width:calc(100% - 16px)}.ai-zone{min-height:92px}.bid-stage{flex-basis:96px;height:96px}.player-zone{padding-block:8px 12px}.controls{width:100%;min-width:0;padding:12px 12px calc(12px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"quantity face""actions actions";align-items:start;gap:10px 12px;position:sticky;bottom:0;overflow:hidden;box-shadow:0 -16px 36px #0008}.controls>*{min-width:0}.quantity-picker{grid-area:quantity}.face-picker{grid-area:face}.action-row{grid-area:actions}.quantity-grid{display:none}.quantity-stepper{grid-template-columns:48px minmax(44px,1fr) 48px;gap:6px;width:100%;display:grid}.quantity-stepper button,.quantity-stepper output{color:#eef0e8;background:#171b20;border:1px solid #ffffff18;border-radius:11px;place-items:center;height:48px;font:800 20px/1 inherit;display:grid}.quantity-stepper output{color:#c9ff4a;background:#11151a;border-color:#c9ff4a32;font-size:22px}.quantity-stepper button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.quantity-stepper button:disabled{opacity:.28;cursor:not-allowed}.face-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}.face-grid button{width:100%;min-width:0;height:48px}.picker-block label{margin-bottom:6px;font-size:11px}.action-row{grid-template-columns:minmax(0,1fr) 104px;gap:10px;width:100%;display:grid}.action-row .button{border-radius:12px;width:100%;min-width:0;height:54px;font-size:16px}.open-btn{width:100%;color:#ffd0ae!important;background:linear-gradient(#ff9c5f25,#ff704015)!important;border-color:#ff8d58a8!important;font-size:18px!important}}@media (width<=390px){.controls{column-gap:9px;padding-inline:10px}.quantity-stepper{grid-template-columns:44px minmax(40px,1fr) 44px;gap:5px}.face-grid{gap:5px}.action-row{grid-template-columns:minmax(0,1fr) 96px}}@media (width>=761px){.quantity-stepper{display:none}}.ai-opening-panel{z-index:2;background:#090b0fe8;border-top:1px solid #ffffff14;justify-content:center;align-items:center;gap:13px;min-height:100px;display:flex;position:relative}.ai-opening-panel>div{flex-direction:column;gap:4px;display:flex}.ai-opening-panel b{font-size:16px}.ai-opening-panel small{color:#777e73}.thinking-dot{background:#c9ff4a;border-radius:50%;width:13px;height:13px;animation:1.2s ease-out infinite thinkingPulse;box-shadow:0 0 #c9ff4a66}@keyframes thinkingPulse{70%{box-shadow:0 0 0 10px #c9ff4a00}to{box-shadow:0 0 #c9ff4a00}}@media (width<=760px){.ai-opening-panel{min-height:92px;padding-bottom:env(safe-area-inset-bottom);margin-top:auto}}.experience-bar{z-index:3;background:#0e1116cc;border:1px solid #ffffff12;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;width:min(1100px,100% - 32px);min-height:44px;margin:14px auto -12px;padding:7px 10px;display:flex;position:relative;box-shadow:0 12px 32px #0004}.experience-button,.calibrate-button{color:#bfc4ba;cursor:pointer;background:#171b21;border:1px solid #ffffff18;border-radius:9px;align-items:center;gap:7px;min-height:32px;padding:0 11px;font:700 12px/1 inherit;display:inline-flex}.experience-button:hover,.calibrate-button:hover{border-color:#c9ff4a55}.experience-button.is-active{color:#dcff8c;background:#c9ff4a0d;border-color:#c9ff4a55}.calibrate-button:disabled{opacity:.4;cursor:not-allowed}.experience-bar>small{color:#62695f;margin-left:auto;font-size:10px}.microphone-status,.voice-feedback{color:#858c82;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.voice-feedback{color:#b9c0b4}.microphone-status i{background:#5d635c;border-radius:50%;width:7px;height:7px}.microphone-status.status-listening i,.microphone-status.status-calibrated i{background:#c9ff4a;box-shadow:0 0 10px #c9ff4a88}.microphone-status.status-detected{color:#e6ffad}.microphone-status.status-detected i{background:#fff;box-shadow:0 0 13px #c9ff4a}.microphone-status.status-denied,.microphone-status.status-error,.microphone-status.status-unsupported{color:#ff9c89}.microphone-status.status-denied i,.microphone-status.status-error i,.microphone-status.status-unsupported i{background:#ff6c55}.dice-cup-wrap.is-shaking .dice-cup{animation:1.18s cubic-bezier(.36,.07,.19,.97) both cupShake}.dice-cup-wrap.is-shaking .dice-cup:after{animation:1.18s both cupShadow}@keyframes cupShake{0%{transform:translate(0,0)rotate(0)}12%{transform:translate(-8px,-3px)rotate(-4deg)}25%{transform:translate(7px,2px)rotate(3deg)}39%{transform:translate(-6px,-1px)rotate(-3deg)}53%{transform:translate(5px,2px)rotate(2deg)}68%{transform:translate(-3px)rotate(-1deg)}82%{transform:translate(2px,1px)rotate(.6deg)}to{transform:none}}@keyframes cupShadow{0%,to{opacity:1;transform:scaleX(1)}35%{opacity:.72;transform:scaleX(.88)}70%{opacity:.9;transform:scaleX(1.05)}}@media (width<=760px){.experience-bar{display:none}}@media (prefers-reduced-motion:reduce){.dice-cup-wrap.is-shaking .dice-cup,.dice-cup-wrap.is-shaking .dice-cup:after{animation-duration:.01ms!important}}.result-overlay{z-index:30;pointer-events:none;place-items:center;animation:1.8s ease-out forwards resultOverlayLife;display:grid;position:fixed;inset:0;overflow:hidden}.result-vignette{background:#05070bd9;animation:1.8s ease-out forwards resultVignette;position:absolute;inset:0}.result-overlay-win .result-vignette{background:radial-gradient(circle,#c9ff4a2b 0,#071008d9 38%,#05070be8 75%)}.result-overlay-lose .result-vignette{background:radial-gradient(circle,#8a202033 0,#08090ddd 42%,#030407ee 80%)}.result-message{z-index:2;text-align:center;text-transform:uppercase;filter:drop-shadow(0 18px 32px #000b);flex-direction:column;align-items:center;animation:1.8s cubic-bezier(.18,.8,.2,1) forwards resultMessageIn;display:flex;position:relative}.result-message small{font:800 clamp(13px,1.6vw,18px)/1 var(--font-sans);letter-spacing:.5em;color:#d6dbd0;margin-right:-.5em}.result-message strong{font:950 clamp(64px,10vw,138px)/.95 var(--font-sans);letter-spacing:-.055em;margin-top:10px}.result-message span{letter-spacing:.16em;color:#b8beb3;margin-top:15px;font-size:clamp(12px,1.4vw,17px)}.result-overlay-win .result-message strong{color:#d8ff79;text-shadow:0 0 18px #c9ff4a66,0 0 70px #c9ff4a2e}.result-overlay-win .result-message small{color:#c9ff4a}.result-overlay-lose .result-message strong{color:#f0e9e4;text-shadow:0 0 35px #ff49383d}.result-overlay-lose .result-message small,.result-overlay-lose .result-message span{color:#d28a7f}.result-burst{aspect-ratio:1;border:1px solid #fff2;border-radius:50%;width:min(58vw,650px);animation:1.25s ease-out forwards resultBurst;position:absolute;box-shadow:0 0 0 16px #ffffff08,0 0 0 48px #ffffff05}.result-overlay-win .result-burst{border-color:#c9ff4a55;box-shadow:0 0 0 16px #c9ff4a12,0 0 0 48px #c9ff4a08}.result-dice-pop{z-index:2;color:#ffffff35;gap:clamp(120px,25vw,360px);font-size:34px;display:flex;position:absolute}.result-dice-pop b{animation:1.15s ease-out forwards resultDicePop}.result-dice-pop b:nth-child(2){animation-delay:80ms}.result-dice-pop b:nth-child(3){animation-delay:.16s}.result-particles{z-index:1;position:absolute;inset:0}.result-particles i{background:#c9ff4a;border-radius:2px;width:7px;height:18px;animation:1.4s ease-out forwards resultParticle;position:absolute;top:50%;left:50%}.result-particles i:nth-child(2n){background:#fff}.result-particles i:nth-child(3n){background:#7affc8}.result-particles i:first-child{--x:-300px;--y:-190px}.result-particles i:nth-child(2){--x:-210px;--y:-290px}.result-particles i:nth-child(3){--x:-100px;--y:-240px}.result-particles i:nth-child(4){--x:40px;--y:-300px}.result-particles i:nth-child(5){--x:170px;--y:-245px}.result-particles i:nth-child(6){--x:300px;--y:-160px}.result-particles i:nth-child(7){--x:-320px;--y:80px}.result-particles i:nth-child(8){--x:-205px;--y:220px}.result-particles i:nth-child(9){--x:-70px;--y:275px}.result-particles i:nth-child(10){--x:85px;--y:260px}.result-particles i:nth-child(11){--x:220px;--y:190px}.result-particles i:nth-child(12){--x:330px;--y:55px}@keyframes resultOverlayLife{0%,72%{visibility:visible}to{visibility:hidden}}@keyframes resultVignette{0%{opacity:0}12%,68%{opacity:1}to{opacity:0}}@keyframes resultMessageIn{0%{opacity:0;transform:scale(.62)translateY(24px)}18%{opacity:1;transform:scale(1.07)translateY(0)}30%,72%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)translateY(-10px)}}@keyframes resultBurst{0%{opacity:0;transform:scale(.25)}24%{opacity:.9}to{opacity:0;transform:scale(1.45)}}@keyframes resultDicePop{0%{opacity:0;transform:translateY(90px)rotate(-35deg)}28%{opacity:.8;transform:translateY(-90px)rotate(20deg)}to{opacity:0;transform:translateY(40px)rotate(70deg)}}@keyframes resultParticle{0%{opacity:0;transform:translate(0)rotate(0)}15%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) rotate(420deg)}}@media (width<=760px){.result-message{padding:20px}.result-message strong{font-size:clamp(58px,19vw,82px)}.result-message small{font-size:12px}.result-message span{margin-top:12px;font-size:12px}.result-burst{width:85vw}.result-dice-pop{gap:38vw;font-size:24px}}@media (prefers-reduced-motion:reduce){.result-overlay,.result-vignette,.result-message,.result-burst,.result-dice-pop b,.result-particles i{animation-duration:.25s!important}.result-particles,.result-dice-pop,.result-burst{display:none}}.mode-select-shell{min-height:100svh;color:var(--foreground);background:radial-gradient(circle at 50% 28%,#c9ff4a18,#0000 28%),linear-gradient(145deg,#090b0f,#11151a 70%,#080a0d);place-items:center;padding:24px;display:grid}.mode-select-card{text-align:center;background:#10141aeb;border:1px solid #ffffff17;border-radius:28px;width:min(820px,100%);padding:clamp(28px,5vw,58px);box-shadow:0 40px 100px #0009}.mode-kicker{font:800 11px/1 var(--font-sans);letter-spacing:.32em;color:#c9ff4a}.mode-select-card h1{margin:13px 0 10px;font-size:clamp(34px,5vw,58px)}.mode-select-card>p{color:#8f968b;max-width:590px;margin:0 auto;line-height:1.65}.mode-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:32px 0 20px;display:grid}.mode-option{color:#eff1e9;text-align:left;cursor:pointer;background:linear-gradient(145deg,#181d23,#0e1116);border:1px solid #ffffff18;border-radius:19px;flex-direction:column;align-items:flex-start;min-height:190px;padding:24px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.mode-option:hover{border-color:#c9ff4a66;transform:translateY(-4px);box-shadow:0 20px 40px #0006}.mode-option span{font-size:27px;font-weight:900}.mode-option b{color:#c9ff4a;margin-top:16px;font-size:15px}.mode-option small{color:#7f867c;margin-top:8px;line-height:1.5}.mode-option-gambler-dog{background:radial-gradient(circle at 90% 10%,#ff72451c,#0000 40%),linear-gradient(145deg,#1b1718,#0e1116)}.mode-option-gambler-dog b{color:#ff9d6f}.mode-select-card>em{color:#666e64;font-size:12px;font-style:normal}.mode-badge{color:#c9ff4a;white-space:nowrap;border:1px solid #c9ff4a3c;border-radius:999px;margin-left:4px;padding:4px 8px;font-size:10px}.mode-badge-gambler-dog{color:#ffae82;border-color:#ff8d5955}.topbar-actions{justify-self:end;align-items:center;gap:8px;display:flex}.restart-game{color:#90978d;cursor:pointer;background:#ffffff08;border:1px solid #ffffff16;border-radius:9px;min-height:34px;padding:0 10px;font:700 11px/1 inherit}.restart-game:hover{color:#d9ded4;border-color:#c9ff4a55}@media (width<=760px){.mode-select-shell{padding:14px}.mode-select-card{border-radius:22px;padding:25px 16px}.mode-options{grid-template-columns:1fr;gap:11px;margin:23px 0 16px}.mode-option{min-height:132px;padding:18px}.mode-option span{font-size:23px}.mode-option b{margin-top:9px}.mode-badge{padding:3px 5px;font-size:9px;display:inline-flex}.restart-game{padding:0 7px;font-size:10px}.topbar-actions{gap:2px}.debug-toggle{width:34px}.brand{gap:6px}.brand>div{display:none}}.mobile-settings{display:none}@media (width<=760px){.mobile-settings{z-index:4;color:#899087;background:#101319;border:1px solid #ffffff14;border-radius:12px;width:calc(100% - 18px);margin:7px auto 0;display:block;position:relative}.mobile-settings summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:40px;padding:0 13px;font-size:12px;list-style:none;display:flex}.mobile-settings summary:after{content:"＋"}.mobile-settings[open] summary:after{content:"−"}.mobile-settings>div{grid-template-columns:1fr 1fr;gap:7px;padding:0 9px 8px;display:grid}.mobile-settings button{color:#d7dbd1;background:#181c22;border:1px solid #ffffff18;border-radius:9px;min-height:44px;font:700 12px/1 inherit}.mobile-settings>small{color:#666e64;white-space:nowrap;text-overflow:ellipsis;padding:0 10px 9px;font-size:10px;display:block;overflow:hidden}.permission-panel{padding:0 9px 9px}.permission-panel .enable-mobile{color:#0b0d10;background:#c9ff4a;border-color:#c9ff4a;width:100%;font-size:14px}.permission-panel>p{color:#8f968b;margin:7px 2px;font-size:11px}.permission-panel dl{grid-template-columns:1fr 1fr;gap:5px;margin:8px 0;display:grid}.permission-panel dl div{background:#0b0e12;border:1px solid #ffffff10;border-radius:8px;justify-content:space-between;gap:5px;padding:7px;display:flex}.permission-panel dt{color:#6f776d;font-size:10px}.permission-panel dd{color:#d7dbd1;text-align:right;margin:0;font-size:10px}.permission-retries{grid-template-columns:1fr 1fr;gap:6px;display:grid}.permission-retries button{padding:4px;font-size:10px}.permission-panel>strong{color:#ffae91;margin-top:7px;font-size:10px;line-height:1.45;display:block}.permission-panel>small{color:#747c71;margin-top:7px;font-size:10px;line-height:1.4;display:block}.mobile-settings>.mobile-toggles{grid-template-columns:repeat(4,1fr);gap:5px;padding:0 9px 9px;display:grid}.mobile-toggles button{min-width:0;padding:3px;font-size:10px}}.three-loss-scene{z-index:1000;pointer-events:auto;isolation:isolate;color:#bd182c;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:radial-gradient(at 50% 68%,#3c000d 0,#130006 31%,#030304 72%,#000 100%);outline:none;width:100vw;height:100dvh;min-height:100svh;position:fixed;inset:0;overflow:hidden}.three-loss-scene:before{content:"";z-index:3;pointer-events:none;background:radial-gradient(#0000 30%,#0008 72%,#000 100%);position:absolute;inset:0;box-shadow:inset 0 0 18vw #000}.three-loss-scene:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 60%,#96001812,#0000 48%);animation:4.2s ease-in-out infinite tauntPulse;position:absolute;inset:-12%}.three-loss-noise{z-index:2;pointer-events:none;opacity:.075;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");position:absolute;inset:0}.three-loss-viewport{z-index:1;inset:max(20px,env(safe-area-inset-top)) max(24px,6vw) max(22px,env(safe-area-inset-bottom));position:absolute;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 13% 87%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 13% 87%,#0000 100%)}.three-loss-copy{will-change:transform;width:min(760px,100%);font:500 clamp(16px,1.7vw,22px)/1.9 var(--font-sans);letter-spacing:.035em;color:#c51e31;text-align:left;text-shadow:0 0 8px #d400203d,0 2px 12px #000;filter:blur(.05px);margin-inline:auto;position:absolute;top:0;left:0;right:0;transform:translateY(85vh)}.three-loss-copy p{margin:0 0 1.25em}.three-loss-dismiss-layer{z-index:10;pointer-events:auto;touch-action:manipulation;cursor:pointer;outline:none;position:fixed;inset:0}.three-loss-dismiss{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));color:#851523;letter-spacing:.24em;white-space:nowrap;pointer-events:none;font-size:12px;animation:2.4s ease-in-out infinite tauntDismiss;position:absolute;transform:translate(-50%)}.three-loss-scene.is-playing{cursor:default}.three-loss-scene.is-complete{cursor:pointer}@keyframes tauntPulse{50%{opacity:.5;transform:scale(1.025)}}@keyframes tauntDismiss{50%{opacity:.35}}@media (width<=760px){.three-loss-viewport{inset:max(14px,env(safe-area-inset-top)) 22px max(18px,env(safe-area-inset-bottom))}.three-loss-copy{letter-spacing:.02em;font-size:clamp(15px,4.15vw,18px);line-height:1.78}.three-loss-copy p{margin-bottom:1.05em}.three-loss-dismiss{bottom:calc(18px + env(safe-area-inset-bottom));font-size:11px}}@media (width<=390px){.three-loss-viewport{left:18px;right:18px}.three-loss-copy{font-size:15px}}@media (prefers-reduced-motion:reduce){.three-loss-scene:after,.three-loss-dismiss{animation:none}}.player-lose-subtitle{z-index:40;left:50%;bottom:calc(34px + env(safe-area-inset-bottom));color:#fff2ed;text-align:center;width:min(880px,100% - 40px);font:700 clamp(15px,1.65vw,20px)/1.55 var(--font-sans);letter-spacing:.015em;text-shadow:0 2px 5px #000,0 0 10px #8e17254d;pointer-events:none;background:#050608e8;border:1px solid #ff6c5538;border-radius:12px;padding:12px 18px;animation:.22s ease-out both loseSubtitleIn;position:fixed;transform:translate(-50%);box-shadow:0 14px 38px #000b,inset 0 1px #ffffff0d}@keyframes loseSubtitleIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media (width<=760px){.player-lose-subtitle{bottom:calc(18px + env(safe-area-inset-bottom));border-radius:10px;width:calc(100% - 24px);padding:11px 13px;font-size:clamp(14px,3.8vw,17px);line-height:1.5}}.player-lose-subtitle small{color:#d46a76;font:700 10px/1 var(--font-sans);letter-spacing:.12em;margin-bottom:5px;display:block}.taunt-calibration{z-index:61;color:#eadde0;background:#100b10f2;border:1px solid #ff637d55;border-radius:12px;gap:8px;width:min(430px,100% - 36px);padding:12px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 18px 50px #000b}.taunt-calibration>b{letter-spacing:.14em;color:#ff637d;font-size:11px}.taunt-calibration>span{font:700 12px/1 var(--font-sans)}.taunt-calibration>div{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.taunt-calibration button{color:#eee3e6;min-height:38px;font:700 11px/1 var(--font-sans);cursor:pointer;background:#21171d;border:1px solid #ffffff1d;border-radius:8px}.taunt-calibration button:hover{border-color:#ff637d88}@media (width<=760px){.taunt-calibration{width:calc(100% - 20px);bottom:10px;right:10px}}
