:root{font-family:Outfit,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e2e8f0;background-color:#020617;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--sidebar-width: 340px;--panel-bg: rgba(15, 23, 42, .7);--accent-color: #10b981;--accent-glow: rgba(16, 185, 129, .3);--card-bg: rgba(30, 41, 59, .5);--border-color: rgba(255, 255, 255, .08)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 0% 0%,rgba(16,185,129,.05) 0%,transparent 50%),radial-gradient(circle at 100% 100%,rgba(59,130,246,.05) 0%,transparent 50%),#020617;overflow:hidden}body.is-tray-active{user-select:none;-webkit-user-select:none}#app{display:flex;height:100vh;width:100vw}.sidebar{width:var(--sidebar-width);background:var(--panel-bg);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:2.5rem;overflow-y:auto;z-index:100;box-shadow:10px 0 30px #0000004d;user-select:auto!important;-webkit-user-select:auto!important}.sidebar-header{margin-bottom:3rem}.sidebar-header h2{font-family:Outfit,sans-serif;font-size:1.75rem;font-weight:800;margin:0;color:#fff;letter-spacing:-.03em;background:linear-gradient(to bottom,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sidebar-header p{font-size:.7rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.15em;margin:.5rem 0 0;font-weight:600}.control-group{margin-bottom:2rem;display:flex;flex-direction:column;gap:.75rem}.control-group-row{margin-bottom:2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.control-group label,.control-group-row label{font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.1em}select,input[type=range]{background:#00000040;border:1px solid var(--border-color);padding:.75rem;border-radius:12px;color:#f1f5f9;font-family:inherit;font-size:.9rem;outline:none;cursor:pointer;transition:all .2s}select:hover{background:#00000059;border-color:#fff3}select:focus{border-color:var(--accent-color);box-shadow:0 0 0 4px var(--accent-glow)}.color-picker-wrapper{display:flex;align-items:center;gap:1rem;background:#00000040;padding:.5rem;border-radius:12px;border:1px solid var(--border-color)}input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;width:32px;height:32px;border-radius:8px;background:transparent;cursor:pointer}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:8px}#color-value{font-family:JetBrains Mono,monospace;font-size:.8rem;color:#94a3b8}.btn-close{display:none;position:absolute;top:1.5rem;right:1.5rem;background:transparent;border:none;font-size:2.5rem;color:#fff;cursor:pointer;line-height:1;z-index:101}.sidebar-footer{margin-top:auto;padding-top:2rem;display:flex;flex-direction:column;gap:1.5rem}.quick-install{background:#0006;padding:1.25rem;border-radius:16px;border:1px solid var(--border-color);cursor:pointer;transition:all .2s}.quick-install:hover{background:#00000080;transform:translateY(-2px)}.quick-install .label{font-size:.65rem;text-transform:uppercase;color:#64748b;font-weight:800;letter-spacing:.1em}.quick-install code{display:block;font-family:JetBrains Mono,monospace;font-size:.85rem;color:#10b981;margin-top:.5rem}.main-content{flex:1;display:flex;flex-direction:column;padding:4rem;overflow-y:auto;position:relative}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3.5rem}header h1{font-family:Outfit,sans-serif;font-size:clamp(2.5rem,5vw,4rem);margin:0;background:linear-gradient(135deg,#fff,#64748b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:800;letter-spacing:-.05em;line-height:1}header p{color:#94a3b8;font-size:1rem;margin-top:.75rem;font-weight:500}.title-row{display:flex;align-items:center;gap:1.5rem}.btn-icon{display:none;background:var(--card-bg);border:1px solid var(--border-color);color:#fff;border-radius:12px;padding:.75rem;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#results-display{background:var(--card-bg);padding:1.5rem 2.5rem;border-radius:24px;border:1px solid var(--border-color);text-align:right;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);user-select:auto!important;-webkit-user-select:auto!important}#results-display .label{font-size:.7rem;text-transform:uppercase;color:#64748b;font-weight:800;letter-spacing:.15em}#total-sum{display:block;font-family:Outfit,sans-serif;font-size:3.5rem;font-weight:800;color:#fff;line-height:1;margin-top:.25rem}main{flex:1;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:3rem}#dice-container-wrapper{width:100%;height:500px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,rgba(255,255,255,.02) 0%,transparent 70%);border-radius:40px;border:1px dashed rgba(255,255,255,.05);resize:vertical;overflow:hidden;position:relative;min-height:200px}.tray-instructions{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);background:#0f172a66;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.6rem 1.5rem;border-radius:100px;border:1px solid rgba(255,255,255,.08);color:#94a3b8;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;pointer-events:none;z-index:1000;opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0003;white-space:nowrap}.tray-instructions.visible{opacity:1;bottom:2rem}.results-popup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);background:#0f172abf;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:1.5rem 4rem;border-radius:100px;border:2px solid rgba(255,255,255,.1);box-shadow:0 20px 80px #00000080,inset 0 0 40px #ffffff0d;color:#fff;font-size:7rem;line-height:1;font-weight:900;text-align:center;z-index:2000;opacity:0;pointer-events:none;transition:all .6s cubic-bezier(.34,1.56,.64,1);text-shadow:0 10px 30px rgba(var(--accent-rgb, 16, 185, 129),.4);letter-spacing:-.05em;font-family:Outfit,Inter,sans-serif}.results-popup.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}#dice-container{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;perspective:2000px;width:100%;height:100%;transition:all .5s cubic-bezier(.4,0,.2,1)}.dice-wrapper{will-change:transform;backface-visibility:hidden;transition:top .6s cubic-bezier(.34,1.56,.64,1),left .6s cubic-bezier(.34,1.56,.64,1),transform .6s cubic-bezier(.34,1.56,.64,1)}.dice-tray-container{position:relative;width:100%;height:100%;padding:0;box-sizing:border-box;overflow:hidden}.dice-tray-container>.dice-wrapper{display:none}.dice-tray-shelf{position:absolute;top:1.25rem;left:1.25rem;right:1.25rem;height:110px;background:#0f172a80;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-radius:20px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;padding:0 2rem;gap:1.25rem;overflow-x:auto;overflow-y:hidden;box-shadow:0 8px 32px #0000004d,inset 0 1px 1px #ffffff1a;scrollbar-width:thin;z-index:100;transition:all .4s cubic-bezier(.4,0,.2,1)}.dice-tray-shelf.is-hidden{transform:translateY(-120%);opacity:0;pointer-events:none}@keyframes fade-in-up{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.dice-tray-shelf:hover{background:#0f172aa6;border-color:#fff3}.dice-tray-shelf:before{content:"INACTIVE SHELF";position:absolute;top:.5rem;left:1rem;font-size:.6rem;font-weight:800;letter-spacing:.1em;color:#ffffff26;pointer-events:none}.dice-tray-rolling-area{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 50%,rgba(16,185,129,.05) 0%,transparent 80%),#00000040;border:none;overflow:visible;box-shadow:inset 0 0 100px #0009;z-index:10}.dice-tray-rolling-area:before{content:"ACTIVE ROLLING PIT";position:absolute;bottom:1rem;right:1.5rem;font-size:.8rem;font-weight:800;letter-spacing:.2em;color:#10b98126;pointer-events:none}.dice-tray-rolling-area .dice-wrapper{transition:opacity .5s ease!important;animation:none!important}.dice-tray-rolling-area .dice-wrapper .dice-tumble{animation:none!important}footer{display:flex;justify-content:space-between;align-items:center}.controls{display:flex;align-items:center;gap:1rem;background:#0f172a80;padding:.75rem;border-radius:20px;border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-group{display:flex;gap:.5rem}.divider{width:1px;height:24px;background:var(--border-color);margin:0 .5rem}.btn{font-family:Outfit,sans-serif;background:transparent;border:1px solid transparent;color:#94a3b8;padding:.75rem 1.25rem;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.85rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.btn:hover{background:#ffffff0d;color:#fff;transform:translateY(-2px)}.btn-die{border:1px solid rgba(255,255,255,.05);min-width:60px;justify-content:center}.btn-die:hover{border-color:var(--accent-color);background:var(--accent-glow)}.btn-primary{background:#fff;color:#020617;padding:.75rem 2.5rem;box-shadow:0 10px 20px #ffffff1a}.btn-primary:hover{background:#f8fafc;transform:translateY(-2px) scale(1.02);box-shadow:0 15px 30px #ffffff26}.btn-primary:active{transform:translateY(0)}.btn-danger{color:#ef4444}.btn-danger:hover{background:#ef44441a;color:#f87171}.btn-ghost{color:#64748b;font-size:.75rem;justify-content:center;width:100%}.btn-ghost:hover{color:#94a3b8;background:transparent;text-decoration:underline}.footer-links{display:flex;gap:2rem}.footer-links a{color:#64748b;text-decoration:none;font-size:.85rem;font-weight:600;transition:color .2s}.footer-links a:hover{color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.main-content>*{animation:slideUp .6s cubic-bezier(.2,.8,.2,1) both}header{animation-delay:.1s}main{animation-delay:.2s}footer{animation-delay:.3s}@media (max-width: 1024px){:root{--sidebar-width: 300px}}@media (max-width: 768px){body{overflow-y:auto}#app{flex-direction:column;overflow-y:visible;height:auto;min-height:100vh}.sidebar{position:fixed;top:0;left:0;width:100%;max-width:100vw;height:100%;z-index:1000;transform:translate(-100%);transition:transform .4s cubic-bezier(.4,0,.2,1);padding:2rem;box-shadow:none;overflow-y:auto}.sidebar.sidebar-active{transform:translate(0)}.btn-close{display:block}.btn-icon{display:flex}.main-content{padding:2rem;overflow-y:visible}header{flex-direction:column;gap:2rem;align-items:center;text-align:center}header h1{font-size:3rem}#results-display{text-align:center;width:100%;padding:1rem}#total-sum{font-size:3rem}#dice-container-wrapper{height:400px;border-radius:24px}footer{flex-direction:column;gap:2rem;margin-top:2rem}.controls{flex-direction:column;width:100%;padding:1.5rem}.btn-group{flex-wrap:wrap;justify-content:center;width:100%}.btn-die{flex:1 1 80px}.btn-primary{width:100%}.btn-danger{width:100%;justify-content:center}.divider{width:100%;height:1px;margin:1rem 0}.footer-links{margin-bottom:2rem}}@media (max-width: 480px){header h1{font-size:2.25rem}.sidebar{padding:1.5rem}.control-group-row{margin-bottom:1.5rem}}:root{--dice-size: 110px;--dice-animation-duration: 2.5s;--dice-animation-name: roll-standard}.dice-wrapper{position:relative;width:var(--dice-size);height:var(--dice-size);display:inline-flex;align-items:center;justify-content:center;margin:.75rem;perspective:1500px;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;animation:die-appear .4s cubic-bezier(.175,.885,.32,1.275)}.dice-wrapper.is-scooped{z-index:1000}.dice-wrapper.is-scooped .die{filter:drop-shadow(0 0 25px rgba(var(--accent-rgb, 16, 185, 129),.75));transform:scale(1.1)!important;transition:filter .3s ease}.dice-wrapper.drag-mode{cursor:grab;touch-action:none}.dice-wrapper.is-dragging{cursor:grabbing}.dice-tray-shelf .dice-wrapper{transition:transform .3s cubic-bezier(.34,1.56,.64,1),filter .3s ease}.dice-tray-shelf .dice-wrapper:hover{transform:translateY(-5px) scale(1.1);filter:drop-shadow(0 0 15px var(--dice-color-glow))}.dice-drag-container{width:100%;height:100%;transform-style:preserve-3d;will-change:transform}@keyframes die-appear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.dice-tumble{width:100%;height:100%;transform-style:preserve-3d;transform-origin:center}.is-rolling .dice-tumble{animation:var(--dice-animation-name) var(--dice-animation-duration) linear infinite}.dice-wrapper.is-spinning-always:not(.is-rolling) .dice-tumble{animation:roll-demo 15s linear infinite}.dice-result{position:absolute;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-origin:center}.die-face{position:absolute;top:50%;left:50%;width:0px;height:0px;transform-style:preserve-3d;backface-visibility:hidden;display:flex;align-items:center;justify-content:center}.face-content{display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:15% 10% 10%;width:100%;height:100%;font-family:Inter,sans-serif;font-weight:800;z-index:10;word-wrap:break-word;overflow:visible;text-align:center}.face-content img,.face-content svg,.face-content canvas{max-width:100%;max-height:100%;object-fit:contain}@keyframes roll-standard{0%{transform:rotateX(0) rotateY(0) rotate(0)}33%{transform:rotateX(120deg) rotateY(240deg) rotate(36deg)}66%{transform:rotateX(240deg) rotateY(480deg) rotate(72deg)}to{transform:rotateX(360deg) rotateY(720deg) rotate(108deg)}}@keyframes roll-chaotic{0%{transform:rotateX(0) rotateY(0) rotate(0)}25%{transform:rotateX(180deg) rotateY(-90deg) rotate(45deg)}50%{transform:rotateX(360deg) rotateY(360deg) rotate(-90deg)}75%{transform:rotateX(540deg) rotateY(180deg) rotate(180deg)}to{transform:rotateX(720deg) rotateY(720deg) rotate(360deg)}}@keyframes roll-float{0%{transform:translateY(0) rotateX(0) rotateY(0)}50%{transform:translateY(-20px) rotateX(180deg) rotateY(180deg)}to{transform:translateY(0) rotateX(360deg) rotateY(360deg)}}@keyframes roll-demo{0%{transform:rotateX(15deg) rotateY(0)}to{transform:rotateX(15deg) rotateY(360deg)}}.theme-obsidian{--dice-color: #0a0a0c;--dice-secondary-color: #4c1d95;--dice-text-color: #ffffff}.theme-obsidian .face-shape{stroke-width:3px;filter:contrast(1.2) brightness(.8)}.theme-obsidian .die-face{filter:drop-shadow(0 0 2px var(--dice-secondary-color))}.theme-weathered-oak{--dice-color: #451a03;--dice-secondary-color: #78350f;--dice-text-color: #ffffff}.theme-weathered-oak .face-shape{stroke-width:4px}.theme-weathered-oak .die-face{--face-background: repeating-linear-gradient(45deg, rgba(0,0,0,.1) 0px, rgba(0,0,0,.1) 2px, transparent 2px, transparent 4px);-webkit-mask-image:radial-gradient(circle,black,transparent 70%);mask-image:radial-gradient(circle,black,transparent 70%)}.theme-carrara-marble{--dice-color: #f8fafc;--dice-secondary-color: #94a3b8;--dice-text-color: #1e293b}.theme-carrara-marble .face-shape{stroke-width:2px}.theme-carrara-marble .face-bg:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent 45%,rgba(148,163,184,.2) 50%,transparent 55%);pointer-events:none}.theme-verdigris-copper{--dice-color: #134e4a;--dice-secondary-color: #2dd4bf;--dice-text-color: #ffffff}.theme-verdigris-copper .face-shape{stroke-width:3px}.theme-verdigris-copper .die-face{filter:sepia(.3) hue-rotate(140deg)}.theme-bioluminescent{--dice-color: #064e3b;--dice-secondary-color: #22d3ee;--dice-text-color: #ffffff}.theme-bioluminescent .face-shape{stroke-width:2px}.theme-bioluminescent .die-face{filter:drop-shadow(0 0 6px var(--dice-secondary-color))}.theme-frosted-glacier{--dice-color: #bae6fd;--dice-secondary-color: #e0f2fe;--dice-text-color: #0c4a6e}.theme-frosted-glacier .face-bg{--face-background: rgba(186, 230, 253, .2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.theme-frosted-glacier .face-shape{stroke-width:2px}.theme-volcanic-basalt{--dice-color: #18181b;--dice-secondary-color: #fb7185;--dice-text-color: #ffffff}.theme-volcanic-basalt .face-shape{stroke-width:4px;filter:drop-shadow(0 0 2px #ef4444)}.theme-ancient-parchment{--dice-color: #fef3c7;--dice-secondary-color: #78350f;--dice-text-color: #451a03}.theme-ancient-parchment .face-shape{stroke-width:2px}.theme-jade-imperium{--dice-color: #065f46;--dice-secondary-color: #fbbf24;--dice-text-color: #ffffff}.theme-jade-imperium .face-shape{stroke-width:3px}.theme-starry-night{--dice-color: #0f172a;--dice-secondary-color: #94a3b8;--dice-text-color: #ffffff}.theme-starry-night .face-shape{stroke-width:1px}.theme-starry-night .face-bg:after{content:"✦";position:absolute;font-size:8px;color:#fff;opacity:.4;animation:twinkle 2s infinite alternate}@keyframes twinkle{0%{opacity:.2;transform:scale(.8)}to{opacity:.6;transform:scale(1.2)}}.theme-arcane-leyline{--dice-color: #4c1d95;--dice-secondary-color: #22d3ee;--dice-text-color: #ffffff}.theme-arcane-leyline .face-shape{stroke-width:3px;filter:drop-shadow(0 0 5px #06b6d4)}.theme-spirit-wisp{--dice-color: #ecfeff;--dice-secondary-color: #a5f3fc;--dice-text-color: #083344}.theme-spirit-wisp .die-face{opacity:.7;filter:blur(.5px) drop-shadow(0 0 8px #a5f3fc)}.theme-spirit-wisp .face-shape{stroke-width:2px}.theme-phoenix-ember{--dice-color: #991b1b;--dice-secondary-color: #f59e0b;--dice-text-color: #ffffff}.theme-phoenix-ember .face-shape{stroke-width:4px}.theme-phoenix-ember .die-face{filter:drop-shadow(0 0 10px #ef4444);animation:ember-flicker 1.5s infinite alternate}@keyframes ember-flicker{0%{filter:drop-shadow(0 0 4px #ef4444)}to{filter:drop-shadow(0 0 12px #f97316)}}.theme-void-dweller{--dice-color: #000000;--dice-secondary-color: #5b21b6;--dice-text-color: #ffffff}.theme-void-dweller .face-shape{stroke-width:4px;filter:contrast(1.5) drop-shadow(0 0 2px #4c1d95)}.theme-celestial-gold{--dice-color: #f59e0b;--dice-secondary-color: #ffffff;--dice-text-color: #78350f}.theme-celestial-gold .face-shape{stroke-width:3px}.theme-celestial-gold .die-face{filter:drop-shadow(0 0 15px rgba(255,255,255,.8))}.theme-moonstone{--dice-color: #e2e8f0;--dice-secondary-color: #818cf8;--dice-text-color: #1e1b4b}.theme-moonstone .face-shape{stroke-width:2px}.theme-moonstone .die-face{--face-background: radial-gradient(circle, rgba(129, 140, 248, .2), transparent)}.theme-cursed-ichor{--dice-color: #14532d;--dice-secondary-color: #4ade80;--dice-text-color: #ffffff}.theme-cursed-ichor .face-shape{stroke-width:3px;filter:hue-rotate(50deg) saturate(1.5)}.theme-chronos-sand{--dice-color: #d97706;--dice-secondary-color: #fef3c7;--dice-text-color: #451a03}.theme-chronos-sand .face-shape{stroke-width:2px}.theme-chronos-sand .die-face{filter:grayscale(.2) sepia(.4)}.theme-dreamweaver{--dice-color: #fdf2f8;--dice-secondary-color: #f472b6;--dice-text-color: #1e293b}.theme-dreamweaver .face-shape{stroke-width:3px}.theme-dreamweaver .die-face{--face-background: linear-gradient(45deg, rgba(244, 114, 182, .1), rgba(96, 165, 250, .1))}.theme-shadowfell{--dice-color: #18181b;--dice-secondary-color: #27272a;--dice-text-color: #52525b}.theme-shadowfell .face-shape{stroke-width:5px}.theme-cyberpunk-2077{--dice-color: #fde047;--dice-secondary-color: #db2777;--dice-text-color: #000000}.theme-cyberpunk-2077 .face-shape{stroke-width:4px}.theme-cyberpunk-2077 .die-face:before{text-shadow:0 0 5px #ec4899}.theme-monochrome-hud{--dice-color: #052e16;--dice-secondary-color: #22c55e;--dice-text-color: #22c55e}.theme-monochrome-hud .face-shape{stroke-width:2px}.theme-monochrome-hud .die-face{filter:drop-shadow(0 0 4px var(--dice-secondary-color))}.theme-carbon-fiber{--dice-color: #09090b;--dice-secondary-color: #3f3f46;--dice-text-color: #ffffff}.theme-carbon-fiber .face-shape{stroke-width:3px}.theme-carbon-fiber .die-face{--face-background: repeating-linear-gradient(45deg, #18181b 0px, #18181b 2px, #27272a 2px, #27272a 4px)}.theme-plasma-reactor{--dice-color: #083344;--dice-secondary-color: #06b6d4;--dice-text-color: #ffffff}.theme-plasma-reactor .face-shape{stroke-width:2px}.theme-plasma-reactor .die-face{filter:drop-shadow(0 0 12px var(--dice-secondary-color));animation:reactor-pulse 2s infinite ease-in-out}@keyframes reactor-pulse{0%{transform:scale(1);filter:drop-shadow(0 0 12px var(--dice-secondary-color))}50%{transform:scale(1.02);filter:drop-shadow(0 0 20px #22d3ee)}to{transform:scale(1);filter:drop-shadow(0 0 12px var(--dice-secondary-color))}}.theme-circuit-board{--dice-color: #1e293b;--dice-secondary-color: #ea580c;--dice-text-color: #ffffff}.theme-circuit-board .face-shape{stroke-width:3px}.theme-liquid-mercury{--dice-color: #cbd5e1;--dice-secondary-color: #f8fafc;--dice-text-color: #1e293b}.theme-liquid-mercury .face-shape{stroke-width:1px}.theme-liquid-mercury .die-face{filter:contrast(1.5) brightness(1.2) drop-shadow(0 0 4px #94a3b8)}.theme-industrial-hazard{--dice-color: #eab308;--dice-secondary-color: #000000;--dice-text-color: #000000}.theme-industrial-hazard .face-shape{stroke-width:4px}.theme-industrial-hazard .die-face{--face-background: repeating-linear-gradient(-45deg, transparent, transparent 10px, rgba(0,0,0,.1) 10px, rgba(0,0,0,.1) 20px)}.theme-holographic-foil{--dice-color: rgba(255, 255, 255, .4);--dice-secondary-color: #ffffff;--dice-text-color: #1e293b}.theme-holographic-foil .face-shape{stroke-width:2px}.theme-holographic-foil .face-bg{--face-background: linear-gradient(135deg, #f472b6, #60a5fa, #4ade80, #fbbf24);background-size:400% 400%;animation:holo-shift 5s infinite linear;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes holo-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.theme-synthwave-sky{--dice-color: #4c1d95;--dice-secondary-color: #ec4899;--dice-text-color: #ffffff}.theme-synthwave-sky .face-shape{stroke-width:3px}.theme-synthwave-sky .die-face{--face-background: linear-gradient(to top, #831843, #4c1d95)}.theme-interstellar-warp{--dice-color: #000000;--dice-secondary-color: #ffffff;--dice-text-color: #ffffff}.theme-interstellar-warp .face-shape{stroke-width:1px}.theme-interstellar-warp .die-face{filter:drop-shadow(0 0 3px var(--dice-secondary-color))}.theme-sumie-ink{--dice-color: #fafafa;--dice-secondary-color: #000000;--dice-text-color: #000000}.theme-sumie-ink .face-shape{stroke-width:4px}.theme-sumie-ink .die-face{filter:contrast(1.2) drop-shadow(4px 4px 0px rgba(0,0,0,.1))}.theme-vibrant-pop-art{--dice-color: #22d3ee;--dice-secondary-color: #db2777;--dice-text-color: #000000}.theme-vibrant-pop-art .face-shape{stroke-width:5px}.theme-vibrant-pop-art .face-bg{--face-background: radial-gradient(#fbbf24 20%, transparent 20%);background-size:10px 10px}.theme-watercolor-wash{--dice-color: rgba(34, 211, 238, .3);--dice-secondary-color: #0ea5e9;--dice-text-color: #0c4a6e}.theme-watercolor-wash .face-shape{stroke-width:3px;filter:blur(.5px)}.theme-watercolor-wash .die-face{--face-background: radial-gradient(circle, var(--dice-secondary-color) 10%, transparent)}.theme-pixel-dungeon{--dice-color: #3f3f46;--dice-secondary-color: #18181b;--dice-text-color: #ffffff}.theme-pixel-dungeon .face-shape{stroke-width:4px;image-rendering:pixelated}.theme-pixel-dungeon .die-face:before{font-family:Courier New,monospace!important}.theme-gold-leaf{--dice-color: #fbbf24;--dice-secondary-color: #d97706;--dice-text-color: #451a03}.theme-gold-leaf .face-shape{stroke-width:2px}.theme-gold-leaf .die-face{filter:drop-shadow(0 0 2px var(--dice-secondary-color));--face-background: linear-gradient(135deg, rgba(255,255,255,.4) 0%, transparent 50%, rgba(0,0,0,.1) 100%)}.theme-blueprint{--dice-color: #1e3a8a;--dice-secondary-color: #ffffff;--dice-text-color: #ffffff}.theme-blueprint .face-shape{stroke-width:1px}.theme-blueprint .die-face{--face-background: repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0px, rgba(255,255,255,.05) 1px, transparent 1px, transparent 10px), repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0px, rgba(255,255,255,.05) 1px, transparent 1px, transparent 10px)}.theme-retro-comic{--dice-color: #ef4444;--dice-secondary-color: #000000;--dice-text-color: #000000}.theme-retro-comic .face-shape{stroke-width:5px}.theme-retro-comic .die-face:before{font-style:italic;text-shadow:2px 2px 0px #000000}.theme-lava-lamp{--dice-color: rgba(239, 68, 68, .4);--dice-secondary-color: #ef4444;--dice-text-color: #ffffff}.theme-lava-lamp .face-shape{stroke-width:2px}.theme-lava-lamp .face-bg{--face-background: radial-gradient(circle at 30% 30%, #ef4444, transparent 50%), radial-gradient(circle at 70% 70%, #f97316, transparent 50%);animation:lava-flow 10s infinite linear}@keyframes lava-flow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-stained-glass{--dice-color: rgba(96, 165, 250, .5);--dice-secondary-color: #1e293b;--dice-text-color: #ffffff}.theme-stained-glass .face-shape{stroke-width:4px}.theme-stained-glass .die-face{--face-background: conic-gradient(#ef4444, #fbbf24, #4ade80, #60a5fa, #ef4444);opacity:.8}.theme-chalkboard{--dice-color: #18181b;--dice-secondary-color: #52525b;--dice-text-color: #e4e4e7}.theme-chalkboard .face-shape{stroke-width:2px}.theme-chalkboard .die-face:before{font-family:serif!important}.theme-candy-cane{--dice-color: #ef4444;--dice-secondary-color: #ffffff;--dice-text-color: #000000}.theme-candy-cane .die-face{--face-background: repeating-linear-gradient(45deg, var(--dice-color) 0px, var(--dice-color) 10px, var(--dice-secondary-color) 10px, var(--dice-secondary-color) 20px)}.theme-candy-cane .face-shape{fill:#0000001a;stroke-width:2px}.theme-galaxy-swirl{--dice-color: #1e1b4b;--dice-secondary-color: #818cf8;--dice-text-color: #ffffff}.theme-galaxy-swirl .face-shape{stroke-width:2px}.theme-galaxy-swirl .die-face{--face-background: radial-gradient(circle, #4c1d95, #6366f1, var(--dice-color));opacity:.9}.theme-royal-velvet{--dice-color: #7f1d1d;--dice-secondary-color: #fde047;--dice-text-color: #ffffff}.theme-royal-velvet .face-shape{stroke-width:3px}.theme-royal-velvet .die-face{filter:contrast(.8) brightness(.9)}.theme-steampunk-brass{--dice-color: #78350f;--dice-secondary-color: #ca8a04;--dice-text-color: #fde047}.theme-steampunk-brass .face-shape{stroke-width:5px}.theme-steampunk-brass .die-face{filter:sepia(.5) contrast(1.1)}.theme-honey-hive{--dice-color: #f59e0b;--dice-secondary-color: #000000;--dice-text-color: #000000}.theme-honey-hive .face-shape{stroke-width:1px}.theme-honey-hive .die-face{--face-background: radial-gradient(circle at center, transparent 30%, rgba(251, 191, 36, .2) 70%)}.theme-triton-deep{--dice-color: #172554;--dice-secondary-color: #3b82f6;--dice-text-color: #ffffff}.theme-triton-deep .face-shape{stroke-width:3px}.theme-triton-deep .die-face{filter:blur(.2px) brightness(.8) contrast(1.2)}.theme-autumn-leaves{--dice-color: #9a3412;--dice-secondary-color: #ea580c;--dice-text-color: #ffffff}.theme-autumn-leaves .face-shape{stroke-width:2px}.theme-autumn-leaves .die-face{--face-background: linear-gradient(to bottom, #7c2d12, var(--dice-color))}.theme-frozen-tundra{--dice-color: #f8fafc;--dice-secondary-color: #38bdf8;--dice-text-color: #0ea5e9}.theme-frozen-tundra .face-shape{stroke-width:4px}.theme-frozen-tundra .die-face{filter:drop-shadow(0 0 5px #0ea5e9)}.theme-dragon-scale{--dice-color: #14532d;--dice-secondary-color: #d97706;--dice-text-color: #ffffff}.theme-dragon-scale .face-shape{stroke-width:2px}.theme-dragon-scale .die-face{--face-background: radial-gradient(circle at top left, transparent 20%, rgba(0,0,0,.4) 100%)}:root{--dice-color: #10b981;--dice-color-bright: #34d399;--dice-color-dark: #064e3b;--dice-color-glow: rgba(16, 185, 129, .4);--dice-text-color: #ffffff;--dice-secondary-color: var(--dice-color-dark)}.die-face{width:calc(.5 * var(--dice-size));height:calc(.5 * var(--dice-size));margin-left:calc(-.25 * var(--dice-size));margin-top:calc(-.25 * var(--dice-size));box-sizing:border-box;display:flex;align-items:center;justify-content:center}.face-bg{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--face-background, transparent);clip-path:var(--face-clip, none);z-index:0;pointer-events:none}.die-face svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.face-content{z-index:2;pointer-events:none}.face-shape{fill:var(--dice-color);stroke:var(--dice-secondary-color);transition:all .3s ease}.theme-glass .die-face{background:transparent;filter:drop-shadow(0 0 4px var(--dice-color-glow))}.theme-glass .face-shape{fill:#0003;stroke:var(--dice-secondary-color, var(--dice-color-glow));stroke-width:2px;paint-order:stroke fill}.theme-solid .die-face{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.theme-solid .face-shape{fill:var(--dice-color);stroke:var(--dice-secondary-color, var(--dice-color-dark));stroke-width:4px}.theme-neon .die-face{background:transparent;filter:drop-shadow(0 0 8px var(--dice-color-glow))}.theme-neon .face-shape{fill:#000000d9;stroke:var(--dice-secondary-color, var(--dice-color));stroke-width:3px}.theme-neon .face-content{color:var(--dice-color-bright);text-shadow:0 0 8px var(--dice-color)}.d4 .die-face,.d8 .die-face,.d20 .die-face{height:calc(.433 * var(--dice-size));margin-top:calc(-.216 * var(--dice-size));--face-clip: polygon(50% 0%, 0% 100%, 100% 100%)}.d10 .die-face{width:calc(.52 * var(--dice-size));height:calc(.62 * var(--dice-size));margin-left:calc(-.26 * var(--dice-size));--face-clip: polygon(50% 0%, 100% 80.65%, 50% 100%, 0% 80.65%)}.d10 .die-face[data-face="1"],.d10 .die-face[data-face="2"],.d10 .die-face[data-face="3"],.d10 .die-face[data-face="4"],.d10 .die-face[data-face="5"]{transform-origin:50% 0%;margin-top:calc(-.25 * var(--dice-size))}.d10 .die-face[data-face="6"],.d10 .die-face[data-face="7"],.d10 .die-face[data-face="8"],.d10 .die-face[data-face="9"],.d10 .die-face[data-face="10"]{transform-origin:50% 0%;margin-top:calc(.25 * var(--dice-size))}.d12 .die-face{height:calc(.475528 * var(--dice-size));margin-top:calc(-.237764 * var(--dice-size));--face-clip: polygon(50% 0%, 100% 38.2%, 80.9% 100%, 19.1% 100%, 0% 38.2%)}.d6 .die-face{--face-clip: inset(0)}.face-content{color:var(--dice-text-color);text-shadow:1px 1px 4px rgba(0,0,0,.8);line-height:1.1;font-size:calc(.2 * var(--dice-size) * var(--dice-text-scale, 1))}.d4 .face-content,.d8 .face-content,.d20 .face-content{line-height:1.1;padding-top:calc(.12 * var(--dice-size))}.d10 .face-content{line-height:1.1;padding:0;transform:translateY(15%)}.d20 .face-content{font-size:calc(.12 * var(--dice-size) * var(--dice-text-scale, 1))}.d10 .die-face:nth-child(n+6) .face-content{transform:rotate(180deg) translateY(-15%)}
