.ld{--felt:#0e3a2c;--felt-deep:#061c15;--ink:#f5efe0;--muted:#b9c7bd;--gold:#e8b64c;--leather:#6b3a1f;--line:#ffffff1f;padding:env(safe-area-inset-top) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));color:var(--ink);background:radial-gradient(120% 70% at 50% 38%, #18553f 0%, var(--felt) 45%, var(--felt-deep) 100%);overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.ld button{font:inherit;color:inherit;cursor:pointer}.ld button:disabled{cursor:default;opacity:.38}.ld button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.ld-top{flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;height:56px;display:grid}.ld-top>:last-child{justify-self:end}.ld-round{font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.8rem}.ld-pill{border:1px solid var(--line);background:#ffffff10;border-radius:999px;min-width:44px;height:36px;padding:0 14px;font-size:.9rem}.ld-die{--size:56px;width:var(--size);height:var(--size);padding:calc(var(--size) * .14);background:linear-gradient(145deg, var(--die-hi), var(--die-lo));box-shadow:inset 0 -3px 0 var(--die-edge), inset 0 2px 0 var(--die-shine), 0 6px 12px #0006;border-radius:20%;flex-shrink:0;grid-template:repeat(3,1fr)/repeat(3,1fr);place-items:center;display:inline-grid}.ld-die>span{place-items:center;width:100%;height:100%;display:grid}.ld-die>.ld-pip:after{content:"";aspect-ratio:1;background:radial-gradient(circle at 35% 30%, var(--pip-hi), var(--pip-lo));border-radius:50%;width:72%}.ld-die-wild{background:linear-gradient(145deg,#fff3cf,#efcf7c);box-shadow:inset 0 -3px #c9a043,inset 0 2px #fff8e0,0 6px 12px #0006}.ld-die-wild>.ld-pip:after{background:radial-gradient(circle at 35% 30%,#c0392b,#7a1810)}.ld-setup-body{flex-direction:column;flex:1;justify-content:center;gap:18px;width:100%;max-width:420px;margin:0 auto;padding-bottom:12px;display:flex;overflow-y:auto}.ld-hero-dice{justify-content:center;gap:12px;margin-bottom:6px;display:flex}.ld-hero-dice .ld-die{--size:58px}.ld-hero-dice .ld-die:first-child{transform:rotate(-12deg)translateY(6px)}.ld-hero-dice .ld-die:nth-child(3){transform:rotate(10deg)translateY(4px)}.ld-setup h1{text-align:center;letter-spacing:-.06em;margin:0;font-size:clamp(2.6rem,12vw,3.6rem);font-weight:600;line-height:1}.ld-lede{text-align:center;max-width:30ch;color:var(--muted);margin:0 auto;line-height:1.5}.ld-card{border:1px solid var(--line);background:#00000029;border-radius:18px;flex-direction:column;padding:4px 16px;display:flex}.ld-card>*+*{border-top:1px solid var(--line)}.ld-stepper{justify-content:space-between;align-items:center;gap:12px;min-height:60px;display:flex}.ld-stepper-label{font-size:1rem}.ld-stepper-controls{align-items:center;gap:6px;display:flex}.ld-stepper-controls button{border:1px solid var(--line);background:#ffffff14;border-radius:50%;width:44px;height:44px;font-size:1.4rem;line-height:1}.ld-stepper-controls output{text-align:center;font-variant-numeric:tabular-nums;min-width:3.2ch;font-size:1.35rem;font-weight:600}.ld-stepper-controls output small{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-size:.62rem;font-weight:500;display:block}.ld-toggle{justify-content:space-between;align-items:center;gap:12px;min-height:60px;display:flex}.ld-toggle small{color:var(--muted);margin-top:2px;font-size:.8rem;display:block}.ld-toggle input{appearance:none;background:#ffffff24;border-radius:999px;flex-shrink:0;width:52px;height:32px;margin:0;transition:background .2s;position:relative}.ld-toggle input:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0005}.ld-toggle input:checked{background:var(--gold)}.ld-toggle input:checked:after{transform:translate(20px)}.ld-primary,.ld-secondary{border-radius:14px;min-height:52px;padding:0 18px;font-size:1rem;font-weight:600}.ld-primary{background:var(--gold);border:0;box-shadow:0 3px #a87a22;color:#2a1a05!important}.ld-primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #a87a22}.ld-secondary{border:1px solid var(--line);background:#ffffff12}.ld-table{flex:1;min-height:260px;position:relative}.ld-tray{background:radial-gradient(closest-side,#00000038,#0000);border-radius:50%;flex-wrap:wrap;place-content:center;gap:12px;width:min(86vw,380px);height:46%;display:flex;position:absolute;bottom:6%;left:50%;transform:translate(-50%)}.ld-tray .ld-die{--size:70px}.ld-tray[data-count="4"] .ld-die,.ld-tray[data-count="5"] .ld-die,.ld-tray[data-count="6"] .ld-die{--size:60px}.ld-tray[data-count="7"] .ld-die,.ld-tray[data-count="8"] .ld-die,.ld-tray[data-count="9"] .ld-die,.ld-tray[data-count="10"] .ld-die{--size:50px}.ld-tray .ld-die:nth-child(odd){transform:rotate(-7deg)}.ld-tray .ld-die:nth-child(3n){transform:rotate(9deg)}.ld-cup{background:repeating-linear-gradient(90deg, #ffffff07 0 2px, transparent 2px 9px), radial-gradient(90% 60% at 30% 25%, #a5613a, transparent 70%), linear-gradient(180deg, #7d4526, var(--leather) 55%, #3e200f);touch-action:none;-webkit-touch-callout:none;border:0;border-radius:42% 42% 22px 22px/26% 26% 22px 22px;width:min(80vw,350px);height:min(58%,420px);padding:0;transition:transform .45s cubic-bezier(.2,.9,.25,1.15);position:absolute;bottom:4%;left:50%;transform:translate(-50%);box-shadow:inset 0 -30px 40px #0000004d,inset 0 10px 24px #ffffff1a,0 24px 40px #000000a0}.ld-cup:before{content:"";border-radius:inherit;pointer-events:none;border:2px dashed #f0c48a55;position:absolute;inset:14px 16px 34px}.ld-cup-rim{background:linear-gradient(#4a2612,#2b1408);border-radius:14px;height:30px;position:absolute;bottom:0;left:-2%;right:-2%;box-shadow:inset 0 2px #fff2}.ld-cup-label{text-align:center;font-family:var(--font-geist-mono), monospace;letter-spacing:.18em;text-transform:uppercase;color:#f6dcb9cc;font-size:.8rem;position:absolute;bottom:52px;left:0;right:0}.ld-cup-up .ld-cup-label,.ld-cup-up .ld-cup-count{opacity:0}.ld-cup-out{filter:grayscale(.7)brightness(.6)}.ld-cup-shaking{animation:.12s linear infinite ld-shake}@keyframes ld-shake{0%{transform:translate(-50%)rotate(0)}25%{transform:translate(calc(-50% - 7px),-4px)rotate(-4deg)}75%{transform:translate(calc(7px - 50%),2px)rotate(4deg)}to{transform:translate(-50%)rotate(0)}}@media (prefers-reduced-motion:reduce){.ld-cup{transition:none}.ld-cup-shaking{animation:none}}.ld-status{text-align:center;min-height:1.5em;color:var(--muted);flex-shrink:0;margin:10px 0 12px;font-size:.95rem}.ld-controls{flex-direction:column;flex-shrink:0;gap:10px;width:100%;max-width:460px;margin:0 auto;display:flex}.ld-controls>.ld-stepper{border:1px solid var(--line);background:#00000026;border-radius:16px;padding:4px 8px 4px 16px}.ld-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ld-actions button{padding:0 8px;font-size:.95rem}.ld-sheet-backdrop{z-index:20;background:#000000a0;justify-content:center;align-items:flex-end;animation:.2s ease-out ld-fade;display:flex;position:fixed;inset:0}.ld-sheet{width:100%;max-width:520px;max-height:88dvh;padding:8px 20px max(24px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#10261f;border-radius:22px 22px 0 0;animation:.25s cubic-bezier(.2,.9,.3,1) ld-rise;overflow-y:auto}.ld-sheet-head{justify-content:space-between;align-items:center;min-height:56px;display:flex}.ld-sheet h2{letter-spacing:-.03em;margin:0;font-size:1.2rem}.ld-close{background:#ffffff14;border:0;border-radius:50%;width:40px;height:40px;line-height:1;font-size:1.5rem!important}.ld-sheet>.ld-stepper,.ld-sheet>.ld-toggle{border-bottom:1px solid var(--line)}.ld-menu{gap:10px;padding-bottom:8px;display:grid}.ld-rules{gap:10px;margin:0;padding-left:1.2em;line-height:1.5;display:grid}.ld-rules-note{color:var(--muted);font-size:.9rem;line-height:1.5}@keyframes ld-fade{0%{opacity:0}}@keyframes ld-rise{0%{opacity:.5;transform:translateY(40px)}}.ld-scrim{cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0}.ld-sheet{color:var(--ink);border-bottom:0;border-left:0;border-right:0;margin:0;position:relative;inset:auto}.ld-cup{transform-origin:50% 0}.ld-cup-up{transform:translate(-50%,-60%)scale(.55)rotate(-6deg)}.ld-tray{transition:height .35s}.ld-tray-open{height:58%}.ld-tray-open .ld-die{--size:84px}.ld-tray-open[data-count="4"] .ld-die,.ld-tray-open[data-count="5"] .ld-die,.ld-tray-open[data-count="6"] .ld-die{--size:72px}.ld-tray-open[data-count="7"] .ld-die,.ld-tray-open[data-count="8"] .ld-die,.ld-tray-open[data-count="9"] .ld-die,.ld-tray-open[data-count="10"] .ld-die{--size:58px}.ld-status-public{width:fit-content;color:var(--gold);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:uppercase;background:#e8b64c26;border:1px solid #e8b64c66;border-radius:999px;place-self:center;margin-inline:auto;padding:4px 14px;font-size:.78rem;line-height:1.5}.ld-stepper-controls output{font-family:var(--font-geist-sans), Arial, sans-serif}.ld-rules{list-style:decimal}.ld-rules li::marker{color:var(--gold);font-weight:600}.ld-rules-note{margin-top:18px}.ld-primary:disabled{opacity:1;box-shadow:none;border:1px solid var(--line);background:#ffffff10;color:#ffffff59!important}[data-dice=ivory],.ld:not([data-dice]){--die-hi:#fffdf6;--die-lo:#e9dfc8;--die-edge:#cdbf9f;--die-shine:#fff;--pip-hi:#4a3b30;--pip-lo:#17110c}[data-dice=onyx]{--die-hi:#45454b;--die-lo:#18181b;--die-edge:#050506;--die-shine:#ffffff38;--pip-hi:#fff;--pip-lo:#cfcfcf}[data-dice=ruby]{--die-hi:#e5524a;--die-lo:#a8161d;--die-edge:#6b0a10;--die-shine:#ffb3a8;--pip-hi:#fff;--pip-lo:#f1e3e3}[data-dice=sapphire]{--die-hi:#4a86e8;--die-lo:#1b3f9c;--die-edge:#0d2462;--die-shine:#b5d0ff;--pip-hi:#fff;--pip-lo:#e3e9f5}[data-dice=amethyst]{--die-hi:#a46ae6;--die-lo:#5a2a9f;--die-edge:#35166b;--die-shine:#e0c9ff;--pip-hi:#fff;--pip-lo:#ece4f7}.ld-colors{justify-content:space-between;align-items:center;gap:12px;min-height:64px;display:flex}.ld-color-options{border:0;gap:4px;min-width:0;margin:0;padding:0;display:flex}.ld-color-options button{background:0 0;border:2px solid #0000;border-radius:12px;place-items:center;width:44px;height:44px;padding:0;display:grid}.ld-color-options .ld-die{--size:30px;box-shadow:inset 0 -2px 0 var(--die-edge), 0 2px 4px #0005}.ld-color-options .ld-color-on{border-color:var(--gold);background:#e8b64c22}.ld-sheet>.ld-colors{border-bottom:1px solid var(--line);margin-bottom:12px}@media (max-width:380px){.ld-color-options{gap:0}.ld-color-options button{width:40px}}.ld-cup-count{pointer-events:none;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-58%)}.ld-cup-count strong{letter-spacing:-.05em;color:#fbe9cf;text-shadow:0 2px #00000040;font-variant-numeric:tabular-nums;font-size:clamp(3.4rem,17vw,4.6rem);font-weight:600;line-height:1}.ld-cup-count>span:last-child{font-family:var(--font-geist-mono), monospace;letter-spacing:.2em;text-transform:uppercase;color:#f6dcb9cc;font-size:.8rem}.ld-cup-tiles{flex-wrap:wrap;justify-content:center;gap:6px;max-width:150px;margin-bottom:10px;display:flex}.ld-tile{background:linear-gradient(145deg, var(--die-hi), var(--die-lo));width:18px;height:18px;box-shadow:inset 0 -2px 0 var(--die-edge), 0 2px 3px #0006;border-radius:5px}.ld-cup-out .ld-cup-count{opacity:.5}.ld-die-wild{--die-edge:#c9a043}[data-dice=pink]{--die-hi:#f78fbd;--die-lo:#d6457f;--die-edge:#9b2357;--die-shine:#ffd6e7;--pip-hi:#fff;--pip-lo:#f6e6ee}.ld-colors{flex-direction:column;align-items:stretch;gap:8px;padding:12px 0}.ld-color-options{justify-content:space-between}
