@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.base-icon[data-v-ca095f44]{vertical-align:middle;color:currentColor;flex:none;display:inline-block}.base-icon--fire[data-v-ca095f44]{transform-origin:50% 80%;animation:1.15s ease-in-out infinite fire-flicker-ca095f44}.base-icon path[data-v-ca095f44],.base-icon circle[data-v-ca095f44]{stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.base-icon--fire path[data-v-ca095f44]:first-child,.base-icon--berry path[data-v-ca095f44]:first-child,.base-icon--filled.base-icon--heart path[data-v-ca095f44],.base-icon--filled.base-icon--clap path[data-v-ca095f44]{fill:currentColor;stroke:currentColor}.base-icon__inner[data-v-ca095f44]{color:color-mix(in srgb, currentColor, white 54%)}.base-icon--fire .base-icon__inner[data-v-ca095f44]{animation:.9s ease-in-out infinite alternate fire-glow-ca095f44}@keyframes fire-flicker-ca095f44{0%,to{transform:translateY(0)scale(1)rotate(-1deg)}35%{transform:translateY(-1px)scale(1.05,.96)rotate(1deg)}62%{transform:translateY(0)scale(.98,1.04)rotate(-2deg)}}@keyframes fire-glow-ca095f44{0%{opacity:.72;transform:translateY(0)}to{opacity:1;transform:translateY(-.7px)}}@media (prefers-reduced-motion:reduce){.base-icon--fire[data-v-ca095f44],.base-icon--fire .base-icon__inner[data-v-ca095f44]{animation:none}}.theme-cycle[data-v-d34a4c38]{border:1px solid var(--border);background:var(--bg-card);width:40px;height:40px;color:var(--accent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .2s,box-shadow .2s,transform .15s;display:inline-flex;overflow:hidden}.theme-cycle[data-v-d34a4c38]:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.theme-cycle[data-v-d34a4c38]:active{transform:scale(.92)}.theme-cycle[data-v-d34a4c38] .base-icon--sun{color:#f5b301}.theme-cycle[data-v-d34a4c38] .base-icon--moon{color:#8b93c4}.theme-cycle[data-v-d34a4c38]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-icon-enter-active[data-v-d34a4c38],.theme-icon-leave-active[data-v-d34a4c38]{transition:transform .22s cubic-bezier(.34,1.4,.64,1),opacity .18s}.theme-icon-enter-from[data-v-d34a4c38]{opacity:0;transform:rotate(-100deg)scale(.3)}.theme-icon-leave-to[data-v-d34a4c38]{opacity:0;transform:rotate(100deg)scale(.3)}@media (prefers-reduced-motion:reduce){.theme-icon-enter-active[data-v-d34a4c38],.theme-icon-leave-active[data-v-d34a4c38]{transition:opacity .15s}.theme-icon-enter-from[data-v-d34a4c38],.theme-icon-leave-to[data-v-d34a4c38]{transform:none}}.lang-cycle[data-v-2fde1bd7]{border:1px solid var(--border);background:var(--bg-card);width:40px;height:40px;color:var(--accent);cursor:pointer;font:inherit;letter-spacing:.02em;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.82rem;font-weight:800;transition:border-color .2s,box-shadow .2s,transform .15s;display:inline-flex;overflow:hidden}.lang-cycle[data-v-2fde1bd7]:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.lang-cycle[data-v-2fde1bd7]:active{transform:scale(.92)}.lang-cycle[data-v-2fde1bd7]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lang-code[data-v-2fde1bd7]{line-height:1;display:inline-block}.lang-swap-enter-active[data-v-2fde1bd7],.lang-swap-leave-active[data-v-2fde1bd7]{transition:transform .2s cubic-bezier(.34,1.4,.64,1),opacity .16s}.lang-swap-enter-from[data-v-2fde1bd7]{opacity:0;transform:translateY(80%)scale(.6)}.lang-swap-leave-to[data-v-2fde1bd7]{opacity:0;transform:translateY(-80%)scale(.6)}@media (prefers-reduced-motion:reduce){.lang-swap-enter-active[data-v-2fde1bd7],.lang-swap-leave-active[data-v-2fde1bd7]{transition:opacity .15s}.lang-swap-enter-from[data-v-2fde1bd7],.lang-swap-leave-to[data-v-2fde1bd7]{transform:none}}.toast-host[data-v-b3a374fd]{z-index:50;gap:10px;width:min(360px,100vw - 32px);display:grid;position:fixed;top:16px;right:16px}.toast-message[data-v-b3a374fd]{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-hover);text-align:left;cursor:pointer;font:inherit;border-radius:8px;padding:12px 14px}.toast-message.success[data-v-b3a374fd]{border-color:var(--success)}.toast-message.error[data-v-b3a374fd]{border-color:var(--danger)}.fab[data-v-d55885c6]{right:clamp(16px,4vw,32px);bottom:calc(clamp(16px, 4vw, 32px) + env(safe-area-inset-bottom,0px));z-index:40;background:var(--accent);color:#fff;cursor:pointer;width:60px;height:60px;box-shadow:0 10px 26px color-mix(in srgb, var(--accent), transparent 55%), 0 2px 6px #00000029;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .18s cubic-bezier(.2,.9,.4,1.1),background .2s,box-shadow .2s;display:flex;position:fixed}.fab[data-v-d55885c6]:hover{background:var(--accent-hover);box-shadow:0 14px 32px color-mix(in srgb, var(--accent), transparent 45%), 0 3px 8px #0003;transform:translateY(-2px)scale(1.05)}.fab[data-v-d55885c6]:active{transform:scale(.94)}.fab[data-v-d55885c6]:focus-visible{outline:3px solid color-mix(in srgb, var(--accent), transparent 45%);outline-offset:3px}.fab svg[data-v-d55885c6]{fill:none;stroke:currentColor;stroke-width:3.4px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}@media (width<=720px){.fab[data-v-d55885c6]{display:none}}@media (prefers-reduced-motion:reduce){.fab[data-v-d55885c6]{transition:background .2s}.fab[data-v-d55885c6]:hover{transform:none}}.notif[data-v-8522710e]{display:inline-flex;position:relative}.notif-btn[data-v-8522710e]{border:1px solid var(--border);background:var(--bg-card);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:inline-flex;position:relative}.notif-btn[data-v-8522710e]:hover,.notif-btn[aria-expanded=true][data-v-8522710e]{border-color:var(--accent);color:var(--accent)}.notif-badge[data-v-8522710e]{color:#fff;background:#d9534f;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.66rem;font-weight:800;display:inline-flex;position:absolute;top:-3px;right:-3px}.notif-panel[data-v-8522710e]{background:var(--bg-card);border:1px solid var(--border);width:min(340px,100vw - 32px);box-shadow:var(--shadow-hover);z-index:80;border-radius:12px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notif-head[data-v-8522710e]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.notif-title[data-v-8522710e]{color:var(--text-primary);font-weight:700}.notif-readall[data-v-8522710e]{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.82rem;font-weight:600}.notif-list[data-v-8522710e]{overscroll-behavior:contain;max-height:min(60vh,420px);overflow-y:auto}.notif-grabber[data-v-8522710e]{display:none}.notif-empty[data-v-8522710e]{text-align:center;color:var(--text-muted);margin:0;padding:24px 14px;font-size:.88rem}.notif-item[data-v-8522710e]{text-align:left;border:0;border-bottom:1px solid var(--border);width:100%;font:inherit;color:var(--text-secondary);cursor:pointer;opacity:.55;background:0 0;align-items:flex-start;gap:8px;padding:11px 14px;transition:opacity .35s,background .35s;display:flex}.notif-item[data-v-8522710e]:last-child{border-bottom:0}.notif-item[data-v-8522710e]:hover{background:var(--accent-light);opacity:1}.notif-item.unread[data-v-8522710e]{background:color-mix(in srgb, var(--accent-light) 60%, transparent);opacity:1}.notif-dot[data-v-8522710e]{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;margin-top:5px}.notif-text[data-v-8522710e]{font-size:.88rem;line-height:1.4}.notif-time[data-v-8522710e]{color:var(--text-muted);margin-top:3px;font-size:.74rem;display:block}.notif-all[data-v-8522710e]{border-top:1px solid var(--border);color:var(--accent);text-align:center;padding:11px 14px;font-size:.86rem;font-weight:700;text-decoration:none;display:block}.notif-all[data-v-8522710e]:hover{background:var(--accent-light)}.notif-fade-enter-active[data-v-8522710e],.notif-fade-leave-active[data-v-8522710e]{transition:opacity .14s,transform .14s}.notif-fade-enter-from[data-v-8522710e],.notif-fade-leave-to[data-v-8522710e]{opacity:0;transform:translateY(8px)}@media (width<=720px){.notif-panel[data-v-8522710e]{width:auto;max-height:calc(100vh - 92px - env(safe-area-inset-bottom,0px));position:fixed;top:68px;left:12px;right:12px}.notif-list[data-v-8522710e]{max-height:calc(100vh - 168px - env(safe-area-inset-bottom,0px))}.notif-grabber[data-v-8522710e]{background:var(--border);border-radius:999px;width:36px;height:4px;margin:8px auto 0;display:block}}.avatar-image[data-v-2339a923]{object-fit:cover;border-radius:50%;width:100%;height:100%}.mascot-avatar[data-v-2339a923]{--mascot-size:34px;--face-fill:var(--accent-light);--face-ink:var(--accent);width:var(--mascot-size);height:var(--mascot-size);flex:0 0 var(--mascot-size);background:var(--face-fill);color:var(--face-ink);font-size:calc(var(--mascot-size) * .23);isolation:isolate;border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:inline-flex;position:relative}.progress-face[data-v-2339a923]{width:100%;height:100%;overflow:visible}.progress-face circle[data-v-2339a923]{fill:var(--face-fill);stroke:currentColor;stroke-width:2.5px}.progress-face path[data-v-2339a923]{fill:none;stroke:currentColor;stroke-linecap:round}.eyes[data-v-2339a923]{stroke-width:6px}.mouth[data-v-2339a923],.brows[data-v-2339a923]{stroke-width:3px}.is-angry[data-v-2339a923]{--face-fill:#f3c1b8;--face-ink:#9f3f36}.is-sad[data-v-2339a923]{--face-fill:#d8e1ef;--face-ink:#586b86}.is-neutral[data-v-2339a923]{--face-fill:#eadfca;--face-ink:#756853}.is-content[data-v-2339a923]{--face-fill:#bfe2cf;--face-ink:#39765d}.is-happy[data-v-2339a923],.is-celebrating[data-v-2339a923]{--face-fill:#ffe08a;--face-ink:#9a6500;box-shadow:0 0 calc(var(--mascot-size) * .42) #f9c74fa6}.party-hat[data-v-2339a923]{color:#f94144;font-size:calc(var(--mascot-size) * .55);text-shadow:4px 1px #ffd166;z-index:3;line-height:1;position:absolute;top:-28%;left:13%;transform:rotate(-12deg)scaleX(.72)}.sparkles[data-v-2339a923]{color:#f4a419;font-size:calc(var(--mascot-size) * .3);z-index:3;animation:1.15s ease-in-out infinite mascot-sparkle-2339a923;position:absolute;top:-12%;right:-15%}.is-happy .progress-face[data-v-2339a923]{animation:1.8s ease-in-out infinite mascot-happy-2339a923}.is-celebrating .progress-face[data-v-2339a923]{animation:.75s ease-in-out infinite alternate mascot-celebrate-2339a923}@keyframes mascot-happy-2339a923{0%,to{transform:translateY(0)}50%{transform:translateY(-3%)}}@keyframes mascot-celebrate-2339a923{0%{transform:rotate(-3deg)scale(.98)}to{transform:rotate(3deg)scale(1.03)}}@keyframes mascot-sparkle-2339a923{0%,to{opacity:.45;transform:scale(.8)rotate(0)}50%{opacity:1;transform:scale(1.2)rotate(25deg)}}@media (prefers-reduced-motion:reduce){.is-happy .progress-face[data-v-2339a923],.is-celebrating .progress-face[data-v-2339a923],.sparkles[data-v-2339a923]{animation:none}}.oleg-bee[data-v-475bf5de]{width:var(--oleg-size);flex:none;height:auto;animation:2.8s ease-in-out infinite oleg-float-475bf5de;overflow:visible}.wing[data-v-475bf5de]{fill:#dcf3fa;fill-opacity:.82;stroke:#83afbb;stroke-width:1.2px}.wing path[data-v-475bf5de]{fill:none;opacity:.45}.band[data-v-475bf5de],.head[data-v-475bf5de]{fill:#392d28}.face[data-v-475bf5de]{fill:#f9cf60}.legs[data-v-475bf5de],.antenna[data-v-475bf5de]{fill:none;stroke:#392d28;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.wing[data-v-475bf5de]{transform-box:fill-box;transform-origin:bottom;animation:.16s ease-in-out infinite alternate oleg-wing-475bf5de}.wing.right[data-v-475bf5de]{animation-direction:alternate-reverse}.eye[data-v-475bf5de]{transform-box:fill-box;transform-origin:50%;animation:5.2s linear infinite oleg-blink-475bf5de}.brows[data-v-475bf5de]{fill:none;stroke:#392d28;stroke-width:2.4px;stroke-linecap:round}.nose[data-v-475bf5de]{fill:none;stroke:#9a681f;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round}.smile[data-v-475bf5de]{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite alternate oleg-smile-475bf5de}@keyframes oleg-wing-475bf5de{0%{transform:rotate(-16deg)scaleY(.65)}to{transform:rotate(14deg)scaleY(1.12)}}@keyframes oleg-blink-475bf5de{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.08)}}@keyframes oleg-smile-475bf5de{0%{transform:scale(1)}to{transform:scale(1.08,1.14)}}.body[data-v-475bf5de]{fill:#f7c84b;stroke:#392d28;stroke-width:2px}.stripe[data-v-475bf5de],.smile[data-v-475bf5de],.fur[data-v-475bf5de]{fill:none;stroke:#624b1e;stroke-linecap:round;stroke-linejoin:round}.stripe[data-v-475bf5de]{stroke-width:3px}.smile[data-v-475bf5de]{stroke-width:2.1px}.fur[data-v-475bf5de]{stroke-width:1.35px;opacity:.72}.eye[data-v-475bf5de]{fill:#624b1e}.celebrating[data-v-475bf5de]{filter:drop-shadow(0 8px 14px #f7c84b52);animation:.7s ease-in-out infinite alternate oleg-celebrate-475bf5de}@keyframes oleg-float-475bf5de{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-4px)rotate(1deg)}}@keyframes oleg-celebrate-475bf5de{0%{transform:translateY(2px)rotate(-5deg)scale(.97)}to{transform:translateY(-6px)rotate(5deg)scale(1.04)}}@media (prefers-reduced-motion:reduce){.oleg-bee[data-v-475bf5de],.wing[data-v-475bf5de],.eye[data-v-475bf5de],.smile[data-v-475bf5de]{animation:none}}html.onboarding-scroll-locked,body.onboarding-scroll-locked{overscroll-behavior:none;overflow:hidden!important}.tour-layer[data-v-7c03efa6]{z-index:1400;pointer-events:auto;position:fixed;inset:0}.tour-highlight[data-v-7c03efa6]{pointer-events:none;border:2px solid #ffc857;border-radius:14px;position:fixed;box-shadow:0 0 0 9999px #0a0d0bb8,0 0 18px #ffc8579e}.tour-panel[data-v-7c03efa6]{text-align:left;color:#fff;background:#101411ed;border-radius:16px;align-content:start;gap:10px;padding:12px 16px;display:grid;position:fixed;overflow-y:auto}.tour-panel[data-v-7c03efa6]:focus{outline:none}.tour-skip[data-v-7c03efa6]{color:#ffffffc2;cursor:pointer;background:0 0;border:0;padding:6px 8px;position:absolute;top:8px;right:10px}.tour-oleg[data-v-7c03efa6]{align-items:center;gap:9px;padding-right:70px;display:flex}.tour-oleg[data-v-7c03efa6] .oleg-bee{flex:0 0 48px}.tour-oleg>div[data-v-7c03efa6]{gap:1px;display:grid}.tour-oleg strong[data-v-7c03efa6]{color:#fff}.tour-oleg small[data-v-7c03efa6]{color:#ffffffad;font-size:.7rem}.tour-step[data-v-7c03efa6]{color:#ffc857;font-size:.75rem;font-weight:800}.tour-panel h2[data-v-7c03efa6]{color:#fff;padding-right:58px;font-size:1.08rem}.tour-panel p[data-v-7c03efa6]{color:#ffffffdb;line-height:1.45}.tour-actions[data-v-7c03efa6]{justify-content:flex-end;gap:8px;margin-top:5px;display:flex}.tour-actions button[data-v-7c03efa6]{min-width:120px;min-height:40px;font:inherit;cursor:pointer;border-radius:999px;flex:0 150px;font-weight:700}.tour-back[data-v-7c03efa6]{color:#fff;background:0 0;border:1px solid #ffffff70}.tour-next[data-v-7c03efa6]{color:#fff;background:var(--accent);border:0}@media (width<=640px){.tour-actions button[data-v-7c03efa6]{flex:1;min-width:0}}@media (prefers-reduced-motion:reduce){.tour-highlight[data-v-7c03efa6]{transition:none}}.header{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.header-left{flex:auto;align-items:center;gap:22px;min-width:0;display:flex}.header-actions{flex:none;align-items:center;gap:14px;display:flex}.create-btn{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:9px 16px;font-size:.9rem;font-weight:700;transition:background .2s;animation:2.4s ease-in-out infinite heartbeat;display:inline-flex}.create-btn:hover{background:var(--accent-hover);animation-play-state:paused}@keyframes heartbeat{0%,30%,60%,to{transform:scale(1)}10%{transform:scale(1.07)}20%{transform:scale(.98)}40%{transform:scale(1.05)}}.account{position:relative}.account-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:3px 10px 3px 3px;font-weight:600;transition:border-color .2s,color .2s;display:inline-flex}.account-btn:hover,.account-btn[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.account-chevron{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px;color:var(--text-muted);transition:transform .18s}.account-chevron.open{transform:rotate(180deg)}.logo{letter-spacing:0;flex:none;align-items:center;font-size:1.5rem;font-weight:600;display:flex}.logo-icon{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;overflow:hidden}.logo-icon>img{object-fit:cover;width:100%;height:100%}.nav-links{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:16px;display:flex}.settings-control{position:relative}.settings-popover{width:230px}.nav-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:6px 0;font-family:inherit;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s}.app-nav-link{align-items:center;gap:6px;display:inline-flex}.nav-link:hover,.nav-link.active{color:var(--accent);border-bottom:2px solid var(--accent)}.user-avatar{border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}@media (width<=1024px){.header{gap:10px}.header-left{gap:12px}.nav-links{gap:10px}.header-actions{gap:8px}.create-btn{padding-inline:12px}.user-name{display:none}}@media (width<=720px){.header{flex-wrap:nowrap;align-items:center;gap:12px;margin-bottom:20px;position:relative}.logo{min-width:0}.logo-icon{width:36px;height:36px}.desktop-nav,.create-btn{display:none}.header-actions{gap:10px;margin-left:auto}}.mobile-bottom-nav{display:none}@media (width<=720px){.mobile-bottom-nav{z-index:55;padding:4px 8px max(4px, env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg-card) 92%, transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-around;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-link{min-width:0;height:46px;color:var(--text-secondary);border-radius:8px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;font-size:.72rem;font-weight:800;text-decoration:none;display:inline-flex}.mobile-nav-link.active,.mobile-nav-link:hover{background:var(--accent-light);color:var(--accent)}}.mobile-account-menu{border:1px solid var(--border);background:var(--bg-card);width:min(280px,100vw - 32px);box-shadow:var(--shadow-hover);z-index:70;border-radius:8px;gap:6px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.mobile-menu-item{min-height:42px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-weight:700;text-decoration:none;display:flex}.mobile-menu-item.active,.mobile-menu-item:hover{background:var(--accent-light);color:var(--accent)}.mobile-avatar{width:24px;height:24px;font-size:.68rem}.mobile-logout{width:100%}.mobile-menu-enter-active,.mobile-menu-leave-active{transition:opacity .14s,transform .14s}.mobile-menu-enter-from,.mobile-menu-leave-to{opacity:0;transform:translateY(8px)}.mobile-create-link{cursor:pointer;background:0 0;border:0;flex:1 1 0;justify-content:center;align-items:center;min-width:0;font-family:inherit;display:inline-flex}.mobile-create-circle{background:var(--accent);color:#fff;width:44px;height:44px;box-shadow:0 6px 16px color-mix(in srgb, var(--accent), transparent 55%);border-radius:50%;justify-content:center;align-items:center;margin-top:-14px;animation:2.4s ease-in-out infinite heartbeat;display:inline-flex}.header-settings-btn{border:1px solid var(--border);background:var(--bg-card);width:38px;height:38px;color:var(--text-secondary);border-radius:999px;justify-content:center;align-items:center;text-decoration:none;transition:border-color .2s,color .2s;display:inline-flex}.header-settings-btn[aria-expanded=true],.header-settings-btn:hover{border-color:var(--accent);color:var(--accent)}.global-create-overlay{z-index:120;background:#0008;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.global-create-menu{gap:9px;width:min(430px,100%);padding:18px;display:grid}.global-create-menu header{justify-content:space-between;align-items:center;margin-bottom:3px;display:flex}.global-create-menu header button{color:var(--text-muted);background:0 0;place-items:center;padding:5px;display:grid}.global-create-menu>button{text-align:left;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);align-items:center;gap:13px;padding:13px;display:flex}.global-create-menu>button:hover{border-color:var(--accent);color:var(--accent)}.global-create-menu>button span{gap:3px;display:grid}.global-create-menu small{color:var(--text-muted);font-weight:500}@media (prefers-reduced-motion:reduce){.create-btn,.mobile-create-circle{animation:none}}.habit-item[data-v-6cd04667]{background:var(--bg-primary);border-radius:var(--radius-item);border:1px solid var(--border);justify-content:flex-start;align-items:center;gap:12px;width:100%;min-width:0;max-width:100%;padding:10px 14px;display:flex;position:relative;overflow:hidden}.habit-item[data-v-6cd04667]:before{content:"";width:var(--habit-fill,0%);background:color-mix(in srgb, var(--accent) 18%, transparent);pointer-events:none;transition:width .38s cubic-bezier(.2,.85,.3,1);position:absolute;inset:0 auto 0 0}.habit-item[data-v-6cd04667]:after{content:"";z-index:0;width:var(--habit-fill,0%);opacity:0;pointer-events:none;background:linear-gradient(105deg,#0000 25%,#ffffff6b 50%,#0000 75%) 150% 0/220% 100%;position:absolute;inset:0 auto 0 0}.habit-item.is-progressing[data-v-6cd04667]:after{opacity:.55;animation:2.2s ease-in-out infinite habit-fill-shimmer-6cd04667}.habit-item.fill-pulse[data-v-6cd04667]:after{opacity:.9;animation:.72s ease-out habit-fill-pulse-6cd04667}@keyframes habit-fill-shimmer-6cd04667{0%,35%{background-position:150% 0}75%,to{background-position:-80% 0}}@keyframes habit-fill-pulse-6cd04667{0%{background-position:150% 0}to{background-position:-80% 0}}.habit-item[data-v-6cd04667]>*{z-index:1;position:relative}.habit-info[data-v-6cd04667]{flex:1;min-width:0}.habit-name[data-v-6cd04667]{align-items:center;min-width:0;margin-bottom:0;font-size:1rem;font-weight:600;display:flex}.habit-title[data-v-6cd04667]{white-space:nowrap;flex:auto;min-width:0;max-width:100%;overflow:hidden}.habit-title-inner[data-v-6cd04667]{white-space:nowrap;display:inline-block}.habit-title.is-marquee .habit-title-inner[data-v-6cd04667]{animation:habit-marquee-6cd04667 var(--marquee-duration,10s) linear infinite;will-change:transform}@keyframes habit-marquee-6cd04667{0%,12%{transform:translate(0)}50%,62%{transform:translateX(var(--marquee-shift,0))}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.habit-item[data-v-6cd04667]:before{transition:none}.habit-item[data-v-6cd04667]:after{opacity:0!important;animation:none!important}.habit-title[data-v-6cd04667]{scrollbar-width:none;overflow-x:auto}.habit-title[data-v-6cd04667]::-webkit-scrollbar{display:none}.habit-title.is-marquee .habit-title-inner[data-v-6cd04667]{animation:none}}.habit-meta[data-v-6cd04667]{align-items:center;gap:8px;min-width:0;min-height:20px;margin-top:5px;display:flex}.habit-category[data-v-6cd04667]{text-overflow:ellipsis;white-space:nowrap;border-radius:8px;flex:0 auto;min-width:0;max-width:100%;padding:2px 8px;font-size:.7rem;font-weight:700;overflow:hidden}.habit-streak[data-v-6cd04667]{color:var(--fire);flex:none;align-items:center;gap:3px;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.habit-streak[data-v-6cd04667] .base-icon{display:block}.habit-progress[data-v-6cd04667]{flex:none;align-items:center;gap:12px;margin-left:auto;display:flex}.check-btn[data-v-6cd04667]{border:2px solid var(--border);background:var(--bg-card);cursor:pointer;color:#fff;border-radius:9px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .18s cubic-bezier(.2,.9,.4,1.1);display:flex}.check-btn.completed[data-v-6cd04667]{background:var(--accent);border-color:var(--accent)}.check-btn svg[data-v-6cd04667]{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .18s}.check-btn:active:not(:disabled) svg[data-v-6cd04667]{transform:scale(.86)}.check-btn[data-v-6cd04667]:hover:not(.completed):not(:disabled){border-color:var(--accent)}.check-btn[data-v-6cd04667]:disabled{cursor:not-allowed;opacity:.55}.multi-counter[data-v-6cd04667]{flex:none;position:relative}.counter-main[data-v-6cd04667]{border:2px solid var(--accent);background:var(--accent-light);min-width:54px;height:36px;color:var(--accent);font:inherit;cursor:pointer;border-radius:11px;padding:0 10px;font-weight:800}.counter-main small[data-v-6cd04667]{opacity:.75;font-size:.72em}.multi-counter.completed .counter-main[data-v-6cd04667]{background:var(--accent);color:#fff}.counter-main[data-v-6cd04667]:disabled{cursor:default;opacity:.85}.counter-undo[data-v-6cd04667]{border:1px solid var(--border);background:var(--bg-card);width:22px;height:22px;color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:50%;padding:0;font-weight:800;line-height:18px;position:absolute;top:-8px;right:-8px}.edit-icon[data-v-6cd04667]{cursor:pointer;width:28px;height:28px;color:var(--text-muted);opacity:.75;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.edit-icon svg[data-v-6cd04667]{fill:currentColor;width:15px;height:15px}.edit-icon[data-v-6cd04667]:hover,.edit-icon[data-v-6cd04667]:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--bg-secondary);opacity:1}@media (width<=560px){.habit-item[data-v-6cd04667]{align-items:center;gap:14px}.habit-progress[data-v-6cd04667]{width:auto}}.habit-list[data-v-6b48dbda]{flex-direction:column;width:100%;min-width:0;max-height:520px;margin-bottom:24px;padding:2px 6px 2px 2px;display:flex;overflow-y:auto}.habit-items[data-v-6b48dbda]{flex-direction:column;gap:9px;display:flex;position:relative}.habit-order-move[data-v-6b48dbda]{transition:transform .42s cubic-bezier(.2,.9,.3,1)}.habit-order-enter-active[data-v-6b48dbda],.habit-order-leave-active[data-v-6b48dbda]{transition:opacity .24s,transform .3s}.habit-order-enter-from[data-v-6b48dbda],.habit-order-leave-to[data-v-6b48dbda]{opacity:0;transform:translateY(-8px)}@media (prefers-reduced-motion:reduce){.habit-order-move[data-v-6b48dbda],.habit-order-enter-active[data-v-6b48dbda],.habit-order-leave-active[data-v-6b48dbda]{transition:none}}.empty-state[data-v-6b48dbda]{text-align:center;color:var(--text-muted);padding:40px}.card[data-v-95dc4ac8]{--chart-accent:var(--accent);--chart-rail:color-mix(in srgb, var(--accent-light), var(--bg-primary) 15%);padding:20px}.card h3[data-v-95dc4ac8]{font-size:1.1rem;font-weight:600}.chart-heading[data-v-95dc4ac8]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.week-summary[data-v-95dc4ac8]{align-items:center;gap:12px;line-height:1;display:flex}.week-ring[data-v-95dc4ac8]{--summary-ring-color:var(--chart-accent);--ring-progress:0%;background:conic-gradient(var(--summary-ring-color) 0 var(--ring-progress), var(--chart-rail) var(--ring-progress) 100%);border-radius:50%;flex:none;place-items:center;width:62px;height:62px;animation:.65s cubic-bezier(.2,.9,.3,1) forwards ring-fill-95dc4ac8;display:grid;position:relative}.week-ring[data-v-95dc4ac8]:before{content:"";background:var(--bg-card);border-radius:50%;position:absolute;inset:6px}.week-ring.perfect[data-v-95dc4ac8]{--summary-ring-color:#f9c74f;box-shadow:0 0 0 3px #f9c74f38}.week-ring__value[data-v-95dc4ac8]{color:var(--chart-accent);font-size:1.05rem;font-weight:800;position:relative}.week-ring__value i[data-v-95dc4ac8]{color:inherit;font-size:.7rem;font-style:normal;font-weight:700}.week-ring.perfect .week-ring__value[data-v-95dc4ac8]{color:#d99a06}@property --ring-progress{syntax:"<percentage>";inherits:false;initial-value:0%}@keyframes ring-fill-95dc4ac8{to{--ring-progress:var(--ring-value)}}.week-counts[data-v-95dc4ac8]{color:var(--text-secondary);gap:7px;font-size:.95rem;font-weight:800;display:grid}.week-counts__row[data-v-95dc4ac8]{align-items:baseline;gap:6px;display:flex}.week-counts__row b[data-v-95dc4ac8]{min-width:1.5ch;color:var(--text-secondary)}.week-counts__row small[data-v-95dc4ac8]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.66rem;font-weight:700}.week-counts__done[data-v-95dc4ac8]{color:var(--chart-accent)!important}.eyebrow[data-v-95dc4ac8]{color:var(--text-muted);text-transform:uppercase;font-size:.74rem;font-weight:800}.week-bars[data-v-95dc4ac8]{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:10px;min-height:190px;padding-top:18px;display:grid}.week-day[data-v-95dc4ac8]{text-align:center;cursor:pointer;--day-color:var(--chart-accent);border-radius:10px;grid-template-rows:16px 14px 144px 20px;align-items:end;gap:4px;min-width:0;padding-top:2px;transition:background .2s;display:grid}.week-day.tier-full[data-v-95dc4ac8]{--day-color:#f2a71b}.week-day.tier-high[data-v-95dc4ac8]{--day-color:var(--success,#5aa469)}.week-day.tier-low[data-v-95dc4ac8]{--day-color:var(--chart-accent)}.week-day.tier-zero[data-v-95dc4ac8],.week-day.tier-none[data-v-95dc4ac8]{--day-color:var(--text-muted)}.day-crown[data-v-95dc4ac8]{opacity:0;justify-content:center;align-items:center;height:16px;transition:opacity .25s,transform .35s cubic-bezier(.2,.9,.3,1.4);display:inline-flex;transform:scale(.4)}.day-crown.visible[data-v-95dc4ac8]{opacity:1;transform:scale(1)}.day-crown svg[data-v-95dc4ac8]{fill:#f2a71b;filter:drop-shadow(0 1px 3px #f2a71b73);width:15px;height:15px}.day-percent[data-v-95dc4ac8]{color:var(--text-muted);font-size:.68rem;font-weight:800;line-height:1}.week-day.tier-full .day-percent[data-v-95dc4ac8],.week-day.tier-high .day-percent[data-v-95dc4ac8]{color:var(--day-color)}.week-day.active[data-v-95dc4ac8]{background:color-mix(in srgb, var(--accent-light), transparent 55%)}.week-day[data-v-95dc4ac8]:hover,.week-day[data-v-95dc4ac8]:focus-visible{background:color-mix(in srgb, var(--accent-light), transparent 35%);outline:none}.bar-shell[data-v-95dc4ac8]{justify-content:center;align-items:flex-end;width:100%;height:144px;display:flex;overflow:hidden}.bar-segments[data-v-95dc4ac8]{flex-direction:column;justify-content:flex-end;gap:3px;width:100%;height:100%;display:flex}.bar-seg[data-v-95dc4ac8]{background:var(--chart-rail);border-radius:4px;flex:1 1 0;min-height:5px;transition:background .35s,box-shadow .35s}.bar-seg.filled[data-v-95dc4ac8]{background:linear-gradient(180deg, color-mix(in srgb, var(--day-color), white 26%), var(--day-color));box-shadow:0 1px 6px color-mix(in srgb, var(--day-color), transparent 70%);animation:.45s cubic-bezier(.2,.9,.3,1.2) both seg-rise-95dc4ac8;animation-delay:var(--seg-delay,0s)}@keyframes seg-rise-95dc4ac8{0%{opacity:.35;transform:scaleY(.15)}to{opacity:1;transform:scaleY(1)}}.bar-empty[data-v-95dc4ac8]{background:var(--chart-rail);opacity:.7;border-radius:999px;width:55%;height:5px}.bar-seg.filled[data-v-95dc4ac8]{transform-origin:bottom}.week-day b[data-v-95dc4ac8]{text-transform:capitalize;color:var(--text-muted);font-size:.78rem;line-height:1}.week-day.active b[data-v-95dc4ac8]{color:var(--chart-accent);font-weight:800}@media (prefers-reduced-motion:reduce){.week-ring[data-v-95dc4ac8]{--ring-progress:var(--ring-value);animation:none}.bar-seg.filled[data-v-95dc4ac8]{animation:none}.day-crown[data-v-95dc4ac8]{transition:none}}@media (width<=520px){.card[data-v-95dc4ac8]{padding:18px}.week-bars[data-v-95dc4ac8]{gap:5px;min-height:150px}.week-day[data-v-95dc4ac8]{grid-template-rows:14px 12px 108px 18px}.day-crown[data-v-95dc4ac8]{height:14px}.day-crown svg[data-v-95dc4ac8]{width:13px;height:13px}.day-percent[data-v-95dc4ac8]{font-size:.6rem}.week-ring[data-v-95dc4ac8]{width:54px;height:54px}.week-ring__value[data-v-95dc4ac8]{font-size:.92rem}.bar-shell[data-v-95dc4ac8]{height:108px}.bar-segments[data-v-95dc4ac8]{gap:2px}.bar-seg[data-v-95dc4ac8]{min-height:4px}}.daily-progress[data-v-dad965c5]{--progress-rail:color-mix(in srgb, var(--accent-light), var(--bg-primary) 15%);gap:10px;margin-bottom:18px;display:grid}.daily-progress__head[data-v-dad965c5]{justify-content:space-between;align-items:center;gap:14px;min-width:0;padding-inline:2px;display:flex}.daily-progress__date[data-v-dad965c5]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);text-transform:capitalize;font-size:.86rem;font-weight:700;overflow:hidden}.today-link[data-v-dad965c5]{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;padding:6px 10px;font-size:.78rem;font-weight:700;transition:background .2s}.today-link[data-v-dad965c5]:hover,.today-link[data-v-dad965c5]:focus-visible{background:color-mix(in srgb, var(--accent-light) 70%, transparent)}.daily-progress__card[data-v-dad965c5]{background:color-mix(in srgb, var(--accent-light) 58%, var(--bg-primary));border-radius:19px;align-items:center;gap:14px;min-width:0;padding:14px 16px;display:flex}.daily-progress__message[data-v-dad965c5]{gap:3px;min-width:0;display:grid}.daily-progress__message strong[data-v-dad965c5]{color:var(--text-primary);font-size:.96rem}.daily-progress__message span[data-v-dad965c5]{color:var(--text-muted);font-size:.8rem}.progress-ring[data-v-dad965c5]{--ring-color:var(--accent);--ring-progress:0%;background:conic-gradient(var(--ring-color) 0 var(--ring-progress), var(--progress-rail) var(--ring-progress) 100%);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;width:50px;height:50px;transition:box-shadow .35s;animation:.65s cubic-bezier(.2,.9,.3,1) forwards ring-fill-dad965c5;display:grid;position:relative}.progress-ring[data-v-dad965c5]:before{content:"";background:var(--bg-card);border-radius:50%;position:absolute;inset:6px}.complete .progress-ring[data-v-dad965c5]{--ring-color:#f9c74f;box-shadow:0 0 0 3px #f9c74f38}.progress-ring__value[data-v-dad965c5]{z-index:1;color:var(--accent);font-size:clamp(.68rem,1.15vw,.86rem);font-weight:800;position:relative}.progress-ring__value i[data-v-dad965c5]{color:inherit;font-size:.52rem;font-style:normal}.complete .progress-ring__value[data-v-dad965c5]{color:#d99a06}@keyframes ring-fill-dad965c5{to{--ring-progress:var(--ring-value)}}@media (prefers-reduced-motion:reduce){.progress-ring[data-v-dad965c5]{--ring-progress:var(--ring-value);transition:none;animation:none}}@media (width<=420px){.daily-progress__card[data-v-dad965c5]{padding-inline:13px}.daily-progress__message strong[data-v-dad965c5]{font-size:.9rem}.today-link[data-v-dad965c5]{padding-inline:7px}}.overflow-marquee[data-v-124b15ef]{white-space:nowrap;min-width:0;display:block;overflow:hidden}.overflow-marquee__content[data-v-124b15ef]{display:inline-block}.overflow-marquee__content.is-overflowing[data-v-124b15ef]{animation:overflow-marquee-124b15ef var(--marquee-duration) ease-in-out infinite alternate;will-change:transform}@keyframes overflow-marquee-124b15ef{0%,16%{transform:translate(0)}84%,to{transform:translateX(var(--marquee-shift))}}@media (prefers-reduced-motion:reduce){.overflow-marquee__content.is-overflowing[data-v-124b15ef]{text-overflow:ellipsis;max-width:100%;animation:none;overflow:hidden}}.stats-card[data-v-5142ee67]{width:100%;min-width:0;max-width:100%;padding:18px;overflow:clip}header[data-v-5142ee67]{gap:12px;min-width:0;margin-bottom:16px;display:grid}header>div[data-v-5142ee67]{min-width:0}h3[data-v-5142ee67]{font-size:1.05rem}header small[data-v-5142ee67],li small[data-v-5142ee67]{color:var(--text-muted);overflow-wrap:anywhere}.periods[data-v-5142ee67]{background:var(--bg-secondary);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;padding:3px;display:grid}.periods button[data-v-5142ee67]{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px 5px;font-size:.8rem}.periods button.active[data-v-5142ee67]{background:var(--bg-card);color:var(--accent);font-weight:700;box-shadow:0 1px 5px #00000014}.overall[data-v-5142ee67]{align-items:center;gap:12px;min-width:0;margin-bottom:16px;display:flex}.overall-ring[data-v-5142ee67]{background:conic-gradient(var(--accent) var(--value), var(--accent-light) 0);border-radius:50%;flex:0 0 58px;place-items:center;width:58px;height:58px;display:grid;position:relative}.overall-ring[data-v-5142ee67]:before{content:"";background:var(--bg-card);border-radius:50%;position:absolute;inset:6px}.overall-ring strong[data-v-5142ee67]{color:var(--accent);font-size:.86rem;position:relative}.overall div[data-v-5142ee67]:last-child{gap:4px;min-width:0;display:grid}.overall span[data-v-5142ee67]{color:var(--text-muted);font-size:.8rem}ul[data-v-5142ee67]{gap:13px;width:100%;min-width:0;margin:0;padding:0;list-style:none;display:grid}.habit-head[data-v-5142ee67]{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;width:100%;min-width:0;display:grid}.habit-stat[data-v-5142ee67]{cursor:pointer;border-radius:10px;min-width:0;max-width:100%;padding:5px}.habit-stat[data-v-5142ee67]:hover,.habit-stat[data-v-5142ee67]:focus-visible{background:var(--bg-secondary);outline:none}.trend.up[data-v-5142ee67]{color:var(--accent)}.trend.down[data-v-5142ee67]{color:#b86a55}.habit-copy[data-v-5142ee67]{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.habit-copy b[data-v-5142ee67]{flex:auto;min-width:0;font-size:.9rem}.category[data-v-5142ee67]{--category:#8ba888;text-overflow:ellipsis;min-width:0;max-width:38%;color:var(--category);background:color-mix(in srgb, var(--category) 14%, transparent);white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:.67rem;overflow:hidden}.fire[data-v-5142ee67]{color:var(--fire);white-space:nowrap;align-items:center;gap:2px;font-size:.75rem;font-weight:700;display:inline-flex}.habit-head>strong[data-v-5142ee67]{color:var(--accent);font-size:.8rem}.rail[data-v-5142ee67]{background:var(--accent-light);border-radius:999px;height:6px;margin:6px 0 3px;overflow:hidden}.rail span[data-v-5142ee67]{border-radius:inherit;background:var(--accent);height:100%;display:block}.stats-empty[data-v-5142ee67]{color:var(--text-muted);text-align:center;padding:18px 0}.date-picker[data-v-dfe023f6]{min-width:0;position:relative}.date-trigger[data-v-dfe023f6]{border:1px solid var(--border);background:var(--bg-primary);width:100%;min-height:42px;color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:inline-flex}.date-trigger-shell[data-v-dfe023f6]{position:relative}.date-trigger-shell.has-clear .date-trigger[data-v-dfe023f6]{padding-right:38px}.date-trigger>svg[data-v-dfe023f6]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;color:var(--text-muted);flex:none}.date-trigger span[data-v-dfe023f6]{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:auto;min-width:0;overflow:hidden}.date-trigger .placeholder[data-v-dfe023f6]{color:var(--text-muted)}.native-trigger[data-v-dfe023f6]{position:relative}.native-date-input[data-v-dfe023f6]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.native-clear[data-v-dfe023f6]{z-index:2;background:0 0;border:0;position:relative}.date-clear[data-v-dfe023f6]{width:20px;height:20px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:.95rem;line-height:1;display:inline-flex}.desktop-clear[data-v-dfe023f6]{background:0 0;border:0;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.date-clear[data-v-dfe023f6]:hover{background:var(--accent-light);color:var(--accent)}.date-pop[data-v-dfe023f6]{z-index:1100;border:1px solid var(--border);background:var(--bg-card);width:min(272px,86vw);box-shadow:var(--shadow-hover);border-radius:8px;padding:10px;position:fixed}.date-pop.above[data-v-dfe023f6]{transform:translateY(-100%)}.date-pop.with-time[data-v-dfe023f6]{width:min(304px,100vw - 16px)}.date-pop-head[data-v-dfe023f6]{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.date-pop-head strong[data-v-dfe023f6]{text-transform:capitalize;font-size:.92rem}.pop-nav[data-v-dfe023f6]{border:1px solid var(--border);background:var(--bg-primary);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.pop-nav[data-v-dfe023f6]:hover{color:var(--accent);border-color:var(--accent)}.pop-nav svg[data-v-dfe023f6]{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.date-grid[data-v-dfe023f6]{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.grid-weekday[data-v-dfe023f6]{text-align:center;color:var(--text-muted);text-transform:capitalize;padding:4px 0;font-size:.68rem;font-weight:700}.grid-day[data-v-dfe023f6]{color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 0;font-size:.84rem}.grid-day[data-v-dfe023f6]:hover{background:var(--accent-light)}.grid-day.muted[data-v-dfe023f6]{color:var(--text-muted);opacity:.55}.grid-day.today[data-v-dfe023f6]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent)}.grid-day.selected[data-v-dfe023f6]{background:var(--accent);color:#fff;font-weight:700}.date-pop-actions[data-v-dfe023f6]{border-top:1px solid var(--border);justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;display:flex}.date-pop.with-time .date-pop-actions[data-v-dfe023f6]{grid-template-columns:auto 1fr auto;align-items:center;display:grid}.date-pop-actions button[data-v-dfe023f6]{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 8px;font-size:.84rem;font-weight:700}.date-pop-actions button[data-v-dfe023f6]:hover{background:var(--accent-light)}.date-pop-actions .time-trigger[data-v-dfe023f6]{border:1px solid var(--border);background:var(--bg-primary);min-height:34px;color:var(--text-primary);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:5px 10px;display:inline-flex}.time-trigger svg[data-v-dfe023f6]{fill:none;width:16px;height:16px;stroke:var(--accent);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.date-pop-actions .time-trigger[data-v-dfe023f6]:hover{border-color:var(--accent);background:var(--accent-light)}.time-panel[data-v-dfe023f6]{padding:2px}.time-panel-head[data-v-dfe023f6]{grid-template-columns:30px 1fr 30px;align-items:center;gap:8px;display:grid}.time-panel-head strong[data-v-dfe023f6]{text-align:center;font-size:.92rem}.head-spacer[data-v-dfe023f6]{width:30px}.time-preview[data-v-dfe023f6]{color:var(--accent);letter-spacing:.04em;text-align:center;margin:15px auto 12px;font-size:2rem;font-weight:800}.time-wheels[data-v-dfe023f6]{grid-template-columns:88px 18px 88px;justify-content:center;align-items:center;gap:4px;display:grid;position:relative}.time-wheels[data-v-dfe023f6]:before{content:"";border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:var(--accent-light);pointer-events:none;border-radius:9px;height:40px;position:absolute;top:40px;left:29px;right:29px}.time-wheel[data-v-dfe023f6]{z-index:1;box-sizing:border-box;scroll-snap-type:y mandatory;scrollbar-width:none;height:120px;padding:40px 0;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 32% 68%,#0000);mask-image:linear-gradient(#0000,#000 32% 68%,#0000)}.time-wheel[data-v-dfe023f6]::-webkit-scrollbar{display:none}.time-wheel button[data-v-dfe023f6]{width:100%;height:40px;color:var(--text-muted);font:inherit;cursor:pointer;scroll-snap-align:center;background:0 0;border:0;font-size:1rem;font-weight:650;display:block}.time-wheel button.selected[data-v-dfe023f6]{color:var(--accent);font-size:1.08rem;font-weight:800}.time-separator[data-v-dfe023f6]{z-index:2;color:var(--accent);text-align:center;font-size:1.2rem;font-weight:800;position:relative}.time-done[data-v-dfe023f6]{background:var(--accent);color:#fff;width:100%;min-height:38px;font:inherit;cursor:pointer;border:0;border-radius:8px;margin-top:14px;font-weight:750}.time-done[data-v-dfe023f6]:hover{filter:brightness(1.04)}.category-modal-overlay[data-v-b430677b]{z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.category-modal[data-v-b430677b]{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;width:min(100%,560px);max-height:calc(100vh - 32px);padding:20px;overflow-y:auto}.category-modal-heading[data-v-b430677b]{justify-content:flex-end;align-items:flex-start;margin-bottom:8px;display:flex}.modal-close-btn[data-v-b430677b]{border:1px solid var(--border);background:var(--bg-secondary);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.modal-close-btn[data-v-b430677b]:hover{border-color:var(--accent);color:var(--accent)}.category-form[data-v-b430677b]{gap:14px;margin:0;display:grid}.cf-field[data-v-b430677b]{gap:6px;display:grid}.cf-label[data-v-b430677b]{color:var(--text-secondary);font-size:.82rem;font-weight:700}.category-form input[data-v-b430677b]{border:1px solid var(--border);background:var(--bg-card);width:100%;min-height:40px;color:var(--text-primary);font:inherit;border-radius:8px;padding:8px 12px;font-size:.92rem}.category-form input[data-v-b430677b]:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.color-field[data-v-b430677b]{gap:8px;display:grid}.color-palette[data-v-b430677b]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.color-swatch[data-v-b430677b]{background:var(--swatch-color);cursor:pointer;border:0;border-radius:50%;width:26px;height:26px;padding:0;transition:transform .15s,box-shadow .15s}.color-swatch[data-v-b430677b]:hover{transform:scale(1.12)}.color-swatch.active[data-v-b430677b]{box-shadow:0 0 0 2px var(--bg-primary), 0 0 0 4px var(--swatch-color)}.color-swatch-add[data-v-b430677b]{border:1.5px dashed var(--border);color:var(--text-muted);background:0 0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.color-swatch-add[data-v-b430677b]:hover{border-color:var(--accent);color:var(--accent);transform:none}.cf-add-plus[data-v-b430677b]{pointer-events:none;font-size:1.05rem;font-weight:700;line-height:1}.custom-color-input[data-v-b430677b]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.form-actions[data-v-b430677b]{align-items:center;gap:8px;display:flex}.save-btn[data-v-b430677b],.cancel-btn[data-v-b430677b]{border:1px solid var(--border);cursor:pointer;font:inherit;border-radius:8px;padding:7px 14px;font-size:.9rem;font-weight:700}.save-btn[data-v-b430677b]{background:var(--accent);color:#fff;border-color:var(--accent)}.save-btn[data-v-b430677b]:disabled{opacity:.5;cursor:default}.cancel-btn[data-v-b430677b]{background:var(--bg-primary);color:var(--text-secondary)}@media (width<=760px){.color-swatch[data-v-b430677b]{width:30px;height:30px}.form-actions[data-v-b430677b]{width:100%}.form-actions button[data-v-b430677b]{flex:1}.category-modal[data-v-b430677b]{padding:16px}}.privacy-row[data-v-85a80f02]{align-items:center;gap:8px;margin-top:14px;display:flex}.privacy-toggle[data-v-85a80f02]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.privacy-toggle input[data-v-85a80f02]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.privacy-toggle-text[data-v-85a80f02]{color:var(--text-primary);font-size:.92rem}.privacy-info[data-v-85a80f02]{align-items:center;display:inline-flex;position:relative}.privacy-info-mark[data-v-85a80f02]{border:1.5px solid var(--text-muted);width:16px;height:16px;color:var(--text-muted);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-family:Georgia,Times New Roman,serif;font-size:.7rem;font-style:italic;font-weight:700;line-height:1;transition:color .16s,border-color .16s;display:inline-flex}.privacy-info:hover .privacy-info-mark[data-v-85a80f02],.privacy-info:focus-visible .privacy-info-mark[data-v-85a80f02]{border-color:var(--accent);color:var(--accent)}.privacy-tooltip[data-v-85a80f02]{z-index:30;white-space:nowrap;background:var(--text-primary);color:var(--bg-card);box-shadow:var(--shadow-hover);opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;padding:6px 10px;font-size:.78rem;font-weight:500;transition:opacity .16s,transform .16s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.privacy-tooltip[data-v-85a80f02]:before{content:"";border:5px solid #0000;border-bottom-color:var(--text-primary);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.privacy-info:hover .privacy-tooltip[data-v-85a80f02],.privacy-info:focus .privacy-tooltip[data-v-85a80f02],.privacy-info:focus-visible .privacy-tooltip[data-v-85a80f02]{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.modal-overlay[data-v-85a80f02]{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content[data-v-85a80f02]{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;width:min(100%,680px);max-height:calc(100vh - 32px);padding:20px;overflow-y:auto}.modal-heading[data-v-85a80f02]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.icon-btn[data-v-85a80f02]{border:1px solid var(--border);background:var(--bg-primary);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:8px;font-size:1.2rem}.compact-row[data-v-85a80f02]{flex-wrap:wrap;gap:8px;display:flex}.chip-dot[data-v-85a80f02]{background:var(--category-color);border-radius:999px;flex:none;width:10px;height:10px}.category-chip[data-v-85a80f02]{cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:6px 9px;font-size:.88rem;transition:all .18s;display:inline-flex}.category-chip svg[data-v-85a80f02]{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.category-add[data-v-85a80f02]{border:1px dashed var(--border);min-width:32px;color:var(--text-secondary);background:0 0;justify-content:center;padding:6px;font-size:1.1rem;font-weight:500;line-height:1}.category-add[data-v-85a80f02]:hover{border-color:var(--accent);color:var(--accent)}.field[data-v-85a80f02]{margin-bottom:0}.field label[data-v-85a80f02]{margin-bottom:6px;font-size:.92rem;font-weight:500;display:block}.field input[data-v-85a80f02],.field select[data-v-85a80f02]{border:1px solid var(--border);background:var(--bg-primary);width:100%;color:var(--text-primary);font:inherit;border-radius:8px;padding:8px 12px;font-size:.95rem}.field input[data-v-85a80f02]::placeholder{color:var(--text-muted);opacity:1;font-weight:400}.custom-select[data-v-85a80f02]{position:relative}.custom-select-trigger[data-v-85a80f02],.custom-select-option[data-v-85a80f02],.number-control button[data-v-85a80f02]{font:inherit}.custom-select-trigger[data-v-85a80f02]{border:1px solid var(--border);background:var(--bg-primary);width:100%;min-height:42px;color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:.95rem;display:inline-flex}.custom-select-trigger svg[data-v-85a80f02]{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;color:var(--text-muted);transition:transform .18s}.custom-select.open .custom-select-trigger svg[data-v-85a80f02]{transform:rotate(180deg)}.custom-select-menu[data-v-85a80f02]{z-index:20;border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-hover);border-radius:8px;gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0}.custom-select-option[data-v-85a80f02]{color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px 10px}.custom-select-option.active[data-v-85a80f02]{background:var(--accent-light);color:var(--accent)}@media (hover:hover){.custom-select-option[data-v-85a80f02]:hover{background:var(--accent-light);color:var(--accent)}}.number-control[data-v-85a80f02]{border:1px solid var(--border);background:var(--bg-primary);border-radius:8px;grid-template-columns:38px minmax(0,1fr) 38px;max-width:170px;min-height:42px;display:grid;overflow:hidden}.number-control input[data-v-85a80f02]{width:100%;min-width:0;color:var(--text-primary);font:inherit;text-align:center;background:0 0;border:0;outline:none}.date-field[data-v-85a80f02]{gap:6px;min-width:0;display:grid}.date-field>span[data-v-85a80f02]{font-size:.92rem;font-weight:500}.number-control input[data-v-85a80f02]::-webkit-outer-spin-button{appearance:none;margin:0}.number-control input[data-v-85a80f02]::-webkit-inner-spin-button{appearance:none;margin:0}.number-control input[data-v-85a80f02]{appearance:textfield}.number-control button[data-v-85a80f02]{border:0;border-right:1px solid var(--border);background:color-mix(in srgb, var(--bg-card) 70%, var(--bg-primary));color:var(--text-secondary);cursor:pointer;font-weight:800}.number-control button[data-v-85a80f02]:last-child{border-right:0;border-left:1px solid var(--border)}.number-control button[data-v-85a80f02]:hover{color:var(--accent);background:var(--accent-light)}.form-grid[data-v-85a80f02]{grid-template-columns:minmax(0,1.2fr) minmax(150px,.8fr);align-items:end;gap:14px;display:grid}.field-wide[data-v-85a80f02],.field-category-picker[data-v-85a80f02]{grid-column:1/-1}.identity-row[data-v-85a80f02]{grid-template-columns:minmax(0,1fr) minmax(132px,170px);align-items:end;gap:14px;display:grid}.helper[data-v-85a80f02]{color:var(--text-muted);margin-top:5px;font-size:.8rem;display:block}.two-cols[data-v-85a80f02]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.weekdays[data-v-85a80f02]{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding-bottom:2px;display:grid}.weekday-btn[data-v-85a80f02]{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:8px;min-width:0;padding:7px 2px;font-size:.8rem}.weekday-btn.active[data-v-85a80f02]{background:var(--accent);color:#fff;border-color:var(--accent)}.repeat-group[data-v-85a80f02]{background:color-mix(in srgb, var(--accent-light) 45%, transparent);border-radius:8px;gap:12px;padding:12px;display:grid}.repeat-sub[data-v-85a80f02]{gap:6px;display:grid}.repeat-sub label[data-v-85a80f02]{color:var(--text-secondary);font-size:.85rem;font-weight:500}.schedule-preview[data-v-85a80f02]{color:var(--text-secondary);margin:0;font-size:.85rem}.schedule-preview span[data-v-85a80f02]{color:var(--text-muted);font-weight:600}.actions[data-v-85a80f02]{align-items:center;gap:10px;margin-top:16px;display:flex}.save-btn[data-v-85a80f02],.cancel-btn[data-v-85a80f02]{cursor:pointer;font-weight:500;font:inherit;border:none;border-radius:8px;padding:10px 16px}.save-btn[data-v-85a80f02]{background:var(--accent);color:#fff;flex:1}.cancel-btn[data-v-85a80f02]{color:var(--text-secondary);background:0 0;flex:none}.cancel-btn[data-v-85a80f02]:hover{background:var(--bg-primary)}.period-fields[data-v-85a80f02]{margin-top:14px}@media (width<=560px){.modal-content[data-v-85a80f02]{padding:16px}.modal-heading[data-v-85a80f02]{margin-bottom:12px}.form-grid[data-v-85a80f02]{grid-template-columns:1fr;gap:12px}.identity-row[data-v-85a80f02]{grid-template-columns:minmax(0,1fr) 132px;gap:8px}.two-cols[data-v-85a80f02]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}}@media (width<=380px){.two-cols[data-v-85a80f02]{grid-template-columns:1fr}}.celebration[data-v-70f63857]{z-index:1000;pointer-events:none;background:color-mix(in srgb, var(--bg-primary), transparent 42%);animation:celebration-fade-70f63857 var(--fade,3.6s) ease both;place-items:center;display:grid;position:fixed;inset:0}.celebration.is-week[data-v-70f63857]{background:color-mix(in srgb, var(--bg-primary), transparent 34%)}.celebration-card[data-v-70f63857]{pointer-events:auto;text-align:center;width:min(440px,100vw - 32px);color:var(--text-primary);justify-items:center;gap:10px;padding:26px;animation:.55s cubic-bezier(.2,.9,.3,1.2) both celebration-pop-70f63857;display:grid;position:relative}.celebration.is-week .celebration-card[data-v-70f63857]{width:min(500px,100vw - 32px);padding:32px;box-shadow:0 22px 60px #f9c74f66}.celebration-card h2[data-v-70f63857]{max-width:34ch;font-size:1.15rem;line-height:1.35}.celebration.is-week .celebration-card h2[data-v-70f63857]{font-size:1.3rem}.celebration-close[data-v-70f63857]{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .2s,background .2s;display:inline-flex;position:absolute;top:8px;right:10px}.celebration-close[data-v-70f63857]:hover{color:var(--text-primary);background:var(--bg-secondary)}.celebration-close svg[data-v-70f63857]{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:15px;height:15px}.eyebrow[data-v-70f63857]{color:var(--accent);text-transform:uppercase;font-size:.75rem;font-weight:800}.celebration.is-week .eyebrow[data-v-70f63857]{color:#f4a419}.fireworks[data-v-70f63857]{position:absolute;inset:0;overflow:hidden}.fireworks span[data-v-70f63857]{left:var(--x);top:var(--y);background:var(--accent);opacity:0;width:7px;height:7px;animation:1.6s ease-out both firework-burst-70f63857;animation-delay:var(--delay);border-radius:50%;position:absolute;transform:scale(.2);box-shadow:0 -34px #ffd166,26px -22px #ff8c42,34px 4px #f94144,18px 30px #f9c74f,-18px 30px #90be6d,-34px 4px #f9844a,-26px -22px #fff3b0}.celebration.is-week .fireworks span[data-v-70f63857]{width:9px;height:9px;animation-duration:2.1s}@keyframes celebration-fade-70f63857{0%,82%{opacity:1}to{opacity:0}}@keyframes celebration-pop-70f63857{0%{opacity:0;transform:translateY(18px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes firework-burst-70f63857{0%{opacity:0;transform:scale(.2)rotate(0)}18%{opacity:1}to{opacity:0;transform:scale(1.25)rotate(45deg)}}@media (prefers-reduced-motion:reduce){.celebration[data-v-70f63857],.celebration-card[data-v-70f63857],.fireworks span[data-v-70f63857]{animation:none}}.flying-oleg[data-v-62585052]{z-index:1250;pointer-events:none;filter:drop-shadow(0 8px 18px #261f1233);width:min(300px,100vw - 24px);animation:oleg-visit-62585052 var(--visit-duration) ease-in-out both;align-items:flex-end;gap:4px;display:flex;position:fixed}.speech-bubble[data-v-62585052]{pointer-events:auto;background:var(--bg-card);max-width:210px;color:var(--text-primary);border:2px solid #5c4930;border-radius:18px;align-self:flex-start;padding:16px 28px 16px 14px;font-size:.85rem;font-weight:700;line-height:1.3;position:relative}.speech-bubble button[data-v-62585052]{width:28px;height:32px;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:20px;position:absolute;top:0;right:0}.speech-bubble[data-v-62585052]:after{content:"";background:var(--bg-card);border-bottom:2px solid #5c4930;border-right:2px solid #5c4930;width:14px;height:14px;position:absolute;bottom:12px;right:-9px;transform:rotate(-45deg)}.from-right[data-v-62585052]{flex-direction:row-reverse}.from-right .speech-bubble[data-v-62585052]:after{left:-9px;right:auto;transform:rotate(135deg)}@keyframes oleg-visit-62585052{0%{opacity:0;transform:translateX(var(--entry-x,-130px)) translateY(30px) rotate(-8deg)}16%,76%{opacity:1;transform:translate(0)translateY(0)rotate(0)}48%{transform:translate(0)translateY(-8px)rotate(1deg)}to{opacity:0;transform:translateX(var(--exit-x,90px)) translateY(-28px) rotate(7deg)}}.from-left[data-v-62585052]{--entry-x:-150px;--exit-x:80px}.from-right[data-v-62585052]{--entry-x:150px;--exit-x:-80px}@media (prefers-reduced-motion:reduce){.flying-oleg[data-v-62585052]{animation:oleg-visit-fade-62585052 var(--visit-duration) ease both}}@keyframes oleg-visit-fade-62585052{0%,to{opacity:0}12%,82%{opacity:1}}.dashboard-grid[data-v-0861629f]{align-items:start;gap:var(--page-gap);grid-template-columns:1fr 340px;width:100%;min-width:0;max-width:100%;display:grid}.habits-section[data-v-0861629f]{padding:var(--card-pad);min-width:0;max-width:100%}.sidebar[data-v-0861629f]{gap:var(--page-gap);flex-direction:column;min-width:0;max-width:100%;display:flex}.loader-row[data-v-0861629f]{color:var(--text-secondary);align-items:center;gap:10px;padding:14px 4px;display:flex}.inline-add-habit[data-v-0861629f]{border:1px dashed color-mix(in srgb, var(--accent) 48%, var(--border));background:color-mix(in srgb, var(--accent-light) 42%, transparent);width:100%;color:var(--accent);font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:7px;margin-top:10px;padding:9px 16px;font-weight:700;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.inline-add-habit[data-v-0861629f]:hover,.inline-add-habit[data-v-0861629f]:focus-visible{border-color:var(--accent);background:var(--accent-light)}.inline-add-habit[data-v-0861629f]:active{transform:translateY(1px)}.spinner[data-v-0861629f]{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin-0861629f}@keyframes spin-0861629f{to{transform:rotate(360deg)}}@media (width<=900px){.dashboard-grid[data-v-0861629f]{grid-template-columns:minmax(0,1fr);gap:20px}}@media (width<=560px){.habits-section[data-v-0861629f]{padding:14px}}:root{--bg-primary:#f4f5f1;--bg-secondary:#fbfbf8;--bg-card:#fbfbf8;--text-primary:#242421;--text-secondary:#565650;--text-muted:#77776f;--border:#d9d9d3;--accent:#6f8f6b;--accent-light:#d6e4d3;--accent-hover:#587955;--success:#6f8f6b;--success-light:#d6e4d3;--fire:#e85c20;--danger:#c75f5f;--danger-light:#f4d8d8;--weekend-soft:#f1dada;--holiday-bright:#e64545;--holiday-light:#ffdada;--radius-card:22px;--radius-item:15px;--card-pad:18px;--page-gap:18px;--page-title:1.5rem;--shadow:0 2px 8px #0000000f, 0 4px 16px #00000008;--shadow-hover:0 8px 24px #00000014}body.dark{--bg-primary:#1a1a1a;--bg-secondary:#242424;--bg-card:#2a2a2a;--text-primary:#ecece4;--text-secondary:#b0b0aa;--text-muted:#7a7a74;--border:#353535;--accent:#9bbf97;--accent-light:#2f3e2c;--accent-hover:#b2d4ae;--success:#9bbf97;--success-light:#2f3e2c;--danger:#cfa794;--danger-light:#3e2a24;--weekend-soft:#3a2828;--holiday-bright:#ff7a7a;--holiday-light:#4c2828;--shadow:0 2px 8px #0003;--shadow-hover:0 8px 24px #0000004d}body.blueberry{--bg-primary:#1a1625;--bg-secondary:#2a2440;--bg-card:#352d4a;--text-primary:#f3eefc;--text-secondary:#cbbff0;--text-muted:#9c8fc9;--border:#4a3e6b;--accent:#9f7bee;--accent-light:#3a2c5a;--accent-hover:#b692ff;--success:#9f7bee;--success-light:#3a2c5a;--danger:#e0a48b;--danger-light:#5a3a2e;--weekend-soft:#4f323a;--holiday-bright:#ff8585;--holiday-light:#64323a;--shadow:0 2px 8px #0006;--shadow-hover:0 8px 24px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);font-family:Inter Variable,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;transition:background .3s,color .2s}.app-container{max-width:1280px;margin:0 auto;padding:16px 24px}.surface-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow)}.category-badge{border:1px solid color-mix(in srgb, var(--category-color,#8ba888), transparent 50%);background:color-mix(in srgb, var(--category-color,#8ba888), white 84%);color:color-mix(in srgb, var(--category-color,#8ba888), black 25%)}.category-badge.active{border-color:color-mix(in srgb, var(--category-color,#8ba888), transparent 12%);background:color-mix(in srgb, var(--category-color,#8ba888), white 76%);color:color-mix(in srgb, var(--category-color,#8ba888), black 32%)}body.dark .category-badge,body.blueberry .category-badge{background:color-mix(in srgb, var(--category-color,#8ba888) 9%, var(--bg-primary));color:color-mix(in srgb, var(--category-color,#8ba888), white 32%);border-color:color-mix(in srgb, var(--category-color,#8ba888), transparent 45%)}body.dark .category-badge.active,body.blueberry .category-badge.active{background:color-mix(in srgb, var(--category-color,#8ba888) 18%, var(--bg-card));color:color-mix(in srgb, var(--category-color,#8ba888), white 45%);border-color:color-mix(in srgb, var(--category-color,#8ba888), transparent 10%)}@media (width<=900px){.app-container{padding:12px;padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}}@media (width<=720px){.app-container{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}}
