@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.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}@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}:root{--bg:#f7f1ea;--bg-grad:radial-gradient(1200px 600px at 85% -10%, #f6e4e0 0%, transparent 60%), radial-gradient(900px 500px at -10% 110%, #eef0e8 0%, transparent 55%);--surface:#fffdfb;--surface-2:#fbf5ef;--line:#ede3d8;--ink:#3e3029;--muted:#76645a;--sage:#a7b59e;--sage-deep:#5b6e54;--sage-soft:#cfd8c7;--sage-wash:#eef1ea;--blush:#ebc9c3;--blush-soft:#f6e4e0;--tan:#b89474;--tan-soft:#e8d6c3;--cocoa:#5a4436;--coral:#b4573f;--on-coral:#fff;--pot:#ebc5b7;--pot-rim:#e0b3a2;--ring-track:#f0e7dd;--shadow-soft:#5a443617;--shadow:0 1px 2px #5a44360a, 0 8px 24px #5a44360f;--shadow-lift:0 2px 4px #5a44360d, 0 16px 40px #5a44361a;--focus:#5b6e54;--radius:22px;--radius-sm:14px;--font-serif:"Fraunces Variable", "Iowan Old Style", Georgia, serif;--font-sans:"Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--nav-h:68px;--ease:cubic-bezier(.2, .8, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#27201d;--bg-grad:radial-gradient(1200px 600px at 85% -10%, #3a2b28 0%, transparent 60%), radial-gradient(900px 500px at -10% 110%, #2c2b25 0%, transparent 55%);--surface:#322925;--surface-2:#3a302b;--line:#4a3d36;--ink:#f4eae1;--muted:#c6b5a8;--sage:#8fa286;--sage-deep:#b9cbae;--sage-soft:#56634f;--sage-wash:#343a31;--blush:#c79189;--blush-soft:#47332f;--tan:#cda580;--tan-soft:#5a4637;--cocoa:#2a201c;--coral:#e08a73;--on-coral:#2a1a14;--pot:#b98575;--pot-rim:#a97566;--ring-track:#43372f;--shadow-soft:#00000040;--shadow:0 1px 2px #0003, 0 8px 24px #0000002e;--shadow-lift:0 2px 4px #0003, 0 16px 40px #0000004d;--focus:#b9cbae;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg-grad), var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background-attachment:fixed;min-height:100dvh;margin:0;font-size:15.5px;line-height:1.55}h1,h2,h3{font-family:var(--font-serif);letter-spacing:-.01em;font-optical-sizing:auto;margin:0;font-weight:400;line-height:1.15}h1{font-size:clamp(30px,4.2vw,42px)}h2{font-size:21px}h3{font-size:17px}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2.5px solid var(--focus);outline-offset:3px;border-radius:10px}::selection{background:var(--blush)}img{max-width:100%}.eyebrow{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.cap:first-letter{text-transform:uppercase}.row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.row-between{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.skip{z-index:100;background:var(--surface);border-radius:12px;padding:10px 14px;position:absolute;top:8px;left:-999px}.skip:focus{left:12px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.loading{min-height:50vh}.shell{min-height:100dvh}.sidebar{display:none}.main-col{padding:0 16px calc(var(--nav-h) + 28px + env(safe-area-inset-bottom));max-width:1180px;margin:0 auto}.topbar{padding:max(14px, env(safe-area-inset-top)) 0 10px;justify-content:space-between;align-items:center;display:flex}main{outline:none}.page{animation:page-in .35s var(--ease) both}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.brand{flex-direction:column;line-height:1.1;text-decoration:none;display:flex}.brand-name{font-family:var(--font-serif);font-size:22px}.brand-dot{color:var(--tan)}.brand-by{letter-spacing:.22em;color:var(--muted);margin-top:3px;font-size:10px}.brand-logo{object-fit:contain;object-position:left;width:auto;height:22px;margin-top:6px}.new-wrap{right:16px;bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom));z-index:30;position:fixed}.btn-new{background:var(--coral);color:var(--on-coral);transition:transform .2s var(--ease), box-shadow .2s;border:0;border-radius:999px;align-items:center;gap:6px;padding:14px 20px;font-size:15px;font-weight:600;display:inline-flex;box-shadow:0 10px 24px #b4573f47}.btn-new:hover{transform:translateY(-1px);box-shadow:0 14px 30px #b4573f52}.btn-new:active{transform:scale(.97)}.new-menu{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lift);min-width:210px;animation:pop .18s var(--ease);border-radius:18px;padding:6px;position:absolute;bottom:calc(100% + 10px);right:0}.new-menu button{text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;padding:12px 14px;display:flex}.new-menu button:hover,.new-menu button:focus-visible{background:var(--surface-2)}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.98)}}.bottom-nav{z-index:25;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav a,.bottom-nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:48px;font-size:11.5px;text-decoration:none;display:flex}.bottom-nav .is-active{color:var(--sage-deep);font-weight:600}.bottom-nav .is-active svg{transform:translateY(-1px)}.sheet-backdrop{z-index:40;background:#281e1940;animation:.2s fade;position:fixed;inset:0}.sheet{background:var(--surface);padding:10px 16px calc(24px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lift);animation:sheet-up .28s var(--ease);border-radius:26px 26px 0 0;position:absolute;inset:auto 0 0}.sheet-grip{background:var(--line);border-radius:4px;width:40px;height:4px;margin:4px auto 14px;display:block}.sheet-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.sheet-grid a{background:var(--surface-2);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:16px 6px;font-size:13px;text-decoration:none;display:flex}.sheet-grid a.is-active{background:var(--sage-wash);color:var(--sage-deep)}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}@media (width>=960px){.shell{grid-template-columns:252px 1fr;display:grid}.sidebar{border-right:1px solid var(--line);background:color-mix(in srgb, var(--surface) 55%, transparent);flex-direction:column;gap:26px;height:100dvh;padding:28px 18px 22px;display:flex;position:sticky;top:0}.sidebar .brand{padding:0 12px}.sidebar ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.nav-link{color:var(--muted);border-radius:14px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;transition:background .2s,color .2s;display:flex}.nav-link:hover{background:var(--surface-2);color:var(--ink)}.nav-link.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.nav-link.is-active svg{color:var(--sage-deep)}.nav-link.small{font-size:14px}.sidebar-foot{gap:10px;margin-top:auto;display:grid}.by{color:var(--muted);padding:0 12px;font-size:12px;text-decoration:none}.by:hover{text-decoration:underline}.topbar,.bottom-nav{display:none}.main-col{width:100%;padding:32px 40px 60px;position:relative}.new-wrap{position:absolute;top:26px;bottom:auto;right:40px}.new-menu{top:calc(100% + 10px);bottom:auto}}@media (width>=960px) and (width<=1100px){.main-col{padding:28px 28px 60px}.new-wrap{right:28px}}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;margin:8px 0 22px;padding-right:0;display:flex}@media (width>=960px){.page-header{padding-right:130px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:22px}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.card-head h2{font-size:20px}.pill{white-space:nowrap;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);border-radius:999px;align-items:center;gap:4px;padding:7px 13px;font-size:13px;text-decoration:none;transition:background .2s;display:inline-flex}.pill:hover{background:var(--blush-soft)}.btn{min-height:44px;transition:transform .15s var(--ease), background .2s, box-shadow .2s;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--sage-deep);color:var(--surface)}.btn-primary:hover{box-shadow:var(--shadow)}.btn-primary-soft{background:var(--sage-wash);color:var(--sage-deep);border-color:var(--sage-soft)}.btn-soft{background:var(--surface-2);border-color:var(--line)}.btn-soft:hover{background:var(--blush-soft)}.btn-danger{color:#a24636;background:0 0;border-color:#e6c3bb}:root[data-theme=dark] .btn-danger{color:#f0a493;border-color:#6a4339}.btn-full{width:100%}.icon-btn{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:999px;flex:none;place-items:center;transition:background .2s,color .2s;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn.soft{background:var(--sage-wash);color:var(--sage-deep)}.link-btn{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;padding:8px;font-size:13px;text-decoration:underline}input[type=text],input[type=search],input[type=date],input[type=time],input[type=number],input:not([type]),select,textarea{border:1px solid var(--line);background:var(--surface-2);appearance:none;border-radius:14px;width:100%;min-height:46px;padding:10px 14px;transition:border-color .2s,background .2s}select{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-repeat:no-repeat;background-size:5px 5px;padding-right:34px}textarea{resize:vertical;min-height:110px;line-height:1.6}input:focus,select:focus,textarea:focus{border-color:var(--sage);background:var(--surface);box-shadow:0 0 0 3px var(--sage-wash);outline:none}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--muted) 80%, transparent)}.field{gap:6px;margin-bottom:14px;display:grid}.field-label{color:var(--muted);font-size:13px;font-weight:500}.field-hint{color:var(--muted);font-size:12.5px}.fields-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.segmented{background:var(--surface-2);border:1px solid var(--line);scrollbar-width:none;border-radius:999px;gap:2px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.segmented::-webkit-scrollbar{display:none}.segmented button{white-space:nowrap;color:var(--muted);background:0 0;border:0;border-radius:999px;flex:none;min-height:38px;padding:8px 14px;font-size:13.5px}.segmented button.is-on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;min-height:40px;padding:8px 14px;font-size:13.5px}.chip.is-on{background:var(--sage-wash);border-color:var(--sage-soft);color:var(--sage-deep);font-weight:500}.chip-day{width:44px;padding:0}.bar{background:var(--ring-track);border-radius:99px;height:8px;overflow:hidden}.bar span{border-radius:inherit;background:linear-gradient(90deg, var(--sage), var(--tan));height:100%;transition:width .8s var(--ease);display:block}.empty{color:var(--muted);align-items:center;gap:10px;padding:10px 2px;font-size:14.5px;display:flex}.empty svg{color:var(--blush);flex:none}:root[data-theme=dark] .empty svg{color:var(--tan)}.bloom{border:1.6px solid var(--sage-soft);background:var(--surface);color:#0000;width:30px;height:30px;transition:background .3s var(--ease), border-color .3s;border-radius:10px;flex:none;place-items:center;padding:0;display:grid;position:relative}.bloom:before{content:"";position:absolute;inset:-8px}.bloom:hover{border-color:var(--sage)}.bloom.is-on{background:var(--sage-deep);border-color:var(--sage-deep);color:var(--surface)}.bloom-tick{opacity:0;transition:transform .35s var(--ease), opacity .2s;transform:scale(.4)}.bloom.is-on .bloom-tick{opacity:1;transform:scale(1)}.bloom-petals{pointer-events:none;border-radius:50%;position:absolute;inset:0}.bloom.is-anim .bloom-petals{animation:bloom .6s var(--ease) forwards;box-shadow:0 -16px 0 -6px var(--blush), 14px -8px 0 -6px var(--sage), 14px 8px 0 -6px var(--blush), 0 16px 0 -6px var(--tan-soft), -14px 8px 0 -6px var(--blush), -14px -8px 0 -6px var(--sage)}@keyframes bloom{0%{opacity:1;transform:scale(.4)}70%{opacity:.9}to{opacity:0;transform:scale(1.25)}}.bloom.is-anim{animation:bloom-pop .4s var(--ease)}.bloom:disabled{opacity:.45;cursor:default}@keyframes bloom-pop{40%{transform:scale(1.15)}}.check-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.check-list li{border-radius:16px;align-items:center;gap:14px;padding:10px;transition:background .25s;display:flex}.check-list li:hover{background:var(--surface-2)}.check-list.compact li{padding:7px 8px}.check-text{flex:1;min-width:0;display:grid}.check-title{overflow-wrap:anywhere;font-weight:500;transition:color .3s}.check-meta{color:var(--muted);font-size:12.5px}.check-icon{color:var(--tan);flex:none}li.is-done .check-title{color:var(--muted)}.flower-mark{display:block}.ring{place-items:center;margin:4px auto 10px;display:grid;position:relative}.ring svg{position:absolute;inset:0}.ring-fill{transition:stroke-dashoffset 1.1s var(--ease)}.ring-center{text-align:center;position:relative}.ring-center strong{font-family:var(--font-serif);font-size:32px;font-weight:400}.home-grid{grid-template-columns:1fr;gap:16px;display:grid}.hero{background:linear-gradient(135deg, var(--blush-soft) 0%, var(--surface) 55%, var(--sage-wash) 130%);padding:28px 24px;position:relative;overflow:hidden}.hero h1{margin-bottom:8px}.hero-sub{color:var(--muted);font-size:14.5px}.thought{background:color-mix(in srgb, var(--surface) 72%, transparent);border:1px solid var(--line);border-radius:18px;align-items:flex-start;gap:14px;margin-top:22px;padding:16px 18px;display:flex}.thought-icon{background:var(--blush-soft);width:40px;height:40px;color:var(--coral);border-radius:50%;flex:none;place-items:center;display:grid}:root[data-theme=dark] .thought-icon{color:var(--blush)}.thought .eyebrow{margin-bottom:2px}.thought-text{font-family:var(--font-serif);font-size:18px;font-style:italic;line-height:1.4}.day-ring{text-align:center}.day-ring .card-head{justify-content:center}.companion-body{align-items:center;gap:14px;display:flex}.companion-say{font-family:var(--font-serif);margin:2px 0 6px;font-size:17px;line-height:1.35}.big-number{font-family:var(--font-serif);color:var(--sage-deep);font-size:52px;line-height:1}.goal-mini{gap:14px;margin:0;padding:0;list-style:none;display:grid}.goal-mini .bar{margin-top:6px}.mini-week{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.mw-day{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.mw-dot{border:1.5px solid var(--line);border-radius:50%;place-items:center;width:38px;height:38px;margin:0 auto;font-size:14px;display:grid}.mw-dot.part{background:var(--sage-wash);border-color:var(--sage-soft)}.mw-dot.full{background:var(--sage-deep);border-color:var(--sage-deep);color:var(--surface)}.mw-dot.rest{border-style:dashed}.is-today .mw-dot{box-shadow:0 0 0 3px var(--blush-soft), 0 0 0 4px var(--blush)}.is-today .mw-day{color:var(--ink);font-weight:600}.quick-add{gap:8px;margin-bottom:8px;display:flex}.install-card{background:linear-gradient(135deg, var(--sage-wash), var(--surface))}@media (width>=680px){.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero,.install-card,.rituals,.tasks-card{grid-column:span 2}}@media (width>=960px){.home-grid{margin-top:64px}}@media (width>=1180px){.home-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense}.hero{grid-column:span 2}.install-card{grid-column:span 3}.rituals{grid-area:span 2/span 2}.tasks-card{grid-column:span 3}.week-card{grid-column:span 2}}.stack{gap:16px;display:grid}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.group-title{font-family:var(--font-serif);margin:6px 4px 10px;font-size:19px}.habit-row{border-radius:16px;align-items:center;gap:14px;padding:12px 10px;display:flex}.habit-row+.habit-row{border-top:1px solid var(--line);border-radius:0}.habit-icon{background:var(--blush-soft);width:40px;height:40px;color:var(--cocoa);border-radius:14px;flex:none;place-items:center;display:grid}:root[data-theme=dark] .habit-icon{color:var(--blush)}.habit-main{flex:1;min-width:0}.habit-main button.linkish{text-align:left;background:0 0;border:0;padding:0;font-weight:500}.habit-stats{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:2px;font-size:12.5px;display:flex}.habit-actions{display:flex}.history{grid-template-columns:repeat(7,12px);grid-auto-flow:row;gap:4px;margin-top:10px;display:grid}.history span{background:var(--ring-track);border-radius:4px;width:12px;height:12px}.history span.on{background:var(--sage)}.history span.off{border:1px dashed var(--line);background:0 0}.day-picker{align-items:center;gap:6px;display:flex}.day-picker .label{font-family:var(--font-serif);text-align:center;min-width:150px;font-size:17px}.task-row{background:var(--surface);touch-action:pan-y;border-radius:16px;align-items:center;gap:12px;padding:10px 8px;display:flex}.task-row.dragging{box-shadow:var(--shadow-lift);z-index:2;position:relative}.task-row+.task-row{border-top:1px solid var(--line);border-radius:0}.task-list{margin:0;padding:0;list-style:none}.grip{cursor:grab;touch-action:none;color:var(--muted);background:0 0;border:0;border-radius:10px;place-items:center;width:36px;height:44px;display:grid}.prio{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.prio-1{background:var(--sage-soft)}.prio-2{background:var(--tan)}.prio-3{background:var(--blush);box-shadow:0 0 0 2px var(--coral) inset}.tag{background:var(--sage-wash);color:var(--sage-deep);border-radius:999px;padding:2px 9px;font-size:11.5px;display:inline-block}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;display:flex}.goal-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px;display:grid}.goal-card h3{margin:2px 0 6px;font-size:20px}.goal-why{color:var(--muted);font-style:italic;font-family:var(--font-serif);margin-bottom:12px}.goal-steps{gap:2px;margin:12px 0 0;padding:0;list-style:none;display:grid}.goal-steps li{align-items:center;gap:12px;padding:6px 2px;display:flex}.goal-done{background:linear-gradient(135deg, var(--sage-wash), var(--surface))}.area-badge{letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep);font-size:11px}.step-edit{align-items:center;gap:8px;margin-bottom:8px;display:flex}.planner{gap:16px;display:grid}@media (width>=1100px){.planner{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.day-panel{position:sticky;top:24px}}.cal-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.cal-title{font-family:var(--font-serif);min-width:170px;font-size:24px}.cal-title:first-letter{text-transform:uppercase}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.cal-wd{text-align:center;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-bottom:4px;font-size:11px}.cal-cell{aspect-ratio:1/1.05;border:1px solid var(--line);background:var(--surface-2);text-align:left;border-radius:14px;flex-direction:column;justify-content:space-between;min-width:0;padding:6px;transition:border-color .2s,background .2s,transform .15s;display:flex}.cal-cell:hover{border-color:var(--sage-soft)}.cal-cell.is-sel{border-color:var(--sage-deep);background:var(--surface);box-shadow:0 0 0 2px var(--sage-wash)}.cal-cell.is-today .cal-num{background:var(--blush);color:var(--cocoa)}.cal-cell.empty-cell{visibility:hidden}.cal-num{border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;display:inline-grid}.cal-pct{color:var(--sage-deep);font-size:10.5px;font-weight:600}.cal-dots{gap:3px;display:flex}.cal-dots i{border-radius:50%;width:6px;height:6px}.dot-task{background:var(--tan)}.dot-event{background:var(--coral)}.cal-fill{background:var(--ring-track);border-radius:3px;height:3px;overflow:hidden}.cal-fill span{background:var(--sage);height:100%;display:block}.week-cols{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=760px){.week-cols{grid-template-columns:repeat(7,minmax(0,1fr))}}.week-col{border:1px solid var(--line);background:var(--surface-2);text-align:left;border-radius:16px;align-content:start;gap:6px;min-height:120px;padding:10px;display:grid}.week-col.is-sel{border-color:var(--sage-deep);background:var(--surface)}.week-col h3{font-size:15px;font-family:var(--font-sans);font-weight:600}.week-col .item{background:var(--surface);overflow-wrap:anywhere;border-radius:8px;padding:4px 6px;font-size:12.5px;line-height:1.3}.panel-section{margin-top:16px}.panel-section h3{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600}.event-row{align-items:flex-start;gap:10px;padding:8px 4px;display:flex}.event-time{color:var(--coral);min-width:44px;font-size:12.5px;font-weight:600}:root[data-theme=dark] .event-time{color:var(--blush)}.moods{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-width:420px;display:grid}.mood{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:18px;justify-items:center;gap:4px;min-width:0;padding:10px 2px;font-size:11.5px;display:grid}.mood.is-on{background:var(--blush-soft);border-color:var(--blush);color:var(--ink)}.mood svg{width:34px;height:34px}.journal-grid{gap:16px;display:grid}@media (width>=1000px){.journal-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}.entry-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.entry-list button{text-align:left;border:1px solid var(--line);background:var(--surface-2);border-radius:14px;gap:2px;width:100%;padding:10px 12px;display:grid}.entry-list button.is-sel{border-color:var(--sage-deep);background:var(--surface)}.entry-list small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.saved{color:var(--sage-deep);font-size:12.5px}.prog-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:16px;display:grid}.prog-wide{grid-column:1/-1}.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{font-family:var(--font-sans);fill:var(--muted);font-size:14px}.heat-wrap .chart text{font-size:11px}.chart .val{fill:var(--ink);font-weight:600}.gentle{font-family:var(--font-serif);font-size:22px;line-height:1.3}.heat-wrap{padding-bottom:6px;overflow-x:auto}.heat-legend{color:var(--muted);justify-content:flex-end;align-items:center;gap:4px;margin-top:8px;font-size:12px;display:flex}.heat-legend i{border-radius:3px;width:12px;height:12px}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:14px;display:grid}.badge{text-align:center;padding:22px 14px}.badge h3{margin:10px 0 2px;font-size:16px}.badge.locked{opacity:.6}.badge.locked .medal{filter:grayscale();background:var(--surface-2)}.medal{background:radial-gradient(circle at 35% 30%, var(--surface), var(--blush-soft) 60%, var(--blush));width:68px;height:68px;color:var(--cocoa);box-shadow:inset 0 0 0 3px var(--surface), 0 0 0 1px var(--blush);border-radius:50%;place-items:center;margin:0 auto;display:grid}:root[data-theme=dark] .medal{color:var(--ink)}.medal-big{width:96px;height:96px}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:16px;display:grid}.info{background:var(--sage-wash);border-radius:16px;margin-bottom:14px;padding:14px 16px;font-size:14px;line-height:1.6}.steps{counter-reset:s;gap:8px;margin:4px 0 8px;padding:0;list-style:none;display:grid}.steps li{align-items:center;gap:12px;display:flex}.step-icon{background:var(--surface);border:1px solid var(--line);width:36px;height:36px;color:var(--sage-deep);border-radius:12px;flex:none;place-items:center;display:grid}.hint{color:var(--muted);font-size:13px}.install-page{max-width:980px;padding:max(24px, env(safe-area-inset-top)) 16px 48px;margin:0 auto}.install-hero{align-items:center;gap:24px;margin-bottom:24px;display:grid}@media (width>=760px){.install-hero{grid-template-columns:1fr 240px}}.qr{box-shadow:var(--shadow);background:#fff;border-radius:22px;width:220px;margin:0 auto;padding:16px}.qr svg{width:100%;height:auto;display:block}.qr-caption{text-align:center;color:var(--muted);margin-top:8px;font-size:13px}.device-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px;display:grid}.device-grid .card h2{align-items:center;gap:10px;font-size:19px;display:flex}.device-grid .is-current{border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-wash), var(--shadow)}.onboarding{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.onb-card{background:var(--surface);border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow-lift);text-align:center;animation:page-in .5s var(--ease);border-radius:28px;padding:28px 24px}.onb-card h1{margin-bottom:10px;font-size:clamp(26px,6vw,34px)}.onb-card .lead{color:var(--muted);margin-bottom:18px}.onb-card .field{text-align:left;margin-top:10px}.onb-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.onb-foot{color:var(--muted);letter-spacing:.04em;margin-top:18px;font-size:12px}.year-pick{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.year-pick button{border:1px solid var(--line);background:var(--surface-2);font-family:var(--font-serif);border-radius:18px;min-width:96px;padding:14px 22px;font-size:22px}.year-pick .is-on{background:var(--sage-wash);border-color:var(--sage);color:var(--sage-deep)}.pick-list{text-align:left;gap:8px;margin:0;padding:0;list-style:none;display:grid}.pick-list button{border:1px solid var(--line);background:var(--surface-2);text-align:left;border-radius:16px;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 12px;transition:background .2s,border-color .2s;display:flex}.pick-list button.is-on{background:var(--sage-wash);border-color:var(--sage-soft)}.pick-icon{background:var(--blush-soft);border-radius:12px;flex:none;place-items:center;width:36px;height:36px;display:grid}.pick-text{flex:1;display:grid}.pick-text small{color:var(--muted)}.pick-check{border:1.5px solid var(--sage-soft);border-radius:9px;flex:none;place-items:center;width:26px;height:26px;display:grid}.is-on .pick-check{background:var(--sage-deep);border-color:var(--sage-deep);color:var(--surface)}.plant{flex:none;overflow:visible}.plant-sway{transform-origin:70px 92px;animation:5s ease-in-out infinite sway}.plant.is-resting .plant-sway{opacity:.85;animation-duration:9s}@keyframes sway{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}.modal{background:var(--surface);color:var(--ink);width:min(560px,100vw - 24px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lift);border:0;border-radius:26px;padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#281e1952}.modal[open]{animation:pop .22s var(--ease)}.modal-body{padding:22px 22px 24px}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.modal-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:8px;display:flex}.modal-actions .right{gap:10px;margin-left:auto;display:flex}@media (width<=600px){.modal{border-radius:26px 26px 0 0;width:100vw;max-width:100vw;max-height:92dvh;margin:auto 0 0}.modal-body{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.fields-2{grid-template-columns:1fr}}.snackbar{left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:35;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lift);width:max-content;max-width:calc(100vw - 32px);animation:pop .25s var(--ease);border-radius:18px;align-items:center;gap:10px;padding:10px 10px 10px 16px;font-size:14px;display:flex;position:fixed;transform:translate(-50%)}body:has(.bottom-nav) .snackbar{bottom:calc(var(--nav-h) + 84px + env(safe-area-inset-bottom))}@media (width>=960px){.snackbar{bottom:28px}body:has(.bottom-nav) .snackbar{bottom:28px}body:has(.sidebar) .snackbar{left:calc(50% + 126px)}}.toast:empty{display:none}.toast{z-index:60;background:var(--ink);color:var(--bg);animation:pop .2s var(--ease);border-radius:999px;padding:10px 18px;font-size:14px;position:fixed;top:18px;left:50%;transform:translate(-50%)}.celebrate{z-index:70;background:var(--surface);text-align:center;width:min(360px,100vw - 32px);box-shadow:var(--shadow-lift);border:1px solid var(--line);animation:pop .4s var(--ease);border-radius:28px;justify-items:center;gap:6px;padding:28px 22px;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.celebrate h2{font-size:26px}.celebrate .btn{margin-top:10px}.petals{pointer-events:none;z-index:65;position:fixed;inset:0;overflow:hidden}.petals span{opacity:.9;border-radius:12px 0;width:12px;height:16px;animation-name:petal;animation-timing-function:cubic-bezier(.3,.6,.4,1);animation-fill-mode:forwards;position:absolute;top:-20px}@keyframes petal{to{transform:translate(var(--drift), 105vh) rotate(var(--spin));opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.petals{display:none}.plant-sway{animation:none}}.tappable{cursor:pointer;-webkit-user-select:none;user-select:none}.tappable .linkish,.tappable input{-webkit-user-select:text;user-select:text}@media (width<=959px){.main-col{padding-bottom:calc(var(--nav-h) + 96px + env(safe-area-inset-bottom))}}.toast-soft{pointer-events:none;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);top:max(12px, env(safe-area-inset-top))}.page-intro{color:var(--muted);font-family:var(--font-serif);margin:-12px 0 18px;font-size:17px;font-style:italic}@media (width<=600px){.cal-grid{gap:4px}.cal-cell{align-items:center;padding:4px 3px}.cal-cell .row-between{justify-content:center}.cal-pct{display:none}.cal-cell>span{justify-items:center;gap:3px;width:100%;display:grid}.cal-fill{width:80%;display:block}}
