@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=SF+Pro+Display:wght@400;500;600;700;800&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--primary:#6366f1;--primary-light:#818cf8;--primary-dark:#4f46e5;--primary-bg:#eef2ff;--primary-glow:rgba(99,102,241,.25);--surface:#f5f5f7;--surface-2:#fff;--card:#fff;--card2:#f0f0f3;--card3:#e8e8ed;--text:#1c1c1e;--text-2:#3a3a3c;--muted:#8e8e93;--border:#d1d1d6;--nav-bg:hsla(0,0%,100%,.85);--green:#30d158;--green-bg:#f0fdf4;--red:#ff453a;--red-bg:#fff1f2;--orange:#ff9f0a;--orange-bg:#fff7ed;--blue:#0a84ff;--blue-bg:#eff6ff;--purple:#bf5af2;--purple-bg:#faf5ff;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:22px;--r-2xl:28px;--shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 10px 30px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.05);--shadow-primary:0 8px 24px rgba(99,102,241,.3)}[data-theme=dark]{--surface:#000;--surface-2:#1c1c1e;--card:#1c1c1e;--card2:#2c2c2e;--card3:#3a3a3c;--text:#fff;--text-2:#ebebf5;--muted:#636366;--border:#38383a;--nav-bg:rgba(28,28,30,.9);--primary-bg:rgba(99,102,241,.15);--green-bg:rgba(48,209,88,.12);--red-bg:rgba(255,69,58,.12);--orange-bg:rgba(255,159,10,.12);--blue-bg:rgba(10,132,255,.12);--shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 10px 30px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--surface:#000;--surface-2:#1c1c1e;--card:#1c1c1e;--card2:#2c2c2e;--card3:#3a3a3c;--text:#fff;--text-2:#ebebf5;--muted:#636366;--border:#38383a;--nav-bg:rgba(28,28,30,.9);--primary-bg:rgba(99,102,241,.15);--green-bg:rgba(48,209,88,.12);--red-bg:rgba(255,69,58,.12);--orange-bg:rgba(255,159,10,.12);--blue-bg:rgba(10,132,255,.12);--shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 10px 30px rgba(0,0,0,.5)}}html{font-family:-apple-system,SF Pro Display,Inter,BlinkMacSystemFont,sans-serif;-webkit-text-size-adjust:100%;height:-webkit-fill-available}body{background:var(--surface);color:var(--text);min-height:100dvh;min-height:-webkit-fill-available;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none;transition:background .3s ease,color .3s ease}.page,.page-root{padding:calc(var(--sat) + 24px) calc(var(--sar) + 20px) calc(var(--sab) + 120px) calc(var(--sal) + 20px);animation:pageIn .3s ease both}.page,.page-root,.page-sub{max-width:430px;margin:0 auto}.page-sub{padding-bottom:calc(var(--sab) + 90px);min-height:100dvh;animation:slideInRight .28s cubic-bezier(.25,.46,.45,.94) both}.bottom-nav{position:fixed;left:50%;right:auto;bottom:0;transform:translateX(-50%);width:min(100%,430px);display:flex;align-items:flex-start;justify-content:space-around;background:var(--nav-bg);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--border);padding:10px 8px calc(10px + env(safe-area-inset-bottom));z-index:999;box-shadow:0 -10px 30px rgba(15,23,42,.08)}.nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;border:none;background:none;cursor:pointer;font-size:9.5px;font-weight:500;letter-spacing:.02em;color:var(--muted);padding:4px 10px;border-radius:12px;transition:color .2s ease;font-family:inherit;-webkit-tap-highlight-color:transparent;min-width:56px;position:relative}.nav-item svg{width:24px;height:24px;stroke:currentColor;transition:transform .15s ease}.nav-item.active{color:var(--primary)}.nav-item.active svg{transform:scale(1.08)}.nav-item.active:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:4px;height:4px;borderRadius:50%;background:var(--primary)}.card{background:var(--card);border-radius:var(--r-xl);padding:18px;border:.5px solid var(--border);box-shadow:var(--shadow-sm);transition:all .2s ease}.card-press:active{transform:scale(.98);box-shadow:none}.card-hover:hover{box-shadow:var(--shadow-md)}input,select,textarea{width:100%;padding:13px 16px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--card2);font-family:inherit;font-size:15px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}input::-moz-placeholder{color:var(--muted)}input::placeholder{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;border:none;padding:14px 20px;transition:all .15s ease;-webkit-tap-highlight-color:transparent;width:100%;letter-spacing:-.01em}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-primary)}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-secondary{background:var(--card2);color:var(--text);border:.5px solid var(--border)}.btn-ghost{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}.btn-danger{background:var(--red-bg);color:var(--red);border:1px solid rgba(255,69,58,.2)}.skeleton{background:linear-gradient(90deg,var(--card2) 25%,var(--card3) 50%,var(--card2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--r-md)}.skeleton-text{height:14px;margin-bottom:8px;border-radius:7px}.skeleton-title{height:22px;width:60%;border-radius:11px;margin-bottom:12px}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-card{height:100px;border-radius:var(--r-xl);margin-bottom:12px}.skeleton-bar{height:8px;border-radius:4px}.progress-track{height:6px;background:var(--card2);border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;transition:width .8s cubic-bezier(.4,0,.2,1)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600;letter-spacing:.01em}.badge-primary{background:var(--primary-bg);color:var(--primary)}.badge-green{background:var(--green-bg);color:var(--green)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-orange{background:var(--orange-bg);color:var(--orange)}.section-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;margin-top:4px}.divider{height:.5px;background:var(--border);margin:8px 0}.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);display:flex;align-items:flex-end;animation:fadeIn .2s ease}.modal-sheet{background:var(--surface);width:100%;max-width:430px;margin:0 auto;border-radius:24px 24px 0 0;max-height:88dvh;display:flex;flex-direction:column;padding-bottom:calc(var(--sab) + 16px);animation:slideUp .3s cubic-bezier(.32,.72,0,1)}.modal-handle{width:36px;height:4px;border-radius:2px;background:var(--card3);margin:12px auto 4px;flex-shrink:0}.toast{position:fixed;top:calc(var(--sat) + 16px);left:50%;transform:translateX(-50%);background:var(--text);color:var(--surface);padding:10px 20px;border-radius:99px;font-size:13px;font-weight:600;z-index:500;animation:toastIn .3s cubic-bezier(.32,.72,0,1),toastOut .3s ease 2s forwards;white-space:nowrap;box-shadow:var(--shadow-lg)}.gradient-text{background:linear-gradient(135deg,var(--primary),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes pageIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:none}}@keyframes slideDown{0%{transform:translateY(-16px);opacity:0}to{transform:none;opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1.2);opacity:1}}@keyframes pop{0%{transform:scale(.8);opacity:0}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translateX(-50%) translateY(-12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ringDraw{0%{stroke-dashoffset:100%}to{stroke-dashoffset:var(--target-offset)}}@keyframes barGrow{0%{width:0}to{width:var(--target-width)}}@keyframes checkPop{0%{transform:scale(0) rotate(-10deg)}60%{transform:scale(1.2) rotate(3deg)}to{transform:scale(1) rotate(0deg)}}@keyframes streakFire{0%,to{transform:scale(1) rotate(0deg)}25%{transform:scale(1.1) rotate(-3deg)}75%{transform:scale(1.05) rotate(3deg)}}.animate-pop{animation:pop .35s cubic-bezier(.32,.72,0,1) both}.animate-slide-up{animation:slideUp .3s cubic-bezier(.32,.72,0,1) both}.animate-fade{animation:fadeIn .25s ease both}.animate-spin{animation:spin .7s linear infinite}.animate-pulse{animation:pulse 2s ease infinite}.animate-streak{animation:streakFire 1.5s ease infinite}::-webkit-scrollbar{display:none}*{scrollbar-width:none}.press-effect{-webkit-tap-highlight-color:transparent;cursor:pointer}.press-effect:active{transform:scale(.97);transition:transform .1s ease}:root{--text-2xs:10px;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:24px;--text-2xl:28px;--text-3xl:34px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-heavy:800}.switch{width:48px;height:28px;border-radius:99px;border:none;cursor:pointer;position:relative;background:var(--border);transition:background .2s ease,transform .15s ease;padding:0;flex-shrink:0;display:inline-flex;align-items:center;-webkit-tap-highlight-color:transparent}.switch[data-checked=true]{background:var(--primary)}.switch:active{transform:scale(.95)}.switch:disabled{cursor:not-allowed}.switch-thumb{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:left .2s cubic-bezier(.4,0,.2,1)}.switch[data-checked=true] .switch-thumb{left:26px}.checkbox{width:24px;height:24px;border-radius:8px;border:2px solid var(--border);background:var(--card2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,transform .15s ease;flex-shrink:0;padding:0;-webkit-tap-highlight-color:transparent}.checkbox[data-checked=true]{background:var(--primary);border-color:var(--primary)}.checkbox:active{transform:scale(.9)}.checkbox:disabled{cursor:not-allowed}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:42px;cursor:pointer}select::-ms-expand{display:none}@keyframes pulsePrimary{0%,to{box-shadow:var(--shadow-primary)}50%{box-shadow:0 8px 32px rgba(99,102,241,.5)}}.pulse-primary{animation:pulsePrimary 2.2s ease-in-out infinite}@keyframes pulseRing{0%,to{box-shadow:0 0 0 0 var(--pulse-color,rgba(99,102,241,.35))}50%{box-shadow:0 0 0 8px transparent}}.pulse-ring{animation:pulseRing 2.4s ease-in-out infinite}