*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.die{width:90px;height:90px;border-radius:16px;background:var(--die-bg);box-shadow:var(--die-shadow);display:flex;align-items:center;justify-content:center;transition:box-shadow .15s ease}.die-number{font-size:2.6rem;font-weight:900;color:var(--pip-color);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}@keyframes shake{0%{transform:rotate(0) scale(1)}10%{transform:rotate(-12deg) scale(1.08)}25%{transform:rotate(12deg) scale(.93)}40%{transform:rotate(-8deg) scale(1.06)}55%{transform:rotate(8deg) scale(.96)}70%{transform:rotate(-5deg) scale(1.04)}85%{transform:rotate(5deg) scale(.98)}to{transform:rotate(0) scale(1)}}@keyframes settle{0%{transform:scale(1.08)}50%{transform:scale(.95)}to{transform:scale(1)}}.die.rolling{animation:shake .4s ease-in-out infinite;box-shadow:var(--die-shadow-rolling)}.die.settled{animation:settle .3s ease-out forwards}.cowboy-wrapper{position:fixed;bottom:0;right:-18px;width:155px;z-index:10;pointer-events:none}.cowboy-svg{width:100%;height:auto;overflow:visible}.ns{stroke:#ff8c00;fill:none;filter:drop-shadow(0 0 3px #FF8C00) drop-shadow(0 0 8px rgba(255,140,0,.5))}.ns-fill{fill:#ff8c00;stroke:none;filter:drop-shadow(0 0 3px #FF8C00)}.ns-dim{stroke:#ff8c00;fill:none;opacity:.45}.ns-plaid{stroke:#ff8c00;fill:none;opacity:.35}.ns-bright{stroke:#ffd166;fill:none;filter:drop-shadow(0 0 4px #FFD166)}.ember{fill:#ff6b1a;stroke:none;filter:drop-shadow(0 0 3px #FF8C00)}.ember.ember-glow{animation:emberPulse .4s ease-in-out 4}@keyframes emberPulse{0%,to{fill:#ff6b1a;filter:drop-shadow(0 0 3px #FF8C00)}50%{fill:#ffe96b;filter:drop-shadow(0 0 10px #FFE96B) drop-shadow(0 0 20px #FF8C00)}}.wave-arm{transform-box:view-box;transform-origin:26px 158px;animation:armWave 3s ease-in-out infinite}@keyframes armWave{0%,to{transform:rotate(0)}35%{transform:rotate(-20deg)}65%{transform:rotate(-8deg)}}.hat-wave-arm{transform-box:view-box;transform-origin:26px 158px;animation:hatWave .45s ease-in-out infinite}@keyframes hatWave{0%{transform:rotate(-10deg)}50%{transform:rotate(-38deg)}to{transform:rotate(-10deg)}}.hat-hidden{opacity:0}.cowboy-svg{filter:drop-shadow(0 0 5px rgba(255,140,0,.3));transition:filter .3s ease}.cowboy-svg.taking-drag{filter:drop-shadow(0 0 12px rgba(255,140,0,.65))}.smoke{fill:#d2cdc8bf;stroke:none}.smoke-1{animation:puff1 3.5s ease-in-out forwards}.smoke-2{animation:puff2 3.5s ease-in-out .3s forwards;opacity:0}.smoke-3{animation:puff3 3.5s ease-in-out .6s forwards;opacity:0}.smoke-4{animation:puff4 3.5s ease-in-out .9s forwards;opacity:0}.smoke-5{animation:puff5 3.5s ease-in-out 1.2s forwards;opacity:0}@keyframes puff1{0%{opacity:.8;transform:translate(0) scale(1)}55%{opacity:.65;transform:translate(18px,-148px) scale(3.2)}to{opacity:.15;transform:translate(20px,-162px) scale(3.8)}}@keyframes puff2{0%{opacity:0}6%{opacity:.75;transform:translate(0) scale(1)}58%{opacity:.6;transform:translate(28px,-158px) scale(3.5)}to{opacity:.12;transform:translate(30px,-172px) scale(4.2)}}@keyframes puff3{0%{opacity:0}10%{opacity:.7;transform:translate(0) scale(1)}60%{opacity:.55;transform:translate(10px,-142px) scale(3)}to{opacity:.1;transform:translate(12px,-156px) scale(3.6)}}@keyframes puff4{0%{opacity:0}14%{opacity:.65;transform:translate(0) scale(1)}62%{opacity:.5;transform:translate(38px,-152px) scale(4)}to{opacity:.1;transform:translate(40px,-168px) scale(4.8)}}@keyframes puff5{0%{opacity:0}18%{opacity:.6;transform:translate(0) scale(1)}65%{opacity:.45;transform:translate(22px,-165px) scale(3.8)}to{opacity:.08;transform:translate(24px,-180px) scale(4.5)}}.cancan-wrapper{position:fixed;bottom:0;left:-18px;width:155px;z-index:10;pointer-events:none}.cancan-svg{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 0 5px rgba(255,140,0,.3))}.kick-leg{transform-box:view-box;transform-origin:73px 281px}.kick-leg.kicking{animation:cancanKick .55s ease-in-out 4}@keyframes cancanKick{0%{transform:rotate(0)}38%{transform:rotate(-130deg)}58%{transform:rotate(-126deg)}to{transform:rotate(0)}}.dark{--bg: #0d0d1a;--surface: #16162a;--surface-alt: #1f1f38;--border: #2e2e52;--text-primary: #f0f0f5;--text-secondary: #9090b8;--accent: #d4a843;--accent-hover: #e8bc55;--accent-text: #0d0d1a;--die-bg: #1f1f38;--die-shadow: 0 4px 20px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);--die-shadow-rolling: 0 8px 32px rgba(212,168,67,.35), 0 0 0 2px rgba(212,168,67,.2);--pip-color: #d4a843;--marquee-bg: #16162a;--marquee-text: #d4a843;--btn-disabled: #2e2e52}.app{min-height:100vh;background:var(--bg);color:var(--text-primary);display:flex;flex-direction:column;transition:background .3s ease,color .3s ease}.header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid var(--border)}.title{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary)}.marquee-wrapper{background:var(--marquee-bg);padding:10px 0;overflow:hidden;white-space:nowrap;transition:background .3s ease}.marquee-track{display:inline-flex;animation:marquee 22s linear infinite}.marquee-text{display:inline-block;color:var(--marquee-text);font-size:.7rem;font-weight:700;letter-spacing:.15em;padding-right:0}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;padding:48px 24px}.dice-board{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;align-items:center;min-height:110px}.result{display:flex;flex-direction:column;align-items:center;gap:6px;animation:fadeIn .35s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.result-label{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.lucky-number{font-size:3rem;font-weight:900;letter-spacing:.08em;color:var(--accent);font-variant-numeric:tabular-nums}.roll-btn{background:var(--accent);color:var(--accent-text);border:none;border-radius:16px;padding:16px 56px;font-size:1.15rem;font-weight:800;letter-spacing:.04em;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 20px #00000040;text-transform:uppercase}.roll-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 28px #0000004d}.roll-btn:active:not(:disabled){transform:translateY(0)}.roll-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.roll-btn.rolling{animation:pulse .5s ease-in-out infinite alternate}@keyframes pulse{0%{box-shadow:0 4px 20px #00000040}to{box-shadow:0 4px 32px var(--accent),0 0 0 3px #d4a84326}}
