:root,[data-theme=light]{--primary:#0d4d47;--primary-dark:#0a3630;--on-primary:#fff;--accent:#e8b84b;--bg:#fff;--ink:#0f2019;--muted:#5c6b67;--muted-soft:#8a9c99;--border:#e5edeb;--card:#f5f8f7;--mint:#e2f1ec;--mint-soft:#eef5f3;--cream:#fbf0d9;--peach:#f3e0d2;--blue-gray:#dde8ec;--gold-ink:#a9761f;--gold-ink-dark:#6b4a12;--on-gold:#fff;--success:#178f4c;--success-bg:#e3f5ea;--danger:#d92d2d;--on-danger:#fff;--shadow-card:0 24px 60px #0f20191f;--shadow-pill:0 16px 40px #0d4d4729;--ease:cubic-bezier(.33, 1, .68, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--dur-1:.12s;--dur-2:.22s;--dur-3:.35s}[data-theme=dark]{--primary:#a8823c;--primary-dark:#6b4f22;--on-primary:#04211c;--accent:#f0cd7b;--bg:#0b0c0a;--ink:#f4f0e6;--muted:#b3aa9c;--muted-soft:#8a8172;--border:#ffffff1f;--card:#ffffff0f;--mint:#c99a4a24;--mint-soft:#ffffff12;--cream:#f0cd7b29;--peach:#f0a07b24;--blue-gray:#8caabe24;--gold-ink:#f0cd7b;--gold-ink-dark:#f0cd7b;--on-gold:#3d2a06;--success:#4fbf82;--success-bg:#4fbf8224;--danger:#ff6b6b;--on-danger:#2b0906;--shadow-card:0 24px 60px #00000073;--shadow-pill:0 16px 40px #00000080}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Poppins,-apple-system,sans-serif;transition:background-color .2s,color .2s}a{color:var(--primary)}#root{min-height:100vh}.screen{background:var(--bg);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex}@media (width>=560px){body{background:radial-gradient(ellipse 900px 700px at 50% -10%, #0d4d4714, transparent 60%), var(--bg)}[data-theme=dark] body{background:radial-gradient(ellipse 900px 700px at 50% -10%, #a8823c1a, transparent 60%), var(--bg)}.screen{border-left:1px solid var(--border);border-right:1px solid var(--border);box-shadow:var(--shadow-card)}}.screen-content{padding:calc(28px + env(safe-area-inset-top)) 20px calc(130px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:18px;display:flex}.topbar{justify-content:space-between;align-items:center;display:flex}.icon-btn{background:var(--mint-soft);cursor:pointer;width:38px;height:38px;color:var(--ink);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.title{font-size:15px;font-weight:800}.card{background:var(--card);border:1px solid var(--border);border-radius:20px}.btn{cursor:pointer;width:100%;color:var(--on-primary);background:var(--primary);border:none;border-radius:999px;padding:15px;font-family:inherit;font-size:14px;font-weight:700}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-outline{border:1px solid var(--border);cursor:pointer;width:100%;color:var(--ink);background:var(--bg);border-radius:999px;padding:14px;font-family:inherit;font-size:13.5px;font-weight:700}.btn-google{letter-spacing:-.01em;justify-content:center;align-items:center;gap:12px;padding:13px;font-size:15px;font-weight:700;display:flex}.input-row{background:var(--mint-soft);border-radius:14px;align-items:center;gap:10px;padding:13px 15px;display:flex}.input-row input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:13.5px}.input-row input::placeholder{color:var(--muted-soft)}.bottomnav-scrim{background:linear-gradient(to bottom, transparent, var(--bg) 65%);pointer-events:none;z-index:15;height:130px;position:fixed;bottom:0;left:0;right:0}.bottomnav{left:50%;bottom:calc(22px + env(safe-area-inset-bottom));width:calc(100% - 32px);max-width:448px;box-shadow:var(--shadow-pill);background:var(--bg);border:1px solid var(--border);z-index:20;border-radius:999px;justify-content:space-around;align-items:center;padding:12px 6px;display:flex;position:fixed;transform:translate(-50%)}.nav-item{color:var(--muted-soft);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;font-family:inherit;text-decoration:none;display:flex}.nav-item.active{color:var(--primary)}.nav-item.active .nav-icon{animation:nav-icon-bounce var(--dur-3) var(--ease-bounce)}.stagger-item{animation:stagger-in var(--dur-3) var(--ease) both}@keyframes stagger-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes nav-icon-bounce{0%{transform:scale(1)}45%{transform:scale(1.28)}to{transform:scale(1)}}.nav-item span{white-space:nowrap;font-size:8.5px;font-weight:700}.section-label{font-size:13px;font-weight:800}.muted{color:var(--muted)}.center{justify-content:center;align-items:center;display:flex}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.state-msg{text-align:center;color:var(--muted);padding:24px 0;font-size:12.5px}.skeleton{background:linear-gradient(90deg, var(--card) 25%, var(--border) 50%, var(--card) 75%);background-size:200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.share-preview-skel{background:linear-gradient(90deg,#ffffff12 25%,#ffffff2e 50%,#ffffff12 75%) 0 0/200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite skeleton-shimmer}.fade-image{transition:opacity var(--dur-3) var(--ease)}.onboarding-slide{animation:onboarding-slide-in var(--dur-2) var(--ease) both}@keyframes onboarding-slide-in{0%{opacity:0}to{opacity:1}}button:not(:disabled){transition:transform var(--dur-1) var(--ease)}button:not(:disabled):active{transform:scale(.94)}a:active{opacity:.75}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.screen{animation:screen-enter var(--dur-2) var(--ease) both}@keyframes screen-enter{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.splash-pulse{animation:1.6s ease-in-out infinite splash-pulse}.boot-splash{animation:boot-splash-in .3s var(--ease) both}@keyframes boot-splash-in{0%{opacity:0}to{opacity:1}}.typing-dot{background:var(--muted-soft);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.checkmark-draw path{stroke-dasharray:20;stroke-dashoffset:20px;animation:checkmark-draw var(--dur-3) var(--ease) forwards}@keyframes checkmark-draw{to{stroke-dashoffset:0}}.points-badge-skel{animation:1.4s ease-in-out infinite points-badge-pulse}@keyframes points-badge-pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes splash-pulse{0%,to{opacity:.45;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}.unseen-dot{position:relative}.unseen-dot:after{content:"";background:var(--danger);opacity:.5;border-radius:50%;animation:1.8s cubic-bezier(0,0,.2,1) infinite unseen-dot-ping;position:absolute;inset:-3px}@keyframes unseen-dot-ping{0%{opacity:.5;transform:scale(1)}75%,to{opacity:0;transform:scale(2.2)}}@media (prefers-reduced-motion:reduce){.unseen-dot:after{animation:none;display:none}.skeleton,.share-preview-skel,.fade-image,.onboarding-slide,.screen,.splash-pulse,.boot-splash,.typing-dot,.nav-icon,.stagger-item,.points-badge-skel,button:not(:disabled){transition:none!important;animation:none!important}[style*=transition]{transition:none!important}}
