:root{color:#1b1228;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 78% 18%,#ffda5fe6 0 6rem,#0000 6.1rem),linear-gradient(135deg,#f8d3cf 0%,#f7e7a3 30%,#98d5cf 66%,#6c78bd 100%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{font:inherit}button{border:0}.app-shell{grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);align-items:stretch;gap:1.25rem;width:min(74rem,100% - 2rem);min-height:100vh;margin:0 auto;padding:2rem 0;display:grid;position:relative}.aurora,.speed-lines,.petals{pointer-events:none;position:fixed;inset:0}.aurora{opacity:.7;background:linear-gradient(115deg,#0000 0 20%,#ffffff59 20% 21%,#0000 21% 100%),linear-gradient(124deg,#0000 0 52%,#ffffff40 52% 53%,#0000 53% 100%)}.speed-lines{background-image:linear-gradient(115deg,#0000 0 24%,#ffffff4d 24% 24.3%,#0000 24.3%),linear-gradient(115deg,#0000 0 64%,#ffffff42 64% 64.25%,#0000 64.25%);animation:9s linear infinite drift}.petals span{filter:drop-shadow(0 .35rem .45rem #6c265b2e);background:#ff669694;border-radius:70% 0;width:.7rem;height:1rem;animation:9s linear infinite fall;position:absolute;top:-3rem}.petals span:nth-child(3n){background:#fff4aeb8}.petals span:nth-child(4n){background:#ffffffbf}.petals span:first-child{animation-delay:-1s;left:8%}.petals span:nth-child(2){animation-delay:-5s;left:14%}.petals span:nth-child(3){animation-delay:-2.6s;left:22%}.petals span:nth-child(4){animation-delay:-7.2s;left:31%}.petals span:nth-child(5){animation-delay:-3.8s;left:39%}.petals span:nth-child(6){animation-delay:-6.1s;left:47%}.petals span:nth-child(7){animation-delay:-.7s;left:53%}.petals span:nth-child(8){animation-delay:-4.5s;left:61%}.petals span:nth-child(9){animation-delay:-8s;left:69%}.petals span:nth-child(10){animation-delay:-2.1s;left:77%}.petals span:nth-child(11){animation-delay:-6.8s;left:84%}.petals span:nth-child(12){animation-delay:-3.2s;left:91%}.petals span:nth-child(n+13){animation-duration:12s;transform:scale(.75)}.game-panel,.history-panel{z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff94;border:1px solid #ffffff8f;position:relative;box-shadow:0 1.5rem 4rem #37285e33}.game-panel{border-radius:1.4rem;flex-direction:column;min-height:calc(100vh - 4rem);display:flex;overflow:hidden}.topbar{justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.brand{align-items:center;gap:.85rem;min-width:0;display:flex}.brand-mark,.score-chip{justify-content:center;align-items:center;display:inline-flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#ff5f8a,#705bc8 55%,#16a3a5);border-radius:1rem;flex:none;width:3.1rem;height:3.1rem;box-shadow:0 .9rem 1.6rem #6044a547}h1,h2,p{margin:0}h1{letter-spacing:0;font-size:clamp(2rem,6vw,4.4rem);line-height:.92}.brand p{color:#65576d;margin-top:.25rem;font-size:.95rem}.score-chip{color:#5d3266;background:#ffffff94;border:1px solid #ffffff9e;border-radius:999px;flex:none;gap:.45rem;min-height:2.65rem;padding:0 .9rem;font-weight:800;box-shadow:inset 0 .1rem .2rem #fffc}.stage{isolation:isolate;flex:1;place-items:center;min-height:24rem;padding:2rem;display:grid;position:relative}.stage.is-rolling .moon{animation:.9s ease-out moon-pulse}.stage:before{z-index:-2;content:"";background:linear-gradient(#ffffff47 1px,#0000 1px) 0 0/3.25rem 3.25rem,linear-gradient(90deg,#ffffff3d 1px,#0000 1px) 0 0/3.25rem 3.25rem,radial-gradient(circle at 50% 78%,#ff5f8a47,#0000 36rem);border-radius:1.25rem;position:absolute;inset:1rem}.stage:after{z-index:-1;content:"";opacity:0;background:linear-gradient(115deg,#0000 0 36%,#ffffff94 36% 36.6%,#0000 36.6%),linear-gradient(115deg,#0000 0 61%,#ffffff70 61% 61.35%,#0000 61.35%);border-radius:1.25rem;position:absolute;inset:1rem}.stage.is-rolling:after{animation:.64s ease-out slash-flash}.moon{aspect-ratio:1;background:radial-gradient(circle at 36% 30%,#ffffffe6,#0000 .45rem),radial-gradient(circle at 55% 45%,#ffffff61,#0000 1.2rem),linear-gradient(135deg,#fff7cdc2,#ff93aa61);border-radius:50%;width:min(42vw,24rem);position:absolute;box-shadow:0 0 3rem #ffefb4b3,inset -1.2rem -1rem 2rem #b35b9638}.roll-burst{z-index:0;aspect-ratio:1;opacity:0;pointer-events:none;border:.22rem solid #ffffffdb;border-radius:50%;width:min(44vw,19rem);position:absolute;box-shadow:0 0 1.4rem #fffc,inset 0 0 1.8rem #ef477a38}.dice-grid{z-index:1;width:min(100%, calc(var(--dice-count) * 6.6rem));grid-template-columns:repeat(auto-fit,minmax(5.6rem,1fr));gap:clamp(.65rem,2vw,1rem);max-width:38rem;display:grid;position:relative}.die{aspect-ratio:1;appearance:none;min-width:0;color:inherit;cursor:pointer;touch-action:manipulation;background:radial-gradient(circle at 26% 20%,#fffffff2,#0000 .8rem),linear-gradient(145deg,#fff 0%,#ffdbe3 48%,#fff6c9 100%);border:.18rem solid #ffffffd1;border-radius:1rem;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);padding:17%;display:grid;position:relative;overflow:hidden;box-shadow:0 1.2rem 1.8rem #39235833,inset 0 -.45rem 1rem #ca447d1f}.die:after{content:"";opacity:0;background:linear-gradient(115deg,#0000 25%,#ffffffad 48%,#0000 70%);transition:opacity .2s,transform .45s;position:absolute;inset:-35%;transform:translate(-40%)rotate(12deg)}.die:hover:after,.die:focus-visible:after{opacity:1;transform:translate(36%)rotate(12deg)}.die:focus-visible{outline-offset:.22rem;outline:.22rem solid #ff5f8abf}.pip{place-items:center;display:grid}.pip:before{aspect-ratio:1;content:"";opacity:0;background:linear-gradient(135deg,#462552,#f24779);border-radius:50%;width:58%;transform:scale(.45);box-shadow:0 .18rem .5rem #d235765c}.pip.is-on:before{opacity:1;transform:scale(1)}.controls{border-top:1px solid #ffffff7a;grid-template-columns:minmax(14rem,19rem) minmax(12rem,1fr) auto;align-items:center;gap:1rem;padding:1.25rem;display:grid}.counter{grid-template-columns:2.8rem minmax(6.5rem,1fr) 2.8rem;align-items:center;gap:.55rem;display:grid}.counter label{color:#65576d;text-align:center;text-transform:uppercase;gap:.25rem;font-size:.72rem;font-weight:800;display:grid}.counter input{color:#271632;text-align:center;background:#ffffff9e;border:1px solid #ffffffb8;border-radius:.75rem;outline:0;width:100%;height:2.8rem;font-size:1.2rem;font-weight:900}.icon-button,.roll-button{cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.icon-button{color:#542064;background:#ffffffa8;border-radius:.85rem;width:2.8rem;height:2.8rem;box-shadow:0 .6rem 1rem #4730711f}.icon-button:disabled{cursor:not-allowed;opacity:.42}.slider{accent-color:#ef477a;width:100%}.roll-button{color:#fff;background:linear-gradient(135deg,#eb3e75,#7a58ce 52%,#099aa2);border-radius:.95rem;gap:.55rem;min-width:8.5rem;min-height:3.2rem;font-size:1.05rem;font-weight:900;box-shadow:0 1rem 1.9rem #573a9247}.result-row{grid-template-columns:repeat(3,1fr);gap:.75rem;padding:0 1.25rem 1.25rem;display:grid}.result-row div{background:#ffffff80;border:1px solid #ffffff8c;border-radius:.9rem;min-width:0;padding:.85rem}.metric-label{color:#65576d;text-transform:uppercase;margin-bottom:.25rem;font-size:.75rem;font-weight:800;display:block}.result-row strong{color:#2a1735;font-size:1.55rem}.history-panel{border-radius:1.25rem;align-self:stretch;min-height:calc(100vh - 4rem);padding:1.25rem}.history-title{color:#2a1735;align-items:center;gap:.55rem;display:flex}.history-title h2{font-size:1.2rem}.empty-history{color:#65576d;margin-top:1rem}.history-panel ol{gap:.7rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.history-panel li{background:#ffffff7a;border:1px solid #ffffff8a;border-radius:.85rem;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.25rem;padding:.8rem;display:flex}.history-panel li span{color:#5c5064;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.history-panel li strong{color:#e93d75;font-size:1.25rem}@keyframes drift{to{transform:translate(3rem)}}@keyframes fall{0%{transform:translateY(-4rem)rotate(0)}to{transform:translate(4rem,calc(100vh + 5rem))rotate(520deg)}}@keyframes moon-pulse{0%,to{transform:scale(1)}42%{transform:scale(1.09)}}@keyframes slash-flash{0%{opacity:0;transform:translate(-2rem)}28%{opacity:1}to{opacity:0;transform:translate(2.4rem)}}@media (width<=860px){.app-shell{grid-template-columns:1fr;align-content:start;padding:1rem 0}.game-panel,.history-panel{min-height:auto}.stage{min-height:22rem;padding:1rem}.controls{grid-template-columns:1fr}.roll-button{width:100%}}@media (width<=540px){.app-shell{width:min(100% - 1rem,74rem)}.topbar{flex-direction:column;align-items:flex-start}.score-chip{justify-content:flex-start;width:100%}.dice-grid{grid-template-columns:repeat(auto-fit,minmax(4.75rem,1fr))}.result-row{grid-template-columns:1fr}}
