.toast-wrapper[data-v-121b3a77]{z-index:9999;pointer-events:none;justify-content:center;padding-top:12px;display:none;position:fixed;top:0;left:0;right:0}.toast-box[data-v-121b3a77]{color:var(--on-accent);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;animation:.3s toastIn-121b3a77;display:flex}.toast-success[data-v-121b3a77]{background:rgba(var(--success-rgb),.9)}.toast-error[data-v-121b3a77]{background:rgba(var(--danger-rgb),.9)}.toast-info[data-v-121b3a77]{background:rgba(var(--accent-rgb),.9)}.toast-icon[data-v-121b3a77]{font-size:16px}.toast-msg[data-v-121b3a77]{line-height:1.4}@keyframes toastIn-121b3a77{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.bottom-nav[data-v-158a5a5f]{background:var(--card);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);z-index:100;width:100%;max-width:480px;height:60px;padding-bottom:env(safe-area-inset-bottom,0);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item[data-v-158a5a5f]{cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:6px 14px;transition:all .25s;display:flex;position:relative}.nav-item.active[data-v-158a5a5f]:before{content:"";background:var(--accent);border-radius:0 0 3px 3px;width:24px;height:3px;transition:all .25s;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.nav-item.active[data-v-158a5a5f]{background:var(--primary-bg)}.nav-icon[data-v-158a5a5f]{-webkit-filter:grayscale();filter:grayscale();opacity:.5;font-size:22px;line-height:1;transition:all .25s}.nav-label[data-v-158a5a5f]{color:var(--text-secondary);font-size:11px;transition:all .25s}.nav-item.active .nav-icon[data-v-158a5a5f]{-webkit-filter:grayscale(0%);filter:grayscale(0%);opacity:1;transform:scale(1.15)}.nav-item.active .nav-label[data-v-158a5a5f]{color:var(--accent);font-weight:700}.nav-item[data-v-158a5a5f]:active{background:var(--primary-bg);transform:scale(.92)}.cp[data-v-3a0088bb]{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.cp-c[data-v-3a0088bb]{flex-direction:column;align-items:center;gap:1px;display:flex;position:absolute}.cp-v[data-v-3a0088bb]{color:var(--ink);font-size:24px;font-weight:700;line-height:1}.cp-l[data-v-3a0088bb]{color:var(--muted);font-size:11px}.cp-u[data-v-3a0088bb]{color:var(--muted);opacity:.7;font-size:10px}.onboarding-overlay[data-v-d263b54c]{z-index:9999;background:rgba(0,0,0,.5);justify-content:center;align-items:center;padding:20px;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.onboarding-card[data-v-d263b54c]{-webkit-backdrop-filter:blur(24px);width:100%;max-width:360px;box-shadow:var(--shadow);background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.2);border-radius:20px;flex-direction:column;align-items:center;gap:20px;padding:28px 24px 20px;display:flex}[data-mode=dark] .onboarding-card[data-v-d263b54c]{background:rgba(30,25,50,.95);border-color:rgba(255,255,255,.08)}.step-indicators[data-v-d263b54c]{gap:8px;display:flex}.step-dot[data-v-d263b54c]{background:var(--surface-light);border-radius:50%;width:8px;height:8px;transition:all .3s}.step-dot.active[data-v-d263b54c]{background:var(--accent);border-radius:4px;width:24px}.step-dot.done[data-v-d263b54c]{background:var(--accent);opacity:.5}.step-content[data-v-d263b54c]{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.step-icon[data-v-d263b54c]{border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:36px;display:flex}.step-title[data-v-d263b54c]{color:var(--text-primary);font-size:18px;font-weight:700}.step-desc[data-v-d263b54c]{color:var(--text-secondary);max-width:280px;font-size:14px;line-height:1.6}.step-actions[data-v-d263b54c]{align-items:center;gap:8px;width:100%;display:flex}.step-btn-prev[data-v-d263b54c]{border:1px solid var(--border);background:var(--surface-light);color:var(--text-secondary);cursor:pointer;border-radius:10px;flex-shrink:0;padding:10px 16px;font-size:13px;font-weight:500}.step-btn-skip[data-v-d263b54c]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:10px 16px;font-size:13px}.step-btn-next[data-v-d263b54c]{background:var(--primary-gradient);color:var(--on-accent);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;padding:10px 20px;font-size:13px;font-weight:600}.step-btn-prev[data-v-d263b54c]:active,.step-btn-skip[data-v-d263b54c]:active,.step-btn-next[data-v-d263b54c]:active{opacity:.8}.step-count[data-v-d263b54c]{color:var(--text-secondary);font-size:11px}.pwa-banner[data-v-31946d12]{z-index:9000;-webkit-backdrop-filter:blur(20px);background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.2);border-radius:16px;align-items:center;gap:12px;padding:12px 16px;display:flex;position:fixed;bottom:70px;left:14px;right:14px;box-shadow:0 8px 32px rgba(0,0,0,.15)}[data-mode=dark] .pwa-banner[data-v-31946d12]{background:rgba(30,25,50,.98);border-color:rgba(255,255,255,.08)}.pwa-icon[data-v-31946d12]{background:var(--primary-gradient);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.pwa-content[data-v-31946d12]{flex:1;min-width:0}.pwa-title[data-v-31946d12]{color:var(--ink);font-size:.88rem;font-weight:700}.pwa-desc[data-v-31946d12]{color:var(--muted);margin-top:2px;font-size:.72rem}.pwa-actions[data-v-31946d12]{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.pwa-btn-install[data-v-31946d12]{background:var(--primary-gradient);color:var(--on-accent);cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:6px 18px;font-size:.78rem;font-weight:600;transition:all .2s}.pwa-btn-install[data-v-31946d12]:active{transform:scale(.94)}.pwa-btn-dismiss[data-v-31946d12]{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:2px 18px;font-size:.72rem;transition:all .2s}.pwa-btn-dismiss[data-v-31946d12]:active{opacity:.6}.pwaBanner-enter-active[data-v-31946d12]{transition:all .4s cubic-bezier(.4,0,.2,1)}.pwaBanner-leave-active[data-v-31946d12]{transition:all .3s ease-in}.pwaBanner-enter-from[data-v-31946d12],.pwaBanner-leave-to[data-v-31946d12]{opacity:0;transform:translateY(40px)}@media (min-width:769px){.pwa-banner[data-v-31946d12]{max-width:380px;bottom:24px;left:auto;right:24px}}.offline-banner[data-v-cee82989]{z-index:9500;color:#fff;background:#e74c3c;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.78rem;font-weight:500;transition:background-color .3s;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px rgba(0,0,0,.15)}.offline-banner.restored[data-v-cee82989]{background:#27ae60}.offline-text[data-v-cee82989]{white-space:nowrap}.offlineBanner-enter-active[data-v-cee82989]{transition:all .3s ease-out}.offlineBanner-leave-active[data-v-cee82989]{transition:all .3s ease-in}.offlineBanner-enter-from[data-v-cee82989],.offlineBanner-leave-to[data-v-cee82989]{opacity:0;transform:translateY(-100%)}.app-bg[data-v-92fad84b]{z-index:0;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.app-shell[data-v-92fad84b] .page-content{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto}.app-shell[data-v-92fad84b] .page-content::-webkit-scrollbar{display:none}.app-shell[data-v-92fad84b] .page-content{scrollbar-width:none}.desktop-body[data-v-92fad84b] .col-panel .page-content,.desktop-body[data-v-92fad84b] .col-main .page-content,.desktop-body[data-v-92fad84b] .col-side .page-content{flex:none;height:auto;min-height:0;padding:0;overflow-x:hidden;overflow-y:visible}.blob[data-v-92fad84b]{-webkit-filter:blur(80px);filter:blur(80px);opacity:.6;border-radius:50%;animation:20s ease-in-out infinite blobFloat-92fad84b;position:absolute}.blob-1[data-v-92fad84b]{background:var(--blob1);width:300px;height:300px;animation-delay:0s;top:-10%;left:-10%}.blob-2[data-v-92fad84b]{background:var(--blob2);width:250px;height:250px;animation-delay:-5s;top:30%;right:-15%}.blob-3[data-v-92fad84b]{background:var(--blob3);width:200px;height:200px;animation-delay:-10s;bottom:20%;left:-5%}.blob-4[data-v-92fad84b]{background:var(--blob4);width:280px;height:280px;animation-delay:-15s;bottom:-10%;right:-10%}@keyframes blobFloat-92fad84b{0%,to{transform:translate(0)scale(1)}25%{transform:translate(30px,-40px)scale(1.1)}50%{transform:translate(-20px,20px)scale(.9)}75%{transform:translate(40px,30px)scale(1.05)}}.top-bar[data-v-92fad84b]{border-radius:12px;flex-shrink:0;margin:8px 14px 0;padding:8px 14px}.top-bar-inner[data-v-92fad84b]{justify-content:space-between;align-items:center;display:flex}.top-bar-left[data-v-92fad84b]{align-items:center;gap:6px;display:flex}.top-bar-right[data-v-92fad84b]{align-items:center;gap:8px;display:flex}.topbar-chip[data-v-92fad84b]{cursor:default;background:0 0;border:none;padding:0}.topbar-account-btn[data-v-92fad84b]{border:1px solid var(--border);background:var(--bg2);color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:4px;max-width:80px;padding:3px 8px;transition:all .2s;display:flex;overflow:hidden}.topbar-account-btn[data-v-92fad84b]:hover{color:var(--accent);border-color:var(--accent)}.topbar-account-btn span[data-v-92fad84b]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-account-btn svg[data-v-92fad84b]{flex-shrink:0}.global-dashboard[data-v-92fad84b]{border-radius:16px;flex-shrink:0;align-items:center;gap:16px;margin:8px 14px;padding:14px 16px;display:flex}.gd-left[data-v-92fad84b]{flex-shrink:0}.gd-right[data-v-92fad84b]{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.gd-remain[data-v-92fad84b]{color:var(--ink);font-size:.95rem}.gd-remain strong[data-v-92fad84b]{color:var(--accent);margin-right:4px;font-size:1.4rem}.gd-remain span[data-v-92fad84b]{color:var(--muted);font-size:.78rem}.gd-detail[data-v-92fad84b]{color:var(--muted);font-size:.72rem}.gd-exercise[data-v-92fad84b]{color:var(--success);font-size:.7rem}.gd-quick[data-v-92fad84b]{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.qd-btn[data-v-92fad84b]{border:1px solid var(--border);background:var(--bg2);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.qd-btn[data-v-92fad84b]:hover{color:var(--accent);border-color:var(--accent);background:rgba(var(--accent-rgb),.1)}.qd-btn[data-v-92fad84b]:active{transform:scale(.92)}.qd-btn svg[data-v-92fad84b]{pointer-events:none}.quick-panel[data-v-92fad84b]{border-radius:14px;flex-direction:column;flex-shrink:0;gap:14px;margin:0 14px 8px;padding:16px;display:flex}.qp-title[data-v-92fad84b]{color:var(--ink);border-bottom:1px solid var(--border);padding-bottom:8px;font-size:.85rem;font-weight:700}.qp-row[data-v-92fad84b]{justify-content:space-between;align-items:center;gap:12px;display:flex}.qp-label[data-v-92fad84b]{color:var(--muted);flex-shrink:0;min-width:64px;font-size:.78rem}.qp-stepper[data-v-92fad84b]{align-items:center;gap:8px;display:flex}.qp-stepper-btn[data-v-92fad84b]{border:1px solid var(--border);background:var(--bg2);color:var(--muted);cursor:pointer;border-radius:8px;padding:4px 10px;font-size:.72rem;font-weight:600;transition:all .2s}.qp-stepper-btn[data-v-92fad84b]:hover{color:var(--accent);border-color:var(--accent)}.qp-stepper-btn[data-v-92fad84b]:active{transform:scale(.94)}.qp-stepper-val[data-v-92fad84b]{color:var(--ink);text-align:center;min-width:70px;font-size:.82rem;font-weight:700}.qp-input-group[data-v-92fad84b]{flex:1;align-items:center;gap:8px;display:flex}.qp-input-group .input-field[data-v-92fad84b]{border-radius:8px;flex:1;padding:6px 10px;font-size:.78rem}.qp-confirm-btn[data-v-92fad84b]{background:var(--accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:6px 14px;font-size:.78rem;font-weight:600;transition:all .2s}.qp-confirm-btn[data-v-92fad84b]:hover{opacity:.85}.qp-confirm-btn[data-v-92fad84b]:active{transform:scale(.94)}.qp-theme-badge[data-v-92fad84b]{background:rgba(var(--accent-rgb),.15);color:var(--accent);cursor:pointer;border:1px solid rgba(var(--accent-rgb),.3);border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:600;transition:all .2s}.qp-theme-badge[data-v-92fad84b]:hover{background:rgba(var(--accent-rgb),.25)}.qp-theme-badge[data-v-92fad84b]:active{transform:scale(.94)}.quickPanel-enter-active[data-v-92fad84b]{transition:all .25s ease-out}.quickPanel-leave-active[data-v-92fad84b]{transition:all .2s ease-in}.quickPanel-enter-from[data-v-92fad84b]{opacity:0;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;overflow:hidden;transform:translateY(-10px)}.quickPanel-leave-to[data-v-92fad84b]{opacity:0;max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;overflow:hidden;transform:translateY(-6px)}.profile-hint[data-v-92fad84b]{border-left:3px solid var(--accent);border-radius:12px;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;margin:0 14px 8px;padding:10px 14px;display:flex}.ph-left[data-v-92fad84b]{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.ph-icon[data-v-92fad84b]{flex-shrink:0;font-size:1.3rem}.ph-text[data-v-92fad84b]{flex-direction:column;gap:2px;min-width:0;display:flex;overflow:hidden}.ph-title[data-v-92fad84b]{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.ph-sub[data-v-92fad84b]{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.ph-close[data-v-92fad84b]{background:var(--bg2);width:24px;height:24px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;display:flex}.ph-close[data-v-92fad84b]:active{background:var(--bg3)}.hintSlide-enter-active[data-v-92fad84b]{transition:all .3s ease-out}.hintSlide-leave-active[data-v-92fad84b]{transition:all .2s ease-in}.hintSlide-enter-from[data-v-92fad84b]{opacity:0;max-height:0;margin:0 14px;padding:0;overflow:hidden;transform:translateY(-8px)}.hintSlide-leave-to[data-v-92fad84b]{opacity:0;max-height:0;margin:0 14px;padding:0;overflow:hidden;transform:translateY(-6px)}@media (min-width:769px){.top-bar[data-v-92fad84b]{margin:12px 20px 0}.global-dashboard[data-v-92fad84b]{margin:8px 20px}.profile-hint[data-v-92fad84b],.quick-panel[data-v-92fad84b]{margin:0 20px 8px}}.global-icp-footer[data-v-92fad84b]{text-align:center;background:var(--bg2);border-top:1px solid var(--border);flex-shrink:0;padding:8px 0 12px;font-size:.65rem}.global-icp-footer a[data-v-92fad84b]{color:var(--muted);opacity:.8;text-decoration:none;transition:opacity .2s}.global-icp-footer a[data-v-92fad84b]:hover{opacity:1;color:var(--accent)}:root,[data-theme=default]{--accent:#6c5ce7;--accent-rgb:108,92,231;--bg:#0f0f1a;--bg2:#1a1a2e;--bg3:#25253d;--card:rgba(255,255,255,.12);--border:rgba(255,255,255,.1);--ink:#f0f0f5;--muted:#b0b0cc;--success:#00b894;--danger:#ff6b6b;--warning:#feca57;--gold:#f59e0b;--on-accent:#fff;--shadow:0 4px 24px rgba(0,0,0,.3);--radius:16px;--blob1:rgba(108,92,231,.4);--blob2:rgba(0,184,148,.3);--blob3:rgba(254,202,87,.2);--blob4:rgba(255,107,107,.2)}[data-theme=sakura]{--accent:#e84393;--accent-rgb:232,67,147;--bg:#1a0a14;--bg2:#2d1020;--bg3:#3d1830;--card:rgba(255,255,255,.12);--border:rgba(255,255,255,.1);--on-accent:#fff;--blob1:rgba(232,67,147,.4);--blob2:rgba(255,118,117,.3);--blob3:rgba(253,121,168,.2);--blob4:rgba(108,92,231,.15)}[data-theme=mint]{--accent:#00cec9;--accent-rgb:0,206,201;--bg:#0a1a18;--bg2:#102d2a;--bg3:#183d38;--card:rgba(255,255,255,.12);--border:rgba(255,255,255,.1);--on-accent:#003833;--blob1:rgba(0,206,201,.4);--blob2:rgba(85,239,196,.3);--blob3:rgba(0,184,148,.2);--blob4:rgba(108,92,231,.15)}[data-theme=sunset]{--accent:#e17055;--accent-rgb:225,112,85;--bg:#1a0f0a;--bg2:#2d1a10;--bg3:#3d2518;--card:rgba(255,255,255,.12);--border:rgba(255,255,255,.1);--on-accent:#fff;--blob1:rgba(225,112,85,.4);--blob2:rgba(249,202,36,.3);--blob3:rgba(255,159,67,.2);--blob4:rgba(253,121,168,.15)}[data-theme=ocean]{--accent:#0984e3;--accent-rgb:9,132,227;--bg:#0a0f1a;--bg2:#101d2d;--bg3:#182838;--card:rgba(255,255,255,.12);--border:rgba(255,255,255,.1);--on-accent:#fff;--blob1:rgba(9,132,227,.4);--blob2:rgba(0,206,201,.3);--blob3:rgba(116,185,255,.2);--blob4:rgba(108,92,231,.15)}[data-theme=candy]{--accent:#a29bfe;--accent-rgb:162,155,254;--bg:#120f1a;--bg2:#1e1a2d;--bg3:#28243d;--card:rgba(255,255,255,.12);--border:rgba(255,255,255,.1);--on-accent:#1a1a4a;--blob1:rgba(162,155,254,.4);--blob2:rgba(253,121,168,.3);--blob3:rgba(0,206,201,.2);--blob4:rgba(254,202,87,.15)}[data-theme=forest]{--accent:#00b894;--accent-rgb:0,184,148;--bg:#0a1a10;--bg2:#102d18;--bg3:#183d22;--card:rgba(255,255,255,.12);--border:rgba(255,255,255,.1);--on-accent:#fff;--blob1:rgba(0,184,148,.4);--blob2:rgba(85,239,196,.3);--blob3:rgba(0,184,148,.2);--blob4:rgba(254,202,87,.15)}[data-theme=warm]{--accent:#fdcb6e;--accent-rgb:253,203,110;--bg:#1a150a;--bg2:#2d2410;--bg3:#3d3218;--card:rgba(255,255,255,.12);--border:rgba(255,255,255,.1);--on-accent:#3a2a0a;--blob1:rgba(253,203,110,.4);--blob2:rgba(225,112,85,.3);--blob3:rgba(249,202,36,.2);--blob4:rgba(108,92,231,.15)}[data-mode=light][data-theme=default]{--bg:#f2f3f7;--bg2:#fff;--bg3:#e8e9f0;--card:rgba(255,255,255,.85);--border:rgba(0,0,0,.1);--ink:#1a1a2e;--muted:#666680;--shadow:0 4px 24px rgba(0,0,0,.08);--blob1:rgba(108,92,231,.1);--blob2:rgba(0,184,148,.08);--blob3:rgba(254,202,87,.06);--blob4:rgba(255,107,107,.06)}[data-mode=light][data-theme=sakura]{--bg:#fdf2f8;--bg2:#fff;--bg3:#fce7f3;--card:rgba(255,255,255,.85);--border:rgba(0,0,0,.1);--ink:#4a1a2e;--muted:#78586a;--shadow:0 4px 24px rgba(0,0,0,.08);--blob1:rgba(232,67,147,.1);--blob2:rgba(255,118,117,.08);--blob3:rgba(253,121,168,.06);--blob4:rgba(108,92,231,.04)}[data-mode=light][data-theme=mint]{--bg:#f0fdfb;--bg2:#fff;--bg3:#e0f7f4;--card:rgba(255,255,255,.85);--border:rgba(0,0,0,.1);--ink:#0a2e28;--muted:#4a7a70;--shadow:0 4px 24px rgba(0,0,0,.08);--blob1:rgba(0,206,201,.1);--blob2:rgba(85,239,196,.08);--blob3:rgba(0,184,148,.06);--blob4:rgba(108,92,231,.04)}[data-mode=light][data-theme=sunset]{--bg:#fef7f0;--bg2:#fff;--bg3:#fde8d8;--card:rgba(255,255,255,.85);--border:rgba(0,0,0,.1);--ink:#3a1a0a;--muted:#7a5a40;--shadow:0 4px 24px rgba(0,0,0,.08);--blob1:rgba(225,112,85,.1);--blob2:rgba(249,202,36,.08);--blob3:rgba(255,159,67,.06);--blob4:rgba(253,121,168,.04)}[data-mode=light][data-theme=ocean]{--bg:#f0f5fd;--bg2:#fff;--bg3:#dce8f8;--card:rgba(255,255,255,.85);--border:rgba(0,0,0,.1);--ink:#0a1a3a;--muted:#506a8a;--shadow:0 4px 24px rgba(0,0,0,.08);--blob1:rgba(9,132,227,.1);--blob2:rgba(0,206,201,.08);--blob3:rgba(116,185,255,.06);--blob4:rgba(108,92,231,.04)}[data-mode=light][data-theme=candy]{--bg:#f5f3ff;--bg2:#fff;--bg3:#e8e5f8;--card:rgba(255,255,255,.85);--border:rgba(0,0,0,.1);--ink:#2a1a4a;--muted:#7068a0;--shadow:0 4px 24px rgba(0,0,0,.08);--blob1:rgba(162,155,254,.1);--blob2:rgba(253,121,168,.08);--blob3:rgba(0,206,201,.06);--blob4:rgba(254,202,87,.04)}[data-mode=light][data-theme=forest]{--bg:#f0faf4;--bg2:#fff;--bg3:#dcf0e4;--card:rgba(255,255,255,.85);--border:rgba(0,0,0,.1);--ink:#0a2a14;--muted:#4a7a58;--shadow:0 4px 24px rgba(0,0,0,.08);--blob1:rgba(0,184,148,.1);--blob2:rgba(85,239,196,.08);--blob3:rgba(0,206,201,.06);--blob4:rgba(254,202,87,.04)}[data-mode=light][data-theme=warm]{--bg:#fefcf0;--bg2:#fff;--bg3:#fdf5dc;--card:rgba(255,255,255,.85);--border:rgba(0,0,0,.1);--ink:#3a2a0a;--muted:#7a6a40;--shadow:0 4px 24px rgba(0,0,0,.08);--blob1:rgba(253,203,110,.1);--blob2:rgba(225,112,85,.08);--blob3:rgba(249,202,36,.06);--blob4:rgba(108,92,231,.04)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{-webkit-overflow-scrolling:touch;height:100%;overflow:hidden}body{background:var(--bg);color:var(--ink);font-family:Segoe UI,Microsoft YaHei,PingFang SC,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;transition:background .4s,color .4s}#app{height:100%}:root{--primary:var(--accent);--primary-bg:rgba(var(--accent-rgb),.12);--primary-border:var(--accent);--primary-text:var(--accent);--text-primary:var(--ink);--text-secondary:var(--muted);--primary-gradient:linear-gradient(135deg,var(--accent),rgba(var(--accent-rgb),.7));--primary-light:rgba(var(--accent-rgb),.1);--title-gradient:var(--primary-gradient);--switch-track-on:var(--accent);--on-primary-text:var(--on-accent);--surface-light:rgba(255,255,255,.1);--surface-hover:rgba(255,255,255,.14);--surface-input:rgba(255,255,255,.12);--border-light:rgba(255,255,255,.12);--danger-rgb:255,107,107;--danger-bg:rgba(255,107,107,.15);--danger-light:rgba(255,107,107,.08);--danger-text:#ff6b6b;--success-rgb:0,184,148;--success-bg:rgba(0,184,148,.15);--success-light:rgba(0,184,148,.08);--success-text:#00b894;--warning-bg:rgba(254,202,87,.15);--warning-text:#feca57;--chart-carb:#3b82f6;--chart-protein:#22c55e;--chart-fat:#f97316;--chart-axis-label:var(--muted);--chart-grid:rgba(255,255,255,.08);--chart-legend:var(--muted);--chart-mark-line:rgba(255,255,255,.15);--switch-thumb:#fff}[data-mode=light]{--surface-light:rgba(0,0,0,.06);--surface-hover:rgba(0,0,0,.1);--surface-input:rgba(0,0,0,.05);--border-light:rgba(0,0,0,.1);--primary-bg:rgba(var(--accent-rgb),.15);--primary-light:rgba(var(--accent-rgb),.12);--title-gradient:linear-gradient(135deg,var(--primary-text),var(--accent));--switch-track-on:var(--primary-text);--on-primary-text:#fff;--primary-gradient:linear-gradient(135deg,var(--primary-text),rgba(var(--accent-rgb),.7));--danger-rgb:193,18,31;--danger:#c1121f;--danger-bg:rgba(193,18,31,.1);--danger-light:rgba(193,18,31,.05);--danger-text:#c1121f;--success-rgb:0,109,82;--success:#006d52;--success-bg:rgba(0,109,82,.1);--success-light:rgba(0,109,82,.05);--success-text:#006d52;--warning:#b45309;--warning-bg:rgba(180,83,9,.1);--warning-text:#b45309;--gold:#b45309;--chart-axis-label:var(--muted);--chart-grid:rgba(0,0,0,.08);--chart-legend:var(--muted);--chart-mark-line:rgba(0,0,0,.12);--switch-thumb:#fff}[data-mode=light][data-theme=default]{--primary-text:#5440d4}[data-mode=light][data-theme=sakura]{--primary-text:#be185d}[data-mode=light][data-theme=mint]{--primary-text:#0e7490}[data-mode=light][data-theme=sunset]{--primary-text:#c2410c}[data-mode=light][data-theme=ocean]{--primary-text:#06c}[data-mode=light][data-theme=candy]{--primary-text:#6366f1}[data-mode=light][data-theme=forest]{--primary-text:#006d52}[data-mode=light][data-theme=warm]{--primary-text:#b45309}.glass-card{background:var(--card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.input-field{border:1px solid var(--border);background:var(--bg2);width:100%;color:var(--ink);border-radius:10px;outline:none;padding:10px 14px;font-size:.88rem;transition:border-color .3s}.input-field:focus{border-color:var(--primary-text)}.input-field::-webkit-input-placeholder{color:rgba(255,255,255,.7)}.input-field::-moz-placeholder{color:rgba(255,255,255,.7)}.input-field::-ms-input-placeholder{color:rgba(255,255,255,.7)}.input-field::placeholder{color:rgba(255,255,255,.7)}[data-mode=light] .input-field::-webkit-input-placeholder{color:rgba(0,0,0,.55)}[data-mode=light] .input-field::-moz-placeholder{color:rgba(0,0,0,.55)}[data-mode=light] .input-field::-ms-input-placeholder{color:rgba(0,0,0,.55)}[data-mode=light] .input-field::placeholder{color:rgba(0,0,0,.55)}.scrollbar-hide{scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.card{background:var(--card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:10px;padding:14px;transition:transform .3s}.btn{cursor:pointer;color:var(--on-primary-text);background:var(--primary-text);border:none;border-radius:10px;justify-content:center;align-items:center;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{cursor:pointer;color:var(--on-primary-text);background:var(--primary-gradient);border:none;border-radius:10px;justify-content:center;align-items:center;width:100%;padding:10px 20px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-sm{border-radius:8px;padding:5px 12px;font-size:.76rem}.btn-ghost{color:var(--muted);border:1px solid var(--border);background:0 0}.input{border:1px solid var(--border);background:var(--bg2);width:100%;color:var(--ink);border-radius:10px;outline:none;padding:10px 14px;font-size:.88rem;transition:border-color .3s}.input:focus{border-color:var(--primary-text)}.input::-webkit-input-placeholder{color:var(--muted)}.input::-moz-placeholder{color:var(--muted)}.input::-ms-input-placeholder{color:var(--muted)}.input::placeholder{color:var(--muted)}.chart-error{width:100%;height:220px;color:var(--text-secondary);background:var(--surface-light);border:1px dashed var(--border-light);text-align:center;border-radius:12px;justify-content:center;align-items:center;padding:20px;font-size:13px;display:flex}.app-shell{z-index:1;flex-direction:column;max-width:480px;height:100%;margin:0 auto;display:flex;position:relative;overflow:hidden}.page-content{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;min-height:0;padding:12px 14px 96px;overflow-x:hidden;overflow-y:auto}.page-content::-webkit-scrollbar{display:none}.bottom-nav{background:var(--card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);z-index:100;justify-content:space-around;align-items:center;width:100%;max-width:480px;height:60px;padding:0 4px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bnav-item{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;max-width:70px;padding:4px 6px;font-size:10px;transition:all .2s;display:flex}.bnav-item .bnav-icon{font-size:20px;transition:transform .2s}.bnav-item.active{color:var(--primary-text)}.bnav-item.active .bnav-icon{transform:scale(1.1)}.modal-overlay{z-index:200;background:rgba(0,0,0,.5);justify-content:center;align-items:center;padding:20px;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.modal-overlay.show{display:flex}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);scrollbar-width:none;width:100%;max-width:360px;max-height:80vh;padding:20px;overflow-y:auto}.modal::-webkit-scrollbar{display:none}.toast{z-index:999;color:var(--on-primary-text);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);pointer-events:none;border-radius:12px;padding:10px 20px;font-size:.85rem;font-weight:600;transition:opacity .3s,transform .3s;position:fixed;top:20px;left:50%;transform:translate(-50%)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast.hide{opacity:0;transform:translate(-50%)translateY(-10px)}.toast.success{background:rgba(var(--success-rgb),.9)}.toast.error{background:rgba(var(--danger-rgb),.9)}.toast.info{background:rgba(var(--accent-rgb),.9)}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}@media (min-width:769px){.app-shell{max-width:none;padding:0}.bottom-nav{display:none}.desktop-sidebar{background:var(--bg2);border-right:1px solid var(--border);z-index:150;scrollbar-width:none;flex-direction:column;align-items:center;gap:4px;width:64px;padding:16px 0;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.desktop-sidebar::-webkit-scrollbar{display:none}.sidebar-logo{cursor:default;margin-bottom:16px;font-size:24px}.sidebar-item{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:12px;flex-direction:column;flex-shrink:0;align-items:center;gap:3px;width:52px;padding:10px 4px;font-size:10px;transition:all .2s;display:flex}.sidebar-item .s-icon{font-size:22px;transition:transform .2s}.sidebar-item.active{color:var(--primary-text);background:rgba(var(--accent-rgb),.12)}.sidebar-item.active .s-icon{transform:scale(1.1)}.sidebar-item:hover{background:rgba(var(--accent-rgb),.08);color:var(--ink)}.desktop-body{flex-direction:column;height:100%;margin-left:64px;display:flex;overflow:hidden}.desktop-body .top-bar{margin:12px 20px 0}.desktop-body .global-dashboard{margin:8px 20px}.desktop-body .profile-hint,.desktop-body .quick-panel{margin:0 20px 8px}.desktop-body .page-content{padding:12px 20px 40px}.three-col-wrapper{flex:1;gap:16px;min-height:0;padding:0 20px 40px;display:flex;overflow:hidden}.three-col-wrapper .col-panel{border-radius:var(--radius);background:var(--bg2);border:1px solid var(--border);scrollbar-width:none;flex:1;min-width:0;padding:14px;overflow-y:auto}.three-col-wrapper .col-panel::-webkit-scrollbar{display:none}.three-col-wrapper .col-panel .page-title{margin-bottom:10px;font-size:15px}.three-col-wrapper .col-panel .glass-card{background:var(--card);border:1px solid var(--border)}.two-col-wrapper{flex:1;gap:16px;min-height:0;padding:0 20px 40px;display:flex;overflow:hidden}.two-col-wrapper .col-main{border-radius:var(--radius);background:var(--bg2);border:1px solid var(--border);scrollbar-width:none;flex:3;min-width:0;padding:14px;overflow-y:auto}.two-col-wrapper .col-main::-webkit-scrollbar{display:none}.two-col-wrapper .col-side{border-radius:var(--radius);background:var(--bg2);border:1px solid var(--border);scrollbar-width:none;flex:2;min-width:0;padding:14px;overflow-y:auto}.two-col-wrapper .col-side::-webkit-scrollbar{display:none}.two-col-wrapper .col-main .page-title,.two-col-wrapper .col-side .page-title{margin-bottom:10px;font-size:15px}.two-col-wrapper .col-main .glass-card,.two-col-wrapper .col-side .glass-card{background:var(--card);border:1px solid var(--border)}.desktop-body .single-wrapper{flex:1;width:100%;max-width:600px;min-height:0;margin:0 auto;padding:0 20px 40px;overflow-x:hidden;overflow-y:auto}.desktop-body .single-wrapper::-webkit-scrollbar{display:none}.desktop-body .single-wrapper{scrollbar-width:none}}@media (max-width:768px){.page-content{scroll-behavior:smooth;scroll-padding-bottom:300px}.input-field:focus,.input:focus,input:focus,textarea:focus,select:focus{scroll-margin-bottom:250px}.portion-popup,.custom-food-popup,.overview-popup,.modal{-webkit-overflow-scrolling:touch;scrollbar-width:none;max-height:85vh;overflow-y:auto}.portion-popup::-webkit-scrollbar{display:none}.custom-food-popup::-webkit-scrollbar{display:none}.overview-popup::-webkit-scrollbar{display:none}.modal::-webkit-scrollbar{display:none}}@media (max-width:380px){.portion-popup,.custom-food-popup{padding:18px 14px 28px}.overview-popup{width:94%;padding:16px}.modal{max-width:320px;padding:16px}.glass-card{padding:12px}.meal-tab{min-width:48px;padding:6px 8px}.meal-tab-emoji{font-size:16px}}@media (max-width:768px){html,body{overflow-x:hidden}.app-shell,.desktop-body{max-width:100vw;overflow-x:hidden}.top-bar,.global-dashboard,.quick-panel,.profile-hint{box-sizing:border-box;max-width:100%;overflow-x:hidden}.top-bar-inner{min-width:0}.top-bar-left,.top-bar-right{flex-shrink:1;min-width:0;overflow:hidden}.topbar-account-btn{max-width:70px}.global-dashboard{gap:10px;padding:12px 14px}.gd-right{flex:1;min-width:0;overflow:hidden}.gd-remain{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.gd-remain strong{font-size:1.2rem}.gd-detail{white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.gd-exercise{white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;overflow:hidden}.gd-quick{flex-shrink:0;gap:4px}.qd-btn{flex-shrink:0;width:28px;height:28px}.gd-left{flex-shrink:0}.gd-left svg,.gd-left canvas{max-width:70px;max-height:70px}.admin-page{box-sizing:border-box;max-width:100%;overflow-x:hidden}.stats-chart{box-sizing:border-box;max-width:100%;overflow:hidden}.chart-scroll-wrap,.glass-card{box-sizing:border-box;max-width:100%}.page-content{max-width:100%;overflow-x:hidden}.food-table,.sort-bar,.tab-bar{max-width:100%;overflow-x:auto}}@media (max-width:360px){.global-dashboard{gap:8px;padding:8px 10px}.gd-left svg,.gd-left canvas{max-width:56px;max-height:56px}.gd-quick{gap:3px}.qd-btn{width:24px;height:24px}.qd-btn svg{width:14px;height:14px}.gd-remain strong{font-size:1.05rem}.gd-remain span{font-size:.7rem}.gd-detail{font-size:.62rem}.gd-exercise{font-size:.6rem}.top-bar{padding:6px 10px}.topbar-account-btn{max-width:55px}.topbar-account-btn span{font-size:.6rem}.topbar-chip{font-size:.65rem}.top-bar-left span{font-size:.7rem}}.pull-refresh-indicator{background:var(--bg2);border:1px solid var(--border);z-index:50;opacity:0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:transform .2s,opacity .2s;display:flex;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.pull-refresh-indicator.visible{opacity:1}.pull-refresh-indicator.refreshing{animation:.8s linear infinite spin}@keyframes spin{0%{transform:translate(-50%)rotate(0)}to{transform:translate(-50%)rotate(360deg)}}.app-loading-overlay{z-index:99999;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .4s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.app-loading-overlay.fade-out{opacity:0;pointer-events:none}.app-loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin-center}@keyframes spin-center{to{transform:rotate(360deg)}}.app-loading-text{color:var(--muted);font-size:14px}.form-error{color:var(--danger);margin-top:4px;padding-left:4px;font-size:12px;display:none}.form-error.show{animation:.3s shake;display:block}.input-field.error,.input.error{border-color:var(--danger)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass-card,.card,.bottom-nav,.modal,.toast,.desktop-sidebar{background:var(--bg2)!important;-webkit-backdrop-filter:none!important}}@supports not (gap:1px){.app-loading-overlay>*+*,#app-loading>*+*,.modal-overlay>*+*,.bottom-nav>*+*,.tab-bar>*+*,.stats-bar>*+*,.toolbar>*+*,.global-dashboard>*+*,.stats-today-grid>*+*,.cumulative-grid>*+*,.stats-summary>*+*,.chart-legend>*+*,.form-actions>*+*,.form-row-3>*+*,.pagination>*+*,.admin-header>*+*{margin-top:8px}.tab-bar>*+*{margin-top:0;margin-left:8px}.toolbar>*+*{margin-top:0;margin-left:10px}.stats-bar>*+*,.pagination>*+*,.chart-legend>*+*{margin-top:0;margin-left:16px}.form-actions>*+*{margin-top:0;margin-left:10px}.admin-header>*+*{margin-top:0;margin-left:12px}.global-dashboard>*+*{margin-top:0;margin-left:10px}}
