:root,[data-theme=dark]{--bg:oklch(0% 0 0);--bg-grad:linear-gradient(170deg,oklch(7% 0.012 264),oklch(3% 0.008 264) 48%,oklch(0% 0 0));--surface:oklch(9% 0.012 264);--raised:oklch(14% 0.014 264);--border:oklch(21% 0.016 264);--text:oklch(97% 0 0);--muted:oklch(68% 0.012 264);--subtle:oklch(13% 0.014 264);--accent:oklch(62% 0.16 264);--accent-gradient-from:oklch(68% 0.14 275);--accent-gradient-to:oklch(52% 0.19 258);--accent-gradient:linear-gradient(135deg,var(--accent-gradient-from) 0%,var(--accent-gradient-to) 100%);--accent-soft:oklch(24% 0.06 264);--on-accent:oklch(99% 0 0);--gold:oklch(82% 0.12 80);--gold-bg:oklch(30% 0.05 80);--gold-line:oklch(55% 0.1 80);--ok:oklch(70% 0.15 150);--ok-bg:oklch(28% 0.05 150);--ok-text:oklch(84% 0.12 150);--danger:oklch(58% 0.2 25);--danger-bg:oklch(30% 0.06 25);--danger-text:oklch(80% 0.13 25);--feed-a:oklch(10% 0.012 264);--feed-b:oklch(13% 0.014 264);--shadow:0 8px 30px oklch(0% 0 0/0.5)}[data-theme=light]{--bg:oklch(100% 0 0);--bg-grad:linear-gradient(170deg,oklch(100% 0 0),oklch(98.5% 0.004 264) 48%,oklch(97% 0.008 264));--surface:oklch(99.5% 0.002 264);--raised:oklch(100% 0 0);--border:oklch(90% 0.012 264);--text:oklch(18% 0.012 264);--muted:oklch(48% 0.014 264);--subtle:oklch(96% 0.008 264);--accent:oklch(48% 0.16 264);--accent-gradient-from:oklch(58% 0.15 268);--accent-gradient-to:oklch(42% 0.18 258);--accent-gradient:linear-gradient(135deg,var(--accent-gradient-from) 0%,var(--accent-gradient-to) 100%);--accent-soft:oklch(94% 0.03 264);--on-accent:oklch(100% 0 0);--gold:oklch(45% 0.13 80);--gold-bg:oklch(96% 0.03 80);--gold-line:oklch(70% 0.14 80);--ok:oklch(62% 0.15 150);--ok-bg:oklch(95% 0.05 150);--ok-text:oklch(35% 0.1 150);--danger:oklch(55% 0.2 25);--danger-bg:oklch(97% 0.02 25);--danger-text:oklch(45% 0.16 25);--feed-a:oklch(95% 0.006 264);--feed-b:oklch(97.5% 0.004 264);--shadow:0 8px 30px oklch(30% 0.05 264/0.14)}[data-pass=on][data-theme=light]{--accent:oklch(50% 0.115 68);--accent-soft:oklch(95% 0.035 78);--on-accent:oklch(100% 0 0)}[data-pass=on][data-theme=dark]{--accent:oklch(58% 0.125 70);--accent-soft:oklch(31% 0.055 72);--on-accent:oklch(22% 0.018 70);--bg-grad:linear-gradient(170deg,oklch(21% 0.02 68),oklch(18.5% 0.016 64) 48%,oklch(16.5% 0.013 60));--bg:oklch(18% 0.014 60);--surface:oklch(22% 0.016 62);--raised:oklch(26% 0.018 64);--border:oklch(32% 0.018 66);--subtle:oklch(26% 0.016 62)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Helvetica,Arial,sans-serif}.app-root{min-height:100vh;background:var(--bg-grad)}@keyframes blink{0%,91%,to{transform:scaleY(1)}95%{transform:scaleY(.08)}}.mascot-eyes{animation:blink 5.2s infinite;transform-box:fill-box;transform-origin:center}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulseRing{0%{transform:scale(.9);opacity:.6}to{transform:scale(1.6);opacity:0}}.trust-pill-compact{display:none}@media (max-width:640px){
  /* !important because .trust-pill's display is also set inline — inline
     styles otherwise always win over a stylesheet rule, media query or
     not, which is why this override wasn't actually taking effect before. */.trust-pill{display:none!important}.trust-pill-compact{display:inline}.composer-input{font-size:16px!important}}@keyframes popIn{0%{opacity:0;transform:scale(.94) translateY(10px)}60%{transform:scale(1.012) translateY(0)}to{opacity:1;transform:none}}@keyframes drawerIn{0%{transform:translateY(28px);opacity:0}to{transform:none;opacity:1}}.drawer-in{animation:drawerIn .2s ease-out}.pop-in{animation:popIn .3s cubic-bezier(.22,1,.36,1) both}@keyframes catWalkX{0%{left:-80px}16%{left:calc(50% - 24px)}78%{left:calc(50% - 24px)}94%{left:calc(100% - 14px)}to{left:calc(100% + 80px)}}@keyframes catJump{0%,92%{transform:translateY(0) rotate(0deg)}96.5%{transform:translateY(-44px) rotate(-16deg)}to{transform:translateY(10px) rotate(-30deg)}}@keyframes catBob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes catTail{0%,to{transform:rotate(-8deg)}50%{transform:rotate(14deg)}}@keyframes catLegF{0%,to{transform:rotate(18deg)}50%{transform:rotate(-18deg)}}@keyframes catLegB{0%,to{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}@keyframes catKiss{0%,62%{opacity:0;transform:translate(0) scale(.35)}68%{opacity:1;transform:translate(-10px,-14px) scale(1.15)}74%{opacity:.9;transform:translate(-19px,-27px) scale(.95)}80%,to{opacity:0;transform:translate(-27px,-40px) scale(.7)}}@keyframes catPucker{0%,60%{transform:scale(1)}66%{transform:scale(1.18)}73%,to{transform:scale(1)}}@keyframes catTipIn{0%,15%{opacity:0;transform:translateY(6px) scale(.9)}21%{opacity:1;transform:translateY(0) scale(1)}74%{opacity:1;transform:translateY(0) scale(1)}80%,to{opacity:0;transform:translateY(-4px) scale(.96)}}.cat-walk{animation:catWalkX 11s linear forwards}.cat-jump{animation:catJump 11s ease-in forwards}.cat-bob{animation:catBob .34s ease-in-out infinite}.cat-tail{animation:catTail .52s ease-in-out infinite;transform-box:fill-box;transform-origin:85% 15%}.cat-leg-f{animation:catLegF .34s ease-in-out infinite}.cat-leg-b,.cat-leg-f{transform-box:fill-box;transform-origin:50% 0}.cat-leg-b{animation:catLegB .34s ease-in-out infinite}.cat-tip{animation:catTipIn 11s ease-out forwards}.cat-heart{animation:catKiss 11s ease-out forwards}.cat-face{animation:catPucker 11s ease-in-out forwards;transform-box:fill-box;transform-origin:center}.premium-word{display:none}@media (min-width:1180px){.premium-word{display:inline}}.pack-card{transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .18s,background .18s}.pack-card:hover{transform:translateY(-2px)}@keyframes sheen{0%{transform:translateX(-120%)}to{transform:translateX(320%)}}.pay-btn{position:relative;overflow:hidden}.pay-btn:after{content:"";position:absolute;top:0;bottom:0;width:34%;background:linear-gradient(100deg,transparent,oklch(100% 0 0/.35),transparent);animation:sheen 2.6s ease-in-out infinite}@keyframes confirmDrain{0%{width:100%}to{width:0}}.typing-dot{display:block;width:6px;height:6px;border-radius:50%;background:var(--muted);animation:typingDot 1.1s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.16s}.typing-dot:nth-child(3){animation-delay:.32s}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}