*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f2ee;--bg2:#ede9e4;--bg3:#e4dfd9;--surface:#00000008;--surface2:#0000000e;--border:#00000014;--border2:#00000021;--green:#83b08b;--green-dim:#83b08b26;--green-glow:#83b08b4d;--pink:#ecb0b6;--pink-dim:#ecb0b626;--pink-glow:#ecb0b640;--rose:#e8899a;--rose-dim:#e8899a26;--mauve:#b8a9d4;--text:#2c2420;--text2:#2c242094;--text3:#2c242061;--serif:"Playfair Display", Georgia, serif;--sans:"Nunito", system-ui, sans-serif;--r:16px;--r2:24px}html,body{background:var(--bg);color:var(--text);font-family:var(--sans);min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}body:before{content:"";z-index:9999;pointer-events:none;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");position:fixed;inset:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ripple{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(2.5)}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--green-glow)}50%{box-shadow:0 0 40px var(--green-glow), 0 0 80px #83b08b26}}@keyframes slideRight{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes scoreReveal{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.fade-up{animation:.5s forwards fadeUp}.fade-in{animation:.4s forwards fadeIn}.scale-in{animation:.4s cubic-bezier(.34,1.56,.64,1) forwards scaleIn}button{cursor:pointer;font-family:var(--sans);color:inherit;background:0 0;border:none}input,select,textarea{font-family:var(--sans)}a{color:inherit;text-decoration:none}
