:root{--color-paper:oklch(98.5% .01 78);--color-paper-2:oklch(96.2% .014 76);--color-paper-3:oklch(93.2% .019 74);--color-paper-4:oklch(90% .022 74);--color-rule:oklch(88% .02 74);--color-rule-strong:oklch(79.5% .03 72);--color-ink:oklch(21% .016 120);--color-ink-2:oklch(38% .016 110);--color-muted:oklch(44% .016 72);--color-neutral:oklch(52% .018 74);--color-accent:oklch(48% .095 168);--color-accent-deep:oklch(33% .066 172);--color-accent-soft:oklch(94% .026 166);--color-accent-rule:oklch(86% .045 166);--color-accent-ink:oklch(98.5% .01 78);--color-focus:oklch(52% .103 168);--color-danger:oklch(50.5% .15 28);--color-danger-rule:oklch(85% .055 28);--color-danger-soft:oklch(95% .022 28);--color-warn:oklch(50% .1 72);--color-warn-rule:oklch(87% .06 78);--color-warn-soft:oklch(95.5% .03 78);--color-goal-clay:oklch(56% .14 32);--color-goal-fern:oklch(50% .095 155);--color-goal-indigo:oklch(50% .115 262);--color-goal-ochre:oklch(62% .125 78);--color-goal-slate:oklch(52% .03 200);--color-goal-none:oklch(70% .012 120);--font-display:"Fraunces", ui-serif, Georgia, serif;--font-body:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-2xs:.6875rem;--text-xs:.8rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--text-3xl:3.0518rem;--text-display:clamp(2.5rem, 4.5vw + 1rem, 4.25rem);--text-display-s:clamp(1.9531rem, 2.5vw + 1rem, 2.75rem);--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--radius-xs:2px;--radius-sm:3px;--radius-md:5px;--radius-lg:8px;--radius-round:999px;--rule-hair:1px solid var(--color-rule);--rule-strong:1px solid var(--color-rule-strong);--rule-ink:1px solid var(--color-ink);--rule-accent:1px solid var(--color-accent-rule);--shadow-whisper:0 1px 2px oklch(21% .016 120/.05);--shadow-raised:0 12px 32px oklch(21% .016 120/.14);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600;--ink:var(--color-ink);--muted:var(--color-muted);--faint:var(--color-neutral);--line:var(--color-rule);--line-strong:var(--color-rule-strong);--paper:var(--color-paper);--canvas:var(--color-paper-2);--canvas-deep:var(--color-paper-3);--teal:var(--color-accent);--teal-dark:var(--color-accent-deep);--teal-soft:var(--color-accent-soft);--coral:var(--color-goal-clay);--amber:var(--color-goal-ochre);--blue:var(--color-goal-indigo);--shadow:var(--shadow-whisper)}*{box-sizing:border-box}html{background:var(--color-paper-2);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;overflow-x:clip}body{background:var(--color-paper-2);min-width:320px;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);letter-spacing:0;-webkit-font-smoothing:antialiased;margin:0;line-height:1.55;overflow-x:clip}button,input,select,textarea{color:inherit;font:inherit;letter-spacing:0}button{cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;transition:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4,.brand strong{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.018em;overflow-wrap:anywhere;min-width:0;font-weight:600;line-height:1.14}time,output,.time-readout span,.pomodoro-clock output,.header-stat strong,.count-badge,.task-group__count strong,.sidebar-progress>div:first-child strong,.routine-dial__hour,.routine-dial__hub strong,.timeline-item time strong,.timeline-item time span,.timeline-gap strong,.focus-panel__time,.task-archive__count,.routine-goal-summary__row>span{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"zero" 1;letter-spacing:-.01em}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{height:100dvh;padding:var(--space-lg) var(--space-md);border-right:var(--rule-hair);background:var(--color-paper);flex-direction:column;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-sm);width:100%;padding-bottom:var(--space-md);border:0;border-bottom:var(--rule-ink);color:inherit;text-align:left;background:0 0;text-decoration:none;display:flex}.brand__mark{border-radius:var(--radius-sm);background:var(--color-accent-deep);width:34px;height:34px;color:var(--color-accent-ink);flex:0 0 34px;place-items:center;display:grid;overflow:hidden}.brand__mark img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.brand>span:last-child{gap:var(--space-3xs);min-width:0;display:grid}.brand strong{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:-.022em;font-weight:600;line-height:1.05}.brand small{color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.primary-nav{margin-top:var(--space-lg);display:grid}.primary-nav a{align-items:center;gap:var(--space-sm);min-height:44px;padding:0 var(--space-xs) 0 var(--space-md);border:0;border-bottom:var(--rule-hair);color:var(--color-muted);font-size:var(--text-sm);text-align:left;transition:color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);background:0 0;border-radius:0;text-decoration:none;display:flex;position:relative}.primary-nav a:before{content:"";background:0 0;width:5px;height:5px;position:absolute;left:0}.primary-nav a:hover{background:var(--color-paper-2);color:var(--color-ink)}.primary-nav a.is-active{color:var(--color-accent);font-weight:600}.primary-nav a.is-active:before{background:var(--color-accent)}.sidebar-footer{gap:var(--space-2xs);margin-top:auto;display:grid}.sidebar-guide{align-items:center;gap:var(--space-xs);min-height:40px;padding:0 var(--space-xs);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-xs);background:0 0;border:0;font-weight:500;display:flex}.sidebar-guide:hover{background:var(--color-paper-2);color:var(--color-accent)}.sidebar-progress{margin-top:var(--space-xs);padding:var(--space-sm) 0;border:0;border-top:var(--rule-ink);border-bottom:var(--rule-hair);background:0 0;border-radius:0}.sidebar-progress>div:first-child{align-items:center;gap:var(--space-xs);font-size:var(--text-xs);display:flex}.sidebar-progress>div:first-child svg{color:var(--color-accent)}.sidebar-progress>div:first-child strong{font-size:var(--text-sm);margin-left:auto;font-weight:600}.progress-track{height:3px;margin:var(--space-xs) 0 var(--space-xs);background:var(--color-paper-3);border-radius:0;overflow:hidden}.progress-track i{background:var(--color-accent);height:100%;transition:width var(--dur-short) var(--ease-out);border-radius:0;display:block}.sidebar-progress p{color:var(--color-neutral);font-size:var(--text-xs)}.sidebar-progress small{margin-top:var(--space-3xs);color:var(--color-muted);font-size:var(--text-xs);font-style:italic;display:block}.sidebar-account{align-items:center;gap:var(--space-xs);min-height:36px;padding:0 var(--space-sm);color:var(--muted);font-size:12px;display:flex}.sidebar-account span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-account button{flex-shrink:0;margin-left:auto}.landing{background:var(--color-paper);min-height:100dvh;overflow-x:clip}.login-page{min-height:100dvh;padding:var(--space-3xl) var(--space-lg) var(--space-2xl);background:var(--color-paper-2);place-items:center;display:grid}.login-page__brand{top:var(--space-lg);left:var(--space-xl);align-items:center;gap:var(--space-xs);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-base);letter-spacing:-.02em;font-weight:600;text-decoration:none;display:inline-flex;position:absolute}.login-page__brand img{border-radius:var(--radius-xs)}.login-card{border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);width:min(470px,100%);box-shadow:none;padding:clamp(28px,5vw,44px)}.login-card h1{margin-top:var(--space-md);color:var(--color-ink);letter-spacing:-.045em;font-size:clamp(34px,7vw,46px);line-height:1}.login-card__lede{margin-top:var(--space-sm);color:var(--muted);font-size:13px;line-height:1.6}.login-google-shell{width:100%;margin-top:var(--space-lg);justify-items:center;display:grid}.login-google-button{justify-content:center;align-items:center;width:100%;min-height:44px;display:flex}.login-google-button.is-unavailable{min-height:0}.login-google-fallback{justify-content:space-between;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-sm);border:1px solid var(--color-danger-rule);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger);font-size:12px;line-height:1.4;display:flex}.login-google-fallback button{min-height:44px;padding:0 var(--space-sm);border:1px solid var(--color-danger-rule);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-danger);flex:none;font-size:12px;font-weight:750}.login-google-status{margin-top:var(--space-xs);color:var(--muted);font-size:12px;font-weight:700}.login-google-shell .form-error{margin-top:var(--space-xs)}.login-divider{align-items:center;gap:var(--space-sm);margin:var(--space-lg) 0 var(--space-md);color:var(--faint);font-size:12px;font-weight:700;display:flex}.login-divider:before,.login-divider:after{background:var(--line);content:"";flex:1;height:1px}.login-card__modes{gap:var(--space-lg);margin-bottom:var(--space-md);border-bottom:var(--rule-ink);display:flex}.login-card__modes button{min-height:44px;color:var(--color-muted);font-size:var(--text-sm);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0;font-weight:500}.login-card__modes button:hover{color:var(--color-ink)}.login-card__modes button.is-active{margin-bottom:-var(--space-3xs);border-bottom-color:var(--color-accent);color:var(--color-accent)}.login-card__form{gap:var(--space-sm)}.login-card__form .form-success{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-accent-rule);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--teal-dark);font-size:12px;line-height:1.45}.login-card__back{align-items:center;gap:var(--space-2xs);min-height:24px;margin-top:var(--space-lg);color:var(--color-muted);font-size:var(--text-sm);font-weight:400;text-decoration:none;display:inline-flex}.login-card__back:hover{color:var(--teal-dark)}.auth-loading__action{margin-top:var(--space-lg)}.masthead{width:min(1200px,100%);padding:var(--space-md) var(--space-lg) 0;margin:0 auto}.masthead__strap{justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-xs);border-bottom:var(--rule-hair);color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;display:flex}.masthead__wordmark{padding:var(--space-md) 0 var(--space-sm);color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.035em;text-align:center;overflow-wrap:anywhere;font-size:clamp(2.4rem,8.5vw,5.5rem);font-weight:600;line-height:.92;text-decoration:none;display:block}.masthead__nav{justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-xs) 0;border-top:var(--rule-ink);border-bottom:var(--rule-hair);box-shadow:0 3px 0 -2px var(--color-ink);display:flex}.masthead__nav a{min-height:24px;color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap;align-items:center;text-decoration:none;display:inline-flex}.masthead__nav a:hover{color:var(--color-accent);text-underline-offset:4px;text-decoration:underline}.masthead__nav button{min-height:36px;padding:0 var(--space-md);border:var(--rule-ink);border-radius:var(--radius-sm);color:var(--color-ink);font-size:var(--text-sm);white-space:nowrap;background:0 0;font-weight:500}.masthead__nav button:hover{background:var(--color-ink);color:var(--color-paper)}.landing-map{align-items:center;gap:var(--space-2xl);width:min(1200px,100%);padding:var(--space-2xl) var(--space-lg) var(--space-xl);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);margin:0 auto;display:grid}.landing-map__intro{min-width:0}.landing-map h1{max-width:15ch;font-size:var(--text-display);letter-spacing:-.035em;font-weight:600;line-height:.98}.landing-map__lede{max-width:46ch;margin-top:var(--space-md);color:var(--color-ink-2);font-size:var(--text-md);line-height:1.5}.landing-map__actions{align-items:center;gap:var(--space-lg);margin-top:var(--space-lg);display:flex}.landing-map__actions>a{min-height:24px;color:var(--color-muted);font-size:var(--text-sm);text-underline-offset:4px;white-space:nowrap;align-items:center;text-decoration:underline;display:inline-flex}.landing-map__actions>a:hover{color:var(--color-accent)}.landing-action{align-items:center;gap:var(--space-xs);min-height:46px;padding:0 var(--space-lg);border-radius:var(--radius-sm);background:var(--color-accent-deep);color:var(--color-accent-ink);font-size:var(--text-base);white-space:nowrap;border:0;font-weight:500;display:inline-flex}.landing-action:hover{background:var(--color-accent)}.landing-map__note{margin-top:var(--space-md);color:var(--color-neutral);font-size:var(--text-sm);font-style:italic}.landing-map__figure{min-width:0;margin:0}.landing-map__figure svg{width:100%;height:auto;display:block}.landing-map__figure figcaption{margin-top:var(--space-xs);color:var(--color-neutral);font-size:var(--text-xs);text-align:center;font-style:italic}.daymap__edge{fill:none;stroke:var(--color-rule);stroke-width:1px}.daymap__track{fill:none;stroke:var(--color-paper-2);stroke-width:62px}.daymap__tick{stroke:var(--color-rule-strong);stroke-width:1px}.daymap__tick.is-cardinal{stroke:var(--color-ink);stroke-width:1.5px}.daymap__arc{stroke:var(--color-paper);stroke-width:1.5px}.daymap__marker line{stroke:var(--color-ink);stroke-width:1.5px}.daymap__marker circle{fill:var(--color-accent)}.daymap__hub{fill:var(--color-paper);stroke:var(--color-rule);stroke-width:1px}.daymap__hour{fill:var(--color-muted);font-family:var(--font-mono);font-size:14px;font-weight:500}.daymap__hub-figure{fill:var(--color-ink);font-family:var(--font-display);letter-spacing:-.03em;font-size:76px;font-weight:600}.daymap__hub-label{fill:var(--color-neutral);font-family:var(--font-mono);letter-spacing:.1em;font-size:13px}.landing-legend{border-top:var(--rule-ink);grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));margin:0;padding:0;list-style:none;display:grid}.landing-legend li{align-items:baseline;gap:var(--space-xs);padding:var(--space-sm) var(--space-md) var(--space-sm) 0;border-bottom:var(--rule-hair);grid-template-columns:auto 1fr auto;display:grid}.landing-legend i{align-self:center;width:7px;height:7px}.landing-legend strong{font-size:var(--text-base);font-weight:500}.landing-legend__hours{color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.landing-legend__note{color:var(--color-neutral);font-size:var(--text-xs);grid-column:2/-1;line-height:1.45}.landing-chain{width:min(1200px,100%);padding:var(--space-3xl) var(--space-lg) var(--space-xl);margin:0 auto}.landing-chain h2{max-width:18ch;font-size:var(--text-2xl);letter-spacing:-.028em;font-weight:600}.chain{gap:var(--space-xl);margin:var(--space-xl) 0 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));padding:0;list-style:none;display:grid}.chain__step{min-width:0;padding-top:var(--space-md);border-top:var(--rule-ink);position:relative}.chain__step h3{font-size:var(--text-md);font-weight:600}.chain__step p{max-width:40ch;margin-top:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);line-height:1.55}.chain__step figure{margin:var(--space-md) 0 0;border:var(--rule-hair);border-radius:var(--radius-xs);line-height:0;overflow:hidden}.chain__step figure img{width:100%;height:auto;display:block}.landing-closing{justify-content:space-between;align-items:center;gap:var(--space-lg);width:min(1200px,100%);padding:var(--space-2xl) var(--space-lg);border-top:var(--rule-ink);flex-wrap:wrap;margin:0 auto;display:flex}.landing-closing h2{max-width:16ch;font-size:var(--text-xl);letter-spacing:-.028em;font-weight:600}.colophon{width:min(1200px,100%);padding:var(--space-lg) var(--space-lg) var(--space-2xl);border-top:var(--rule-hair);color:var(--color-muted);font-size:var(--text-xs);margin:0 auto}.colophon__mark{align-items:center;gap:var(--space-xs);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-base);font-weight:600;display:flex}.colophon__mark img{border-radius:var(--radius-xs)}.colophon dl{gap:var(--space-md);margin:var(--space-md) 0 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.colophon dt{color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase}.colophon dd{margin:var(--space-2xs) 0 0;max-width:42ch;line-height:1.55}.colophon__close{margin-top:var(--space-lg);padding-top:var(--space-sm);border-top:var(--rule-hair);font-style:italic}@media (width<=60rem){.landing-map{gap:var(--space-xl);padding-top:var(--space-xl);grid-template-columns:minmax(0,1fr)}.landing-map__figure{order:-1;width:min(100%,30rem);margin-inline:auto}}@media (width<=40rem){.masthead,.landing-map,.landing-chain,.landing-closing,.colophon{padding-inline:var(--space-md)}.masthead__strap{gap:var(--space-3xs);flex-direction:column}.masthead__nav{gap:var(--space-md);flex-wrap:wrap}.landing-map__actions{align-items:stretch;gap:var(--space-sm);flex-direction:column}.masthead__nav a,.masthead__nav button,.landing-map__actions>a{justify-content:center;min-height:44px}.landing-action{justify-content:center}.landing-map__actions>a{text-align:center}.landing-closing{flex-direction:column;align-items:flex-start}}.mobile-topbar{display:none}.mobile-topbar__actions{align-items:center;gap:var(--space-2xs);display:flex}.mobile-menu{position:relative}.mobile-menu__panel{z-index:60;gap:var(--space-2xs);width:230px;padding:var(--space-xs);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-raised);display:grid;position:absolute;top:calc(100% + 8px);right:0}.mobile-menu__panel .sidebar-guide{min-height:44px;font-size:12px}.app-main{min-width:0}.page{width:min(1240px,100%);min-height:100dvh;padding:var(--space-xl) var(--space-xl) var(--space-3xl);margin:0 auto}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-lg);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:var(--rule-ink);display:flex}.page-header h1{font-size:var(--text-2xl);font-weight:600}.eyebrow{color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500;line-height:1.2}.page-subtitle{max-width:62ch;margin-top:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);line-height:1.55}.day-hero{align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border:0;border-bottom:var(--rule-ink);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);display:grid;overflow:visible}.day-hero__content{z-index:var(--z-base);flex-direction:column;justify-content:center;min-width:0;padding:0;display:flex}.day-hero h1{margin-top:var(--space-2xs);font-size:var(--text-display-s);letter-spacing:-.028em;font-weight:600;line-height:1}.day-hero .page-subtitle{max-width:44ch;line-height:1.55}.day-hero__actions{align-items:center;gap:var(--space-md);margin-top:var(--space-md);display:flex}.day-hero__actions .header-stat{justify-items:start}.day-hero__art{place-items:center;min-width:0;display:grid;position:relative}.day-glance{width:min(100%,190px);height:auto;display:block}.day-glance__arc{stroke:var(--color-paper);stroke-width:3px}.day-hero--compact .day-hero__content{padding-block:0}.time-readout{align-items:baseline;gap:var(--space-xs);width:fit-content;margin-top:var(--space-md);padding:var(--space-2xs) 0 0;border:0;border-top:var(--rule-strong);color:var(--color-ink);background:0 0;border-radius:0;display:inline-flex}.time-readout>svg{display:none}.time-readout span{font-size:var(--text-md);font-weight:500;line-height:1}.time-readout small{color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase}.summary-strip{margin-bottom:var(--space-lg);border:0;border-bottom:var(--rule-hair);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.summary-strip>div{justify-content:flex-start;align-items:baseline;gap:var(--space-xs);min-width:0;padding:var(--space-sm) var(--space-md) var(--space-sm) 0;color:var(--color-muted);font-size:var(--text-sm);display:flex}.summary-strip>div+div{padding-left:var(--space-md);border-left:0}.summary-strip svg{color:var(--teal);padding:var(--space-2xs);border-radius:var(--radius-md);background:var(--teal-soft);flex:none;width:28px;height:28px}.summary-strip strong{color:var(--ink)}.today-grid{gap:var(--space-md);grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);display:grid}.focus-workspace{align-content:start;gap:var(--space-md);min-width:0;display:grid}.today-loading{gap:var(--space-sm);min-height:330px;padding:var(--space-lg);align-content:center;display:grid}.today-loading span{border-radius:var(--radius-xs);background:var(--canvas-deep);width:min(540px,100%);height:14px;display:block}.today-loading span:first-child{background:var(--color-paper-4);width:min(260px,70%);height:28px}.today-loading span:last-child{width:min(380px,85%)}.focus-panel{min-height:320px;padding:var(--space-lg);border-radius:var(--radius-md);background:var(--color-accent-deep);color:var(--color-accent-ink);box-shadow:none;border:0;flex-direction:column;display:flex;position:relative;overflow:hidden}.focus-panel__topline{align-items:center;gap:var(--space-xs);color:var(--color-accent-rule);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500;display:flex}.status-dot{background:var(--color-accent-ink);width:6px;height:6px;box-shadow:none;border-radius:0}.focus-panel h2{max-width:22ch;margin-top:var(--space-lg);font-size:var(--text-xl);font-weight:600;line-height:1.08}.focus-panel__time{margin-top:var(--space-xs);color:var(--color-accent-rule);font-size:var(--text-sm)}.goal-tags{gap:var(--space-xs);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.goal-tags span{align-items:center;gap:var(--space-xs);min-width:0;font-size:12px;display:inline-flex}.goal-tags i,.goal-picker i{border-radius:50%;flex:0 0 7px;width:7px;height:7px}.focus-panel__north-star{gap:var(--space-xs);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid oklch(94% .026 166/.22);display:grid}.focus-panel__north-star-label{align-items:center;gap:var(--space-xs);color:var(--color-accent-ink);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500;display:flex}.focus-panel__principle{gap:var(--space-2xs);display:grid}.focus-panel__principle strong{align-items:center;gap:var(--space-xs);font-size:12px;display:flex}.focus-panel__principle strong i{border-radius:50%;flex:0 0 7px;width:7px;height:7px}.focus-panel__principle ul{gap:var(--space-3xs);padding-left:var(--space-lg);margin:0;display:grid}.focus-panel__principle li,.focus-panel__principle>span{overflow-wrap:anywhere;color:var(--color-accent-rule);font-size:var(--text-xs);line-height:1.5}.focus-panel__principle>span{padding-left:var(--space-sm)}.focus-panel__timer{width:max-content;margin-top:var(--space-lg);color:var(--color-accent-ink);background:0 0;border-color:oklch(94% .026 166/.34)}.focus-panel__timer:hover{background:oklch(94% .026 166/.14)}.next-block{align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0 0;border-top:1px solid oklch(94% .026 166/.22);grid-template-columns:auto 1fr auto auto;margin-top:auto;display:grid}.next-block>span,.next-block small{color:var(--color-accent-rule);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase;font-weight:500}.next-block strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.surface{border:var(--rule-hair);border-radius:var(--radius-md);background:var(--color-paper);box-shadow:none}.task-focus{min-height:330px;padding:var(--space-lg)}.task-focus__actions{align-items:center;gap:var(--space-xs);display:flex}.task-focus__list{max-height:300px;margin-top:var(--space-sm);padding-right:var(--space-2xs);scrollbar-gutter:stable;overflow-y:auto}.task-focus__category-tasks{display:grid}.pomodoro-panel{margin-top:var(--space-md);overflow:hidden}.pomodoro-panel.is-active{border-color:var(--color-accent-rule)}.pomodoro-panel.is-ringing{border-color:var(--coral);box-shadow:0 12px 30px oklch(48% .095 168/.18)}.pomodoro-panel__toggle{align-items:center;gap:var(--space-sm);width:100%;min-height:76px;padding:var(--space-sm) var(--space-md);color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.pomodoro-panel__toggle:hover{background:var(--color-paper)}.pomodoro-panel__icon{border-radius:var(--radius-md);background:var(--teal-soft);width:38px;height:38px;color:var(--teal-dark);place-items:center;display:grid}.pomodoro-panel.is-active .pomodoro-panel__icon{background:var(--teal-dark);color:var(--color-accent-ink)}.pomodoro-panel__heading{gap:var(--space-3xs);display:grid}.pomodoro-panel__heading .eyebrow{font-size:12px}.pomodoro-panel__heading strong{font-size:16px}.pomodoro-panel__summary{align-items:baseline;gap:var(--space-xs);display:flex}.pomodoro-panel__summary span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.pomodoro-panel__summary strong,.pomodoro-clock output{font-variant-numeric:tabular-nums}.pomodoro-panel__summary strong{text-align:right;min-width:48px;font-size:14px}.pomodoro-panel__toggle>svg{color:var(--faint);transition:transform var(--dur-short) var(--ease-out)}.pomodoro-panel__toggle>svg.is-expanded{transform:rotate(180deg)}.pomodoro-panel__content{gap:var(--space-md);padding:var(--space-md);border-top:1px solid var(--line);grid-template-columns:minmax(230px,.7fr) minmax(320px,1.3fr);display:grid}.pomodoro-alarm{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger);border:1px solid oklch(48% .095 168/.3);grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.pomodoro-alarm>div{gap:var(--space-3xs);display:grid}.pomodoro-alarm strong,.pomodoro-alarm span{font-size:12px}.pomodoro-alarm-overlay{z-index:80;border-radius:var(--radius-md);width:min(430px,100vw - 40px);position:fixed;top:20px;right:20px;box-shadow:0 16px 38px oklch(33% .066 172/.24)}.pomodoro-clock{align-content:center;justify-items:center;gap:var(--space-xs);min-height:190px;padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--teal-dark);color:var(--color-accent-ink);text-align:center;display:grid}.pomodoro-clock--rest{background:var(--color-muted)}.pomodoro-clock>span{color:var(--color-accent-rule);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.pomodoro-clock output{font-family:inherit;font-size:clamp(38px,5vw,56px);font-weight:800;line-height:1}.pomodoro-clock small{color:var(--color-accent-rule);font-size:12px}.pomodoro-setup{align-content:start;gap:var(--space-sm);display:grid}.pomodoro-mode{padding:var(--space-3xs);border-radius:var(--radius-md);background:var(--canvas-deep);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pomodoro-mode button{border-radius:var(--radius-md);min-height:44px;color:var(--muted);background:0 0;border:0;font-size:12px;font-weight:800}.pomodoro-mode button.is-selected{background:var(--color-paper);color:var(--teal-dark);box-shadow:0 2px 8px oklch(38% .016 110/.08)}.pomodoro-mode button:disabled,.pomodoro-durations input:disabled,.pomodoro-block-toggle input:disabled{cursor:not-allowed;opacity:.66}.pomodoro-durations{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pomodoro-durations label{gap:var(--space-2xs);color:var(--muted);font-size:12px;font-weight:800;display:grid}.pomodoro-durations input{width:100%;height:44px;padding:0 var(--space-sm);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--color-paper);color:var(--ink);font-size:12px}.pomodoro-block-toggle{align-items:flex-start;gap:var(--space-xs);padding:var(--space-sm);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--color-paper);cursor:pointer;display:flex}.pomodoro-block-toggle input{width:16px;height:16px;margin:var(--space-3xs) 0 0;accent-color:var(--teal);flex:0 0 16px}.pomodoro-block-toggle>span{gap:var(--space-3xs);display:grid}.pomodoro-block-toggle strong{font-size:12px}.pomodoro-block-toggle small{color:var(--muted);font-size:12px;line-height:1.4}.pomodoro-controls{gap:var(--space-xs);flex-wrap:wrap;grid-column:2;display:flex}.pomodoro-controls .button{min-width:96px}.pomodoro-notice{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);background:var(--teal-soft);color:var(--teal-dark);grid-column:1/-1;font-size:12px;font-weight:700}@media (width<=640px){.pomodoro-panel__toggle{min-height:68px;padding:var(--space-sm) var(--space-sm);grid-template-columns:auto minmax(0,1fr) auto}.pomodoro-panel__summary{display:none}.pomodoro-panel__content{padding:var(--space-sm);grid-template-columns:1fr}.pomodoro-clock{min-height:170px}.pomodoro-alarm{grid-template-columns:auto minmax(0,1fr)}.pomodoro-alarm .button{grid-column:1/-1}.pomodoro-alarm-overlay{width:calc(100vw - 28px);top:76px;right:14px}.pomodoro-controls{grid-column:1}.pomodoro-controls .button{flex:90px;min-width:0}}.section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-md);padding-bottom:var(--space-xs);border-bottom:var(--rule-hair);display:flex}.section-heading h2{font-size:var(--text-md);font-weight:600;line-height:1.2}.count-badge{min-width:0;height:auto;color:var(--color-neutral);font-size:var(--text-sm);background:0 0;border-radius:0;padding:0;font-weight:500;display:inline-block}.task-list{margin-top:var(--space-sm)}.task-row{align-items:center;gap:var(--space-sm);min-height:56px;padding:var(--space-xs) var(--space-sm);display:flex}.task-row+.task-row{border-top:1px solid var(--color-paper-2)}.task-row:hover{background:var(--color-paper-2)}.task-row.is-compact{min-height:48px;padding-right:var(--space-2xs);padding-left:var(--space-2xs)}.task-row__toggle{width:44px;height:44px;color:var(--color-neutral);background:0 0;border:0;border-radius:50%;flex:0 0 44px;place-items:center;padding:0;display:grid}.task-row__toggle:hover{color:var(--teal)}.task-row.is-complete .task-row__toggle{color:var(--color-accent);background:0 0}.task-row__content{gap:var(--space-2xs);flex:1;min-width:0;display:grid}.task-row__title{overflow-wrap:anywhere;font-size:13px;font-weight:650;line-height:1.35}.task-row.is-complete .task-row__title{color:var(--faint);text-decoration:line-through}.task-row__meta{align-items:center;gap:var(--space-xs);color:var(--faint);flex-wrap:wrap;font-size:12px;display:flex}.inline-meta{align-items:center;gap:var(--space-2xs);display:inline-flex}.task-row__actions{align-items:center;gap:var(--space-3xs);flex:none;display:flex}.task-row__action{opacity:0;flex-basis:32px;width:32px;height:32px}.task-row:hover .task-row__action,.task-row__action:focus-visible{opacity:1}.empty-state{justify-content:center;align-items:center;gap:var(--space-xs);min-height:120px;color:var(--faint);text-align:center;font-size:13px;display:flex}.button,.icon-button{border-radius:var(--radius-md);justify-content:center;align-items:center;font-weight:750;display:inline-flex}.button{gap:var(--space-xs);min-height:44px;padding:0 var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:nowrap;border:1px solid #0000;font-weight:500}.button:disabled{cursor:not-allowed;opacity:.4}.button--primary{background:var(--color-accent-deep);color:var(--color-accent-ink);box-shadow:none}.button--primary:hover:not(:disabled){background:var(--color-accent)}.button--secondary{border-color:var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink)}.button--secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.button--ghost{color:var(--color-muted);background:0 0}.button--ghost:hover:not(:disabled){color:var(--color-ink)}.button--danger{border-color:var(--color-danger);color:var(--color-danger);background:0 0}.button--danger:hover:not(:disabled){background:var(--color-danger);color:var(--color-accent-ink)}.icon-button{border:var(--rule-hair);border-radius:var(--radius-sm);background:var(--color-paper);flex:0 0 44px;width:44px;height:44px;padding:0}.icon-button:disabled{cursor:default;opacity:.3}.icon-button--quiet{color:var(--color-muted);background:0 0;border-color:#0000}.icon-button--quiet:hover{background:var(--color-paper-2);color:var(--color-ink)}.icon-button--accent{border-color:var(--color-accent-deep);background:var(--color-accent-deep);color:var(--color-accent-ink)}.header-stat{justify-items:end;display:grid}.header-stat strong{font-size:var(--text-xl);font-weight:500;line-height:1}.header-stat span{margin-top:var(--space-2xs);color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase}.goal-grid{align-items:start;gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(min(100%,34rem),1fr));display:grid}.goal-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);position:relative;overflow:hidden;box-shadow:0 5px 18px oklch(33% .066 172/.06)}.goal-card__stripe{width:4px;position:absolute;inset:0 auto 0 0}.goal-card__header{align-items:center;gap:var(--space-sm);width:100%;min-height:84px;padding:var(--space-md) var(--space-md) var(--space-md) 20px;text-align:left;background:0 0;border:0;grid-template-columns:auto 1fr auto;display:grid}.goal-card__header:hover{background:var(--color-paper-2)}.goal-card__icon{border-radius:var(--radius-md);background:var(--canvas);place-items:center;width:36px;height:36px;display:grid}.goal-card__header>span:nth-child(2){gap:var(--space-2xs);min-width:0;display:grid}.goal-card__header small{color:var(--faint);text-transform:uppercase;font-size:12px;font-weight:800}.goal-card__header strong{overflow-wrap:anywhere;font-size:15px}.goal-card__chevron{color:var(--faint);transition:transform var(--dur-short) var(--ease-out)}.goal-card.is-expanded .goal-card__chevron{transform:rotate(180deg)}.goal-card__body{gap:var(--space-lg);padding:var(--space-3xs) var(--space-md) 20px 20px;border-top:1px solid var(--color-paper-2);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);display:grid}.goal-card__body>div{padding-top:var(--space-md)}.goal-card__body h3{color:var(--muted);text-transform:uppercase;font-size:12px}.goal-card__body ul{gap:var(--space-xs);margin:var(--space-xs) 0 0;padding:0 0 0 var(--space-md);color:var(--muted);font-size:12px;line-height:1.45;display:grid}.goal-card__body .goal-card__milestones{gap:var(--space-2xs);padding:0;list-style:none}.goal-card__milestones li{align-items:start;gap:var(--space-2xs);min-height:32px;padding:var(--space-3xs) var(--space-2xs) var(--space-3xs) var(--space-xs);border-radius:var(--radius-sm);border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;display:grid}.milestone-check{align-items:flex-start;gap:var(--space-xs);cursor:pointer;min-width:0;display:flex}.milestone-check input{width:15px;height:15px;margin:var(--space-3xs) 0 0;accent-color:var(--teal);flex:0 0 15px}.milestone-check span{overflow-wrap:break-word;word-break:normal;min-width:0}.goal-card__milestones li.is-complete .milestone-check span{color:var(--faint);text-decoration:line-through}.milestone-actions{align-items:center;gap:var(--space-3xs);display:flex}.milestone-actions .icon-button,.milestone-drag-handle{flex:0 0 44px;width:44px;height:44px}.milestone-drag-handle{color:var(--faint);cursor:grab;background:0 0;border:0;place-items:center;padding:0;display:grid}.milestone-drag-handle:active{cursor:grabbing}.goal-card__empty{margin-top:var(--space-xs);color:var(--faint);font-size:12px}.goal-card__body .goal-card__actions{padding-top:var(--space-sm);border-top:1px solid var(--color-paper-2);grid-column:1/-1;justify-content:flex-end;display:flex}.modal-backdrop{z-index:100;padding:var(--space-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:oklch(21% .016 120/.48);place-items:center;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--paper);width:min(540px,100%);max-height:min(720px,92dvh);overflow:auto;box-shadow:0 24px 70px oklch(21% .016 120/.22)}.modal__header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) 20px;border-bottom:1px solid var(--line);display:flex}.modal__header h2{font-size:18px}.form{gap:var(--space-md);padding:var(--space-lg);display:grid}.form label,.form legend,.task-composer__details label{color:var(--muted);font-size:12px;font-weight:750}.form label,.task-composer__details label{gap:var(--space-xs);display:grid}.form input,.form select,.form textarea,.task-composer input,.task-composer select{width:100%;height:44px;padding:0 var(--space-sm);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--color-paper);color:var(--ink);font-size:var(--text-sm)}.form textarea{height:auto;min-height:110px;padding:var(--space-xs) var(--space-sm);resize:vertical;line-height:1.45}.form input::placeholder,.form textarea::placeholder,.task-composer input::placeholder{color:var(--color-neutral)}.form fieldset{border:0;min-width:0;margin:0;padding:0}.form legend{margin-bottom:var(--space-xs)}.form-grid{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.task-composer__field{gap:var(--space-xs);display:grid}.form-actions{justify-content:flex-end;gap:var(--space-xs);padding-top:var(--space-2xs);display:flex}.form-actions__danger{margin-right:auto}.form-warning,.form-error{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);font-size:12px;line-height:1.45}.form-warning{border:1px solid var(--color-warn-rule);background:var(--color-warn-soft);color:var(--color-warn)}.form-error{border:1px solid var(--color-danger-rule);background:var(--color-danger-soft);color:var(--color-danger)}.optional{color:var(--faint);font-size:12px;font-weight:500}.plan-starter{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:1px solid var(--color-paper-3);border-radius:var(--radius-lg);background:var(--color-paper-2);display:flex}.plan-starter>div>span{align-items:center;gap:var(--space-2xs);color:var(--teal-dark);font-size:12px;font-weight:800;display:flex}.plan-starter p{margin-top:var(--space-2xs);color:var(--muted);font-size:12px;line-height:1.4}.task-composer{margin-bottom:var(--space-lg);scroll-margin-top:72px}.task-composer__main{align-items:center;gap:var(--space-xs);padding:var(--space-sm);display:flex}.task-composer__main>input{height:44px;padding:0 var(--space-2xs);background:0 0;border:0;outline:0;flex:1;font-size:14px}.task-composer__details{gap:var(--space-md);padding:var(--space-md);border-top:1px solid var(--line);background:var(--color-paper);display:grid}.category-picker{position:relative}.category-picker>svg{z-index:1;color:var(--faint);pointer-events:none;position:absolute;top:14px;left:12px}.task-composer .category-picker>input{padding-left:36px;padding-right:34px}.category-picker__options{z-index:20;max-height:220px;padding:var(--space-2xs);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--paper);display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 30px oklch(33% .066 172/.14)}.category-picker__options button{align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-xs);border-radius:var(--radius-md);color:var(--ink);text-align:left;font-size:12px;display:flex}.category-picker__options button small{color:var(--faint);text-transform:uppercase;margin-left:auto;font-size:12px;font-weight:700}.category-picker__options button:hover,.category-picker__options button[aria-selected=true]{background:var(--teal-soft);color:var(--teal-dark)}.recurrence-control{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:44px;display:flex}.switch-label{cursor:pointer;flex:none;align-items:center;gap:var(--space-xs)!important;grid-template-columns:none!important;display:inline-flex!important}.switch-label input{opacity:0;width:1px;height:1px;position:absolute}.switch{border-radius:var(--radius-md);background:var(--color-rule);width:34px;height:20px;position:relative}.switch:after{background:var(--color-paper);content:"";width:14px;height:14px;transition:transform var(--dur-micro) var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.switch-label input:checked+.switch{background:var(--teal)}.switch-label input:checked+.switch:after{transform:translate(14px)}.day-picker{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.day-picker button{border:1px solid var(--line-strong);background:var(--color-paper);width:34px;height:34px;color:var(--muted);border-radius:50%;place-items:center;padding:0;font-size:12px;font-weight:750;display:grid}.day-picker button span{display:none}.day-picker button.is-selected{border-color:var(--teal-dark);background:var(--teal-dark);color:var(--color-accent-ink)}.day-picker--wide{justify-content:space-between}.day-picker--wide button{border-radius:var(--radius-sm);width:auto;min-width:48px;height:44px;font-size:var(--text-sm);flex:48px}.task-groups{gap:var(--space-md);display:grid}.task-archive{margin-top:var(--space-lg);overflow:hidden}.task-archive__toggle{align-items:center;gap:var(--space-sm);width:100%;min-height:72px;padding:var(--space-sm) var(--space-md);color:var(--ink);text-align:left;background:0 0;border:0;display:flex}.task-archive__toggle:hover{background:var(--color-paper)}.task-archive__icon{border-radius:var(--radius-md);background:var(--canvas);width:38px;height:38px;color:var(--muted);flex:0 0 38px;place-items:center;display:grid}.task-archive__heading{gap:var(--space-3xs);flex:1;min-width:0;display:grid}.task-archive__heading strong{font-size:15px}.task-archive__heading small{color:var(--muted);font-size:12px}.task-archive__count{min-width:30px;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-lg);background:var(--canvas);color:var(--muted);text-align:center;font-size:12px;font-weight:800}.task-archive__toggle>svg{color:var(--faint);transition:transform var(--dur-short) var(--ease-out)}.task-archive__toggle>svg.is-expanded{transform:rotate(180deg)}.task-archive__content{gap:var(--space-md);padding:var(--space-md);border-top:1px solid var(--line);display:grid}.task-archive__goal{gap:var(--space-xs);display:grid}.task-archive__goal-header{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-left:3px solid #0000;display:flex}.task-archive__goal-header h2{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px}.task-archive__goal-header>span:last-child{color:var(--faint);font-size:12px}.task-archive__goal .task-list{padding:var(--space-3xs) var(--space-xs);margin-top:0}.task-archive__empty{padding:var(--space-lg) var(--space-sm);color:var(--faint);text-align:center;font-size:12px}.task-archive__pagination{justify-content:center;align-items:center;gap:var(--space-sm);padding-top:var(--space-2xs);display:flex}.task-archive__pagination>span{color:var(--muted);font-size:12px;font-weight:700}.task-group__header{align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-xs);padding:var(--space-xs) 0;border:0;border-bottom:var(--rule-ink);box-shadow:none;transition:border-color var(--dur-short) var(--ease-out);background:0 0;border-radius:0;display:flex}.task-group__header:hover,.task-group__header:focus-within{box-shadow:0 10px 26px oklch(38% .016 110/.1)}.task-group__header .goal-dot{flex:0 0 10px;width:10px;height:10px;box-shadow:0 0 0 4px oklch(38% .016 110/.06)}.task-group__details{align-items:flex-start;gap:var(--space-2xs);flex-direction:column;flex:1;min-width:0;display:flex}.task-group__header h2{overflow-wrap:anywhere;min-width:0;font-size:15px;line-height:1.25}.task-group__toggle{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);background:oklch(98.5% .01 78/.72);border-radius:50%;flex:0 0 36px;justify-content:center;align-items:center;display:inline-flex}.task-group__toggle:hover{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark)}.task-group__toggle:focus-visible{outline-color:oklch(50.5% .016 72/.32);box-shadow:0 0 0 3px oklch(50.5% .016 72/.1)}.task-group__toggle svg{transition:transform var(--dur-short) var(--ease-out)}.task-group.is-collapsed .task-group__toggle svg{transform:rotate(-90deg)}.task-group.is-collapsed .task-group__header{margin-bottom:0}.task-group__count{align-items:baseline;gap:var(--space-2xs);width:max-content;color:var(--color-neutral);font-size:var(--text-xs);background:0 0;border:0;border-radius:0;padding:0;line-height:1;display:inline-flex}.task-group__count strong{color:var(--ink);font-size:12px}.task-group__add{min-height:44px;padding-inline:var(--space-sm)}.task-section-actions{align-items:center;gap:var(--space-2xs);flex:none;display:inline-flex}.task-section-add,.task-section-action{align-items:center;gap:var(--space-2xs);min-height:44px;padding:0 var(--space-xs);border:1px solid var(--color-accent-rule);border-radius:var(--radius-lg);background:var(--color-accent-soft);color:var(--teal-dark);flex:none;font-size:12px;font-weight:800;display:inline-flex}.task-section-add:hover:not(:disabled),.task-section-action:hover:not(:disabled){border-color:var(--teal);background:var(--teal-soft)}.task-section-action{border-color:var(--line);color:var(--muted);background:0 0}.task-section-action:disabled{cursor:not-allowed;opacity:.4}.goal-dot{border-radius:50%;flex:0 0 9px;width:9px;height:9px}.task-group .task-list{padding:var(--space-3xs) var(--space-xs);margin-top:0}.task-category+.task-category{border-top:1px solid var(--line)}.task-category__header{align-items:center;gap:var(--space-xs);min-height:44px;padding:var(--space-xs) var(--space-2xs) var(--space-2xs);display:flex}.task-category__header h3{overflow-wrap:anywhere;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.task-category__header>span{color:var(--faint);margin-left:auto;font-size:12px}.task-group__empty{padding:20px var(--space-sm);color:var(--faint);text-align:center;font-size:12px}.task-group .task-composer--contextual{margin:var(--space-xs) 0 var(--space-sm)}.task-category .task-composer--contextual{margin:var(--space-2xs) var(--space-2xs) var(--space-xs)}.empty-page{padding:var(--space-2xl) var(--space-lg);color:var(--faint);text-align:center}.routine-page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-lg);margin-bottom:var(--space-md);padding:var(--space-2xs) var(--space-3xs);display:flex}.routine-page-header h1{margin-top:var(--space-2xs);font-size:clamp(36px,4.2vw,50px);line-height:1.05}.routine-page-header .page-subtitle{font-size:var(--text-base)}.routine-feedback{margin-bottom:var(--space-sm);padding:var(--space-xs) var(--space-sm);border:var(--rule-accent);border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-accent-deep);font-size:var(--text-sm);line-height:1.45}.routine-mode-switch{gap:var(--space-lg);margin-bottom:var(--space-sm);border:0;border-bottom:var(--rule-ink);background:0 0;border-radius:0;padding:0;display:inline-flex}.routine-mode-switch button{min-height:44px;color:var(--color-muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0;font-size:15px;font-weight:500}.routine-mode-switch button:hover{color:var(--color-ink)}.routine-mode-switch button.is-selected{margin-bottom:-var(--space-3xs);border-bottom-color:var(--color-accent);color:var(--color-accent);box-shadow:none;background:0 0}.routine-layout{gap:var(--space-sm);align-items:start;display:grid}.routine-layout.is-templates{grid-template-columns:220px minmax(0,1fr)}.routine-library{overflow:hidden}.routine-library>header{padding:var(--space-md) var(--space-md) var(--space-sm);border-bottom:1px solid var(--line);background:var(--color-paper-2);justify-content:space-between;align-items:center;display:flex}.routine-library>header h2{margin-top:var(--space-3xs);font-size:16px}.routine-library>header>span{background:var(--teal-soft);width:28px;height:28px;color:var(--teal-dark);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.routine-library__list{gap:var(--space-2xs);padding:var(--space-xs);display:grid}.routine-library__list>button{gap:var(--space-2xs);min-width:0;padding:var(--space-sm);border-radius:var(--radius-md);color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;display:grid}.routine-library__list>button:hover{border-color:var(--line);background:var(--color-paper-2)}.routine-library__list>button.is-selected{border-color:var(--color-accent-rule);background:var(--teal-soft);color:var(--teal-dark);box-shadow:inset 3px 0 0 var(--teal)}.routine-library__list strong{color:var(--ink);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.routine-library__list span,.routine-library__list small{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.routine-library__list small{color:var(--faint)}.routine-library__list>p{padding:20px var(--space-sm);color:var(--faint);font-size:12px;line-height:1.5}.routine-workspace{grid-template-columns:minmax(360px,520px) minmax(320px,1fr);grid-template-areas:"header header""dial blocks";align-items:start;display:grid;overflow:hidden}.routine-dial{padding:var(--space-lg) var(--space-lg) var(--space-md);border-right:var(--rule-hair);background:var(--color-paper);color:var(--color-ink);grid-area:dial}.routine-dial__face{aspect-ratio:1;width:100%;max-width:520px;margin:0 auto;position:relative}.routine-dial svg{width:100%;height:100%;display:block;overflow:visible}.routine-dial__outer{fill:none;stroke:var(--color-rule);stroke-width:1px}.routine-dial__track{fill:none;stroke:var(--color-paper-2);stroke-width:66px}.routine-dial__tick{stroke:var(--color-rule-strong);stroke-linecap:butt;stroke-width:1px}.routine-dial__tick.is-quarter{stroke:var(--color-neutral);stroke-width:1px}.routine-dial__tick.is-cardinal{stroke:var(--color-ink);stroke-width:1.5px}.routine-dial__gap,.routine-dial__arc{cursor:pointer;transition:opacity var(--dur-micro) var(--ease-out)}.routine-dial__gap{fill:var(--color-paper-3);stroke:var(--color-rule-strong);stroke-dasharray:3 4;stroke-width:1px}.routine-dial__gap:hover,.routine-dial__gap:focus-visible{fill:var(--color-accent-soft);stroke:var(--color-accent);outline:none}.routine-dial__arc{stroke:var(--color-paper);stroke-width:1.5px}.routine-dial__arc:hover{opacity:.82}.routine-dial__arc:focus-visible{stroke:var(--color-ink);stroke-width:3px;outline:none}.routine-dial__arc-label{fill:var(--color-paper);stroke:var(--color-ink);stroke-width:3px;stroke-linejoin:round;paint-order:stroke fill;font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:0;pointer-events:none;font-weight:600}.routine-dial__hub-backdrop{fill:var(--color-paper);stroke:var(--color-rule);stroke-width:1px}.routine-dial__hand line{stroke:var(--color-ink);stroke-linecap:butt;stroke-width:1.5px}.routine-dial__hand circle{fill:var(--color-accent)}.routine-dial__hour{fill:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:500}.routine-dial__hub{width:52%;height:52%;color:var(--color-ink);pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:6%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.routine-dial__goals{gap:var(--space-2xs);width:86%;display:grid}.routine-dial__goals>div{justify-content:space-between;align-items:baseline;gap:var(--space-xs);min-width:0;padding-bottom:var(--space-3xs);border-bottom:var(--rule-hair);font-size:var(--text-sm);display:flex}.routine-dial__goals span{align-items:center;gap:var(--space-2xs);min-width:0;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;display:flex;overflow:hidden}.routine-dial__goals i{border-radius:0;flex:0 0 6px;width:6px;height:6px}.routine-dial__goals strong{color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:500}.routine-dial__goals p{color:var(--color-neutral);font-size:var(--text-sm);font-style:italic}.routine-dial__hint{max-width:46ch;margin-top:var(--space-xs);padding:0 var(--space-sm);color:var(--color-neutral);font-size:var(--text-sm);text-align:center;margin-left:auto;margin-right:auto;font-style:italic;line-height:1.5}.routine-dial__subtitle{margin-bottom:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm);text-align:center}.routine-block-list{background:var(--paper);grid-area:blocks;min-width:0}.routine-block-list__header{justify-content:space-between;align-items:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg) var(--space-xs);display:flex}.routine-block-list__header h3{margin-top:var(--space-3xs);font-size:16px}.routine-block-list__header>span{color:var(--faint);font-size:var(--text-sm)}.routine-workspace__header{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:20px var(--space-lg);border-bottom:1px solid var(--line);background:var(--color-paper-2);grid-area:header;display:flex}.routine-workspace__header h2{font-size:var(--text-md)}.routine-workspace__actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;justify-content:flex-end;display:flex;position:relative}.routine-actions-menu{position:relative}.routine-actions-menu summary{cursor:pointer;list-style:none}.routine-actions-menu summary::-webkit-details-marker{display:none}.routine-actions-menu__panel{z-index:20;gap:var(--space-2xs);width:230px;padding:var(--space-xs);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-raised);display:grid;position:absolute;top:calc(100% + 7px);right:0}.routine-actions-menu__panel .sidebar-guide{min-height:44px;font-size:var(--text-sm)}.today-routine-control{align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);grid-template-columns:minmax(180px,1fr) minmax(220px,300px) auto;display:grid}.today-routine-control label{gap:var(--space-2xs);color:var(--muted);font-size:var(--text-sm);font-weight:700;display:grid}.today-routine-control select{min-width:0;height:44px;padding:0 34px 0 var(--space-sm);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--paper);color:var(--ink);font-size:var(--text-sm);font-weight:600}.today-routine-source{gap:var(--space-3xs);display:grid}.today-routine-source>span{color:var(--color-muted);font-size:var(--text-sm)}.today-routine-source>strong{font-family:var(--font-display);font-size:var(--text-md);font-weight:600}.today-routine-source>small{max-width:48ch;color:var(--color-muted);font-size:var(--text-sm);line-height:1.4}.today-routine-template-link{align-self:end}.timeline{padding:var(--space-xs) var(--space-lg) var(--space-md);position:relative}.timeline:before{background:var(--line);content:"";width:1px;position:absolute;top:28px;bottom:30px;left:117px}.timeline.is-empty:before{display:none}.timeline-item{z-index:1;gap:var(--space-sm);min-height:86px;padding:var(--space-md) 0;border-radius:var(--radius-md);background:var(--paper);touch-action:pan-y;transition:transform var(--dur-short) var(--ease-out);-webkit-user-select:none;user-select:none;grid-template-columns:72px 14px minmax(0,1fr);display:grid;position:relative}.timeline-item:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.timeline-item.is-swiping{cursor:grabbing;transition:none}.timeline-swipe-shell{border-radius:var(--radius-md);position:relative;overflow:clip}.timeline-item__delete-reveal{justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-sm) 0 0 7px;background:var(--color-danger-soft);width:122px;color:var(--color-danger);letter-spacing:.04em;text-transform:uppercase;transition:background var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out);font-size:12px;font-weight:800;display:flex;position:absolute;top:8px;bottom:8px;left:0}.timeline-item__delete-reveal.is-ready{background:var(--color-danger);color:var(--color-accent-ink)}.timeline-gap{z-index:2;align-items:center;gap:var(--space-3xs) var(--space-sm);width:calc(100% - 100px);min-height:54px;margin:var(--space-2xs) 0 var(--space-2xs) 100px;padding:var(--space-xs) var(--space-sm);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--muted);text-align:left;transition:border-color var(--dur-micro) var(--ease-out), background var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out);background:oklch(93.2% .019 74/.42);grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.timeline-gap:hover,.timeline-gap:focus-visible{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark);outline:none}.timeline-gap>span{align-items:center;gap:var(--space-2xs);color:var(--teal-dark);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;font-weight:800;display:inline-flex}.timeline-gap strong{font-size:var(--text-sm);font-variant-numeric:tabular-nums;grid-column:1}.timeline-gap small{color:var(--faint);grid-area:1/2/span 2;font-size:13px}.timeline-item time{align-content:start;justify-items:end;gap:var(--space-3xs);font-variant-numeric:tabular-nums;display:grid}.timeline-item time strong{font-size:var(--text-sm)}.timeline-item time span{color:var(--faint);font-size:13px}.timeline-item__marker{z-index:1;width:12px;height:12px;margin-top:var(--space-3xs);border:3px solid var(--color-paper);box-shadow:0 0 0 1px var(--line-strong);border-radius:50%}.timeline-item__content{min-width:0}.timeline-item__content>div:first-child{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.timeline-item__content h3{overflow-wrap:anywhere;font-size:var(--text-base);font-weight:600;line-height:1.4}.timeline-item__tools{align-items:center;gap:var(--space-2xs);flex:none;display:flex}.timeline-item__content>div:first-child span{align-items:center;gap:var(--space-2xs);color:var(--faint);flex:none;font-size:13px;display:inline-flex}.goal-tags{margin-top:var(--space-xs)}.goal-tags span{padding:var(--space-2xs) var(--space-xs);border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--muted);font-size:13px}.routine-goal-summary{margin:var(--space-3xs) var(--space-lg) var(--space-lg) 122px;padding-top:var(--space-md);border-top:1px solid var(--line)}.routine-goal-summary>header{justify-content:space-between;align-items:end;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.routine-goal-summary h3{margin-top:var(--space-3xs);font-family:var(--font-display);font-size:18px}.routine-goal-summary>header>span{color:var(--faint);font-size:var(--text-sm)}.routine-goal-summary__list{gap:var(--space-xs);display:grid}.routine-goal-summary__row{align-items:center;gap:var(--space-xs);grid-template-columns:8px minmax(108px,.8fr) minmax(80px,1fr) 4rem;min-width:0;display:grid}.routine-goal-summary__row>i{border-radius:50%;width:8px;height:8px}.routine-goal-summary__row>strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.routine-goal-summary__row>span{color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:750}.routine-goal-summary__track{border-radius:var(--radius-lg);background:var(--canvas-deep);height:6px;overflow:hidden}.routine-goal-summary__track span{border-radius:inherit;height:100%;display:block}.routine-goal-summary__empty{color:var(--faint);font-size:var(--text-sm)}.goal-picker{gap:var(--space-xs);flex-wrap:wrap;display:flex}.goal-picker button{align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-xs);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--muted);font-size:var(--text-sm);display:inline-flex}.goal-picker button.is-selected{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark);font-weight:750}.goal-picker button.is-selected svg{margin-left:var(--space-3xs)}.onboarding-backdrop{z-index:200;padding:var(--space-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:oklch(21% .016 120/.55);place-items:center;display:grid;position:fixed;inset:0}.onboarding{border-radius:var(--radius-lg);background:var(--paper);width:min(680px,100%);max-height:92dvh;box-shadow:var(--shadow-raised);border:1px solid oklch(98.5% .01 78/.3);position:relative;overflow-y:auto}.onboarding-backdrop:has(.onboarding--guided){-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:oklch(21% .016 120/.28);place-items:stretch end;padding:0}.onboarding--guided{border-radius:var(--radius-lg) 0 0 24px;width:min(560px,100%);height:100dvh;max-height:none}.onboarding--guided .onboarding__visual{height:120px}.onboarding__close{z-index:1;color:var(--teal-dark);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(98.5% .01 78/.9);border-color:oklch(38% .016 110/.16);position:absolute;top:14px;right:14px}.onboarding__close:hover{background:var(--paper)}.onboarding__visual{background:var(--color-paper-3);justify-content:center;align-items:center;height:190px;display:flex;position:relative;overflow:hidden}.onboarding__visual:after{content:"";background:linear-gradient(#0000,oklch(33% .066 172/.18));height:34%;position:absolute;bottom:0;left:0;right:0}.onboarding__image{object-fit:cover;object-position:center 62%}.onboarding__mark{z-index:2;border-radius:var(--radius-lg);width:58px;height:58px;color:var(--teal-dark);background:oklch(98.5% .01 78/.94);border:1px solid oklch(98.5% .01 78/.75);place-items:center;display:grid;position:absolute;bottom:18px;left:22px;box-shadow:0 12px 28px oklch(33% .066 172/.18)}.onboarding__content{padding:var(--space-lg) 30px var(--space-lg)}.onboarding__content h2{margin-top:var(--space-xs);font-size:26px;line-height:1.18}.onboarding__content>p:not(.eyebrow){margin-top:var(--space-sm);color:var(--muted);font-size:13px;line-height:1.6}.onboarding__stepper{gap:var(--space-2xs);padding:var(--space-sm) 20px;border-bottom:1px solid var(--line);background:var(--color-paper-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.onboarding__stepper>span{justify-content:center;align-items:center;gap:var(--space-2xs);min-width:0;color:var(--faint);font-size:12px;font-weight:800;display:flex}.onboarding__stepper i{border:1px solid var(--line-strong);background:var(--paper);border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-style:normal;display:grid}.onboarding__stepper>span.is-active{color:var(--ink)}.onboarding__stepper>span.is-active i{border-color:var(--coral);background:var(--coral);color:var(--color-accent-ink)}.onboarding__stepper>span.is-complete{color:var(--teal)}.onboarding__stepper>span.is-complete i{border-color:var(--teal);background:var(--teal);color:var(--color-accent-ink)}.onboarding__welcome{gap:var(--space-xs);margin-top:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.onboarding__welcome>div{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-sm);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--color-paper);color:var(--teal);display:flex}.onboarding__welcome span{gap:var(--space-3xs);color:var(--muted);font-size:12px;display:grid}.onboarding__welcome strong{color:var(--ink);font-size:12px}.onboarding__sample{gap:var(--space-xs);margin-top:var(--space-lg);padding:var(--space-sm);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--color-paper);display:grid}.onboarding__sample-date{align-items:center;gap:var(--space-xs);color:var(--teal);display:flex}.onboarding__sample-date span{gap:var(--space-3xs);display:grid}.onboarding__sample-date small,.onboarding__sample-focus small{color:var(--faint);text-transform:uppercase;font-size:12px;font-weight:800}.onboarding__sample-date strong{color:var(--ink);font-size:18px}.onboarding__sample-focus{gap:var(--space-2xs);padding:var(--space-sm);border-radius:var(--radius-lg);background:var(--teal-dark);color:var(--color-accent-ink);display:grid}.onboarding__sample-focus strong{font-size:18px}.onboarding__sample-focus span{color:var(--color-accent-rule);font-size:12px}.onboarding__sample-task{align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-sm);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font-weight:700;display:flex}.onboarding__sample>p{color:var(--muted);text-align:center;font-size:12px}.onboarding__form{gap:var(--space-sm);margin-top:var(--space-lg);display:grid}.onboarding__form label{gap:var(--space-2xs);color:var(--muted);font-size:12px;font-weight:800;display:grid}.onboarding__form input{width:100%;height:44px;padding:0 var(--space-sm);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--color-paper);color:var(--ink);font-size:13px}.onboarding__form input::placeholder{color:var(--color-neutral)}.onboarding__form-grid{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.onboarding__color-field{grid-template-columns:minmax(0,1fr) auto;align-items:center}.onboarding__color-field input{width:52px;padding:var(--space-2xs)}.onboarding__link-note{align-items:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);background:var(--teal-soft);color:var(--teal-dark);font-size:12px;display:flex}.onboarding__created{align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);padding:var(--space-md);border:1px solid var(--color-accent-rule);border-radius:var(--radius-md);background:var(--color-accent-soft);display:flex}.onboarding__created>span{background:var(--teal);width:30px;height:30px;color:var(--color-accent-ink);border-radius:50%;flex:0 0 30px;place-items:center;display:grid}.onboarding__created div{gap:var(--space-3xs);display:grid}.onboarding__created small{color:var(--muted);line-height:1.4}.onboarding__connection{align-items:center;gap:var(--space-xs);margin-top:var(--space-lg);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);display:grid}.onboarding__connection>div{align-items:center;gap:var(--space-xs);min-width:0;padding:var(--space-sm);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--color-paper);color:var(--teal);display:flex}.onboarding__connection span{gap:var(--space-3xs);min-width:0;display:grid}.onboarding__connection small{color:var(--faint);font-size:12px}.onboarding__connection strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.onboarding__actions{justify-content:space-between;align-items:center;gap:var(--space-xs);padding:var(--space-md) 20px;border-top:1px solid var(--line);background:var(--color-paper-2);flex-wrap:wrap;display:flex}.mobile-nav{display:none}.undo-toast,.recovery-notice{z-index:70;align-items:center;gap:var(--space-sm);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-raised);color:var(--ink);font-size:12px;display:flex;position:fixed}.undo-toast{padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-sm);bottom:28px;right:28px}.recovery-notice{max-width:440px;padding:var(--space-sm) var(--space-sm) var(--space-sm) var(--space-md);top:24px;right:24px}.recovery-notice span{line-height:1.45}.sidebar-account>div{gap:var(--space-3xs);min-width:0;display:grid}.sync-status{align-items:center;gap:var(--space-2xs);width:68px;color:var(--faint);font-size:12px;font-weight:700;display:inline-flex}.sync-status--synced{color:var(--teal)}.sync-status--offline{color:var(--color-danger)}.sync-status--syncing svg{animation:.9s linear infinite sync-spin}@keyframes sync-spin{to{transform:rotate(360deg)}}.view-explainer{align-items:center;gap:var(--space-sm);margin:-var(--space-xs) 0 var(--space-lg);padding:var(--space-sm) var(--space-sm);border:1px solid var(--color-paper-4);border-radius:var(--radius-lg);background:var(--color-paper);color:var(--muted);grid-template-columns:auto minmax(0,1fr) auto auto;font-size:12px;line-height:1.5;display:grid}.view-explainer>svg{color:var(--amber)}.view-explainer__show{padding:var(--space-2xs);color:var(--teal-dark);background:0 0;border:0;font-size:12px;font-weight:800}.list-editor{gap:var(--space-xs);display:grid}.list-editor__row{gap:var(--space-xs);grid-template-columns:minmax(0,1fr) auto;display:grid}.list-editor__add{width:max-content;min-height:44px;padding:0 var(--space-xs)}.goal-color-field{align-items:center;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.goal-color-field>span{gap:var(--space-3xs);display:grid}.goal-color-field small{color:var(--faint);font-size:12px;font-weight:500;line-height:1.35}.goal-color-field input[type=color]{width:52px;height:44px;padding:var(--space-3xs);cursor:pointer}.empty-page--guided,.empty-state--guided{justify-content:center;align-items:center;gap:var(--space-xs);text-align:center;flex-direction:column;display:flex}.empty-page--guided strong,.empty-state--guided strong{color:var(--ink)}.empty-page--guided span,.empty-state--guided span{max-width:430px;color:var(--muted);line-height:1.45}.empty-page--guided .button,.empty-state--guided .button{margin-top:var(--space-2xs)}.focus-panel__cta{width:max-content;margin-top:var(--space-md)}.timeline-item[draggable=true]{cursor:grab}.timeline-item[draggable=true]:active{cursor:grabbing}.timeline-item__move{opacity:0;transition:opacity var(--dur-micro) var(--ease-out);align-items:center;display:inline-flex}.timeline-item:hover .timeline-item__move,.timeline-item:focus-within .timeline-item__move{opacity:1}.timeline-item__move .icon-button{width:44px;height:44px}.timeline-item__edit{align-items:center;gap:var(--space-2xs);min-height:44px;padding:0 var(--space-xs);border-radius:var(--radius-md);color:var(--muted);font-size:var(--text-sm);background:0 0;border:1px solid #0000;font-weight:750;display:inline-flex}.timeline-item__edit:hover,.timeline-item__edit:focus-visible{border-color:var(--line);background:var(--paper);color:var(--teal-dark)}.form-hint{margin-top:calc(-1 * var(--space-xs));color:var(--color-muted);font-size:var(--text-sm);line-height:1.45}@media (width<=1280px){.routine-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"header""blocks""dial"}.routine-dial{border-top:var(--rule-hair);border-right:0}}@media (width<=900px){.app-shell{display:block}.sidebar{display:none}.mobile-topbar{z-index:45;min-height:calc(56px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 16px 8px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:oklch(98.5% .01 78/.94);border-bottom:1px solid oklch(88% .02 74/.9);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.mobile-brand{align-items:center;gap:var(--space-xs);color:inherit;background:0 0;border:0;padding:0;text-decoration:none;display:flex}.mobile-brand .brand__mark{border-radius:var(--radius-sm);flex-basis:32px;width:32px;height:32px}.mobile-brand strong{font-size:14px}.page{min-height:calc(100dvh - 124px);padding:var(--space-lg) var(--space-md) var(--space-3xl)}.today-grid{grid-template-columns:1fr}.focus-panel,.task-focus{min-height:300px}.mobile-nav{z-index:50;height:calc(72px + env(safe-area-inset-bottom));padding:7px 10px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:oklch(98.5% .01 78/.96);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{justify-content:center;align-items:center;gap:var(--space-3xs);border-radius:var(--radius-md);min-width:0;color:var(--faint);background:0 0;border:0;flex-direction:column;font-size:12px;text-decoration:none;display:flex}.mobile-nav a.is-active{background:var(--teal-soft);color:var(--teal-dark);box-shadow:inset 0 0 0 1px var(--color-paper-4);font-weight:800}.undo-toast{right:14px;bottom:calc(86px + env(safe-area-inset-bottom));justify-content:space-between;left:14px}.recovery-notice{top:calc(68px + env(safe-area-inset-top));max-width:none;left:14px;right:14px}.form input,.form select,.form textarea,.task-composer input,.task-composer select,.task-composer__main>input,.pomodoro-durations input{font-size:16px}.task-row__action,.timeline-item__move{opacity:1}}@media (width<=640px){.page{padding:var(--space-md) var(--space-sm) 90px}.page-header{min-height:auto;margin-bottom:var(--space-md)}.page-header h1{font-size:23px}.page-subtitle{max-width:270px;font-size:12px}.page-header .button{gap:0;width:44px;padding:0}.page-header .button span,.task-composer__main .button span{display:none}.routine-page-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.routine-page-header h1{font-size:30px}.routine-page-header .button{width:auto;padding:0 var(--space-sm);flex:none}.view-explainer{grid-template-columns:auto minmax(0,1fr) auto}.view-explainer__show{grid-column:2;justify-self:start}.view-explainer>.icon-button{grid-area:1/3}.day-hero{border-radius:var(--radius-lg);grid-template-columns:1fr;min-height:0}.day-hero__content{padding:var(--space-lg)}.day-hero__art{order:-1;min-height:150px}.day-hero__art:after{background:linear-gradient(transparent, var(--paper));width:100%;height:18%;inset:auto 0 0}.day-hero h1{font-size:30px}.day-hero .page-subtitle{max-width:none;font-size:12px}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-strip>div{justify-content:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-2xs);text-align:center;flex-direction:column}.summary-strip>div span{font-size:12px;line-height:1.3}.summary-strip>div+div{border-top:0;border-left:1px solid var(--line)}.time-readout span{font-size:13px}.header-stat strong{font-size:20px}.focus-panel{min-height:260px;padding:20px var(--space-md)}.focus-panel h2{font-size:23px}.next-block{grid-template-columns:auto minmax(0,1fr) auto}.next-block small{display:none}.goal-grid,.goal-card__body,.form-grid{grid-template-columns:1fr}.task-category__header{flex-wrap:wrap}.task-category__header>span{margin-left:auto}.task-section-actions{justify-content:flex-end;width:100%}.goal-card__body{gap:0}.plan-starter,.recurrence-control{flex-direction:column;align-items:stretch}.task-composer__main .button{width:44px;padding:0}.day-picker{justify-content:space-between}.routine-dial{padding:var(--space-xs) var(--space-xs) var(--space-sm)}.routine-dial__face{width:min(100%,320px)}.routine-dial__arc-label{display:none}.routine-dial__hub{width:58%;height:58%;padding:7%}.routine-dial__goals>div,.routine-dial__goals strong{font-size:13px}.routine-dial__goals{gap:var(--space-2xs)}.routine-dial__goals p,.routine-dial__hint{font-size:13px}.routine-dial__hint{max-width:260px}.routine-block-list__header{padding:var(--space-md) var(--space-sm) var(--space-2xs)}.timeline{padding-right:var(--space-sm);padding-left:var(--space-sm)}.timeline:before{left:92px}.timeline-item{gap:var(--space-xs);grid-template-columns:56px 12px minmax(0,1fr)}.timeline-gap{width:calc(100% - 70px);margin-left:70px}.routine-goal-summary{margin:var(--space-3xs) var(--space-sm) var(--space-md)}.routine-goal-summary__row{grid-template-columns:8px minmax(0,1fr) auto}.routine-goal-summary__track{grid-area:2/2/auto/-1}.timeline-item__content>div:first-child{display:block}.timeline-item__content>div:first-child span{margin-top:var(--space-2xs)}.timeline-item__tools{justify-content:space-between}.routine-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.routine-layout.is-templates{grid-template-columns:minmax(0,1fr)}.routine-library__list{padding-bottom:var(--space-sm);scrollbar-color:var(--color-rule-strong) transparent;scrollbar-width:thin;display:flex;overflow-x:auto}.routine-library__list>button{flex:0 0 164px;width:164px}.today-routine-control{grid-template-columns:minmax(0,1fr)}.today-routine-control select{width:100%}.routine-workspace__header{padding:var(--space-md) var(--space-md);flex-direction:column;align-items:flex-start}.routine-workspace__header .button{width:auto;padding:0 var(--space-sm)}.routine-workspace__actions{justify-content:flex-start;width:100%}.task-row__action{flex-basis:44px;width:44px;height:44px}.modal-backdrop,.onboarding-backdrop{align-items:end;padding:0}.modal,.onboarding{border-radius:var(--radius-lg) 22px 0 0;border-bottom:0;border-left:0;border-right:0;width:100%;max-height:90dvh}.onboarding--guided{border-radius:var(--radius-lg) 22px 0 0;height:auto;max-height:90dvh}.onboarding__visual{height:145px}.onboarding__content{padding:20px var(--space-md)}.onboarding__content h2{font-size:24px}.onboarding__stepper{gap:var(--space-3xs);padding:var(--space-xs) var(--space-xs)}.onboarding__stepper>span{gap:var(--space-2xs);font-size:12px}.onboarding__welcome,.onboarding__form-grid,.onboarding__connection{grid-template-columns:minmax(0,1fr)}.onboarding__connection>svg{justify-self:center;transform:rotate(90deg)}.onboarding__actions{padding:var(--space-sm) var(--space-sm)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
