*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: oklch(8% .025 255);--surface: oklch(12% .03 255);--surface2: oklch(17% .036 255);--border: oklch(24% .04 255);--border2: oklch(30% .04 255);--accent1: oklch(88% .22 95);--accent2: oklch(68% .22 295);--text: oklch(93% .01 100);--muted: oklch(52% .025 255)}html,body,#root{height:100%;width:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}button{cursor:pointer;font-family:inherit}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes countIn{0%{opacity:0;transform:scale(.5)}to{opacity:.12;transform:scale(1)}}@keyframes bubbleIn{0%{transform:scale(.6)}60%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes correctFlash{0%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:scale(.95)}}@keyframes wrongShake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes timerPop{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes fizzPulse{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}@keyframes confetti{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(110vh) rotate(720deg)}}.cursor-bar{display:inline-block;width:2px;height:1.1em;background:var(--accent1);border-radius:2px;animation:cursorBlink 1s step-end infinite;vertical-align:text-bottom}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}
