:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#090909;--surface-1:#141414;--surface-2:#1c1c1c;--hairline:#262626;--hairline-soft:#1a1a1a;--ink:#fff;--ink-muted:#999;--accent-blue:#09f;--grad-magenta:#d44df0;--grad-violet:#6a4cf5;--grad-orange:#ff7a3d;--grad-coral:#f57;--success:#22c55e;--bg:var(--canvas);--surface:var(--surface-1);--text:var(--ink);--muted:var(--ink-muted);--border:var(--hairline);--coral:var(--grad-coral);--gold:var(--grad-orange);--navy:var(--grad-violet);--ok:var(--success);--danger:#ef5350;--radius:20px;--radius-pill:100px;--tabbar-height:2.85rem;--shadow:0 10px 30px #00000040;--motion-fast:.12s;--motion-base:.18s;--motion-slow:.24s;--motion-flip:.42s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-scale:1;font-size:calc(100% * var(--text-scale));font-family:var(--sans);font-feature-settings:"cv01", "cv05", "cv09", "cv11", "ss03", "ss07";color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#fff;--surface-1:#f6f6f7;--surface-2:#ececee;--hairline:#e2e2e5;--hairline-soft:#eeeeef;--ink:#0a0a0a;--ink-muted:#5f5f66;--accent-blue:#07d;--success:#16a34a;--danger:#d32f2f;--shadow:0 10px 30px #0000001f}*{box-sizing:border-box}html{min-height:calc(100% + env(safe-area-inset-top))}html,body{height:100%;margin:0;overflow:hidden}#app{height:100dvh;padding-top:env(safe-area-inset-top);flex-direction:column;margin:0;display:flex;overflow:hidden}body{touch-action:manipulation;line-height:1.5}h1{letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.7rem}h1.brand{color:var(--ink);letter-spacing:-.045em;font-weight:700}p{margin:0 0 .75rem}button{font:inherit;cursor:pointer}input{font:inherit}.top-progress{top:env(safe-area-inset-top);background:var(--accent-blue);height:2px;box-shadow:0 0 8px color-mix(in srgb, var(--accent-blue) 60%, transparent);z-index:1100;pointer-events:none;transition:width .2s,opacity .3s;position:fixed;left:0}.top-progress--instant{transition:none}.offline-banner{z-index:900;margin-top:calc(-1 * env(safe-area-inset-top));padding:.4rem calc(.75rem + env(safe-area-inset-right)) .4rem calc(.75rem + env(safe-area-inset-left));padding-top:calc(.4rem + env(safe-area-inset-top));text-align:center;color:var(--muted);background:var(--surface);border-bottom:1px solid var(--border);font-size:.8rem;position:sticky;top:0}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.landing{--bg:#fbfaf8;--bg-warm:#f7f4f0;--surface:#fff;--surface-2:#f5f3f0;--border:#eae6e1;--border-2:#e0dbd4;--ink:#1b1714;--ink-2:#6e6760;--ink-3:#a29b93;--routines:#dd744f;--routines-tint:#fbe9e0;--routines-ink:#9a4426;--work:#6b58e0;--work-tint:#ece8fc;--work-ink:#4632b0;--training:#df3f74;--training-tint:#fbe3ed;--training-ink:#a41e4c;--eating:#2c9e63;--eating-tint:#e2f2e9;--eating-ink:#166b40;--insights:#3b82f6;--insights-tint:#e6f0fe;--insights-ink:#1d5bc4;--done:#2ea043;--grace:#ef8a3c;--missed:#f3cbc5;--grid-empty:#ece8e3;--radius-sm:10px;--radius:16px;--radius-lg:22px;--radius-xl:28px;--shadow-sm:0 1px 2px #1b17140d;--shadow:0 6px 24px -8px #1b17141f;--shadow-lg:0 24px 60px -20px #1b171433;--font-grotesk:"Hanken Grotesk", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Monaco, monospace;font-family:var(--font-grotesk);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.screen.screen--wide{width:100%;max-width:none;padding:0}.screen.landing{animation:none}.landing,.landing *{box-sizing:border-box}.landing a{color:inherit;text-decoration:none}.landing img,.landing svg{display:block}.landing button{font:inherit;cursor:pointer}.landing .wrap{max-width:1200px;margin:0 auto;padding:0 28px}@media (width<=640px){.landing .wrap{padding:0 20px}}.landing .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:9px;font-size:13px;font-weight:700;display:inline-flex}.landing .eyebrow .inf{background:linear-gradient(90deg, var(--routines), var(--eating), var(--work), var(--training));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:19px;font-weight:800;line-height:0}.landing nav.top{z-index:50;-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);background:color-mix(in oklab, var(--bg) 82%, transparent);border-bottom:1px solid var(--border);position:sticky;top:0}.landing .nav-in{justify-content:space-between;align-items:center;gap:16px;height:68px;display:flex}.landing .brand{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;font-size:21px;font-weight:800;display:inline-flex}.landing .brand .mk{background:linear-gradient(90deg, var(--routines), var(--work));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800;line-height:0}.landing .nav-links{gap:30px;display:flex}.landing .nav-links a{color:var(--ink-2);font-size:15px;font-weight:600;transition:color .15s}.landing .nav-links a:hover{color:var(--ink)}.landing .nav-menu{border:1px solid var(--border);background:var(--surface);width:42px;height:42px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;display:none}.landing .nav-menu svg{width:20px;height:20px}.landing .nav-menu:focus-visible{outline:2px solid var(--work);outline-offset:2px}@media (width<=780px){.landing .nav-links{background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow);opacity:0;pointer-events:none;flex-direction:column;gap:0;padding:8px 0;transition:transform .18s,opacity .18s;position:absolute;top:68px;left:0;right:0;transform:translateY(-12px)}.landing .nav-links.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.landing .nav-links a{padding:14px 24px;font-size:16px}.landing .nav-menu{display:inline-flex}}.landing .l-btn{cursor:pointer;color:var(--ink);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:12px 22px;font-family:inherit;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .2s,background .2s;display:inline-flex}.landing .l-btn svg{width:17px;height:17px}.landing .l-btn-primary{background:var(--ink);color:var(--bg)}.landing .l-btn-primary:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.landing .l-btn-grad{color:#fff;background:linear-gradient(95deg, var(--routines), var(--training) 55%, var(--work))}.landing .l-btn-grad:hover{box-shadow:0 12px 26px -12px var(--training);transform:translateY(-1px)}.landing .l-btn-grad:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.landing .hero{border-bottom:1px solid var(--border);background:var(--bg);align-items:center;min-height:90vh;display:flex;position:relative;overflow:hidden}.landing .hero-bg{z-index:0;background:radial-gradient(circle at 36% 50%, var(--routines-tint), transparent 38%), radial-gradient(circle at 64% 50%, var(--work-tint), transparent 38%), var(--bg);position:absolute;inset:0}.landing .hero-bg canvas{width:100%;height:100%;display:block}.landing .hero-veil{z-index:1;pointer-events:none;background:linear-gradient(90deg, var(--bg) 0%, color-mix(in oklab, var(--bg) 84%, transparent) 32%, transparent 62%);position:absolute;inset:0}.landing .hero-inner{z-index:2;width:100%;max-width:1200px;margin:0 auto;padding:56px 28px;position:relative}.landing .hero-inner>*{max-width:600px}.landing .hero .cap{z-index:3;font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.02em;font-size:12px;position:absolute;bottom:20px;right:22px}@media (width<=640px){.landing .hero{min-height:auto;padding:8px 0 0}.landing .hero-inner{padding:36px 20px 48px}.landing .hero-veil{background:linear-gradient(180deg, transparent, color-mix(in oklab, var(--bg) 70%, transparent) 55%, var(--bg) 100%)}.landing .hero .cap{display:none}}.landing h1.hero-h{letter-spacing:-.035em;color:var(--ink);text-wrap:balance;margin:20px 0 0;font-size:clamp(40px,7vw,92px);font-weight:800;line-height:.98}.landing h1.hero-h .loop{background:linear-gradient(92deg, var(--routines), var(--eating) 40%, var(--work) 70%, var(--training));color:#0000;-webkit-background-clip:text;background-clip:text;position:relative}.landing .hero-sub{color:var(--ink-2);text-wrap:pretty;max-width:30em;margin-top:22px;font-size:clamp(16px,2vw,20.5px);line-height:1.55}.landing .hero-form{flex-wrap:wrap;gap:10px;max-width:460px;margin-top:30px;display:flex}.landing .hero-form input{border:1px solid var(--border-2);background:var(--surface);color:var(--ink);border-radius:999px;outline:none;flex:220px;min-width:0;min-height:48px;padding:14px 18px;font-family:inherit;font-size:16px}.landing .hero-form input::placeholder{color:var(--ink-3)}.landing .hero-form input:focus{border-color:var(--work);box-shadow:0 0 0 4px var(--work-tint)}.landing .hero-form .l-btn{flex:none;min-height:48px}.landing .hero-meta{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}@media (width<=380px){.landing .hero-form .l-btn{flex:100%}}.landing .pill{background:var(--pill-tint);color:var(--pill-ink);border:1px solid color-mix(in oklab, var(--pill-ink) 18%, var(--border));border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:14px;font-weight:600;display:inline-flex}.landing .pill svg{width:15px;height:15px}.landing .pill.training{--pill-tint:var(--training-tint);--pill-ink:var(--training-ink)}.landing .pill.eating{--pill-tint:var(--eating-tint);--pill-ink:var(--eating-ink)}.landing .pill.routines{--pill-tint:var(--routines-tint);--pill-ink:var(--routines-ink)}.landing .pill.work{--pill-tint:var(--work-tint);--pill-ink:var(--work-ink)}.landing section{padding:88px 0}@media (width<=780px){.landing section{padding:64px 0}}@media (width<=520px){.landing section{padding:48px 0}}.landing .sec-head{max-width:660px}.landing .sec-head h2{letter-spacing:-.03em;color:var(--ink);text-wrap:balance;margin:12px 0 0;font-size:clamp(30px,4.4vw,50px);font-weight:800;line-height:1.04}.landing .sec-head p{color:var(--ink-2);text-wrap:pretty;margin-top:16px;font-size:clamp(16px,1.6vw,18px);line-height:1.55}.landing .loopwrap{grid-template-columns:repeat(4,1fr);align-items:stretch;gap:0;margin-top:52px;display:grid}@media (width<=860px){.landing .loopwrap{grid-template-columns:1fr 1fr;gap:16px}}@media (width<=520px){.landing .loopwrap{grid-template-columns:1fr;gap:8px;margin-top:36px}}.landing .loopstep{padding:26px;position:relative}@media (width<=520px){.landing .loopstep{padding:18px}}.landing .loopstep:not(:last-child):after{content:"→";color:var(--ink-3);z-index:2;font-size:20px;position:absolute;top:30px;right:-10px}@media (width<=860px){.landing .loopstep:after{display:none}}.landing .loopstep .dot{color:#fff;width:38px;height:38px;font-family:var(--font-grotesk);border-radius:11px;place-items:center;font-size:15px;font-weight:700;display:grid}.landing .loopstep h3{letter-spacing:-.02em;color:var(--ink);margin:16px 0 9px;font-size:21px}.landing .loopstep p{color:var(--ink-2);margin:0;font-size:15px;line-height:1.55}.landing .loopstep .say{color:var(--ink-3);margin-top:8px;font-size:14px;font-style:italic}.landing .loop-note{text-align:center;color:var(--ink-2);margin-top:30px;font-size:15px}.landing .loop-note .inf{background:linear-gradient(90deg, var(--routines), var(--work));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:800}.landing .feat{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;display:grid}@media (width<=940px){.landing .feat{grid-template-columns:1fr 1fr}}@media (width<=640px){.landing .feat{grid-template-columns:1fr;gap:16px;margin-top:36px}}.landing .l-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);padding:28px;transition:box-shadow .2s,transform .2s}.landing .l-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}@media (width<=520px){.landing .l-card{padding:22px}}.landing .ic{border-radius:13px;place-items:center;width:44px;height:44px;margin-bottom:18px;display:grid}.landing .ic svg{width:22px;height:22px}.landing .l-card h3{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:21px;font-weight:800}.landing .l-card .lede{color:var(--ink-2);margin:9px 0 0;font-size:15.5px;line-height:1.55}.landing .grid-mini{grid-template-columns:repeat(11,1fr);gap:5px;margin-top:20px;display:grid}.landing .grid-mini i{aspect-ratio:1;background:var(--grid-empty);border-radius:4px}.landing .grid-mini i.d{background:var(--done)}.landing .grid-mini i.g{background:var(--grace)}.landing .grid-mini i.m{background:var(--missed)}.landing .todo-row{background:var(--surface-2);border-left:3px solid var(--work);border-radius:13px;align-items:center;gap:12px;margin-top:10px;padding:13px 14px;display:flex}.landing .todo-row .tt{font-size:15px;font-weight:700}.landing .todo-row .meta{color:var(--work-ink);background:var(--work-tint);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:12.5px;font-weight:600}.landing .todo-row .box{border:2px solid var(--work);opacity:.5;border-radius:7px;flex:none;width:24px;height:24px;margin-left:auto}.landing .insight{border:1px solid color-mix(in oklab, var(--insights) 26%, var(--border));background:var(--insights-tint);border-radius:16px;margin-top:20px;padding:18px}.landing .insight .k{letter-spacing:.1em;text-transform:uppercase;color:var(--insights-ink);align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.landing .insight .k svg{width:14px;height:14px}.landing .insight p{color:var(--ink);margin:10px 0 0;font-size:15px;line-height:1.5}.landing .dom-band{border-radius:var(--radius-xl);background:linear-gradient(100deg, var(--routines-tint), var(--eating-tint) 36%, var(--work-tint) 68%, var(--training-tint));border:1px solid var(--border);margin-top:52px;padding:40px}@media (width<=520px){.landing .dom-band{border-radius:var(--radius-lg);margin-top:36px;padding:24px}}.landing .domains{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=900px){.landing .domains{grid-template-columns:repeat(2,1fr)}}@media (width<=420px){.landing .domains{grid-template-columns:1fr}}.landing .dom{background:color-mix(in oklab, var(--surface) 92%, transparent);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:22px}.landing .dom .ic{background:var(--surface);margin-bottom:14px}.landing .dom h3{color:var(--ink);margin:0;font-size:18px;font-weight:800}.landing .dom p{color:var(--ink-2);margin:3px 0 0;font-size:13.5px}.landing .dom.training .ic{color:var(--training)}.landing .dom.eating .ic{color:var(--eating)}.landing .dom.routines .ic{color:var(--routines)}.landing .dom.work .ic{color:var(--work)}.landing #philosophy{background:var(--bg-warm);border-block:1px solid var(--border);margin-top:24px}.landing .philo{text-align:center;padding:0}.landing .philo .big-inf{background:linear-gradient(92deg, var(--routines), var(--eating) 38%, var(--work) 70%, var(--training));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(80px,16vw,200px);font-weight:800;line-height:.8}.landing .philo h2{letter-spacing:-.03em;color:var(--ink);text-wrap:balance;margin-top:18px;font-size:clamp(28px,5vw,60px);font-weight:800;line-height:1.04}.landing .philo h2 em{color:var(--routines);font-style:italic}.landing .philo p{color:var(--ink-2);text-wrap:pretty;max-width:32em;margin:18px auto 0;font-size:clamp(16px,1.7vw,18px);line-height:1.55}.landing .promises{text-align:left;grid-template-columns:1fr 1fr;gap:14px;max-width:760px;margin:40px auto 0;padding:0;list-style:none;display:grid}@media (width<=680px){.landing .promises{grid-template-columns:1fr}}.landing .promises li{color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:14px;align-items:flex-start;gap:12px;padding:16px 18px;font-size:15.5px;line-height:1.45;display:flex}.landing .promises .tick{background:var(--eating-tint);width:24px;height:24px;color:var(--eating);border-radius:50%;flex:none;place-items:center;margin-top:1px;display:grid}.landing .promises .tick svg{width:14px;height:14px}.landing .promises b{font-weight:700}.landing .final{text-align:center;padding:92px 0 40px}@media (width<=640px){.landing .final{padding:64px 0 32px}}.landing .final h2{letter-spacing:-.035em;color:var(--ink);text-wrap:balance;margin:0;font-size:clamp(34px,6vw,72px);font-weight:800;line-height:.98}.landing .final h2 .loop{background:linear-gradient(92deg, var(--routines), var(--work));color:#0000;-webkit-background-clip:text;background-clip:text}.landing .final p{color:var(--ink-2);max-width:30em;margin:20px auto 0;font-size:clamp(16px,1.8vw,19px)}.landing .final .hero-form{justify-content:center;margin:32px auto 0}.landing footer.l-foot{border-top:1px solid var(--border);margin-top:40px;padding:36px 0 56px}.landing .foot-in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.landing .foot-in .muted{color:var(--ink-3);font-size:14px}.landing .foot-links{flex-wrap:wrap;gap:24px;display:flex}.landing .foot-links a{color:var(--ink-2);font-size:14px;font-weight:600}.landing .foot-links a:hover{color:var(--ink)}@media (width<=520px){.landing .foot-in{justify-content:flex-start;gap:16px}.landing footer.l-foot{padding:28px 0 calc(40px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.landing *,.landing :before,.landing :after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.screen{max-width:32rem;padding:1.25rem 1.25rem calc(2rem + env(safe-area-inset-bottom));flex:auto;width:100%;min-height:0;margin:0 auto;overflow-y:auto}.screen--centered{min-height:calc(100svh - env(safe-area-inset-top));justify-content:center;align-items:center;display:flex}.screen{animation:rise-in var(--motion-base) var(--ease-out)}.screen--centered{animation:none}.screen__head{margin-bottom:1rem}.screen__head--row{justify-content:space-between;align-items:flex-start;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.auth-card,.first-run{text-align:center;width:100%;max-width:24rem}.stack{flex-direction:column;gap:1rem;display:flex}.field{text-align:left;border:0;flex-direction:column;gap:.35rem;margin:0;padding:0;display:flex}.field>span,.field>legend{font-size:.95rem;font-weight:600}.field input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:12px;min-height:48px;padding:.85rem .9rem}.field input:focus-visible{outline:3px solid var(--accent-blue);outline-offset:1px}.field-with-action{display:flex;position:relative}.field-with-action input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:12px;flex:1;min-height:48px;padding:.85rem 3rem .85rem .9rem}.field-with-action input:focus-visible{outline:3px solid var(--accent-blue);outline-offset:1px}.field-action{width:40px;height:40px;color:var(--muted);transition:color var(--motion-fast) var(--ease-in-out), background var(--motion-fast) var(--ease-in-out);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.field-action:hover{color:var(--text);background:color-mix(in srgb, var(--text) 8%, transparent)}.field-action:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}input[type=date],input[type=time]{appearance:none;width:100%;max-width:100%;min-height:48px;font-size:1rem}input[type=date]::-webkit-date-and-time-value{text-align:left}input[type=time]::-webkit-date-and-time-value{text-align:left}input[type=date]::-webkit-calendar-picker-indicator{opacity:.65;cursor:pointer;filter:invert(.9);width:1.4rem;height:1.4rem;margin-left:.25rem;padding:.2rem}input[type=time]::-webkit-calendar-picker-indicator{opacity:.65;cursor:pointer;filter:invert(.9);width:1.4rem;height:1.4rem;margin-left:.25rem;padding:.2rem}svg.lucide{vertical-align:-.15em;flex:none}.btn{border-radius:var(--radius-pill);letter-spacing:-.14px;min-height:48px;transition:transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-base) var(--ease-in-out), background var(--motion-base) var(--ease-in-out), border-color var(--motion-base) var(--ease-in-out), opacity var(--motion-base) var(--ease-in-out);border:0;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.25rem;font-weight:600;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)scale(.99)}.btn:focus-visible{outline:3px solid var(--accent-blue);outline-offset:2px}.btn--block{width:100%}.btn--primary{background:var(--ink);color:var(--canvas)}.btn--primary:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 88%, var(--canvas))}.btn--primary:active:not(:disabled){background:var(--ink)}.btn--primary:disabled{opacity:.5}.btn--accent{background:var(--accent,var(--coral));color:var(--on-accent,#fff)}.btn--accent:hover:not(:disabled){background:color-mix(in srgb, var(--accent,var(--coral)) 88%, #000)}.btn--accent:disabled{opacity:.6}.btn--ghost{background:var(--surface-2);color:var(--ink);border:1px solid var(--hairline);margin-top:1rem}.btn--ghost:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 8%, var(--surface-2));border-color:color-mix(in srgb, var(--ink) 18%, var(--hairline))}.link{color:var(--muted);transition:color var(--motion-fast) var(--ease-in-out), background var(--motion-fast) var(--ease-in-out);background:0 0;border:0;border-radius:8px;padding:.4rem;text-decoration:underline}.link:hover{color:var(--text)}.link:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.link--icon{align-items:center;gap:.3rem;text-decoration:none;display:inline-flex}.link--icon:hover{text-decoration:underline}.icon-btn{width:32px;height:32px;color:var(--muted);transition:color var(--motion-fast) var(--ease-in-out), background var(--motion-fast) var(--ease-in-out);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--text);background:color-mix(in srgb, var(--text) 8%, transparent)}.icon-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.muted{color:var(--muted)}.form-hint{text-align:center;margin:-.25rem 0 0;font-size:.85rem}.tiny{font-size:.85rem}.error{color:var(--danger);font-weight:600}.hint{background:color-mix(in srgb, var(--gold) 14%, var(--surface));border-left:3px solid var(--gold);border-radius:8px;padding:.6rem .75rem;font-size:.9rem}.preview{color:var(--muted);border-left:3px solid var(--accent,var(--border));padding-left:.7rem;font-style:italic}.preview em{color:var(--accent,var(--text));font-style:normal;font-weight:600}.domain-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.domain-chip{text-align:left;background:var(--bg);border:1.5px solid var(--border);min-height:60px;color:var(--text);transition:border-color var(--motion-fast) var(--ease-in-out), background var(--motion-fast) var(--ease-in-out);border-radius:12px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem;display:flex}.domain-chip__icon{color:var(--accent,var(--coral));line-height:1}.domain-chip:hover:not(.is-selected){border-color:color-mix(in srgb, var(--accent,var(--coral)) 45%, var(--border))}.domain-chip small{color:var(--muted)}.domain-chip.is-selected{border-color:var(--accent,var(--coral));background:color-mix(in srgb, var(--accent,var(--coral)) 12%, transparent)}.suggestions{flex-wrap:wrap;gap:.4rem;margin-top:.15rem;display:flex}.suggestion{background:color-mix(in srgb, var(--accent,var(--coral)) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent,var(--coral)) 35%, var(--border));color:var(--text);border-radius:999px;min-height:36px;padding:.3rem .7rem;font-size:.85rem}.suggestion:hover{border-color:var(--accent,var(--coral))}.suggestion:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.suggestion.is-selected{background:color-mix(in srgb, var(--accent,var(--coral)) 18%, transparent);border-color:var(--accent,var(--coral));color:var(--accent,var(--coral));font-weight:600}.habit-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.habit-row{background:var(--surface);border:1px solid var(--border);border-left:2px solid color-mix(in srgb, var(--accent,var(--coral)) 55%, var(--border));border-radius:var(--radius);transition:border-color var(--motion-base) var(--ease-in-out);flex-direction:column;gap:.55rem;padding:.9rem 1rem;display:flex}.habit-row:hover{border-color:color-mix(in srgb, var(--accent,var(--coral)) 30%, var(--border));border-left-color:var(--accent,var(--coral))}.habit-row__top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.habit-row__main{align-items:flex-start;gap:.8rem;display:flex}.habit-row__body{flex-direction:column;flex:1;align-items:flex-start;gap:.35rem;min-width:0;display:flex}.habit-reveal{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:flex-start;gap:.45rem;padding:0;display:flex}.habit-reveal:focus-visible{outline:2px solid var(--accent-blue);outline-offset:3px}.habit-domain-icon{color:color-mix(in srgb, var(--accent,var(--coral)) 70%, var(--text));flex:none;margin-top:.15rem}.habit-row__meta{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.habit-undo{color:var(--muted)}.habit-row__aside{flex-direction:column;flex:none;align-items:center;gap:.4rem;min-width:2.75rem;display:flex}.habit-frac{font-variant-numeric:tabular-nums;color:var(--text);font-size:1.05rem;font-weight:700;line-height:1}.habit-frac small{color:var(--muted);font-size:.7em;font-weight:600}.habit-frac.is-done{color:var(--ok)}.habit-frac__n{animation:count-tick var(--motion-base) var(--ease-out);display:inline-block}@keyframes count-tick{0%{opacity:.3;transform:translateY(.18em)}to{opacity:1;transform:none}}.week-dots{gap:3px;display:inline-flex}.week-dot{background:var(--border);width:6px;height:6px;transition:background var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out);border-radius:50%}.week-dot--done{background:var(--ok)}.week-dot--grace{background:var(--gold)}.week-dot--missed{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 45%, var(--border));background:0 0}.week-dot--empty{box-shadow:inset 0 0 0 1px var(--border);background:0 0}.habit-row-wrap[data-domain=training]{--accent:var(--coral)}.habit-row-wrap[data-domain=eating]{--accent:var(--ok)}.habit-row-wrap[data-domain=habits]{--accent:var(--gold);--on-accent:#1a2238}.habit-row-wrap[data-domain=work]{--accent:var(--navy)}.habit-domain{text-transform:uppercase;letter-spacing:.09em;color:color-mix(in srgb, var(--accent,var(--coral)) 70%, var(--text));align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;display:inline-flex}.habit-flip{perspective:1400px}.habit-flip__inner{transform-style:preserve-3d;transition:transform var(--motion-flip) var(--ease-out), height var(--motion-flip) var(--ease-out);position:relative}.habit-flip.is-flipped .habit-flip__inner{transform:rotateY(180deg)}.habit-face{backface-visibility:hidden;width:100%;position:absolute;top:0;left:0}.habit-face--back{transform:rotateY(180deg)}.habit-flip:not(.is-flipped) .habit-face--back,.habit-flip.is-flipped .habit-face--front{pointer-events:none}.flip-btn{width:28px;height:28px;color:var(--muted);transition:color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out), transform var(--motion-base) var(--ease-out);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.flip-btn:hover{color:var(--accent,var(--coral));background:color-mix(in srgb, var(--accent,var(--coral)) 12%, transparent);transform:rotate(15deg)}.flip-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.habit-row--back{flex-direction:column;align-items:stretch;gap:.6rem}.habit-stats{grid-template-columns:repeat(auto-fit,minmax(4.25rem,1fr));gap:.5rem;display:grid}.stat-tile{border:1px solid color-mix(in srgb, var(--accent,var(--coral)) 22%, var(--border));background:color-mix(in srgb, var(--accent,var(--coral)) 7%, var(--surface));border-radius:12px;flex-direction:column;gap:.15rem;padding:.5rem .6rem;display:flex}.stat-tile__value{color:var(--text);font-size:1.3rem;font-weight:700;line-height:1.1}.stat-tile__value small{color:var(--muted);margin-left:1px;font-size:.7rem;font-weight:600}.stat-tile__label{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:600}.habit-plan{flex-direction:column;gap:.35rem;display:flex}.back-label{letter-spacing:.04em;text-transform:uppercase;margin:0;font-weight:700}.habit-row__behavior{margin:0;font-size:1.02rem;font-weight:600;line-height:1.35}.habit-row__anchor{color:var(--muted);font-weight:400}.check{border:2px solid color-mix(in srgb, var(--accent,var(--coral)) 55%, var(--border));background:var(--surface);width:36px;height:36px;color:var(--accent,var(--coral));transition:transform var(--motion-fast) var(--ease-out), background var(--motion-base) var(--ease-in-out), border-color var(--motion-base) var(--ease-in-out), color var(--motion-base) var(--ease-in-out), box-shadow var(--motion-base) var(--ease-in-out);border-radius:10px;flex:none;justify-content:center;align-items:center;margin-top:.12rem;font-weight:700;display:inline-flex}.check:hover:not(:disabled):not(.is-done){border-color:var(--accent,var(--coral));box-shadow:0 0 0 4px color-mix(in srgb, var(--accent,var(--coral)) 12%, transparent)}.check:active:not(:disabled){transform:scale(.9)}.check:focus-visible{outline:3px solid var(--accent-blue);outline-offset:2px}.check:disabled{cursor:default}.check.is-done{background:var(--accent,var(--coral));border-color:var(--accent,var(--coral));color:var(--on-accent,#fff);box-shadow:0 4px 12px color-mix(in srgb, var(--accent,var(--coral)) 30%, transparent);animation:done-pop var(--motion-flip) var(--ease-out)}.check.is-done svg.lucide path{stroke-dasharray:30;animation:.5s cubic-bezier(.65,0,.35,1) 50ms both check-draw}.check--add{background:color-mix(in srgb, var(--accent,var(--coral)) 9%, var(--surface))}@keyframes done-pop{0%{transform:scale(.82)}55%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes check-draw{0%{stroke-dashoffset:30px}to{stroke-dashoffset:0}}.streak{align-items:center;gap:.3rem;font-weight:700;display:inline-flex}.streak__flame{vertical-align:0}.streak--unbroken .streak__flame{color:var(--coral)}.streak--grace .streak__flame{color:var(--gold)}.streak__unit{color:var(--muted);font-size:.85rem;font-weight:500}.streak--unbroken{color:var(--coral)}.streak--grace{color:var(--gold)}.streak--zero{color:var(--muted);font-weight:600}.streak--compact{gap:.2rem;font-size:.95rem}.prompt-card{margin-bottom:1rem}.prompt-card__actions{align-items:center;gap:.75rem;display:flex}.first-run .btn--primary{margin:1rem 0 .5rem}.insight-card{margin-bottom:1rem}.insight-card__label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:.3rem;font-size:.7rem;font-weight:700;display:inline-flex}.insight-card__label .lucide{color:var(--gold)}.insight-card__actions{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.thumb{background:var(--bg);border:1px solid var(--border);min-width:44px;min-height:40px;color:var(--muted);transition:border-color var(--motion-fast) var(--ease-in-out), color var(--motion-fast) var(--ease-in-out), background var(--motion-fast) var(--ease-in-out);border-radius:10px;justify-content:center;align-items:center;padding:.35rem .6rem;display:inline-flex}.thumb:hover{border-color:color-mix(in srgb, var(--coral) 50%, var(--border));color:var(--text)}.thumb.is-active{border-color:var(--coral);color:var(--coral);background:color-mix(in srgb, var(--coral) 10%, transparent)}.insight-card__head{justify-content:space-between;align-items:center;display:flex}.fresh-card{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.fresh-card.is-exiting,.insight-peek.is-exiting{animation:collapse-out var(--motion-slow) var(--ease-in) forwards;pointer-events:none;overflow:hidden}@keyframes collapse-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px)scale(.98)}}.fresh-card__body p{margin:.25rem 0 0}.today-summary{color:var(--text);margin:.15rem 0 .1rem;font-size:1.02rem;font-weight:600}.habits-section{margin:0 0 1rem}.habit-strip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;color:inherit;align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.habit-strip__text{flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex}.habit-strip__title{font-weight:600}.habit-strip__count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem}.habit-strip__chev{color:var(--muted);transition:transform var(--motion-base) var(--ease-in-out);flex:none}.habit-strip__chev.is-open{transform:rotate(180deg)}.ring{flex:none;place-items:center;width:34px;height:34px;display:inline-grid;position:relative}.ring svg{transform:rotate(-90deg)}.ring__track{stroke:var(--border);stroke-width:3px}.ring__fill{stroke:var(--accent-blue);stroke-width:3px;stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease-out)}.ring.is-done .ring__fill{stroke:var(--ok)}.ring__label{font-variant-numeric:tabular-nums;color:var(--muted);place-items:center;font-size:.62rem;font-weight:700;display:grid;position:absolute;inset:0}.ring.is-done .ring__label{color:var(--ok)}.habit-list>.habit-row-wrap,.todo-list>.todo-row{animation:rise-in var(--motion-base) var(--ease-out) both}.habit-list>.habit-row-wrap:first-child,.todo-list>.todo-row:first-child{animation-delay:0s}.habit-list>.habit-row-wrap:nth-child(2),.todo-list>.todo-row:nth-child(2){animation-delay:30ms}.habit-list>.habit-row-wrap:nth-child(3),.todo-list>.todo-row:nth-child(3){animation-delay:60ms}.habit-list>.habit-row-wrap:nth-child(4),.todo-list>.todo-row:nth-child(4){animation-delay:90ms}.habit-list>.habit-row-wrap:nth-child(5),.todo-list>.todo-row:nth-child(5){animation-delay:.12s}.habit-list>.habit-row-wrap:nth-child(n+6),.todo-list>.todo-row:nth-child(n+6){animation-delay:.15s}.habits-collapsible{margin-top:.85rem}.habits-empty{margin:.25rem 0 .85rem}.show-completed{cursor:pointer;color:var(--muted);background:0 0;border:0;margin:.75rem 0;padding:0;font-size:.82rem;font-weight:600;display:block}.show-completed:hover{color:var(--text)}.habit-divider{border:0;border-top:1px solid var(--border);margin:.5rem 0 .1rem}.habit-manage{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.btn-soft{border:1px solid var(--border);min-height:38px;color:var(--text);transition:background var(--motion-fast) var(--ease-in-out), color var(--motion-fast) var(--ease-in-out), border-color var(--motion-fast) var(--ease-in-out), transform var(--motion-fast) var(--ease-out);background:0 0;border-radius:10px;align-items:center;gap:.35rem;padding:.45rem .8rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-soft:hover{border-color:var(--accent,var(--coral));color:var(--accent,var(--coral))}.btn-soft:active{transform:translateY(1px)}.btn-soft:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.btn-soft--danger{color:var(--danger)}.btn-soft--danger:hover{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent)}.confirm-remove{color:var(--muted);align-items:center;gap:.25rem;display:inline-flex}.link--danger{color:var(--danger)}.habit-row-wrap{list-style:none}.habit-details,.optional-fields{margin-top:.5rem}.habit-details>summary,.optional-fields>summary{cursor:pointer;color:var(--muted);padding:.4rem 0;font-size:.9rem}.optional-fields[open]{flex-direction:column;gap:.75rem;display:flex}.detail-line .lucide{vertical-align:-.2em;margin-right:.15rem}.heatmap{margin:.5rem 0}.heatmap__grid{grid-template-columns:repeat(11,1fr);gap:3px;max-width:18rem;display:grid}.cell{aspect-ratio:1;background:var(--border);border-radius:3px}.cell--done{background:var(--ok)}.cell--grace{background:var(--gold)}.cell--missed{background:#c0392b40}.cell--empty{border:1px dashed var(--border);background:0 0}.heatmap__caption{margin-top:.4rem}.heatmap__legend{color:var(--muted);flex-wrap:wrap;gap:.4rem .85rem;margin:.5rem 0 0;padding:0;font-size:.75rem;list-style:none;display:flex}.heatmap__legend li{align-items:center;gap:.3rem;display:inline-flex}.heatmap__legend .cell{aspect-ratio:auto;width:11px;height:11px}.habit-stats-group{flex-direction:column;gap:.5rem;display:flex}.auto-progress{flex-direction:column;gap:.3rem;display:flex}.auto-progress__label{letter-spacing:.02em;text-transform:uppercase;font-weight:600}.auto-progress__bar{background:linear-gradient(to right, var(--accent,var(--coral)) var(--pct,0%), color-mix(in srgb, var(--accent,var(--coral)) 14%, var(--border)) var(--pct,0%));border-radius:3px;height:6px;display:block}.stat-tile--hero{grid-column:1/-1;align-items:flex-start}.stat-tile--hero .stat-tile__value{font-size:1.15rem}.legend-info{align-items:center;display:inline-flex;position:relative}.legend-info__btn{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:0;display:inline-flex}.legend-info__btn:hover{color:var(--accent,var(--coral))}.legend-info__btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px;border-radius:4px}.legend-info__tip{background:var(--text);width:max-content;max-width:14rem;color:var(--bg);text-transform:none;letter-spacing:0;opacity:0;pointer-events:none;transition:opacity var(--motion-fast) var(--ease-in-out);z-index:5;border-radius:8px;padding:.4rem .55rem;font-size:.72rem;line-height:1.3;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0000002e}.legend-info:hover .legend-info__tip,.legend-info__tip.is-open{opacity:1}.view-details{color:var(--accent,var(--coral));cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:.25rem;padding:.3rem 0;font-size:.9rem;font-weight:600;display:inline-flex}.view-details:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px;border-radius:6px}.view-details .lucide{transition:transform var(--motion-base) var(--ease-out)}.view-details:hover .lucide{transform:translate(2px)}.habit-detail[data-domain=training]{--accent:var(--coral)}.habit-detail[data-domain=eating]{--accent:var(--ok)}.habit-detail[data-domain=habits]{--accent:var(--gold);--on-accent:#1a2238}.habit-detail[data-domain=work]{--accent:var(--navy)}.habit-detail{flex-direction:column;gap:.9rem;display:flex}.habit-detail .screen__head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:0;display:flex}.habit-detail__title{margin:0;font-size:1.3rem;line-height:1.3}.habit-detail__title .habit-row__anchor{margin-bottom:.1rem;font-size:.95rem;display:block}.field select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:12px;min-height:48px;padding:.85rem .9rem}.field select:focus-visible{outline:3px solid var(--accent-blue);outline-offset:1px}.target-grid{grid-template-columns:1fr 1fr 1fr;gap:.6rem;display:grid}@property --pct{syntax:"<percentage>";inherits:false;initial-value:0%}.logger{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.logger__input{border:1px solid var(--border);background:var(--surface);width:5rem;color:var(--text);text-align:center;min-height:40px;transition:border-color var(--motion-fast) var(--ease-in-out), box-shadow var(--motion-fast) var(--ease-in-out);border-radius:10px;padding:.55rem .6rem;font-weight:600}.logger__input:focus-visible{border-color:var(--accent,var(--gold));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent,var(--gold)) 25%, transparent);outline:none}.btn--sm{min-height:40px;padding:.5rem .75rem}.app-version{text-align:center;color:var(--muted);padding:1rem 0 1.5rem;font-size:.75rem}.head-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.tab-bar{z-index:50;max-width:32rem;height:calc(var(--tabbar-height) + env(safe-area-inset-bottom,0px));padding:0 calc(.5rem + env(safe-area-inset-right)) 0 calc(.5rem + env(safe-area-inset-left));background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);align-items:stretch;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--muted);letter-spacing:-.1px;transition:color var(--motion-fast) var(--ease-in-out), background var(--motion-fast) var(--ease-in-out);background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.12rem;padding:.2rem .25rem;font-size:.7rem;font-weight:600;display:flex}.tab__label{line-height:1}.tab:hover{color:var(--text)}.tab:focus-visible{outline:2px solid var(--accent-blue);outline-offset:-2px}.tab.is-active{color:var(--text)}.tab.is-active svg{color:var(--accent-blue)}.tabbar-open .screen{padding-bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom,0px) + .6rem)}.settings-card{margin-bottom:1rem}.settings-card__title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .75rem;font-size:.8rem;font-weight:600}.seg{gap:.35rem;display:flex}.seg__btn{border:1px solid var(--border);background:var(--bg);min-height:42px;color:var(--muted);font:inherit;transition:color var(--motion-fast) var(--ease-in-out), background var(--motion-fast) var(--ease-in-out), border-color var(--motion-fast) var(--ease-in-out);border-radius:12px;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.seg__btn:hover{color:var(--text)}.seg__btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.seg__btn.is-active{color:var(--text);border-color:color-mix(in srgb, var(--ink) 22%, var(--hairline));background:var(--surface-2)}.text-size{margin-top:.85rem}.text-size__head{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.text-size__value{font-variant-numeric:tabular-nums}.text-size__slider{align-items:center;gap:.6rem;display:flex}.text-size__a{color:var(--muted);flex:none;font-weight:600;line-height:1}.text-size__a--sm{font-size:13px}.text-size__a--lg{font-size:22px}.text-size__range{appearance:none;cursor:pointer;background:0 0;flex:1;min-width:0;height:28px;margin:0}.text-size__range::-webkit-slider-runnable-track{background:var(--border);border-radius:100px;height:4px}.text-size__range::-moz-range-track{background:var(--border);border-radius:100px;height:4px}.text-size__range::-webkit-slider-thumb{appearance:none;border:2px solid var(--canvas);background:var(--accent-blue);border-radius:50%;width:20px;height:20px;margin-top:-8px;box-shadow:0 1px 3px #0000004d}.text-size__range::-moz-range-thumb{border:2px solid var(--canvas);background:var(--accent-blue);border-radius:50%;width:20px;height:20px;box-shadow:0 1px 3px #0000004d}.text-size__range:focus-visible{outline:2px solid var(--accent-blue);outline-offset:4px;border-radius:100px}.text-size__preview{overflow-wrap:anywhere;margin:.6rem 0 0;line-height:1.35}.setting-switch{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.setting-switch__text{flex-direction:column;gap:.2rem;display:flex}.setting-switch__label{font-weight:600}.setting-switch__sub{margin:0;line-height:1.35}.switch{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;width:46px;height:28px;transition:background var(--motion-base) var(--ease-in-out), border-color var(--motion-base) var(--ease-in-out);border-radius:999px;flex:none;margin-top:.15rem;padding:0;position:relative}.switch:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.switch.is-on{background:var(--ok);border-color:var(--ok)}.switch__knob{width:22px;height:22px;transition:transform var(--motion-base) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:50%;left:3px;transform:translateY(-50%);box-shadow:0 1px 2px #00000040}.switch.is-on .switch__knob{transform:translate(18px,-50%)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 88%, #000)}.signout-confirm{flex-direction:column;gap:.5rem;display:flex}.signout-confirm p{margin:0}.signout-confirm__actions{gap:.5rem;display:flex}.signout-confirm__actions .btn{flex:1;margin-top:0}.field textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;resize:vertical;border-radius:12px;min-height:3.5rem;padding:.85rem .9rem}.field textarea:focus-visible{outline:3px solid var(--accent-blue);outline-offset:1px}.quick-add{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.quick-add__row{align-items:center;gap:.5rem;display:flex}.quick-add__input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);border-radius:12px;flex:1;min-height:44px;padding:.7rem .85rem}.quick-add__input:focus-visible{outline:3px solid var(--accent-blue);outline-offset:1px}.quick-add__more{flex:none;margin-top:0}.quick-add__added{color:var(--ok);align-items:center;gap:.3rem;margin:0;animation:1.6s forwards added-fade;display:inline-flex}.quick-add__added svg{flex:none}@keyframes added-fade{0%{opacity:0;transform:translateY(-2px)}12%,70%{opacity:1;transform:none}to{opacity:0}}.todo-add-home{margin-bottom:1rem}.todos-empty{text-align:center;margin:1.5rem 0}.todo-section{margin:0 0 1rem}.todo-section__title{text-transform:uppercase;letter-spacing:.06em;color:color-mix(in srgb, var(--navy) 60%, transparent);align-items:center;gap:.4rem;margin:0 0 .5rem;font-size:.78rem;font-weight:600;display:flex}.todo-section__count{background:color-mix(in srgb, var(--navy) 10%, transparent);letter-spacing:0;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;font-size:.7rem;font-weight:600;display:inline-flex}.section-all{text-transform:none;letter-spacing:0;margin-left:auto;font-size:.8rem}.needs-attention .todo-section__title>svg{color:var(--danger)}.todo-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.todo-row[data-kind=deadline]{--on-accent:#1a2238}.todo-row{background:var(--surface);border:1px solid var(--border);border-left:2px solid color-mix(in srgb, var(--accent,var(--navy)) 55%, var(--border));border-radius:var(--radius);transition:border-color var(--motion-base) var(--ease-in-out), opacity var(--motion-slow) var(--ease-in-out);align-items:flex-start;gap:.75rem;padding:.85rem .9rem;display:flex}.todo-row:hover{border-left-color:var(--accent,var(--navy))}.todo-row.is-done{opacity:.62}.todo-row.is-done .todo-title{text-decoration:line-through}.todo-row__body{flex:auto;min-width:0}.todo-due{color:var(--muted);background:color-mix(in srgb, var(--accent,var(--navy)) 10%, transparent);border-radius:999px;margin-top:.2rem;padding:.1rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.todo-due.is-overdue{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.todo-title{overflow-wrap:anywhere;margin:0;font-weight:600}.todo-kind-icon{vertical-align:-.18em;color:var(--accent,var(--navy));margin-right:.35rem}.todo-notes{overflow-wrap:anywhere;margin:.2rem 0 0}.todo-row__actions{opacity:0;max-width:0;transition:max-width var(--motion-base) var(--ease-in-out), opacity var(--motion-base) var(--ease-in-out);flex-shrink:0;align-items:center;gap:.25rem;display:flex;overflow:hidden}.todo-row:focus-within .todo-row__actions,.todo-row.is-revealed .todo-row__actions{opacity:1;max-width:13rem}@media (hover:hover){.todo-row:hover .todo-row__actions{opacity:1;max-width:13rem}}.todo-confirm{align-items:center;gap:.25rem;display:inline-flex}.flatpickr-calendar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);border-radius:12px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowBottom:before{border-bottom-color:var(--border);border-top-color:var(--border)}.flatpickr-calendar.arrowTop:after{border-bottom-color:var(--surface)}.flatpickr-calendar.arrowBottom:after{border-top-color:var(--surface)}.flatpickr-months .flatpickr-month,.flatpickr-current-month,.flatpickr-current-month input.cur-year,.flatpickr-monthDropdown-months{color:var(--text);fill:var(--text)}.flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background:var(--surface);color:var(--text)}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{fill:var(--text)}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:var(--accent,var(--coral))}span.flatpickr-weekday{color:var(--muted)}.flatpickr-day{color:var(--text);border-radius:8px}.flatpickr-day:hover,.flatpickr-day:focus{background:color-mix(in srgb, var(--accent,var(--coral)) 14%, var(--surface));border-color:#0000}.flatpickr-day.today{border-color:color-mix(in srgb, var(--accent,var(--coral)) 55%, var(--border))}.flatpickr-day.today:hover,.flatpickr-day.today:focus{background:color-mix(in srgb, var(--accent,var(--coral)) 14%, var(--surface));color:var(--text)}.flatpickr-day.selected,.flatpickr-day.selected:hover,.flatpickr-day.selected:focus{background:var(--accent,var(--coral));border-color:var(--accent,var(--coral));color:#fff}.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.flatpickr-disabled{color:var(--muted);opacity:.5}.flatpickr-time input,.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{color:var(--text)}.flatpickr-time input:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time .flatpickr-am-pm:focus{background:color-mix(in srgb, var(--accent,var(--coral)) 10%, var(--surface))}.numInputWrapper span{border-color:var(--border)}.numInputWrapper span:hover{background:color-mix(in srgb, var(--accent,var(--coral)) 12%, transparent)}.numInputWrapper span.arrowUp:after{border-bottom-color:var(--muted)}.numInputWrapper span.arrowDown:after{border-top-color:var(--muted)}.flatpickr-input[readonly],.flatpickr-input[readonly]+.flatpickr-mobile{cursor:pointer}.date-shortcuts{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.5rem;display:flex}.date-shortcut{border:1px solid var(--border);background:var(--surface);color:var(--text);min-height:36px;transition:border-color var(--motion-fast) var(--ease-in-out), background var(--motion-fast) var(--ease-in-out), color var(--motion-fast) var(--ease-in-out);border-radius:999px;padding:.4rem .75rem;font-size:.85rem;font-weight:600}.date-shortcut:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent,var(--coral)) 45%, var(--border));background:color-mix(in srgb, var(--accent,var(--coral)) 10%, var(--surface));color:var(--accent,var(--coral))}.date-shortcut:disabled{opacity:.5;cursor:default}.date-shortcut.is-selected{border-color:var(--accent,var(--coral));background:color-mix(in srgb, var(--accent,var(--coral)) 16%, var(--surface));color:var(--accent,var(--coral))}.date-shortcut--clear{color:var(--muted)}.date-shortcut--clear:hover:not(:disabled){border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--surface));color:var(--danger)}.numfield{border:1px solid var(--border);background:var(--bg);width:100%;min-height:48px;color:var(--text);text-align:left;white-space:nowrap;border-radius:12px;align-items:center;padding:.85rem .9rem;display:inline-flex;overflow:hidden}.numfield:focus-visible{outline:3px solid var(--accent-blue);outline-offset:1px}.numfield:disabled{opacity:.6;cursor:default}.numfield__value{font-weight:600}.numfield__unit{color:var(--muted);font-weight:500}.numfield__placeholder{color:var(--muted)}.logger .numfield{background:var(--surface);text-align:center;justify-content:center;width:5rem;min-height:40px;padding:.55rem .6rem;font-weight:600}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-fade var(--motion-base) var(--ease-in-out);background:#000000a8;display:flex;position:fixed;inset:0}.modal{background:var(--surface);width:100%;height:100dvh;padding:calc(.75rem + env(safe-area-inset-top)) 1.25rem calc(1rem + env(safe-area-inset-bottom));animation:modal-rise var(--motion-base) var(--ease-out);flex-direction:column;display:flex}.modal:focus{outline:none}.modal__inner{flex-direction:column;width:100%;max-width:26rem;height:100%;margin:0 auto;display:flex}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-rise{0%{transform:translateY(10%)}}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal{animation:none}}.modal__head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.modal__title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.numpad__display{border-bottom:1px solid var(--border);flex:1;justify-content:center;align-items:center;gap:.4rem;min-height:4rem;margin-bottom:.85rem;padding:1rem .3rem;display:flex}.numpad__num{font-variant-numeric:tabular-nums;font-size:clamp(2.4rem,14vw,3.5rem);font-weight:700;line-height:1}.numpad__unit{color:var(--muted);font-weight:600}.numpad__grid{grid-template-columns:repeat(3,1fr);gap:.55rem;display:grid}.numpad__key{border:1px solid var(--border);background:var(--bg);min-height:64px;color:var(--text);transition:background var(--motion-fast) var(--ease-in-out), transform var(--motion-fast) var(--ease-out);border-radius:12px;justify-content:center;align-items:center;font-size:1.5rem;font-weight:600;display:inline-flex}@media (hover:hover){.numpad__key:hover{background:color-mix(in srgb, var(--accent,var(--coral)) 10%, var(--bg))}}.numpad__key:active{background:color-mix(in srgb, var(--accent,var(--coral)) 16%, var(--bg));transform:scale(.97)}.numpad__key--muted{color:var(--muted);font-size:1.15rem}.numpad__done{margin-top:.85rem}.datefield{border:1px solid var(--border);background:var(--bg);width:100%;min-height:48px;color:var(--text);text-align:left;border-radius:12px;align-items:center;gap:.55rem;padding:.85rem .9rem;display:inline-flex}.datefield:focus-visible{outline:3px solid var(--accent-blue);outline-offset:1px}.datefield:disabled{opacity:.6;cursor:default}.datefield__icon{color:var(--muted);flex:none}.datefield__value{font-weight:600}.datefield__placeholder{color:var(--muted)}.datefield-icon{min-height:44px;color:var(--muted);transition:color var(--motion-fast) var(--ease-in-out), background var(--motion-fast) var(--ease-in-out);background:0 0;border:0;border-radius:10px;align-items:center;gap:.35rem;padding:0 .6rem;display:inline-flex}.datefield-icon:hover:not(:disabled){color:var(--text);background:color-mix(in srgb, var(--text) 8%, transparent)}.datefield-icon:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.datefield-icon.is-active{color:var(--accent,var(--coral));background:color-mix(in srgb, var(--accent,var(--coral)) 12%, transparent)}.datefield-icon:disabled{opacity:.6;cursor:default}.datefield-icon__chip{white-space:nowrap;font-size:.8rem;font-weight:600}.datepad__display{text-align:center;min-height:1.7rem;margin-top:auto;padding:.25rem 0 .6rem;font-size:1.15rem;font-weight:700}.datepad__display--empty{color:var(--muted);font-weight:500}.datepad__cal{flex-direction:column;flex:0 auto;align-items:center;min-height:0;padding:.75rem 0;display:flex;overflow:auto}.datepad__cal~.numpad__done{margin-bottom:auto}.datepad__input{display:none}.datepad__cal .flatpickr-calendar.inline{width:100%;max-width:22rem;box-shadow:none;background:0 0;border:0;margin:0 auto}.datepad__cal .flatpickr-calendar.inline .flatpickr-rContainer,.datepad__cal .flatpickr-calendar.inline .flatpickr-days,.datepad__cal .flatpickr-calendar.inline .dayContainer{width:100%;min-width:0;max-width:none}.datepad__cal .flatpickr-current-month{font-size:1.1rem}.datepad__cal .flatpickr-current-month .flatpickr-monthDropdown-months{margin-right:.4rem}.datepad__cal .flatpickr-day{max-width:none;height:42px;line-height:42px}.datepad__cal .flatpickr-time{width:100%}.datepad__cal .flatpickr-time input,.datepad__cal .flatpickr-time .flatpickr-am-pm{height:3rem;font-size:1.35rem;line-height:3rem}.insight-peek{border:1px solid color-mix(in srgb, var(--gold) 35%, var(--border));background:color-mix(in srgb, var(--gold) 7%, var(--surface));border-radius:12px;align-items:stretch;gap:.25rem;margin-bottom:1rem;display:flex}.insight-peek__main{text-align:left;min-width:0;color:var(--text);cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:.5rem;padding:.65rem .5rem .65rem .75rem;display:flex}.insight-peek__icon{color:var(--gold);flex:none}.insight-peek__text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.9rem;line-height:1.3;overflow:hidden}.insight-peek__chev{color:var(--muted);flex:none}.insight-peek__close{align-self:center;margin-right:.25rem}.insights-empty{text-align:center;flex-direction:column;align-items:center;gap:.4rem;padding:2.5rem 1rem;display:flex}.insights-empty__icon{color:var(--gold);margin-bottom:.3rem}.insights-empty p{max-width:22rem;margin:0}.insights-section{margin:0 0 1.5rem}.insights-section__title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .65rem;font-size:.78rem;font-weight:600}.insights-note{margin:.65rem 0 0}.insight-habits{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.insight-habit{border:1px solid color-mix(in srgb, var(--accent,var(--coral)) 18%, var(--border));background:color-mix(in srgb, var(--accent,var(--coral)) 5%, var(--surface));border-radius:12px;flex-direction:column;gap:.5rem;padding:.75rem .85rem;display:flex}.insight-habit[data-domain=training]{--accent:var(--coral)}.insight-habit[data-domain=eating]{--accent:var(--ok)}.insight-habit[data-domain=habits]{--accent:var(--gold)}.insight-habit[data-domain=work]{--accent:var(--navy)}.insight-habit__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.insight-habit__behavior{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;min-width:0;font-size:.95rem;font-weight:600;display:inline-flex;overflow:hidden}.insight-habit__behavior .habit-domain-icon{flex:none}.insight-habit__meta{align-items:center;gap:.75rem;display:flex}.insight-habit__bar,.insight-habit__new{flex:auto}
