.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:var(--radius);font-weight:600;font-size:14px;cursor:pointer;transition:all .3s var(--ease);position:relative;overflow:hidden;white-space:nowrap}.ui-btn--primary{background:linear-gradient(135deg,var(--accent),var(--accent-600));color:#fff;box-shadow:0 4px 16px rgba(16,185,129,.35)}.ui-btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(16,185,129,.45)}.ui-btn--primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(16,185,129,.3)}.ui-btn--secondary{background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink);border:1px solid var(--rule);box-shadow:var(--shadow-sm)}.ui-btn--secondary:hover{background:rgba(255,255,255,1);border-color:var(--accent);box-shadow:var(--shadow)}.ui-btn--outline{background:transparent;color:var(--accent);border:2px solid var(--accent)}.ui-btn--outline:hover{background:var(--accent);color:#fff}.ui-btn--ghost{background:transparent;color:var(--ink2)}.ui-btn--ghost:hover{background:var(--bg2);color:var(--accent)}.ui-btn--warning{background:linear-gradient(135deg,var(--accent2),var(--accent-2-600));color:#fff;box-shadow:0 4px 16px rgba(245,158,11,.35)}.ui-btn--warning:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(245,158,11,.45)}.ui-btn--danger{background:linear-gradient(135deg,#EF4444,#DC2626);color:#fff;box-shadow:0 4px 16px rgba(239,68,68,.35)}.ui-btn--danger:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(239,68,68,.45)}.ui-btn--sm{padding:8px 16px;font-size:12px}.ui-btn--md{padding:12px 24px;font-size:14px}.ui-btn--lg{padding:16px 32px;font-size:16px}.ui-btn__icon{font-size:16px;line-height:1}.ui-btn__text{}.ui-btn:disabled{opacity:.5;cursor:not-allowed;transform:none !important}body.btn-pill .ui-btn{border-radius:50px}body.btn-glass .ui-btn--primary{background:rgba(16,185,129,.15);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--accent);border:1px solid rgba(16,185,129,.3);box-shadow:0 4px 16px rgba(16,185,129,.15)}body.btn-glass .ui-btn--primary:hover{background:rgba(16,185,129,.25);transform:translateY(-2px)}body.btn-gradient .ui-btn--primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 100%);box-shadow:0 4px 20px rgba(16,185,129,.35);position:relative}body.btn-gradient .ui-btn--primary::before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.3),transparent 50%);pointer-events:none}body.btn-3d .ui-btn--primary{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-700) 100%);box-shadow:0 4px 0 var(--accent-700),0 6px 12px rgba(16,185,129,.3),inset 0 1px 0 rgba(255,255,255,.2);transform:translateY(0)}body.btn-3d .ui-btn--primary:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--accent-700),0 8px 20px rgba(16,185,129,.35),inset 0 1px 0 rgba(255,255,255,.2)}body.btn-3d .ui-btn--primary:active{transform:translateY(2px);box-shadow:0 2px 0 var(--accent-700),0 2px 4px rgba(16,185,129,.2),inset 0 1px 0 rgba(255,255,255,.2)}body.btn-gradient-3d .ui-btn--primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 100%);position:relative;border:none;box-shadow:0 6px 0 0 var(--accent-700),0 8px 16px rgba(16,185,129,.3),inset 0 1px 0 rgba(255,255,255,.25);transform:translateY(0)}body.btn-gradient-3d .ui-btn--primary::before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.3),transparent 50%);pointer-events:none}body.btn-gradient-3d .ui-btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 0 0 var(--accent-700),0 12px 24px rgba(16,185,129,.35),inset 0 1px 0 rgba(255,255,255,.3)}body.btn-gradient-3d .ui-btn--primary:active{transform:translateY(4px);box-shadow:0 2px 0 0 var(--accent-700),0 2px 4px rgba(16,185,129,.2),inset 0 1px 0 rgba(255,255,255,.15)}body.btn-glow .ui-btn--primary{background:var(--accent);position:relative;overflow:hidden;box-shadow:0 0 5px rgba(16,185,129,.3),0 0 20px rgba(16,185,129,.2);transition:all .3s var(--ease);animation:glowPulse 2s ease-in-out infinite alternate}body.btn-glow .ui-btn--primary::before{content:'';position:absolute;inset:-2px;border-radius:inherit;background:conic-gradient(from 0deg,transparent,var(--accent),transparent,var(--accent2),transparent);animation:glowSpin 3s linear infinite;z-index:-1;opacity:.5}body.btn-glow .ui-btn--primary::after{content:'';position:absolute;inset:2px;border-radius:inherit;background:var(--accent);z-index:-1}body.btn-glow .ui-btn--primary:hover{box-shadow:0 0 10px rgba(16,185,129,.5),0 0 30px rgba(16,185,129,.3),0 0 60px rgba(16,185,129,.15);transform:translateY(-2px)}body.btn-glow .ui-btn--primary:active{transform:translateY(0) scale(.98);box-shadow:0 0 5px rgba(16,185,129,.3);animation:none}@keyframes glowPulse{from{box-shadow:0 0 5px rgba(16,185,129,.3),0 0 15px rgba(16,185,129,.2)}to{box-shadow:0 0 10px rgba(16,185,129,.5),0 0 25px rgba(16,185,129,.3),0 0 40px rgba(16,185,129,.1)}}@keyframes glowSpin{to{transform:rotate(360deg)}}.ui-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.ui-switch__input{display:none}.ui-switch__slider{position:relative;width:48px;height:26px;background:var(--rule);border-radius:13px;transition:all .3s var(--ease)}.ui-switch__slider::before{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 2px 8px rgba(15,23,42,.15);transition:all .3s var(--ease)}.ui-switch__input:checked + .ui-switch__slider{background:linear-gradient(135deg,var(--accent),var(--accent-600))}.ui-switch__input:checked + .ui-switch__slider::before{left:25px}.ui-switch__label{font-size:13px;font-weight:500;color:var(--ink)}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;position:relative}body.tg-daynight .ui-switch__slider::before{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);top:2px;left:2px;transition:all .4s cubic-bezier(.68,-.55,.265,1.55)}body.tg-daynight .ui-switch__input:checked + .ui-switch__slider{background:linear-gradient(180deg,#87ceeb,#f0e68c);border-color:#4a90d9}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 .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 .ui-switch__slider{width:56px;height:30px;background:var(--rule);border-radius:15px;overflow:hidden;position:relative}body.tg-svg-animated .ui-switch__slider::before{width:24px;height:24px;top:3px;left:3px;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 .ui-switch__input:checked + .ui-switch__slider{background:linear-gradient(135deg,var(--accent),var(--accent2))}body.tg-svg-animated .ui-switch__input:checked + .ui-switch__slider::before{left:29px;box-shadow:0 2px 12px rgba(16,185,129,.3)}body.tg-svg-animated .ui-switch__slider::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;border:2px solid var(--accent);opacity:0;transition:all .4s var(--ease);pointer-events:none}body.tg-svg-animated .ui-switch__input:checked + .ui-switch__slider::after{opacity:1;animation:svgRing .6s var(--ease-out)}@keyframes svgRing{0%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{transform:translate(-50%,-50%) scale(1.3);opacity:.5}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}body.tg-neumorphism .ui-switch__slider{width:56px;height:28px;border-radius:14px;background:#e0e5ec;box-shadow:6px 6px 12px #b8bec7,-6px -6px 12px #fff;border:none;transition:all .3s var(--ease)}body.tg-neumorphism .ui-switch__slider::before{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 .ui-switch__input:checked + .ui-switch__slider{box-shadow:inset 4px 4px 8px #b8bec7,inset -4px -4px 8px #fff}body.tg-neumorphism .ui-switch__input:checked + .ui-switch__slider::before{left:27px;background:var(--accent);box-shadow:0 0 8px rgba(16,185,129,.4),inset 0 0 0 transparent}body.dark.tg-neumorphism .ui-switch__slider{background:#2d3436;box-shadow:6px 6px 12px #1e2527,-6px -6px 12px #3c4345}body.dark.tg-neumorphism .ui-switch__slider::before{background:#2d3436;box-shadow:inset 3px 3px 6px #1e2527,inset -3px -3px 6px #3c4345}body.dark.tg-neumorphism .ui-switch__input:checked + .ui-switch__slider{box-shadow:inset 4px 4px 8px #1e2527,inset -4px -4px 8px #3c4345}.ui-checkbox{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}.ui-checkbox__input{display:none}.ui-checkbox__box{position:relative;width:20px;height:20px;border:2px solid var(--rule);border-radius:6px;transition:all .3s var(--ease)}.ui-checkbox__check{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(45deg) scale(0);width:8px;height:14px;border-right:3px solid #fff;border-bottom:3px solid #fff;opacity:0;transition:all .2s var(--ease)}.ui-checkbox:hover .ui-checkbox__box{border-color:var(--accent)}.ui-checkbox__input:checked + .ui-checkbox__box{background:linear-gradient(135deg,var(--accent),var(--accent-600));border-color:var(--accent);box-shadow:0 0 0 3px rgba(16,185,129,.2);animation:checkboxPop .3s var(--ease)}.ui-checkbox__input:checked + .ui-checkbox__box .ui-checkbox__check{transform:translate(-50%,-50%) rotate(45deg) scale(1);opacity:1}@keyframes checkboxPop{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.ui-checkbox__label{font-size:14px;font-weight:500;color:var(--ink)}body.cb-round .ui-checkbox__box{border-radius:50%}body.cb-svg-animated .ui-checkbox__box{border:2px solid var(--rule);border-radius:8px;background:transparent;position:relative;overflow:hidden}body.cb-svg-animated .ui-checkbox__box::before{content:'';position:absolute;inset:-2px;border-radius:inherit;border:2px solid var(--accent);opacity:0;transform:scale(1.2);transition:all .3s var(--ease)}body.cb-svg-animated .ui-checkbox:hover .ui-checkbox__box::before{opacity:.3;transform:scale(1)}body.cb-svg-animated .ui-checkbox__input:checked + .ui-checkbox__box{border-color:var(--accent);background:transparent;box-shadow:0 0 0 3px rgba(16,185,129,.15);animation:svgCheckPop .4s var(--ease-bounce)}body.cb-svg-animated .ui-checkbox__input:checked + .ui-checkbox__box::before{opacity:0;transform:scale(1.4)}body.cb-svg-animated .ui-checkbox__input:checked + .ui-checkbox__box .ui-checkbox__check{transform:translate(-50%,-50%) rotate(45deg) scale(1);opacity:1;border-color:var(--accent);transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}@keyframes svgCheckPop{0%{transform:scale(1)}30%{transform:scale(.9)}60%{transform:scale(1.15)}100%{transform:scale(1)}}body.cb-fill-unfill .ui-checkbox__box{border:2px solid var(--rule);border-radius:6px;background:rgba(207,205,205,.425);position:relative;overflow:hidden;transition:all .3s var(--ease)}body.cb-fill-unfill .ui-checkbox__box::before{content:'';position:absolute;inset:0;border:2px solid var(--accent);stroke-dasharray:800;stroke-dashoffset:800;opacity:0;transition:opacity .3s var(--ease);border-radius:inherit;pointer-events:none}body.cb-fill-unfill .ui-checkbox__box::after{content:'';position:absolute;inset:0;background:var(--accent);border-radius:inherit;transform:scale(0);transition:transform .6s ease-in}body.cb-fill-unfill .ui-checkbox:hover .ui-checkbox__box::before{opacity:.3}body.cb-fill-unfill .ui-checkbox__input:checked + .ui-checkbox__box{border-color:var(--accent);background:rgba(207,205,205,.425)}body.cb-fill-unfill .ui-checkbox__input:checked + .ui-checkbox__box::after{transform:scale(1)}body.cb-fill-unfill .ui-checkbox__check{z-index:1;border-right:3px solid #fff;border-bottom:3px solid #fff;transition:all .6s ease-in}body.cb-fill-unfill .ui-checkbox__input:checked + .ui-checkbox__box .ui-checkbox__check{border-color:#fff;transition:all .6s ease-in}body.cb-fill-unfill .ui-checkbox:hover .ui-checkbox__box{border-color:var(--accent)}body.dark.cb-fill-unfill .ui-checkbox__box{border-color:rgba(255,255,255,.2);background:rgba(100,100,120,.3)}.ui-card{background:rgba(255,255,255,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow-sm);overflow:hidden;transition:all .3s var(--ease);position:relative}.ui-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.ui-card__header{padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.04);display:flex;align-items:center;gap:12px}.ui-card__icon{font-size:24px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-light),var(--accent2-light));border-radius:12px}.ui-card__title{font-size:16px;font-weight:700;color:var(--ink);margin:0}.ui-card__body{padding:16px 20px;font-size:14px;color:var(--ink2);line-height:1.7}.ui-card__footer{padding:12px 20px;border-top:1px solid rgba(0,0,0,.04);background:rgba(0,0,0,.02)}body.cd-gradient .ui-card{background:transparent;border:none}body.cd-gradient .ui-card::before{content:'';position:absolute;inset:0;padding:1.5px;border-radius:inherit;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}body.cd-gradient .ui-card::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.9);border-radius:inherit;z-index:-1}body.cd-glass .ui-card{background:rgba(255,255,255,.65);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.5);box-shadow:0 8px 32px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(0,0,0,.02);position:relative;overflow:hidden}body.cd-glass .ui-card::before{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3),transparent);pointer-events:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}body.cd-glass .ui-card:hover{box-shadow:0 16px 48px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.8),inset 0 -1px 0 rgba(0,0,0,.02);transform:translateY(-4px);border-color:rgba(255,255,255,.7)}body.cd-glow .ui-card{position:relative;background:var(--bg);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:all .3s var(--ease)}body.cd-glow .ui-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:-1}body.cd-glow .ui-card::after{content:'';position:absolute;inset:2px;border-radius:calc(var(--radius-lg) - 2px);background:var(--bg);z-index:-1}body.cd-glow .ui-card>*{position:relative;z-index:1}body.cd-glow .ui-card:hover{box-shadow:0 8px 32px rgba(16,185,129,.15),0 0 20px rgba(16,185,129,.08);transform:translateY(-4px)}@keyframes cardGlowRotate{to{transform:rotate(360deg)}}body.dark.cd-glow .ui-card::after{background:var(--bg)}body.dark.cd-glow .ui-card:hover{box-shadow:0 8px 32px rgba(16,185,129,.2),0 0 30px rgba(16,185,129,.1)}.ui-input{display:flex;flex-direction:column;gap:6px}.ui-input__label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.ui-input__wrapper{position:relative;display:flex;align-items:center}.ui-input__icon{position:absolute;left:14px;font-size:16px;color:var(--muted);z-index:1}.ui-input__field{width:100%;padding:12px 16px;padding-left:44px;border:2px solid var(--rule);border-radius:var(--radius);font-size:14px;color:var(--ink);background:rgba(255,255,255,.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);outline:none;transition:all .3s var(--ease)}.ui-input__field::placeholder{color:var(--muted)}.ui-input__field:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(16,185,129,.15)}.ui-input__field:not(:placeholder-shown){background:rgba(255,255,255,1)}body.in-underline .ui-input__field{border:none;border-radius:0;border-bottom:2px solid var(--rule);background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding-left:0;padding-right:0}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__wrapper{position:relative}body.in-float .ui-input__field{padding-top:18px;padding-bottom:6px;background:var(--bg2);border:1px solid transparent}body.in-float .ui-input__field:focus{background:#fff;border-color:var(--accent)}body.in-float .ui-input__label{position:absolute;top:14px;left:44px;font-size:14px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--muted);transition:all .2s var(--ease);pointer-events:none;z-index:2}body.in-float .ui-input__field:focus + .ui-input__label,body.in-float .ui-input__field:not(:placeholder-shown) + .ui-input__label{top:6px;font-size:10px;color:var(--accent);font-weight:600}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;padding:12px 16px;padding-left:44px;color:var(--ink);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.in-neumorphism .ui-input__field::placeholder{color:rgba(0,0,0,.35)}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 .ui-input__field:focus{box-shadow:inset 5px 5px 10px #1e2527,inset -5px -5px 10px #3c4345,0 0 0 2px var(--accent)}body.dark.in-neumorphism .ui-input__field::placeholder{color:rgba(255,255,255,.3)}.ui-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.ui-badge--default{background:var(--bg2);color:var(--ink2)}.ui-badge--primary{background:var(--accent-light);color:var(--accent-700)}.ui-badge--warning{background:var(--accent2-light);color:var(--accent-2-600)}.ui-badge--danger{background:rgba(239,68,68,.1);color:#EF4444}.ui-badge--info{background:rgba(59,130,246,.1);color:#3B82F6}.ui-badge__icon{font-size:10px}.ui-badge__text{}body.bd-glow .ui-badge--primary{box-shadow:0 0 12px rgba(16,185,129,.4)}body.bd-glow .ui-badge--warning{box-shadow:0 0 12px rgba(245,158,11,.4)}body.bd-gradient .ui-badge--primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}body.bd-gradient .ui-badge--warning{background:linear-gradient(135deg,var(--accent2),#EF4444);color:#fff}body.bd-dot .ui-badge{background:transparent;padding:0;color:var(--ink2);font-weight:500}body.bd-dot .ui-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--muted);margin-right:6px}body.bd-dot .ui-badge--primary{color:var(--accent-700)}body.bd-dot .ui-badge--primary::before{background:var(--accent);box-shadow:0 0 6px rgba(16,185,129,.5)}body.bd-dot .ui-badge--warning::before{background:var(--accent2)}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-glass .ui-badge--danger{background:rgba(239,68,68,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(239,68,68,.25)}body.bd-glass .ui-badge--info{background:rgba(59,130,246,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(59,130,246,.25)}body.bd-neon .ui-badge--primary{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)}body.bd-neon .ui-badge--warning{background:transparent;border:1px solid var(--accent2);color:var(--accent2);box-shadow:0 0 7px var(--accent2),0 0 10px var(--accent2),0 0 21px var(--accent2),0 0 42px rgba(245,158,11,.3),inset 0 0 7px rgba(245,158,11,.15);text-shadow:0 0 7px var(--accent2),0 0 10px rgba(245,158,11,.5)}body.bd-neon .ui-badge--danger{background:transparent;border:1px solid #EF4444;color:#EF4444;box-shadow:0 0 7px #EF4444,0 0 10px #EF4444,0 0 21px #EF4444,0 0 42px rgba(239,68,68,.3),inset 0 0 7px rgba(239,68,68,.15)}body.bd-neon .ui-badge--info{background:transparent;border:1px solid #3B82F6;color:#3B82F6;box-shadow:0 0 7px #3B82F6,0 0 10px #3B82F6,0 0 21px #3B82F6,0 0 42px rgba(59,130,246,.3),inset 0 0 7px rgba(59,130,246,.15)}body.dark .ui-card{background:rgba(30,41,59,.85);border-color:rgba(255,255,255,.06)}body.dark .ui-card__header{border-bottom-color:rgba(255,255,255,.06)}body.dark .ui-card__footer{border-top-color:rgba(255,255,255,.06);background:rgba(255,255,255,.02)}body.dark .ui-card__body{color:var(--ink2)}body.dark .ui-btn--secondary{background:rgba(30,41,59,.8);border-color:rgba(255,255,255,.08)}body.dark .ui-btn--secondary:hover{background:rgba(51,65,85,.8);border-color:var(--accent)}body.dark .ui-btn--ghost:hover{background:rgba(255,255,255,.05)}body.dark .ui-input__field{background:rgba(30,41,59,.6);border-color:rgba(255,255,255,.08)}body.dark .ui-input__field:focus{border-color:var(--accent)}body.dark .ui-input__field:not(:placeholder-shown){background:rgba(30,41,59,.8)}body.dark .ui-switch__slider{background:rgba(255,255,255,.1)}body.dark .ui-checkbox__box{border-color:rgba(255,255,255,.15)}body.dark .ui-checkbox:hover .ui-checkbox__box{border-color:var(--accent)}body.dark.cd-gradient .ui-card::after{background:rgba(30,41,59,.9)}body.dark.cd-glass .ui-card{background:rgba(30,41,59,.6);border-color:rgba(255,255,255,.08);box-shadow:0 8px 32px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.05),inset 0 -1px 0 rgba(0,0,0,.1)}body.dark.cd-glass .ui-card::before{background:linear-gradient(180deg,rgba(255,255,255,.05),transparent)}body.dark.in-float .ui-input__field{background:rgba(255,255,255,.03)}body.dark.in-float .ui-input__field:focus{background:rgba(255,255,255,.05)}body.dark.tg-svg-animated .ui-switch__slider{background:rgba(255,255,255,.1)}body.dark.tg-daynight .ui-switch__slider{background:linear-gradient(180deg,#0a0a1a,#0d1020);border-color:#1a2040}body.dark.tg-daynight .ui-switch__input:checked + .ui-switch__slider{background:linear-gradient(180deg,#4a7ab5,#8a9a5a)}body.dark.tg-neon .ui-switch__slider{background:#0a0a1a;border-color:#1a1a2e}body.dark.cb-svg-animated .ui-checkbox__box{border-color:rgba(255,255,255,.15)}body.dark.cb-svg-animated .ui-checkbox__input:checked + .ui-checkbox__box{box-shadow:0 0 0 3px rgba(16,185,129,.2)}body.dark.btn-gradient-3d .ui-btn--primary{box-shadow:0 6px 0 0 var(--accent-800),0 8px 16px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.15)}body.dark.btn-gradient-3d .ui-btn--primary:hover{box-shadow:0 8px 0 0 var(--accent-800),0 12px 24px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.2)}body.dark.bd-glass .ui-badge--primary{background:rgba(16,185,129,.15);border-color:rgba(16,185,129,.3)}body.dark.bd-glass .ui-badge--warning{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.3)}
:root{--bg:#F8FAFC;--bg2:#F1F5F9;--surface:#FFF;--surface-variant:#F8FAFC;--ink:#1E293B;--ink2:#475569;--muted:#64748B;--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:200}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(--yh-0);transition:background .2s}.heatmap-cell.l0{background:var(--yh-0)}.heatmap-cell.l1{background:var(--yh-1)}.heatmap-cell.l2{background:var(--yh-2)}.heatmap-cell.l3{background:var(--yh-3)}.heatmap-cell.l4{background:var(--yh-4)}.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:201;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:202;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(auto-fit,minmax(70px,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)}.profile-stat-item.ai-analysis-item{background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(139,92,246,.05));border-color:rgba(99,102,241,.2);cursor:pointer}.profile-stat-item.ai-analysis-item:hover{background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(139,92,246,.1))}.profile-stat-item.ai-analysis-item .ps-val{color:#6366f1}.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-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin-bottom:16px;padding:0 4px}.mg-stat-card{background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius);padding:14px 10px;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-icon{font-size:22px;margin-bottom:6px}.mg-stat-name{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:8px}.mg-stat-bar-wrap{height:6px;background:var(--bg2);border-radius:3px;overflow:hidden;margin-bottom:6px}.mg-stat-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:3px;transition:width .5s var(--ease-out)}.mg-stat-pct{font-size:13px;font-weight:700;color:var(--accent)}.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-ai{flex:none;width:40px;font-size:18px;opacity:.8}.sd-tab-ai:hover{opacity:1;color:#6366f1}.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:fixed;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)}
:where(.const-btn,.tab,.health-pack-btn,.profile-grid-item,.mg-add-btn,.settings-btn,.checkin-input-actions button,.mini-quote-refresh,.mini-quote-ref,.skin-tab,.export-btn,.day-btn,.panel-close,.bnav-item,.bnav-center,.fab,.lib-tab,.lib-custom-input button,.lib-custom-type button,.lib-custom-reminder-add,.lib-custom-freq .weekdays button,.lib-item .add-btn,.health-pack-add-btn,.season-pack-btn,.season-pack-add-btn,.water-quick-btn,.water-qty-btn,.water-custom-btn,.heatmap-nav button,.edit-bar button,.emotion-btn,.ref-tab,.ref-lib-btn,.sd-tab,.he-btn,.he-btn-save,.skin-option,.rh-btn,.habit-card .checkin-btn,.reminder-option).skinnable-btn{cursor:pointer;transition:transform 150ms cubic-bezier(.4,0,.2,1),box-shadow 150ms cubic-bezier(.4,0,.2,1),background-color 150ms cubic-bezier(.4,0,.2,1),opacity 150ms cubic-bezier(.4,0,.2,1),border-color 150ms cubic-bezier(.4,0,.2,1)}::where(.habit-card,.stat-card,.mini-quote,.profile-stat-item,.mg-group,.mg-stat-card,.ai-message-bubble,.water-tracker,.diet-tip-card,.diet-meal-card,.diet-seasonal-card,.diet-color-card,.diet-habit-item,.diet-book-item,.diet-analysis-card,.lib-item).skinnable-card{transition:transform 300ms cubic-bezier(.4,0,.2,1),box-shadow 300ms cubic-bezier(.4,0,.2,1),border-color 300ms cubic-bezier(.4,0,.2,1)}
.sports-panel{padding:8px 4px 24px}.sports-prescription{background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:var(--radius-lg);padding:var(--space-5);color:#fff;margin-bottom:var(--space-5)}.sports-prescription-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.sports-prescription-icon{font-size:32px;width:52px;height:52px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center}.sports-prescription-title{font-size:var(--text-lg);font-weight:var(--font-semibold)}.sports-prescription-desc{font-size:var(--text-sm);opacity:.9}.sports-daily-targets{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.sports-target-item{background:rgba(255,255,255,.15);border-radius:var(--radius);padding:var(--space-3);text-align:center}.sports-target-label{display:block;font-size:var(--text-xs);opacity:.8;margin-bottom:4px}.sports-target-value{font-size:var(--text-lg);font-weight:var(--font-bold)}.sports-quote{background:var(--bg2);border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;padding:var(--space-4);margin-bottom:var(--space-5)}.sports-quote-text{font-size:var(--text-base);font-style:italic;color:var(--ink);line-height:var(--leading-relaxed);margin-bottom:var(--space-3)}.sports-quote-source{font-size:var(--text-sm);color:var(--muted)}.sports-section{margin-bottom:var(--space-6)}.sports-section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--ink);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.sports-quick-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-5)}.sports-quick-card{background:var(--bg2);border-radius:var(--radius);padding:var(--space-4);border:1px solid var(--rule);overflow:hidden}.sports-quick-card-header{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:2px solid var(--cat-color,#E07A5F)}.sports-quick-card-items{display:flex;flex-direction:column;gap:var(--space-2)}.sports-quick-btn{background:transparent;border:1px solid var(--rule);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--ink);cursor:pointer;transition:all var(--duration-150) var(--ease);text-align:left}.sports-quick-btn:hover{background:var(--cat-color,#E07A5F);border-color:var(--cat-color,#E07A5F);color:#fff}.sports-quick-btn:active{transform:scale(.97)}.sports-type-list{display:flex;flex-direction:column;gap:var(--space-5)}.sports-category-header{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:2px solid var(--cat-color,#E07A5F)}.sports-category-desc{font-size:var(--text-xs);color:var(--muted);font-weight:var(--font-normal);margin-left:auto}.sports-type-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg2);border-radius:var(--radius);margin-bottom:var(--space-3)}.sports-type-icon{font-size:26px;flex-shrink:0}.sports-type-info{flex:1;min-width:0}.sports-type-name{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ink)}.sports-type-tip{display:block;font-size:var(--text-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sports-type-checkin-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;flex-shrink:0;transition:all var(--duration-150) var(--ease)}.sports-type-checkin-btn:hover{background:var(--accent-600);transform:scale(1.05)}.sports-type-checkin-btn:active{transform:scale(.97)}.sports-prescription-cards{display:grid;gap:var(--space-3)}.sports-prescription-card{background:var(--bg2);border-radius:var(--radius);padding:var(--space-3);border:1px solid var(--rule)}.sports-prescription-card-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.sports-prescription-card-icon{font-size:20px}.sports-prescription-card-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink)}.sports-prescription-card-body{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2)}.sports-prescription-card-row{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--ink2)}.sports-prescription-card-row span:first-child{color:var(--muted)}.sports-prescription-card-tip{font-size:var(--text-xs);color:var(--accent);font-style:italic;padding:var(--space-2);background:var(--accent-light);border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.sports-prescription-card-ref{font-size:var(--text-xs);color:var(--muted)}.sports-meridian-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.sports-meridian-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-2);background:var(--bg2);border-radius:var(--radius);border:1px solid var(--rule);text-align:center}.sports-meridian-item.highlight{border-color:var(--accent);background:var(--accent-light)}.sports-meridian-item.current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.sports-meridian-icon{font-size:20px;margin-bottom:var(--space-1)}.sports-meridian-time{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink)}.sports-meridian-meridian{font-size:var(--text-xs);color:var(--accent)}.sports-meridian-action{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-1)}.sports-nutrition-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.sports-nutrition-card{background:var(--bg2);border-radius:var(--radius);padding:var(--space-3);text-align:center;border:1px solid var(--rule)}.sports-nutrition-card-header{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--ink);margin-bottom:var(--space-1)}.sports-nutrition-card-time{font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-2)}.sports-nutrition-card-detail{font-size:var(--text-xs);color:var(--ink2);text-align:left;margin-bottom:var(--space-2)}.sports-nutrition-card-detail strong{color:var(--ink)}.sports-nutrition-card-tip{font-size:var(--text-xs);color:var(--muted);font-style:italic}.sports-refs{display:flex;flex-direction:column;gap:var(--space-2)}.sports-ref-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg2);border-radius:var(--radius);border:1px solid var(--rule);text-decoration:none;transition:all var(--duration-150) var(--ease)}.sports-ref-item:hover{border-color:var(--accent);transform:translateX(4px)}.sports-ref-item > span:first-child{font-size:24px}.sports-ref-info{flex:1}.sports-ref-name{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--ink)}.sports-ref-desc{display:block;font-size:var(--text-xs);color:var(--muted)}.sports-ref-arrow{color:var(--accent);font-size:var(--text-lg)}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4);animation:fadeIn var(--duration-150) var(--ease)}.dialog{background:var(--bg);border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:var(--shadow-lg);animation:slideUp var(--duration-200) var(--ease)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:1px solid var(--rule);font-size:var(--text-lg);font-weight:var(--font-semibold)}.dialog-close{background:none;border:none;font-size:18px;color:var(--muted);cursor:pointer;padding:var(--space-1)}.dialog-body{padding:var(--space-4)}.dialog-tip{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-3);padding:var(--space-2);background:var(--bg2);border-radius:var(--radius-sm)}.dialog-input-group{display:flex;align-items:center;gap:var(--space-3)}.dialog-input-group label{font-size:var(--text-sm);color:var(--ink2);flex-shrink:0}.dialog-input-group input{flex:1;padding:var(--space-2) var(--space-3);border:2px solid var(--rule);border-radius:var(--radius);font-size:var(--text-base);text-align:center}.dialog-input-group input:focus{outline:none;border-color:var(--accent)}.dialog-footer{display:flex;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--rule)}.dialog-btn{flex:1;padding:var(--space-3);border-radius:var(--radius);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-150) var(--ease)}.dialog-btn.cancel{background:var(--bg2);border:1px solid var(--rule);color:var(--ink)}.dialog-btn.confirm{background:var(--accent);border:none;color:#fff}.dialog-btn:active{transform:scale(.97)}.toast.show{animation:toastIn var(--duration-200) var(--ease)}@keyframes toastIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sports-summary{display:flex;align-items:center;justify-content:center;gap:16px;background:var(--bg2);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:var(--space-4)}.sports-summary-item{display:flex;flex-direction:column;align-items:center;gap:4px}.sports-summary-val{font-size:20px;font-weight:800;color:var(--accent)}.sports-summary-label{font-size:11px;color:var(--muted)}.sports-summary-divider{width:1px;height:30px;background:var(--rule)}.sports-habits-list{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--space-5)}.sports-habit-item{display:flex;align-items:center;gap:12px;background:var(--bg2);border-radius:var(--radius);padding:12px 14px;cursor:pointer;transition:all .2s ease;border:1px solid var(--rule)}.sports-habit-item:active{transform:scale(.98)}.sports-habit-item.done{opacity:.7}.sports-habit-icon{font-size:22px}.sports-habit-name{flex:1;font-size:13px;font-weight:600;color:var(--ink)}.sports-habit-check{font-size:11px;font-weight:700;padding:4px 12px;border-radius:12px;background:var(--accent-light);color:var(--accent);transition:all .2s}.sports-habit-item.done .sports-habit-check{background:var(--accent);color:#fff}@media (max-width:400px){.sports-quick-cards{grid-template-columns:1fr}.sports-meridian-list{grid-template-columns:1fr}.sports-nutrition-cards{grid-template-columns:1fr}}
:root{--color-bg:#FDF8F0;--color-bg-soft:#F5EFE3;--color-surface:#FFFBF3;--color-surface-2:#F5EFE3;--color-ink:#2C2418;--color-ink-soft:#5C4F3D;--color-muted:#9C8E76;--color-rule:#E8DEC8;--color-border:#E8DEC8;--color-border-soft:#F0E8D6;--color-primary-50:#F0F7F3;--color-primary-100:#DCEDE2;--color-primary-200:#BCDBCA;--color-primary-300:#9CC9B0;--color-primary-400:#7CB69D;--color-primary-500:#5E9E83;--color-primary-600:#4A8469;--color-primary-700:#3A6A55;--color-primary-800:#2D5241;--color-primary-900:#1F3A2D;--color-primary:var(--color-primary-400);--color-primary-soft:var(--color-primary-100);--color-secondary-50:#FDF5E9;--color-secondary-100:#FAE6CC;--color-secondary-200:#F2CB97;--color-secondary-300:#E5A85C;--color-secondary-400:#C8893E;--color-secondary-500:#A86E2A;--color-secondary-600:#8A5820;--color-secondary-700:#6C4419;--color-secondary-800:#4F3112;--color-secondary-900:#331F0C;--color-secondary:var(--color-secondary-400);--color-secondary-soft:var(--color-secondary-100);--color-success:#5E9E83;--color-success-soft:#DCEDE2;--color-warning:#C8893E;--color-warning-soft:#FAE6CC;--color-danger:#B5482E;--color-danger-soft:#F4D9CC;--color-info:#6B89A8;--color-info-soft:#DCE4ED;--color-wuxing-wood:#7CB69D;--color-wuxing-fire:#B5482E;--color-wuxing-earth:#C8893E;--color-wuxing-metal:#D8C9A8;--color-wuxing-water:#3A4A5C;--color-on-primary:#FFFBF3;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-base:16px;--spacing-lg:20px;--spacing-xl:24px;--spacing-2xl:32px;--spacing-3xl:40px;--spacing-4xl:48px;--spacing-5xl:64px;--radius-xs:6px;--radius-sm:10px;--radius-md:12px;--radius-base:16px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:32px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(60,45,20,.04);--shadow-sm:0 2px 8px rgba(60,45,20,.06);--shadow-base:0 4px 12px rgba(60,45,20,.08);--shadow-md:0 8px 24px rgba(60,45,20,.10);--shadow-lg:0 16px 48px rgba(60,45,20,.12);--shadow-xl:0 24px 64px rgba(60,45,20,.15);--shadow-float:0 20px 60px rgba(60,45,20,.15);--shadow-glow-primary:0 8px 24px rgba(124,182,157,.25);--shadow-glow-warm:0 8px 24px rgba(200,137,62,.22);--font-display:'Noto Serif SC','Source Han Serif SC','STSong','SimSun',serif;--font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;--font-mono:'GeistMono','SF Mono',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;--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);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-ink:cubic-bezier(.65,0,.35,1);--duration-75:75ms;--duration-100:100ms;--duration-150:150ms;--duration-200:200ms;--duration-300:300ms;--duration-400:400ms;--duration-500:500ms;--z-base:0;--z-sticky:200;--z-fixed:300;--z-overlay:100;--z-panel:101;--z-modal:400;--z-popover:500;--z-toast:600;--skeleton-base:#F0E8D6;--skeleton-shine:#FFFBF3;--skeleton-accent:#E8DEC8;--seasonal-accent:var(--color-primary);--seasonal-soft:var(--color-primary-soft);--bg:var(--color-bg);--bg2:var(--color-bg-soft);--surface:var(--color-surface);--surface-variant:var(--color-surface-2);--ink:var(--color-ink);--ink2:var(--color-ink-soft);--muted:var(--color-muted);--rule:var(--color-rule);--border-light:var(--color-border-soft);--accent-50:var(--color-primary-50);--accent-100:var(--color-primary-100);--accent-200:var(--color-primary-200);--accent-300:var(--color-primary-300);--accent-400:var(--color-primary-400);--accent-500:var(--color-primary-500);--accent-600:var(--color-primary-600);--accent-700:var(--color-primary-700);--accent-800:var(--color-primary-800);--accent-900:var(--color-primary-900);--accent:var(--color-primary);--accent-light:var(--color-primary-soft);--accent2-50:var(--color-secondary-50);--accent2-100:var(--color-secondary-100);--accent2-200:var(--color-secondary-200);--accent2-300:var(--color-secondary-300);--accent2-400:var(--color-secondary-400);--accent2-500:var(--color-secondary-500);--accent2-600:var(--color-secondary-600);--accent2-700:var(--color-secondary-700);--accent2-800:var(--color-secondary-800);--accent2-900:var(--color-secondary-900);--accent2:var(--color-secondary);--accent2-light:var(--color-secondary-soft);--success:var(--color-success);--success-light:var(--color-success-soft);--warning:var(--color-warning);--warning-light:var(--color-warning-soft);--danger:var(--color-danger);--danger-light:var(--color-danger-soft);--info:var(--color-info);--info-light:var(--color-info-soft);--on-accent:var(--color-on-primary);--space-1:var(--spacing-xs);--space-2:var(--spacing-sm);--space-3:var(--spacing-md);--space-4:var(--spacing-base);--space-5:var(--spacing-lg);--space-6:var(--spacing-xl);--space-8:var(--spacing-2xl);--space-10:var(--spacing-3xl);--space-12:var(--spacing-4xl);--space-16:var(--spacing-5xl);--radius:var(--radius-base);--shadow:var(--shadow-base);--fw-1:var(--color-wuxing-wood);--fw-2:var(--color-wuxing-earth);--fw-3:var(--color-wuxing-water);--fw-4:var(--color-wuxing-fire);--fw-5:var(--color-primary-500);--fw-6:var(--color-secondary-300);--fw-7:var(--color-danger);--fw-8:var(--color-primary-300)}.solar-lichun{--seasonal-accent:#A8C97F;--seasonal-soft:#E8F0D8}.solar-yushui{--seasonal-accent:#9DBE8C;--seasonal-soft:#E4ECDA}.solar-jingzhe{--seasonal-accent:#8E7CB5;--seasonal-soft:#E2DCEF}.solar-chunfen{--seasonal-accent:#7CB69D;--seasonal-soft:#DCEDE2}.solar-qingming{--seasonal-accent:#6FAE6E;--seasonal-soft:#D8EBC8}.solar-guyu{--seasonal-accent:#C4A96A;--seasonal-soft:#EDE2C8}.solar-lixia{--seasonal-accent:#4A9D5F;--seasonal-soft:#D2E8D8}.solar-xiaoman{--seasonal-accent:#B5A04A;--seasonal-soft:#EDE8C8}.solar-mangzhong{--seasonal-accent:#D04A3D;--seasonal-soft:#F4D2CD}.solar-xiazhi{--seasonal-accent:#C8602E;--seasonal-soft:#F4D9CC}.solar-xiaoshu{--seasonal-accent:#E07B3F;--seasonal-soft:#F8E0CC}.solar-dashu{--seasonal-accent:#B33A2E;--seasonal-soft:#F0C8C2}.solar-liqiu{--seasonal-accent:#C8893E;--seasonal-soft:#FAE6CC}.solar-chushu{--seasonal-accent:#B5824A;--seasonal-soft:#F0E0C8}.solar-bailu{--seasonal-accent:#A8B0B5;--seasonal-soft:#E2E6E8}.solar-qiufen{--seasonal-accent:#B5482E;--seasonal-soft:#F4D9CC}.solar-hanlu{--seasonal-accent:#D4A03A;--seasonal-soft:#F8E8C8}.solar-shuangjiang{--seasonal-accent:#8C5A3A;--seasonal-soft:#E8D8C8}.solar-lidong{--seasonal-accent:#5A6B7A;--seasonal-soft:#D8E0E8}.solar-xiaoxue{--seasonal-accent:#8B95A9;--seasonal-soft:#E0E4EC}.solar-daxue{--seasonal-accent:#6B7B8C;--seasonal-soft:#D8E0E8}.solar-dongzhi{--seasonal-accent:#3A4A5C;--seasonal-soft:#C8D2DC}.solar-xiaohan{--seasonal-accent:#4A4055;--seasonal-soft:#D8D2DC}.solar-dahan{--seasonal-accent:#2C3A4A;--seasonal-soft:#C8D0D8}body.dark{--color-bg:#1A1410;--color-bg-soft:#241D16;--color-surface:#2A2218;--color-surface-2:#332A20;--color-ink:#F5EFE0;--color-ink-soft:#C8BCA0;--color-muted:#948670;--color-rule:#3A3024;--color-border:#3A3024;--color-border-soft:#2A2218;--color-primary-50:#0A1A12;--color-primary-100:#122820;--color-primary-200:#1C3A2C;--color-primary-300:#2D5241;--color-primary-400:#4A8469;--color-primary-500:#6BA88A;--color-primary-600:#8FC9B0;--color-primary-700:#A8DBBE;--color-primary-800:#C8E8D2;--color-primary-900:#E0F0E4;--color-primary:var(--color-primary-500);--color-primary-soft:rgba(107,168,138,.16);--color-secondary-50:#2A1E0A;--color-secondary-100:#3A2A12;--color-secondary-200:#4F3818;--color-secondary-300:#6B4820;--color-secondary-400:#8A5820;--color-secondary-500:#C8983E;--color-secondary-600:#E5B85C;--color-secondary-700:#F2CB7A;--color-secondary-800:#F8E0A8;--color-secondary-900:#FCEFC8;--color-secondary:var(--color-secondary-500);--color-secondary-soft:rgba(200,152,62,.14);--color-success:#6BA88A;--color-success-soft:rgba(107,168,138,.16);--color-warning:#E5B85C;--color-warning-soft:rgba(229,184,92,.14);--color-danger:#E07B5C;--color-danger-soft:rgba(224,123,92,.14);--color-info:#8FA8C8;--color-info-soft:rgba(143,168,200,.14);--color-on-primary:#1A1410;--shadow-xs:0 1px 2px rgba(0,0,0,.35);--shadow-sm:0 2px 8px rgba(0,0,0,.38);--shadow-base:0 4px 12px rgba(0,0,0,.45);--shadow-md:0 8px 24px rgba(0,0,0,.55);--shadow-lg:0 16px 48px rgba(0,0,0,.65);--shadow-xl:0 24px 64px rgba(0,0,0,.75);--shadow-float:0 20px 60px rgba(0,0,0,.70);--shadow-glow-primary:0 8px 24px rgba(107,168,138,.30);--shadow-glow-warm:0 8px 24px rgba(200,152,62,.28);--skeleton-base:#2A2218;--skeleton-shine:#3A3024;--skeleton-accent:#332A20}body.dark{background:var(--color-bg);color:var(--color-ink)}body.dark .habit-card{background:rgba(42,34,24,.85);border-color:rgba(245,239,224,.06)}body.dark .habit-card:hover{background:rgba(107,168,138,.06)}body.dark .stat-card,body.dark .mini-quote,body.dark .profile-stat-item,body.dark .mg-stat-card{background:rgba(42,34,24,.85);border-color:rgba(245,239,224,.06);box-shadow:0 2px 8px rgba(0,0,0,.40),inset 0 1px 0 rgba(245,239,224,.04)}body.dark .mini-header{background:linear-gradient(180deg,rgba(107,168,138,.08) 0%,transparent 100%)}body.dark #bottomNav{background:#1a1410;border-top-color:rgba(245,239,224,.08);box-shadow:0 -4px 24px rgba(0,0,0,.45)}.habit-card,.stat-card,.mini-quote,.profile-stat-item,.mg-stat-card,.lib-card{background-color:var(--color-surface);background-image:radial-gradient(circle at 20% 0%,rgba(124,182,157,.04) 0%,transparent 50%),radial-gradient(circle at 100% 100%,rgba(200,137,62,.03) 0%,transparent 50%);border:1px solid var(--color-border-soft);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.habit-card{border-radius:var(--radius-base);padding:14px 16px;margin-bottom:6px;position:relative;overflow:hidden;transition:transform var(--duration-200) var(--ease),box-shadow var(--duration-200) var(--ease),background-color var(--duration-200) var(--ease)}.habit-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--color-primary-300),var(--color-primary-500));opacity:0;transition:opacity var(--duration-200) var(--ease)}.habit-card:hover::before{opacity:1}.habit-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.habit-card:active{transform:scale(.99)}.habit-card.done-card{opacity:.62}.habit-card.done-card::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient( -45deg,transparent 0,transparent 8px,rgba(124,182,157,.04) 8px,rgba(124,182,157,.04) 9px );pointer-events:none}.habit-card[data-period="morning"],.habit-card.morning-period{background-image:linear-gradient(90deg,rgba(200,137,62,.10) 0%,transparent 40%),radial-gradient(circle at 0% 50%,rgba(200,137,62,.06),transparent 50%)}.habit-card[data-period="morning"]::before,.habit-card.morning-period::before{background:linear-gradient(180deg,#E5A85C,#C8893E)}.habit-card[data-period="afternoon"],.habit-card.afternoon-period{background-image:linear-gradient(90deg,rgba(124,182,157,.10) 0%,transparent 40%),radial-gradient(circle at 0% 50%,rgba(124,182,157,.06),transparent 50%)}.habit-card[data-period="evening"],.habit-card.evening-period{background-image:linear-gradient(90deg,rgba(176,72,46,.08) 0%,transparent 40%),radial-gradient(circle at 0% 50%,rgba(176,72,46,.05),transparent 50%)}.habit-card[data-period="evening"]::before,.habit-card.evening-period::before{background:linear-gradient(180deg,#B5482E,#873D1D)}.habit-card[data-period="night"],.habit-card.night-period{background-image:linear-gradient(90deg,rgba(58,74,92,.10) 0%,transparent 40%),radial-gradient(circle at 0% 50%,rgba(58,74,92,.06),transparent 50%)}.habit-card[data-period="night"]::before,.habit-card.night-period::before{background:linear-gradient(180deg,#5A6B7A,#3A4A5C)}.habit-card .icon{background:linear-gradient(135deg,var(--color-primary-soft),var(--color-secondary-soft));box-shadow:0 2px 8px rgba(124,182,157,.18)}.habit-card .streak{color:var(--color-primary-700);background:var(--color-primary-soft);letter-spacing:.3px}.habit-card .checkin-btn.pending{background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-600));box-shadow:var(--shadow-glow-primary)}.time-group .habit-card{border-radius:0 !important;background:transparent !important;background-image:none !important;border:none !important;border-bottom:1px solid var(--color-border-soft) !important;margin-bottom:0 !important}.time-group .habit-card::before{display:none}.time-group-header{border-left:4px solid var(--seasonal-accent,var(--color-primary));background:rgba(232,222,200,.40)}.time-group-icon{background:linear-gradient(135deg,var(--color-primary-soft),var(--color-secondary-soft))}.stat-card{border-radius:var(--radius-lg);padding:20px 14px;text-align:center;position:relative;overflow:hidden}.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--seasonal-accent,var(--color-primary)),var(--color-secondary));opacity:.7;transition:opacity var(--duration-300) var(--ease)}.stat-card:hover::before{opacity:1}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.stat-val{background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-600));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px;font-family:var(--font-display);font-weight:700}.stat-card.points-card{background-image:linear-gradient(135deg,rgba(200,137,62,.12),rgba(200,152,62,.04));border-color:rgba(200,137,62,.25)}.stat-card.points-card::before{background:linear-gradient(90deg,var(--color-secondary-300),var(--color-secondary-500))}.stat-card.points-card .stat-val{-webkit-text-fill-color:var(--color-secondary-500)}.mini-quote{border-radius:var(--radius-lg);padding:22px 24px 18px;position:relative;overflow:visible;border:1px solid var(--color-border-soft);background-image:linear-gradient(135deg,rgba(124,182,157,.05),transparent 60%),radial-gradient(circle at 100% 0%,rgba(200,137,62,.05),transparent 50%)}.mini-quote::before{content:'\201C';position:absolute;top:-14px;left:18px;font-size:60px;font-family:Georgia,var(--font-display),serif;font-weight:900;line-height:1;color:var(--color-primary-300);opacity:.55;text-shadow:0 2px 4px rgba(124,182,157,.15)}.mini-quote-text{font-size:15px;font-weight:500;color:var(--color-ink);line-height:1.85;padding-left:14px;border-left:3px solid var(--seasonal-accent,var(--color-primary-300));font-style:italic}.mini-quote-source{font-size:12px;color:var(--seasonal-accent,var(--color-primary-600));font-weight:600;text-align:right;margin-top:10px;opacity:.9;font-family:var(--font-display)}.mini-quote:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.profile-stat-item{border-radius:var(--radius-base);position:relative;overflow:hidden;transition:transform var(--duration-200) var(--ease),box-shadow var(--duration-200) var(--ease)}.profile-stat-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.profile-stat-item:active{transform:scale(.96)}.profile-stat-item.points-item{background-image:linear-gradient(135deg,rgba(200,137,62,.12),rgba(200,152,62,.04));border-color:rgba(200,137,62,.22)}#bottomNav{background:#fffbf3;border-top:1px solid rgba(232,222,200,.6);padding-bottom:max(8px,env(safe-area-inset-bottom));box-shadow:0 -4px 24px rgba(60,45,20,.08)}.bnav-item.active{color:var(--seasonal-accent,var(--color-primary))}.bnav-item.active::after{background:linear-gradient(90deg,var(--seasonal-accent,var(--color-primary)),var(--color-secondary));box-shadow:0 2px 6px rgba(124,182,157,.30)}.bnav-center{background:linear-gradient(135deg,var(--color-primary-400) 0%,var(--color-secondary-400) 100%);box-shadow:0 8px 24px rgba(124,182,157,.40),0 4px 12px rgba(200,137,62,.28)}.bnav-center::before{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary))}.bnav-center:hover{box-shadow:0 12px 32px rgba(124,182,157,.50),0 6px 16px rgba(200,137,62,.38)}.time-group[data-period="morning"] .time-group-icon,.time-group.morning-period .time-group-icon{background:linear-gradient(135deg,#FAE6CC,#F2CB97)}.time-group[data-period="afternoon"] .time-group-icon,.time-group.afternoon-period .time-group-icon{background:linear-gradient(135deg,#DCEDE2,#BCDBCA)}.time-group[data-period="evening"] .time-group-icon,.time-group.evening-period .time-group-icon{background:linear-gradient(135deg,#F4D9CC,#EC9B70)}.time-group[data-period="night"] .time-group-icon,.time-group.night-period .time-group-icon{background:linear-gradient(135deg,#D8E0E8,#A8B0B5)}.panel-overlay{position:fixed;inset:0;background:radial-gradient(circle at 50% 100%,rgba(60,45,20,.45),rgba(26,20,16,.55));z-index:var(--z-overlay);opacity:0;pointer-events:none;transition:opacity var(--duration-300) var(--ease);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.panel-overlay.show{opacity:1;pointer-events:auto}.panel{position:fixed;bottom:0;left:50%;transform:translate3d(-50%,100%,0);width:100%;max-width:480px;max-height:85vh;background:var(--color-surface);background-image:linear-gradient(180deg,rgba(124,182,157,.04) 0%,transparent 80px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:var(--z-panel);visibility:hidden;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -8px 32px rgba(60,45,20,.18);will-change:transform,opacity;backface-visibility:hidden;transition:transform var(--duration-300) var(--ease),visibility 0s linear var(--duration-300);padding-bottom:env(safe-area-inset-bottom)}.panel.show{transform:translate3d(-50%,0,0);visibility:visible;transition:transform var(--duration-400) var(--ease-spring),visibility 0s;animation:panelIn var(--duration-400) var(--ease-spring)}@keyframes panelIn{0%{transform:translate3d(-50%,100%,0);opacity:.4}60%{transform:translate3d(-50%,-4%,0);opacity:1}100%{transform:translate3d(-50%,0,0);opacity:1}}.panel-handle{width:44px;height:5px;background:var(--color-rule);border-radius:var(--radius-full);margin:12px auto 8px;position:relative;transition:background var(--duration-200) var(--ease),transform var(--duration-200) var(--ease)}.panel-handle::after{content:'';position:absolute;inset:-6px -10px;border-radius:inherit;background:transparent}.panel.show .panel-handle{background:linear-gradient(90deg,var(--color-primary-300),var(--color-secondary-300))}.panel:hover .panel-handle{transform:scaleX(1.1)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 14px;border-bottom:1px solid var(--color-border-soft);background:linear-gradient(180deg,rgba(124,182,157,.03),transparent)}.panel-title{font-size:17px;font-weight:700;color:var(--color-ink);font-family:var(--font-display);letter-spacing:.5px}.panel-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--color-muted);border-radius:var(--radius-md);transition:transform var(--duration-200) var(--ease-bounce),background-color var(--duration-200) var(--ease),color var(--duration-200) var(--ease)}.panel-close:hover{background:var(--color-bg-soft);color:var(--color-ink);transform:rotate(90deg)}.panel-close:active{background:var(--color-rule);transform:rotate(90deg) scale(.92)}.panel-body{flex:1;overflow-y:auto;padding:18px 20px;-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.show .panel-header,.panel.show .panel-body > *{animation:panelChildFade var(--duration-300) var(--ease-out) both}.panel.show .panel-header{animation-delay:80ms}.panel.show .panel-body > *:nth-child(1){animation-delay:120ms}.panel.show .panel-body > *:nth-child(2){animation-delay:160ms}.panel.show .panel-body > *:nth-child(3){animation-delay:200ms}.panel.show .panel-body > *:nth-child(4){animation-delay:240ms}.panel.show .panel-body > *:nth-child(5){animation-delay:280ms}.panel.show .panel-body > *:nth-child(n+6){animation-delay:320ms}@keyframes panelChildFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes skeletonShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.skeleton{background:linear-gradient( 90deg,var(--skeleton-base) 0%,var(--skeleton-base) 40%,var(--skeleton-shine) 50%,var(--skeleton-base) 60%,var(--skeleton-base) 100% );background-size:200% 100%;animation:skeletonShimmer 1.6s var(--ease-ink) infinite;border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(124,182,157,.06),transparent 70%);pointer-events:none}.skeleton-text{height:12px;margin-bottom:6px;border-radius:var(--radius-xs)}.skeleton-text-sm{height:10px;width:60%}.skeleton-text-lg{height:16px;width:80%}.skeleton-title{height:18px;width:50%;margin-bottom:10px}.skeleton-circle{width:40px;height:40px;border-radius:50%;flex-shrink:0}.skeleton-circle-lg{width:56px;height:56px;border-radius:50%}.skeleton-block{height:80px;border-radius:var(--radius-base)}.skeleton-card{height:100px;border-radius:var(--radius-lg)}.skeleton-habit{display:flex;align-items:center;gap:14px;padding:14px 16px;margin-bottom:6px;background:var(--color-surface);border-radius:var(--radius-base);border:1px solid var(--color-border-soft)}.skeleton-habit .sk-icon{width:40px;height:40px;border-radius:var(--radius-md)}.skeleton-habit .sk-body{flex:1}.skeleton-habit .sk-body .skeleton-text{margin-bottom:8px}.skeleton-stat{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 14px;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-soft)}.skeleton-stat .sk-val{width:60px;height:28px}.skeleton-stat .sk-lbl{width:40px;height:10px}.skeleton-quote{padding:22px 24px;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-soft)}.skeleton-quote .skeleton-text{height:13px;margin-bottom:10px;line-height:1.8}.skeleton-quote .sk-source{width:30%;height:11px;margin-top:14px;margin-left:auto}.skeleton-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.skeleton-header .sk-left{flex:1}.skeleton-header .sk-left .skeleton-text{height:14px;margin-bottom:8px}.skeleton-header .sk-badge{width:70px;height:24px;border-radius:var(--radius-sm)}.loading-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-primary-400);animation:loadingPulse 1.2s var(--ease) infinite}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes loadingPulse{0%,80%,100%{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.loading-spinner{width:24px;height:24px;border:2.5px solid var(--color-primary-soft);border-top-color:var(--color-primary-400);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.section-title,.panel-title,.mini-date .day-num,.stat-val,.mini-quote-source,.time-group-name{font-family:var(--font-display)}.mini-header{padding:20px 16px 12px;margin:-20px -16px 0 -16px;background:linear-gradient(180deg,rgba(124,182,157,.10) 0%,transparent 100%);position:relative}.mini-header::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-primary-300) 0%,var(--color-secondary-300) 50%,var(--color-wuxing-fire) 100%);opacity:.6}.mini-date .day-num{font-size:42px;font-weight:700;color:var(--seasonal-accent,var(--color-primary));line-height:1;letter-spacing:-1px}.mini-badge{background:linear-gradient(135deg,var(--color-primary-400),var(--color-secondary-400));box-shadow:0 2px 6px rgba(124,182,157,.25)}.mini-points-badge{color:var(--color-secondary-600);background:linear-gradient(135deg,var(--color-secondary-100),var(--color-secondary-200));border:1px solid rgba(200,137,62,.30);box-shadow:0 2px 6px rgba(200,137,62,.15)}.panel,#bottomNav{padding-bottom:max(8px,env(safe-area-inset-bottom))}.panel-header{padding-top:max(12px,env(safe-area-inset-top))}body{padding-top:env(safe-area-inset-top)}.lib-search,.mg-search,.config-input,.checkin-input-field,.lib-custom-input input,.lib-custom-time input[type="time"]{background:var(--color-surface);border-color:var(--color-border);color:var(--color-ink)}.lib-search:focus,.mg-search:focus,.config-input:focus,.checkin-input-field:focus,.lib-custom-input input:focus{border-color:var(--color-primary-400);box-shadow:0 0 0 3px rgba(124,182,157,.15)}.lib-search-btn,.lib-custom-input button,.health-pack-btn{background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-600));box-shadow:var(--shadow-glow-primary)}.lib-search-btn:active,.lib-custom-input button:active{background:var(--color-primary-600)}.const-btn{background:linear-gradient(135deg,var(--color-primary-400),var(--color-secondary-400));box-shadow:0 4px 16px rgba(124,182,157,.30),0 2px 4px rgba(124,182,157,.10)}.checkin-segmented{background:var(--color-bg-soft)}.checkin-segment.active{background:var(--color-surface);color:var(--color-primary-600);box-shadow:var(--shadow-sm)}.lib-tab{background:var(--color-bg-soft);color:var(--color-muted)}.lib-tab.active{background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-500));color:var(--color-on-primary)}.tab.active{background:linear-gradient(135deg,var(--color-primary-400),var(--color-secondary-400));box-shadow:0 2px 8px rgba(124,182,157,.30)}:root{--yh-0:#F0E8D6;--yh-1:#DCEDE2;--yh-2:#9CC9B0;--yh-3:#5E9E83;--yh-4:#3A6A55}body.dark{--yh-0:#2A2218;--yh-1:#1C3A2C;--yh-2:#2D5241;--yh-3:#4A8469;--yh-4:#6BA88A}.habit-card,.stat-card,.mini-quote,.profile-stat-item,.panel,.skeleton{transform:translateZ(0);backface-visibility:hidden;contain:layout paint}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}.skeleton{animation:none;background:var(--skeleton-base)}}@media (max-width:360px){.stat-card{padding:16px 10px}.stat-val{font-size:26px}.mini-quote{padding:18px 18px 14px}.mini-quote::before{font-size:48px;left:14px;top:-12px}.habit-card{padding:12px 14px;gap:10px}.habit-card .icon{width:36px;height:36px}.panel-body{padding:14px 16px}.panel-title{font-size:16px}.lib-grid{grid-template-columns:repeat(2,1fr);gap:8px}}@media (min-width:481px){body{box-shadow:0 0 40px rgba(60,45,20,.08)}}
.habit-card,.stat-card,.mini-quote,.profile-stat-item,.mg-group,.mg-stat-card{border-radius:16px}.habit-card .icon{border-radius:12px}.reminder-option{border-radius:14px}.stat-card,.mini-quote,.profile-stat-item,.reminder-option{box-shadow:var(--shadow-sm)}.habit-card,.stat-card,.mini-quote,.profile-stat-item,.reminder-option,.mg-group{transition:transform 200ms var(--ease),box-shadow 200ms var(--ease),background-color 200ms var(--ease),border-color 200ms var(--ease)}.const-btn{border-radius:14px}.lib-search-btn{border-radius:12px}.const-btn{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 4px 16px rgba(16,185,129,.3),0 2px 4px rgba(16,185,129,.1);transition:transform 200ms var(--ease),box-shadow 200ms var(--ease)}.const-btn::before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient( 135deg,rgba(255,255,255,.25) 0%,transparent 50%,rgba(255,255,255,.05) 100% );pointer-events:none}.const-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(16,185,129,.35),0 4px 8px rgba(245,158,11,.15)}.const-btn:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px rgba(16,185,129,.2)}.lib-tab{transition:all 200ms var(--ease)}.lib-tab.active{box-shadow:0 4px 12px rgba(16,185,129,.3);transform:scale(1.02)}.lib-tab:not(.active):hover{background:var(--accent-50);color:var(--accent-700);border-color:var(--accent-200)}.lib-search-btn{background:linear-gradient(135deg,var(--accent),var(--accent-600));box-shadow:0 4px 12px rgba(16,185,129,.25);transition:all 200ms var(--ease)}.lib-search-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(16,185,129,.35)}.lib-search-btn:active{transform:scale(.96)}.theme-toggle{border-radius:14px;overflow:hidden}.theme-toggle .theme-slider{border-radius:14px;transition:background 350ms var(--ease),border-color 350ms var(--ease),box-shadow 350ms var(--ease);box-shadow:inset 0 1px 3px rgba(0,0,0,.1)}.theme-toggle .theme-slider::before{width:18px;height:18px;transition:transform 350ms cubic-bezier(.68,-.15,.265,1.35),box-shadow 350ms var(--ease),background 350ms var(--ease);box-shadow:0 2px 6px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.1)}.theme-toggle .theme-checkbox:checked ~ .theme-slider{background:linear-gradient(135deg,var(--accent),var(--accent-400));border-color:var(--accent);box-shadow:inset 0 1px 3px rgba(16,185,129,.3),0 0 12px rgba(16,185,129,.2)}.theme-toggle .theme-checkbox:checked ~ .theme-slider::before{transform:translateX(26px);background:var(--accent-600);box-shadow:0 2px 8px rgba(16,185,129,.35),0 0 0 3px rgba(16,185,129,.12)}.toggle-switch{border-radius:14px;transition:background 350ms var(--ease),box-shadow 350ms var(--ease);box-shadow:inset 0 1px 3px rgba(0,0,0,.08)}.toggle-switch::after{width:22px;height:22px;top:3px;left:3px;transition:transform 350ms cubic-bezier(.68,-.15,.265,1.35),box-shadow 350ms var(--ease);box-shadow:0 2px 6px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.08)}.toggle-switch.on{background:linear-gradient(135deg,var(--accent),var(--accent-400));box-shadow:inset 0 1px 3px rgba(16,185,129,.3),0 0 12px rgba(16,185,129,.2)}.toggle-switch.on::after{transform:translateX(26px);box-shadow:0 2px 8px rgba(16,185,129,.35),0 0 0 3px rgba(16,185,129,.12)}.reminder-option .radio{border-radius:50%;border:2px solid var(--rule);transition:all 250ms var(--ease);position:relative}.reminder-option .radio::after{content:'';width:var(--rb-dot-size);height:var(--rb-dot-size);border-radius:50%;background:var(--accent);transform:scale(0);transition:transform 300ms cubic-bezier(.34,1.56,.64,1),box-shadow 250ms var(--ease)}.reminder-option:hover .radio{border-color:var(--accent-400)}.reminder-option:hover .radio::after{transform:scale(.4);opacity:.3}.reminder-option .radio.active{border-color:var(--accent);box-shadow:0 0 0 3px rgba(16,185,129,.15)}.reminder-option .radio.active::after{transform:scale(1);opacity:1;box-shadow:0 0 6px rgba(16,185,129,.3)}.reminder-option{transition:transform 200ms var(--ease),box-shadow 200ms var(--ease),border-color 200ms var(--ease);cursor:pointer}.reminder-option:hover{box-shadow:var(--shadow);border-color:var(--accent-200);transform:translateY(-1px)}.reminder-option:active{transform:scale(.98)}.mg-search{border-radius:14px;border:2px solid var(--rule);transition:border-color 250ms var(--ease),box-shadow 250ms var(--ease),background-color 250ms var(--ease)}.mg-search:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(16,185,129,.1),var(--shadow-sm);background:#fff}.lib-search{border-radius:12px;border:2px solid var(--rule);transition:border-color 250ms var(--ease),box-shadow 250ms var(--ease)}.lib-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(16,185,129,.1)}.config-input{border-radius:12px;border:2px solid var(--rule);transition:border-color 250ms var(--ease),box-shadow 250ms var(--ease),background-color 250ms var(--ease)}.config-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(16,185,129,.1);background:var(--surface)}.checkin-input-field{border-radius:16px;border:3px solid var(--rule);transition:border-color 250ms var(--ease),box-shadow 250ms var(--ease),transform 150ms var(--ease)}.checkin-input-field:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(16,185,129,.12),0 4px 12px rgba(16,185,129,.15)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(16,185,129,.15)}.mini-quote{border-radius:16px;border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow-sm);transition:transform 250ms var(--ease),box-shadow 250ms var(--ease)}.mini-quote::after{content:'';position:absolute;top:0;left:0;right:0;height:50%;border-radius:16px 16px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent);pointer-events:none;z-index:0}.mini-quote:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.stat-card{border-radius:16px;box-shadow:var(--shadow-sm);transition:transform 250ms var(--ease),box-shadow 250ms var(--ease)}.stat-card::after{content:'';position:absolute;top:0;left:0;right:0;height:40%;border-radius:16px 16px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.15),transparent);pointer-events:none}.profile-stat-item{border-radius:14px;box-shadow:var(--shadow-sm);transition:transform 200ms var(--ease),box-shadow 200ms var(--ease)}.profile-stat-item::after{content:'';position:absolute;top:0;left:0;right:0;height:40%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.15),transparent);pointer-events:none}.profile-stat-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.panel-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;font-size:18px;background:var(--bg2);color:var(--ink2);transition:all 200ms var(--ease);box-shadow:0 1px 4px rgba(0,0,0,.06)}.panel-close:hover{background:var(--rule);color:var(--ink);transform:rotate(90deg);box-shadow:0 2px 8px rgba(0,0,0,.1)}.panel-close:active{transform:rotate(90deg) scale(.92);background:var(--accent-100)}.panel-handle{width:40px;height:4px;border-radius:2px;background:var(--rule);margin:12px auto 8px;opacity:.6;transition:opacity 200ms var(--ease)}.panel:hover .panel-handle{opacity:1}.bnav-item{border-radius:14px;transition:all 250ms var(--ease)}.bnav-item.active{background:rgba(16,185,129,.08)}.bnav-item.active::after{width:28px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 2px 8px rgba(16,185,129,.35)}.bnav-center{box-shadow:0 6px 20px rgba(16,185,129,.35),0 3px 8px rgba(245,158,11,.2),inset 0 1px 0 rgba(255,255,255,.2);transition:all 250ms var(--ease)}.bnav-center::before{display:none}.bnav-center::after{content:'';position:absolute;inset:0;border-radius:50%;background:linear-gradient( 135deg,rgba(255,255,255,.2) 0%,transparent 50% );pointer-events:none}.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-100px);background:linear-gradient(135deg,var(--ink),var(--ink2));color:#fff;padding:12px 24px;border-radius:14px;font-size:13px;font-weight:600;z-index:var(--z-toast);transition:transform 350ms cubic-bezier(.34,1.56,.64,1),opacity 250ms var(--ease);white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis;box-shadow:0 8px 24px rgba(15,23,42,.2),0 2px 6px rgba(15,23,42,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.toast.show{transform:translateX(-50%) translateY(0)}.toast.toast-success{background:linear-gradient(135deg,var(--accent-600),var(--accent-700));box-shadow:0 8px 24px rgba(16,185,129,.25),0 2px 6px rgba(16,185,129,.1)}.toast.toast-error{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 8px 24px rgba(239,68,68,.25),0 2px 6px rgba(239,68,68,.1)}.toast.toast-warning{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 8px 24px rgba(245,158,11,.25),0 2px 6px rgba(245,158,11,.1)}.badge{transition:transform 250ms var(--ease),box-shadow 250ms var(--ease)}.badge-icon{border-radius:14px;transition:all 250ms var(--ease)}.badge:hover .badge-icon{box-shadow:0 4px 12px rgba(16,185,129,.2),0 0 0 3px rgba(16,185,129,.1)}.habit-tag,.level-badge,.streak-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;transition:all 200ms var(--ease)}.settings-item{border-radius:12px;padding:14px 12px;margin:0 -12px;transition:background-color 200ms var(--ease);cursor:pointer;border-bottom-color:var(--rule)}.settings-item:last-child{border-bottom:none}.settings-item:hover{background-color:var(--bg2)}.settings-item:active{background-color:var(--accent-50)}.settings-item-icon{border-radius:10px;transition:transform 200ms var(--ease)}.settings-item:hover .settings-item-icon{transform:scale(1.08)}.settings-item-desc{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.5}.ps-val{display:block;font-size:22px;font-weight:800;color:var(--accent);letter-spacing:-.5px;line-height:1.2}.ps-label{font-size:10px;color:var(--muted);margin-top:6px;display:block;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.profile-stat-item:not(.points-item)::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:20px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--accent),var(--accent2));opacity:0;transition:opacity 250ms var(--ease)}.profile-stat-item:not(.points-item):hover::before{opacity:1}body.dark .stat-card,body.dark .mini-quote,body.dark .profile-stat-item,body.dark .mg-stat-card{box-shadow:0 2px 8px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.04)}body.dark .const-btn{background:linear-gradient(135deg,var(--accent),var(--accent-400));box-shadow:0 4px 16px rgba(16,185,129,.2),0 2px 4px rgba(0,0,0,.2)}body.dark .const-btn:hover{box-shadow:0 8px 24px rgba(16,185,129,.25),0 4px 8px rgba(0,0,0,.3)}body.dark .theme-toggle .theme-slider{box-shadow:inset 0 1px 4px rgba(0,0,0,.2)}body.dark .theme-toggle .theme-checkbox:checked ~ .theme-slider{background:linear-gradient(135deg,var(--accent),var(--accent-500));box-shadow:inset 0 1px 3px rgba(16,185,129,.4),0 0 16px rgba(16,185,129,.25)}body.dark .theme-toggle .theme-checkbox:checked ~ .theme-slider::before{background:var(--accent-400);box-shadow:0 2px 8px rgba(16,185,129,.4),0 0 0 3px rgba(16,185,129,.15)}body.dark .toggle-switch{box-shadow:inset 0 1px 4px rgba(0,0,0,.2)}body.dark .toggle-switch.on{background:linear-gradient(135deg,var(--accent),var(--accent-500));box-shadow:inset 0 1px 3px rgba(16,185,129,.4),0 0 16px rgba(16,185,129,.25)}body.dark .toggle-switch.on::after{box-shadow:0 2px 8px rgba(16,185,129,.4),0 0 0 3px rgba(16,185,129,.15)}body.dark .reminder-option .radio{border-color:rgba(255,255,255,.15)}body.dark .reminder-option:hover .radio{border-color:rgba(16,185,129,.4)}body.dark .reminder-option .radio.active{border-color:var(--accent);box-shadow:0 0 0 3px rgba(16,185,129,.2)}body.dark .reminder-option .radio.active::after{box-shadow:0 0 8px rgba(16,185,129,.4)}body.dark .mg-search{border-color:rgba(255,255,255,.08)}body.dark .mg-search:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(16,185,129,.12),0 2px 8px rgba(0,0,0,.2)}body.dark .lib-search{border-color:rgba(255,255,255,.08)}body.dark .lib-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(16,185,129,.12)}body.dark .config-input{border-color:rgba(255,255,255,.08);background:rgba(30,41,59,.6)}body.dark .config-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(16,185,129,.12);background:rgba(30,41,59,.8)}body.dark .checkin-input-field{background:var(--bg);border-color:rgba(255,255,255,.08)}body.dark .checkin-input-field:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(16,185,129,.15),0 4px 12px rgba(16,185,129,.2)}body.dark .mini-quote::after,body.dark .stat-card::after,body.dark .profile-stat-item::after{background:linear-gradient(180deg,rgba(255,255,255,.04),transparent)}body.dark .panel-close{background:rgba(255,255,255,.06);color:var(--ink2);box-shadow:0 1px 4px rgba(0,0,0,.2)}body.dark .panel-close:hover{background:rgba(255,255,255,.1);color:var(--ink)}body.dark .bnav-item.active{background:rgba(16,185,129,.1)}body.dark .settings-item:hover{background-color:rgba(255,255,255,.04)}body.dark .settings-item:active{background-color:rgba(16,185,129,.08)}body.dark .toast{background:linear-gradient(135deg,rgba(30,41,59,.95),rgba(15,23,42,.95));box-shadow:0 8px 24px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.2)}body.dark .toast.toast-success{background:linear-gradient(135deg,var(--accent-700),var(--accent-800))}body.dark .toast.toast-error{background:linear-gradient(135deg,#dc2626,#b91c1c)}body.dark .toast.toast-warning{background:linear-gradient(135deg,#d97706,#b45309)}body.dark .panel-handle{background:rgba(255,255,255,.15)}body.dark .bnav-center{box-shadow:0 8px 24px rgba(16,185,129,.25),0 4px 12px rgba(245,158,11,.15),0 0 0 2px rgba(16,185,129,.1),inset 0 1px 0 rgba(255,255,255,.15)}body.dark .lib-tab:not(.active):hover{background:rgba(16,185,129,.08);color:var(--accent-300)}@keyframes enhancePulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,.3)}70%{box-shadow:0 0 0 8px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}@keyframes enhanceBreathe{0%,100%{box-shadow:var(--shadow-sm)}50%{box-shadow:var(--shadow)}}.panel.show{animation:panelSlideIn 400ms cubic-bezier(.34,1.56,.64,1) forwards}@keyframes panelSlideIn{from{transform:translateX(-50%) translateY(100%)}to{transform:translateX(-50%) translateY(0)}}.date-nav{display:flex !important;align-items:center;justify-content:center;gap:6px;padding:10px 12px;margin:0 16px 12px;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px;border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow-sm);transition:box-shadow 250ms var(--ease)}.date-nav:hover{box-shadow:var(--shadow)}.date-nav-btn{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--ink2);transition:all 200ms var(--ease)}.date-nav-btn:hover{background:var(--accent-50);color:var(--accent-600);transform:scale(1.1)}.date-nav-btn:active{transform:scale(.92);background:var(--accent-100)}.date-nav-label{flex:1;text-align:center;font-size:14px;font-weight:700;color:var(--ink);letter-spacing:.3px;min-width:90px}.date-nav-home{font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-50);padding:5px 12px;border-radius:10px;text-decoration:none;transition:all 200ms var(--ease);border:1px solid var(--accent-100)}.date-nav-home:hover{background:var(--accent-100);transform:scale(1.05)}.checkin-segmented{position:relative;padding:4px;background:var(--bg2);border-radius:14px;box-shadow:inset 0 1px 3px rgba(0,0,0,.06)}.checkin-segment{position:relative;z-index:1;padding:9px 8px;font-size:13px;font-weight:600;color:var(--muted);transition:color 250ms var(--ease)}.checkin-segment.active{color:var(--accent-700);background:var(--bg);box-shadow:var(--shadow-sm),0 0 0 1px rgba(16,185,129,.1)}.checkin-segment:not(.active):hover{color:var(--ink2)}.date-nav + div > div[style*="text-align:center;padding:16px"] svg,#checkinContent > div > div[style*="text-align:center"] svg{filter:drop-shadow(0 4px 12px rgba(16,185,129,.2))}.habit-card.done-card{opacity:.65;background:rgba(16,185,129,.03)}.habit-card.done-card .name{text-decoration:line-through;text-decoration-color:var(--muted);text-decoration-thickness:1.5px;color:var(--muted)}.habit-card.done-card .icon{filter:grayscale(.3)}.habit-card .checkin-btn.pending{box-shadow:0 3px 10px rgba(16,185,129,.3),inset 0 1px 0 rgba(255,255,255,.25);transition:transform 150ms var(--ease),box-shadow 200ms var(--ease)}.habit-card .checkin-btn.pending:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(16,185,129,.4),inset 0 1px 0 rgba(255,255,255,.3)}.habit-card .checkin-btn.pending:active{transform:scale(.94)}.status-ribbon{width:4px;border-radius:0 3px 3px 0;transition:opacity 200ms var(--ease)}.status-ribbon.done{background:var(--accent);opacity:.6}.status-ribbon.overdue{background:var(--danger);opacity:.8}.status-ribbon.pending{background:var(--accent2);opacity:.4}.health-tip-inline{margin-top:6px;padding:8px 12px;background:linear-gradient(135deg,var(--accent-50),var(--accent2-50));border-radius:10px;border-left:3px solid var(--accent);font-size:11px;color:var(--ink2);line-height:1.6;transition:all 200ms var(--ease)}.health-tip-inline:hover{transform:translateX(2px);box-shadow:var(--shadow-xs)}.mg-empty{padding:60px 24px;background:rgba(255,255,255,.5);border-radius:20px;border:2px dashed var(--rule);margin:20px 0}.mg-empty-icon{font-size:56px;display:block;margin-bottom:16px;opacity:.6;animation:enhanceBreathe 3s ease-in-out infinite}.mg-stat-card{position:relative;overflow:hidden;transition:transform 250ms var(--ease),box-shadow 250ms var(--ease)}.mg-stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent2));opacity:.7;transition:opacity 250ms var(--ease)}.mg-stat-card.accent::before{opacity:1;height:4px}.mg-stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.mg-stat-card:hover::before{opacity:1}.mg-stat-num{font-size:26px;font-weight:800;letter-spacing:-.5px;line-height:1.2}.mg-stat-label{font-size:11px;font-weight:600;letter-spacing:.3px;margin-top:8px}.mg-weekly-report{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(248,250,252,.85));border:1px solid rgba(255,255,255,.7)}.mg-weekly-report::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--accent),var(--accent2));opacity:.8}.mg-weekly-title{font-size:15px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:6px}.mg-weekly-rate{font-size:24px;font-weight:800;letter-spacing:-.5px}.mg-weekly-progress{height:10px;background:var(--bg2);border-radius:5px;overflow:hidden;position:relative}.mg-weekly-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:5px;transition:width 800ms cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.mg-weekly-progress-bar::after{content:'';position:absolute;inset:0;background:linear-gradient( 90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100% );animation:progressShine 2s ease-in-out infinite}@keyframes progressShine{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.mg-weekly-item{padding:8px 12px;margin-top:6px;border-radius:10px;background:rgba(255,255,255,.5);transition:all 200ms var(--ease)}.mg-weekly-item:hover{background:rgba(255,255,255,.8);transform:translateX(2px)}.mg-weekly-item.best{border-left:3px solid var(--accent)}.mg-weekly-item.worst{border-left:3px solid var(--accent2)}.mg-group{position:relative;overflow:hidden;transition:transform 250ms var(--ease),box-shadow 250ms var(--ease)}.mg-group:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.mg-group#mg-group-morning .mg-group-header{border-left-color:var(--accent2)}.mg-group#mg-group-forenoon .mg-group-header{border-left-color:var(--accent)}.mg-group#mg-group-afternoon .mg-group-header{border-left-color:var(--fw-8)}.mg-group#mg-group-evening .mg-group-header{border-left-color:var(--fw-5)}.mg-group-header{padding:14px 18px;transition:background 200ms var(--ease)}.mg-group-icon{width:38px;height:38px;border-radius:12px;font-size:22px;transition:transform 250ms var(--ease)}.mg-group-header:hover .mg-group-icon{transform:scale(1.08) rotate(-5deg)}.mg-group-count{font-size:11px;font-weight:700;padding:4px 12px;border-radius:12px;letter-spacing:.3px}.mg-group-arrow{font-size:14px;transition:transform 300ms var(--ease)}.mg-item{padding:14px 18px;transition:all 200ms var(--ease);position:relative}.mg-item:hover{background:rgba(16,185,129,.05);transform:translateX(2px)}.mg-item:active{transform:translateX(2px) scale(.99)}.mg-item-icon{width:44px;height:44px;border-radius:13px;font-size:26px;transition:transform 250ms var(--ease)}.mg-item:hover .mg-item-icon{transform:scale(1.06)}.mg-item-name{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:5px}.mg-item-meta{gap:6px}.mg-item-type{font-size:10px;font-weight:600;padding:3px 10px;border-radius:8px;letter-spacing:.2px}.mg-item-toggle{width:52px;height:28px;border-radius:14px;box-shadow:inset 0 2px 4px rgba(0,0,0,.08);transition:background 300ms var(--ease),box-shadow 300ms var(--ease)}.mg-item-toggle.on{box-shadow:inset 0 1px 3px rgba(16,185,129,.3),0 0 12px rgba(16,185,129,.2)}.mg-item-toggle::after{width:22px;height:22px;top:3px;left:3px;transition:transform 300ms cubic-bezier(.68,-.15,.265,1.35),box-shadow 300ms var(--ease);box-shadow:0 2px 6px rgba(0,0,0,.15)}.mg-item-toggle.on::after{transform:translateX(24px);box-shadow:0 2px 8px rgba(16,185,129,.35),0 0 0 3px rgba(16,185,129,.12)}.mg-search-wrap{position:relative}.mg-add-btn{width:44px;height:44px;border-radius:14px;font-size:22px;transition:transform 250ms var(--ease),box-shadow 250ms var(--ease)}.mg-add-btn:hover{transform:scale(1.08) rotate(90deg);box-shadow:0 8px 24px rgba(16,185,129,.4)}.mg-add-btn:active{transform:scale(.92) rotate(45deg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(148,163,184,.4);border-radius:3px;transition:background 200ms var(--ease)}::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.6)}body.dark::-webkit-scrollbar-thumb{background:rgba(100,116,139,.4)}body.dark::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.6)}::selection{background:rgba(16,185,129,.2);color:var(--ink)}body.dark::selection{background:rgba(52,211,153,.25);color:var(--ink)}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}a{color:var(--accent-600);transition:color 150ms var(--ease)}a:hover{color:var(--accent-700)}body.dark a{color:var(--accent-400)}body.dark a:hover{color:var(--accent-300)}img{opacity:0;transition:opacity 300ms var(--ease)}img.loaded,img[loading="eager"]{opacity:1}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}.mg-weekly-progress-bar::after,.mg-empty-icon{animation:none !important}}body.dark .date-nav{background:rgba(30,41,59,.85);border-color:rgba(255,255,255,.06)}body.dark .date-nav-btn{color:var(--ink2)}body.dark .date-nav-btn:hover{background:rgba(52,211,153,.1);color:var(--accent)}body.dark .date-nav-home{background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.2);color:var(--accent)}body.dark .checkin-segmented{background:var(--bg2);box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}body.dark .checkin-segment.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm),0 0 0 1px rgba(52,211,153,.15)}body.dark .habit-card.done-card{background:rgba(52,211,153,.04)}body.dark .health-tip-inline{background:linear-gradient(135deg,rgba(52,211,153,.08),rgba(251,191,36,.06));border-left-color:var(--accent)}body.dark .mg-empty{background:rgba(30,41,59,.5);border-color:var(--rule)}body.dark .mg-stat-card{background:rgba(30,41,59,.85);border-color:rgba(255,255,255,.06)}body.dark .mg-stat-card::before{opacity:.8}body.dark .mg-weekly-report{background:linear-gradient(135deg,rgba(30,41,59,.9),rgba(15,23,42,.85));border-color:rgba(255,255,255,.06)}body.dark .mg-weekly-item{background:rgba(255,255,255,.04)}body.dark .mg-weekly-item:hover{background:rgba(255,255,255,.08)}body.dark .mg-weekly-progress{background:var(--bg2)}body.dark .mg-group-header{background:rgba(51,65,85,.5)}body.dark .mg-item:hover{background:rgba(52,211,153,.06)}@media (hover:none) and (pointer:coarse){.habit-card:hover,.mg-stat-card:hover,.mg-group:hover,.mg-item:hover,.mg-weekly-item:hover,.date-nav:hover,.mini-quote:hover,.stat-card:hover,.profile-stat-item:hover{transform:none;box-shadow:var(--shadow-sm)}.mg-group-icon:hover,.mg-item-icon:hover,.mg-item:hover .mg-item-icon,.mg-group-header:hover .mg-group-icon{transform:none}.health-tip-inline:hover{transform:none}}#skeleton{background:linear-gradient( 135deg,var(--bg) 0%,var(--bg2) 50%,var(--bg) 100% );background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite}@keyframes skeletonShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}#panelOverlay{transition:opacity 250ms var(--ease)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7;font-weight:400}body.dark input::placeholder,body.dark textarea::placeholder{color:var(--muted);opacity:.6}.mg-stat-num,.mg-weekly-rate,.mg-group-count,.ps-val,.pomo-timer-display{font-variant-numeric:tabular-nums;-webkit-font-variant-numeric:tabular-nums}
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{display:flex;justify-content:center;align-items:center;width:13rem;height:3rem;background-size:300% 300%;backdrop-filter:blur(1rem);border-radius:5rem;transition:.5s;animation:glass-gradient 5s ease infinite;border:double 4px transparent;background-image:linear-gradient(#212121,#212121),linear-gradient(137.48deg,#ffdb3b 10%,#FE53BB 45%,#8F51EA 67%,#04f 87%);background-origin:border-box;background-clip:content-box,border-box;color:#fff;box-shadow:0 4px 15px rgba(0,0,0,.2)}@keyframes glass-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}body.btn-glass .const-btn:hover,body.btn-glass .tab:hover,body.btn-glass .profile-grid-item:hover,body.btn-glass .mg-add-btn:hover,body.btn-glass .skin-tab:hover,body.btn-glass .bnav-center:hover,body.btn-glass .fab:hover,body.btn-glass .he-btn-save:hover,body.btn-glass .habit-card .checkin-btn:hover{transform:scale(1.1)}body.btn-glass .const-btn:active,body.btn-glass .bnav-center:active,body.btn-glass .fab:active,body.btn-glass .he-btn-save:active,body.btn-glass .habit-card .checkin-btn:active{border:double 4px #FE53BB;background-origin:border-box;background-clip:content-box,border-box;animation:none;transform:scale(.98)}body.btn-glass .skinnable-btn{display:flex;justify-content:center;align-items:center;width:13rem;height:3rem;background-size:300% 300%;backdrop-filter:blur(1rem);border-radius:5rem;transition:.5s;animation:glass-gradient 5s ease infinite;border:double 4px transparent;background-image:linear-gradient(#212121,#212121),linear-gradient(137.48deg,#ffdb3b 10%,#FE53BB 45%,#8F51EA 67%,#04f 87%);background-origin:border-box;background-clip:content-box,border-box;color:#fff;box-shadow:0 4px 15px rgba(0,0,0,.2)}body.btn-glass .skinnable-btn:hover{transform:scale(1.1)}body.btn-glass .skinnable-btn:active{border:double 4px #FE53BB;background-origin:border-box;background-clip:content-box,border-box;animation:none;transform:scale(.98)}body.btn-aero .const-btn,body.btn-aero .tab,body.btn-aero .health-pack-btn,body.btn-aero .profile-grid-item,body.btn-aero .mg-add-btn,body.btn-aero .settings-btn,body.btn-aero .checkin-input-actions button,body.btn-aero .mini-quote-refresh,body.btn-aero .mini-quote-ref,body.btn-aero .skin-tab,body.btn-aero .export-btn,body.btn-aero .day-btn,body.btn-aero .panel-close,body.btn-aero .bnav-item,body.btn-aero .bnav-center,body.btn-aero .fab,body.btn-aero .lib-tab,body.btn-aero .lib-custom-input button,body.btn-aero .lib-custom-type button,body.btn-aero .lib-custom-reminder-add,body.btn-aero .lib-custom-freq .weekdays button,body.btn-aero .lib-item .add-btn,body.btn-aero .health-pack-add-btn,body.btn-aero .season-pack-btn,body.btn-aero .season-pack-add-btn,body.btn-aero .water-quick-btn,body.btn-aero .water-qty-btn,body.btn-aero .water-custom-btn,body.btn-aero .heatmap-nav button,body.btn-aero .edit-bar button,body.btn-aero .emotion-btn,body.btn-aero .ref-tab,body.btn-aero .ref-lib-btn,body.btn-aero .sd-tab,body.btn-aero .he-btn,body.btn-aero .he-btn-save,body.btn-aero .skin-option,body.btn-aero .rh-btn,body.btn-aero .habit-card .checkin-btn,body.btn-aero .reminder-option{cursor:pointer;position:relative;padding:2px;border-radius:6px;border:0;text-shadow:1px 1px rgba(0,0,0,.4);background:linear-gradient(#006caa,#00c3ff);box-shadow:0 4px 6px rgba(0,0,0,.2);transition:.3s all;color:#fff}body.btn-aero .const-btn:hover,body.btn-aero .tab:hover,body.btn-aero .profile-grid-item:hover,body.btn-aero .mg-add-btn:hover,body.btn-aero .skin-tab:hover,body.btn-aero .bnav-center:hover,body.btn-aero .fab:hover,body.btn-aero .he-btn-save:hover,body.btn-aero .habit-card .checkin-btn:hover{box-shadow:0 6px 12px rgba(0,0,0,.25);transform:translateY(-2px)}body.btn-aero .const-btn:active,body.btn-aero .bnav-center:active,body.btn-aero .fab:active,body.btn-aero .he-btn-save:active,body.btn-aero .habit-card .checkin-btn:active{box-shadow:0 0 0 rgba(0,0,0,0);transform:translateY(0)}body.btn-aero .skin-tab{background:transparent;color:var(--muted);box-shadow:none;border-bottom:2px solid transparent;text-shadow:none}body.btn-aero .skin-tab.active{border-bottom-color:var(--accent);color:var(--accent)}body.btn-aero .bnav-item{background:transparent;color:var(--muted);box-shadow:none;text-shadow:none}body.btn-aero .bnav-item.active{color:var(--accent)}body.btn-aero .skinnable-btn{cursor:pointer;position:relative;padding:2px;border-radius:6px;border:0;text-shadow:1px 1px rgba(0,0,0,.4);background:linear-gradient(#006caa,#00c3ff);box-shadow:0 4px 6px rgba(0,0,0,.2);transition:.3s all;color:#fff}body.btn-aero .skinnable-btn:hover{box-shadow:0 6px 12px rgba(0,0,0,.25);transform:translateY(-2px)}body.btn-aero .skinnable-btn:active{box-shadow:0 0 0 rgba(0,0,0,0);transform:translateY(0)}body.btn-cyber .const-btn,body.btn-cyber .tab,body.btn-cyber .health-pack-btn,body.btn-cyber .profile-grid-item,body.btn-cyber .mg-add-btn,body.btn-cyber .settings-btn,body.btn-cyber .checkin-input-actions button,body.btn-cyber .mini-quote-refresh,body.btn-cyber .mini-quote-ref,body.btn-cyber .skin-tab,body.btn-cyber .export-btn,body.btn-cyber .day-btn,body.btn-cyber .panel-close,body.btn-cyber .bnav-item,body.btn-cyber .bnav-center,body.btn-cyber .fab,body.btn-cyber .lib-tab,body.btn-cyber .lib-custom-input button,body.btn-cyber .lib-custom-type button,body.btn-cyber .lib-custom-reminder-add,body.btn-cyber .lib-custom-freq .weekdays button,body.btn-cyber .lib-item .add-btn,body.btn-cyber .health-pack-add-btn,body.btn-cyber .season-pack-btn,body.btn-cyber .season-pack-add-btn,body.btn-cyber .water-quick-btn,body.btn-cyber .water-qty-btn,body.btn-cyber .water-custom-btn,body.btn-cyber .heatmap-nav button,body.btn-cyber .edit-bar button,body.btn-cyber .emotion-btn,body.btn-cyber .ref-tab,body.btn-cyber .ref-lib-btn,body.btn-cyber .sd-tab,body.btn-cyber .he-btn,body.btn-cyber .he-btn-save,body.btn-cyber .skin-option,body.btn-cyber .rh-btn,body.btn-cyber .habit-card .checkin-btn,body.btn-cyber .reminder-option{--duration:7s;--easing:linear;--c-color-1:rgba(255,163,26,.7);--c-color-2:#1a23ff;--c-color-3:#e21bda;--c-color-4:rgba(255,232,26,.7);--c-shadow:rgba(255,223,87,.5);--c-shadow-inset-top:rgba(255,223,52,.9);--c-shadow-inset-bottom:rgba(255,250,215,.8);--c-radial-inner:#ffd215;--c-radial-outer:#fff172;--c-color:#fff;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;outline:none;position:relative;cursor:pointer;border:none;display:table;border-radius:24px;padding:12px 24px;margin:0;text-align:center;font-weight:600;font-size:16px;letter-spacing:.02em;line-height:1.5;color:var(--c-color);background:radial-gradient(circle,var(--c-radial-inner),var(--c-radial-outer) 80%);box-shadow:0 0 14px var(--c-shadow)}body.btn-cyber .const-btn:before,body.btn-cyber .tab:before,body.btn-cyber .profile-grid-item:before,body.btn-cyber .mg-add-btn:before,body.btn-cyber .skin-tab:before,body.btn-cyber .bnav-center:before,body.btn-cyber .fab:before,body.btn-cyber .he-btn-save:before,body.btn-cyber .habit-card .checkin-btn:before{content:"";pointer-events:none;position:absolute;z-index:3;left:0;top:0;right:0;bottom:0;border-radius:24px;box-shadow:inset 0 3px 12px var(--c-shadow-inset-top),inset 0 -3px 4px var(--c-shadow-inset-bottom)}body.btn-cyber .const-btn:hover,body.btn-cyber .tab:hover,body.btn-cyber .profile-grid-item:hover,body.btn-cyber .mg-add-btn:hover,body.btn-cyber .skin-tab:hover,body.btn-cyber .bnav-center:hover,body.btn-cyber .fab:hover,body.btn-cyber .he-btn-save:hover,body.btn-cyber .habit-card .checkin-btn:hover{--duration:1400ms}body.btn-cyber .skinnable-btn{--duration:7s;--easing:linear;--c-color-1:rgba(255,163,26,.7);--c-color-2:#1a23ff;--c-color-3:#e21bda;--c-color-4:rgba(255,232,26,.7);--c-shadow:rgba(255,223,87,.5);--c-shadow-inset-top:rgba(255,223,52,.9);--c-shadow-inset-bottom:rgba(255,250,215,.8);--c-radial-inner:#ffd215;--c-radial-outer:#fff172;--c-color:#fff;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;outline:none;position:relative;cursor:pointer;border:none;display:table;border-radius:24px;padding:12px 24px;margin:0;text-align:center;font-weight:600;font-size:16px;letter-spacing:.02em;line-height:1.5;color:var(--c-color);background:radial-gradient(circle,var(--c-radial-inner),var(--c-radial-outer) 80%);box-shadow:0 0 14px var(--c-shadow)}body.btn-cyber .skinnable-btn:before{content:"";pointer-events:none;position:absolute;z-index:3;left:0;top:0;right:0;bottom:0;border-radius:24px;box-shadow:inset 0 3px 12px var(--c-shadow-inset-top),inset 0 -3px 4px var(--c-shadow-inset-bottom)}body.btn-cyber .skinnable-btn:hover{--duration:1400ms}body.cb-shadow .theme-toggle{--primary-color:#1677ff;--secondary-color:#fff;--primary-hover-color:#4096ff;--checkbox-diameter:20px;--checkbox-border-radius:5px;--checkbox-border-color:#d9d9d9;--checkbox-border-width:1px;--checkbox-border-style:solid;--checkmark-size:1.2;appearance:none;-moz-appearance:none;width:var(--checkbox-diameter);height:var(--checkbox-diameter);border-radius:var(--checkbox-border-radius);background:var(--secondary-color);border:var(--checkbox-border-width) var(--checkbox-border-style) var(--checkbox-border-color);transition:all .3s;cursor:pointer;position:relative}body.cb-shadow .theme-toggle::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;box-shadow:0 0 0 calc(var(--checkbox-diameter) / 2.5) var(--primary-color);border-radius:inherit;opacity:0;transition:all .5s cubic-bezier(.12,.4,.29,1.46)}body.cb-shadow .theme-toggle::before{top:40%;left:50%;content:"";position:absolute;width:4px;height:7px;border-right:2px solid var(--secondary-color);border-bottom:2px solid var(--secondary-color);transform:translate(-50%,-50%) rotate(45deg) scale(0);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s}body.cb-shadow .theme-toggle:hover{border-color:var(--primary-color)}body.cb-shadow .theme-toggle .theme-checkbox:checked{background:var(--primary-color);border-color:transparent}body.cb-shadow .theme-toggle .theme-checkbox:checked::before{opacity:1;transform:translate(-50%,-50%) rotate(45deg) scale(var(--checkmark-size));border-color:#fff}body.cb-shadow .theme-toggle .theme-checkbox:checked::after{box-shadow:0 0 0 calc(var(--checkbox-diameter) / 2.5) var(--primary-color);opacity:1}body.cb-neum .theme-toggle{width:50px;height:50px;background:#e0e0e0;border-radius:8px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:background-color .3s ease-in-out;box-shadow:inset -4px -4px 8px #fff,inset 4px 4px 8px #b0b0b0;position:relative}body.cb-neum .theme-toggle .line{position:absolute;width:30px;height:4px;background:#a0a0a0;border-radius:2px;transition:all .3s ease-in-out}body.cb-neum .theme-toggle .line1{transform:rotate(45deg)}body.cb-neum .theme-toggle .line2{transform:rotate(-45deg)}body.cb-neum .theme-toggle .theme-checkbox:checked{background:#d4e9d4}body.cb-neum .theme-toggle .theme-checkbox:checked ~ .line1{transform:rotate(50deg) translateX(-3px) translateY(8px) scaleX(.6);background:#169c1fff}body.cb-neum .theme-toggle .theme-checkbox:checked ~ .line2{transform:rotate(-50deg) translateX(6px) translateY(3px);background:#169c1fff}body.cb-cyber .theme-toggle{appearance:none;width:20px;height:20px;border:2px solid #30cfd0;border-radius:5px;background-color:transparent;display:inline-block;position:relative;margin-right:10px;cursor:pointer}body.cb-cyber .theme-toggle:before{content:"";background-color:#30cfd0;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:10px;height:10px;border-radius:3px;transition:all .3s ease-in-out}body.cb-cyber .theme-toggle .theme-checkbox:checked:before{transform:translate(-50%,-50%) scale(1)}body.tg-gradient .theme-toggle,body.tg-gradient .toggle-switch{position:relative;width:52px;height:28px;border-radius:25px;cursor:pointer;overflow:hidden}body.tg-gradient .theme-toggle .theme-slider,body.tg-gradient .toggle-switch{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(to bottom,#8d49fd,#7f56f3,#5691f3);transition:.4s;border:none}body.tg-gradient .theme-toggle .theme-slider:before,body.tg-gradient .toggle-switch::after{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2)}body.tg-gradient .theme-toggle .theme-checkbox:checked ~ .theme-slider:before,body.tg-gradient .toggle-switch.on::after{transform:translateX(24px);box-shadow:0 2px 12px rgba(143,81,234,.4)}body.tg-slim .theme-toggle,body.tg-slim .toggle-switch{position:relative;width:48px;height:24px;border-radius:12px;cursor:pointer}body.tg-slim .theme-toggle .theme-slider,body.tg-slim .toggle-switch{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border:none}body.tg-slim .theme-toggle .theme-slider:before,body.tg-slim .toggle-switch::after{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}body.tg-slim .theme-toggle .theme-checkbox:checked ~ .theme-slider,body.tg-slim .toggle-switch.on{background-color:#10b981}body.tg-slim .theme-toggle .theme-checkbox:checked ~ .theme-slider:before,body.tg-slim .toggle-switch.on::after{transform:translateX(24px)}body.tg-soft .theme-toggle,body.tg-soft .toggle-switch{position:relative;width:56px;height:28px;border-radius:14px;cursor:pointer}body.tg-soft .theme-toggle .theme-slider,body.tg-soft .toggle-switch{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:linear-gradient(145deg,#f0f0f0,#e0e0e0);box-shadow:inset 2px 2px 4px rgba(0,0,0,.1),inset -2px -2px 4px rgba(255,255,255,.9);transition:.4s;border:none}body.tg-soft .theme-toggle .theme-slider:before,body.tg-soft .toggle-switch::after{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background:#fff;transition:.4s;border-radius:50%;box-shadow:2px 2px 4px rgba(0,0,0,.1),-2px -2px 4px rgba(255,255,255,.9)}body.tg-soft .theme-toggle .theme-checkbox:checked ~ .theme-slider:before,body.tg-soft .toggle-switch.on::after{transform:translateX(28px);background:var(--accent)}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{position:relative;background:transparent;border-radius:22px;border:1px solid rgba(255,255,255,.1);gap:10px;display:flex;flex-direction:column;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 3px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(255,255,255,.1),inset 0 -3px 0 rgba(0,0,0,.1);backdrop-filter:blur(20px);transition:all .3s ease}body.cd-glass .habit-card::before,body.cd-glass .stat-card::before,body.cd-glass .lib-item::before{position:absolute;content:"";width:100%;height:100%;left:0;top:0;border-radius:inherit;background:rgba(255,255,255,.1);z-index:-1;filter:blur(10px);transition:.3s ease-in-out}body.cd-glass .habit-card:hover,body.cd-glass .stat-card:hover,body.cd-glass .lib-item:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.2)}body.cd-glass .habit-card:hover::before,body.cd-glass .stat-card:hover::before,body.cd-glass .lib-item:hover::before{filter:blur(50px)}body.cd-glass .skinnable-card{position:relative;background:transparent;border-radius:22px;border:1px solid rgba(255,255,255,.1);gap:10px;display:flex;flex-direction:column;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 3px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(255,255,255,.1),inset 0 -3px 0 rgba(0,0,0,.1);backdrop-filter:blur(20px);transition:all .3s ease}body.cd-glass .skinnable-card::before{position:absolute;content:"";width:100%;height:100%;left:0;top:0;border-radius:inherit;background:rgba(255,255,255,.1);z-index:-1;filter:blur(10px);transition:.3s ease-in-out}body.cd-glass .skinnable-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.2)}body.cd-glass .skinnable-card:hover::before{filter:blur(50px)}body.cd-dark .habit-card,body.cd-dark .stat-card,body.cd-dark .mini-quote,body.cd-dark .profile-stat-item,body.cd-dark .mg-group,body.cd-dark .mg-stat-card,body.cd-dark .ai-message-bubble,body.cd-dark .water-tracker,body.cd-dark .diet-tip-card,body.cd-dark .diet-meal-card,body.cd-dark .diet-seasonal-card,body.cd-dark .diet-color-card,body.cd-dark .diet-habit-item,body.cd-dark .diet-book-item,body.cd-dark .diet-analysis-card,body.cd-dark .lib-item{position:relative;border-radius:1em;background:#111215;display:flex;flex-direction:column;color:#fff;overflow:hidden;border:1px solid #1d1f23;transition:all .3s ease}body.cd-dark .habit-card:hover,body.cd-dark .stat-card:hover,body.cd-dark .lib-item:hover{border-color:#343539;transform:translateY(-2px)}body.cd-dark .skinnable-card{position:relative;border-radius:1em;background:#111215;display:flex;flex-direction:column;color:#fff;overflow:hidden;border:1px solid #1d1f23;transition:all .3s ease}body.cd-dark .skinnable-card:hover{border-color:#343539;transform:translateY(-2px)}body.cd-grad .habit-card,body.cd-grad .stat-card,body.cd-grad .mini-quote,body.cd-grad .profile-stat-item,body.cd-grad .mg-group,body.cd-grad .mg-stat-card,body.cd-grad .ai-message-bubble,body.cd-grad .water-tracker,body.cd-grad .diet-tip-card,body.cd-grad .diet-meal-card,body.cd-grad .diet-seasonal-card,body.cd-grad .diet-color-card,body.cd-grad .diet-habit-item,body.cd-grad .diet-book-item,body.cd-grad .diet-analysis-card,body.cd-grad .lib-item{--background:#f5f5f5;--green:#1FC11B;--yellow:#FFD913;--orange:#FF9C55;--red:#F55;--violet:#555BFF;width:190px;height:254px;display:flex;flex-direction:column;gap:1em;background:var(--background);padding:1rem;border:3px solid var(--violet);box-shadow:10px -10px 0 -3px var(--background),10px -10px var(--green),20px -20px 0 -3px var(--background),20px -20px var(--yellow),30px -30px 0 -3px var(--background),30px -30px var(--orange),40px -40px 0 -3px var(--background),40px -40px var(--red);transition:box-shadow 1s,top 1s,left 1s}body.cd-grad .habit-card:hover,body.cd-grad .stat-card:hover,body.cd-grad .lib-item:hover{box-shadow:0 0 0 -3px var(--background),0 0 0 0 var(--green),0 0 0 -3px var(--background),0 0 0 0 var(--yellow),0 0 0 -3px var(--background),0 0 0 0 var(--orange),0 0 0 -3px var(--background),0 0 0 0 var(--red)}body.cd-grad .skinnable-card{--background:#f5f5f5;--green:#1FC11B;--yellow:#FFD913;--orange:#FF9C55;--red:#F55;--violet:#555BFF;width:190px;height:254px;display:flex;flex-direction:column;gap:1em;background:var(--background);padding:1rem;border:3px solid var(--violet);box-shadow:10px -10px 0 -3px var(--background),10px -10px var(--green),20px -20px 0 -3px var(--background),20px -20px var(--yellow),30px -30px 0 -3px var(--background),30px -30px var(--orange),40px -40px 0 -3px var(--background),40px -40px var(--red);transition:box-shadow 1s,top 1s,left 1s}body.cd-grad .skinnable-card:hover{box-shadow:0 0 0 -3px var(--background),0 0 0 0 var(--green),0 0 0 -3px var(--background),0 0 0 0 var(--yellow),0 0 0 -3px var(--background),0 0 0 0 var(--orange),0 0 0 -3px var(--background),0 0 0 0 var(--red)}body.in-modern input[type="text"],body.in-modern input[type="number"],body.in-modern input[type="password"],body.in-modern input[type="time"],body.in-modern textarea,body.in-modern select,body.in-modern .mg-search{--base:#fe8ce4;--light:color-mix(in sRGB,var(--base) 60%,#fff);--lighter:color-mix(in sRGB,var(--base) 30%,#fff);--dark:color-mix(in sRGB,var(--base) 95%,#000);--transparent:color-mix(in sRGB,var(--base) 0%,#0000);appearance:none;font-size:1em;width:20em;height:2em;border:.5em solid #fff;border-radius:2em;box-shadow:0 0 1em rgba(0,0,0,.1),.25em .5em rgba(0,0,0,.1);overflow:hidden;transition:all .3s ease;background:#fff}body.in-modern input:focus,body.in-modern textarea:focus,body.in-modern select:focus{outline:none;border-color:var(--base);box-shadow:0 0 1em rgba(0,0,0,.1),.25em .5em rgba(0,0,0,.1),0 0 0 3px rgba(254,140,228,.2)}body.in-outline input[type="text"],body.in-outline input[type="number"],body.in-outline input[type="password"],body.in-outline input[type="time"],body.in-outline textarea,body.in-outline select,body.in-outline .mg-search{background:transparent;border:none;border-bottom:2px solid #ccc;border-radius:0;padding:10px 0;color:#333;transition:all .3s ease}body.in-outline input:focus,body.in-outline textarea:focus,body.in-outline select:focus{outline:none;border-bottom-color:#06c}body.in-outline input::placeholder,body.in-outline textarea::placeholder{color:#999}body.bd-gradient .level-badge,body.bd-gradient .streak-badge,body.bd-gradient .badge,body.bd-gradient .habit-tag{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:4px 12px;border-radius:20px;font-weight:600;box-shadow:0 4px 15px rgba(102,126,234,.4)}body.bd-outline .level-badge,body.bd-outline .streak-badge,body.bd-outline .badge,body.bd-outline .habit-tag{background:transparent;color:#ff6b6b;border:2px solid #ff6b6b;padding:4px 12px;border-radius:20px;font-weight:600}body.bd-soft .level-badge,body.bd-soft .streak-badge,body.bd-soft .badge,body.bd-soft .habit-tag{background:#f0f0f0;color:#333;border:none;padding:4px 12px;border-radius:8px;font-weight:500;box-shadow:2px 2px 8px rgba(0,0,0,.1)}