:root{--accent:#111;--accent-contrast:#fff;--bg:#f2f0ea;--fg:#0b0b0b;--muted:#0b0b0b8c;--hairline:#0b0b0b24;--radius:0px;--display-font:"Space Grotesk", system-ui, sans-serif;--serif-italic-font:"Instrument Serif", "Times New Roman", Georgia, serif;--mono-font:"JetBrains Mono", ui-monospace, monospace}[data-theme=cream]{--accent:#3b1f4d;--accent-contrast:#fdf6ec;--bg:#fdf6ec;--fg:#1a0e24;--muted:#1a0e248c;--hairline:#1a0e2424}[data-theme=mint]{--accent:#0f3d2e;--accent-contrast:#eaf6ef;--bg:#eaf6ef;--fg:#0a1f17;--muted:#0a1f178c;--hairline:#0a1f1724}[data-theme=snow]{--accent:#0a0a0a;--accent-contrast:#fff;--bg:#fff;--fg:#0a0a0a;--muted:#0a0a0a8c;--hairline:#0a0a0a24}[data-theme=night]{--accent:#cf0;--accent-contrast:#0a0a0a;--bg:#0a0a0a;--fg:#f5f5f0;--muted:#f5f5f080;--hairline:#f5f5f01f}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}html,body{background:var(--bg);color:var(--fg);font-family:var(--display-font);width:100%;min-height:100dvh;transition:background .5s,color .5s;overflow:hidden auto}body{-webkit-overflow-scrolling:touch}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input{color:inherit;background:0 0;border:none;outline:none;font-family:inherit}::selection{background:var(--accent);color:var(--accent-contrast)}body:before{content:"";opacity:.12;pointer-events:none;z-index:9999;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.45 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");animation:.8s steps(6,end) infinite grainShift;position:fixed;inset:-50%}[data-theme=night] body:before{mix-blend-mode:overlay;opacity:.18}@keyframes grainShift{0%{transform:translate(0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-2%)}60%{transform:translate(-2%,4%)}80%{transform:translate(4%,-3%)}to{transform:translate(0)}}@keyframes screenEnter{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes wordUp{0%{opacity:0;transform:translateY(110%)rotate(3deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes bounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-8px)}}@keyframes ripple{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(2.2)}}@keyframes cardFloat{0%,to{transform:rotate(-2deg)translateY(0)}50%{transform:rotate(-2deg)translateY(-10px)}}@keyframes tapPulse{0%,to{transform:scale(1);box-shadow:0 0 #cf09}50%{transform:scale(1.03);box-shadow:0 0 0 10px #cf00}}@keyframes confettiFall{0%{opacity:0;transform:translateY(-20px)rotate(0)}15%{opacity:1}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}@keyframes fillBar{0%{background:var(--hairline)}to{background:var(--accent)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-33.3333%)}}.screen{box-sizing:border-box;flex-direction:column;gap:24px;width:100%;min-height:100dvh;padding:28px 40px 72px;display:flex}@media (max-width:900px){.screen{padding:20px 22px 92px}}@media (max-width:560px){.screen{gap:16px;padding:16px 18px 84px}}
