@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/a1f87af3f44fadbb-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/86f65e8637cc94e3-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/39f449c8730c2295-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9fabb9c65b63d798-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f9e1dbe9676d9bb6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8760c4774489e4ba-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/a1f87af3f44fadbb-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/86f65e8637cc94e3-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/39f449c8730c2295-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9fabb9c65b63d798-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f9e1dbe9676d9bb6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8760c4774489e4ba-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a1f87af3f44fadbb-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/86f65e8637cc94e3-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/39f449c8730c2295-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9fabb9c65b63d798-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f9e1dbe9676d9bb6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8760c4774489e4ba-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/a1f87af3f44fadbb-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/86f65e8637cc94e3-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/39f449c8730c2295-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9fabb9c65b63d798-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/f9e1dbe9676d9bb6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8760c4774489e4ba-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_ee8384{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_ee8384{--font-manrope:"Manrope","Manrope Fallback"}:root{--bg:#0b1222;--bg-2:#0f182d;--surface:#131d35;--surface-2:#19253f;--line:#22304d;--line-2:#2f3f61;--fg:#eef3fb;--fg-2:#a3b1cc;--fg-3:#8492b0;--cyan:#4fd1ff;--cyan-deep:#1aa7e0;--amber:#ffb43a;--mint:#4ade80;--rose:#fb6f8f;--glow:0 0 0 1px rgba(79,209,255,0.08),0 20px 60px -30px rgba(79,209,255,0.35);--shadow:0 1px 0 rgba(255,255,255,0.03) inset,0 12px 40px -24px rgba(0,0,0,0.8);--c-Verde:#4ade80;--c-Azul:#4fd1ff;--c-Morado:#b388ff;--c-Naranja:#ff9f45;--c-Rosa:#fb6f8f;--c-Amarillo:#ffd74a;--c-Rojo:#ff5c5c;--c-Gris:#9aa6bf;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1);--r-lg:22px;--r:16px;--r-sm:11px;--font:var(--font-manrope),"Manrope",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}:root[data-theme=light]{--bg:#f3f5f9;--bg-2:#eaeef5;--surface:#ffffff;--surface-2:#f3f6fb;--line:#e1e6ef;--line-2:#cfd7e5;--fg:#0f1a2e;--fg-2:#4e5c78;--fg-3:#5f6c87;--cyan:#0ea5e9;--cyan-deep:#0284c7;--amber:#b45309;--mint:#16a34a;--rose:#e11d48;--glow:0 0 0 1px rgba(14,165,233,0.08),0 20px 50px -30px rgba(14,165,233,0.3);--shadow:0 1px 2px rgba(15,26,46,0.04),0 12px 32px -24px rgba(15,26,46,0.25);--c-Azul:#0ea5e9;--c-Verde:#16a34a;--c-Morado:#7c3aed;--c-Naranja:#ea580c;--c-Rosa:#db2777;--c-Amarillo:#ca8a04;--c-Rojo:#dc2626;--c-Gris:#64748b}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:radial-gradient(1200px 600px at 80% -10%,color-mix(in srgb,var(--cyan) 12%,transparent),transparent 60%),var(--bg);color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.5;word-spacing:.04em;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum","cv01";transition:background-color .25s var(--ease-out),color .25s var(--ease-out)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}h1,h2,h3{margin:0;letter-spacing:-.02em;text-wrap:balance}h1{font-size:30px;font-weight:800;line-height:1.1}h2{font-size:15px;font-weight:700;letter-spacing:-.005em;word-spacing:.05em}.muted{color:var(--fg-2)}.faint{color:var(--fg-3)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.big{font-size:42px;font-weight:800;letter-spacing:-.04em;line-height:1}@media (max-width:719px){h1{font-size:24px}.big{font-size:34px}}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}::selection{background:color-mix(in srgb,var(--cyan) 35%,transparent);color:var(--fg)}html{scrollbar-color:var(--line-2) transparent;accent-color:var(--cyan)}input,textarea{caret-color:var(--cyan)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--fg);overflow-wrap:anywhere}.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--fg);color:var(--bg);padding:10px 14px;border-radius:10px;font-weight:700}.skip:focus{top:12px}.measure{max-width:65ch}.shell{max-width:1080px;margin:0 auto;padding:16px 16px calc(96px + env(safe-area-inset-bottom))}@media (min-width:720px){.shell{padding:24px 24px 64px}}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:10}.nav:before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);z-index:-1}.nav-inner{gap:4px;padding:10px 24px;margin:0 auto;max-width:1080px}.brand,.nav-inner{display:flex;align-items:center}.brand{gap:10px;font-weight:800;letter-spacing:-.02em;margin-right:auto;min-height:44px;padding-right:8px}.brand i{width:26px;height:26px;border-radius:8px;background:conic-gradient(from 200deg,var(--cyan),var(--amber),var(--cyan));display:grid;place-items:center}.brand i:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--bg)}.nav-inner>a:not(.brand){display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border-radius:999px;color:var(--fg-2);font-weight:600;font-size:14px;transition:background-color .15s var(--ease-out),color .15s var(--ease-out)}.nav-inner>a:not(.brand) svg{width:17px;height:17px;opacity:.85}.nav-inner>a[data-active=true]{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}@media (hover:hover) and (pointer:fine){.nav-inner>a:not(.brand):hover{color:var(--fg)}}.theme-btn{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;color:var(--fg-2);margin-left:6px;transition:transform .16s var(--ease-out),background-color .15s var(--ease-out)}.theme-btn:active{transform:scale(.94)}@media (hover:hover) and (pointer:fine){.theme-btn:hover{background:var(--surface);color:var(--fg)}}@media (max-width:719px){.nav{position:fixed;bottom:0;top:auto;left:0;right:0}.nav:before{background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:0;border-top:1px solid var(--line)}.nav-inner{max-width:none;justify-content:space-around;gap:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.nav .brand,.nav-theme{display:none}.nav-inner>a:not(.brand){flex:1 1;flex-direction:column;justify-content:center;gap:3px;min-height:52px;padding:4px 2px;font-size:11.5px;border-radius:14px}.nav-inner>a:not(.brand) svg{width:21px;height:21px}.nav-inner>a[data-active=true]{background:transparent;box-shadow:none;color:var(--fg)}.nav-inner>a[data-active=true] svg{color:var(--cyan);opacity:1}}.grid{display:grid;grid-gap:14px;gap:14px}.cols-12,.cols-2,.cols-3{grid-template-columns:1fr}@media (min-width:720px){.cols-2{grid-template-columns:1fr 1fr}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-12{grid-template-columns:repeat(12,1fr)}.span-7{grid-column:span 7}.span-5{grid-column:span 5}.span-8{grid-column:span 8}.span-4{grid-column:span 4}.span-12{grid-column:span 12}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}.card.hero{border-radius:var(--r-lg);box-shadow:var(--glow),var(--shadow);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,var(--cyan)) 0,var(--surface) 55%)}.card-head{justify-content:space-between;margin-bottom:14px;gap:10px;flex-wrap:wrap}.card-head,.card-head h2{display:flex;align-items:center}.card-head h2{min-height:24px;gap:6px}.actions-row,.head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}@media (max-width:520px){.head-actions{width:100%;flex-direction:row-reverse;justify-content:flex-end}}.page-head{justify-content:space-between;align-items:end;gap:12px}.page-head,.pills{display:flex;flex-wrap:wrap}.pills{gap:6px}.card-head small{color:var(--fg-3);font-size:13px;text-align:right}@media (max-width:719px){.card-head .hint{display:none}}.enter{animation:enter .42s var(--ease-out) both}.enter[data-i="1"]{animation-delay:50ms}.enter[data-i="2"]{animation-delay:.1s}.enter[data-i="3"]{animation-delay:.15s}.enter[data-i="4"]{animation-delay:.2s}@keyframes enter{0%{opacity:0;transform:translateY(8px)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;background:var(--cyan);color:#06111f;font-weight:700;font-size:14px;white-space:nowrap;transition:transform .16s var(--ease-out),filter .16s var(--ease-out),opacity .16s var(--ease-out)}.btn:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.btn:hover{filter:brightness(1.08)}}.btn[disabled]{opacity:.45;cursor:default}.btn.soft{background:var(--surface-2);color:var(--fg);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--fg-2)}.btn.sm{height:34px;padding:0 13px;font-size:13px}.btn.danger{color:var(--rose)}.btn svg{flex:none}@media (max-width:719px),(pointer:coarse){.btn,.btn.sm{padding:0 16px}.btn,.btn.sm,.chip{height:44px;font-size:14px}.chip{min-width:44px;padding:0 14px}.seg .seg-off,.seg a,.seg button{min-height:40px;display:inline-flex;align-items:center;padding:0 14px}.theme-btn{width:44px;height:44px}}.input,.textarea{width:100%;height:42px;padding:0 13px;border-radius:var(--r-sm);background:var(--bg-2);border:1px solid var(--line);transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.textarea{height:auto;padding:11px 13px;resize:vertical;min-height:84px;line-height:1.45}.input:focus,.textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 22%,transparent)}.field{display:grid;grid-gap:6px;gap:6px}.field .label,.field label{font-size:13px;color:var(--fg-2);font-weight:600}.seg{display:inline-flex;background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}.seg a,.seg button{padding:6px 12px;border-radius:999px;font-size:13px;color:var(--fg-2);font-weight:600;transition:background-color .15s var(--ease-out),color .15s var(--ease-out),transform .12s var(--ease-out)}.seg a[data-on=true],.seg button[data-on=true]{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}.seg button:active{transform:scale(.97)}.seg button[disabled]{opacity:.4;cursor:default}.seg .seg-off{padding:6px 12px;font-size:13px;font-weight:600;color:var(--fg-3);opacity:.6}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{height:32px;min-width:32px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--bg-2);font-size:13px;font-weight:600;color:var(--fg-2);display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .12s var(--ease-out),border-color .15s var(--ease-out),background-color .15s var(--ease-out),color .15s var(--ease-out)}.chip:active{transform:scale(.95)}.chip[data-on=true]{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 14%,var(--bg-2));color:var(--fg)}.dot{width:12px;height:12px;border-radius:50%;display:inline-block}.pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:12.5px;color:var(--fg-2);font-weight:600}.pill b{color:var(--fg)}.ring{position:relative;display:grid;place-items:center}.ring svg{transform:rotate(-90deg);overflow:visible}.ring circle{fill:none;stroke-linecap:round}.ring .track{stroke:var(--line)}.ring .bar{stroke:var(--cyan);transition:stroke-dashoffset .6s var(--ease-out),stroke .3s var(--ease-out);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--cyan) 55%,transparent))}.ring .label{position:absolute;inset:0;display:grid;place-items:center;text-align:center}.week{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.week .d{display:grid;justify-items:center;grid-gap:5px;gap:5px;font-size:11px;color:var(--fg-3);font-weight:600}.week .d[data-today=true]{color:var(--fg)}.habit-list{display:grid;grid-gap:2px;gap:2px}.habit-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;width:100%;min-height:64px;padding:10px;border-radius:14px;text-align:left;-moz-user-select:none;user-select:none;-webkit-user-select:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .15s var(--ease-out)}.habit-row.static{cursor:default}.habit-row.archived{opacity:.75}@media (hover:hover) and (pointer:fine){button.habit-row:hover{background:var(--surface-2)}}.habit-row:active .check{transform:scale(.9)}.habit-row .emoji{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--bg-2);font-size:21px;border:1px solid var(--line)}.habit-row .meta{min-width:0;display:grid;grid-gap:4px;gap:4px}.habit-row .meta b{font-weight:700;transition:color .18s var(--ease-out);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.habit-row[data-done=true] .meta b{color:var(--fg-2)}.habit-row .meta small{color:var(--fg-3);font-size:12.5px;display:flex;align-items:center;gap:4px 10px;flex-wrap:wrap}.streak{color:var(--amber);font-weight:700}.weekly{color:var(--fg-2);font-weight:700}.weekly[data-met=true]{color:var(--mint)}.row-actions{display:flex;gap:6px}.row-chevron{color:var(--fg-3);display:grid;place-items:center;width:32px}.icon-btn{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--fg-2);background:var(--surface-2);border:1px solid var(--line);transition:transform .16s var(--ease-out),opacity .15s var(--ease-out)}.icon-btn:active{transform:scale(.95)}.icon-btn[disabled]{opacity:.35;cursor:default}.log{display:inline-flex;gap:3px;align-items:center}.log i{width:7px;height:7px;border-radius:2px;background:var(--line-2);display:block}.log i[data-s=done]{background:var(--hc,var(--cyan))}.log i[data-s=missed]{background:color-mix(in srgb,var(--rose) 55%,var(--line))}.log i[data-s=off]{background:var(--line);opacity:.5}.log i[data-s=future]{background:transparent;border:1px dashed var(--line-2)}.check{width:36px;height:36px;border-radius:12px;border:1.5px solid var(--line-2);display:grid;place-items:center;background:transparent;position:relative;transition:transform .16s var(--ease-out),background-color .16s var(--ease-out),border-color .16s var(--ease-out),box-shadow .2s var(--ease-out),opacity .2s var(--ease-out)}.check svg{width:18px;height:18px}.check path{stroke:#06111f;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .22s var(--ease-out) 40ms}.check[data-done=true]{background:var(--hc,var(--cyan));border-color:var(--hc,var(--cyan));box-shadow:0 4px 14px -6px var(--hc,var(--cyan));animation:pop .28s var(--ease-out)}.check[data-done=true] path{stroke-dashoffset:0}.check[data-saving]{opacity:.8}.today-hero{display:grid;grid-template-columns:auto 1fr;grid-gap:22px;gap:22px;align-items:center}.hero-title{font-size:22px;font-weight:800}.hero-actions{gap:8px}.hero-actions,.mini-stats{display:flex;flex-wrap:wrap}.mini-stats{gap:14px 22px;margin-top:16px}.mini-stats .v{font-size:22px;font-weight:800}@media (max-width:520px){.today-hero{gap:16px;padding:18px}.today-hero .ring{width:124px!important;height:124px!important}.today-hero .ring svg{width:124px;height:124px}.today-hero .big{font-size:30px}.hero-title{font-size:20px}.hero-actions{display:none}}.empty{display:grid;grid-gap:6px;gap:6px;justify-items:start;padding:6px 0 2px}.empty p{margin:0}.empty .btn{margin-top:8px}.save-state{font-size:12.5px;color:var(--fg-3);min-height:18px}.save-state[data-state=saved]{color:var(--mint)}.save-state[data-state=error]{color:var(--rose)}.heat{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:5px;gap:5px}.heat .h{aspect-ratio:1;min-height:36px;width:100%;cursor:pointer;border-radius:9px;background:var(--bg-2);border:1px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:600;color:var(--fg-3);transition:transform .15s var(--ease-out),border-color .15s var(--ease-out)}@media (hover:hover) and (pointer:fine){.heat .h:hover{transform:scale(1.06);border-color:var(--line-2)}}.heat .h[data-today=true]{box-shadow:0 0 0 2px var(--cyan)}.heat .h[data-picked=true]{box-shadow:0 0 0 2px var(--amber)}.heat .wd{font-size:11px;color:var(--fg-3);text-align:center;font-weight:700}.hbar{height:8px;border-radius:999px;background:var(--bg-2);overflow:hidden;border:1px solid var(--line)}.hbar i{display:block;height:100%;border-radius:999px;background:var(--cyan);transform-origin:left;transition:transform .6s var(--ease-out)}.stat{display:grid;grid-gap:4px;gap:4px}.stat .k{font-size:13px;color:var(--fg-2);font-weight:600}.ranking{display:grid;grid-gap:14px;gap:14px}.rank-row{display:grid;grid-gap:6px;gap:6px}.rank-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px}.rank-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.rank-val{flex:none;font-size:13px}@media (max-width:719px){.rank-row .log{display:none}}.status-row{display:grid;grid-template-columns:12px 104px minmax(0,1fr);align-items:baseline;grid-gap:10px;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}.status-row .dot{width:9px;height:9px;align-self:center}.dot[data-state=ok]{background:var(--mint);box-shadow:0 0 0 3px color-mix(in srgb,var(--mint) 18%,transparent)}.dot[data-state=bad]{background:var(--rose);box-shadow:0 0 0 3px color-mix(in srgb,var(--rose) 18%,transparent)}.dot[data-state=off]{background:var(--line-2)}.status-label{font-weight:700}.status-detail{color:var(--fg-2);overflow-wrap:anywhere}.status-detail b{color:var(--fg);font-weight:700}@media (max-width:420px){.status-row{grid-template-columns:12px minmax(0,1fr)}.status-detail{grid-column:2}}.help{font-size:13px;color:var(--fg-3);max-width:65ch}.help,.result{margin:10px 0 0}.result{padding:10px 12px;border-radius:12px;font-size:14px;font-weight:600;border:1px solid}.result[data-ok=true]{color:var(--mint);border-color:color-mix(in srgb,var(--mint) 40%,var(--line));background:color-mix(in srgb,var(--mint) 10%,transparent)}.result[data-ok=false]{color:var(--rose);border-color:color-mix(in srgb,var(--rose) 40%,var(--line));background:color-mix(in srgb,var(--rose) 10%,transparent)}.notice{display:grid;grid-gap:8px;gap:8px;justify-items:start;max-width:65ch}.notice p{margin:0;line-height:1.55}.history{display:grid}.history details{border-top:1px solid var(--line);padding:4px 0}.history summary{cursor:pointer;display:flex;justify-content:space-between;gap:8px;list-style:none;min-height:44px;align-items:center}.history summary::-webkit-details-marker{display:none}.login{max-width:380px;margin:14vh auto 0;display:grid;grid-gap:14px;gap:14px}.login .brand{margin:0 0 4px}.form-error{margin:0;min-height:20px;font-size:13.5px;color:var(--rose);font-weight:600}.ai{background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 80%,var(--cyan)) 0,var(--surface) 70%);border:1px solid color-mix(in srgb,var(--cyan) 35%,var(--line));box-shadow:var(--glow),var(--shadow)}.ai p{margin:8px 0;line-height:1.6}.ai .lead{font-size:17px;font-weight:600}.overlay{position:fixed;inset:0;background:rgba(3,8,18,.55);z-index:40;animation:fade .2s var(--ease-out) both;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet{position:fixed;z-index:41;background:var(--surface);border:1px solid var(--line);left:0;right:0;bottom:0;border-radius:22px 22px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom));max-height:92dvh;overflow:auto;animation:up .34s var(--ease-drawer) both}@media (min-width:720px){.sheet{left:50%;top:50%;bottom:auto;right:auto;width:540px;transform:translate(-50%,-50%);border-radius:22px;animation:pop .22s var(--ease-out) both}}@keyframes fade{0%{opacity:0}}@keyframes up{0%{transform:translateY(100%)}}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}}.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:11px 16px;border-radius:16px;font-size:14px;font-weight:600;z-index:50;box-shadow:0 10px 30px -12px rgba(0,0,0,.6);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out);width:max-content;max-width:calc(100vw - 32px);text-align:center}.toast[data-show=false]{opacity:0;transform:translate(-50%,8px);pointer-events:none}@media (min-width:720px){.toast{bottom:28px}}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.confetti{position:fixed;inset:0;pointer-events:none;z-index:60;overflow:hidden}.confetti i{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;animation:drop 1.6s var(--ease-in-out) forwards}@keyframes drop{to{transform:translateY(110vh) rotate(540deg);opacity:0}}@media (prefers-reduced-motion:reduce){.enter,.overlay,.sheet{animation:fade .2s ease both}.check[data-done=true]{animation:none}.check path{transition-duration:1ms}.btn:active,.chip:active,.habit-row:active .check,.icon-btn:active{transform:none}.hbar i,.ring .bar{transition-duration:1ms}.heat .h:hover{transform:none}.confetti{display:none}}