:root{--stage-900: #0d0b1e;--stage-800: #161233;--stage-700: #201a49;--stage-600: #2b2361;--felt: radial-gradient(ellipse 120% 90% at 50% -20%, #322a6e 0%, #1c1740 45%, #0d0b1e 100%);--gold: #f5c542;--gold-deep: #c99b1d;--gold-glow: rgba(245, 197, 66, .45);--cream: #fdf3d7;--ink: #0d0b1e;--muted: #9a92c7;--line: rgba(245, 197, 66, .22);--red: #ff5470;--green: #3ddc85;--blue: #4cc3ff;--font-display: "Bungee", cursive;--font-body: "Atkinson Hyperlegible", sans-serif;--shadow-pop: 0 6px 0 rgba(0, 0, 0, .45);--radius: 14px}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{font-family:var(--font-body);background:var(--stage-900);color:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}.stage{min-height:100dvh;background:var(--felt);position:relative}.stage:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");z-index:1}.stage>*{position:relative;z-index:2}h1,h2,h3,.display{font-family:var(--font-display);font-weight:400;letter-spacing:.02em}.btn{font-family:var(--font-display);font-size:1rem;padding:.8em 1.6em;border:none;border-radius:var(--radius);background:linear-gradient(180deg,var(--gold) 0%,var(--gold-deep) 100%);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-pop),0 0 24px var(--gold-glow);transition:transform .08s ease,box-shadow .08s ease,filter .15s;text-transform:uppercase;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(4px);box-shadow:0 2px #00000073}.btn:disabled{filter:grayscale(.7) brightness(.6);cursor:not-allowed;transform:none}.btn.ghost{background:transparent;color:var(--gold);border:2px solid var(--line);box-shadow:none}.btn.ghost:hover{border-color:var(--gold)}.btn.danger{background:linear-gradient(180deg,var(--red),#c22645);color:#fff;box-shadow:var(--shadow-pop)}.btn.good{background:linear-gradient(180deg,var(--green),#1d9c58);color:var(--ink);box-shadow:var(--shadow-pop)}.btn.small{font-size:.72rem;padding:.55em 1em;border-radius:10px}.panel{background:linear-gradient(180deg,#ffffff0d,#ffffff04);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}input[type=text],input[type=number],input[type=password],textarea,select{font-family:var(--font-body);font-size:1rem;padding:.7em .9em;background:#0d0b1eb3;border:2px solid var(--line);border-radius:10px;color:var(--cream);outline:none;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--gold)}input.code{font-family:var(--font-display);font-size:1.8rem;text-align:center;letter-spacing:.35em;text-transform:uppercase}.marquee{display:inline-block;font-family:var(--font-display);color:var(--gold);text-shadow:0 0 18px var(--gold-glow),0 4px 0 rgba(0,0,0,.5);animation:marquee-flicker 4s infinite}@keyframes marquee-flicker{0%,94%,to{opacity:1}95%{opacity:.7}97%{opacity:1}98%{opacity:.8}}.row{display:flex;gap:.75rem;align-items:center}.row.wrap{flex-wrap:wrap}.grow{flex:1}.center{display:flex;align-items:center;justify-content:center}.stack{display:flex;flex-direction:column;gap:.75rem}.muted{color:var(--muted)}.gold{color:var(--gold)}@keyframes pop-in{0%{transform:scale(.6) rotate(-2deg);opacity:0}70%{transform:scale(1.04) rotate(.5deg)}to{transform:scale(1);opacity:1}}.pop-in{animation:pop-in .45s cubic-bezier(.2,1.4,.4,1) both}@keyframes buzz-flash{0%{opacity:.9}to{opacity:0}}@keyframes score-bump{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.score-bump{animation:score-bump .5s ease;display:inline-block}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--stage-600);border-radius:6px}::-webkit-scrollbar-track{background:transparent}
