:root{--bg:#14092b;--panel:#1f1240;--panel-edge:#3a2470;--text:#f4ecff;--text-dim:#b9a8d9;--pink:#ff3d9a;--pink-dark:#a3175c;--cyan:#2de2e6;--cyan-dark:#158a8d;--gold:#ffd23f;--green:#39ff88;--yellow:#ffe53d;--orange:#ff9f3d;--red:#ff4b5c;--font-pixel:"Pixelify Sans", monospace;--font-body:"Space Grotesk", system-ui, sans-serif;--font-numbers:"Jersey 10", var(--font-pixel);--px:4px}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background-color:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.5}body:after{content:"";pointer-events:none;z-index:100;background:repeating-linear-gradient(#0000002e 0 1px,#0000 1px 3px);position:fixed;inset:0}#root{z-index:1;max-width:520px;padding:calc(20px + env(safe-area-inset-top)) 16px calc(40px + env(safe-area-inset-bottom));margin:0 auto;position:relative}h1,h2,h3{font-family:var(--font-pixel);margin:0 0 .5em;font-weight:600;line-height:1.2}p{margin:0 0 .75em}.error{color:var(--red)}.panel{background:var(--panel);margin:var(--px);box-shadow:0 calc(var(--px) * -1) 0 0 var(--panel-edge), 0 var(--px) 0 0 var(--panel-edge), calc(var(--px) * -1) 0 0 0 var(--panel-edge), var(--px) 0 0 0 var(--panel-edge), 0 0 40px #ff3d9a26;padding:24px}button{font-family:var(--font-pixel);letter-spacing:.05em;color:var(--bg);background:var(--pink);min-height:48px;margin:var(--px) var(--px) calc(var(--px) * 2);cursor:pointer;touch-action:manipulation;box-shadow:0 var(--px) 0 0 var(--pink-dark);border:none;padding:12px 24px;font-size:1.1rem;font-weight:600;transition:transform 80ms,box-shadow 80ms,filter .15s}button:hover:not(:disabled){filter:brightness(1.12);box-shadow:0 var(--px) 0 0 var(--pink-dark), 0 0 18px var(--pink)}button:active:not(:disabled){transform:translateY(var(--px));box-shadow:0 0 0 0 var(--pink-dark)}button:disabled{opacity:.4;cursor:not-allowed}button.secondary{background:var(--cyan);box-shadow:0 var(--px) 0 0 var(--cyan-dark)}button.secondary:hover:not(:disabled){box-shadow:0 var(--px) 0 0 var(--cyan-dark), 0 0 18px var(--cyan)}input{font-family:var(--font-numbers);background:var(--bg);width:100%;color:var(--cyan);box-shadow:inset 0 0 0 var(--px) var(--cyan-dark);border:none;outline:none;padding:12px 16px;font-size:2.1rem;transition:box-shadow .15s}input:focus{box-shadow:inset 0 0 0 var(--px) var(--cyan), 0 0 16px #2de2e680}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.neon-pink{color:#fff;text-shadow:0 0 2px #fff, 0 0 8px var(--pink), 0 0 18px var(--pink), 0 0 36px var(--pink)}.neon-cyan{color:#fff;text-shadow:0 0 2px #fff, 0 0 8px var(--cyan), 0 0 18px var(--cyan), 0 0 36px var(--cyan)}.neon-gold{color:var(--gold);text-shadow:0 0 2px #fff8dc99,0 0 12px #ffd23f80}@keyframes flicker{0%,18%,20%,22%,54%,56%,to{opacity:1}19%,21%,55%{opacity:.5}}.flicker{animation:5s infinite flicker}html.lock-scroll,html.lock-scroll body{overscroll-behavior:none;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.flicker{animation:5s infinite flicker!important}.flicker-slow{animation:6s infinite neon-flicker!important}.neon-buzz{animation:3s infinite neon-buzz!important}.twinkle{animation:3s ease-in-out infinite twinkle!important}.win-flicker{animation:7s step-end infinite win-flicker!important}.door-glow{animation:1.2s ease-in-out infinite alternate door-glow!important}.glow-pulse{animation:3s ease-in-out infinite alternate glow-pulse!important}.slot-hot .slot-topper{animation:.4s step-end infinite alternate slot-topper!important}.bulb{animation:.9s step-end infinite bulb-chase!important}.bulb-1{animation-delay:.3s!important}.bulb-2{animation-delay:.6s!important}.scene-enter{animation:1.2s both scene-in!important}.scene-leave{animation:1.2s both scene-out!important}.backdrop-glow{transition:color 1.4s!important}.dicey-idle:not(.dicey-think){animation:4s step-end infinite dicey-blink!important}.dicey-bubble{animation:.3s both bubble-fade!important}}@keyframes bubble-fade{0%{opacity:0}to{opacity:1}}.site-header{text-align:center;margin-bottom:20px}.logo{letter-spacing:.12em;margin:0;font-size:3.5rem}.table-name{font-family:var(--font-pixel);letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin:4px 0 0;font-size:.9rem}.location{font-family:var(--font-pixel);letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin:6px 0 0;font-size:.8rem;animation:.5s steps(5,end) both location-in}@keyframes location-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.companion{z-index:2;margin-bottom:-40px;padding:0 12px;position:relative}.panel{transform-origin:50% 0;padding-top:56px;animation:.4s steps(5,end) both panel-in}@keyframes panel-in{0%{opacity:0;transform:translateY(24px)scale(.94)}60%{opacity:1;transform:translateY(-4px)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}.panel>*{animation:.35s steps(4,end) .15s both content-in}@keyframes content-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.status{text-align:center;margin:0;font-size:1.4rem}.progress{font-family:var(--font-numbers);color:var(--text-dim);letter-spacing:.1em;margin-bottom:12px;font-size:1.2rem;font-weight:400}.question{font-family:var(--font-body);margin-bottom:20px;font-size:1.4rem;font-weight:600;line-height:1.35}.unit{color:var(--text-dim);margin:8px 0 16px}.reveal-question{font-family:var(--font-body);color:var(--text-dim);font-size:1.05rem;font-weight:500}.label{font-family:var(--font-pixel);letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);margin:16px 0 2px;font-size:.85rem}.answer-number{font-family:var(--font-numbers);word-break:break-word;margin:0;font-size:3.4rem;font-weight:400;line-height:1}.your-guess{margin-bottom:16px}.answer-line{flex-wrap:wrap;align-items:baseline;gap:0 10px;margin:0 0 8px;display:flex}.answer-line .unit{margin:0}.tier-line{flex-wrap:wrap;align-items:baseline;gap:0 14px;margin:0 0 14px;display:flex}.tier-line .tier-name,.tier-line .points{margin:0}.tier-name{font-family:var(--font-pixel);letter-spacing:.08em;margin:8px 0 0;font-size:1.8rem}.points{font-family:var(--font-numbers);margin-bottom:16px;font-size:1.8rem;font-weight:400}.fact{color:var(--text-dim);border-left:var(--px) solid var(--pink);margin-bottom:20px;padding-left:12px}.tier-natural{color:var(--green);text-shadow:0 0 12px var(--green)}.tier-on-point{color:var(--yellow);text-shadow:0 0 12px var(--yellow)}.tier-craps{color:var(--orange);text-shadow:0 0 12px var(--orange)}.tier-snake-eyes{color:var(--red);text-shadow:0 0 12px var(--red)}.end-title{text-align:center;font-size:2rem}.total{font-family:var(--font-numbers);text-align:center;margin:0;font-size:3.6rem;font-weight:400}.end-line{text-align:center;margin-bottom:4px}.streak{font-family:var(--font-numbers);text-align:center;color:var(--gold);margin:12px 0;font-size:1.7rem;font-weight:400}.countdown{font-family:var(--font-numbers);text-align:center;color:var(--cyan);font-size:1.4rem;font-weight:400}.actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:16px 0 8px;display:flex}.copied{text-align:center;color:var(--green);font-family:var(--font-pixel)}.recap{margin-top:20px}.summary-row{border-top:2px dashed var(--panel-edge);padding:4px 0}.summary-row summary{cursor:pointer;padding:10px 0;font-weight:600}.summary-row p{margin:0 0 6px 16px}@media (width<=480px){.table-name{letter-spacing:.15em;font-size:.75rem}.location{font-size:.7rem}.companion{margin-bottom:-30px}.panel{padding:44px 18px 14px}.question{font-size:1.25rem}#root{padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(8px + env(safe-area-inset-bottom))}.site-header{margin-bottom:8px}.logo{font-size:2.3rem}.progress{margin-bottom:6px}.tier-line{margin-bottom:12px;line-height:1.1}.reveal-question{margin-bottom:.4em;font-size:.95rem}.label{margin-top:10px}.your-guess{margin-bottom:10px}.fact{margin-bottom:14px;font-size:.95rem;line-height:1.4}.answer-number{font-size:2.9rem}.tier-name{font-size:1.5rem}.total{font-size:3rem}.end-title{font-size:1.7rem}button{width:calc(100% - var(--px) * 2);min-height:52px;display:block}.actions button{width:auto;min-width:60%}}.dicey-stage{justify-content:center;align-items:center;gap:14px;min-height:128px;display:flex}.dicey{--dicey-size:128px;width:var(--dicey-size);height:var(--dicey-size);background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAAAgCAYAAABEmHeFAAADIklEQVR4nO2cMWzTQBSG/yKUgSgTYghSkLNliBATFURWx6oSAxMLbEhR5nZiZKqEgBllYaAsnRgqVYw0lJI16hB1IWolAgMTCgOLmVwcx77znZ/vLvH7pKhNnnPfvfN7suwkBhiGYRim1ASjjcD2HBjzrGXdsFbxSAvk999JZnfR/mjxr93+lDivVc6/zP5Mk6hVvODwwxcy+dfPIzx/2cu8CCb8wWgjEBX/qudfVv8VG3IVTPlNFr8K7C/WL2wAXXln9wCd3QOpXAb72V+0/6qKPBz0+NkD4QT2zo4AAE38344iefazn9qf2ABpnZc0cBLNty/mnlN1PvvZT+1faIBQ3tmqL2zc+fFOKI5zfDjVTp797DfhTzwHuHO3jtkv5H5sPbwPANgZnCtNnP3sN+Wfa4BaxQum378pTVZEOFZ46JLBfvab9ksvg1Lw8+kTExr2s1/Zb6QBmHJx78/U9hQyww3AkLJMxQ9kaIDqdcBrtOE12lpxJh9lX/8wr7T8ZHEZqR+Ehdy4Jh5YFo+yMzjHK/9W5u2p0fV7jTYmF6fa8Tx+m+v/5vXHhdd625vC+EkkntcPAJOLU+H6yuIyv7QBKNk7OwJ8tROiaGcnJSmLU/hFiyyL5/VTourvbW8K11cWz+sHil9/ow2gczVAllSWzs/jp4T9+vtfdAQQxWV+aQNQFuAyQrkD8vh148vuL5rUk+Dq/hDV/aHygLrvY79b/rKQegSYPVrXGlD3fa77uy0/ddv+eGDEH/WkvU7lLwtKnwPEi0BUFFFUvwviql8XCn9/PEjMP6kpivDH6bb8y4cJv+6+l/mVToLjOyHL4gN0Vz9s+wHg/bp3+f/j4cSo32b+8YLL6qbwh40u+6vjn/sZIPWXkYDka8Vpvwd13d9t+QsNICuEVcrfBX+82GXFL/MbvQwal9sgj78/HmAWfW7YT8Gy++PFrnIkSvIb/S7Qsi8+ld/WPYhcyd8lv7EGcDF5G/6w+E03gSv5u+Y30gCuJm/DH95+Je02LEX7beCyv9ATofrNJgC1u4Cxn/0m/YXeBlC369nPfpt+hikN/wA1kabAXSmRVwAAAABJRU5ErkJggg==);background-size:calc(var(--dicey-size) * 6) var(--dicey-size);background-position:var(--face) 0;image-rendering:pixelated;filter:drop-shadow(0 0 10px #ff3d9a73);background-repeat:no-repeat;flex-shrink:0}@media (width<=440px){.dicey{--dicey-size:96px}.dicey-stage{gap:10px;min-height:96px}}.dicey-bubble{max-width:230px;font-family:var(--font-pixel);color:var(--bg);background:var(--text);box-shadow:0 calc(var(--px) * -1) 0 0 var(--text), 0 var(--px) 0 0 var(--text), calc(var(--px) * -1) 0 0 0 var(--text), var(--px) 0 0 0 var(--text), 0 0 14px #f4ecff59;transform-origin:0;margin:0;padding:8px 12px;font-size:.95rem;line-height:1.3;animation:.25s steps(3,end) both bubble-pop;position:relative}.dicey-bubble:before,.dicey-bubble:after{content:"";background:var(--text);position:absolute;top:50%}.dicey-bubble:before{left:calc(var(--px) * -3);width:calc(var(--px) * 2);height:var(--px);margin-top:calc(var(--px) * -1)}.dicey-bubble:after{left:calc(var(--px) * -2);width:var(--px);height:calc(var(--px) * 3);margin-top:calc(var(--px) * -2)}@keyframes bubble-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes dicey-blink{0%{background-position-x:0}92%{background-position-x:calc(var(--dicey-size) * -1)}96%{background-position-x:0}}@keyframes dicey-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.dicey-idle{animation:4s step-end infinite dicey-blink,1.6s steps(2,end) infinite dicey-bob}@keyframes dicey-lean{0%,to{transform:translate(4px)rotate(6deg)}50%{transform:translate(4px,-3px)rotate(8deg)}}.dicey-idle.dicey-think{animation:1.2s steps(2,end) infinite dicey-lean}@keyframes dicey-tumble{0%{transform:translate(-160px,-60px)rotate(-450deg)}60%{transform:translate(0)rotate(0)}78%{transform:translateY(-20px)rotate(0)}to{transform:translate(0)rotate(0)}}@keyframes dicey-face{0%{background-position-x:0}to{background-position-x:var(--face)}}.dicey-land{animation:.8s steps(14,end) both dicey-tumble,.8s step-end both dicey-face}.dicey-land+.dicey-bubble{animation-delay:.85s}@keyframes dicey-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dicey-gold{0%{filter:drop-shadow(0 0 6px var(--gold))}to{filter:drop-shadow(0 0 22px var(--gold))}}.dicey-land.dicey-mood-natural{animation:.8s steps(14,end) both dicey-tumble,.8s step-end both dicey-face,.5s steps(8,end) .8s 2 dicey-spin,.6s ease-in-out .8s infinite alternate dicey-gold}@keyframes dicey-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-14px)}}.dicey-land.dicey-mood-onPoint{animation:.8s steps(14,end) both dicey-tumble,.8s step-end both dicey-face,.6s steps(4,end) .8s infinite dicey-hop}@keyframes dicey-wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}.dicey-land.dicey-mood-craps{animation:.8s steps(14,end) both dicey-tumble,.8s step-end both dicey-face,1.4s steps(4,end) .8s infinite dicey-wobble}@keyframes dicey-dizzy{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-5px)rotate(-4deg)}75%{transform:translate(5px)rotate(4deg)}}.dicey-land.dicey-mood-snakeEyes{filter:drop-shadow(0 0 10px #ff4b5c99);animation:.8s steps(14,end) both dicey-tumble,.8s step-end both dicey-face,.5s steps(4,end) .8s infinite dicey-dizzy}@keyframes dicey-roll{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dicey-roll{animation:.8s steps(8,end) infinite dicey-roll}.backdrop{z-index:-1;pointer-events:none;background:var(--bg);--glow-a:255, 61, 154;--glow-b:45, 226, 230;position:fixed;inset:0;overflow:hidden}.scene{position:absolute;inset:0}.scene-art{transform-origin:50% 100%;width:100%;height:100%;animation:40s ease-in-out infinite alternate scene-drift;display:block}@keyframes scene-drift{0%{transform:scale(1)}to{transform:scale(1.06)}}.scene-enter{animation:1.2s both scene-in}.scene-leave{animation:1.2s both scene-out}@keyframes scene-in{0%{opacity:0}to{opacity:1}}@keyframes scene-out{0%{opacity:1}to{opacity:0}}.backdrop-glow{pointer-events:none;background:radial-gradient(circle,currentColor,#0000 62%);border-radius:50%;width:80vmax;height:80vmax;transition:color 1.4s;animation:7s ease-in-out infinite alternate glow-breathe;position:absolute}.glow-a{color:rgba(var(--glow-a), .28);top:-35vmax;left:-30vmax}.glow-b{color:rgba(var(--glow-b), .22);animation-delay:-3.5s;bottom:-35vmax;right:-30vmax}@keyframes glow-breathe{0%{transform:scale(1)}to{transform:scale(1.15)}}.backdrop-sweep{pointer-events:none;background:linear-gradient(115deg,#0000 42%,#ffffff0b 50%,#0000 58%) 0 0/250% 100%;animation:14s linear infinite sweep;position:absolute;inset:0}@keyframes sweep{0%{background-position:120% 0}to{background-position:-120% 0}}.particles{pointer-events:none;position:absolute;inset:0}.particle{opacity:0;will-change:transform;animation:linear infinite rise;position:absolute;bottom:-40px}.particle svg{width:100%;height:auto;image-rendering:pixelated;display:block}@keyframes rise{0%{opacity:0;transform:translate(0)rotate(0)}8%{opacity:.45}50%{transform:translate(var(--sway), -55vh) rotate(180deg)}92%{opacity:.45}to{opacity:0;transform:translateY(-112vh)rotate(360deg)}}.backdrop-vignette{pointer-events:none;background:linear-gradient(#0a04188c,#0000 28%),radial-gradient(#0a041880 0%,#0a04181f 50%,#0a041873 100%);position:absolute;inset:0}.neon-pink-svg,.neon-cyan-svg,.neon-gold-svg{fill:#fff}.neon-pink-svg{filter:drop-shadow(0 0 1px #fff)drop-shadow(0 0 2px #ff3d9a)drop-shadow(0 0 4px #ff3d9a)}.neon-cyan-svg{filter:drop-shadow(0 0 1px #fff)drop-shadow(0 0 2px #2de2e6)drop-shadow(0 0 4px #2de2e6)}.neon-gold-svg{filter:drop-shadow(0 0 1px #fff)drop-shadow(0 0 2px #ffd23f)drop-shadow(0 0 4px #ffd23f)}@keyframes neon-flicker{0%,18%,20%,22%,54%,56%,to{opacity:1}19%,21%,55%{opacity:.35}}.flicker-slow{animation:6s infinite neon-flicker}@keyframes neon-buzz{0%,to{opacity:1}10%{opacity:.2}12%{opacity:1}40%{opacity:.6}42%{opacity:1}70%{opacity:.1}73%{opacity:1}}.neon-buzz{animation:3s infinite neon-buzz}@keyframes twinkle{0%,to{opacity:.25}50%{opacity:1}}.twinkle{animation:3s ease-in-out infinite twinkle}@keyframes win-flicker{0%,to{opacity:.85}45%{opacity:.85}50%{opacity:.2}55%{opacity:.85}80%{opacity:.3}82%{opacity:.85}}.win-flicker{animation:7s step-end infinite win-flicker}@keyframes bulb-chase{0%,32%{opacity:1}33%,to{opacity:.22}}.bulb{animation:.9s step-end infinite bulb-chase}.bulb-1{animation-delay:.3s}.bulb-2{animation-delay:.6s}@keyframes sway{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}.sway{animation:4s ease-in-out infinite alternate sway}@keyframes door-glow{0%{opacity:.75}to{opacity:1}}.door-glow{animation:1.2s ease-in-out infinite alternate door-glow}@keyframes road-dash{0%{transform:translate(0)}to{transform:translate(-16px)}}.road-dash{animation:.7s linear infinite road-dash}@keyframes taxi{0%{transform:translate(-30px)}to{transform:translate(200px)}}.taxi{animation:16s linear infinite taxi}@keyframes car-back{0%{transform:translate(200px)}to{transform:translate(-30px)}}.car-back{animation:22s linear -9s infinite car-back}@keyframes cone{0%{opacity:.05}to{opacity:.11}}.cone{animation:3s ease-in-out infinite alternate cone}@keyframes reel{0%{transform:translateY(0)}to{transform:translateY(-30px)}}.reel{animation:1.1s steps(5,end) infinite reel}@keyframes slot-topper{0%{fill:#ffd23f}to{fill:#ff3d9a}}.slot-hot .slot-topper{animation:.4s step-end infinite alternate slot-topper}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-back{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.wheel{animation:26s linear infinite spin}.ball{animation:5s linear infinite spin-back}@keyframes card-deal{0%{opacity:0;transform:translate(-40px,-36px)rotate(-70deg)}12%{opacity:1;transform:translate(0)rotate(0)}88%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(0)rotate(0)}}.card-deal{animation:7s ease-out infinite card-deal}@keyframes die-tumble{0%,70%{transform:translateY(0)rotate(0)}78%{transform:translateY(-7px)rotate(90deg)}86%{transform:translateY(0)rotate(180deg)}92%{transform:translateY(-3px)rotate(270deg)}to{transform:translateY(0)rotate(360deg)}}.die-tumble{animation:5s steps(3,end) infinite die-tumble}@keyframes flame{0%{opacity:.6}to{opacity:1}}.flame{animation:.3s steps(2,end) infinite alternate flame}@keyframes crystal{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}.crystal{animation:2.6s ease-in-out infinite alternate crystal}@keyframes glow-pulse{0%{opacity:.7}to{opacity:1}}.glow-pulse{animation:3s ease-in-out infinite alternate glow-pulse}@keyframes bubble{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}.bubble{animation:2.4s linear infinite bubble}@keyframes smoke{0%{opacity:.5;transform:translate(0)}50%{opacity:.35;transform:translate(3px,-9px)}to{opacity:0;transform:translate(-2px,-18px)}}.smoke{animation:3.3s ease-out infinite smoke}.vault-wheel{animation:18s linear infinite spin}@keyframes coin-fall{0%{transform:translateY(-8px)}to{transform:translateY(170px)}}.coin{animation:6s linear infinite coin-fall}@keyframes coin-spin{0%{transform:scaleX(1)}50%{transform:scaleX(.15)}to{transform:scaleX(1)}}.coin-spin{animation:.9s linear infinite coin-spin}
