.dr-app{--dr-line:color-mix(in srgb,currentColor 15%,transparent);--dr-mint:#b6eed1;border:1px solid var(--dr-line);border-radius:24px;overflow:hidden;background:var(--color-base-100);margin-bottom:30px}
.dr-app button,.dr-app input,.dr-app select,.dr-dialog button{font:inherit}.dr-dialog button{cursor:pointer}.dr-app button{cursor:pointer;transition:background .18s,transform .18s,box-shadow .18s}.dr-app button:disabled{cursor:not-allowed;opacity:.45}
.dr-app button:focus-visible,.dr-app input:focus-visible,.dr-app select:focus-visible{outline:3px solid #8c75e8;outline-offset:3px}
.dr-toolbar{padding:25px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--dr-line)}.dr-eyebrow{font-size:10px;letter-spacing:.14em;font-weight:700;opacity:.65}.dr-toolbar h2{font-size:24px;font-weight:700;margin:4px 0 0}
.dr-reset{padding:9px 14px;border:1px solid var(--dr-line);border-radius:10px;font-size:13px;font-weight:600;flex-shrink:0}.dr-reset:hover{background:color-mix(in srgb,#d8435a 10%,transparent);border-color:color-mix(in srgb,#d8435a 45%,transparent)}
.dr-dialog{margin:auto;max-width:min(420px,calc(100vw - 32px));padding:24px;border:1px solid var(--dr-line);border-radius:18px;background:var(--color-base-100);color:var(--color-base-content);box-shadow:0 30px 80px -20px #0008}
.dr-dialog[open]{animation:dr-dialog .22s cubic-bezier(.2,1.2,.4,1)}@keyframes dr-dialog{from{opacity:0;transform:translateY(10px) scale(.97)}}
.dr-dialog::backdrop{background:#0a1411a6;backdrop-filter:blur(2px)}
.dr-dialog h3{font-size:20px;font-weight:750}.dr-dialog p{font-size:14px;line-height:1.6;opacity:.75;margin:8px 0 20px}
.dr-dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dr-dialog-actions button{padding:10px 16px;border-radius:10px;border:1px solid var(--dr-line);font-weight:650;font-size:14px}
.dr-dialog-actions .dr-danger{background:#d8435a;border-color:#d8435a;color:#fff}.dr-dialog-actions .dr-danger:hover{background:#c23249}
.dr-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px}.dr-workspace{padding:24px;min-width:0}

/* Whose turn it is, big enough to read from across the table. */
.dr-turn{--who:color-mix(in srgb,currentColor 40%,transparent);display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin:0 0 10px;padding:8px 12px;border:1px solid var(--dr-line);border-left:4px solid var(--who);border-radius:12px;background:color-mix(in srgb,var(--who) 9%,transparent)}
.dr-turn-now{display:grid;gap:1px;min-width:0}
.dr-turn-now strong{font-size:clamp(20px,2.8vw,28px);line-height:1.1;font-weight:800;letter-spacing:-.02em;overflow-wrap:anywhere}
.dr-turn[data-players="0"] .dr-turn-now strong{font-size:14px;letter-spacing:0;font-weight:700}
.dr-turn-now small{font-size:11px;opacity:.65}.dr-turn-now small:empty{display:none}
.dr-turn[data-players="0"] .dr-eyebrow{display:none}
.dr-turn .dr-player-chip,.dr-turn .dr-chip-add{padding:5px 10px;font-size:12px}
.dr-turn-in{animation:dr-turn-in .5s cubic-bezier(.2,1.3,.4,1)}@keyframes dr-turn-in{from{opacity:0;transform:translateY(10px)}}
.dr-turn-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dr-player-chips{display:flex;gap:6px;flex-wrap:wrap}
.dr-player-chip,.dr-chip-add{display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;border:1px solid var(--dr-line);font-size:13px;font-weight:650;background:var(--color-base-100)}
.dr-player-chip .dr-dot{background:var(--who);width:10px;height:10px}
.dr-player-chip[aria-pressed=true]{border-color:var(--who);box-shadow:inset 0 0 0 1px var(--who);background:color-mix(in srgb,var(--who) 22%,var(--color-base-100))}
.dr-player-chip:hover:not(:disabled),.dr-chip-add:hover{background:color-mix(in srgb,var(--who,#70bda0) 16%,var(--color-base-100))}
.dr-chip-add{background:var(--dr-mint);color:#173a2b;border-color:transparent}
.dr-switch{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;cursor:pointer}.dr-switch input{accent-color:#3aa876;width:16px;height:16px}
.dr-players{margin-top:6px}.dr-players .dr-pool-head{margin-top:22px}
.dr-player-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--dr-line)}
.dr-player-row input{flex:1;min-width:0;border:1px solid transparent!important;background:transparent!important;font-weight:600;font-size:13px!important}
.dr-player-row input:hover,.dr-player-row input:focus{border-color:var(--dr-line)!important;background:var(--color-base-100)!important}
.dr-player-row>button:last-child{width:26px;height:26px;border-radius:6px;opacity:.55}.dr-player-row>button:last-child:hover{opacity:1;background:color-mix(in srgb,currentColor 8%,transparent)}
.dr-player-pick{width:22px;height:22px;border-radius:7px;background:var(--who);border:1px solid #0002;flex-shrink:0}
.dr-player-pick[aria-pressed=true]{outline:2px solid currentColor;outline-offset:2px}
.dr-by{display:inline-block;margin-right:8px;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:700;background:color-mix(in srgb,var(--who) 30%,transparent)}
.dr-stats-players{display:block;margin-top:4px}

/* The table: felt with a little weave, a vignette, and a rail. */
.dr-tray{--f1:#2a594d;--f2:#1a3d35;--f3:#10261f;--rail:#3b5a4f;position:relative;isolation:isolate;border-radius:18px;color:#b7d3c4;overflow:hidden;
  background:radial-gradient(ellipse at 50% 38%,var(--f1) 0%,var(--f2) 55%,var(--f3) 100%);transition:background .3s;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rail) 80%,#fff),inset 0 0 0 9px color-mix(in srgb,var(--f3) 80%,#000),inset 0 0 0 10px var(--rail),inset 0 18px 50px #0006,inset 0 -10px 40px #0004,0 18px 40px -22px var(--f3)}
/* Felt colours: each sets the gradient and the rail. */
[data-felt=green]{--f1:#2a594d;--f2:#1a3d35;--f3:#10261f;--rail:#3b5a4f}
[data-felt=blue]{--f1:#2a4a78;--f2:#1a3157;--f3:#0f1d36;--rail:#3a5480}
[data-felt=red]{--f1:#7a2a34;--f2:#561a23;--f3:#330e14;--rail:#7a3b44}
[data-felt=purple]{--f1:#553477;--f2:#3a2256;--f3:#211334;--rail:#5b4478}
[data-felt=teal]{--f1:#1f6466;--f2:#134547;--f3:#0a2a2b;--rail:#35696a}
[data-felt=brown]{--f1:#6b4a2c;--f2:#4a321d;--f3:#2b1d10;--rail:#6d5238}
[data-felt=grey]{--f1:#4a4f55;--f2:#33373c;--f3:#1c1f22;--rail:#555b62}
[data-felt=black]{--f1:#26282b;--f2:#17181a;--f3:#0a0a0b;--rail:#3a3c40}
/* The wild felts: extra colours plus an art layer (stars, grids, grain) painted over the felt. */
.dr-art{position:absolute;inset:-8%;z-index:-1;pointer-events:none;background:var(--art,none);background-size:var(--art-size,auto);mask-image:var(--art-mask,none)}
[data-felt=galaxy]{--f1:#2b1a5a;--f2:#150c33;--f3:#06031a;--rail:#4a3a80;
  --art:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='12' cy='30' r='1'/%3E%3Ccircle cx='70' cy='8' r='.7'/%3E%3Ccircle cx='140' cy='44' r='1.4'/%3E%3Ccircle cx='200' cy='20' r='.8'/%3E%3Ccircle cx='40' cy='110' r='.6'/%3E%3Ccircle cx='96' cy='80' r='1.1'/%3E%3Ccircle cx='170' cy='120' r='.7'/%3E%3Ccircle cx='20' cy='180' r='1.2'/%3E%3Ccircle cx='120' cy='160' r='.8'/%3E%3Ccircle cx='190' cy='200' r='1'/%3E%3Ccircle cx='80' cy='206' r='.6'/%3E%3Ccircle cx='150' cy='90' r='.5'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(ellipse 50% 40% at 72% 30%,#d63ca860,transparent 70%),radial-gradient(ellipse 45% 45% at 25% 72%,#2bb6d650,transparent 70%),radial-gradient(ellipse 30% 25% at 50% 50%,#7a4dff40,transparent 70%);
  --art-size:220px 220px,100% 100%,100% 100%,100% 100%}
[data-felt=galaxy] .dr-art{animation:dr-twinkle 6s ease-in-out infinite alternate,dr-drift 40s linear infinite}
@keyframes dr-twinkle{to{filter:brightness(1.35) hue-rotate(25deg)}}
@keyframes dr-drift{to{background-position:220px 110px,0 0,0 0,0 0}}
[data-felt=candy]{--f1:#f7a8d8;--f2:#b58ae8;--f3:#6a8ee8;--rail:#fff0fa;--art:radial-gradient(circle at 20% 25%,#ffffff60,transparent 30%),radial-gradient(circle at 80% 75%,#ffe0f560,transparent 30%),radial-gradient(circle at 60% 20%,#a8f0ff50,transparent 28%)}
[data-felt=candy] .dr-art{animation:dr-candy 7s ease-in-out infinite alternate}
@keyframes dr-candy{50%{transform:translate(-3%,2%) scale(1.08)}to{transform:translate(3%,-2%);filter:hue-rotate(60deg)}}
[data-felt=matrix]{--f1:#062a12;--f2:#03170a;--f3:#000;--rail:#00c850;
  --art:repeating-linear-gradient(0deg,#00ff6a30 0 6px,transparent 6px 15px),repeating-linear-gradient(90deg,transparent 0 16px,#000 16px 30px);--art-size:100% 150px,auto}
[data-felt=matrix] .dr-art{animation:dr-rain 3s linear infinite}
@keyframes dr-rain{to{background-position:0 150px,0 0}}
[data-felt=wood]{--f1:#8a5a32;--f2:#5e3a1e;--f3:#2e1c0e;--rail:#3a2412;
  --art:repeating-linear-gradient(92deg,#00000018 0 3px,transparent 3px 11px,#ffffff0d 11px 13px,transparent 13px 29px),repeating-linear-gradient(0deg,transparent 0 118px,#00000040 118px 121px)}
/* Tavern candlelight: a warm glow that flickers over the planks. */
[data-felt=wood] .dr-art:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 45%,#ffb04a40,transparent 70%);animation:dr-flicker 2.6s ease-in-out infinite}
@keyframes dr-flicker{0%{opacity:.9}12%{opacity:.7}20%{opacity:1}34%{opacity:.8}47%{opacity:.95}61%{opacity:.72}75%{opacity:1}88%{opacity:.82}}
/* Interactive felts: marks draw under the dice, spray and sparks over them (still under the result badges). */
.dr-felt-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.dr-under{z-index:-1}.dr-over{z-index:1}
[data-felt=water]{--f1:#3fd0e0;--f2:#1a9cc0;--f3:#0a5a86;--rail:#e9f4f7;
  --art:radial-gradient(ellipse at 50% 40%,#ffffff30,transparent 60%)}
[data-felt=sand] .dr-tray-top,[data-felt=sand] .dr-tray-bottom>span{color:#4a2f12}
[data-felt=sand]{--f1:#f0d49a;--f2:#d9b36c;--f3:#a8793c;--rail:#7a5226;
  --art:repeating-radial-gradient(ellipse 140% 60% at 50% 120%,transparent 0 22px,#8a5a2a1c 22px 26px,transparent 26px 48px),radial-gradient(#6b4a2233 1px,transparent 1.2px);--art-size:auto,6px 6px}
[data-felt=sand] .dr-art{animation:dr-dunes 14s ease-in-out infinite alternate}
@keyframes dr-dunes{to{background-position:0 18px,3px 3px}}
.dr-felt{margin-top:14px}.dr-felt>span{font-size:11px;display:block}#dr-felts{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.dr-felt-swatch{width:28px;height:28px;border-radius:9px;border:1px solid #0003;background:var(--art,linear-gradient(transparent,transparent)),radial-gradient(circle at 40% 35%,var(--f1),var(--f3));background-size:cover}
.dr-felt-swatch:hover{transform:translateY(-1px)}.dr-felt-swatch[aria-checked=true]{outline:2px solid currentColor;outline-offset:2px}
.dr-tray:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;mix-blend-mode:soft-light;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.dr-tray canvas#dr-canvas{width:100%;height:560px;display:block;touch-action:none;cursor:grab}.dr-tray canvas#dr-canvas:active{cursor:grabbing}
.dr-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.dr-tray-top,.dr-tray-bottom{position:absolute;left:26px;right:26px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;letter-spacing:.11em;z-index:2;pointer-events:none}
.dr-tray-top{top:20px;align-items:flex-start}
.dr-tray-side{display:flex;align-items:center;gap:12px}
.dr-full-btn{pointer-events:auto;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;border:1px solid #b6eed140;background:#0d1f1a99;color:#dcefe5}.dr-full-btn:hover{background:#0d1f1a;border-color:#b6eed180}
.dr-full-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dr-is-full .dr-full-btn svg{transform:rotate(180deg)}
.dr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dr-tray.dr-is-full{position:fixed;inset:0;z-index:1000;border-radius:0;display:flex;flex-direction:column}
.dr-tray.dr-is-full canvas#dr-canvas{flex:1;height:auto;min-height:0}
.dr-tray:fullscreen{width:100vw;height:100vh}
.dr-lock,.dr-lock body{overflow:hidden}
.dr-tray-bottom{bottom:16px;font-size:9px;display:grid;grid-template-columns:1fr auto 1fr}.dr-tray-bottom label{justify-self:end;display:flex;align-items:center;gap:7px;font-size:12px;letter-spacing:0;pointer-events:auto;cursor:pointer}.dr-tray-bottom input{accent-color:var(--dr-mint)}
.dr-tray-bottom .dr-primary{pointer-events:auto;font-size:15px;font-weight:750;line-height:1.2;letter-spacing:0}
.dr-tray[data-flat=true] canvas#dr-canvas{height:160px;cursor:default}
.dr-shake{animation:dr-shake .5s cubic-bezier(.36,.07,.19,.97)}
.dr-shake:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 70px #d8435a70;animation:dr-fade .9s ease-out forwards}
@keyframes dr-shake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-7px)}40%,60%{transform:translateX(7px)}}
@keyframes dr-fade{to{opacity:0}}

/* Results float above their dice once the table is still. */
.dr-badges{position:absolute;inset:0;pointer-events:none;z-index:2}
.dr-badge{position:absolute;transform:translate(-50%,-100%);min-width:26px;padding:3px 8px;border-radius:999px;background:#0d1f1ae6;color:#ecfff5;border:1px solid #b6eed155;font-size:13px;font-weight:750;text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 6px 16px #0005;animation:dr-badge .38s cubic-bezier(.2,1.4,.4,1) both}
.dr-badge-out{opacity:.5;text-decoration:line-through;border-color:#ffffff22}.dr-badge-gold{background:#3a2b0cf0;color:#ffe3a3;border-color:#ffd27a}
@keyframes dr-badge{from{opacity:0;transform:translate(-50%,-60%) scale(.6)}}

/* The total sits in the top-left corner of the felt. */
.dr-total{display:grid;gap:2px;letter-spacing:0}.dr-total>div{display:flex;align-items:center;gap:12px}
.dr-total output{display:block;font-size:84px;line-height:.95;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums;min-width:1.2ch;color:#ecfff5;text-shadow:0 3px 14px #0008}
.dr-is-full .dr-tray-top{top:28px;left:36px;right:36px}
.dr-is-full .dr-total output{font-size:clamp(140px,24vh,280px);line-height:.88}.dr-is-full .dr-total .dr-eyebrow{font-size:13px}.dr-is-full .dr-moment{font-size:16px;padding:8px 16px}
.dr-pop{animation:dr-pop .45s cubic-bezier(.2,1.6,.4,1)}@keyframes dr-pop{40%{transform:scale(1.14)}}
.dr-moment{align-self:center;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:750;letter-spacing:.02em;background:color-mix(in srgb,#6fb28f 18%,transparent);animation:dr-badge .4s cubic-bezier(.2,1.4,.4,1) both;transform-origin:left}
.dr-moment[data-tone=high]{background:linear-gradient(120deg,#ffe3a3,#ffd27a 50%,#fff1cc);color:#3a2708;box-shadow:0 6px 18px -6px #d9a53d}
.dr-moment[data-tone=low]{background:#d8435a40;color:#ffc2cc}.dr-moment:not([data-tone]){color:#dcefe5}
.dr-primary{position:relative;background:var(--dr-mint);color:#173a2b;border-radius:14px;padding:13px 26px;font-weight:750!important;font-size:16px;min-width:200px;white-space:nowrap;box-shadow:0 4px 0 #6fb28f,0 12px 26px -8px #03110d}
.dr-primary:hover:not(:disabled){background:#caf9df;transform:translateY(-1px);box-shadow:0 5px 0 #6fb28f,0 14px 28px -12px #2c7a55}
.dr-primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #6fb28f,0 6px 14px -10px #2c7a55}
.dr-primary span{margin-left:14px}
.dr-result{font-size:14px;opacity:.8;min-height:25px;margin-top:16px}
.dr-breakdown{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 26px}
.dr-chip{display:flex;gap:8px;align-items:center;border:1px solid var(--dr-line);border-radius:10px;padding:7px 11px;font-size:12px;animation:dr-chip .32s cubic-bezier(.2,1.3,.4,1) both}
.dr-chip b{font-size:16px;font-variant-numeric:tabular-nums}.dr-chip .dr-dot{width:7px;height:7px}
.dr-chip[data-max=true]{border-color:#e0b458;background:color-mix(in srgb,#ffd27a 14%,transparent)}
.dr-chip.dr-dropped{opacity:.45}.dr-chip.dr-dropped b{text-decoration:line-through}
@keyframes dr-chip{from{opacity:0;transform:translateY(6px) scale(.9)}}

/* Odds chart: one series, the rolled total picked out in the brand colour. */
.dr-odds{position:relative;border:1px solid var(--dr-line);border-radius:16px;padding:18px 18px 14px;margin:0 0 26px}
.dr-odds-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.dr-odds-head h3{font-size:15px;font-weight:700}.dr-odds-head p{font-size:12px;color:var(--muted)}
.dr-chart{position:relative;margin-top:14px;cursor:crosshair}.dr-chart svg{display:block;width:100%;height:120px}
.dr-chart path{fill:color-mix(in srgb,currentColor 16%,transparent);transition:fill .15s}.dr-chart path.is-hover{fill:color-mix(in srgb,currentColor 34%,transparent)}
.dr-chart path.is-hit{fill:var(--color-primary)}.dr-chart line{stroke:var(--dr-line);stroke-width:1}
.dr-chart-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px}
.dr-tip{position:absolute;top:44px;transform:translateX(-50%);margin-left:18px;padding:5px 9px;border-radius:8px;background:var(--color-base-content);color:var(--color-base-100);font-size:12px;font-weight:600;white-space:nowrap;pointer-events:none;z-index:2}
.dr-odds-note{font-size:13px;margin-top:10px}
.dr-odds-table{margin-top:8px;font-size:12px}.dr-odds-table summary{cursor:pointer;color:var(--muted)}.dr-odds-table>div{max-height:220px;overflow:auto;margin-top:8px}
.dr-odds-table table{width:100%;font-variant-numeric:tabular-nums}.dr-odds-table th,.dr-odds-table td{text-align:right;padding:5px 8px;border-bottom:1px solid var(--dr-line)}.dr-odds-table th:first-child,.dr-odds-table td:first-child{text-align:left}

.dr-history-head{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--dr-line);padding-top:20px;gap:10px}.dr-history-head h3{font-size:15px;font-weight:700}.dr-history-head h3 span{font-size:10px;opacity:.5;margin-left:7px}
.dr-history-head button{font-size:11px;text-decoration:underline;text-underline-offset:3px;margin-left:12px}.dr-stats{font-size:11px;opacity:.6;margin:10px 0}
.dr-history{list-style:none;padding:0;max-height:320px;overflow:auto}.dr-history li{display:grid;grid-template-columns:55px 1fr auto 34px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--dr-line);font-size:12px}
.dr-history time{opacity:.55;font-size:10px}.dr-history small{display:block;opacity:.6;overflow-wrap:anywhere}.dr-history strong{font-size:23px;font-variant-numeric:tabular-nums}
.dr-history strong[data-tone=high]{color:#b07b12}.dr-history strong[data-tone=low]{color:#c2364c}
.dr-reuse{width:30px;height:30px;border-radius:8px;border:1px solid transparent;font-size:15px;opacity:.55}.dr-reuse:hover{opacity:1;border-color:var(--dr-line);background:color-mix(in srgb,currentColor 6%,transparent)}
.dr-history .dr-empty-history{display:block;padding:24px 0;opacity:.6}

.dr-config{padding:25px 22px;background:color-mix(in srgb,currentColor 2%,transparent);border-left:1px solid var(--dr-line)}.dr-config fieldset{min-width:0;border:0;padding:0;margin:0}.dr-config legend{font-size:17px;font-weight:750}
.dr-help{font-size:12px;opacity:.6;margin:6px 0 19px}.dr-types{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.dr-types button{position:relative;border:1px solid var(--dr-line);border-radius:10px;padding:12px 3px;font-weight:700;font-size:13px;background:var(--color-base-100);box-shadow:inset 0 -3px 0 var(--die,transparent)}
.dr-types button:hover:not(:disabled),.dr-presets button:hover{background:color-mix(in srgb,#70bda0 18%,transparent)}.dr-types button:active:not(:disabled){transform:scale(.94)}
.dr-custom{margin-top:17px}.dr-custom label,.dr-save label{font-size:12px;display:block;margin-bottom:6px}.dr-custom small{float:right;opacity:.5}.dr-custom>div,.dr-save>div{display:flex;gap:7px}
.dr-app input[type=number],.dr-app input[type=text],.dr-save input,.dr-app select{border:1px solid var(--dr-line);border-radius:8px;padding:8px 9px;min-width:0;background:var(--color-base-100);color:inherit;width:100%;font-size:12px}
.dr-custom button,.dr-save button{flex-shrink:0;padding:7px 12px;background:color-mix(in srgb,currentColor 8%,transparent);border-radius:8px;font-size:12px}
.dr-pool-head{display:flex;justify-content:space-between;align-items:center;font-size:9px;margin:24px 0 10px;letter-spacing:.05em}.dr-pool-head b{opacity:.55;margin-left:5px}.dr-pool-head button{font-size:10px;text-decoration:underline}
.dr-pool-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--dr-line);font-size:13px}.dr-pool-row>span{display:flex;align-items:center;gap:8px}
.dr-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}
.dr-stepper{display:flex;align-items:center;gap:9px}.dr-stepper button{border:1px solid var(--dr-line);border-radius:6px;width:27px;height:27px}.dr-stepper b{min-width:18px;text-align:center}
.dr-options{display:grid;grid-template-columns:80px 1fr;gap:12px;margin-top:20px}.dr-options label,.dr-color>span{font-size:11px;display:block}.dr-options input,.dr-options select{margin-top:6px}
.dr-color{margin-top:14px}#dr-colors{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.dr-swatch{width:28px;height:28px;border-radius:9px;border:1px solid #0002;box-shadow:inset 0 -4px 0 #0000001c,inset 0 2px 0 #ffffff55}
.dr-swatch:hover{transform:translateY(-1px)}.dr-swatch[aria-checked=true]{outline:2px solid currentColor;outline-offset:2px}
.dr-swatch-mixed{background:conic-gradient(#9be7c3 0 25%,#baa3f2 0 50%,#f0c06f 0 75%,#86c0ee 0)}.dr-swatch-mint{background:#9be7c3}.dr-swatch-violet{background:#baa3f2}.dr-swatch-amber{background:#f0c06f}
.dr-swatch-blue{background:#86c0ee}.dr-swatch-rose{background:#f4a6c0}.dr-swatch-coral{background:#f79870}.dr-swatch-lime{background:#c4e87a}.dr-swatch-teal{background:#34a098}
.dr-swatch-ivory{background:#f3ecdc}.dr-swatch-ruby{background:#b0263a}.dr-swatch-plum{background:#6a2e70}.dr-swatch-forest{background:#246042}.dr-swatch-navy{background:#24366c}
.dr-swatch-onyx{background:#26272c;box-shadow:inset 0 0 0 7px #26272c,inset 0 0 0 9px #e8c77a}
.dr-swatch-gold{background:linear-gradient(135deg,#f6dc93,#c9962f 45%,#f3d27f 70%,#a8791f)}.dr-swatch-silver{background:linear-gradient(135deg,#f4f6f9,#9fa6b2 45%,#e6e9ee 70%,#7d8491)}
.dr-swatch-galaxy{background:radial-gradient(circle at 30% 30%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 70% 60%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 60% 35%,#d63ca8,transparent 55%),radial-gradient(circle at 30% 70%,#2bb6d6,transparent 55%),#1c123a}
.dr-swatch-nebula{background:radial-gradient(circle at 30% 30%,#ff5fa2,transparent 60%),radial-gradient(circle at 70% 70%,#3cc8ff,transparent 60%),#5c266e}
.dr-swatch-neon{background:#0c0a14;box-shadow:inset 0 0 0 2px #3cf2ff,0 0 8px #3cf2ff99}
.dr-swatch-toxic{background:radial-gradient(circle at 35% 35%,#d4ff3a,#2bff88 40%,#14220e 75%)}
.dr-swatch-marble{background:linear-gradient(120deg,#eceae4 40%,#8a8795 43%,#eceae4 46%,#eceae4 70%,#c9a55a 72%,#eceae4 74%)}
.dr-swatch-ocean{background:radial-gradient(circle at 30% 30%,#58e6ff,transparent 55%),linear-gradient(#0fd1c9,#0a3a7a)}
.dr-swatch-rainbow{background:conic-gradient(#ff4d6d,#ffb347,#fff14d,#5cff8a,#4dc3ff,#a24dff,#ff4d6d)}
.dr-swatch-holo{background:linear-gradient(45deg,#ffd6f5,#c6f1ff,#e6ffd6,#fff1c6,#e0d6ff)}
.dr-swatch-candy{background:repeating-linear-gradient(45deg,#fff4f8 0 4px,#ff8fb3 4px 8px)}
.dr-swatch-ice{background:linear-gradient(135deg,#ffffff,#c4e8fa 50%,#8fd8ff)}
.dr-swatch-blood{background:radial-gradient(circle at 35% 35%,#ff2a3d,#60060f 60%,#2a0006)}
.dr-presets-title{font-size:12px;font-weight:700;margin:24px 0 10px}.dr-presets{display:flex;flex-wrap:wrap;gap:6px}.dr-presets button{font-size:10px;padding:7px 9px;border:1px solid var(--dr-line);border-radius:7px}
.dr-save{margin-top:22px}.dr-saved>div{display:flex;gap:8px;margin-top:8px}.dr-saved button{font-size:11px;padding:6px 8px;border:1px solid var(--dr-line);border-radius:6px}.dr-saved button:first-child{flex:1;text-align:left;overflow-wrap:anywhere}
.dr-notice{font-size:12px;color:var(--color-base-content);margin-top:12px}.dr-footnote{font-size:10px;line-height:1.7;opacity:.55;margin-top:18px}
@media(min-width:1200px){.dr-tray canvas#dr-canvas{height:620px}}
@media(max-width:850px){.dr-layout{grid-template-columns:minmax(0,1fr) 270px}.dr-workspace{padding:16px}.dr-config{padding:20px 16px}.dr-toolbar{padding:20px}.dr-primary{min-width:170px;padding:12px 18px}.dr-tray canvas#dr-canvas{height:520px}}
@media(max-width:680px){.dr-layout{grid-template-columns:1fr}.dr-toolbar{align-items:flex-start;flex-direction:column;gap:14px}.dr-toolbar h2{font-size:22px}.dr-config{border-left:0;border-top:1px solid var(--dr-line)}
  .dr-tray canvas#dr-canvas{height:460px}.dr-tray-top,.dr-tray-bottom{left:21px;right:21px}.dr-tray-side>span,.dr-tray-bottom>span{font-size:8px}.dr-total output{font-size:60px}
  .dr-tray-bottom>span{display:none}.dr-tray-bottom{grid-template-columns:1fr auto;left:14px;right:14px}.dr-tray-bottom .dr-primary{min-width:0;font-size:15px}.dr-types{grid-template-columns:repeat(7,1fr)}.dr-history-head button{margin-left:7px;font-size:10px}}
@media(max-width:680px){.dr-turn:not([data-players="0"]) .dr-turn-controls{width:100%}}
@media(prefers-reduced-motion:reduce){.dr-app *{transition:none!important;animation:none!important}}
