:root{--bg:#F8FAFC;--bg2:#F1F5F9;--surface:#FFF;--surface-variant:#F8FAFC;--ink:#1E293B;--ink2:#475569;--muted:#94A3B8;--rule:#E2E8F0;--border:#E2E8F0;--border-light:#F1F5F9;--accent-50:#ECFDF5;--accent-100:#D1FAE5;--accent-200:#A7F3D0;--accent-300:#6EE7B7;--accent-400:#34D399;--accent-500:#10B981;--accent-600:#059669;--accent-700:#047857;--accent-800:#065F46;--accent-900:#064E3B;--accent:var(--accent-500);--accent-light:var(--accent-100);--accent2-50:#FFFBEB;--accent2-100:#FEF3C7;--accent2-200:#FDE68A;--accent2-300:#FCD34D;--accent2-400:#FBBF24;--accent2-500:#F59E0B;--accent2-600:#D97706;--accent2-700:#B45309;--accent2-800:#92400E;--accent2-900:#78350F;--accent2:var(--accent2-500);--accent2-light:var(--accent2-100);--success:#10B981;--success-light:#D1FAE5;--warning:#F59E0B;--warning-light:#FEF3C7;--danger:#EF4444;--danger-light:#FEE2E2;--info:#3B82F6;--info-light:#DBEAFE;--fw-1:#10B981;--fw-2:#F59E0B;--fw-3:#3B82F6;--fw-4:#EC4899;--fw-5:#8B5CF6;--fw-6:#FBBF24;--fw-7:#EF4444;--fw-8:#14B8A6;--yh-0:#ebedf0;--yh-1:#c6e48b;--yh-2:#7bc96f;--yh-3:#239a3b;--yh-4:#196127;--on-accent:#fff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-xs:6px;--radius-sm:10px;--radius-md:12px;--radius:16px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:32px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(15,23,42,.04);--shadow-sm:0 2px 8px rgba(15,23,42,.06);--shadow:0 4px 12px rgba(15,23,42,.08);--shadow-md:0 8px 24px rgba(15,23,42,.1);--shadow-lg:0 16px 48px rgba(15,23,42,.12);--shadow-xl:0 24px 64px rgba(15,23,42,.15);--shadow-float:0 20px 60px rgba(15,23,42,.15);--font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;--font-mono:'GeistMono',monospace;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-lg:16px;--text-xl:18px;--text-2xl:20px;--text-3xl:24px;--text-4xl:32px;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--cb-radius:4px;--cb-border:2px solid var(--accent);--rb-radius:50%;--rb-border:2px solid var(--rule);--rb-dot-size:12px;--rb-size:22px;--yh-0:#EBEDF0;--yh-1:#C6E48B;--yh-2:#7BC96F;--yh-3:#239A3B;--yh-4:#196127;--ease:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-bounce:cubic-bezier(.68,-.55,.265,1.55);--duration-75:75ms;--duration-100:100ms;--duration-150:150ms;--duration-200:200ms;--duration-300:300ms;--duration-500:500ms;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal:400;--z-popover:500;--z-toast:600;--z-tooltip:700}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);max-width:480px;margin:0 auto;min-height:100vh;padding-bottom:70px;overflow-x:hidden;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}input,textarea{font-family:inherit;font-size:inherit}img{max-width:100%;display:block}a{color:var(--accent);text-decoration:none}.u-flex{display:flex}.u-flex-col{flex-direction:column}.u-flex-center{display:flex;align-items:center;justify-content:center}.u-flex-between{display:flex;align-items:center;justify-content:space-between}.u-items-center{align-items:center}.u-justify-between{justify-content:space-between}.u-gap-1{gap:var(--space-1)}.u-gap-2{gap:var(--space-2)}.u-gap-3{gap:var(--space-3)}.u-gap-4{gap:var(--space-4)}.u-mt-1{margin-top:var(--space-1)}.u-mt-2{margin-top:var(--space-2)}.u-mt-3{margin-top:var(--space-3)}.u-mt-4{margin-top:var(--space-4)}.u-mb-1{margin-bottom:var(--space-1)}.u-mb-2{margin-bottom:var(--space-2)}.u-mb-3{margin-bottom:var(--space-3)}.u-mb-4{margin-bottom:var(--space-4)}.u-p-2{padding:var(--space-2)}.u-p-3{padding:var(--space-3)}.u-p-4{padding:var(--space-4)}.u-text-sm{font-size:var(--text-sm)}.u-text-base{font-size:var(--text-base)}.u-text-lg{font-size:var(--text-lg)}.u-text-xl{font-size:var(--text-xl)}.u-font-medium{font-weight:var(--font-medium)}.u-font-semibold{font-weight:var(--font-semibold)}.u-font-bold{font-weight:var(--font-bold)}.u-text-muted{color:var(--muted)}.u-text-ink2{color:var(--ink2)}.u-text-accent{color:var(--accent)}.u-text-center{text-align:center}.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-rounded-sm{border-radius:var(--radius-sm)}.u-rounded-md{border-radius:var(--radius-md)}.u-rounded-lg{border-radius:var(--radius-lg)}.u-rounded-full{border-radius:var(--radius-full)}.u-shadow-sm{box-shadow:var(--shadow-sm)}.u-shadow-md{box-shadow:var(--shadow-md)}.u-transition{transition:all var(--duration-200) var(--ease)}button,[role="button"],.clickable{transition:transform var(--duration-150) var(--ease),box-shadow var(--duration-150) var(--ease),background-color var(--duration-150) var(--ease),opacity var(--duration-150) var(--ease)}button:active,[role="button"]:active,.clickable:active{transform:scale(.97)}.fade-in{animation:fadeIn var(--duration-200) var(--ease-out)}@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp var(--duration-300) var(--ease-out)}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:scaleIn var(--duration-200) var(--ease-bounce)}@keyframes scaleIn{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}.habit-card,.stat-card,.lib-item{contain:layout paint;will-change:transform}.animate-transform{transform:translateZ(0);backface-visibility:hidden}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.mini-header{padding:20px 16px 12px;background:linear-gradient(180deg,rgba(16,185,129,.1) 0%,transparent 100%);margin:-20px -16px 0 -16px;padding-top:20px}.mini-date{font-size:15px;font-weight:600;color:var(--ink2)}.mini-date .day-num{font-size:42px;font-weight:800;color:var(--accent);line-height:1;letter-spacing:-1px}.mini-date .weekday{font-size:13px;font-weight:600;color:var(--ink2);margin-left:4px}.mini-lunar{font-size:12px;color:var(--muted);background:rgba(255,255,255,.8);padding:4px 10px;border-radius:var(--radius-sm);backdrop-filter:blur(8px);font-weight:500;line-height:1.5;max-width:100%}.mini-header-row{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px}.mini-date-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;flex:1;min-width:0}.mini-badges{display:flex;gap:4px;flex-wrap:wrap}.mini-badge{font-size:10px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));padding:3px 10px;border-radius:var(--radius-sm);box-shadow:0 2px 6px rgba(16,185,129,.25)}.mini-points-badge{font-size:12px;font-weight:700;color:#B45309;background:linear-gradient(135deg,#FEF3C7,#FDE68A);padding:4px 12px;border-radius:var(--radius-sm);border:1px solid rgba(251,191,36,.3);white-space:nowrap;box-shadow:0 2px 6px rgba(251,191,36,.15)}.sugar-quote{font-size:15px;font-weight:600;color:var(--ink);display:block;margin-top:6px}.sugar-source{font-size:12px;font-style:italic;color:var(--accent);display:block;margin-top:2px}.mini-quote{margin-top:12px;padding:20px 22px;background:rgba(255,255,255,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);position:relative;overflow:visible;border:1px solid rgba(255,255,255,.6);transition:all .3s var(--ease)}.mini-quote:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.mini-quote::before{content:'"';position:absolute;top:-12px;left:20px;font-size:56px;color:var(--accent);opacity:.15;font-family:Georgia,serif;line-height:1;font-weight:900}.mini-quote-text{font-size:14px;font-weight:500;color:var(--ink);line-height:1.8;padding-left:12px;border-left:3px solid var(--accent-light);font-style:italic}.mini-quote-source{font-size:11px;color:var(--accent);font-weight:600;text-align:right;margin-top:8px;opacity:.8;display:flex;align-items:center;justify-content:flex-end;gap:12px}.mini-quote-ref{font-size:11px;color:var(--accent);cursor:pointer;font-weight:600;padding:3px 8px;border-radius:10px;transition:all .2s}.mini-quote-ref:active{background:var(--accent-light);opacity:.8}.today-card{display:none}.today-card.spring{background:linear-gradient(135deg,#e8f5e9,#d4edda)}.today-card.summer{background:linear-gradient(135deg,#ffebee,#ffe0b2)}.today-card.autumn{background:linear-gradient(135deg,#fff8e1,#ffe0b2)}.today-card.winter{background:linear-gradient(135deg,#e3f2fd,#d1ecf1)}.today-header{margin-bottom:10px}.today-date-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.today-date{font-size:15px;font-weight:700;color:var(--ink)}.today-lunar{font-size:12px;color:var(--muted);background:rgba(255,255,255,.6);padding:2px 8px;border-radius:8px}.today-badges{display:flex;gap:6px;flex-wrap:wrap}.today-season-tip{font-size:13px;color:var(--ink);font-weight:600;line-height:1.5;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.06)}.quote-card{background:linear-gradient(135deg,#e8f5e9,#e3f2fd);border-radius:16px;padding:16px;margin:0 16px 12px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.quote-title{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:6px}.quote-text{font-size:16px;font-weight:600;color:var(--ink);line-height:1.8;margin-bottom:8px}.quote-source{font-size:13px;color:var(--accent);font-weight:600;text-align:right}.quote-refresh{font-size:12px;color:var(--muted);text-align:center;padding-top:8px;cursor:pointer;border-top:1px dashed rgba(0,0,0,.1);margin-top:8px}.quote-refresh:active{opacity:.7}.today-ref-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--accent);font-weight:600;text-decoration:none;padding:4px 10px;background:rgba(255,255,255,.6);border-radius:8px;transition:all .2s}.today-ref-link:active{background:var(--accent);color:#fff}.ambient-bg{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;height:200px;pointer-events:none;z-index:-1;opacity:.5;transition:background 2s ease}.ambient-bg.dawn{background:linear-gradient(180deg,#e8f5e9 0%,transparent 100%)}.ambient-bg.morning{background:linear-gradient(180deg,#c8e6c9 0%,transparent 100%)}.ambient-bg.midday{background:linear-gradient(180deg,#ffe0b2 0%,transparent 100%)}.ambient-bg.afternoon{background:linear-gradient(180deg,#fff9c4 0%,transparent 100%)}.ambient-bg.evening{background:linear-gradient(180deg,#ffe0b2 0%,transparent 100%)}.ambient-bg.night{background:linear-gradient(180deg,#d1c4e9 0%,transparent 100%)}.tabs{display:none}.tab{flex:1;text-align:center;padding:10px 0;font-size:14px;font-weight:600;color:var(--muted);background:var(--bg2);border-radius:14px;border-bottom:none;transition:all .2s}.tab.active{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 2px 8px rgba(124,182,157,.3)}.tab:active{opacity:.7}#bottomNav{background:#fff;border-top:1px solid rgba(0,0,0,.06);padding-bottom:max(8px,env(safe-area-inset-bottom));box-shadow:0 -4px 24px rgba(15,23,42,.08)}.bnav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px 4px;border:none;background:none;cursor:pointer;opacity:.5;transition:all .3s var(--ease);position:relative;border-radius:14px;color:var(--muted)}.bnav-item.active{opacity:1;color:var(--accent)}.bnav-item.active::after{content:'';position:absolute;top:4px;left:50%;transform:translateX(-50%);width:24px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:all .3s var(--ease);box-shadow:0 2px 6px rgba(16,185,129,.3)}.bnav-icon{width:24px;height:24px;line-height:1;transition:transform .3s var(--ease)}.bnav-item.active .bnav-icon{transform:scale(1.1)}.bnav-label{font-size:10px;font-weight:600;color:var(--muted);transition:color .3s var(--ease)}.bnav-item.active .bnav-label{color:var(--accent);font-weight:700}.bnav-center{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 100%);color:#fff;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:0 8px 24px rgba(16,185,129,.4),0 4px 12px rgba(245,158,11,.3);transition:all .3s var(--ease);margin-top:-28px;position:relative}.bnav-center-icon{width:28px;height:28px}.bnav-center::before{content:'';position:absolute;inset:-3px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));opacity:.3;filter:blur(8px);z-index:-1}.bnav-center:hover{transform:scale(1.08);box-shadow:0 12px 32px rgba(16,185,129,.5),0 6px 16px rgba(245,158,11,.4)}.bnav-center:active{transform:scale(.95)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--rule);display:flex;justify-content:space-around;align-items:center;padding:8px 0;padding-bottom:max(8px,env(safe-area-inset-bottom));z-index:100}body.dark .bottom-nav{background:rgba(15,23,42,.92);border-top-color:rgba(255,255,255,.08)}.section{display:none;padding:16px}.section.active{display:block}#sec-profile.section{padding:0 16px 80px;max-width:100%}#sec-profile.section.active{display:flex;flex-direction:column}.section-title{font-size:16px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:6px}.time-group{background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);margin-bottom:16px;overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s var(--ease);border:1px solid rgba(255,255,255,.6)}.time-group:hover{box-shadow:var(--shadow-md)}.time-group-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;cursor:pointer;user-select:none;background:rgba(241,245,249,.6);transition:background .3s var(--ease);border-left:4px solid var(--accent);border-bottom:1px solid rgba(0,0,0,.04)}.time-group-header:active{background:var(--rule)}.time-group-left{display:flex;align-items:center;gap:12px}.time-group-icon{font-size:26px;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-light),var(--accent2-light));flex-shrink:0;box-shadow:0 2px 8px rgba(16,185,129,.15)}.time-group-name{font-size:15px;font-weight:700;color:var(--ink)}.time-group-count{font-size:11px;color:var(--accent);background:var(--accent-light);padding:3px 12px;border-radius:10px;font-weight:700}.time-group-arrow{font-size:16px;color:var(--muted);transition:transform .3s var(--ease)}.time-group .habit-card{border-radius:0 !important;background:transparent !important;border:none !important;border-bottom:1px solid rgba(0,0,0,.04) !important;margin-bottom:0 !important;flex-direction:row !important;align-items:center !important;padding:14px 18px !important;gap:14px !important}.habit-card{background:transparent;border-radius:0;padding:14px 18px;margin-bottom:0;display:flex;align-items:center;gap:14px;transition:all .2s var(--ease);position:relative;overflow:hidden;border:none;border-bottom:1px solid rgba(0,0,0,.04)}.habit-card:last-child{border-bottom:none}.habit-card:hover{background:rgba(16,185,129,.04)}.habit-card:active{background:var(--bg2)}.habit-card.done-card{opacity:.7}.habit-time-hint{font-size:11px;flex-shrink:0}.habit-time-hint.overdue{color:var(--danger)}.habit-time-hint.soon{color:var(--accent2)}.habit-card .icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(245,158,11,.06));box-shadow:0 2px 8px rgba(16,185,129,.1)}.habit-card[data-period="morning"] .icon,.habit-card.morning-period .icon{background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(251,191,36,.08))}.habit-card[data-period="afternoon"] .icon,.habit-card.afternoon-period .icon{background:linear-gradient(135deg,rgba(16,185,129,.15),rgba(20,184,166,.08))}.habit-card[data-period="evening"] .icon,.habit-card.evening-period .icon{background:linear-gradient(135deg,rgba(139,92,246,.15),rgba(236,72,153,.08))}.habit-card[data-period="night"] .icon,.habit-card.night-period .icon{background:linear-gradient(135deg,rgba(59,130,246,.15),rgba(14,165,233,.08))}.habit-card .info{flex:1;min-width:0}.habit-card .name{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.habit-card .meta{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.habit-card .streak{font-size:10px;color:var(--accent-700);background:var(--accent-light);padding:3px 10px;border-radius:8px;font-weight:700}.habit-card .habit-desc{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.5;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.habit-card .history-detail{font-size:12px;color:var(--accent);margin-top:6px;line-height:1.4;display:flex;align-items:center;gap:8px}.habit-card .history-checkin-time{display:flex;align-items:center;gap:3px}.habit-card .history-checkin-value{font-weight:600}.habit-card .checkin-btn{padding:8px 16px;border-radius:16px;font-size:13px;font-weight:600;transition:all .2s var(--ease);flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:56px}.habit-card .checkin-btn.pending{background:linear-gradient(135deg,var(--accent),var(--accent-600));color:#fff;box-shadow:0 2px 8px rgba(16,185,129,.3)}.habit-card .checkin-btn.pending:hover{opacity:.9}.habit-card .checkin-btn.pending:active{transform:scale(.95)}.habit-card .checkin-btn.done{background:linear-gradient(135deg,var(--accent),var(--accent-600));color:#fff;font-size:16px;animation:checkmarkPop .3s var(--ease);box-shadow:0 2px 8px rgba(16,185,129,.3)}.habit-card .checkin-btn.skip{background:var(--bg2);color:var(--muted);width:32px;height:32px;font-size:14px;box-shadow:none;padding:0}.habit-card .checkin-btn.failed{background:#FEE2E2;color:var(--danger)}.habit-card.negative .icon{background:linear-gradient(135deg,rgba(239,68,68,.15),rgba(249,115,22,.08))}.habit-card.negative .checkin-btn.pending{background:linear-gradient(135deg,var(--danger),#DC2626);color:#fff;box-shadow:0 2px 8px rgba(239,68,68,.3)}.habit-card.negative .checkin-btn.done{background:#FEE2E2;color:var(--danger)}.health-tip-inline{font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px;padding:6px 10px;background:var(--bg2);border-radius:8px;border-left:3px solid var(--accent)}.health-tip-inline .ht-source{font-size:10px;color:var(--accent);font-weight:700;margin-right:4px}.encourage-bubble{background:linear-gradient(135deg,rgba(124,182,157,.08),rgba(244,166,131,.08));border-radius:16px;padding:14px 16px;margin:12px 16px;text-align:left;font-size:14px;color:var(--ink);line-height:1.6;border:1px dashed var(--accent-light);position:relative;display:flex;align-items:center;gap:8px}.encourage-bubble::before{content:'💬';position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-size:16px}@keyframes checkinPop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}@keyframes cardFlip{0%{transform:perspective(400px) rotateY(0)}50%{transform:perspective(400px) rotateY(90deg)}100%{transform:perspective(400px) rotateY(0)}}@keyframes checkmark{0%{transform:scale(0);opacity:0}60%{transform:scale(1.3);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes checkmarkPop{0%{transform:scale(.5);opacity:.5}50%{transform:scale(1.2)}100%{transform:scale(1);opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}100%{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes starBurst{0%{transform:scale(0) translateY(0);opacity:1}50%{opacity:1}100%{transform:scale(1.5) translateY(-40px);opacity:0}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(-120px) rotate(720deg);opacity:0}}.habit-card.pop{animation:checkinPop .3s ease}.habit-card.flip{animation:cardFlip .5s ease}.section.active{animation:fadeInUp .3s ease}.streak{animation:pulse 2s ease infinite}.star-particle{position:absolute;pointer-events:none;font-size:16px;animation:starBurst .6s ease forwards;z-index:10}.confetti-particle{position:fixed;pointer-events:none;width:8px;height:8px;border-radius:2px;animation:confetti 1s ease forwards;z-index:999}.all-done-banner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:999;text-align:center;pointer-events:none;animation:checkinPop .5s ease}.all-done-banner .emoji{font-size:48px;display:block;margin-bottom:8px}.all-done-banner .text{font-size:24px;font-weight:800;color:var(--accent)}.ring-container{display:flex;justify-content:center;align-items:center;margin:24px 0 20px}.ring-wrap{position:relative;width:180px;height:180px}.ring-svg{width:180px;height:180px;transform:rotate(-90deg);filter:drop-shadow(0 6px 20px rgba(16,185,129,.25))}.ring-bg{fill:none;stroke:var(--bg2);stroke-width:14}.ring-fg{fill:none;stroke:url(#ringGradient);stroke-width:14;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1)}.ring-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.ring-pct{font-size:42px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-2px}.ring-label{font-size:13px;color:var(--muted);margin-top:4px;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px}.stat-card{background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:20px 14px;text-align:center;box-shadow:var(--shadow-sm);transition:all .3s var(--ease);border:1px solid rgba(255,255,255,.6);position:relative;overflow:hidden}.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent2));opacity:0;transition:opacity .3s var(--ease)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.stat-card:hover::before{opacity:1}.stat-card.points-card{background:linear-gradient(135deg,rgba(251,191,36,.12),rgba(245,158,11,.06));border-color:rgba(251,191,36,.25);backdrop-filter:blur(12px)}.stat-card.points-card .stat-val{-webkit-text-fill-color:var(--accent2)}.stat-val{font-size:30px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.stat-label{font-size:12px;color:var(--muted);margin-top:8px;font-weight:600}.heatmap{margin:16px 0}.heatmap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.heatmap-title{font-size:14px;font-weight:600}.heatmap-nav{display:flex;gap:8px;align-items:center}.heatmap-nav button{font-size:18px;padding:2px 8px;border-radius:6px}.heatmap-nav button:active{background:var(--rule)}.heatmap-month{font-size:14px;font-weight:600;min-width:100px;text-align:center}.heatmap-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.heatmap-day-label{font-size:10px;color:var(--muted);text-align:center;padding:2px 0}.heatmap-cell{aspect-ratio:1;border-radius:4px;background:var(--bg2);transition:background .2s}.heatmap-cell.l1{background:var(--accent-light)}.heatmap-cell.l2{background:var(--accent)}.heatmap-cell.l3{background:#5a9e7e}.heatmap-cell.l4{background:#3d7a5f}.heatmap-cell.empty{background:transparent}.heatmap-cell.today{outline:2px solid var(--accent2);outline-offset:1px}.achievements{display:flex;flex-wrap:wrap;gap:16px 12px;margin-top:16px;padding:8px 0;justify-content:flex-start}.badge{width:64px;text-align:center;cursor:pointer;transition:all .3s var(--ease)}.badge:hover{transform:translateY(-3px)}.badge:active{transform:scale(.94)}.badge-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;box-shadow:0 3px 10px rgba(16,185,129,.15);transition:all .3s var(--ease);position:relative;color:var(--accent)}.badge-icon.locked{background:var(--bg2);box-shadow:inset 0 0 0 1.5px var(--rule);color:var(--muted)}.badge-icon.locked::after{content:'';position:absolute;bottom:-3px;right:-3px;width:14px;height:14px;border-radius:50%;background:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7' viewBox='0 0 24 24' fill='none' stroke='%23A8A29E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:7px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.badge-icon.unlocked{background:linear-gradient(135deg,var(--accent-light),var(--accent2-light));box-shadow:0 3px 10px rgba(16,185,129,.15)}.badge-label{font-size:10px;color:var(--muted);font-weight:500}.badge-label.unlocked{color:var(--ink);font-weight:600}.panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.5);z-index:100;opacity:0;pointer-events:none;transition:opacity .3s var(--ease);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.panel-overlay.show{opacity:1;pointer-events:auto}.panel{position:fixed;bottom:0;left:50%;transform:translateX(-50%) translateY(100%);width:100%;max-width:480px;max-height:85vh;background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:28px 28px 0 0;z-index:101;transition:transform .35s var(--ease),visibility .35s var(--ease);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 -8px 32px rgba(15,23,42,.15);visibility:hidden}.panel.show{transform:translateX(-50%) translateY(0);visibility:visible}.panel-handle{width:48px;height:5px;background:var(--rule);border-radius:3px;margin:12px auto 8px}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px 14px;border-bottom:1px solid rgba(0,0,0,.06)}.panel-title{font-size:17px;font-weight:700}.panel-close{font-size:20px;padding:6px 10px;border-radius:12px;transition:all .2s var(--ease)}.panel-close:hover{background:var(--bg2);transform:rotate(90deg)}.panel-close:active{background:var(--rule)}.panel-body{flex:1;overflow-y:auto;padding:18px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.panel-body-p0{padding:0}.panel-body-p20{padding:24px}.panel-body-p24{text-align:center;padding:28px}.panel-body-chat{display:flex;flex-direction:column;height:calc(100vh - 60px);padding:0;position:relative}.panel-body-center{padding:20px;text-align:center}.lib-search-row{display:flex;gap:8px;align-items:center;margin-bottom:12px}.lib-search{flex:1;padding:10px 14px;border:2px solid var(--rule);border-radius:12px;font-size:14px;background:#fff;outline:none}.lib-search:focus{border-color:var(--accent)}.lib-search-btn{flex-shrink:0;padding:10px 14px;border-radius:12px;background:var(--accent);color:#fff;font-weight:600;font-size:13px;border:none;cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.08)}.lib-search-btn:active{background:#6aa88a;transform:scale(.95)}.lib-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 0 12px;margin-bottom:16px;border-bottom:1px solid var(--rule);-webkit-overflow-scrolling:touch;scrollbar-width:none;mask-image:linear-gradient(to right,black 85%,transparent 98%);-webkit-mask-image:linear-gradient(to right,black 85%,transparent 98%)}.lib-tabs::-webkit-scrollbar{display:none}.lib-tab{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:8px 14px;border-radius:20px;font-size:13px;font-weight:600;background:var(--bg2);color:var(--muted);transition:all .2s;white-space:nowrap;border:none;cursor:pointer}.lib-tab.active{background:var(--accent);transform:scale(1.05)}.lib-tab:active{transform:scale(.9)}.lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.lib-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 8px;background:#fff;border-radius:14px;box-shadow:var(--shadow);cursor:pointer;transition:all .2s;gap:8px;min-height:90px;position:relative;overflow:hidden}.lib-card:active{transform:scale(.95)}.lib-card .lib-card-icon{font-size:32px;line-height:1;transition:opacity .3s}.lib-card .lib-card-name{font-size:12px;font-weight:600;color:var(--ink);text-align:center;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-card .lib-card-tip{font-size:10px;color:var(--muted);text-align:center;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lib-card.added{background:var(--bg2);opacity:.55}.lib-card.added .lib-card-icon{filter:grayscale(30%)}.lib-card.added::after{content:'✓';position:absolute;top:6px;right:8px;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.lib-custom{margin-top:12px;background:linear-gradient(135deg,var(--accent-light),var(--accent2-light));border-radius:16px;padding:16px}.lib-custom-title{font-size:13px;font-weight:600;color:var(--ink2);margin-bottom:10px}.lib-custom-input{display:flex;gap:8px}.lib-custom-input input{flex:1;padding:10px 14px;border:2px solid var(--rule);border-radius:14px;font-size:14px;background:#fff;outline:none}.lib-custom-input input:focus{border-color:var(--accent)}.lib-custom-input button{padding:10px 16px;border-radius:14px;background:var(--accent);color:#fff;font-weight:600;font-size:13px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.08)}.lib-custom-input button:active{background:#6aa88a}.lib-custom-type{display:flex;gap:8px;margin-top:8px}.lib-custom-type button{padding:6px 14px;border-radius:14px;font-size:12px;background:rgba(255,255,255,.7);font-weight:600;color:var(--ink2)}.lib-custom-type button.active{background:var(--accent);color:#fff}.lib-icon-picker{margin-top:8px}.lib-icon-picker-label{font-size:12px;font-weight:600;color:var(--ink2);margin-bottom:6px}.lib-icon-picker .selected-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#fff;font-size:20px;border:2px solid var(--rule);vertical-align:middle;margin-right:8px}.lib-icon-picker .preset-icons{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.lib-icon-picker .preset-icons span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;font-size:18px;cursor:pointer;background:#fff;border:2px solid transparent;transition:all .15s}.lib-icon-picker .preset-icons span:hover{border-color:var(--accent);transform:scale(1.1)}.lib-icon-picker .preset-icons span.selected{border-color:var(--accent);background:var(--accent-light)}.lib-custom-time{margin-top:8px;display:flex;align-items:center;gap:8px}.lib-custom-time label{font-size:12px;font-weight:600;color:var(--ink2);white-space:nowrap}.lib-custom-time input[type="time"]{padding:8px 12px;border:2px solid var(--rule);border-radius:10px;font-size:14px;background:#fff;outline:none;width:130px}.lib-custom-time input[type="time"]:focus{border-color:var(--accent)}.lib-custom-reminders{margin-top:8px}.lib-custom-reminders-label{font-size:12px;font-weight:600;color:var(--ink2);margin-bottom:6px}.lib-custom-reminders-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.lib-custom-reminder-item{display:flex;align-items:center;gap:4px;background:rgba(255,255,255,.7);border-radius:8px;padding:4px 8px;font-size:12px}.lib-custom-reminder-item input[type="time"]{border:none;background:transparent;font-size:12px;padding:2px 4px;outline:none;width:90px}.lib-custom-reminder-item .reminder-remove{font-size:14px;color:var(--muted);cursor:pointer;padding:0 2px;line-height:1}.lib-custom-reminder-item .reminder-remove:active{color:#e74c3c}.lib-custom-reminder-add{font-size:11px;color:var(--accent);background:transparent;border:1px dashed var(--accent);border-radius:8px;padding:4px 12px;cursor:pointer;font-weight:600}.lib-custom-reminder-add:active{background:var(--accent-light)}.lib-custom-note{margin-top:8px;display:flex;align-items:center;gap:8px}.lib-custom-note label{font-size:12px;font-weight:600;color:var(--ink2);white-space:nowrap}.lib-custom-note input{flex:1;padding:8px 12px;border:2px solid var(--rule);border-radius:10px;font-size:13px;background:#fff;outline:none}.lib-custom-note input:focus{border-color:var(--accent)}.lib-custom-freq{margin-top:8px}.lib-custom-freq-label{font-size:12px;font-weight:600;color:var(--ink2);margin-bottom:6px}.lib-custom-freq .weekdays{display:flex;gap:4px}.lib-custom-freq .weekdays button{width:34px;height:34px;border-radius:50%;font-size:12px;font-weight:600;background:rgba(255,255,255,.7);color:var(--ink2);border:none;cursor:pointer;transition:all .15s}.lib-custom-freq .weekdays button.active{background:var(--accent);color:#fff}.lib-custom-freq .weekdays button:active{transform:scale(.9)}.lib-category{margin-bottom:16px}.lib-cat-label{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:8px}.lib-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-radius:10px;margin-bottom:6px;box-shadow:var(--shadow)}.lib-item .icon{font-size:22px}.lib-item .name{font-size:14px;flex:1}.lib-item .type-tag{font-size:11px;color:var(--muted);background:var(--bg2);padding:2px 8px;border-radius:8px}.lib-item .add-btn{padding:6px 12px;border-radius:16px;font-size:12px;font-weight:600;background:var(--accent);color:#fff}.lib-item .add-btn:active{background:#6aa88a}.lib-item .add-btn.added{background:var(--bg2);color:var(--muted)}.health-pack{background:linear-gradient(135deg,var(--accent-light),var(--accent2-light));border-radius:16px;margin:16px 0 12px;box-shadow:var(--shadow);overflow:hidden}.health-pack-header{display:flex;align-items:center;padding:16px;cursor:pointer;user-select:none}.health-pack-header:active{opacity:.8}.health-pack-arrow{font-size:12px;color:var(--muted);transition:transform .25s;flex-shrink:0}.health-pack-body{overflow:hidden;border-top:1px solid rgba(0,0,0,.06)}.health-pack-habits{padding:8px 16px 12px;display:flex;flex-direction:column;gap:6px}.health-pack-habit{display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(255,255,255,.7);border-radius:10px;font-size:13px;cursor:pointer;transition:all .15s}.health-pack-habit:active{transform:scale(.98)}.health-pack-habit.added{opacity:.5;cursor:default}.health-pack-habit span:nth-child(2){flex:1;font-weight:500}.health-pack-add-btn{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.health-pack-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 16px 16px}.health-pack-btn{padding:6px 16px;border-radius:14px;font-size:13px;font-weight:600;background:var(--accent);color:#fff;border:none;cursor:pointer}.health-pack-btn:active{opacity:.8}.health-pack-btn.added{background:var(--bg2);color:var(--muted)}.checkin-input-wrap{text-align:center;padding:20px 0}.checkin-input-label{font-size:16px;font-weight:600;margin-bottom:16px}.checkin-input-field{width:120px;height:60px;font-size:32px;font-weight:700;text-align:center;border:3px solid var(--rule);border-radius:16px;outline:none;color:var(--ink)}.checkin-input-field:focus{border-color:var(--accent)}.checkin-input-unit{font-size:14px;color:var(--muted);margin-top:8px}.checkin-input-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.checkin-input-actions button{padding:12px 32px;border-radius:14px;font-size:15px;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.08)}.checkin-input-actions .cancel{background:var(--bg2);color:var(--muted)}.checkin-input-actions .confirm{background:var(--accent);color:#fff}.date-nav{display:none;text-align:center;padding:8px 16px;margin:0 16px;background:var(--bg2);border-radius:10px;margin-bottom:10px}.date-nav-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:4px 12px}.date-nav-label{font-size:14px;font-weight:700;color:var(--ink);margin:0 12px}.date-nav-home{background:none;border:none;font-size:11px;color:var(--accent);cursor:pointer;margin-left:8px;text-decoration:underline}.checkin-segmented{display:flex;gap:6px;margin:0 16px 12px;padding:4px;background:var(--bg2);border-radius:14px}.checkin-segment{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 4px;border-radius:12px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .2s;background:transparent;border:none}.checkin-segment.active{background:var(--bg);color:var(--accent);box-shadow:var(--shadow-sm)}.checkin-segment:active{transform:scale(.97)}.settings-section-desc{font-size:13px;color:var(--muted);margin-bottom:14px;line-height:1.6}.settings-config-desc{font-size:12px;color:var(--muted);line-height:1.6;background:var(--bg2);padding:12px;border-radius:12px;margin-bottom:16px}.settings-api-hint{font-size:11px;color:var(--muted);margin-top:4px}.ai-unconfigured-icon{font-size:40px;margin-bottom:10px}.ai-unconfigured-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:6px}.ai-unconfigured-desc{font-size:13px;color:var(--muted);margin-bottom:16px}.pomo-timer-desc{font-size:13px;color:var(--muted);margin-bottom:16px}.pomo-timer-display{font-size:64px;font-weight:800;font-family:'GeistMono',monospace;color:var(--accent);letter-spacing:2px;margin:20px 0}.pomo-status{font-size:16px;font-weight:600;color:var(--muted);margin-bottom:20px}.pomo-progress-wrap{width:100%;height:8px;background:var(--rule);border-radius:4px;margin-bottom:24px;overflow:hidden}.pomo-progress-bar{width:0%;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:4px;transition:width .3s}.pomo-habit-selector{margin-bottom:16px}.pomo-habit-selector select{padding:10px 14px;border:1px solid var(--rule);border-radius:10px;font-size:14px;background:var(--bg);width:100%;max-width:280px}.pomo-btn-row{display:flex;gap:12px;justify-content:center}.pomo-stats-footer{margin-top:20px;font-size:13px;color:var(--muted)}.pomo-page{padding:24px 20px 120px;text-align:center;max-width:420px;margin:0 auto}.pomo-page-header{margin-bottom:28px}.pomo-title-icon{font-size:40px;margin-bottom:8px;display:block}.pomo-page-header h2{font-size:24px;font-weight:800;margin:0 0 10px;color:var(--ink);letter-spacing:-.5px}.pomo-page-desc{font-size:13px;color:var(--muted);margin:0;line-height:1.5}.pomo-timer-wrap{padding:36px 20px 28px;background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(245,158,11,.08));border-radius:24px;margin-bottom:28px;box-shadow:0 4px 20px rgba(16,185,129,.1)}.pomo-ring-wrap{position:relative;width:220px;height:220px;margin:0 auto 20px}.pomo-ring{width:100%;height:100%;transform:rotate(-90deg)}.pomo-ring-bg{fill:none;stroke:rgba(0,0,0,.08);stroke-width:10}.pomo-ring-progress{fill:none;stroke:url(#pomoGradient);stroke-width:10;stroke-linecap:round;stroke-dasharray:565.49;stroke-dashoffset:565.49;transition:stroke-dashoffset 1s linear}.pomo-ring-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.pomo-timer-large{font-size:56px;font-weight:800;font-family:'GeistMono',monospace;color:var(--accent);letter-spacing:2px;line-height:1.1}.pomo-status-large{font-size:14px;color:var(--muted);margin-top:10px;font-weight:500}.pomo-progress-container{padding:0 12px}.pomo-progress-track{width:100%;height:8px;background:rgba(0,0,0,.06);border-radius:4px;overflow:hidden}.pomo-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:4px;transition:width .3s}.pomo-controls{padding:0 4px}.pomo-habit-row{margin-bottom:20px}.pomo-select{width:100%;padding:14px 18px;border:2px solid var(--rule);border-radius:14px;font-size:15px;background:var(--bg);color:var(--ink);outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='%236b7280' d='M7 9L2 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.pomo-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(16,185,129,.15)}.pomo-btn-row{display:flex;gap:12px;justify-content:center;margin-top:20px}.pomo-btn{flex:1;max-width:160px;padding:14px 20px;font-size:15px;font-weight:700;border:none;border-radius:14px;cursor:pointer;transition:all .2s var(--ease);display:inline-flex;align-items:center;justify-content:center;gap:6px}.pomo-btn:active{transform:scale(.97)}.pomo-btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 4px 14px rgba(16,185,129,.3)}.pomo-btn-primary:hover{box-shadow:0 6px 20px rgba(16,185,129,.4);transform:translateY(-1px)}.pomo-btn-secondary{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;box-shadow:0 4px 14px rgba(245,158,11,.3)}.pomo-btn-secondary:hover{box-shadow:0 6px 20px rgba(245,158,11,.4);transform:translateY(-1px)}.pomo-btn-stop{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 14px rgba(239,68,68,.3)}.pomo-btn-stop:hover{box-shadow:0 6px 20px rgba(239,68,68,.4);transform:translateY(-1px)}.pomo-btn-icon{font-size:16px}.pomo-stats-card{padding:18px;background:var(--bg2);border-radius:16px;font-size:14px;color:var(--muted);font-weight:600;margin-top:24px;letter-spacing:.3px}body.dark .pomo-timer-large{color:var(--accent)}body.dark .pomo-progress-track{background:rgba(255,255,255,.1)}body.dark .pomo-ring-bg{stroke:rgba(255,255,255,.1)}body.dark .pomo-stats-card{background:rgba(255,255,255,.06)}.ai-page-header{padding:20px 16px 16px;text-align:center}.ai-page-header h2{font-size:22px;font-weight:800;margin:0 0 6px;color:var(--ink)}.ai-page-desc{font-size:13px;color:var(--muted);margin:0}.ai-chat-container{padding:0 16px 110px;display:flex;flex-direction:column;gap:12px;max-width:480px;margin:0 auto;width:100%}.ai-messages{flex:1;overflow-y:auto;min-height:calc(100vh - 320px)}.ai-input-bar{display:flex;gap:8px;padding:8px 16px;background:var(--bg);position:fixed;bottom:70px;left:50%;transform:translateX(-50%);width:100%;max-width:480px;z-index:50;box-sizing:border-box;box-shadow:0 -2px 12px rgba(0,0,0,.06);border-top:1px solid var(--rule)}.ai-input-bar input{flex:1;padding:10px 14px;border:2px solid var(--rule);border-radius:14px;font-size:14px;background:#fff;outline:none}.ai-input-bar input:focus{border-color:var(--accent)}.ai-input-bar .ai-send-btn{width:42px;height:42px;padding:0;border:none;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px rgba(106,168,138,.35);transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0}.ai-input-bar .ai-send-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(106,168,138,.45)}.ai-input-bar .ai-send-btn:active{transform:scale(.92);box-shadow:0 2px 6px rgba(106,168,138,.3)}.ai-input-bar .ai-send-btn svg{transition:transform .2s}.ai-input-bar .ai-send-btn:active svg{transform:translate(2px,-2px)}.ai-unconfigured-page{display:none;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.ai-unc-icon{font-size:48px;margin-bottom:16px}.ai-unc-title{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:8px}.ai-unc-desc{font-size:14px;color:var(--muted);margin-bottom:20px}body.dark .ai-input-bar{background:var(--bg)}body.dark .ai-input-bar input{background:var(--bg2);color:var(--ink);border-color:var(--rule)}.reminder-option{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border-radius:12px;margin-bottom:8px;box-shadow:var(--shadow)}.reminder-option .radio{width:var(--rb-size);height:var(--rb-size);border-radius:var(--rb-radius);border:var(--rb-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.reminder-option .radio.active{border-color:var(--accent)}.reminder-option .radio.active::after{content:'';width:var(--rb-dot-size);height:var(--rb-dot-size);border-radius:50%;background:var(--accent)}.reminder-option .label{font-size:14px;flex:1}.reminder-option .desc{font-size:12px;color:var(--muted)}.time-picker-wrap{text-align:center;padding:10px 0}.time-picker-wrap label{font-size:14px;color:var(--muted);display:block;margin-bottom:8px}.time-picker-wrap input[type="time"]{font-size:28px;padding:8px 16px;border:2px solid var(--rule);border-radius:12px;outline:none;color:var(--ink)}.time-picker-wrap input[type="time"]:focus{border-color:var(--accent)}.days-selector{display:flex;gap:6px;justify-content:center;margin-top:16px;flex-wrap:wrap}.day-btn{width:40px;height:40px;border-radius:50%;font-size:13px;font-weight:600;background:var(--bg2);display:flex;align-items:center;justify-content:center}.day-btn.active{background:var(--accent);color:#fff}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.toggle-label{font-size:14px;font-weight:600}.toggle-switch{width:54px;height:28px;border-radius:14px;background:var(--rule);position:relative;transition:background .2s}.toggle-switch.on{background:var(--accent)}.toggle-switch::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.toggle-switch.on::after{transform:translateX(26px)}.theme-toggle{position:relative;width:54px;height:28px}.theme-toggle .theme-checkbox{position:absolute;display:none}.theme-toggle .theme-slider{position:absolute;width:100%;height:100%;border-radius:14px;cursor:pointer;background:var(--ink);border:2px solid var(--rule);transition:.3s}.theme-toggle .theme-checkbox:checked~.theme-slider{background:var(--accent-light);border-color:var(--accent)}.theme-toggle .theme-slider::before{content:"";position:absolute;top:4px;left:4px;width:16px;height:16px;border-radius:50%;box-shadow:inset 8px -2px 0 0 var(--bg);background:var(--ink);transition:.3s}.theme-toggle .theme-checkbox:checked~.theme-slider::before{transform:translateX(26px);background:var(--accent);box-shadow:none}.theme-toggle-wrapper{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:0 4px;margin-bottom:12px}.theme-toggle-label{font-size:12px;color:var(--muted);font-weight:600}.theme-toggle-icon{font-size:16px;transition:.3s}.profile-settings-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.5);border-radius:12px;color:var(--muted);cursor:pointer;transition:all .2s var(--ease);flex-shrink:0;border:1px solid rgba(255,255,255,.3);position:relative;z-index:1;align-self:flex-start;margin-top:-6px}.profile-settings-btn:hover{background:rgba(255,255,255,.7);color:var(--accent);transform:scale(1.05)}.profile-settings-btn:active{background:rgba(255,255,255,.8);transform:scale(.95)}body.tg-uiverse .theme-toggle{position:relative;width:54px;height:28px}body.tg-uiverse .theme-toggle .theme-checkbox{position:absolute;display:none}body.tg-uiverse .theme-toggle .theme-slider{position:absolute;width:100%;height:100%;border-radius:14px;cursor:pointer;background:#28292c;border:2px solid #28292c;transition:.3s}body.tg-uiverse .theme-toggle .theme-checkbox:checked~.theme-slider{background:#d8dbe0}body.tg-uiverse .theme-toggle .theme-slider::before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;box-shadow:inset 7px -2px 0 0 #d8dbe0;background:#28292c;transition:.3s}body.tg-uiverse .theme-toggle .theme-checkbox:checked~.theme-slider::before{transform:translateX(26px);background:#28292c;box-shadow:none}body.tg-uiverse .toggle-switch,body.tg-uiverse .mg-item-toggle{width:54px;height:28px;border-radius:14px;cursor:pointer;background:#28292c;border:2px solid #28292c;transition:.3s;flex-shrink:0}body.tg-uiverse .toggle-switch.on,body.tg-uiverse .mg-item-toggle.on{background:#d8dbe0}body.tg-uiverse .toggle-switch::after,body.tg-uiverse .mg-item-toggle::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;box-shadow:inset 10px -3px 0 0 #d8dbe0;background:#28292c;transition:.3s}body.tg-uiverse .toggle-switch.on::after,body.tg-uiverse .mg-item-toggle.on::after{transform:translateX(26px);background:#28292c;box-shadow:none}body.tg-svg .theme-toggle{--tg-a:.5s ease-out;cursor:pointer;position:relative;display:inline-flex;width:54px;height:28px;border-radius:14px;box-shadow:0 0 0 2px var(--rule);background:var(--rule);flex-shrink:0}body.tg-svg .theme-toggle .theme-checkbox{opacity:0;width:0;height:0;position:absolute}body.tg-svg .theme-toggle .theme-slider{position:static;width:auto;height:auto;border-radius:0;cursor:auto;background:transparent;border:none}body.tg-svg .theme-toggle .theme-slider::before{display:none}body.tg-svg .theme-toggle .theme-slider::after{content:"";display:block;height:100%;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 212.5 84.5' overflow='visible' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='%23000' stroke-width='16' stroke-linecap='round' stroke-linejoin='round' d='M42.25 0A42.24 42.24 90 000 42.25 42.24 42.24 90 0042.25 84.47 42.24 42.24 90 0084.5 42.25 42.24 42.24 90 0042.25 0 42.24 42.24 90 000 42.25 42.24 42.24 90 0042.25 84.47l128 0a42.24 42.24 90 0042.25-42.25 42.24 42.24 90 00-42.25-42.25 42.24 42.24 90 00-42.25 42.25 42.24 42.24 90 0042.25 42.25 42.24 42.24 90 0042.25-42.25 42.24 42.24 90 00-42.25-42.25l-128 0'/%3E%3C/svg%3E") no-repeat center;mask-size:contain;-webkit-mask-size:contain;background:#fff;transition:background var(--tg-a)}body.tg-svg .theme-toggle .theme-checkbox:checked~.theme-slider::after{background:var(--accent)}body.tg-svg .toggle-switch,body.tg-svg .mg-item-toggle{--tg-a:.5s ease-out;cursor:pointer;position:relative;width:54px;height:28px;border-radius:14px;box-shadow:0 0 0 2px var(--rule);background:var(--rule);flex-shrink:0;transition:box-shadow var(--tg-a)}body.tg-svg .toggle-switch::after,body.tg-svg .mg-item-toggle::after{display:none}body.tg-svg .toggle-switch::before,body.tg-svg .mg-item-toggle::before{content:"";position:absolute;inset:0;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 212.5 84.5' overflow='visible' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='%23000' stroke-width='16' stroke-linecap='round' stroke-linejoin='round' d='M42.25 0A42.24 42.24 90 000 42.25 42.24 42.24 90 0042.25 84.47 42.24 42.24 90 0084.5 42.25 42.24 42.24 90 0042.25 0 42.24 42.24 90 000 42.25 42.24 42.24 90 0042.25 84.47l128 0a42.24 42.24 90 0042.25-42.25 42.24 42.24 90 00-42.25-42.25 42.24 42.24 90 00-42.25 42.25 42.24 42.24 90 0042.25 42.25 42.24 42.24 90 0042.25-42.25 42.24 42.24 90 00-42.25-42.25l-128 0'/%3E%3C/svg%3E") no-repeat center;mask-size:contain;-webkit-mask-size:contain;background:#fff;transition:background var(--tg-a)}body.tg-svg .toggle-switch.on::before,body.tg-svg .mg-item-toggle.on::before{background:var(--accent)}body.btn-default .const-btn,body.btn-default .tab,body.btn-default .health-pack-btn,body.btn-default .profile-grid-item,body.btn-default .mg-add-btn,body.btn-default .settings-btn,body.btn-default .checkin-input-actions button,body.btn-default .mini-quote-refresh,body.btn-default .mini-quote-ref,body.btn-default .skin-tab,body.btn-default .export-btn,body.btn-default .day-btn,body.btn-default .panel-close,body.btn-default .bnav-item,body.btn-default .bnav-center,body.btn-default .fab,body.btn-default .lib-tab,body.btn-default .lib-custom-input button,body.btn-default .lib-custom-type button,body.btn-default .lib-custom-reminder-add,body.btn-default .lib-custom-freq .weekdays button,body.btn-default .lib-item .add-btn,body.btn-default .health-pack-add-btn,body.btn-default .season-pack-btn,body.btn-default .season-pack-add-btn,body.btn-default .water-quick-btn,body.btn-default .water-qty-btn,body.btn-default .water-custom-btn,body.btn-default .heatmap-nav button,body.btn-default .edit-bar button,body.btn-default .emotion-btn,body.btn-default .ref-tab,body.btn-default .ref-lib-btn,body.btn-default .sd-tab,body.btn-default .he-btn,body.btn-default .he-btn-save,body.btn-default .skin-option,body.btn-default .rh-btn,body.btn-default .habit-card .checkin-btn,body.btn-default .reminder-option{border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.08)}body.btn-pill .const-btn,body.btn-pill .tab,body.btn-pill .health-pack-btn,body.btn-pill .profile-grid-item,body.btn-pill .mg-add-btn,body.btn-pill .settings-btn,body.btn-pill .checkin-input-actions button,body.btn-pill .mini-quote-refresh,body.btn-pill .mini-quote-ref,body.btn-pill .skin-tab,body.btn-pill .export-btn,body.btn-pill .day-btn,body.btn-pill .panel-close,body.btn-pill .bnav-item,body.btn-pill .bnav-center,body.btn-pill .fab,body.btn-pill .lib-tab,body.btn-pill .lib-custom-input button,body.btn-pill .lib-custom-type button,body.btn-pill .lib-custom-reminder-add,body.btn-pill .lib-custom-freq .weekdays button,body.btn-pill .lib-item .add-btn,body.btn-pill .health-pack-add-btn,body.btn-pill .season-pack-btn,body.btn-pill .season-pack-add-btn,body.btn-pill .water-quick-btn,body.btn-pill .water-qty-btn,body.btn-pill .water-custom-btn,body.btn-pill .heatmap-nav button,body.btn-pill .edit-bar button,body.btn-pill .emotion-btn,body.btn-pill .ref-tab,body.btn-pill .ref-lib-btn,body.btn-pill .sd-tab,body.btn-pill .he-btn,body.btn-pill .he-btn-save,body.btn-pill .skin-option,body.btn-pill .rh-btn,body.btn-pill .habit-card .checkin-btn,body.btn-pill .reminder-option{border-radius:999px;box-shadow:0 2px 12px rgba(0,0,0,.1)}body.btn-square .const-btn,body.btn-square .tab,body.btn-square .health-pack-btn,body.btn-square .profile-grid-item,body.btn-square .mg-add-btn,body.btn-square .settings-btn,body.btn-square .checkin-input-actions button,body.btn-square .mini-quote-refresh,body.btn-square .mini-quote-ref,body.btn-square .skin-tab,body.btn-square .export-btn,body.btn-square .day-btn,body.btn-square .panel-close,body.btn-square .bnav-item,body.btn-square .bnav-center,body.btn-square .fab,body.btn-square .lib-tab,body.btn-square .lib-custom-input button,body.btn-square .lib-custom-type button,body.btn-square .lib-custom-reminder-add,body.btn-square .lib-custom-freq .weekdays button,body.btn-square .lib-item .add-btn,body.btn-square .health-pack-add-btn,body.btn-square .season-pack-btn,body.btn-square .season-pack-add-btn,body.btn-square .water-quick-btn,body.btn-square .water-qty-btn,body.btn-square .water-custom-btn,body.btn-square .heatmap-nav button,body.btn-square .edit-bar button,body.btn-square .emotion-btn,body.btn-square .ref-tab,body.btn-square .ref-lib-btn,body.btn-square .sd-tab,body.btn-square .he-btn,body.btn-square .he-btn-save,body.btn-square .skin-option,body.btn-square .rh-btn,body.btn-square .habit-card .checkin-btn,body.btn-square .reminder-option{border-radius:4px;box-shadow:none}body.btn-star .const-btn,body.btn-star .tab,body.btn-star .health-pack-btn,body.btn-star .profile-grid-item,body.btn-star .mg-add-btn,body.btn-star .settings-btn,body.btn-star .checkin-input-actions button,body.btn-star .mini-quote-refresh,body.btn-star .mini-quote-ref,body.btn-star .skin-tab,body.btn-star .export-btn,body.btn-star .day-btn,body.btn-star .panel-close,body.btn-star .bnav-item,body.btn-star .bnav-center,body.btn-star .fab,body.btn-star .lib-tab,body.btn-star .lib-custom-input button,body.btn-star .lib-custom-type button,body.btn-star .lib-custom-reminder-add,body.btn-star .lib-custom-freq .weekdays button,body.btn-star .lib-item .add-btn,body.btn-star .health-pack-add-btn,body.btn-star .season-pack-btn,body.btn-star .season-pack-add-btn,body.btn-star .water-quick-btn,body.btn-star .water-qty-btn,body.btn-star .water-custom-btn,body.btn-star .heatmap-nav button,body.btn-star .edit-bar button,body.btn-star .emotion-btn,body.btn-star .ref-tab,body.btn-star .ref-lib-btn,body.btn-star .sd-tab,body.btn-star .he-btn,body.btn-star .he-btn-save,body.btn-star .skin-option,body.btn-star .rh-btn,body.btn-star .habit-card .checkin-btn,body.btn-star .reminder-option{position:relative;overflow:visible;transition:all .3s ease-in-out}body.btn-star .const-btn:hover,body.btn-star .tab:hover,body.btn-star .health-pack-btn:hover,body.btn-star .profile-grid-item:hover,body.btn-star .mg-add-btn:hover,body.btn-star .settings-btn:hover,body.btn-star .checkin-input-actions button:hover,body.btn-star .mini-quote-refresh:hover,body.btn-star .mini-quote-ref:hover,body.btn-star .skin-tab:hover,body.btn-star .export-btn:hover,body.btn-star .day-btn:hover,body.btn-star .panel-close:hover,body.btn-star .bnav-item:hover,body.btn-star .bnav-center:hover,body.btn-star .fab:hover,body.btn-star .lib-tab:hover,body.btn-star .lib-custom-input button:hover,body.btn-star .lib-custom-type button:hover,body.btn-star .lib-custom-reminder-add:hover,body.btn-star .lib-custom-freq .weekdays button:hover,body.btn-star .lib-item .add-btn:hover,body.btn-star .health-pack-add-btn:hover,body.btn-star .season-pack-btn:hover,body.btn-star .season-pack-add-btn:hover,body.btn-star .water-quick-btn:hover,body.btn-star .water-qty-btn:hover,body.btn-star .water-custom-btn:hover,body.btn-star .heatmap-nav button:hover,body.btn-star .edit-bar button:hover,body.btn-star .emotion-btn:hover,body.btn-star .ref-tab:hover,body.btn-star .ref-lib-btn:hover,body.btn-star .sd-tab:hover,body.btn-star .he-btn:hover,body.btn-star .he-btn-save:hover,body.btn-star .skin-option:hover,body.btn-star .rh-btn:hover,body.btn-star .habit-card .checkin-btn:hover,body.btn-star .reminder-option:hover{box-shadow:0 0 25px #fec1958c}body.btn-modern .const-btn,body.btn-modern .tab,body.btn-modern .health-pack-btn,body.btn-modern .profile-grid-item,body.btn-modern .mg-add-btn,body.btn-modern .settings-btn,body.btn-modern .checkin-input-actions button,body.btn-modern .mini-quote-refresh,body.btn-modern .mini-quote-ref,body.btn-modern .skin-tab,body.btn-modern .export-btn,body.btn-modern .day-btn,body.btn-modern .panel-close,body.btn-modern .bnav-item,body.btn-modern .bnav-center,body.btn-modern .fab,body.btn-modern .lib-tab,body.btn-modern .lib-custom-input button,body.btn-modern .lib-custom-type button,body.btn-modern .lib-custom-reminder-add,body.btn-modern .lib-custom-freq .weekdays button,body.btn-modern .lib-item .add-btn,body.btn-modern .health-pack-add-btn,body.btn-modern .season-pack-btn,body.btn-modern .season-pack-add-btn,body.btn-modern .water-quick-btn,body.btn-modern .water-qty-btn,body.btn-modern .water-custom-btn,body.btn-modern .heatmap-nav button,body.btn-modern .edit-bar button,body.btn-modern .emotion-btn,body.btn-modern .ref-tab,body.btn-modern .ref-lib-btn,body.btn-modern .sd-tab,body.btn-modern .he-btn,body.btn-modern .he-btn-save,body.btn-modern .skin-option,body.btn-modern .rh-btn,body.btn-modern .habit-card .checkin-btn,body.btn-modern .reminder-option{border-radius:5px;border:2.5px solid #E0E1E4;background-color:#fff;box-shadow:0 0 20px -20px;transition:all .2s ease-in-out}body.btn-modern .const-btn:hover,body.btn-modern .tab:hover,body.btn-modern .health-pack-btn:hover,body.btn-modern .profile-grid-item:hover,body.btn-modern .mg-add-btn:hover,body.btn-modern .settings-btn:hover,body.btn-modern .checkin-input-actions button:hover,body.btn-modern .mini-quote-refresh:hover,body.btn-modern .mini-quote-ref:hover,body.btn-modern .skin-tab:hover,body.btn-modern .export-btn:hover,body.btn-modern .day-btn:hover,body.btn-modern .panel-close:hover,body.btn-modern .bnav-item:hover,body.btn-modern .bnav-center:hover,body.btn-modern .fab:hover,body.btn-modern .lib-tab:hover,body.btn-modern .lib-custom-input button:hover,body.btn-modern .lib-custom-type button:hover,body.btn-modern .lib-custom-reminder-add:hover,body.btn-modern .lib-custom-freq .weekdays button:hover,body.btn-modern .lib-item .add-btn:hover,body.btn-modern .health-pack-add-btn:hover,body.btn-modern .season-pack-btn:hover,body.btn-modern .season-pack-add-btn:hover,body.btn-modern .water-quick-btn:hover,body.btn-modern .water-qty-btn:hover,body.btn-modern .water-custom-btn:hover,body.btn-modern .heatmap-nav button:hover,body.btn-modern .edit-bar button:hover,body.btn-modern .emotion-btn:hover,body.btn-modern .ref-tab:hover,body.btn-modern .ref-lib-btn:hover,body.btn-modern .sd-tab:hover,body.btn-modern .he-btn:hover,body.btn-modern .he-btn-save:hover,body.btn-modern .skin-option:hover,body.btn-modern .rh-btn:hover,body.btn-modern .habit-card .checkin-btn:hover,body.btn-modern .reminder-option:hover{background-color:#F2F2F2;box-shadow:0 0 20px -18px}body.btn-modern .const-btn:active,body.btn-modern .tab:active,body.btn-modern .health-pack-btn:active,body.btn-modern .profile-grid-item:active,body.btn-modern .mg-add-btn:active,body.btn-modern .settings-btn:active,body.btn-modern .checkin-input-actions button:active,body.btn-modern .mini-quote-refresh:active,body.btn-modern .mini-quote-ref:active,body.btn-modern .skin-tab:active,body.btn-modern .export-btn:active,body.btn-modern .day-btn:active,body.btn-modern .panel-close:active,body.btn-modern .bnav-item:active,body.btn-modern .bnav-center:active,body.btn-modern .fab:active,body.btn-modern .lib-tab:active,body.btn-modern .lib-custom-input button:active,body.btn-modern .lib-custom-type button:active,body.btn-modern .lib-custom-reminder-add:active,body.btn-modern .lib-custom-freq .weekdays button:active,body.btn-modern .lib-item .add-btn:active,body.btn-modern .health-pack-add-btn:active,body.btn-modern .season-pack-btn:active,body.btn-modern .season-pack-add-btn:active,body.btn-modern .water-quick-btn:active,body.btn-modern .water-qty-btn:active,body.btn-modern .water-custom-btn:active,body.btn-modern .heatmap-nav button:active,body.btn-modern .edit-bar button:active,body.btn-modern .emotion-btn:active,body.btn-modern .ref-tab:active,body.btn-modern .ref-lib-btn:active,body.btn-modern .sd-tab:active,body.btn-modern .he-btn:active,body.btn-modern .he-btn-save:active,body.btn-modern .skin-option:active,body.btn-modern .rh-btn:active,body.btn-modern .habit-card .checkin-btn:active,body.btn-modern .reminder-option:active{transform:scale(.95)}body.cb-svg .reminder-option .radio{width:18px;height:18px;border-radius:0;border:none;background:transparent;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}body.cb-svg .reminder-option .radio::before{content:"";position:absolute;top:-15px;left:-15px;width:48px;height:48px;border-radius:50%;background:rgba(34,50,84,.03);opacity:0;transition:opacity .2s ease}body.cb-svg .reminder-option .radio:hover::before{opacity:1}body.cb-svg .reminder-option .radio svg{display:none}body.cb-svg .reminder-option .radio::after{content:"";position:absolute;top:0;left:0;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z' stroke='%23c8ccd4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;background-size:contain;transition:all .2s ease}body.cb-svg .reminder-option .radio:hover::after{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z' stroke='%23a3e583' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}body.cb-svg .reminder-option .radio.active::after{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z' stroke='%23a3e583' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpolyline points='8 12 11 15 16 9' stroke='%23a3e583' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:contain;animation:checkmark .3s ease}body.cb-svg .emotion-btn{border:2px solid var(--rule);transition:all .3s ease}body.cb-svg .emotion-btn.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 12px rgba(124,182,157,.15)}body.cb-svg .ref-tab{border-radius:14px;transition:all .3s ease}body.cb-svg .ref-tab.active{background:var(--accent);color:#fff;box-shadow:0 0 16px rgba(124,182,157,.2)}body.cb-svg .skin-option{border-radius:var(--radius);border:2px solid transparent;transition:all .3s ease}body.cb-svg .skin-option.active{border-color:var(--accent);background:var(--accent-light);box-shadow:0 0 16px rgba(124,182,157,.15)}body.cb-svg .day-btn{border-radius:50%;transition:all .3s ease}body.cb-svg .day-btn.active{background:var(--accent);color:#fff;box-shadow:0 0 14px rgba(124,182,157,.25)}body.cb-svg .lib-tab{border-radius:20px;transition:all .3s ease}body.cb-svg .lib-tab.active{background:var(--accent);color:#fff;box-shadow:0 0 14px rgba(124,182,157,.25)}body.cb-svg .habit-card .checkin-btn{border-radius:50%;transition:all .3s ease}body.cb-svg .habit-card .checkin-btn.pending{background:var(--accent);color:#fff}body.cb-svg .habit-card .checkin-btn.done{background:var(--accent);color:#fff;box-shadow:0 0 14px rgba(124,182,157,.25)}body.cb-svg .bnav-item.active::after{border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 8px rgba(124,182,157,.3)}body.cb-svg .sd-tab.active::after{border-radius:3px;background:var(--accent);box-shadow:0 0 8px rgba(124,182,157,.3)}body.cb-svg .skin-toggle-row{border-radius:var(--radius);transition:all .3s ease}body.cb-svg .skin-toggle-row.active{background:var(--accent-light);box-shadow:0 0 12px rgba(124,182,157,.1)}body.cb-svg .water-cup.next{box-shadow:0 0 0 2px var(--accent),0 0 14px rgba(124,182,157,.25);animation:pulse 2s infinite}.report-card{background:linear-gradient(135deg,var(--accent-light),var(--accent2-light));border-radius:var(--radius);padding:20px;margin-bottom:12px}.report-title{font-size:16px;font-weight:700;margin-bottom:12px;text-align:center}.report-stat{display:flex;justify-content:space-around;text-align:center;margin-bottom:16px}.report-stat-val{font-size:28px;font-weight:700;color:var(--accent)}.report-stat-label{font-size:12px;color:var(--muted)}.report-item{background:rgba(255,255,255,.7);border-radius:10px;padding:12px;margin-bottom:8px;display:flex;align-items:center;gap:10px}.report-item .emoji{font-size:24px}.report-item .text{font-size:13px;flex:1}.clock-current{background:linear-gradient(135deg,var(--accent-light),var(--accent2-light));border-radius:var(--radius);padding:16px;margin-bottom:16px;text-align:center}.clock-current .shi{font-size:28px;font-weight:700;color:var(--ink)}.clock-current .meridian{font-size:14px;color:var(--muted);margin:4px 0}.clock-current .action{font-size:16px;font-weight:600;color:var(--accent);margin:6px 0}.clock-current .detail{font-size:13px;color:var(--muted);font-style:italic}.clock-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.clock-card{background:#fff;border-radius:12px;padding:10px 12px;box-shadow:var(--shadow);transition:all .2s;position:relative;overflow:hidden}.clock-card.active{border:2px solid var(--accent);background:var(--accent-light)}.clock-card .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.clock-card .shi-name{font-size:15px;font-weight:700}.clock-card .shi-time{font-size:11px;color:var(--muted);font-family:var(--font-mono,monospace)}.clock-card .shi-meridian{font-size:12px;color:var(--accent);font-weight:600}.clock-card .shi-action{font-size:12px;color:var(--ink);line-height:1.4;margin-top:2px}.edit-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg2);border-radius:var(--radius);margin:0 16px 12px}.edit-bar .label{font-size:13px;font-weight:600;color:var(--muted)}.edit-bar button{padding:8px 16px;border-radius:14px;font-size:13px;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.08)}.edit-bar .edit-on{background:var(--accent2);color:#fff}.edit-bar .edit-off{background:var(--bg2);color:var(--muted)}.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-100px);background:var(--ink);color:#fff;padding:10px 24px;border-radius:20px;font-size:13px;font-weight:600;z-index:200;transition:transform .3s ease;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}.toast.show{transform:translateX(-50%) translateY(0)}.alarm-flash{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;background:rgba(255,0,0,.15);pointer-events:none;animation:alarmFlash .6s ease 3}@keyframes alarmFlash{0%,100%{opacity:0}50%{opacity:1}}.ios-install-prompt{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0) + 76px);transform:translateX(-50%);width:calc(100% - 32px);max-width:420px;z-index:9997;animation:iosPromptUp .35s cubic-bezier(.22,1,.36,1)}.ios-install-prompt[hidden]{display:none}@keyframes iosPromptUp{from{transform:translateX(-50%) translateY(20px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}.ios-install-card{background:#fff;border-radius:18px;padding:16px 18px 14px;box-shadow:0 10px 40px rgba(0,0,0,.18);border:1px solid rgba(124,182,157,.25)}.ios-install-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ios-install-emoji{font-size:22px}.ios-install-title{font-size:16px;font-weight:700;color:var(--ink,#333);flex:1}.ios-install-close{width:28px;height:28px;border-radius:50%;border:none;background:rgba(0,0,0,.06);color:var(--ink,#666);font-size:14px;cursor:pointer}.ios-install-desc{font-size:13px;color:var(--ink,#555);line-height:1.5;margin:0 0 10px}.ios-install-desc b{color:var(--accent,#7CB69D)}.ios-install-steps{font-size:13px;color:var(--ink,#555);line-height:1.6;margin:0 0 12px;padding-left:20px}.ios-install-steps li{margin-bottom:4px}.ios-share{font-size:16px;color:#007aff}.ios-install-got{width:100%;padding:11px;border:none;border-radius:12px;background:var(--accent,#7CB69D);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.ios-install-got:active{transform:scale(.98)}body.dark .ios-install-card{background:var(--bg2,#2a2a2a);border-color:var(--rule)}body.dark .ios-install-title{color:var(--ink,#eee)}body.dark .ios-install-desc,body.dark .ios-install-steps{color:var(--ink,#ccc)}body.dark .ios-install-close{background:rgba(255,255,255,.1);color:var(--ink,#ccc)}.fab{position:fixed;bottom:90px;right:calc(50% - 220px);width:52px;height:52px;border-radius:50%;background:var(--accent);color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(124,182,157,.4);z-index:50;transition:transform .2s}.fab:active{transform:scale(.9)}@media(max-width:480px){.fab{right:20px}}.export-row{display:flex;gap:10px;margin-top:16px}.export-row .export-btn{flex:1;width:auto}.export-btn{padding:14px;border-radius:14px;background:var(--bg2);font-size:14px;font-weight:600;color:var(--muted)}.export-btn:active{background:var(--rule)}body.platform-apk .pwa-only{display:none!important}.water-tracker{background:#fff;border-radius:var(--radius);padding:16px;margin-bottom:10px;box-shadow:var(--shadow)}.water-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.water-title{font-size:15px;font-weight:700;display:flex;align-items:center;gap:6px}.water-amount{font-size:13px;color:var(--muted)}.water-progress{height:16px;background:var(--bg2);border-radius:8px;overflow:hidden;margin-bottom:8px;position:relative}.water-progress-fill{height:100%;border-radius:8px;transition:width .5s ease;background:var(--accent2)}.water-progress-fill.mid{background:var(--accent-light)}.water-progress-fill.high{background:var(--accent)}.water-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:700;color:var(--ink)}.water-schedule{margin-top:10px}.water-schedule-title{font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:600}.water-schedule-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12px;border-bottom:1px solid var(--bg2)}.water-schedule-item:last-child{border-bottom:none}.water-schedule-time{color:var(--muted);min-width:45px;font-weight:600}.water-schedule-label{flex:1;color:var(--ink)}.water-schedule-amount{color:var(--accent);font-weight:600}.water-schedule-done{color:var(--accent);font-weight:700}.water-records{margin-top:10px}.water-record{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;color:var(--muted)}.water-record-time{min-width:45px}.water-record-amount{color:var(--accent);font-weight:600}.water-quick-btns{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.water-quick-btn{padding:8px 16px;border-radius:14px;font-size:13px;font-weight:600;background:var(--bg2);color:var(--ink);transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.08)}.water-quick-btn:active{background:var(--accent);color:#fff}.water-quick-btn.primary{background:var(--accent);color:#fff}.water-quick-btn.primary:active{background:#6aa88a}.water-qty-group{display:inline-flex;border-radius:10px;overflow:hidden;border:2px solid var(--rule)}.water-qty-btn{padding:6px 14px;font-size:12px;font-weight:600;background:var(--bg1);color:var(--ink);border:none;cursor:pointer;transition:all .15s;border-right:1px solid var(--rule)}.water-qty-btn:last-child{border-right:none}.water-qty-btn:hover{background:var(--bg2)}.water-qty-btn:active{background:var(--accent);color:#fff}.water-qty-btn.primary{background:var(--accent);color:#fff}.water-qty-btn.primary:active{background:#6aa88a}.water-custom-btn{padding:6px 12px;border-radius:10px;font-size:12px;background:var(--bg2);color:var(--muted);border:none;cursor:pointer;transition:all .15s}.water-custom-btn:hover{color:var(--ink)}.water-custom-btn:active{background:var(--bg1)}.season-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:12px;font-weight:600;margin-left:8px}.season-badge.spring{background:#d4edda;color:#155724}.season-badge.summer{background:#f8d7da;color:#721c24}.season-badge.autumn{background:#fff3cd;color:#856404}.season-badge.winter{background:#d1ecf1;color:#0c5460}.season-pack-card{background:#fff;border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:var(--shadow);transition:transform .2s;overflow:hidden}.season-pack-card:active{transform:scale(.98)}.season-pack-card.current{border:2px solid var(--accent)}.season-pack-card.other{opacity:.6;border:2px solid var(--rule)}.season-pack-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;cursor:pointer;user-select:none}.season-pack-header:active{opacity:.8}.season-pack-icon{font-size:28px}.season-pack-title{font-size:15px;font-weight:700}.season-pack-subtitle{font-size:12px;color:var(--muted)}.season-pack-arrow{font-size:12px;color:var(--muted);transition:transform .25s;flex-shrink:0;margin-left:auto}.season-pack-quote{font-size:11px;color:var(--muted);font-style:italic;background:var(--bg2);padding:8px 12px;border-radius:8px;margin-bottom:8px;line-height:1.6}.season-pack-body{overflow:hidden;border-top:1px solid rgba(0,0,0,.06);margin-bottom:8px}.season-pack-habits{padding:8px 0;display:flex;flex-direction:column;gap:6px}.season-pack-habit{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg2);border-radius:10px;font-size:13px;cursor:pointer;transition:all .15s}.season-pack-habit:active{transform:scale(.98)}.season-pack-habit.added{opacity:.5;cursor:default}.season-pack-habit span:nth-child(2){flex:1;font-weight:500}.season-pack-add-btn{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.season-pack-footer{display:flex;justify-content:space-between;align-items:center}.season-pack-count{font-size:12px;color:var(--muted)}.season-pack-btn{padding:6px 16px;border-radius:14px;font-size:12px;font-weight:600;background:var(--accent);color:#fff;cursor:pointer;border:none}.season-pack-btn.added{background:var(--bg2);color:var(--muted)}.neijing-pack{background:linear-gradient(135deg,#fdf6ec,#f7ede2);border-radius:20px;margin:16px 0 12px;box-shadow:var(--shadow-md);overflow:hidden;border:2px solid rgba(193,154,107,.25)}.neijing-pack-master-header{display:flex;align-items:center;padding:16px 18px;cursor:pointer;user-select:none;background:linear-gradient(135deg,rgba(193,154,107,.08),rgba(155,126,72,.06));gap:10px}.neijing-pack-master-header:active{opacity:.8}.neijing-pack-master-icon{font-size:36px;flex-shrink:0}.neijing-pack-master-title{font-size:17px;font-weight:800;color:#5c4a2e}.neijing-pack-master-desc{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.4}.neijing-pack-master-arrow{font-size:14px;color:#5c4a2e;transition:transform .3s;flex-shrink:0;opacity:.6}.neijing-pack-body{border-top:1px solid rgba(193,154,107,.15);padding:8px 0}.neijing-sub-pack{margin:4px 10px 6px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--rule)}.neijing-sub-pack-header{display:flex;align-items:center;padding:12px 14px;cursor:pointer;user-select:none;gap:8px;background:var(--bg2)}.neijing-sub-pack-header:active{opacity:.8}.neijing-sub-arrow{font-size:12px;color:var(--muted);transition:transform .25s;flex-shrink:0}.neijing-sub-body{padding:8px 12px 12px;border-top:1px solid var(--rule)}.wuse-grid{display:flex;flex-direction:column;gap:10px}.wuse-card{padding:14px 16px;background:var(--bg2);border-radius:14px;border-left:4px solid var(--accent)}.wuse-card-icon{font-size:32px;margin-bottom:6px}.wuse-card-title{font-size:14px;font-weight:700;color:var(--ink)}.wuse-card-effect{font-size:11px;color:var(--accent);font-weight:600;margin:2px 0 6px}.wuse-card-foods{font-size:12px;color:var(--ink);line-height:1.5;margin-bottom:4px}.wuse-card-tip{font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px;padding-top:4px;border-top:1px solid var(--rule)}.wuse-card-habits{font-size:11px;margin-top:6px}.emotion-mini-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.emotion-mini-card{background:var(--bg2);border-radius:12px;padding:10px 4px;text-align:center;cursor:pointer;transition:all .15s}.emotion-mini-card:active{transform:scale(.95);background:var(--accent-light)}.emotion-mini-emoji{font-size:28px;margin-bottom:4px}.emotion-mini-name{font-size:12px;font-weight:700;color:var(--ink)}.emotion-mini-relation{font-size:10px;color:var(--muted);margin-top:2px}.wulao-mini-card{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg2);border-radius:12px;margin-bottom:6px}.wulao-mini-icon{font-size:28px;flex-shrink:0}.wulao-mini-info{flex:1;min-width:0}.wulao-mini-name{font-size:13px;font-weight:700;margin-bottom:2px}.wulao-mini-scene{font-size:11px;color:var(--muted);margin-bottom:2px}.wulao-mini-action{font-size:11px;color:var(--accent);font-weight:600;line-height:1.4}body.dark .neijing-pack{background:linear-gradient(135deg,#2a2418,#252018);border-color:rgba(193,154,107,.15)}body.dark .neijing-pack-master-title{color:#d4b87a}body.dark .neijing-pack-master-arrow{color:#d4b87a}body.dark .neijing-pack-body{border-color:rgba(193,154,107,.1)}body.dark .neijing-sub-pack{background:var(--bg2)}body.dark .wuse-card,body.dark .emotion-mini-card,body.dark .wulao-mini-card{background:rgba(255,255,255,.04)}.season-tip{background:var(--bg2);border-radius:var(--radius);padding:14px 16px;margin:0 16px 12px;font-size:13px;line-height:1.6;color:var(--muted);display:flex;gap:8px;align-items:flex-start}.season-tip .tip-icon{font-size:18px;flex-shrink:0}.season-tip .tip-text em{font-style:normal;color:var(--ink);font-weight:600}.pack-market{background:linear-gradient(135deg,var(--card),rgba(255,255,255,.8));border-radius:16px;margin:16px 0 12px;box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--rule)}.pack-market-header{display:flex;align-items:center;padding:16px;cursor:pointer;user-select:none}.pack-market-header:active{opacity:.8}.pack-market-arrow{font-size:12px;color:var(--muted);transition:transform .25s;flex-shrink:0}.pack-market-body{overflow:hidden;border-top:1px solid var(--rule)}.pack-market-category{padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.04)}.pack-market-category:last-of-type{border-bottom:none}.pack-market-category-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.pack-market-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pack-card{background:var(--bg2);border-radius:12px;padding:12px;text-align:center;cursor:pointer;transition:all .15s}.pack-card:active{transform:scale(.97)}.pack-card-icon{font-size:28px;margin-bottom:6px}.pack-card-name{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:4px}.pack-card-desc{font-size:11px;color:var(--muted);margin-bottom:8px;line-height:1.3}.pack-card-count{font-size:10px;color:var(--muted);margin-bottom:8px}.pack-card-btn{padding:5px 12px;border-radius:12px;font-size:11px;font-weight:600;background:var(--accent);color:#fff;border:none;cursor:pointer;width:100%}.pack-card-btn.added{background:var(--rule);color:var(--muted)}.pack-card-btn:active{opacity:.8}.pack-market-export{text-align:center}.pack-export-btn{padding:8px 20px;border-radius:14px;font-size:13px;font-weight:600;background:var(--accent);color:#fff;border:none;cursor:pointer;margin-right:8px}.pack-import-btn{padding:8px 20px;border-radius:14px;font-size:13px;font-weight:600;background:var(--bg2);color:var(--ink);border:2px solid var(--rule);cursor:pointer}.pack-export-btn:active,.pack-import-btn:active{opacity:.8}body.dark .pack-market{background:linear-gradient(135deg,var(--bg2),rgba(255,255,255,.03));border-color:rgba(255,255,255,.08)}body.dark .pack-card{background:rgba(255,255,255,.04)}::-webkit-scrollbar{width:0;height:0}.habit-card.collapsed{max-height:0 !important;overflow:hidden !important;padding-top:0 !important;padding-bottom:0 !important;margin:0 !important;opacity:0 !important;transition:all .5s cubic-bezier(.4,0,.2,1) !important}.water-tracker.collapsed{max-height:0 !important;overflow:hidden !important;padding-top:0 !important;padding-bottom:0 !important;margin:0 !important;opacity:0 !important;transition:all .5s cubic-bezier(.4,0,.2,1) !important}.time-group-label{cursor:pointer;user-select:none}.time-group-label .collapse-count{font-size:11px;color:var(--accent);background:var(--accent-light);padding:2px 8px;border-radius:10px;margin-left:auto;font-weight:600}.time-group-header{display:flex;align-items:center;justify-content:space-between;width:100%}.time-group.collapsed-group .time-group-label{opacity:.6}.time-group.collapsed-group .habit-card:not(.collapsed){margin-top:6px}#aiChatPanel{max-height:100vh;height:100vh;border-radius:0;display:flex;flex-direction:column}#aiChatMessages{flex:1;overflow-y:auto;padding:20px 16px 12px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}.ai-divider{display:flex;align-items:center;gap:12px;margin:8px 0;align-self:center}.ai-divider::before,.ai-divider::after{content:'';flex:1;height:1px;background:var(--rule)}.ai-divider span{font-size:11px;color:var(--muted);white-space:nowrap;padding:2px 10px;background:var(--bg2);border-radius:10px}.ai-msg{display:flex;gap:10px;max-width:88%;animation:msgFadeIn .35s ease-out both}@keyframes msgFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-msg.user{align-self:flex-end;flex-direction:row-reverse}.ai-msg .ai-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;position:relative}.ai-msg.ai .ai-avatar{background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 2px 8px rgba(91,185,138,.3)}.ai-msg.user .ai-avatar{background:var(--accent-light);box-shadow:0 2px 8px rgba(0,0,0,.06)}.ai-msg .ai-bubble{padding:14px 18px;border-radius:20px;font-size:14.5px;line-height:1.7;word-break:break-word;white-space:pre-wrap;position:relative;box-shadow:var(--shadow-sm);transition:all .3s var(--ease)}.ai-msg.ai .ai-bubble{background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);border-radius:8px 20px 20px 20px;color:var(--ink)}.ai-msg.user .ai-bubble{background:linear-gradient(135deg,var(--accent),var(--accent-600));color:#fff;border-radius:20px 8px 20px 20px;box-shadow:0 4px 14px rgba(16,185,129,.3)}.ai-msg.ai .ai-bubble::before{content:'';position:absolute;left:-6px;top:14px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid var(--rule)}.ai-msg.ai .ai-bubble::after{content:'';position:absolute;left:-5px;top:14px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid #fff}.ai-msg.user .ai-bubble::before{content:'';position:absolute;right:-6px;top:14px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid var(--accent)}.ai-msg.user .ai-bubble::after{content:'';position:absolute;right:-5px;top:14px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid var(--accent)}.ai-msg.ai.welcome-msg .ai-bubble{background:linear-gradient(135deg,rgba(16,185,129,.1),rgba(245,158,11,.08));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow-sm);border-radius:24px}.ai-msg.ai.ai-error .ai-bubble{background:#FFF5F5;border-color:#FED7D7;color:#C53030}.ai-bubble.typing::after{content:'|';display:inline-block;margin-left:2px;color:var(--accent);animation:blink .7s infinite;font-weight:300}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}.ai-loading{display:flex;align-items:center;gap:4px;padding:14px 18px;background:#fff;border-radius:18px;border:1px solid var(--rule);border-top-left-radius:6px;width:fit-content;box-shadow:var(--shadow-sm)}.ai-loading span{width:7px;height:7px;background:var(--accent);border-radius:50%;animation:aiTyping 1.4s infinite ease-in-out both;opacity:.4}.ai-loading span:nth-child(1){animation-delay:-.32s}.ai-loading span:nth-child(2){animation-delay:-.16s}.ai-loading span:nth-child(3){animation-delay:0s}@keyframes aiTyping{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}#aiChatInputArea{padding:14px 16px 18px;border-top:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;gap:12px;align-items:flex-end}#aiChatInput{flex:1;padding:14px 20px;border:1.5px solid var(--rule);border-radius:24px;font-size:14.5px;background:rgba(255,255,255,.8);outline:none;transition:all .3s var(--ease);resize:none;min-height:48px;max-height:120px;line-height:1.5}#aiChatInput:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light),0 2px 8px rgba(16,185,129,.1);background:#fff}#aiChatInput::placeholder{color:var(--muted);font-size:13.5px}#aiSendBtn{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-600));color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s var(--ease);box-shadow:0 4px 14px rgba(16,185,129,.35);border:none;cursor:pointer;margin-bottom:2px}#aiSendBtn:hover{transform:scale(1.05);box-shadow:0 4px 16px rgba(91,185,138,.4)}#aiSendBtn:active{transform:scale(.95)}#aiSendBtn:disabled{opacity:.5;cursor:not-allowed;transform:none}.delete-btn{width:40px;height:40px;border-radius:50%;background-color:rgb(20,20,20);border:none;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px rgba(0,0,0,.164);cursor:pointer;transition-duration:.3s;overflow:hidden;position:relative;flex-shrink:0}.delete-btn .svgIcon{width:14px;height:14px;transition-duration:.3s;flex-shrink:0}.delete-btn .svgIcon path{fill:white}.delete-btn:hover{width:140px;border-radius:50px;background-color:rgb(255,69,69)}.delete-btn:hover .svgIcon{width:46px;height:46px;transform:translateY(60%)}.delete-btn::before{position:absolute;top:-20px;content:"Delete";color:white;transition-duration:.3s;font-size:2px;pointer-events:none}.delete-btn:hover::before{font-size:13px;opacity:1;transform:translateY(30px)}#aiClearBtn{position:absolute;top:50%;right:54px;transform:translateY(-50%);z-index:2}#aiClearBtn:hover{transform:translateY(-50%)}#aiChatConfig{padding:24px 20px;text-align:center}#aiChatConfig .config-icon{font-size:48px;margin-bottom:12px}#aiChatConfig .config-title{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:8px}#aiChatConfig .config-desc{font-size:13px;color:var(--muted);line-height:1.6;background:var(--bg2);padding:14px;border-radius:12px;text-align:left;margin-top:12px}#aiChatConfig .config-input{width:100%;padding:12px 14px;border:2px solid var(--rule);border-radius:12px;font-size:14px;background:var(--bg);color:var(--ink);outline:none;transition:border-color .2s;margin-bottom:8px;box-sizing:border-box}#aiChatConfig .config-input:focus{border-color:var(--accent)}.settings-body{padding:8px 0 32px}.settings-group{margin:20px 16px 0}.settings-group:first-child{margin-top:8px}.settings-user-card{display:flex;align-items:center;gap:12px;padding:16px;margin:8px 16px 4px;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);border:1px solid var(--rule);cursor:pointer;transition:all .2s var(--ease)}.settings-user-card:active{background:var(--bg2);transform:scale(.98)}.settings-user-avatar{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--accent-light);border-radius:12px;font-size:22px;flex-shrink:0}.settings-user-info{flex:1;min-width:0}.settings-user-name{font-size:16px;font-weight:700;color:var(--ink);line-height:1.3}.settings-user-meta{font-size:13px;color:var(--muted);margin-top:2px}.settings-group-header{display:flex;align-items:center;gap:10px;margin:0 4px 10px}.settings-group-title{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:.3px;flex-shrink:0}.settings-group-line{flex:1;height:1px;background:var(--rule);min-width:20px}.settings-row-value{font-size:14px;color:var(--muted);flex-shrink:0;margin-left:8px}.settings-footer{text-align:center;padding:24px 16px 8px;font-size:12px;color:var(--muted);letter-spacing:.3px}.settings-card{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}.settings-row{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:12px 16px;border-bottom:1px solid var(--rule);cursor:pointer;transition:background .15s var(--ease)}.settings-row:last-child{border-bottom:none}.settings-row:active{background:var(--bg2)}.settings-row-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.settings-row-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent-light);border-radius:8px;font-size:18px;flex-shrink:0}.settings-row-text{flex:1;min-width:0}.settings-row-title{font-size:15px;font-weight:600;color:var(--ink);line-height:1.3}.settings-row-desc{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4}.settings-row-arrow{color:var(--muted);font-size:20px;font-weight:300;margin-left:8px;flex-shrink:0}.ui-switch{position:relative;display:inline-block;width:48px;height:28px;flex-shrink:0}.ui-switch-input{opacity:0;width:0;height:0;position:absolute}.ui-switch-slider{position:absolute;inset:0;background:var(--rule);border-radius:14px;transition:all .25s var(--ease);cursor:pointer}.ui-switch-slider::before{content:'';position:absolute;width:24px;height:24px;left:2px;top:2px;background:#fff;border-radius:50%;transition:all .25s var(--ease);box-shadow:0 2px 4px rgba(0,0,0,.2)}.ui-switch-input:checked+.ui-switch-slider{background:var(--accent)}.ui-switch-input:checked+.ui-switch-slider::before{transform:translateX(20px)}.segmented-control{display:flex;background:var(--bg2);border-radius:12px;padding:3px;gap:3px;flex-shrink:0}.seg-btn{padding:6px 10px;font-size:12px;font-weight:500;color:var(--muted);background:transparent;border:none;border-radius:10px;cursor:pointer;transition:all .2s var(--ease);white-space:nowrap}.seg-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px rgba(var(--accent-rgb),.35)}.seg-btn:active{transform:scale(.96)}.settings-row-right{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.settings-row-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--accent-light);border-radius:10px;flex-shrink:0;color:var(--accent)}.settings-row-desc{font-size:13px;color:#666;margin-top:2px}.settings-card{background:var(--surface);border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:hidden;margin-bottom:12px}.ui-select{padding:8px 32px 8px 12px;border:1px solid var(--rule);border-radius:10px;background:var(--bg2) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%23475569' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='1,1 5,5 9,1'/></svg>") no-repeat right 12px center;color:var(--ink);font-size:14px;font-family:inherit;-webkit-appearance:none;appearance:none;cursor:pointer;outline:none;transition:border-color .2s;max-width:160px;text-overflow:ellipsis}.ui-select:focus{border-color:var(--accent)}.settings-form{padding:16px}.settings-form-tip{background:var(--accent-light);border-left:3px solid var(--accent);border-radius:8px;padding:10px 12px;margin-bottom:16px;font-size:12px;line-height:1.6;color:var(--ink2)}.settings-form-tip strong{color:var(--accent);font-weight:600}.settings-form-field{margin-bottom:12px}.settings-form-label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px}.required{color:var(--danger);margin-left:2px}.ui-select-input{background:var(--bg2) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%23475569' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='1,1 5,5 9,1'/></svg>") no-repeat right 12px center;-webkit-appearance:none;appearance:none;padding-right:36px}.settings-form-hint{font-size:12px;color:var(--muted);margin:6px 0 16px;line-height:1.5}.settings-form-hint a{color:var(--accent);text-decoration:none;font-weight:500}.settings-form-hint a:hover{text-decoration:underline}.settings-save-btn{width:100%;margin-top:8px}.settings-status{margin-top:10px;font-size:12px;text-align:center;color:var(--muted);min-height:18px}.settings-status.success{color:var(--success)}.settings-status.error{color:var(--danger)}body.dark .ui-switch-slider::before{box-shadow:0 2px 4px rgba(0,0,0,.4)}body.dark .ui-select{background-color:var(--bg);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%2394A3B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='1,1 5,5 9,1'/></svg>")}body.dark .ui-select-input{background-color:var(--bg);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%2394A3B8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='1,1 5,5 9,1'/></svg>")}body.dark .settings-row:active{background:rgba(255,255,255,.05)}.hr-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--rule);cursor:pointer;transition:background .15s}.hr-item:last-child{border-bottom:none}.hr-item:active{background:var(--rule)}.hr-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.hr-icon{font-size:24px;flex-shrink:0}.hr-info{flex:1;min-width:0}.hr-name{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hr-time{font-size:12px;color:var(--muted);margin-top:2px}.hr-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.hr-arrow{font-size:18px;color:var(--muted)}.gm-heatmap-card{background:#fff;border-radius:14px;padding:16px;margin:12px 16px;box-shadow:var(--shadow)}.gm-heatmap-title{font-size:14px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:6px}.gm-heatmap-grid{display:grid;grid-template-columns:repeat(53,1fr);gap:2px}.gm-heatmap-cell{width:100%;aspect-ratio:1;border-radius:2px;background:var(--rule)}.gm-heatmap-cell.l0{background:#ebedf0}.gm-heatmap-cell.l1{background:#c6e48b}.gm-heatmap-cell.l2{background:#7bc96f}.gm-heatmap-cell.l3{background:#239a3b}.gm-heatmap-cell.l4{background:#196127}.gm-heatmap-legend{display:flex;align-items:center;gap:6px;margin-top:8px;justify-content:flex-end;font-size:11px;color:var(--muted)}.gm-heatmap-legend span{width:10px;height:10px;border-radius:2px}.gm-heatmap-labels{display:flex;flex-direction:column;gap:2px;margin-right:4px;font-size:10px;color:var(--muted);line-height:1}.gm-heatmap-row{display:flex;align-items:center}.gm-heatmap-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.gm-heatmap-inner{min-width:320px}.year-heatmap-wrap{margin-top:16px;padding:16px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.year-heatmap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.year-heatmap-title{font-size:14px;font-weight:600;color:var(--ink)}.year-heatmap-subtitle{font-size:12px;color:var(--muted)}.year-heatmap-months{position:relative;height:18px;margin-left:32px;margin-bottom:4px}.year-heatmap-months span{position:absolute;font-size:11px;color:var(--muted);font-weight:500}.year-heatmap-grid{display:flex;gap:3px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.year-heatmap-grid::-webkit-scrollbar{height:6px}.year-heatmap-grid::-webkit-scrollbar-track{background:var(--bg2);border-radius:3px}.year-heatmap-grid::-webkit-scrollbar-thumb{background:var(--rule);border-radius:3px}.year-heatmap-grid::-webkit-scrollbar-thumb:hover{background:var(--muted)}.yh-cell{width:14px;height:14px;border-radius:3px;background:var(--yh-0);flex-shrink:0;transition:all .15s ease;cursor:pointer}.yh-cell:hover{transform:scale(1.2);box-shadow:0 2px 8px rgba(0,0,0,.15)}.yh-cell:active{transform:scale(.95)}.yh-l0{background:var(--yh-0)}.yh-l1{background:var(--yh-1)}.yh-l2{background:var(--yh-2)}.yh-l3{background:var(--yh-3)}.yh-l4{background:var(--yh-4)}.yh-empty{background:transparent;cursor:default}.yh-empty:hover{transform:none;box-shadow:none}.year-heatmap-legend{display:flex;align-items:center;gap:4px;margin-top:12px;justify-content:flex-end;font-size:11px;color:var(--muted)}.year-heatmap-legend .yh-cell{width:12px;height:12px}.year-heatmap-total{display:flex;justify-content:center;margin-top:12px;font-size:13px;color:var(--ink2)}.year-heatmap-total strong{color:var(--accent);font-weight:600}.year-heatmap-tooltip{position:absolute;display:none;pointer-events:none;padding:8px 12px;background:var(--ink);color:#fff;font-size:12px;border-radius:8px;z-index:100;white-space:nowrap;box-shadow:var(--shadow-lg)}.year-heatmap-tooltip.show{display:block}.const-version-list{display:flex;flex-direction:column;gap:12px;margin:0 4px}.const-version-card{display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border:1.5px solid var(--rule);cursor:pointer;transition:all .25s var(--ease);text-align:left}.const-version-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 16px rgba(16,185,129,.15)}.const-version-card:active{transform:scale(.98)}.const-version-emoji{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,var(--accent-light),var(--accent2-light));flex-shrink:0}.const-version-name{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:2px}.const-version-meta{font-size:11px;color:var(--accent);font-weight:600;margin-bottom:3px}.const-version-desc{font-size:12px;color:var(--muted);line-height:1.4}.const-progress{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg2);border-bottom:1px solid var(--rule)}.const-progress-bar{flex:1;height:6px;background:var(--rule);border-radius:3px;overflow:hidden}.const-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:3px;transition:width .3s}.const-progress-text{font-size:12px;color:var(--muted);white-space:nowrap}.const-question{padding:16px}.const-question-text{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:12px;line-height:1.5}.const-options{display:flex;flex-direction:column;gap:8px}.const-option{padding:12px 14px;border:2px solid var(--rule);border-radius:12px;font-size:14px;color:var(--ink);cursor:pointer;transition:all .2s;background:#fff}.const-option:hover{border-color:var(--accent);background:var(--accent-light)}.const-option.selected{border-color:var(--accent);background:var(--accent-light);font-weight:600}.const-result{text-align:center;padding:24px 16px}.const-result-emoji{font-size:48px;margin-bottom:8px}.const-result-name{font-size:20px;font-weight:700;margin-bottom:4px}.const-result-desc{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:16px}.const-result-advice{background:var(--bg2);border-radius:12px;padding:14px;text-align:left;font-size:13px;line-height:1.6;margin-bottom:16px}.const-result-habits{display:flex;flex-direction:column;gap:8px;text-align:left}.const-result-habit{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-radius:10px;box-shadow:var(--shadow)}.const-result-habit .rh-icon{font-size:20px}.const-result-habit .rh-name{flex:1;font-size:14px;font-weight:600}.const-result-habit .rh-btn{font-size:12px;color:var(--accent);font-weight:600;cursor:pointer}.const-btn{width:100%;padding:14px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:15px;font-weight:700;border:none;cursor:pointer;margin-top:12px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.install-prompt-card{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px;flex-wrap:nowrap!important;text-align:left!important;width:100%;box-sizing:border-box}.install-prompt-card>span:first-child{flex-shrink:0;font-size:1.5rem;line-height:1}.install-prompt-card>div{flex:1;min-width:0;overflow:hidden}.install-prompt-card>div>div:first-child{font-weight:700;font-size:.9rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.install-prompt-card>div>div:last-child{font-size:.8rem;color:var(--ink2);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.install-prompt-card button{flex-shrink:0;padding:6px 14px;font-size:.8rem;white-space:nowrap;margin-top:0;width:auto}.const-summary-card{background:var(--surface);border-radius:var(--radius-lg);padding:14px 16px;margin:12px 0;cursor:pointer;transition:all .2s var(--ease);box-shadow:var(--shadow-sm);border:1px solid var(--border);border-left-width:4px}.const-summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.const-summary-card:active{transform:scale(.98)}.csc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.csc-badge{color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700}.csc-date{font-size:11px;color:var(--muted)}.csc-body{display:flex;align-items:flex-start;gap:12px}.csc-emoji-lg{font-size:42px;flex-shrink:0;line-height:1}.csc-content{flex:1;min-width:0}.csc-desc{font-size:13px;color:var(--ink2);line-height:1.5;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.csc-advice{font-size:12px;color:var(--accent);line-height:1.4}.csc-footer{margin-top:10px;padding-top:10px;border-top:1px solid var(--rule);text-align:right}.csc-more{font-size:12px;color:var(--accent);font-weight:600}.const-summary-card.entry-card{background:linear-gradient(135deg,var(--accent-light),rgba(245,158,11,.08));border-color:var(--accent-200);border-left-width:4px}.csc-left{display:flex;align-items:center;gap:12px}.csc-emoji{font-size:28px}.csc-info{flex:1}.csc-title{font-size:14px;font-weight:700;color:var(--ink)}.csc-sub{font-size:12px;color:var(--ink2);margin-top:2px}.csc-arrow{font-size:20px;color:var(--accent);font-weight:700}.report-section{padding:16px;border-bottom:1px solid var(--rule)}.report-section:last-child{border-bottom:none}.report-title{font-size:15px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:6px}.report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.report-card{background:#fff;border-radius:12px;padding:14px;text-align:center;box-shadow:var(--shadow)}.report-card .rc-num{font-size:24px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.report-card .rc-label{font-size:12px;color:var(--muted);margin-top:4px}.report-habit-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--rule)}.report-habit-row:last-child{border-bottom:none}.report-habit-name{font-size:14px;font-weight:600}.report-habit-bar{flex:1;height:6px;background:var(--rule);border-radius:3px;margin:0 10px;overflow:hidden}.report-habit-fill{height:100%;border-radius:3px}.report-habit-pct{font-size:12px;color:var(--muted);white-space:nowrap}.report-advice{background:linear-gradient(135deg,rgba(124,182,157,.1),rgba(244,166,131,.1));border-radius:12px;padding:14px;font-size:13px;line-height:1.7;color:var(--ink)}.report-advice-title{font-weight:700;color:var(--accent);margin-bottom:6px}.report-mood-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;text-align:center}.report-mood-item{padding:10px 4px;background:#fff;border-radius:10px;box-shadow:var(--shadow)}.report-mood-item .rm-emoji{font-size:24px}.report-mood-item .rm-count{font-size:14px;font-weight:700;margin-top:4px}.report-mood-item .rm-label{font-size:11px;color:var(--muted)}.ref-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--accent);font-weight:600;text-decoration:none;margin-top:6px;padding:4px 10px;background:rgba(124,182,157,.1);border-radius:8px;transition:all .2s}.ref-link:active{background:var(--accent);color:#fff}.ref-link svg{width:14px;height:14px}.ref-panel-header{text-align:center;margin-bottom:16px}.ref-panel-header h3{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:4px}.ref-panel-header p{font-size:12px;color:var(--muted)}.ref-tabs{display:flex;gap:8px;margin:12px 0;background:var(--bg2);border-radius:12px;padding:4px}.ref-tab{flex:1;padding:10px;text-align:center;border-radius:14px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;color:var(--muted)}.ref-tab.active{background:var(--accent);color:#fff}.ref-section-title{font-size:13px;font-weight:700;color:var(--muted);margin:16px 0 8px;display:flex;align-items:center;gap:6px}.ref-card{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:12px;margin-bottom:8px;box-shadow:var(--shadow);transition:all .2s;text-decoration:none;color:var(--ink)}.ref-card:active{transform:scale(.98);opacity:.8}.ref-card .ref-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;background:var(--bg2)}.ref-card .ref-icon.ancient{background:var(--bg2)}.ref-card .ref-icon.modern{background:var(--bg2)}.ref-card .ref-info{flex:1;min-width:0}.ref-card .ref-name{font-size:14px;font-weight:700;margin-bottom:2px}.ref-card .ref-author{font-size:11px;color:var(--muted)}.ref-card .ref-arrow{font-size:16px;color:var(--muted);flex-shrink:0}.ref-lib-btn{display:block;width:100%;padding:14px;border-radius:14px;text-align:center;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));margin-top:12px;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.08)}.ref-lib-btn:active{opacity:.8}.emotion-current{background:linear-gradient(135deg,rgba(244,166,131,.15),rgba(124,182,157,.15));border-radius:var(--radius);padding:16px;margin-bottom:16px;text-align:center}.emotion-current .emo{font-size:36px;margin-bottom:8px}.emotion-current .emo-name{font-size:18px;font-weight:700;color:var(--ink)}.emotion-current .emo-organ{font-size:13px;color:var(--muted);margin:4px 0}.emotion-current .emo-quote{font-size:14px;color:var(--accent);font-style:italic;margin-top:8px}.emotion-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}.emotion-btn{background:#fff;border:var(--cb-border);border-color:var(--rule);border-radius:var(--cb-radius);padding:10px 4px;text-align:center;cursor:pointer;transition:all .2s}.emotion-btn.active{border-color:var(--accent);background:var(--accent-light)}.emotion-btn .emo-icon{font-size:28px;display:block;margin-bottom:4px}.emotion-btn .emo-label{font-size:12px;font-weight:600;color:var(--ink)}.emotion-cure{background:var(--bg2);border-radius:12px;padding:14px;margin-top:12px}.emotion-cure .cure-title{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:8px}.emotion-cure .cure-text{font-size:13px;color:var(--ink);line-height:1.6}.wulao-card{background:#fff;border-radius:12px;padding:14px;margin-bottom:10px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:flex-start}.wulao-card .wl-icon{font-size:32px;flex-shrink:0}.wulao-card .wl-info{flex:1}.wulao-card .wl-name{font-size:15px;font-weight:700;margin-bottom:2px}.wulao-card .wl-scene{font-size:12px;color:var(--muted);margin-bottom:4px}.wulao-card .wl-action{font-size:13px;color:var(--accent);font-weight:600;margin-bottom:2px}.wulao-card .wl-tip{font-size:12px;color:var(--ink);line-height:1.5}.manage-helpers{display:none}.sub-pack-card .pack-header:active{background:var(--rule)}.profile-card{display:flex;flex-direction:column;gap:16px;background:linear-gradient(135deg,rgba(16,185,129,.1),rgba(245,158,11,.08));border-radius:20px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm);border:1px solid rgba(16,185,129,.1);position:relative;overflow:hidden}.profile-card::before{content:'';position:absolute;top:-50%;right:-20%;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.08),transparent 70%)}.profile-card-header{display:flex;align-items:center;gap:14px;position:relative;z-index:1}.profile-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;box-shadow:0 4px 12px rgba(16,185,129,.3)}.profile-info{flex:1;min-width:0;position:relative;z-index:1}.profile-name{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:2px;display:flex;align-items:center;gap:8px}.profile-level-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.profile-desc{font-size:12px;color:var(--muted);margin-bottom:8px}.profile-progress{display:flex;align-items:center;gap:8px;margin-bottom:2px}.profile-progress-bar{flex:1;height:8px;background:rgba(0,0,0,.06);border-radius:4px;overflow:hidden}.profile-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:4px;transition:width .8s cubic-bezier(.4,0,.2,1)}.profile-progress-pct{font-size:11px;color:var(--accent);font-weight:700;white-space:nowrap}.profile-next{font-size:11px;color:var(--muted);margin-top:2px}.profile-ai-status{font-size:11px;color:var(--muted);margin-top:4px;font-weight:500}.profile-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:20px}.profile-stat-item{background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:14px 4px;text-align:center;box-shadow:var(--shadow-sm);transition:all .3s var(--ease);border:1px solid rgba(255,255,255,.6)}.profile-stat-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.profile-stat-item:active{transform:scale(.95)}.profile-stat-item.points-item{background:linear-gradient(135deg,rgba(251,191,36,.1),rgba(245,158,11,.05));border-color:rgba(251,191,36,.2)}.ps-val{display:block;font-size:20px;font-weight:700;color:var(--accent);letter-spacing:-.5px}.profile-stat-item.points-item .ps-val{color:var(--accent2)}.ps-label{font-size:10px;color:var(--muted);margin-top:4px;display:block;font-weight:600}.menu-section{margin-bottom:16px}.menu-section-title{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:0 4px;margin-bottom:8px}.menu-item{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius);margin-bottom:8px;box-shadow:var(--shadow-sm);transition:all .3s var(--ease);text-align:left;font-size:14px;font-weight:500;color:var(--ink);border:1px solid rgba(255,255,255,.6)}.menu-item:hover{transform:translateX(4px);box-shadow:var(--shadow-md)}.menu-item:active{transform:scale(.98);background:var(--bg2)}.menu-item-icon{font-size:22px;width:32px;text-align:center;flex-shrink:0}.menu-item-text{flex:1}.menu-item-sub{font-size:11px;color:var(--muted);flex-shrink:0}.menu-item-arrow{font-size:20px;color:var(--muted);flex-shrink:0;transition:all .3s var(--ease);opacity:.5}.menu-item:hover .menu-item-arrow{transform:translateX(4px);opacity:1;color:var(--accent)}.menu-item:active .menu-item-arrow{transform:translateX(2px)}.water-cups-row{display:flex;gap:2px;flex-wrap:wrap;margin:10px 0;justify-content:center}.water-cup-item{display:flex;flex-direction:column;align-items:center;gap:2px}.water-cup-time{font-size:9px;color:var(--muted);font-weight:600;white-space:nowrap}.water-cup-icon{font-size:10px;line-height:1}.water-cup{width:28px;height:36px;border-radius:6px 6px 2px 2px;background:var(--bg2);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;transition:all .2s;cursor:pointer}.water-cup:hover{transform:translateY(-2px);box-shadow:0 2px 8px rgba(91,185,138,.3)}.water-cup:active{transform:scale(.95)}.water-cup.filled{background:var(--accent)}.water-cup.filled::after{content:'';position:absolute;bottom:0;left:0;right:0;height:70%;background:rgba(255,255,255,.3);border-radius:0 0 2px 2px}.water-cup.next{box-shadow:0 0 0 2px var(--accent);animation:pulse 2s infinite}.water-cup-num{font-size:9px;color:var(--muted);font-weight:700;z-index:1}.water-cup.filled .water-cup-num{color:#fff}.water-cup-check{position:absolute;top:2px;font-size:10px;color:#fff;z-index:1}@keyframes pulse{0%,100%{box-shadow:0 0 0 2px var(--accent)}50%{box-shadow:0 0 0 4px rgba(91,185,138,.3)}}.water-quick-row{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.water-smart-tip{font-size:12px;color:var(--accent);background:var(--accent-light);padding:8px 12px;border-radius:10px;margin:8px 0;text-align:center;font-weight:600}.water-week-link{font-size:12px;color:var(--accent);text-align:center;padding:8px;margin-top:4px;cursor:pointer;font-weight:600}.water-week-link:active{opacity:.7}.mg-header{display:flex;align-items:center;gap:12px;padding:0 4px 18px;margin-bottom:4px}.mg-search-wrap{flex:1;position:relative}.mg-search{width:100%;padding:12px 18px;border:1.5px solid var(--rule);border-radius:var(--radius);font-size:14px;background:rgba(255,255,255,.85);outline:none;transition:all .3s var(--ease);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}.mg-search:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light),var(--shadow-sm);background:#fff}.mg-add-btn{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;white-space:nowrap;transition:all .3s var(--ease);flex-shrink:0;box-shadow:0 4px 14px rgba(16,185,129,.3)}.mg-add-btn:hover{transform:scale(1.05) rotate(90deg);box-shadow:0 6px 20px rgba(16,185,129,.4)}.mg-add-btn:active{transform:scale(.92)}.mg-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px;padding:0 4px}.mg-stat-card{flex:1;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:18px 12px;text-align:center;box-shadow:var(--shadow-sm);transition:all .3s var(--ease);border:1px solid rgba(255,255,255,.6)}.mg-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.mg-stat-card:active{transform:scale(.97)}.mg-stat-card.accent{background:linear-gradient(135deg,rgba(124,182,157,.12),rgba(200,137,62,.08));border-color:rgba(124,182,157,.35)}.mg-stat-num{font-size:28px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.mg-stat-label{font-size:11px;color:var(--muted);margin-top:6px;font-weight:600}.mg-weekly-report{margin:8px 4px 20px;padding:16px 18px;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.6)}.mg-weekly-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.mg-weekly-title{font-size:15px;font-weight:700;color:var(--text)}.mg-weekly-rate{font-size:22px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mg-weekly-progress{height:8px;background:var(--rule);border-radius:4px;overflow:hidden;margin-bottom:10px}.mg-weekly-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:4px;transition:width .6s var(--ease)}.mg-weekly-summary{font-size:12px;color:var(--muted);margin-bottom:8px}.mg-weekly-summary strong{color:var(--accent);font-weight:700}.mg-weekly-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);padding:6px 0}.mg-weekly-item .emoji{font-size:15px}.mg-weekly-item.best .text{color:var(--accent)}.mg-weekly-item.worst .text{color:var(--accent2)}.mg-group{background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);margin-bottom:16px;overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s var(--ease);border:1px solid rgba(255,255,255,.6)}.mg-group:hover{box-shadow:var(--shadow-md)}.mg-group-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;cursor:pointer;user-select:none;background:rgba(241,245,249,.6);transition:background .3s var(--ease);border-left:4px solid var(--accent);border-bottom:1px solid rgba(0,0,0,.04)}.mg-group-header:active{background:var(--rule)}.mg-group-left{display:flex;align-items:center;gap:12px}.mg-group-icon{font-size:26px;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-light),var(--accent2-light));flex-shrink:0;box-shadow:0 2px 8px rgba(16,185,129,.15)}.mg-group-name{font-size:15px;font-weight:700;color:var(--ink)}.mg-group-count{font-size:11px;color:var(--accent);background:var(--accent-light);padding:3px 12px;border-radius:10px;font-weight:700}.mg-group-arrow{font-size:16px;color:var(--muted);transition:transform .3s var(--ease)}.mg-group-arrow.expanded{transform:rotate(180deg)}.mg-group-body{display:block;overflow:hidden;max-height:3000px;transition:max-height .4s ease,opacity .3s}.mg-group-body.collapsed{max-height:0;opacity:0}.mg-item{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid rgba(0,0,0,.04);transition:all .2s var(--ease);cursor:pointer}.mg-item:last-child{border-bottom:none}.mg-item:hover{background:rgba(16,185,129,.04)}.mg-item:active{background:var(--bg2)}.mg-item-icon{font-size:28px;width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(245,158,11,.06));flex-shrink:0;box-shadow:0 2px 8px rgba(16,185,129,.1)}.mg-item-info{flex:1;min-width:0}.mg-item-name{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:4px}.mg-item-meta{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mg-item-type{font-size:10px;padding:3px 10px;border-radius:8px;background:var(--bg2);color:var(--ink2);font-weight:600}.mg-item-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.mg-item-toggle{width:56px;height:30px;border-radius:15px;background:var(--rule);position:relative;transition:all .3s var(--ease);flex-shrink:0;cursor:pointer;box-shadow:inset 0 2px 4px rgba(0,0,0,.08)}.mg-item-toggle.on{background:linear-gradient(135deg,var(--accent),var(--accent-600));box-shadow:0 2px 8px rgba(16,185,129,.3)}.mg-item-toggle::after{content:'';position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .3s var(--ease);box-shadow:0 2px 6px rgba(0,0,0,.15)}.mg-item-toggle.on::after{transform:translateX(26px)}.mg-item-toggle-sm{width:44px;height:24px;border-radius:12px;background:var(--rule);position:relative;transition:all .3s var(--ease);flex-shrink:0;cursor:pointer;box-shadow:inset 0 2px 4px rgba(0,0,0,.08)}.mg-item-toggle-sm.on{background:linear-gradient(135deg,var(--accent),var(--accent-600));box-shadow:0 2px 6px rgba(16,185,129,.25)}.mg-item-toggle-sm::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .3s var(--ease);box-shadow:0 1px 4px rgba(0,0,0,.15)}.mg-item-toggle-sm.on::after{transform:translateX(20px)}.mg-empty{text-align:center;padding:48px 20px;color:var(--muted);font-size:14px;line-height:1.8}.mg-empty-icon{font-size:48px;display:block;margin-bottom:12px}.he-form{margin-bottom:16px}.he-label{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.he-input{width:100%;padding:12px 14px;border:2px solid var(--rule);border-radius:12px;font-size:15px;background:#fff;outline:none;transition:border-color .2s;margin-bottom:14px}.he-input:focus{border-color:var(--accent)}.he-row{display:flex;gap:10px;margin-bottom:14px}.he-row-item{flex:1}.he-select{width:100%;padding:12px 14px;border:2px solid var(--rule);border-radius:12px;font-size:14px;background:#fff;outline:none;appearance:none;-webkit-appearance:none}.he-select:focus{border-color:var(--accent)}.he-icon-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:14px;max-height:260px;overflow-y:auto}.he-collapse-arrow{font-size:10px;color:var(--muted);transition:transform .2s;display:inline-block}.he-collapse-arrow.collapsed{transform:rotate(-90deg)}.he-icon-opt{width:100%;aspect-ratio:1;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;border:2px solid transparent;transition:all .15s}.he-icon-opt:hover,.he-icon-opt.selected{border-color:var(--accent);background:var(--accent-light);transform:scale(1.05)}.he-time-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}.he-reminder-section{padding:10px 0;border-bottom:1px solid var(--bg2)}.he-reminder-section:last-child{border-bottom:none}.he-reminder-sec-title{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--ink)}.he-time-input{width:100px;padding:10px 12px;border:2px solid var(--rule);border-radius:10px;font-size:14px;text-align:center;background:#fff;outline:none}.he-time-input:focus{border-color:var(--accent)}.he-switch-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--bg2)}.he-switch-row:last-child{border-bottom:none}.he-switch-label{font-size:14px;font-weight:600;color:var(--ink)}.he-actions{display:flex;gap:10px;margin-top:20px}.he-btn{flex:1;padding:14px;border-radius:14px;font-size:15px;font-weight:700;text-align:center;cursor:pointer;transition:transform .15s;border:none}.he-btn:active{transform:scale(.96)}.he-btn-save{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.he-btn-delete{flex:0 0 auto;padding:0;background-color:rgb(20,20,20)}.daily-cards-entry{background:#fff;border-radius:var(--radius-lg);padding:16px;margin-bottom:16px;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .15s}.daily-cards-entry:active{transform:scale(.98)}.dc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dc-title{font-size:15px;font-weight:700;color:var(--ink)}.dc-count{font-size:12px;color:var(--accent);background:var(--accent-light);padding:2px 10px;border-radius:10px;font-weight:600}.dc-preview{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.dc-preview::-webkit-scrollbar{display:none}.dc-card-mini{min-width:80px;height:100px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:36px;flex-shrink:0;background:linear-gradient(135deg,var(--accent-light),var(--accent2-light));box-shadow:var(--shadow-sm)}.dc-full-card{background:linear-gradient(135deg,#fff,#fef9f0);border-radius:var(--radius-lg);padding:24px;margin-bottom:12px;text-align:center;box-shadow:var(--shadow-md);border:2px solid var(--accent-light);position:relative;overflow:hidden}.dc-full-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--accent))}.dc-full-emoji{font-size:56px;display:block;margin-bottom:12px}.dc-full-date{font-size:12px;color:var(--muted);margin-bottom:8px}.dc-full-title{font-size:18px;font-weight:800;color:var(--accent);margin-bottom:6px}.dc-full-subtitle{font-size:14px;color:var(--ink);line-height:1.6}.dc-full-diary{font-size:13px;color:var(--muted);font-style:italic;line-height:1.8;margin-top:12px;padding-top:12px;border-top:1px dashed var(--rule)}.dc-empty{text-align:center;padding:30px;color:var(--muted);font-size:14px}body.dark{--bg:#0F172A;--bg2:#1E293B;--surface:#1E293B;--surface-variant:#334155;--ink:#F1F5F9;--ink2:#94A3B8;--muted:#64748B;--rule:#334155;--border:#334155;--border-light:#1E293B;--accent-50:#022C22;--accent-100:#064E3B;--accent-200:#065F46;--accent-300:#047857;--accent-400:#059669;--accent-500:#10B981;--accent-600:#34D399;--accent-700:#6EE7B7;--accent-800:#A7F3D0;--accent-900:#D1FAE5;--accent:#34D399;--accent-light:rgba(52,211,153,.15);--accent2-50:#451A03;--accent2-100:#78350F;--accent2-200:#92400E;--accent2-300:#B45309;--accent2-400:#D97706;--accent2-500:#F59E0B;--accent2-600:#FBBF24;--accent2-700:#FCD34D;--accent2-800:#FDE68A;--accent2-900:#FEF3C7;--accent2:#FBBF24;--accent2-light:rgba(251,191,36,.12);--success:#34D399;--success-light:rgba(52,211,153,.15);--warning:#FBBF24;--warning-light:rgba(251,191,36,.12);--danger:#F87171;--danger-light:rgba(248,113,113,.12);--info:#60A5FA;--info-light:rgba(96,165,250,.12);--on-accent:#0F172A;--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 2px 8px rgba(0,0,0,.3);--shadow:0 4px 12px rgba(0,0,0,.4);--shadow-md:0 8px 24px rgba(0,0,0,.5);--shadow-lg:0 16px 48px rgba(0,0,0,.6);--shadow-xl:0 24px 64px rgba(0,0,0,.7);--shadow-float:0 20px 60px rgba(0,0,0,.7);--yh-0:#1E293B;--yh-1:#166534;--yh-2:#15803D;--yh-3:#16A34A;--yh-4:#22C55E}body.dark{background:var(--bg);color:var(--ink)}body.dark .habit-card{background:rgba(30,41,59,.85);border-color:rgba(255,255,255,.06)}body.dark .habit-card:hover{background:rgba(52,211,153,.06)}body.dark .habit-card[data-period="morning"],body.dark .habit-card.morning-period{background:linear-gradient(to right,rgba(251,191,36,.08),rgba(30,41,59,.85))}body.dark .habit-card[data-period="afternoon"],body.dark .habit-card.afternoon-period{background:linear-gradient(to right,rgba(52,211,153,.08),rgba(30,41,59,.85))}body.dark .habit-card[data-period="evening"],body.dark .habit-card.evening-period{background:linear-gradient(to right,rgba(139,92,246,.08),rgba(30,41,59,.85))}body.dark .habit-card[data-period="night"],body.dark .habit-card.night-period{background:linear-gradient(to right,rgba(96,165,250,.08),rgba(30,41,59,.85))}body.dark .habit-card .icon{}body.dark .stat-card{background:rgba(30,41,59,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(255,255,255,.06)}body.dark .mini-header{background:linear-gradient(180deg,rgba(52,211,153,.08) 0%,transparent 100%)}body.dark .mini-quote{background:rgba(30,41,59,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(255,255,255,.06)}body.dark .mini-lunar{background:rgba(255,255,255,.05);backdrop-filter:blur(8px)}body.dark #bottomNav{background:#0f172a;border-top-color:rgba(255,255,255,.06)}body.dark .panel{background:rgba(15,23,42,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}body.dark .lib-item{background:var(--bg2)}body.dark .badge-icon.locked{background:var(--bg2)}body.dark .profile-stat-item{background:rgba(30,41,59,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(255,255,255,.06)}body.dark .menu-item{background:rgba(30,41,59,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(255,255,255,.06)}body.dark .profile-avatar{background:rgba(52,211,153,.1)}body.dark .mg-group{background:rgba(30,41,59,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(255,255,255,.06)}body.dark .mg-group-header{background:rgba(51,65,85,.5);border-bottom-color:rgba(255,255,255,.06)}body.dark .mg-item{background:transparent;border-bottom-color:rgba(255,255,255,.06)}body.dark .mg-item:hover{background:rgba(52,211,153,.06)}body.dark .mg-search{background:rgba(30,41,59,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:var(--rule)}body.dark .mg-stat-card{background:rgba(30,41,59,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(255,255,255,.06)}body.dark .profile-grid-item{background:rgba(30,41,59,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(255,255,255,.06)}body.dark .daily-cards-entry{background:var(--bg2)}body.dark .dc-full-card{background:linear-gradient(135deg,var(--bg2),var(--bg))}body.dark .he-input,body.dark .he-select,body.dark .he-time-input{background:var(--bg);color:var(--ink);border-color:var(--rule)}body.dark .he-icon-opt{background:var(--bg)}body.dark .he-switch-row{border-color:var(--rule)}body.dark .lib-search{background:var(--bg);border-color:var(--rule)}body.dark .lib-card{background:rgba(30,41,59,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(255,255,255,.06)}body.dark .health-pack{background:linear-gradient(135deg,rgba(52,211,153,.1),rgba(251,191,36,.08))}body.dark .health-pack-habit{background:rgba(255,255,255,.04)}body.dark .lib-custom{background:linear-gradient(135deg,rgba(52,211,153,.1),rgba(251,191,36,.08))}body.dark .lib-custom-input input{background:var(--bg);border-color:var(--rule)}body.dark .lib-custom-type button{background:rgba(255,255,255,.05);color:var(--ink2)}body.dark .profile-settings-btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1)}body.dark .water-tracker{background:rgba(30,41,59,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(255,255,255,.06)}body.dark .season-pack-card{background:var(--bg2);border-color:rgba(255,255,255,.05)}body.dark .clock-card{background:var(--bg2);border-color:rgba(255,255,255,.05)}body.dark .pomo-habit-selector select{background:var(--bg);border-color:var(--rule);color:var(--ink)}body.dark .checkin-input-field{background:var(--bg);border-color:var(--rule);color:var(--ink)}body.dark .heatmap-cell{background:var(--bg2)}body.dark .heatmap-cell.empty{background:transparent}body.dark .panel-handle{background:var(--rule)}body.dark .panel-header{border-color:var(--rule)}body.dark .ai-unconfigured-icon{filter:brightness(.8)}body.dark .ai-msg.ai .ai-bubble{background:rgba(30,41,59,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(255,255,255,.06)}body.dark #aiChatInputArea{background:rgba(15,23,42,.92);border-top-color:rgba(255,255,255,.06)}body.dark #aiChatInput{background:rgba(30,41,59,.8);border-color:var(--rule);color:var(--ink)}.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 10px;padding:20px 0;margin-top:10px}.profile-grid-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 4px 12px;border-radius:var(--radius-lg);background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);cursor:pointer;transition:all .3s var(--ease);text-align:center;border:1px solid rgba(255,255,255,.6);font-family:inherit;font-size:inherit;width:100%}.profile-grid-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.profile-grid-item:active{transform:scale(.94)}.pg-icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;background:linear-gradient(135deg,var(--accent-light),var(--accent2-light));box-shadow:0 3px 10px rgba(16,185,129,.15);transition:all .3s var(--ease)}.pg-i-0 .pg-icon{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.pg-i-1 .pg-icon{background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.pg-i-2 .pg-icon{background:linear-gradient(135deg,#fff3e0,#ffe0b2)}.pg-i-3 .pg-icon{background:linear-gradient(135deg,#fce4ec,#f8bbd0)}.pg-i-4 .pg-icon{background:linear-gradient(135deg,#ede7f6,#d1c4e9)}.pg-i-5 .pg-icon{background:linear-gradient(135deg,#e8eaf6,#c5cae9)}.pg-i-6 .pg-icon{background:linear-gradient(135deg,#f1f8e9,#dcedc8)}.pg-i-7 .pg-icon{background:linear-gradient(135deg,#efebe9,#d7ccc8)}.pg-i-8 .pg-icon{background:linear-gradient(135deg,#fff8e1,#ffecb3)}.pg-i-9 .pg-icon{background:linear-gradient(135deg,#f9fbe7,#f0f4c3)}.profile-grid-item:hover .pg-icon{transform:scale(1.1) rotate(-5deg)}.profile-grid-item:active .pg-icon{transform:scale(.9)}.pg-label{font-size:11px;font-weight:600;color:var(--ink);line-height:1.2}.pg-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--accent2);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px}.sd-tabs{display:flex;gap:0;padding:8px 16px;background:var(--bg2);border-bottom:1px solid var(--rule)}.sd-tab{flex:1;padding:8px 0;border:none;background:none;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;transition:color .15s;position:relative;text-align:center}.sd-tab.active{color:var(--accent)}.sd-tab.active::after{content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:24px;height:3px;background:var(--accent);border-radius:2px}.sd-period-content{animation:fadeIn .3s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sd-section{margin-bottom:20px}.sd-section-title{font-size:15px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:6px}.profile-badges-section{margin-top:16px}.profile-badges-mini{padding:14px;background:rgba(255,255,255,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px;border:1px solid rgba(255,255,255,.8);cursor:pointer;transition:all .25s var(--ease);box-shadow:0 2px 10px rgba(16,185,129,.08)}.profile-badges-mini:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(16,185,129,.15)}.profile-badges-mini:active{transform:scale(.99)}.pbm-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.pbm-label{font-size:13px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:5px}.pbm-count{font-size:11px;color:var(--accent);font-weight:600;background:rgba(16,185,129,.1);padding:3px 8px;border-radius:999px}.pbm-list{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;overflow:hidden}.badge-mini{flex-shrink:0;width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--surface),var(--bg2));box-shadow:0 3px 8px rgba(0,0,0,.06);transition:all .25s var(--ease);position:relative}.badge-mini:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(16,185,129,.18)}.badge-mini.more{background:linear-gradient(135deg,rgba(16,185,129,.15),rgba(245,158,11,.1));color:var(--accent);font-size:12px;font-weight:700}.badge-mini-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.badge-mini-icon svg{width:100%;height:100%}.badge-mini-icon.locked{opacity:.35;filter:grayscale(1)}.badge-mini-icon.unlocked{color:var(--accent)}.badge-summary{display:flex;align-items:center;gap:18px;padding:16px;background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(245,158,11,.06));border-radius:20px;margin-bottom:18px}.badge-progress-ring{width:72px;height:72px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--pct,0) * 1%),var(--bg2) 0);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.badge-progress-ring::before{content:'';position:absolute;inset:5px;border-radius:50%;background:var(--surface)}.bpr-inner{position:relative;z-index:1;display:flex;align-items:baseline;gap:1px}.bpr-num{font-size:22px;font-weight:800;color:var(--accent)}.bpr-total{font-size:12px;color:var(--muted);font-weight:600}.badge-progress-info{flex:1}.bpi-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px}.bpi-desc{font-size:12px;color:var(--muted)}.badge-categories{display:flex;flex-direction:column;gap:16px}.badge-category{background:var(--surface);border-radius:18px;padding:14px;border:1px solid var(--border-light)}.badge-category-header{margin-bottom:10px}.badge-category-name{font-size:14px;font-weight:700;color:var(--ink);margin-right:8px}.badge-category-count{font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-light);padding:2px 8px;border-radius:999px}.badge-category-desc{font-size:11px;color:var(--muted);margin-top:3px}.badge-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:12px 8px}body.dark .profile-badges-mini{background:rgba(0,0,0,.3);border-color:rgba(255,255,255,.1)}body.dark .badge-mini{background:var(--bg2)}body.dark .badge-mini.more{background:rgba(16,185,129,.15)}body.dark .pbm-count{background:rgba(16,185,129,.15)}body.dark .badge-category{background:var(--surface);border-color:rgba(255,255,255,.06)}body.dark .badge-progress-ring::before{background:var(--surface)}body.dark .badge-icon.locked{background:var(--bg2)}.skin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:8px 0}.skin-option{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 8px;border-radius:var(--cb-radius);border:var(--cb-border);border-color:transparent;background:var(--bg2);cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:inherit;width:100%}.skin-option:active{transform:scale(.95)}.skin-option.active{border-color:var(--accent);background:var(--accent-light)}.skin-preview{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.1)}.skin-swatch{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.6)}.skin-name{font-size:12px;font-weight:600;color:var(--ink)}.skin-tabs{display:flex;gap:6px;margin-bottom:16px;padding:4px;background:var(--bg2);border-radius:var(--radius);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.skin-tabs::-webkit-scrollbar{display:none}.skin-tab{flex:0 0 auto;padding:8px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--muted);background:transparent;transition:all .2s ease;white-space:nowrap;font-variant-emoji:text;line-height:1.4;cursor:pointer}.skin-tab.active{background:#fff;color:var(--accent);box-shadow:0 1px 4px rgba(0,0,0,.08)}body.rb-segment .skin-tabs{padding:5px;gap:0;background:rgba(0,0,0,.16);border-radius:0}body.rb-segment .skin-tab{flex:1;min-width:55px;height:32px;display:flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:0;font-size:13px;font-weight:900;color:rgba(255,255,255,.7);background:rgba(0,0,0,.16);box-shadow:rgba(0,0,0,.15) 0 2px 1px 0 inset,rgba(255,255,255,.17) 0 1px 1px 0;transition:color .3s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1),box-shadow .3s cubic-bezier(.25,.8,.25,1),transform .3s cubic-bezier(.25,.8,.25,1);transform:translateY(0);font-variant-emoji:text;line-height:1.4}body.rb-segment .skin-tab:hover{background:#2c2c2c;color:#fff;box-shadow:rgba(0,0,0,.23) 0 -4px 1px 0 inset,rgba(255,255,255,.17) 0 -1px 1px 0,rgba(0,0,0,.17) 0 2px 4px 1px;transform:translateY(-2px)}body.rb-segment .skin-tab:first-of-type{border-bottom-left-radius:5px;border-top-left-radius:5px}body.rb-segment .skin-tab:last-of-type{border-bottom-right-radius:5px;border-top-right-radius:5px}body.rb-segment .skin-tab.active{background:#2d6737;color:#fff;box-shadow:rgba(0,0,0,.23) 0 -4px 1px 0 inset,rgba(255,255,255,.17) 0 -1px 1px 0,rgba(0,0,0,.17) 0 2px 4px 1px;transform:translateY(-2px)}body.rb-segment .skin-tab.active:hover{background:#34723f;box-shadow:rgba(0,0,0,.26) 0 -4px 1px 0 inset,rgba(255,255,255,.17) 0 -1px 1px 0,rgba(0,0,0,.15) 0 3px 6px 2px}.skin-toggle-list{display:flex;flex-direction:column;gap:8px;padding:8px 0}.skin-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:var(--rb-radius,var(--radius));background:var(--bg2);transition:all .2s ease;border:2px solid transparent}.skin-toggle-row.active{border-color:var(--accent);background:var(--accent-light);border-radius:var(--rb-radius,var(--radius))}body.rb-segment .skin-toggle-row{border-radius:0;border:none;background:rgba(0,0,0,.16);padding:8px 16px;margin-bottom:0}body.rb-segment .skin-toggle-row.active{background:#2d6737}body.rb-segment .skin-toggle-row .skin-toggle-name{color:rgba(255,255,255,.7);font-weight:900}body.rb-segment .skin-toggle-row.active .skin-toggle-name{color:#fff}.skin-toggle-info{display:flex;align-items:center;gap:12px}.skin-toggle-preview{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.1);flex-shrink:0}.skin-toggle-swatch{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.6)}.skin-toggle-name{font-size:14px;font-weight:600;color:var(--ink);font-variant-emoji:text;line-height:1.4}body.dark .profile-grid-item{background:var(--bg2)}body.dark .profile-grid-item:active{background:var(--rule)}body.dark .pg-icon{background:linear-gradient(135deg,rgba(91,185,138,.2),rgba(255,159,103,.18))}.repeat-day-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;background:var(--bg);color:var(--muted)}.repeat-day-btn.active{background:var(--accent);color:var(--on-accent)}.habit-card .status-ribbon{position:absolute;left:0;top:6px;bottom:6px;width:4px;border-radius:0 2px 2px 0;transition:background .25s ease}.habit-card .status-ribbon.done{background:#4CAF50}.habit-card .status-ribbon.skipped{background:#FF9800}.habit-card .status-ribbon.overdue{background:#E74C3C}.habit-card .status-ribbon.pending{background:var(--rule)}.celebration-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:mhFadeIn .3s ease;pointer-events:auto}.celebration-overlay.fading{animation:mhFadeOut .5s ease forwards}@keyframes mhFadeIn{from{opacity:0}to{opacity:1}}@keyframes mhFadeOut{from{opacity:1}to{opacity:0}}.celebration-overlay .ce-text{font-size:32px;font-weight:800;color:#fff;margin-top:16px;text-shadow:0 2px 8px rgba(0,0,0,.3);animation:mhBounceIn .5s cubic-bezier(.18,.89,.32,1.28)}.celebration-overlay .ce-sub{font-size:15px;color:rgba(255,255,255,.85);margin-top:6px;animation:mhBounceIn .6s cubic-bezier(.18,.89,.32,1.28)}.celebration-overlay .ce-badge{margin-top:12px;padding:6px 18px;border-radius:20px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:14px;font-weight:700;animation:mhBounceIn .7s cubic-bezier(.18,.89,.32,1.28)}.celebration-overlay .ce-close{margin-top:24px;font-size:12px;color:rgba(255,255,255,.5);cursor:pointer;border:none;background:none;padding:8px 16px}@keyframes mhBounceIn{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}.mh-firework{position:absolute;width:6px;height:6px;border-radius:50%;pointer-events:none;animation:mhFireworkPop .8s ease-out forwards}@keyframes mhFireworkPop{0%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}.diet-panel{padding:8px 4px 24px}.diet-tip-card{background:linear-gradient(135deg,var(--accent-light),var(--accent2-light));border-radius:16px;padding:18px;margin-bottom:20px;display:flex;gap:14px;align-items:flex-start;position:relative;overflow:hidden}.diet-tip-card::before{content:'';position:absolute;top:-30px;right:-30px;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.3)}.diet-tip-icon{font-size:32px;flex-shrink:0;position:relative;z-index:1}.diet-tip-content{flex:1;position:relative;z-index:1}.diet-tip-text{font-size:14px;line-height:1.7;font-weight:500;color:var(--ink);margin-bottom:8px}.diet-tip-source{font-size:11px;color:var(--muted);text-align:right}.diet-summary{display:flex;align-items:center;justify-content:space-around;background:var(--bg);border-radius:14px;padding:18px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.diet-summary-item{display:flex;flex-direction:column;align-items:center;gap:6px}.diet-summary-val{font-size:20px;font-weight:800;color:var(--accent)}.diet-summary-label{font-size:11px;color:var(--muted)}.diet-summary-divider{width:1px;height:32px;background:var(--rule)}.diet-section-title{font-size:15px;font-weight:700;color:var(--ink);margin:24px 0 12px;display:flex;align-items:center;gap:6px}.diet-seasonal-card{display:flex;align-items:center;gap:14px;background:var(--bg);border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:var(--shadow-sm);border-left:3px solid var(--accent2)}.diet-seasonal-icon{font-size:28px;flex-shrink:0}.diet-seasonal-text{font-size:13px;line-height:1.6;color:var(--ink2)}.diet-meal-card{background:var(--bg);border-radius:14px;padding:16px;margin-bottom:12px;box-shadow:var(--shadow-sm);border-left:3px solid var(--accent)}.diet-meal-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.diet-meal-icon{font-size:32px}.diet-meal-title{font-size:15px;font-weight:700;color:var(--ink)}.diet-meal-desc{font-size:11px;color:var(--muted);margin-top:2px}.diet-meal-tips{display:flex;flex-direction:column;gap:8px}.diet-meal-tip{font-size:12px;color:var(--ink2);line-height:1.5}.diet-colors-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.diet-color-card{background:var(--bg);border-radius:12px;padding:12px 8px;text-align:center;box-shadow:var(--shadow-sm);transition:all .2s ease}.diet-color-card:active{transform:scale(.95)}.diet-color-icon{font-size:26px;margin-bottom:6px}.diet-color-name{font-size:11px;font-weight:700;color:var(--ink);margin-bottom:6px}.diet-color-foods{font-size:9px;color:var(--muted);line-height:1.4}.diet-habits-list{display:flex;flex-direction:column;gap:10px}.diet-habit-item{display:flex;align-items:center;gap:12px;background:var(--bg);border-radius:12px;padding:12px 14px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.diet-habit-item:active{transform:scale(.98)}.diet-habit-item.done{opacity:.7}.diet-habit-icon{font-size:22px}.diet-habit-name{flex:1;font-size:13px;font-weight:600;color:var(--ink)}.diet-habit-check{font-size:11px;font-weight:700;padding:4px 12px;border-radius:12px;background:var(--accent-light);color:var(--accent);transition:all .2s}.diet-habit-item.done .diet-habit-check{background:var(--accent);color:#fff}.diet-books-list{display:flex;flex-direction:column;gap:8px}.diet-book-item{display:flex;align-items:center;gap:12px;background:var(--bg);border-radius:12px;padding:12px 14px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.diet-book-item:active{transform:scale(.98)}.diet-book-emoji{font-size:28px}.diet-book-info{flex:1}.diet-book-name{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}.diet-book-desc{font-size:11px;color:var(--muted)}.diet-book-arrow{font-size:20px;color:var(--muted)}.diet-view-tabs{display:flex;gap:6px;margin:-6px -4px 10px;padding:6px 4px;border-bottom:1px solid var(--border)}.diet-view-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:12px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .2s;background:transparent}.diet-view-tab.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.diet-view-tab:active{transform:scale(.97)}.diet-record-view{padding:0 4px 20px}.diet-photo-btn-wrap{margin-bottom:12px}.diet-photo-btn{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--bg);color:var(--accent);cursor:pointer;transition:all .2s;border:none;box-shadow:var(--shadow-sm)}.diet-photo-btn:active{transform:scale(.98);background:var(--bg2)}.diet-photo-btn-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent-light);border-radius:12px;flex-shrink:0}.diet-photo-btn-main{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.diet-photo-btn-text{font-size:14px;font-weight:700;color:var(--ink)}.diet-photo-btn-hint{font-size:11px;color:var(--muted);font-weight:400}.diet-photo-btn-arrow{font-size:20px;color:var(--muted);font-weight:300}.diet-analysis-card{background:var(--bg);border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.diet-analysis-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.diet-analysis-score-ring{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--score-color,#7CB69D) calc(var(--score,0)*1%),var(--border) 0);position:relative;flex-shrink:0}.diet-analysis-score-ring::before{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--bg)}.diet-analysis-score{position:relative;z-index:1;font-size:16px;font-weight:800;color:var(--score-color,#7CB69D)}.diet-analysis-info{flex:1}.diet-analysis-title{font-size:14px;font-weight:700;color:var(--ink)}.diet-analysis-summary{font-size:11px;color:var(--muted);margin-top:2px}.diet-analysis-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.diet-analysis-tag{font-size:11px;color:var(--ink2);padding:5px 10px;background:var(--bg2);border-radius:20px;line-height:1.3}.diet-analysis-footer{display:flex;justify-content:flex-end}.diet-analysis-ai-link{padding:6px 12px;border-radius:10px;border:none;background:transparent;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.diet-analysis-ai-link:active{opacity:.7;background:var(--accent-light)}.diet-empty-tip{text-align:center;padding:24px 16px;color:var(--muted);font-size:13px}.diet-tip-advice-card{background:linear-gradient(135deg,var(--accent-light),rgba(124,182,157,.08));border-radius:14px;padding:12px 14px;margin-bottom:12px;border-left:3px solid var(--accent)}.diet-tip-advice-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.diet-tip-advice-icon{font-size:18px}.diet-tip-advice-title{font-size:13px;font-weight:700;color:var(--ink)}.diet-tip-advice-text{font-size:12px;color:var(--ink2);line-height:1.6;padding-left:2px}.diet-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.diet-photo-item{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:1;cursor:pointer;background:var(--bg2)}.diet-photo-img{width:100%;height:100%;object-fit:cover}.diet-photo-overlay{position:absolute;bottom:0;left:0;right:0;padding:8px 6px;background:linear-gradient(transparent,rgba(0,0,0,.6));display:flex;justify-content:space-between;align-items:center}.diet-photo-overlay span{font-size:10px;color:#fff;font-weight:600}.diet-today-card{background:var(--bg);border-radius:16px;padding:14px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.diet-today-header{display:flex;align-items:center;justify-content:center;margin-bottom:12px}.diet-today-title{font-size:14px;font-weight:700;color:var(--ink)}.diet-today-count{font-size:12px;color:var(--muted);font-weight:600;background:var(--bg2);padding:3px 10px;border-radius:10px}.diet-photo-hero{margin-bottom:14px}.diet-photo-hero-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;padding:18px 18px;border-radius:18px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:none;box-shadow:0 6px 20px rgba(124,182,157,.35);text-align:center;position:relative;overflow:hidden}.diet-photo-hero-btn::before{content:'';position:absolute;top:-50%;right:-20%;width:120px;height:120px;background:rgba(255,255,255,.12);border-radius:50%;pointer-events:none}.diet-photo-hero-btn::after{content:'';position:absolute;bottom:-30%;left:10%;width:80px;height:80px;background:rgba(255,255,255,.08);border-radius:50%;pointer-events:none}.diet-photo-hero-btn:active{transform:scale(.97);box-shadow:0 3px 12px rgba(124,182,157,.3)}.diet-photo-hero-icon{font-size:32px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.22);border-radius:16px;flex-shrink:0;backdrop-filter:blur(4px);z-index:1}.diet-photo-hero-text{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:1}.diet-photo-hero-title{font-size:17px;font-weight:800;color:#fff;letter-spacing:.5px}.diet-photo-hero-sub{font-size:12px;color:rgba(255,255,255,.85);font-weight:400}.diet-photo-hero-arrow{font-size:26px;color:rgba(255,255,255,.7);font-weight:300;z-index:1;flex-shrink:0}.diet-tip-advice-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.diet-tip-tag{font-size:11px;color:var(--accent);padding:3px 9px;background:var(--accent-light);border-radius:20px;line-height:1.4;font-weight:500}.diet-term-foods{background:var(--bg);border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:var(--shadow-sm);border-left:3px solid var(--accent2)}.diet-term-foods-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.diet-term-foods-icon{font-size:20px}.diet-term-foods-title{font-size:13px;font-weight:700;color:var(--ink);flex:1}.diet-term-foods-tag{font-size:10px;color:var(--accent);background:var(--accent-light);padding:2px 8px;border-radius:10px;font-weight:600}.diet-term-foods-list{display:flex;flex-wrap:wrap;gap:8px}.diet-term-food-chip{font-size:12px;color:var(--ink2);padding:6px 12px;background:var(--bg2);border-radius:20px;font-weight:500;transition:all .2s}.diet-term-food-chip:active{transform:scale(.95);background:var(--accent-light);color:var(--accent)}.diet-meal-progress{margin-bottom:14px}.diet-meal-progress-bar{display:flex;gap:6px;margin-bottom:10px}.diet-meal-seg{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:12px;background:var(--bg2);transition:all .3s cubic-bezier(.4,0,.2,1)}.diet-meal-seg.done{background:var(--accent-light)}.diet-meal-seg-icon{font-size:18px}.diet-meal-seg-label{font-size:10px;color:var(--muted);font-weight:500}.diet-meal-seg.done .diet-meal-seg-label{color:var(--accent);font-weight:600}.diet-meal-progress-info{display:flex;align-items:center;justify-content:space-between}.diet-meal-progress-text{font-size:12px;color:var(--ink2);font-weight:500}.diet-meal-progress-count{font-size:11px;color:var(--muted)}.dk-collapse-wrap{margin-top:16px;background:var(--bg);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden;position:relative}.dk-collapse-header{display:flex;align-items:center;justify-content:center;padding:14px 16px;cursor:pointer;transition:background .2s}.dk-collapse-header:active{background:var(--bg2)}.dk-collapse-title{font-size:14px;font-weight:700;color:var(--ink)}.dk-collapse-arrow{font-size:20px;color:var(--muted);transition:transform .25s;font-weight:300;position:absolute;right:16px}.dk-collapse-content{padding:0 12px 14px}.dk-collapse-content .dk-section{margin-top:0}.diet-history-list{display:flex;flex-direction:column;gap:8px;padding-top:4px}.diet-history-row{display:flex;gap:10px}.diet-history-timeline{display:flex;flex-direction:column;align-items:center;padding-top:18px;width:20px;flex-shrink:0}.diet-history-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}.diet-history-line{flex:1;width:2px;background:var(--border);margin:4px 0}.diet-history-body{flex:1;padding-bottom:0}.diet-history-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg);border-radius:12px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.diet-history-item:active{transform:scale(.98)}.diet-history-thumb{width:44px;height:44px;border-radius:10px;background-size:cover;background-position:center;flex-shrink:0;background-color:var(--bg2)}.diet-history-info{flex:1}.diet-history-date{font-size:13px;font-weight:700;color:var(--ink)}.diet-history-count{font-size:11px;color:var(--muted);margin-top:2px}.diet-history-arrow{font-size:18px;color:var(--muted);transition:transform .2s}.diet-history-detail{padding:8px 0 0 0}.dk-section{margin-top:20px}.dk-section-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:10px;padding-left:2px}.dk-seasonal-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--bg);border-radius:14px;box-shadow:var(--shadow-sm);margin-bottom:10px}.dk-seasonal-icon{font-size:22px;flex-shrink:0}.dk-seasonal-body{flex:1}.dk-seasonal-name{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:4px}.dk-seasonal-text{font-size:12px;color:var(--ink2);line-height:1.6}.dk-meal-card{padding:10px 14px;background:var(--bg);border-radius:14px;box-shadow:var(--shadow-sm);margin-bottom:10px}.dk-meal-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.dk-meal-icon{font-size:18px}.dk-meal-title{font-size:13px;font-weight:700;color:var(--ink)}.dk-meal-tips{display:flex;flex-wrap:wrap;gap:6px}.dk-meal-tag{font-size:11px;color:var(--ink2);padding:4px 10px;background:var(--bg2);border-radius:20px;line-height:1.3}.dk-colors-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.dk-color-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;background:var(--bg);border-radius:12px;box-shadow:var(--shadow-sm);text-align:center}.dk-color-icon{font-size:20px}.dk-color-name{font-size:10px;font-weight:700;color:var(--ink)}.dk-color-foods{font-size:9px;color:var(--muted);line-height:1.3}.dk-meridian-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--bg);border-radius:14px;box-shadow:var(--shadow-sm);margin-bottom:10px;border-left:3px solid var(--accent2)}.dk-meridian-icon{font-size:22px;flex-shrink:0}.dk-meridian-body{flex:1}.dk-meridian-name{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:4px}.dk-meridian-action{font-size:12px;color:var(--ink2);line-height:1.5}.dk-sport-targets{display:flex;gap:8px;margin-bottom:10px}.dk-sport-target{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;background:var(--bg);border-radius:12px;box-shadow:var(--shadow-sm)}.dk-sport-target-label{font-size:10px;color:var(--muted)}.dk-sport-target-val{font-size:14px;font-weight:700;color:var(--accent)}.dk-prescriptions{display:flex;flex-direction:column;gap:8px}.dk-prescription-card{padding:12px 14px;background:var(--bg);border-radius:14px;box-shadow:var(--shadow-sm)}.dk-prescription-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.dk-prescription-icon{font-size:18px}.dk-prescription-title{font-size:13px;font-weight:700;color:var(--ink)}.dk-prescription-rows{display:flex;gap:12px;margin-bottom:6px}.dk-prescription-rows span{font-size:11px;color:var(--ink2);background:var(--bg2);padding:3px 8px;border-radius:8px}.dk-prescription-tip{font-size:11px;color:var(--muted);line-height:1.5}.diet-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:300;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}.diet-form-panel{background:var(--bg);border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;animation:slideUp .3s ease}.diet-form-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.diet-form-header span{font-size:16px;font-weight:700}.diet-form-close{font-size:20px;padding:4px 8px;border-radius:10px;cursor:pointer;background:none;border:none;color:var(--muted)}.diet-form-close:active{background:var(--bg2)}.diet-form-body{padding:16px 20px 24px}.diet-form-preview{width:100%;height:200px;object-fit:cover;border-radius:14px;margin-bottom:16px}.diet-form-group{margin-bottom:16px}.diet-form-group label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px}.diet-form-group textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--ink);font-size:13px;resize:none;font-family:inherit}.diet-form-group textarea:focus{outline:none;border-color:var(--accent)}.diet-form-save{width:100%;padding:14px;border-radius:14px;border:none;background:var(--accent);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s}.diet-form-save:active{transform:scale(.98);opacity:.9}.diet-meal-options{display:flex;gap:8px;flex-wrap:wrap}.diet-meal-option{flex:1;min-width:64px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:12px;border:2px solid var(--border);background:var(--bg);cursor:pointer;transition:all .2s;font-size:12px;font-weight:600;color:var(--ink)}.diet-meal-option.selected{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.diet-meal-option:active{transform:scale(.95)}.diet-meal-option-icon{font-size:20px}.diet-detail-panel{background:var(--bg);border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;position:relative;animation:slideUp .3s ease}.diet-detail-close{position:absolute;top:12px;right:12px;z-index:10;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.4);color:#fff;border:none;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px)}.diet-detail-close:active{background:rgba(0,0,0,.6)}.diet-detail-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px 20px 0 0}.diet-detail-info{padding:16px 20px 24px}.diet-detail-meal{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px}.diet-detail-desc{font-size:13px;color:var(--ink2);line-height:1.6;padding:12px;background:var(--bg2);border-radius:10px;margin-bottom:16px}.diet-detail-delete{width:100%;padding:12px;border-radius:12px;border:1px solid #ef4444;background:transparent;color:#ef4444;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.diet-detail-delete:active{background:rgba(239,68,68,.1)}.diet-ai-result-panel{background:var(--bg);border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease}.diet-ai-result-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.diet-ai-result-header span{font-size:16px;font-weight:700}.diet-ai-result-header button{font-size:20px;padding:4px 8px;border-radius:10px;cursor:pointer;background:none;border:none;color:var(--muted)}.diet-ai-result-body{padding:16px 20px 24px}.diet-ai-result-body pre{font-family:inherit;font-size:13px;line-height:1.7;color:var(--ink2);white-space:pre-wrap;word-break:break-word;margin:0}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}body.theme-modern{--radius-sm:10px;--radius:16px;--radius-lg:20px;--radius-xl:28px;--shadow-sm:0 2px 8px rgba(15,23,42,.06);--shadow:0 4px 12px rgba(15,23,42,.08);--shadow-md:0 8px 24px rgba(15,23,42,.1);--shadow-lg:0 16px 48px rgba(15,23,42,.12)}body.theme-modern .habit-card{background:rgba(255,255,255,.85);border:1px solid var(--rule,rgba(0,0,0,.04));border-left:3px solid transparent;border-radius:12px;padding:12px 16px;margin-bottom:8px;transition:all .2s var(--ease)}body.theme-modern .habit-card:hover{background:rgba(16,185,129,.04)}body.theme-modern .habit-card:active{background:var(--bg2)}body.theme-modern .habit-card[data-period="morning"],body.theme-modern .habit-card.morning-period{border-left:4px solid #F59E0B;background:linear-gradient(to right,rgba(245,158,11,.06),rgba(255,255,255,.85))}body.theme-modern .habit-card[data-period="afternoon"],body.theme-modern .habit-card.afternoon-period{border-left:4px solid #10B981;background:linear-gradient(to right,rgba(16,185,129,.06),rgba(255,255,255,.85))}body.theme-modern .habit-card[data-period="evening"],body.theme-modern .habit-card.evening-period{border-left:4px solid #6366F1;background:linear-gradient(to right,rgba(99,102,241,.06),rgba(255,255,255,.85))}body.theme-modern .habit-card[data-period="night"],body.theme-modern .habit-card.night-period{border-left:4px solid #8B5CF6;background:linear-gradient(to right,rgba(139,92,246,.06),rgba(255,255,255,.85))}body.theme-modern .habit-card .checkin-btn{padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;transition:all .2s var(--ease);min-width:56px}body.theme-modern .habit-card .checkin-btn.pending{background:linear-gradient(135deg,#10B981,#059669);color:#fff}body.theme-modern .habit-card .checkin-btn.pending:hover{opacity:.9}body.theme-modern .habit-card .checkin-btn.done{background:linear-gradient(135deg,#10B981,#059669);color:#fff;font-size:16px}body.theme-modern .habit-card .checkin-btn:active{transform:scale(.95)}body.theme-modern .habit-card .icon{width:40px;height:40px;border-radius:12px;font-size:22px;background:linear-gradient(135deg,rgba(16,185,129,.15),rgba(16,185,129,.05))}body.theme-modern .mini-quote{background:rgba(255,255,255,.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow-sm);border-radius:var(--radius-xl);padding:18px 20px}body.theme-modern #bottomNav{background:#fff;border-top:1px solid rgba(0,0,0,.06);box-shadow:0 -4px 20px rgba(0,0,0,.06)}body.theme-modern .nav-item.active .nav-icon{background:linear-gradient(135deg,var(--accent),var(--accent-600));color:#fff;box-shadow:0 4px 12px rgba(16,185,129,.3)}body.theme-modern .panel{background:var(--bg);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -8px 32px rgba(0,0,0,.1)}body.theme-modern .panel-header{border-bottom:1px solid rgba(0,0,0,.04);padding:16px 20px}body.theme-modern .stat-card{background:rgba(255,255,255,.8);backdrop-filter:blur(12px);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px;transition:all .3s ease}body.theme-modern .stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}body.theme-modern .mini-header{background:linear-gradient(180deg,rgba(16,185,129,.12) 0%,transparent 100%);border-radius:0 0 var(--radius-xl) var(--radius-xl)}body.theme-modern .profile-stat-item{background:rgba(255,255,255,.8);backdrop-filter:blur(12px);border:none;border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:all .3s ease}body.theme-modern .profile-stat-item:hover{box-shadow:var(--shadow);transform:translateY(-2px)}body.theme-modern .profile-grid-item{background:rgba(255,255,255,.8);backdrop-filter:blur(12px);border:none;border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:all .3s ease}body.theme-modern .profile-grid-item:hover{box-shadow:var(--shadow);transform:translateY(-3px)}body.theme-modern .badge-icon{background:linear-gradient(135deg,var(--accent-light),var(--accent2-light));border:none;box-shadow:0 4px 12px rgba(16,185,129,.15);transition:all .3s ease}body.theme-modern .badge-icon:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 24px rgba(16,185,129,.2)}body.theme-modern .badge-icon.locked{background:rgba(241,245,249,.8);box-shadow:none}body.theme-modern .ring-svg{filter:drop-shadow(0 4px 12px rgba(16,185,129,.2))}body.theme-modern .ai-msg.ai.welcome-msg .ai-bubble{background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(245,158,11,.06));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg)}body.theme-modern .ai-msg.ai .ai-bubble{background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.04);box-shadow:var(--shadow-sm)}body.theme-modern .ai-msg.user .ai-bubble{background:linear-gradient(135deg,var(--accent),var(--accent-600));color:#fff;box-shadow:0 4px 12px rgba(16,185,129,.25)}body.theme-modern #aiChatInputArea{background:rgba(255,255,255,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(0,0,0,.06)}body.theme-modern #aiSendBtn{background:linear-gradient(135deg,var(--accent),var(--accent-600));box-shadow:0 4px 12px rgba(16,185,129,.3);transition:all .3s ease}body.theme-modern #aiSendBtn:hover{transform:scale(1.1);box-shadow:0 6px 20px rgba(16,185,129,.4)}body.theme-modern .mg-group{background:rgba(255,255,255,.8);backdrop-filter:blur(12px);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}body.theme-modern .mg-group-header{background:rgba(241,245,249,.6);border-bottom:1px solid rgba(0,0,0,.04);padding:14px 18px}body.theme-modern .mg-item{background:transparent;border-bottom:1px solid rgba(0,0,0,.04);padding:14px 18px;transition:all .2s ease}body.theme-modern .mg-item:hover{background:rgba(16,185,129,.04)}body.theme-modern .mg-item:last-child{border-bottom:none}body.theme-modern .mg-search{background:rgba(255,255,255,.8);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:all .3s ease}body.theme-modern .mg-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light),var(--shadow-sm)}body.theme-modern .mg-stat-card{background:rgba(255,255,255,.8);backdrop-filter:blur(12px);border:none;border-radius:var(--radius);box-shadow:var(--shadow-sm)}body.theme-modern .he-switch-track{background:linear-gradient(135deg,#CBD5E1,#94A3B8);box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}body.theme-modern .he-switch-track.on{background:linear-gradient(135deg,var(--accent),var(--accent-600))}body.theme-modern .he-switch-thumb{box-shadow:0 2px 8px rgba(0,0,0,.15)}body.theme-modern .const-btn,body.theme-modern .tab,body.theme-modern .health-pack-btn,body.theme-modern .export-btn{background:linear-gradient(135deg,var(--accent),var(--accent-600));box-shadow:0 4px 12px rgba(16,185,129,.25);transition:all .3s ease}body.theme-modern .const-btn:hover,body.theme-modern .tab:hover,body.theme-modern .health-pack-btn:hover,body.theme-modern .export-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(16,185,129,.35)}body.theme-modern .diet-tip-card{background:linear-gradient(135deg,rgba(16,185,129,.1),rgba(245,158,11,.08));backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5)}body.theme-modern .diet-meal-card,body.theme-modern .diet-seasonal-card,body.theme-modern .diet-color-card,body.theme-modern .diet-habit-item,body.theme-modern .diet-book-item,body.theme-modern .diet-analysis-card{background:rgba(255,255,255,.8);backdrop-filter:blur(12px);border:none;box-shadow:var(--shadow-sm)}body.dark.theme-modern{--bg:#0F172A;--bg2:#1E293B;--ink:#F1F5F9;--ink2:#94A3B8;--muted:#64748B;--rule:#334155;--accent:#34D399;--accent-600:#10B981;--accent-700:#059669;--accent2:#FBBF24;--accent-2-600:#F59E0B;--accent-light:rgba(52,211,153,.15);--accent2-light:rgba(251,191,36,.12)}body.dark.theme-modern .habit-card{background:rgba(30,41,59,.8);border-left:4px solid transparent}body.dark.theme-modern .habit-card[data-period="morning"],body.dark.theme-modern .habit-card.morning-period{border-left:4px solid #F59E0B;background:linear-gradient(to right,rgba(245,158,11,.08),rgba(30,41,59,.8))}body.dark.theme-modern .habit-card[data-period="afternoon"],body.dark.theme-modern .habit-card.afternoon-period{border-left:4px solid #34D399;background:linear-gradient(to right,rgba(52,211,153,.08),rgba(30,41,59,.8))}body.dark.theme-modern .habit-card[data-period="evening"],body.dark.theme-modern .habit-card.evening-period{border-left:4px solid #818CF8;background:linear-gradient(to right,rgba(129,140,248,.08),rgba(30,41,59,.8))}body.dark.theme-modern .habit-card[data-period="night"],body.dark.theme-modern .habit-card.night-period{border-left:4px solid #A78BFA;background:linear-gradient(to right,rgba(167,139,250,.08),rgba(30,41,59,.8))}body.dark.theme-modern #bottomNav{background:rgba(15,23,42,.9);border-top-color:rgba(255,255,255,.06)}body.dark.theme-modern .mini-quote,body.dark.theme-modern .stat-card,body.dark.theme-modern .profile-stat-item,body.dark.theme-modern .profile-grid-item,body.dark.theme-modern .mg-group,body.dark.theme-modern .mg-stat-card{background:rgba(30,41,59,.8)}body.dark.theme-modern .ai-message-bubble{background:rgba(30,41,59,.9);border-color:rgba(255,255,255,.06)}body.dark.theme-modern .mg-search{background:rgba(30,41,59,.8);border-color:rgba(255,255,255,.08)}body.dark.theme-modern .diet-tip-card,body.dark.theme-modern .diet-meal-card,body.dark.theme-modern .diet-seasonal-card,body.dark.theme-modern .diet-color-card,body.dark.theme-modern .diet-habit-item,body.dark.theme-modern .diet-book-item,body.dark.theme-modern .diet-analysis-card{background:rgba(30,41,59,.8)}body.btn-glass .const-btn,body.btn-glass .tab,body.btn-glass .health-pack-btn,body.btn-glass .profile-grid-item,body.btn-glass .mg-add-btn,body.btn-glass .settings-btn,body.btn-glass .checkin-input-actions button,body.btn-glass .mini-quote-refresh,body.btn-glass .mini-quote-ref,body.btn-glass .skin-tab,body.btn-glass .export-btn,body.btn-glass .day-btn,body.btn-glass .panel-close,body.btn-glass .bnav-item,body.btn-glass .bnav-center,body.btn-glass .fab,body.btn-glass .lib-tab,body.btn-glass .lib-custom-input button,body.btn-glass .lib-custom-type button,body.btn-glass .lib-custom-reminder-add,body.btn-glass .lib-custom-freq .weekdays button,body.btn-glass .lib-item .add-btn,body.btn-glass .health-pack-add-btn,body.btn-glass .season-pack-btn,body.btn-glass .season-pack-add-btn,body.btn-glass .water-quick-btn,body.btn-glass .water-qty-btn,body.btn-glass .water-custom-btn,body.btn-glass .heatmap-nav button,body.btn-glass .edit-bar button,body.btn-glass .emotion-btn,body.btn-glass .ref-tab,body.btn-glass .ref-lib-btn,body.btn-glass .sd-tab,body.btn-glass .he-btn,body.btn-glass .he-btn-save,body.btn-glass .skin-option,body.btn-glass .rh-btn,body.btn-glass .habit-card .checkin-btn,body.btn-glass .reminder-option{background:rgba(255,255,255,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);box-shadow:0 4px 16px rgba(0,0,0,.06)}body.btn-glass .const-btn:hover,body.btn-glass .tab:hover,body.btn-glass .health-pack-btn:hover,body.btn-glass .profile-grid-item:hover,body.btn-glass .mg-add-btn:hover,body.btn-glass .settings-btn:hover,body.btn-glass .checkin-input-actions button:hover,body.btn-glass .mini-quote-refresh:hover,body.btn-glass .mini-quote-ref:hover,body.btn-glass .skin-tab:hover,body.btn-glass .export-btn:hover,body.btn-glass .day-btn:hover,body.btn-glass .panel-close:hover,body.btn-glass .bnav-item:hover,body.btn-glass .bnav-center:hover,body.btn-glass .fab:hover,body.btn-glass .lib-tab:hover,body.btn-glass .lib-custom-input button:hover,body.btn-glass .lib-custom-type button:hover,body.btn-glass .lib-custom-reminder-add:hover,body.btn-glass .lib-custom-freq .weekdays button:hover,body.btn-glass .lib-item .add-btn:hover,body.btn-glass .health-pack-add-btn:hover,body.btn-glass .season-pack-btn:hover,body.btn-glass .season-pack-add-btn:hover,body.btn-glass .water-quick-btn:hover,body.btn-glass .water-qty-btn:hover,body.btn-glass .water-custom-btn:hover,body.btn-glass .heatmap-nav button:hover,body.btn-glass .edit-bar button:hover,body.btn-glass .emotion-btn:hover,body.btn-glass .ref-tab:hover,body.btn-glass .ref-lib-btn:hover,body.btn-glass .sd-tab:hover,body.btn-glass .he-btn:hover,body.btn-glass .he-btn-save:hover,body.btn-glass .skin-option:hover,body.btn-glass .rh-btn:hover,body.btn-glass .habit-card .checkin-btn:hover,body.btn-glass .reminder-option:hover{background:rgba(255,255,255,.85);transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.08)}body.dark.btn-glass .const-btn,body.dark.btn-glass .tab,body.dark.btn-glass .health-pack-btn,body.dark.btn-glass .profile-grid-item,body.dark.btn-glass .mg-add-btn,body.dark.btn-glass .settings-btn,body.dark.btn-glass .checkin-input-actions button,body.dark.btn-glass .mini-quote-refresh,body.dark.btn-glass .mini-quote-ref,body.dark.btn-glass .skin-tab,body.dark.btn-glass .export-btn,body.dark.btn-glass .day-btn,body.dark.btn-glass .panel-close,body.dark.btn-glass .bnav-item,body.dark.btn-glass .bnav-center,body.dark.btn-glass .fab,body.dark.btn-glass .lib-tab,body.dark.btn-glass .lib-custom-input button,body.dark.btn-glass .lib-custom-type button,body.dark.btn-glass .lib-custom-reminder-add,body.dark.btn-glass .lib-custom-freq .weekdays button,body.dark.btn-glass .lib-item .add-btn,body.dark.btn-glass .health-pack-add-btn,body.dark.btn-glass .season-pack-btn,body.dark.btn-glass .season-pack-add-btn,body.dark.btn-glass .water-quick-btn,body.dark.btn-glass .water-qty-btn,body.dark.btn-glass .water-custom-btn,body.dark.btn-glass .heatmap-nav button,body.dark.btn-glass .edit-bar button,body.dark.btn-glass .emotion-btn,body.dark.btn-glass .ref-tab,body.dark.btn-glass .ref-lib-btn,body.dark.btn-glass .sd-tab,body.dark.btn-glass .he-btn,body.dark.btn-glass .he-btn-save,body.dark.btn-glass .skin-option,body.dark.btn-glass .rh-btn,body.dark.btn-glass .habit-card .checkin-btn,body.dark.btn-glass .reminder-option{background:rgba(30,41,59,.7);border-color:rgba(255,255,255,.08)}body.btn-gradient .const-btn,body.btn-gradient .tab,body.btn-gradient .health-pack-btn,body.btn-gradient .profile-grid-item,body.btn-gradient .mg-add-btn,body.btn-gradient .settings-btn,body.btn-gradient .checkin-input-actions button,body.btn-gradient .mini-quote-refresh,body.btn-gradient .mini-quote-ref,body.btn-gradient .skin-tab,body.btn-gradient .export-btn,body.btn-gradient .day-btn,body.btn-gradient .panel-close,body.btn-gradient .bnav-item,body.btn-gradient .bnav-center,body.btn-gradient .fab,body.btn-gradient .lib-tab,body.btn-gradient .lib-custom-input button,body.btn-gradient .lib-custom-type button,body.btn-gradient .lib-custom-reminder-add,body.btn-gradient .lib-custom-freq .weekdays button,body.btn-gradient .lib-item .add-btn,body.btn-gradient .health-pack-add-btn,body.btn-gradient .season-pack-btn,body.btn-gradient .season-pack-add-btn,body.btn-gradient .water-quick-btn,body.btn-gradient .water-qty-btn,body.btn-gradient .water-custom-btn,body.btn-gradient .heatmap-nav button,body.btn-gradient .edit-bar button,body.btn-gradient .emotion-btn,body.btn-gradient .ref-tab,body.btn-gradient .ref-lib-btn,body.btn-gradient .sd-tab,body.btn-gradient .he-btn,body.btn-gradient .he-btn-save,body.btn-gradient .skin-option,body.btn-gradient .rh-btn,body.btn-gradient .habit-card .checkin-btn,body.btn-gradient .reminder-option{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 4px 16px rgba(16,185,129,.25);position:relative;overflow:hidden}body.btn-gradient .const-btn::before,body.btn-gradient .tab::before,body.btn-gradient .health-pack-btn::before,body.btn-gradient .profile-grid-item::before,body.btn-gradient .mg-add-btn::before,body.btn-gradient .settings-btn::before,body.btn-gradient .checkin-input-actions button::before,body.btn-gradient .mini-quote-refresh::before,body.btn-gradient .mini-quote-ref::before,body.btn-gradient .skin-tab::before,body.btn-gradient .export-btn::before,body.btn-gradient .day-btn::before,body.btn-gradient .panel-close::before,body.btn-gradient .bnav-item::before,body.btn-gradient .bnav-center::before,body.btn-gradient .fab::before,body.btn-gradient .lib-tab::before,body.btn-gradient .lib-custom-input button::before,body.btn-gradient .lib-custom-type button::before,body.btn-gradient .lib-custom-reminder-add::before,body.btn-gradient .lib-custom-freq .weekdays button::before,body.btn-gradient .lib-item .add-btn::before,body.btn-gradient .health-pack-add-btn::before,body.btn-gradient .season-pack-btn::before,body.btn-gradient .season-pack-add-btn::before,body.btn-gradient .water-quick-btn::before,body.btn-gradient .water-qty-btn::before,body.btn-gradient .water-custom-btn::before,body.btn-gradient .heatmap-nav button::before,body.btn-gradient .edit-bar button::before,body.btn-gradient .emotion-btn::before,body.btn-gradient .ref-tab::before,body.btn-gradient .ref-lib-btn::before,body.btn-gradient .sd-tab::before,body.btn-gradient .he-btn::before,body.btn-gradient .he-btn-save::before,body.btn-gradient .skin-option::before,body.btn-gradient .rh-btn::before,body.btn-gradient .habit-card .checkin-btn::before,body.btn-gradient .reminder-option::before{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(to bottom,rgba(255,255,255,.2),transparent);pointer-events:none}body.btn-gradient .skin-tab{background:transparent;color:var(--muted);box-shadow:none}body.btn-gradient .skin-tab.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 2px 8px rgba(16,185,129,.3)}body.btn-gradient .bnav-item{background:transparent;color:var(--muted);box-shadow:none}body.btn-gradient .bnav-item.active{color:var(--accent);background:transparent;box-shadow:none}body.btn-3d .const-btn,body.btn-3d .tab,body.btn-3d .health-pack-btn,body.btn-3d .profile-grid-item,body.btn-3d .mg-add-btn,body.btn-3d .settings-btn,body.btn-3d .checkin-input-actions button,body.btn-3d .mini-quote-refresh,body.btn-3d .mini-quote-ref,body.btn-3d .skin-tab,body.btn-3d .export-btn,body.btn-3d .day-btn,body.btn-3d .panel-close,body.btn-3d .bnav-item,body.btn-3d .bnav-center,body.btn-3d .fab,body.btn-3d .lib-tab,body.btn-3d .lib-custom-input button,body.btn-3d .lib-custom-type button,body.btn-3d .lib-custom-reminder-add,body.btn-3d .lib-custom-freq .weekdays button,body.btn-3d .lib-item .add-btn,body.btn-3d .health-pack-add-btn,body.btn-3d .season-pack-btn,body.btn-3d .season-pack-add-btn,body.btn-3d .water-quick-btn,body.btn-3d .water-qty-btn,body.btn-3d .water-custom-btn,body.btn-3d .heatmap-nav button,body.btn-3d .edit-bar button,body.btn-3d .emotion-btn,body.btn-3d .ref-tab,body.btn-3d .ref-lib-btn,body.btn-3d .sd-tab,body.btn-3d .he-btn,body.btn-3d .he-btn-save,body.btn-3d .skin-option,body.btn-3d .rh-btn,body.btn-3d .habit-card .checkin-btn,body.btn-3d .reminder-option{transform:translateY(0);box-shadow:0 4px 0 var(--accent-700,#047857),0 6px 12px rgba(0,0,0,.15);transition:all .1s ease}body.btn-3d .const-btn:active,body.btn-3d .tab:active,body.btn-3d .health-pack-btn:active,body.btn-3d .profile-grid-item:active,body.btn-3d .mg-add-btn:active,body.btn-3d .settings-btn:active,body.btn-3d .checkin-input-actions button:active,body.btn-3d .mini-quote-refresh:active,body.btn-3d .mini-quote-ref:active,body.btn-3d .skin-tab:active,body.btn-3d .export-btn:active,body.btn-3d .day-btn:active,body.btn-3d .panel-close:active,body.btn-3d .bnav-item:active,body.btn-3d .bnav-center:active,body.btn-3d .fab:active,body.btn-3d .lib-tab:active,body.btn-3d .lib-custom-input button:active,body.btn-3d .lib-custom-type button:active,body.btn-3d .lib-custom-reminder-add:active,body.btn-3d .lib-custom-freq .weekdays button:active,body.btn-3d .lib-item .add-btn:active,body.btn-3d .health-pack-add-btn:active,body.btn-3d .season-pack-btn:active,body.btn-3d .season-pack-add-btn:active,body.btn-3d .water-quick-btn:active,body.btn-3d .water-qty-btn:active,body.btn-3d .water-custom-btn:active,body.btn-3d .heatmap-nav button:active,body.btn-3d .edit-bar button:active,body.btn-3d .emotion-btn:active,body.btn-3d .ref-tab:active,body.btn-3d .ref-lib-btn:active,body.btn-3d .sd-tab:active,body.btn-3d .he-btn:active,body.btn-3d .he-btn-save:active,body.btn-3d .skin-option:active,body.btn-3d .rh-btn:active,body.btn-3d .habit-card .checkin-btn:active,body.btn-3d .reminder-option:active{transform:translateY(4px);box-shadow:0 0 0 var(--accent-700,#047857),0 2px 6px rgba(0,0,0,.1)}body.btn-3d .skin-tab{box-shadow:none}body.btn-3d .skin-tab.active{box-shadow:0 3px 0 var(--accent-700,#047857)}body.cb-round .theme-toggle,body.cb-round .theme-toggle .theme-slider{width:24px;height:24px}body.cb-round .theme-toggle .theme-slider{border-radius:50%;background:transparent;border:2px solid var(--rule)}body.cb-round .theme-toggle .theme-checkbox:checked~.theme-slider{background:var(--accent);border-color:var(--accent)}body.cb-round .theme-toggle .theme-slider::before{top:4px;left:4px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:none;opacity:0;transform:scale(0)}body.cb-round .theme-toggle .theme-checkbox:checked~.theme-slider::before{opacity:1;transform:scale(1);box-shadow:none}body.cb-fill-unfill .habit-check{border:2px solid var(--rule);border-radius:6px;background:rgba(207,205,205,.425);position:relative;overflow:hidden}body.cb-fill-unfill .habit-check::before{content:'';position:absolute;inset:0;border:2px solid var(--accent);opacity:0;transition:opacity .3s var(--ease);border-radius:inherit;pointer-events:none}body.cb-fill-unfill .habit-check:hover::before{opacity:.3}body.cb-fill-unfill .habit-check.checked{border-color:var(--accent);background:var(--accent);animation:fillUnfill .6s ease-in}body.cb-fill-unfill .habit-check.checked::after{color:#fff}@keyframes fillUnfill{0%{transform:scale(1)}40%{transform:scale(.85)}100%{transform:scale(1)}}body.tg-daynight .theme-toggle{width:60px;height:30px}body.tg-daynight .theme-toggle .theme-slider{border-radius:15px;background:linear-gradient(180deg,#1a1a2e,#16213e);border:2px solid #0f3460;transition:all .4s ease;overflow:hidden}body.tg-daynight .theme-toggle .theme-checkbox:checked~.theme-slider{background:linear-gradient(180deg,#87ceeb,#f0e68c);border-color:#4a90d9}body.tg-daynight .theme-toggle .theme-slider::before{top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fffacd,#ffd700);box-shadow:0 0 10px rgba(255,215,0,.5);transition:all .4s cubic-bezier(.68,-.55,.265,1.55)}body.tg-daynight .theme-toggle .theme-checkbox:checked~.theme-slider::before{transform:translateX(30px);background:radial-gradient(circle at 30% 30%,#f5f5f5,#e0e0e0);box-shadow:0 0 8px rgba(255,255,255,.3)}body.tg-daynight .toggle-switch{width:60px;height:30px;border-radius:15px;background:linear-gradient(180deg,#1a1a2e,#16213e);border:2px solid #0f3460;overflow:hidden}body.tg-daynight .toggle-switch.on{background:linear-gradient(180deg,#87ceeb,#f0e68c);border-color:#4a90d9}body.tg-daynight .toggle-switch::after{top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fffacd,#ffd700);box-shadow:0 0 10px rgba(255,215,0,.5);transition:all .4s cubic-bezier(.68,-.55,.265,1.55)}body.tg-daynight .toggle-switch.on::after{transform:translateX(30px);background:radial-gradient(circle at 30% 30%,#f5f5f5,#e0e0e0);box-shadow:0 0 8px rgba(255,255,255,.3)}body.tg-daynight .ui-switch__slider{background:linear-gradient(180deg,#1a1a2e,#16213e);border:2px solid #0f3460;width:60px;height:30px;border-radius:15px;overflow:hidden}body.tg-daynight .ui-switch__input:checked + .ui-switch__slider{background:linear-gradient(180deg,#87ceeb,#f0e68c);border-color:#4a90d9}body.tg-daynight .ui-switch__slider::before{top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fffacd,#ffd700);box-shadow:0 0 10px rgba(255,215,0,.5);transition:all .4s cubic-bezier(.68,-.55,.265,1.55)}body.tg-daynight .ui-switch__input:checked + .ui-switch__slider::before{left:32px;background:radial-gradient(circle at 30% 30%,#f5f5f5,#e0e0e0);box-shadow:0 0 8px rgba(255,255,255,.3)}body.tg-neon .theme-toggle{width:56px;height:28px}body.tg-neon .theme-toggle .theme-slider{border-radius:14px;background:#1a1a2e;border:2px solid #2d2d44;transition:all .3s ease}body.tg-neon .theme-toggle .theme-checkbox:checked~.theme-slider{background:transparent;border-color:var(--accent);box-shadow:0 0 10px var(--accent),inset 0 0 10px rgba(16,185,129,.2)}body.tg-neon .theme-toggle .theme-slider::before{top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#555;box-shadow:none;transition:all .3s ease}body.tg-neon .theme-toggle .theme-checkbox:checked~.theme-slider::before{transform:translateX(28px);background:var(--accent);box-shadow:0 0 8px var(--accent),0 0 16px var(--accent)}body.tg-neon .toggle-switch{width:56px;height:28px;border-radius:14px;background:#1a1a2e;border:2px solid #2d2d44}body.tg-neon .toggle-switch.on{background:transparent;border-color:var(--accent);box-shadow:0 0 10px var(--accent),inset 0 0 10px rgba(16,185,129,.2)}body.tg-neon .toggle-switch::after{top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#555;box-shadow:none;transition:all .3s ease}body.tg-neon .toggle-switch.on::after{transform:translateX(28px);background:var(--accent);box-shadow:0 0 8px var(--accent),0 0 16px var(--accent)}body.tg-neon .ui-switch__slider{width:56px;height:28px;border-radius:14px;background:#1a1a2e;border:2px solid #2d2d44}body.tg-neon .ui-switch__slider::before{top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#555;box-shadow:none}body.tg-neon .ui-switch__input:checked + .ui-switch__slider{background:transparent;border-color:var(--accent);box-shadow:0 0 10px var(--accent),inset 0 0 10px rgba(16,185,129,.2)}body.tg-neon .ui-switch__input:checked + .ui-switch__slider::before{left:30px;background:var(--accent);box-shadow:0 0 8px var(--accent),0 0 16px var(--accent)}body.tg-svg-animated .theme-toggle{width:56px;height:30px;border-radius:15px;background:var(--rule);overflow:hidden;position:relative}body.tg-svg-animated .theme-toggle .theme-slider{background:transparent;border:none}body.tg-svg-animated .theme-toggle .theme-slider::before{display:none}body.tg-svg-animated .theme-toggle .theme-slider::after{content:'';position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.15);transition:all .4s cubic-bezier(.68,-.55,.265,1.55)}body.tg-svg-animated .theme-toggle .theme-checkbox:checked~.theme-slider::after{left:29px;box-shadow:0 2px 12px rgba(16,185,129,.3)}body.tg-svg-animated .toggle-switch,body.tg-svg-animated .mg-item-toggle{width:56px;height:30px;border-radius:15px;background:var(--rule);overflow:hidden}body.tg-svg-animated .toggle-switch::after,body.tg-svg-animated .mg-item-toggle::after{top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.15);transition:all .4s cubic-bezier(.68,-.55,.265,1.55)}body.tg-svg-animated .toggle-switch.on,body.tg-svg-animated .mg-item-toggle.on{background:linear-gradient(135deg,var(--accent),var(--accent2))}body.tg-svg-animated .toggle-switch.on::after,body.tg-svg-animated .mg-item-toggle.on::after{left:29px;box-shadow:0 2px 12px rgba(16,185,129,.3)}body.tg-neumorphism .theme-toggle{width:56px;height:28px;border-radius:14px;background:#e0e5ec;border:none;box-shadow:6px 6px 12px #b8bec7,-6px -6px 12px #fff;transition:all .3s var(--ease)}body.tg-neumorphism .theme-toggle .theme-slider{background:transparent;border:none}body.tg-neumorphism .theme-toggle .theme-slider::before{display:none}body.tg-neumorphism .theme-toggle .theme-slider::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#e0e5ec;box-shadow:inset 3px 3px 6px #b8bec7,inset -3px -3px 6px #fff;transition:all .3s var(--ease)}body.tg-neumorphism .theme-toggle .theme-checkbox:checked~.theme-slider{box-shadow:inset 4px 4px 8px #b8bec7,inset -4px -4px 8px #fff}body.tg-neumorphism .theme-toggle .theme-checkbox:checked~.theme-slider::after{left:27px;background:var(--accent);box-shadow:0 0 8px rgba(16,185,129,.4),inset 0 0 0 transparent}body.tg-neumorphism .toggle-switch,body.tg-neumorphism .mg-item-toggle{width:56px;height:28px;border-radius:14px;background:#e0e5ec;border:none;box-shadow:6px 6px 12px #b8bec7,-6px -6px 12px #fff;transition:all .3s var(--ease)}body.tg-neumorphism .toggle-switch::after,body.tg-neumorphism .mg-item-toggle::after{top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#e0e5ec;box-shadow:inset 3px 3px 6px #b8bec7,inset -3px -3px 6px #fff;transition:all .3s var(--ease)}body.tg-neumorphism .toggle-switch.on,body.tg-neumorphism .mg-item-toggle.on{box-shadow:inset 4px 4px 8px #b8bec7,inset -4px -4px 8px #fff}body.tg-neumorphism .toggle-switch.on::after,body.tg-neumorphism .mg-item-toggle.on::after{left:27px;background:var(--accent);box-shadow:0 0 8px rgba(16,185,129,.4)}body.dark.tg-neumorphism .theme-toggle,body.dark.tg-neumorphism .toggle-switch,body.dark.tg-neumorphism .mg-item-toggle{background:#2d3436;box-shadow:6px 6px 12px #1e2527,-6px -6px 12px #3c4345}body.dark.tg-neumorphism .theme-toggle .theme-slider::after,body.dark.tg-neumorphism .toggle-switch::after,body.dark.tg-neumorphism .mg-item-toggle::after{background:#2d3436;box-shadow:inset 3px 3px 6px #1e2527,inset -3px -3px 6px #3c4345}body.dark.tg-neumorphism .theme-toggle .theme-checkbox:checked~.theme-slider,body.dark.tg-neumorphism .toggle-switch.on,body.dark.tg-neumorphism .mg-item-toggle.on{box-shadow:inset 4px 4px 8px #1e2527,inset -4px -4px 8px #3c4345}body.cd-glass .habit-card,body.cd-glass .stat-card,body.cd-glass .mini-quote,body.cd-glass .profile-stat-item,body.cd-glass .mg-group,body.cd-glass .mg-stat-card,body.cd-glass .ai-message-bubble,body.cd-glass .water-tracker,body.cd-glass .diet-tip-card,body.cd-glass .diet-meal-card,body.cd-glass .diet-seasonal-card,body.cd-glass .diet-color-card,body.cd-glass .diet-habit-item,body.cd-glass .diet-book-item,body.cd-glass .diet-analysis-card,body.cd-glass .lib-item{background:rgba(255,255,255,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6)}body.dark.cd-glass .habit-card,body.dark.cd-glass .stat-card,body.dark.cd-glass .mini-quote,body.dark.cd-glass .profile-stat-item,body.dark.cd-glass .mg-group,body.dark.cd-glass .mg-stat-card,body.dark.cd-glass .ai-message-bubble,body.dark.cd-glass .water-tracker,body.dark.cd-glass .diet-tip-card,body.dark.cd-glass .diet-meal-card,body.dark.cd-glass .diet-seasonal-card,body.dark.cd-glass .diet-color-card,body.dark.cd-glass .diet-habit-item,body.dark.cd-glass .diet-book-item,body.dark.cd-glass .lib-item{background:rgba(30,41,59,.8);border-color:rgba(255,255,255,.08)}body.cd-glass .ui-card{background:rgba(255,255,255,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6)}body.dark.cd-glass .ui-card{background:rgba(30,41,59,.8);border-color:rgba(255,255,255,.08)}body.cd-gradient .habit-card,body.cd-gradient .stat-card,body.cd-gradient .mini-quote,body.cd-gradient .profile-stat-item,body.cd-gradient .mg-group,body.cd-gradient .mg-stat-card,body.cd-gradient .ai-message-bubble,body.cd-gradient .water-tracker,body.cd-gradient .diet-tip-card,body.cd-gradient .diet-meal-card,body.cd-gradient .diet-seasonal-card,body.cd-gradient .diet-color-card,body.cd-gradient .diet-habit-item,body.cd-gradient .diet-book-item,body.cd-gradient .diet-analysis-card,body.cd-gradient .lib-item{position:relative;background:var(--bg);border:2px solid transparent;background-clip:padding-box}body.cd-gradient .habit-card::before,body.cd-gradient .stat-card::before,body.cd-gradient .mini-quote::before,body.cd-gradient .profile-stat-item::before,body.cd-gradient .mg-group::before,body.cd-gradient .mg-stat-card::before,body.cd-gradient .ai-message-bubble::before,body.cd-gradient .water-tracker::before,body.cd-gradient .diet-tip-card::before,body.cd-gradient .diet-meal-card::before,body.cd-gradient .diet-seasonal-card::before,body.cd-gradient .diet-color-card::before,body.cd-gradient .diet-habit-item::before,body.cd-gradient .diet-book-item::before,body.cd-gradient .diet-analysis-card::before,body.cd-gradient .lib-item::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;padding:2px;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.4}body.cd-gradient .habit-card:hover::before,body.cd-gradient .stat-card:hover::before,body.cd-gradient .lib-item:hover::before{opacity:.8}body.cd-gradient .ui-card{position:relative;background:var(--bg);border:2px solid transparent;background-clip:padding-box}body.cd-gradient .ui-card::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;padding:2px;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.4}body.cd-gradient .ui-card:hover::before{opacity:.8}body.cd-glow .habit-card,body.cd-glow .stat-card,body.cd-glow .mini-quote,body.cd-glow .mg-group,body.cd-glow .mg-stat-card,body.cd-glow .ai-message-bubble,body.cd-glow .water-tracker,body.cd-glow .diet-tip-card,body.cd-glow .diet-meal-card{position:relative;background:var(--bg);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08)}body.cd-glow .habit-card::before,body.cd-glow .stat-card::before,body.cd-glow .mini-quote::before,body.cd-glow .mg-group::before,body.cd-glow .mg-stat-card::before,body.cd-glow .ai-message-bubble::before,body.cd-glow .water-tracker::before,body.cd-glow .diet-tip-card::before,body.cd-glow .diet-meal-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,var(--accent),transparent 30%,var(--accent2),transparent 60%);animation:cardGlowRotate 4s linear infinite;z-index:0}body.cd-glow .habit-card::after,body.cd-glow .stat-card::after,body.cd-glow .mini-quote::after,body.cd-glow .mg-group::after,body.cd-glow .mg-stat-card::after,body.cd-glow .ai-message-bubble::after,body.cd-glow .water-tracker::after,body.cd-glow .diet-tip-card::after,body.cd-glow .diet-meal-card::after{content:'';position:absolute;inset:2px;border-radius:calc(var(--radius-lg) - 2px);background:var(--bg);z-index:0}body.cd-glow .habit-card:hover,body.cd-glow .stat-card:hover,body.cd-glow .mini-quote:hover,body.cd-glow .mg-group:hover,body.cd-glow .mg-stat-card:hover{box-shadow:0 8px 32px rgba(16,185,129,.15),0 0 20px rgba(16,185,129,.08);transform:translateY(-4px)}body.cd-glow .habit-card>*,body.cd-glow .stat-card>*,body.cd-glow .mini-quote>*,body.cd-glow .mg-group>*,body.cd-glow .mg-stat-card>*,body.cd-glow .ai-message-bubble>*,body.cd-glow .water-tracker>*,body.cd-glow .diet-tip-card>*,body.cd-glow .diet-meal-card>*{position:relative;z-index:1}body.in-glass input[type="text"],body.in-glass input[type="number"],body.in-glass input[type="password"],body.in-glass input[type="time"],body.in-glass textarea,body.in-glass select,body.in-glass .mg-search{background:rgba(255,255,255,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6)}body.dark.in-glass input[type="text"],body.dark.in-glass input[type="number"],body.dark.in-glass input[type="password"],body.dark.in-glass input[type="time"],body.dark.in-glass textarea,body.dark.in-glass select,body.dark.in-glass .mg-search{background:rgba(30,41,59,.7);border-color:rgba(255,255,255,.08)}body.in-underline input[type="text"],body.in-underline input[type="number"],body.in-underline input[type="password"],body.in-underline input[type="time"],body.in-underline textarea,body.in-underline select,body.in-underline .mg-search{border-radius:0;border:none;border-bottom:2px solid var(--rule);background:transparent;box-shadow:none;transition:border-color .2s}body.in-underline input[type="text"]:focus,body.in-underline input[type="number"]:focus,body.in-underline input[type="password"]:focus,body.in-underline input[type="time"]:focus,body.in-underline textarea:focus,body.in-underline select:focus,body.in-underline .mg-search:focus{border-bottom-color:var(--accent);box-shadow:none;outline:none}body.in-float input[type="text"],body.in-float input[type="number"],body.in-float input[type="password"],body.in-float input[type="time"],body.in-float textarea,body.in-float select,body.in-float .mg-search{border:2px solid var(--rule);transition:border-color .2s}body.in-float input[type="text"]:focus,body.in-float input[type="number"]:focus,body.in-float input[type="password"]:focus,body.in-float input[type="time"]:focus,body.in-float textarea:focus,body.in-float select:focus,body.in-float .mg-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}body.in-glass .ui-input__field{background:rgba(255,255,255,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6)}body.dark.in-glass .ui-input__field{background:rgba(30,41,59,.7);border-color:rgba(255,255,255,.08)}body.in-underline .ui-input__field{border-radius:0;border:none;border-bottom:2px solid var(--rule);background:transparent;box-shadow:none}body.in-underline .ui-input__field:focus{border-bottom-color:var(--accent);box-shadow:none}body.in-underline .ui-input__icon{left:0;position:relative;margin-right:10px}body.in-underline .ui-input__wrapper{border-bottom:none;padding:0}body.in-float .ui-input__field{border:2px solid var(--rule)}body.in-float .ui-input__field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}body.in-neumorphism .checkin-input,body.in-neumorphism .lib-custom-input input,body.in-neumorphism .he-input,body.in-neumorphism .rh-input{border:none;border-radius:12px;background:#e0e5ec;box-shadow:inset 4px 4px 8px #b8bec7,inset -4px -4px 8px #fff;padding:12px 16px;transition:all .3s var(--ease)}body.in-neumorphism .checkin-input:focus,body.in-neumorphism .lib-custom-input input:focus,body.in-neumorphism .he-input:focus,body.in-neumorphism .rh-input:focus{box-shadow:inset 5px 5px 10px #b8bec7,inset -5px -5px 10px #fff,0 0 0 2px var(--accent);outline:none}body.in-neumorphism .ui-input__field{border:none;border-radius:12px;background:#e0e5ec;box-shadow:inset 4px 4px 8px #b8bec7,inset -4px -4px 8px #fff;transition:all .3s var(--ease)}body.in-neumorphism .ui-input__field:focus{box-shadow:inset 5px 5px 10px #b8bec7,inset -5px -5px 10px #fff,0 0 0 2px var(--accent);outline:none}body.dark.in-neumorphism .checkin-input,body.dark.in-neumorphism .lib-custom-input input,body.dark.in-neumorphism .he-input,body.dark.in-neumorphism .rh-input,body.dark.in-neumorphism .ui-input__field{background:#2d3436;box-shadow:inset 4px 4px 8px #1e2527,inset -4px -4px 8px #3c4345;color:#dfe6e9}body.dark.in-neumorphism .checkin-input:focus,body.dark.in-neumorphism .lib-custom-input input:focus,body.dark.in-neumorphism .he-input:focus,body.dark.in-neumorphism .rh-input:focus,body.dark.in-neumorphism .ui-input__field:focus{box-shadow:inset 5px 5px 10px #1e2527,inset -5px -5px 10px #3c4345,0 0 0 2px var(--accent)}body.bd-pill .level-badge,body.bd-pill .streak-badge,body.bd-pill .badge,body.bd-pill .habit-tag{border-radius:999px;padding:4px 12px}body.bd-gradient .level-badge,body.bd-gradient .streak-badge,body.bd-gradient .badge,body.bd-gradient .habit-tag{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none}body.bd-glow .level-badge,body.bd-glow .streak-badge,body.bd-glow .badge,body.bd-glow .habit-tag{box-shadow:0 0 8px var(--accent),0 0 16px rgba(16,185,129,.3)}body.bd-dot .level-badge,body.bd-dot .streak-badge,body.bd-dot .badge,body.bd-dot .habit-tag{position:relative;background:transparent;color:var(--ink);border:none;padding-left:18px}body.bd-dot .level-badge::before,body.bd-dot .streak-badge::before,body.bd-dot .badge::before,body.bd-dot .habit-tag::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--accent)}body.bd-pill .ui-badge{border-radius:999px;padding:4px 12px}body.bd-gradient .ui-badge--primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none}body.bd-gradient .ui-badge--warning{background:linear-gradient(135deg,var(--accent2),#EF4444);color:#fff;border:none}body.bd-glow .ui-badge--primary{box-shadow:0 0 8px var(--accent),0 0 16px rgba(16,185,129,.3)}body.bd-glow .ui-badge--warning{box-shadow:0 0 8px var(--accent2),0 0 16px rgba(245,158,11,.3)}body.bd-dot .ui-badge{background:transparent;padding-left:18px;border:none}body.bd-dot .ui-badge::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--accent)}body.bd-glass .ui-badge--primary{background:rgba(16,185,129,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(16,185,129,.25);color:var(--accent-700)}body.bd-glass .ui-badge--warning{background:rgba(245,158,11,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(245,158,11,.25);color:var(--accent-2-600)}body.bd-neon .health-tag,body.bd-neon .emotion-tag,body.bd-neon .season-tag{background:transparent;border:1px solid var(--accent);color:var(--accent);box-shadow:0 0 7px var(--accent),0 0 10px var(--accent),0 0 21px var(--accent),0 0 42px rgba(16,185,129,.3),inset 0 0 7px rgba(16,185,129,.15);text-shadow:0 0 7px var(--accent),0 0 10px rgba(16,185,129,.5)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:1;cursor:pointer;transition:all .2s var(--ease);-webkit-tap-highlight-color:transparent;min-height:40px;min-width:80px}.ui-btn--primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.ui-btn--primary:hover{background:var(--accent-600);box-shadow:var(--shadow)}.ui-btn--primary:active{background:var(--accent-700);transform:scale(.97);box-shadow:var(--shadow-xs)}.ui-btn--primary:disabled,.ui-btn--primary.is-disabled{background:var(--bg2);color:var(--muted);box-shadow:none;cursor:not-allowed;transform:none}.ui-btn--primary.is-loading{position:relative;color:transparent;pointer-events:none}.ui-btn--primary.is-loading::after{content:'';position:absolute;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.ui-btn--secondary{background:var(--bg2);color:var(--ink2);border:1px solid var(--rule)}.ui-btn--secondary:hover{background:var(--rule);color:var(--ink)}.ui-btn--secondary:active{background:var(--border);transform:scale(.97)}.ui-btn--secondary:disabled,.ui-btn--secondary.is-disabled{background:var(--bg);color:var(--muted);border-color:var(--border-light);cursor:not-allowed;transform:none}.ui-btn--ghost{background:transparent;color:var(--accent)}.ui-btn--ghost:hover{background:var(--accent-light)}.ui-btn--ghost:active{background:rgba(16,185,129,.2);transform:scale(.97)}.ui-btn--ghost:disabled,.ui-btn--ghost.is-disabled{color:var(--muted);cursor:not-allowed;transform:none}.ui-btn--danger{background:var(--danger);color:#fff;box-shadow:var(--shadow-sm)}.ui-btn--danger:hover{background:#DC2626;box-shadow:var(--shadow)}.ui-btn--danger:active{background:#B91C1C;transform:scale(.97);box-shadow:var(--shadow-xs)}.ui-btn--danger:disabled,.ui-btn--danger.is-disabled{background:var(--danger-light);color:var(--danger);cursor:not-allowed;transform:none;box-shadow:none}.ui-input{width:100%;padding:12px 16px;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-base);line-height:var(--leading-normal);transition:all .2s var(--ease);outline:none;-webkit-appearance:none}.ui-input::placeholder{color:var(--muted)}.ui-input:hover{border-color:var(--rule)}.ui-input:focus{border-color:var(--accent);border-width:2px;box-shadow:0 0 0 3px var(--accent-light);padding:11px 15px}.ui-input.is-error{background:var(--danger-light);border-color:var(--danger);color:var(--danger)}.ui-input.is-error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.15)}.ui-input:disabled,.ui-input.is-disabled{background:var(--bg2);border-color:var(--border-light);color:var(--muted);cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}.sd-bar-chart{position:relative}.sd-bar{position:relative;box-shadow:0 1px 3px rgba(0,0,0,.06);will-change:height}.sd-bar-today{box-shadow:0 2px 8px rgba(16,185,129,.35)}.sd-bar-today::after{content:'';position:absolute;top:-4px;left:0;right:0;height:6px;background:radial-gradient(ellipse at center,rgba(245,158,11,.6) 0%,transparent 70%);border-radius:50%}.sd-bar-col{cursor:pointer;-webkit-tap-highlight-color:transparent}.sd-bar-col:active .sd-bar{filter:brightness(1.08)}.water-bar{position:relative;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.08);will-change:height}.water-bar:not(.water-bar-done)::before{content:'';position:absolute;top:-4px;left:-50%;width:200%;height:8px;background:radial-gradient(ellipse at 25% 50%,rgba(255,255,255,.5) 0%,transparent 60%),radial-gradient(ellipse at 75% 50%,rgba(255,255,255,.35) 0%,transparent 60%);animation:water-wave 2.4s linear infinite;pointer-events:none}.water-bar:not(.water-bar-done)::after{content:'';position:absolute;bottom:4px;left:30%;width:4px;height:4px;background:rgba(255,255,255,.5);border-radius:50%;box-shadow:8px -10px 0 rgba(255,255,255,.4),16px -20px 0 rgba(255,255,255,.3),-6px -16px 0 rgba(255,255,255,.35);animation:water-bubble 3s ease-in infinite;pointer-events:none}.water-bar-today{box-shadow:inset 0 1px 2px rgba(0,0,0,.08),0 2px 8px rgba(91,141,184,.35)}.water-bar-done{animation:water-celebrate .6s var(--ease-bounce)}@keyframes water-wave{0%{transform:translateX(0)}100%{transform:translateX(50%)}}@keyframes water-bubble{0%{transform:translateY(0);opacity:.6}50%{transform:translateY(-12px);opacity:.4}100%{transform:translateY(-24px);opacity:0}}@keyframes water-celebrate{0%{transform:scale(1)}40%{transform:scale(1.06)}100%{transform:scale(1)}}.heatmap-cell[data-date]:not(.empty){cursor:pointer;-webkit-tap-highlight-color:transparent;animation:heatmap-fade-in .3s var(--ease-out) backwards}.heatmap-cell[data-date]:not(.empty):active{transform:scale(.92);outline:2px solid var(--accent);outline-offset:1px}.heatmap-cell.future{opacity:.4;cursor:default}.heatmap-cell.future:active{transform:none;outline:none}@keyframes heatmap-fade-in{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.yh-cell[data-date]:not(.yh-empty){cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s var(--ease-out),outline .15s}.yh-cell[data-date]:not(.yh-empty):active{transform:scale(1.4);outline:1.5px solid var(--accent);z-index:2}.yh-empty{cursor:default;opacity:.5}.heatmap-tooltip{position:absolute;z-index:var(--z-tooltip,700);width:200px;background:var(--surface,#fff);border:1px solid var(--rule,#e2e8f0);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow-md,0 8px 24px rgba(0,0,0,.18));font-size:12px;color:var(--ink,#1E293B);display:none;pointer-events:auto;animation:tooltip-in .18s var(--ease-out)}.heatmap-tooltip .ht-date{font-size:13px;font-weight:700;margin-bottom:6px;color:var(--ink,#1E293B)}.heatmap-tooltip .ht-detail{font-size:12px;color:var(--ink2,#475569);margin-bottom:6px}.heatmap-tooltip .ht-detail b{font-size:14px}.heatmap-tooltip .ht-bar{height:5px;background:var(--bg2,#F1F5F9);border-radius:3px;overflow:hidden;margin-bottom:6px}.heatmap-tooltip .ht-bar-fill{height:100%;border-radius:3px;transition:width .4s var(--ease-out)}.heatmap-tooltip .ht-hint{font-size:10px;color:var(--muted,#94A3B8);text-align:right}@keyframes tooltip-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.report-card .rc-num span[data-anim-target]{display:inline;font-variant-numeric:tabular-nums}body.dark .sd-bar{box-shadow:0 1px 3px rgba(0,0,0,.3)}body.dark .sd-bar-today{box-shadow:0 2px 8px rgba(52,211,153,.4)}body.dark .water-bar{box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}body.dark .water-bar-today{box-shadow:inset 0 1px 2px rgba(0,0,0,.4),0 2px 8px rgba(96,165,250,.35)}body.dark .heatmap-tooltip{background:var(--surface,#1E293B);border-color:var(--rule,#334155);color:var(--ink,#F1F5F9);box-shadow:0 8px 24px rgba(0,0,0,.5)}body.dark .heatmap-tooltip .ht-date{color:var(--ink,#F1F5F9)}body.dark .heatmap-tooltip .ht-detail{color:var(--ink2,#94A3B8)}body.dark .heatmap-tooltip .ht-bar{background:var(--bg2,#1E293B)}body.dark .heatmap-cell.future{opacity:.3}body.dark .yh-empty{opacity:.4}body.dark .report-card{background:rgba(30,41,59,.85);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.05)}body.dark .report-habit-row{border-bottom-color:var(--rule,#334155)}#posterCanvas{background:#FDF8F0;border-radius:12px}.insight-card{background:#fff;border-radius:16px;padding:16px;margin-bottom:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);opacity:0}.suggestion-card{background:#fff;border-radius:16px;margin-bottom:12px;box-shadow:0 4px 16px rgba(0,0,0,.08);overflow:hidden;opacity:0}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn-primary{flex:1;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;cursor:pointer;transition:all .2s}.btn-primary:active{opacity:.8;transform:scale(.98)}.btn-secondary{flex:1;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:600;background:var(--bg2);color:var(--ink);border:1px solid var(--border);cursor:pointer;transition:all .2s}.btn-secondary:active{background:var(--rule);transform:scale(.98)}body.dark .insight-card{background:rgba(30,41,59,.85);border:1px solid rgba(255,255,255,.05)}body.dark .suggestion-card{background:rgba(30,41,59,.85);border:1px solid rgba(255,255,255,.05)}body.dark .btn-secondary{background:var(--bg2);border-color:var(--border);color:var(--ink)}