:root{--bg:#f5f2ed;--surf:#fff;--surf2:#edeae3;--surf3:#f9f7f4;--border:#e4dfd6;--border-l:#ede9e2;--t1:#1a1916;--t2:#5c5955;--t3:#9b9890;--t4:#c4c0ba;--grn:#2cc96e;--grn-l:#dff8ec;--grn-d:#1a9450;--grn-grad:linear-gradient(135deg, #2cc96e 0%, #1ab55d 100%);--grn-grad-v:linear-gradient(180deg, #2cc96e 0%, #1ab55d 100%);--red:#c0582a;--red-l:#faede7;--pur:#6b5b9e;--pur-l:#eeeaf8;--blu:#3a6fa8;--blu-l:#e5eef8;--amb:#8b6f47;--amb-l:#f5efe7;--sh-xs:0 1px 2px #1a19160d;--sh:0 1px 3px #1a19160a, 0 6px 20px #1a191612;--sh-md:0 2px 8px #1a19160f, 0 12px 32px #1a19161a;--sh-lg:0 8px 32px #1a19161f, 0 2px 8px #1a19160f;--sh-xl:0 16px 64px #1a19162e, 0 4px 16px #1a191614;--sh-grn:0 4px 20px #2cc96e59;--ease:cubic-bezier(.32,.72,0,1);--ease-out:cubic-bezier(0,.55,.45,1);--spring:cubic-bezier(.34,1.56,.64,1);--spring-soft:cubic-bezier(.25,1.25,.5,1);--r:20px;--r-sm:12px;--r-lg:28px;--r-xl:36px}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;margin:0;padding:0}html{height:100%}body{height:100%;color:var(--t1);overscroll-behavior:none;background-color:#e8f0e9;background-image:radial-gradient(120% 80% at 70% -10%,#c8e8d4 0%,#0000 60%),radial-gradient(80% 60% at -10%,#d4edd8 0%,#0000 50%),radial-gradient(100% 100% at 100% 100%,#e0ede3 0%,#f5f2ed 70%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:fixed;background-origin:padding-box;background-clip:border-box;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif}#root{justify-content:center;align-items:flex-start;height:100%;display:flex}.phone-frame{background:var(--bg);flex-direction:column;width:100%;max-width:393px;min-height:100dvh;display:flex;position:relative;overflow:hidden}@media (width>=480px){#root{align-items:center;min-height:100dvh;padding:24px 0}.phone-frame{height:852px;min-height:unset;box-shadow:var(--sh-xl), 0 0 0 1px #1a19160f, inset 0 1px 0 #fffc;border-radius:44px;overflow:hidden}}input,textarea,button,select{font-family:inherit;font-size:inherit}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none}input,textarea{background:0 0;border:none;outline:none}textarea{resize:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.08)}}@keyframes float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-6px)rotate(2deg)}}@keyframes heartBeat{0%,to{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.2)}70%{transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes confettiFall{0%{opacity:1;transform:translateY(-20px)rotate(0)scale(1)}to{opacity:0;transform:translateY(110vh)rotate(720deg)scale(.5)}}@keyframes toastIn{0%{opacity:0;transform:translateY(16px)translate(-50%)scale(.95)}to{opacity:1;transform:translateY(0)translate(-50%)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)translate(-50%)scale(1)}to{opacity:0;transform:translateY(8px)translate(-50%)scale(.95)}}@keyframes popIn{0%{opacity:0;transform:scale(0)rotate(-10deg)}70%{opacity:1;transform:scale(1.12)rotate(3deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes ripple{0%{opacity:.4;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)scale(1)}to{opacity:0;transform:translateY(110vh)rotate(720deg)scale(.5)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.4)rotate(-8deg)}60%{opacity:1;transform:scale(1.08)rotate(2deg)}80%{transform:scale(.96)rotate(-1deg)}to{transform:scale(1)rotate(0)}}@keyframes glow{0%,to{box-shadow:0 0 8px #2cc96e4d}50%{box-shadow:0 0 24px #2cc96ea6}}@keyframes glowPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shake{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-5px)rotate(-3deg)}40%{transform:translate(5px)rotate(3deg)}60%{transform:translate(-3px)rotate(-1.5deg)}80%{transform:translate(3px)rotate(1.5deg)}}@keyframes numberPop{0%{transform:scale(1)}40%{transform:scale(1.3)translateY(-3px)}to{transform:scale(1)translateY(0)}}@keyframes tabIconIn{0%{opacity:0;transform:translateY(4px)scale(.8)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fabExpand{0%{opacity:0;transform:scale(.7)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes progressFill{0%{width:0%}}@keyframes cardEntrance{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bubbleInRight{0%{opacity:0;transform-origin:100% 100%;transform:translateY(10px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bubbleInLeft{0%{opacity:0;transform-origin:0 100%;transform:translateY(10px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes typingDot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.animate-fadeIn{animation:fadeIn .4s var(--ease) both}.animate-fadeInUp{animation:fadeInUp .5s var(--spring-soft) both}.animate-scaleIn{animation:scaleIn .35s var(--spring) both}.animate-slideUp{animation:slideUp .4s var(--ease) both}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}.pressable{transition:transform .12s var(--spring), box-shadow .12s var(--ease)}.pressable:active{transform:scale(.97)}.gradient-text{background:var(--grn-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.animate-slideInRight{animation:slideInRight .3s var(--spring-soft) both}.animate-slideInLeft{animation:slideInLeft .3s var(--spring-soft) both}.animate-slideDown{animation:slideDown .3s var(--spring-soft) both}.animate-bounceIn{animation:bounceIn .4s var(--spring) both}.animate-popIn{animation:popIn .35s var(--spring) both}
