@font-face{font-family:Bungee;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bungee-400.woff2?v=1) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-var.woff2?v=1) format("woff2")}:root{--bg-abyss: #06150f;--felt-dark: #0a221a;--felt: #123528;--felt-light: #1a4634;--felt-lamp: #245c42;--surface: rgba(255, 255, 255, .07);--surface-border: rgba(255, 255, 255, .14);--ivory: #f5efe0;--ivory-hi: #fffaf0;--ivory-shadow: #ded5bd;--pip: #17251d;--pip-ace: #e2601c;--text: #eae6da;--text-dim: #a7bcae;--amber: #ffb43a;--amber-hot: #ff8a2a;--amber-deep: #9c5a12;--amber-glow: rgba(255, 180, 58, .45);--danger: #ff4d6d;--danger-hot: #ff2444;--success: #6fe3a0;--fam-fix: #4fd8e8;--fam-pyro: #ff6a3d;--fam-ghost: #b78cff;--fam-alch: #b8e04a;--fam-risk: #ff4d6d;--font-display: "Bungee", system-ui, sans-serif;--font-ui: "Inter", system-ui, sans-serif;--radius-die: 22%;--radius-btn: 16px;--radius-card: 12px;--radius-panel: 14px;--shadow-die: 0 6px 12px rgba(0, 0, 0, .45);--shadow-die-held: 0 12px 18px rgba(0, 0, 0, .5);--shadow-panel: 0 8px 24px rgba(0, 0, 0, .35);--bevel-die: inset 0 2px 3px rgba(255, 255, 255, .55), inset 0 -3px 6px rgba(0, 0, 0, .14);--ring-held: 0 0 0 3px var(--amber), 0 0 22px var(--amber-glow);--ring-used: 0 0 0 3px var(--amber-hot), 0 0 26px rgba(255, 138, 42, .55);--dur-tap: 90ms;--dur-fast: .16s;--dur-move: .24s;--dur-pop: .35s;--dur-count-1: .45s;--dur-count-2: .65s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-snap: cubic-bezier(.34, 1.56, .64, 1);--ease-in: cubic-bezier(.55, 0, 1, .45);--tilt: 0}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.hidden{display:none!important}html,body{height:100%}body{background:repeating-radial-gradient(circle at 30% 10%,rgba(255,255,255,.02) 0 1px,transparent 1px 3px),repeating-radial-gradient(circle at 70% 60%,rgba(0,0,0,.03) 0 1px,transparent 1px 7px),radial-gradient(120% 90% at 50% 18%,var(--felt-lamp) 0%,var(--felt-light) 20%,var(--felt) 50%,var(--felt-dark) 82%,var(--bg-abyss) 100%);color:var(--text);font-family:var(--font-ui);user-select:none;overflow:hidden}body:after{content:"";position:fixed;inset:0;background:radial-gradient(140% 110% at 50% 45%,transparent 55%,rgba(6,21,15,.75) 100%);pointer-events:none;z-index:10}#app{max-width:430px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:max(12px,env(safe-area-inset-top)) 16px max(12px,env(safe-area-inset-bottom))}.top{display:flex;justify-content:space-between;align-items:flex-start;padding-top:4px}.logo{font-family:var(--font-display);font-size:40px;font-weight:400;letter-spacing:2px;color:var(--amber);transform:rotate(-4deg);text-shadow:0 3px 0 rgba(0,0,0,.35);line-height:1}.tagline{font-size:12px;font-weight:500;color:var(--text-dim);margin-top:8px;letter-spacing:.5px}.top-right{display:flex;align-items:center;gap:10px}.best{color:var(--amber);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}.lang{background:var(--surface);border:1px solid var(--surface-border);color:var(--text);border-radius:10px;min-width:48px;min-height:40px;font-family:var(--font-ui);font-weight:800;cursor:pointer}.table{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transform:rotate(calc(var(--tilt) * 1.6deg));transition:transform .4s var(--ease-out)}.dice{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%;max-width:320px}.die{aspect-ratio:1;width:100%;background:linear-gradient(150deg,var(--ivory-hi) 0%,var(--ivory) 55%,var(--ivory-shadow) 100%);border:none;border-radius:var(--radius-die);box-shadow:var(--shadow-die),var(--bevel-die);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:14%;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),opacity .2s ease;touch-action:manipulation}.die.empty{opacity:.25}.die span{border-radius:50%;background-color:var(--pip);background-image:radial-gradient(circle at 32% 28%,rgba(255,255,255,.28),transparent 45%);visibility:hidden;place-self:center;width:72%;aspect-ratio:1}.die[data-face="1"] span:nth-child(5){visibility:visible}.die[data-face="2"] span:nth-child(3),.die[data-face="2"] span:nth-child(7){visibility:visible}.die[data-face="3"] span:nth-child(3),.die[data-face="3"] span:nth-child(5),.die[data-face="3"] span:nth-child(7){visibility:visible}.die[data-face="4"] span:nth-child(1),.die[data-face="4"] span:nth-child(3),.die[data-face="4"] span:nth-child(7),.die[data-face="4"] span:nth-child(9){visibility:visible}.die[data-face="5"] span:nth-child(1),.die[data-face="5"] span:nth-child(3),.die[data-face="5"] span:nth-child(5),.die[data-face="5"] span:nth-child(7),.die[data-face="5"] span:nth-child(9){visibility:visible}.die[data-face="6"] span:nth-child(1),.die[data-face="6"] span:nth-child(3),.die[data-face="6"] span:nth-child(4),.die[data-face="6"] span:nth-child(6),.die[data-face="6"] span:nth-child(7),.die[data-face="6"] span:nth-child(9){visibility:visible}.die[data-face="1"] span:nth-child(5){background-color:var(--pip-ace)}.die.held{transform:translateY(-8px);box-shadow:var(--shadow-die-held),var(--ring-held),var(--bevel-die)}.die.used{box-shadow:var(--shadow-die),var(--ring-used),var(--bevel-die)}.die.dimmed{opacity:.55}.die.windup{transform:translateY(2px) scale(.97);transition:transform var(--dur-tap) var(--ease-in)}.die.rolling{animation:tumble .16s linear infinite;box-shadow:0 14px 20px #00000080,var(--bevel-die)}@keyframes tumble{0%{transform:translateY(-6px) rotate(-9deg) scale(1.04)}25%{transform:translate(4px,-12px) rotate(6deg) scale(1.07)}50%{transform:translate(-3px,-8px) rotate(-5deg) scale(1.05)}75%{transform:translate(3px,-14px) rotate(8deg) scale(1.08)}to{transform:translateY(-6px) rotate(-9deg) scale(1.04)}}.die.settle{animation:settle var(--dur-move) var(--ease-snap)}@keyframes settle{0%{transform:translateY(-10px) scale(1.12)}60%{transform:translateY(2px) scale(.96)}to{transform:translateY(0) scale(1)}}.rolls{min-height:20px;font-size:13px;font-weight:500;color:var(--text-dim);display:flex;align-items:center;gap:8px}.rolls .dot{width:10px;height:10px;border-radius:50%;display:inline-block}.rolls .dot.full{background:var(--amber);box-shadow:0 0 8px var(--amber-glow)}.rolls .dot.spent{background:transparent;border:1.5px solid var(--surface-border)}.preview{min-height:30px;font-size:15px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}.preview strong{font-family:var(--font-display);font-weight:400;color:var(--amber);font-size:17px;letter-spacing:.5px}.preview .formula{color:var(--text-dim);margin-left:8px}.score-panel{text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}.combo-name{font-family:var(--font-display);font-size:28px;font-weight:400;letter-spacing:1px;text-transform:uppercase;color:var(--amber);text-shadow:0 2px 0 rgba(0,0,0,.35)}.pop{animation:pop var(--dur-pop) var(--ease-snap)}@keyframes pop{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.breakdown{display:flex;gap:12px;align-items:baseline;color:var(--text-dim);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.breakdown b{color:var(--text);font-size:24px;font-weight:800}.breakdown .x,.breakdown b.mult-value{color:var(--amber)}.breakdown .x{font-weight:900}.mult-value{display:inline-block;opacity:0}.mult-value.stamp{opacity:1;animation:stamp .12s var(--ease-snap)}@keyframes stamp{0%{transform:scale(1.5);opacity:0}to{transform:scale(1);opacity:1}}.total{font-size:64px;font-weight:900;line-height:1;color:var(--ivory);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";text-shadow:0 4px 0 rgba(0,0,0,.3)}.total.glow{text-shadow:0 4px 0 rgba(0,0,0,.3),0 0 24px var(--amber-glow)}.total.new-best{color:var(--amber);animation:pop var(--dur-pop) var(--ease-snap)}.bottom{padding-bottom:6px}.actions{display:flex;gap:12px}.btn{flex:1;min-height:58px;border:none;border-radius:var(--radius-btn);font-family:var(--font-ui);font-size:17px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:transform var(--dur-tap) ease,filter var(--dur-fast) ease;touch-action:manipulation}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:linear-gradient(160deg,var(--amber) 0%,var(--amber-hot) 100%);color:#3a2404;box-shadow:0 5px 0 var(--amber-deep),0 8px 18px #0006}.btn.primary:active:not(:disabled){box-shadow:0 2px 0 var(--amber-deep),0 4px 10px #0006}.btn.secondary{background:var(--surface);border:1px solid var(--surface-border);color:var(--text)}.btn.big{min-height:66px;font-size:21px}.note{margin-top:10px;text-align:center;font-size:12px;font-weight:500;color:var(--text-dim);min-height:16px}body.shake{animation:shake .45s ease}@keyframes shake{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-6px,2px) rotate(-.6deg)}40%{transform:translate(5px,-3px) rotate(.5deg)}60%{transform:translate(-4px,2px) rotate(-.4deg)}80%{transform:translate(3px,-1px) rotate(.3deg)}}@media(prefers-reduced-motion:reduce){body.shake{animation:none}.die.rolling{animation:none;opacity:.7}.die.settle,.pop,.mult-value.stamp{animation:none}}@media(min-width:700px){#app{max-width:520px}.dice{max-width:380px}}
