:root{--color-paper: oklch(97% .006 85);--color-paper-2: oklch(94.2% .008 85);--color-paper-3: oklch(90.5% .009 85);--color-panel: oklch(21% .016 75);--color-panel-2: oklch(26% .015 75);--color-panel-3: oklch(31% .014 75);--color-panel-rule: oklch(36% .012 75);--color-panel-ink: oklch(95% .006 85);--color-panel-muted: oklch(72% .01 80);--color-panel-faint: oklch(64% .01 80);--color-ink: oklch(19% .014 75);--color-muted: oklch(43% .012 78);--color-muted-soft: oklch(50% .011 78);--color-neutral: oklch(58% .01 80);--color-rule: oklch(85% .008 85);--color-rule-strong: oklch(74% .01 82);--color-signal: oklch(74% .165 70);--color-signal-bright: oklch(80% .155 78);--color-signal-deep: oklch(52% .15 55);--color-signal-quiet: oklch(88% .055 78);--color-rest: oklch(60% .095 232);--color-rest-bright: oklch(78% .085 225);--color-rest-panel: oklch(24% .048 232);--color-danger: oklch(53% .17 27);--color-focus-ring: oklch(52% .15 55);--session-heat: 1;--chrome-ink: var(--color-panel-muted);--chrome-ink-light: var(--color-muted);--signal-live: var(--color-signal);--signal-live-bright: var(--color-signal-bright);--font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-readout: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--text-xs: .64rem;--text-sm: .8rem;--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-s: clamp(2.1rem, 3.4vw + 1rem, 3.35rem);--text-display: clamp(2.6rem, 4.6vw + 1rem, 4.6rem);--text-figure: clamp(4.5rem, 14vw, 10rem);--text-readout: clamp(3.2rem, 8.5vw, 5.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;--page-max: 1180px;--page-gutter: clamp(1rem, 4vw, 1.5rem);--rule-hair: 1px;--rule-heavy: 2px;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 5px;--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;--dur-settle: .9s;--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400;--z-toast: 500}@supports (color: color-mix(in oklch,red 50%,blue)){:root{--signal-live: color-mix( in oklch, var(--color-signal) calc(var(--session-heat) * 100%), var(--color-neutral) );--signal-live-bright: color-mix( in oklch, var(--color-signal-bright) calc(var(--session-heat) * 100%), var(--color-panel-faint) );--chrome-ink: color-mix( in oklch, var(--color-panel-muted) calc(var(--session-heat) * 100%), var(--color-panel-faint) );--chrome-ink-light: color-mix( in oklch, var(--color-muted) calc(var(--session-heat) * 100%), var(--color-muted-soft) )}}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;overflow-x:clip;scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);font-synthesis:none;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{min-width:0;font-family:var(--font-display);font-style:normal;font-weight:700;letter-spacing:-.03em;line-height:1.08;overflow-wrap:anywhere}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:var(--rule-heavy) solid var(--color-focus-ring);outline-offset:2px}::selection{background:var(--color-signal-quiet);color:var(--color-ink)}[hidden]{display:none!important}.app-shell{min-height:100vh}.app-content{width:min(100% - (var(--page-gutter) * 2),var(--page-max));margin:0 auto}.readout{font-family:var(--font-readout);font-variant-numeric:tabular-nums;font-weight:700}.label,.eyebrow,.card-kicker{margin:0;color:var(--color-muted);font-family:var(--font-readout);font-size:var(--text-sm);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.ctl{display:inline-flex;min-height:44px;padding:var(--space-sm) var(--space-md);align-items:center;justify-content:center;gap:var(--space-xs);border:var(--rule-hair) solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;text-decoration:none;white-space:nowrap;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)}.ctl:active{transform:translateY(1px)}.ctl:disabled,.ctl[aria-disabled=true]{cursor:not-allowed;opacity:.45}.ctl:disabled:active,.ctl[aria-disabled=true]:active{transform:none}.ctl--signal{background:var(--color-signal);border-color:var(--color-signal);color:var(--color-ink)}.ctl--signal:hover:not(:disabled){background:var(--color-signal-bright);border-color:var(--color-signal-bright)}.ctl--outline{border-color:var(--color-rule-strong);color:var(--color-ink)}.ctl--outline:hover:not(:disabled){background:var(--color-paper-2);border-color:var(--color-ink)}.ctl--quiet{padding-inline:var(--space-xs);color:var(--color-muted)}.ctl--quiet:hover:not(:disabled){color:var(--color-ink)}.link-type{padding-bottom:1px;border-bottom:var(--rule-hair) solid var(--color-rule-strong);color:var(--color-ink);font-size:var(--text-sm);font-weight:600;text-decoration:none;white-space:nowrap;transition:border-color var(--dur-micro) var(--ease-out)}.link-type:hover{border-bottom-color:var(--color-signal-deep)}.focus-page{padding:var(--space-xl) 0 var(--space-3xl)}.focus-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-lg);align-items:baseline;margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule)}.focus-intro h1{min-width:0;max-width:18ch;margin:0;font-size:var(--text-display-s);overflow-wrap:anywhere}.focus-intro-summary{max-width:46ch;margin:0;font-size:var(--text-sm);line-height:1.65;color:var(--chrome-ink-light);transition:color var(--dur-settle) var(--ease-out)}.focus-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:var(--space-xl);align-items:start}.focus-tasks{min-width:0}.auth-page{display:grid;min-height:calc(100vh - 88px);padding:var(--space-2xl) 0 var(--space-3xl);place-items:center}.reveal{opacity:0;transform:translateY(8px);animation:reveal var(--dur-long) var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 60ms)}@keyframes reveal{to{opacity:1;transform:none}}@media(max-width:60rem){.focus-layout{grid-template-columns:minmax(0,1fr)}.focus-intro{grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}}@media(max-width:45rem){html input:is([type=text],[type=email],[type=password],[type=search],[type=tel],[type=url]),html textarea:not(:disabled),html select:not(:disabled){font-size:16px}.focus-page{padding-top:var(--space-lg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.15s!important;animation-iteration-count:1!important;transition-duration:.15s!important}}.site-header{position:sticky;top:0;z-index:var(--z-sticky);border-bottom:var(--rule-hair) solid var(--color-rule);background:var(--color-paper)}@supports (backdrop-filter: blur(1px)){.site-header{background:color-mix(in oklch,var(--color-paper) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}.navbar{display:grid;width:min(100% - (var(--page-gutter) * 2),var(--page-max));min-height:68px;margin:0 auto;padding:max(var(--space-xs),env(safe-area-inset-top)) 0 var(--space-xs);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-md)}.brand-button{display:inline-flex;justify-self:start;padding:0;border:0;background:transparent;color:var(--color-ink);cursor:pointer;align-items:center;gap:var(--space-sm);text-align:left}.brand-mark{display:grid;width:32px;height:32px;flex:0 0 32px;overflow:hidden;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-xs);place-items:center}.brand-logo{display:block;width:100%;height:100%;object-fit:contain}.brand-copy{display:flex;min-width:0;flex-direction:column}.brand-copy strong{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;letter-spacing:-.025em;line-height:1.15}.brand-copy span{color:var(--color-muted);font-family:var(--font-readout);font-size:var(--text-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase}.nav-actions{display:contents}.nav-tabs{display:flex;justify-self:center;padding:var(--space-3xs);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-paper-2);gap:var(--space-3xs)}.nav-link{display:inline-flex;min-height:36px;padding:var(--space-xs) var(--space-md);align-items:center;gap:var(--space-xs);border:0;border-radius:var(--radius-xs);background:transparent;color:var(--color-muted);cursor:pointer;font-family:var(--font-readout);font-size:var(--text-sm);font-weight:500;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.nav-link:hover{color:var(--color-ink)}.nav-link:active,.login-button:active,.logout-button:active{transform:translateY(1px)}.nav-link.active{background:var(--color-paper);box-shadow:inset 0 0 0 var(--rule-hair) var(--color-rule-strong);color:var(--color-ink);font-weight:700}.mode-lamp{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--color-rule-strong);transition:background-color var(--dur-short) var(--ease-out)}html[data-session-phase=focus] .mode-lamp{background:var(--signal-live)}html[data-session-phase=rest] .mode-lamp{background:var(--color-rest)}.account-actions{display:flex;justify-self:end;align-items:center;gap:var(--space-xs)}.login-button,.logout-button{display:inline-flex;min-height:36px;padding:var(--space-xs) var(--space-sm);align-items:center;border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);cursor:pointer;font-size:var(--text-sm);font-weight:600;white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.login-button{justify-self:end}.login-button:hover,.logout-button:hover{background:var(--color-paper-2);border-color:var(--color-ink)}.login-button.active{border-color:var(--color-signal-deep)}.user-profile,.profile-photo,.profile-initial{width:30px;height:30px;border-radius:var(--radius-xs)}.user-profile{display:grid;overflow:hidden;border:var(--rule-hair) solid var(--color-rule-strong);place-items:center}.profile-photo{object-fit:cover}.profile-initial{display:grid;background:var(--color-paper-3);color:var(--color-ink);font-family:var(--font-readout);font-size:var(--text-sm);font-weight:700;place-items:center}@media(max-width:60rem){.navbar{grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-sm)}.brand-copy{display:none}.nav-tabs{justify-self:center}.nav-link{padding-inline:var(--space-sm)}}@media(max-width:60rem){.brand-button{min-width:44px;min-height:44px}.nav-link,.login-button,.logout-button{min-height:44px}}@media(max-width:30rem){.navbar{gap:var(--space-xs)}.nav-link{padding-inline:var(--space-xs);font-size:var(--text-xs);letter-spacing:.04em}.login-button,.logout-button{padding-inline:var(--space-xs);font-size:var(--text-xs)}.user-profile{display:none}}.timer-container{position:sticky;top:84px;padding:var(--space-lg);border:var(--rule-hair) solid var(--color-panel-rule);border-radius:var(--radius-md);background:var(--color-panel);color:var(--color-panel-ink);transition:background-color var(--dur-long) var(--ease-out)}.timer-container[data-phase=rest]{background:var(--color-rest-panel)}.timer-container:before{content:"";display:block;height:var(--rule-heavy);margin:calc(var(--space-lg) * -1) calc(var(--space-lg) * -1) var(--space-lg);background:var(--color-panel-rule);border-radius:var(--radius-md) var(--radius-md) 0 0;transition:background-color var(--dur-settle) var(--ease-out)}.timer-container[data-phase=focus]:before{background:var(--signal-live)}.timer-container[data-phase=rest]:before{background:var(--color-rest)}.timer-loading{margin:0;color:var(--color-panel-muted);font-family:var(--font-readout);font-size:var(--text-sm)}.timer-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.timer-header .card-kicker{color:var(--color-panel-faint);font-size:var(--text-sm)}.timer-container:hover .focus-target-field label,.timer-container:hover .focus-target-field p,.timer-container:hover .notification-note,.timer-container:hover .notification-toggle{color:var(--color-panel-muted)}.timer-container:has(:focus-visible) .focus-target-field label,.timer-container:has(:focus-visible) .focus-target-field p,.timer-container:has(:focus-visible) .notification-note,.timer-container:has(:focus-visible) .notification-toggle{color:var(--color-panel-muted)}.notification-toggle{display:inline-flex;min-height:32px;padding:var(--space-2xs) var(--space-xs);align-items:center;gap:var(--space-2xs);border:var(--rule-hair) solid var(--color-panel-rule);border-radius:var(--radius-xs);background:transparent;color:var(--chrome-ink);cursor:pointer;font-family:var(--font-readout);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:border-color var(--dur-micro) var(--ease-out),color var(--dur-settle) var(--ease-out)}.notification-toggle:hover:not(:disabled){border-color:var(--color-panel-muted);color:var(--color-panel-ink)}.notification-toggle.enabled{color:var(--color-panel-ink)}.notification-toggle:disabled{cursor:not-allowed;opacity:.5}.notification-dot{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:currentColor}.focus-target-field{display:flex;margin-top:var(--space-lg);flex-direction:column;gap:var(--space-2xs)}.focus-target-field label{color:var(--chrome-ink);transition:color var(--dur-settle) var(--ease-out);font-family:var(--font-readout);font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.focus-target-field select{width:100%;min-height:44px;padding:var(--space-xs) var(--space-xl) var(--space-xs) var(--space-xs);border:var(--rule-hair) solid var(--color-panel-rule);border-radius:var(--radius-xs);background:var(--color-panel-2);color:var(--color-panel-ink);cursor:pointer;font-size:var(--text-sm)}.focus-target-field select:hover:not(:disabled){border-color:var(--color-panel-muted)}.focus-target-field select:disabled{cursor:not-allowed;opacity:.7}.focus-target-field option{background:var(--color-panel);color:var(--color-panel-ink)}.focus-target-field p{margin:0;color:var(--chrome-ink);transition:color var(--dur-settle) var(--ease-out);font-size:var(--text-sm);line-height:1.5}.timer-status{display:flex;margin-top:var(--space-2xl);align-items:center;gap:var(--space-xs);color:var(--color-panel-muted);font-family:var(--font-readout);font-size:var(--text-sm);font-weight:500;letter-spacing:.1em;text-transform:uppercase}.status-indicator{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--color-panel-rule);transition:background-color var(--dur-settle) var(--ease-out)}.status-indicator.active{background:var(--signal-live)}.timer-container[data-phase=rest] .status-indicator.active{background:var(--color-rest-bright)}.timer-display{display:block;width:100%;margin:var(--space-xs) 0 0;color:var(--color-panel-ink);font-family:var(--font-readout);font-size:var(--text-readout);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.05em;line-height:1;text-align:left}.timer-meter{display:flex;margin-top:var(--space-md);padding-top:var(--space-sm);align-items:baseline;justify-content:space-between;gap:var(--space-sm);border-top:var(--rule-hair) solid var(--color-panel-rule)}.timer-meter__label{color:var(--color-panel-faint);font-family:var(--font-readout);font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.timer-meter__value{color:var(--color-panel-muted);font-size:var(--text-md);letter-spacing:-.02em;transition:color var(--dur-settle) var(--ease-out)}.timer-container[data-phase=focus] .timer-meter__value{color:var(--signal-live-bright)}.timer-actions{display:flex;margin-top:var(--space-lg);flex-wrap:wrap;gap:var(--space-xs)}.timer-action{display:inline-flex;min-height:44px;padding:var(--space-xs) var(--space-md);align-items:center;justify-content:center;border:var(--rule-hair) solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;white-space:nowrap;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)}.timer-action:active{transform:translateY(1px)}.timer-action-primary{background:var(--color-signal);border-color:var(--color-signal);color:var(--color-ink)}.timer-action-primary:hover{background:var(--color-signal-bright);border-color:var(--color-signal-bright)}.timer-container[data-phase=focus] .timer-action-primary,.timer-container[data-phase=rest] .timer-action-primary{background:transparent;border-color:var(--color-panel-muted);color:var(--color-panel-ink)}.timer-container[data-phase=focus] .timer-action-primary:hover,.timer-container[data-phase=rest] .timer-action-primary:hover{background:var(--color-panel-2);border-color:var(--color-panel-ink)}.timer-action-secondary{border-color:var(--color-panel-rule);background:transparent;color:var(--color-panel-ink)}.timer-action-secondary:hover{border-color:var(--color-panel-muted)}.timer-action-quiet{background:transparent;color:var(--color-panel-muted)}.timer-action-quiet:hover{color:var(--color-panel-ink)}.session-receipt{display:flex;margin-top:var(--space-md);padding:var(--space-sm);align-items:flex-start;justify-content:space-between;gap:var(--space-sm);border:var(--rule-hair) solid var(--color-panel-rule);border-radius:var(--radius-xs);background:var(--color-panel-2)}.session-receipt>div{display:flex;min-width:0;flex-direction:column;gap:var(--space-3xs)}.session-receipt span{color:var(--color-signal);font-family:var(--font-readout);font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.session-receipt strong{font-size:var(--text-sm);font-weight:600;line-height:1.4}.session-receipt p{margin:0;color:var(--color-panel-muted);font-size:var(--text-sm)}.session-receipt button{padding:var(--space-2xs);border:0;background:transparent;color:var(--color-panel-muted);cursor:pointer;font-size:var(--text-sm);font-weight:600;white-space:nowrap}.session-receipt button:hover{color:var(--color-panel-ink)}.notification-note{margin:var(--space-md) 0 0;color:var(--chrome-ink);transition:color var(--dur-settle) var(--ease-out);font-size:var(--text-sm);line-height:1.5}.settings-container{margin-top:var(--space-xl)}.settings-heading>span{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;letter-spacing:-.02em}.settings-heading p{max-width:48ch;margin:var(--space-2xs) 0 0;color:var(--color-panel-muted);font-size:var(--text-sm);line-height:1.55}.settings-box{display:grid;margin:var(--space-lg) 0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:var(--space-sm)}.work-timer-input{display:flex;min-width:0;flex-direction:column;gap:var(--space-2xs)}.work-timer-input label{color:var(--color-panel-faint);font-family:var(--font-readout);font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.work-timer-input input{width:100%;min-height:54px;padding:var(--space-xs);border:var(--rule-hair) solid var(--color-panel-rule);border-radius:var(--radius-xs);background:var(--color-panel-2);color:var(--color-panel-ink);font-family:var(--font-readout);font-size:var(--text-md);font-variant-numeric:tabular-nums;font-weight:700;text-align:center}.work-timer-input input:hover{border-color:var(--color-panel-muted)}.ratio-divider{padding-bottom:var(--space-md);color:var(--color-panel-faint);font-family:var(--font-readout);font-size:var(--text-md)}@media(max-width:60rem){.timer-container{position:static}.notification-toggle{min-height:44px;padding-inline:var(--space-sm)}}@media(max-width:30rem){.timer-container{padding:var(--space-md)}.timer-container:before{margin:calc(var(--space-md) * -1) calc(var(--space-md) * -1) var(--space-md)}.timer-status{margin-top:var(--space-xl)}.timer-actions .timer-action{flex:1 1 calc(50% - var(--space-xs))}}.login-container{width:min(100%,30rem)}.login-form{width:100%;padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-md);background:var(--color-paper)}.login-heading h1{margin:0 0 var(--space-sm);font-size:var(--text-2xl);overflow-wrap:anywhere}.login-heading>p:last-child{margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.65}.error-message{margin-top:var(--space-md);padding:var(--space-sm);border:var(--rule-hair) solid var(--color-danger);border-radius:var(--radius-xs);color:var(--color-danger);font-size:var(--text-sm);line-height:1.5}.login-fields{display:grid;margin-top:var(--space-lg);gap:var(--space-md)}.login-field{display:grid;gap:var(--space-2xs)}.login-field span{color:var(--color-muted);font-family:var(--font-readout);font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.login-field input{width:100%;min-height:48px;padding:var(--space-xs) var(--space-sm);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-xs);background:var(--color-paper);color:var(--color-ink);transition:border-color var(--dur-micro) var(--ease-out)}.login-field input:hover{border-color:var(--color-neutral)}.credential-button{width:100%;min-height:48px;margin-top:var(--space-md);padding:var(--space-xs) var(--space-md);border:var(--rule-hair) solid var(--color-signal);border-radius:var(--radius-sm);background:var(--color-signal);color:var(--color-ink);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.credential-button:hover:not(:disabled){background:var(--color-signal-bright);border-color:var(--color-signal-bright)}.credential-button:active:not(:disabled){transform:translateY(1px)}.credential-button:disabled{cursor:wait;opacity:.55}.flow-toggle{display:block;margin:var(--space-sm) 0 0;padding:0;border:0;border-bottom:var(--rule-hair) solid var(--color-rule-strong);background:transparent;color:var(--color-ink);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;transition:border-color var(--dur-micro) var(--ease-out)}.flow-toggle:hover{border-bottom-color:var(--color-signal-deep)}.auth-divider{display:grid;margin-top:var(--space-lg);grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-sm);color:var(--color-muted);font-family:var(--font-readout);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}.auth-divider:before,.auth-divider:after{height:var(--rule-hair);background:var(--color-rule);content:""}.social-login{display:grid;margin-top:var(--space-lg);gap:var(--space-sm)}.google-identity{display:grid;gap:var(--space-sm);justify-items:center}.google-identity-button{min-height:44px}.google-auth-status,.google-auth-recovery{margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.5;text-align:center}.google-auth-recovery{display:grid;gap:var(--space-xs)}.google-auth-recovery button{padding:0;border:0;border-bottom:var(--rule-hair) solid var(--color-rule-strong);background:transparent;color:var(--color-ink);cursor:pointer;font:inherit;font-weight:600}.login-footnote{margin:var(--space-md) 0 0;color:var(--color-neutral);font-size:var(--text-sm);line-height:1.5}.signin-container{width:min(100%,25rem);margin:0 auto}.signin-form{width:100%;padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-md);background:var(--color-paper)}.form-group{margin-bottom:var(--space-md)}.signin-input{width:100%;min-height:48px;padding:var(--space-xs) var(--space-sm);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-xs);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-base);transition:border-color var(--dur-micro) var(--ease-out)}.signin-input:hover{border-color:var(--color-neutral)}.undo-popup{display:flex;min-width:min(360px,calc(100% - var(--space-lg)));padding:var(--space-sm);align-items:center;justify-content:space-between;gap:var(--space-md);border:var(--rule-hair) solid var(--color-panel-rule);border-radius:var(--radius-sm);background:var(--color-panel);color:var(--color-panel-ink);animation:undoIn var(--dur-short) var(--ease-out)}.undo-popup>span{font-size:var(--text-sm);font-weight:500}.undo-popup button{display:inline-flex;min-height:36px;padding:var(--space-2xs) var(--space-xs);align-items:center;gap:var(--space-2xs);border:var(--rule-hair) solid var(--color-panel-muted);border-radius:var(--radius-xs);background:transparent;color:var(--color-panel-ink);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}.undo-popup button:hover{background:var(--color-panel-2);border-color:var(--color-panel-ink)}.undo-icon{width:13px;height:13px}@keyframes undoIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.checklist-wrapper{width:100%}.checkbox-container{width:100%;overflow:hidden;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);transition:border-color var(--dur-micro) var(--ease-out)}.checkbox-container:focus-within{border-color:var(--color-rule-strong)}.checkbox-header{display:flex;min-height:56px;padding:var(--space-xs) var(--space-sm);align-items:center;border-bottom:var(--rule-hair) solid var(--color-rule-strong);background:var(--color-paper-2)}.project-input-container{display:flex;width:100%;min-width:0;align-items:center;gap:var(--space-xs)}.project-checkbox-container{position:relative;display:flex;flex:0 0 auto;align-items:center;gap:var(--space-3xs)}.project-checkbox,.checkbox-item input[type=checkbox]{margin:0;accent-color:var(--color-signal-deep);cursor:pointer}.project-checkbox{width:18px;height:18px}.project-checkbox:disabled{cursor:default;opacity:.35}.title-input,.item-input{min-width:0;border:0;background:transparent;color:var(--color-ink);font-family:var(--font-body)}.title-input{width:100%;padding:var(--space-3xs) 0;font-family:var(--font-display);font-size:var(--text-base);font-weight:700;letter-spacing:-.02em}.title-input::placeholder,.item-input::placeholder{color:var(--color-neutral)}.title-input:focus,.item-input:focus{outline:0}.checkbox-content{padding:0}.checkbox-item{display:flex;min-height:46px;padding:var(--space-2xs) var(--space-sm);align-items:center;gap:var(--space-xs);border-bottom:var(--rule-hair) solid var(--color-rule);transition:background-color var(--dur-micro) var(--ease-out),opacity var(--dur-micro) var(--ease-out)}.checkbox-item:last-child{border-bottom:0}.checkbox-item:hover,.checkbox-item:focus-within{background:var(--color-paper-2)}.checkbox-item input[type=checkbox]{width:16px;height:16px;flex:0 0 16px}.item-input{flex:1;padding:var(--space-3xs) 0;font-size:var(--text-sm)}.checkbox-item.checked .item-input{color:var(--color-neutral);text-decoration:line-through}.plus-icon,.bin-icon,.close-icon,.drag-handle img{filter:grayscale(1)}.plus-sign{display:grid;width:16px;height:16px;flex:0 0 16px;place-items:center}.plus-icon{width:12px;height:12px;opacity:.7}.drag-handle{display:inline-flex;width:44px;min-width:44px;height:44px;padding:0;align-items:center;justify-content:center;border-radius:var(--radius-xs);cursor:grab;opacity:.4;transition:opacity var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out)}.drag-handle:hover,.drag-handle:focus-visible{background:var(--color-paper-3);opacity:.9}.drag-handle:active{cursor:grabbing}.drag-handle img{width:13px;height:13px;pointer-events:none}.checkbox-item.dragging{background:var(--color-paper-3);opacity:.6}.checkbox-item.drag-over{border-top:var(--rule-heavy) solid var(--color-signal)}.add-button,.delete-list-button,.delete-button{display:inline-flex;min-height:44px;flex:0 0 auto;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out),opacity var(--dur-micro) var(--ease-out)}.add-button{padding:var(--space-2xs) var(--space-xs);gap:var(--space-2xs);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-xs);color:var(--color-muted);font-family:var(--font-readout);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.add-button:hover{border-color:var(--color-ink);color:var(--color-ink)}.delete-list-button{width:44px;height:44px;padding:0;border-radius:var(--radius-xs)}.delete-list-button:hover,.delete-button:hover{background:var(--color-paper-3)}.add-button .plus-icon{width:14px;height:14px}.delete-list-button .bin-icon{width:16px;height:16px}.delete-list-button.disabled{cursor:not-allowed;opacity:.3}.delete-button{width:44px;height:44px;padding:0;border-radius:var(--radius-xs);opacity:0}.checkbox-item:hover .delete-button,.checkbox-item:focus-within .delete-button,.delete-button:focus-visible{opacity:.7}.close-icon{width:10px;height:10px}.completed-section{border-top:var(--rule-hair) solid var(--color-rule-strong);background:var(--color-paper-2)}.completed-header{padding:var(--space-xs) var(--space-sm) var(--space-3xs);color:var(--color-muted);font-family:var(--font-readout);font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.checked-project-icon{position:absolute;top:50%;left:50%;width:38px;height:38px;animation:completionPulse 1.8s var(--ease-out);pointer-events:none;transform:translate(-50%,-50%)}@keyframes completionPulse{0%,to{opacity:0;transform:translate(-50%,-50%) scale(.6)}25%,75%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}@media(hover:none),(pointer:coarse){.delete-button{opacity:.5}.drag-handle{opacity:.6}}@media(max-width:30rem){.checkbox-header,.checkbox-item{padding-inline:var(--space-xs)}.project-input-container{gap:var(--space-2xs)}}.controls-container{position:relative;min-width:0;padding:0;background:var(--color-paper)}.controls-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-sm);border-bottom:var(--rule-hair) solid var(--color-rule-strong)}.controls-header h2{margin:0;font-size:var(--text-lg)}.list-count{flex:0 0 auto;color:var(--color-muted);font-family:var(--font-readout);font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.checkbox-text{max-width:62ch;margin:var(--space-sm) 0 var(--space-md);color:var(--color-muted);font-size:var(--text-sm);line-height:1.65}.controls-container>div{position:relative;z-index:var(--z-base);touch-action:none}.checklist-wrapper-container{position:relative;z-index:var(--z-base);margin-top:var(--space-sm);padding:0;border-radius:var(--radius-sm);will-change:transform}.checklist-wrapper-container.dragging,.checklist-wrapper-container[data-dragging=true]{z-index:var(--z-dropdown)}.checklist-wrapper-container.drag-over:before{position:absolute;top:calc(var(--space-2xs) * -1);right:0;left:0;height:var(--rule-heavy);background:var(--color-signal);content:""}.project-drag-handle{cursor:grab}.project-drag-handle:active,body.dragging{cursor:grabbing}.recent-progress{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule)}.recent-progress summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);cursor:pointer;list-style:none;font-family:var(--font-readout);font-size:var(--text-sm);font-weight:500;letter-spacing:.08em;text-transform:uppercase}.recent-progress summary::-webkit-details-marker{display:none}.recent-progress summary span:last-child{color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.06em}.recent-progress ul{display:grid;margin:var(--space-md) 0 0;padding:0;gap:0;list-style:none}.recent-progress li{padding:var(--space-sm) 0;border-bottom:var(--rule-hair) solid var(--color-rule)}.recent-progress li:last-child{border-bottom:0}.recent-progress li>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);font-size:var(--text-sm)}.recent-progress time,.recent-progress p{color:var(--color-muted);font-size:var(--text-sm)}.recent-progress time{font-family:var(--font-readout);font-variant-numeric:tabular-nums;white-space:nowrap}.recent-progress p{margin:var(--space-2xs) 0 0;line-height:1.55}.undo-popups-container{position:fixed;right:max(var(--space-md),env(safe-area-inset-right));bottom:max(var(--space-md),env(safe-area-inset-bottom));display:flex;z-index:var(--z-toast);flex-direction:column;align-items:flex-end;gap:var(--space-xs)}@media(max-width:45rem){.undo-popups-container{right:var(--space-sm);bottom:max(var(--space-sm),env(safe-area-inset-bottom));left:var(--space-sm);align-items:stretch}}.home{padding-bottom:var(--space-3xl)}.stat-hero{display:grid;padding:var(--space-2xl) 0 var(--space-3xl);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(var(--space-lg),4vw,var(--space-2xl))}.stat-hero__figure{margin:0;color:var(--color-ink);font-size:var(--text-figure);font-weight:700;letter-spacing:-.06em;line-height:.82}.stat-hero__colon{color:var(--color-signal-deep)}.stat-hero__body{min-width:0;padding-top:var(--space-2xs)}.stat-hero__body h1{min-width:0;max-width:16ch;margin:0;font-size:var(--text-display);overflow-wrap:anywhere}.stat-hero__qualifier{max-width:54ch;margin:var(--space-md) 0 0;color:var(--color-muted);font-size:var(--text-base);line-height:1.65}.stat-hero__actions{display:flex;margin-top:var(--space-lg);flex-wrap:wrap;align-items:center;gap:var(--space-md)}.earn{padding:var(--space-2xl) 0 var(--space-xl);border-top:var(--rule-hair) solid var(--color-rule);scroll-margin-top:var(--space-3xl)}.earn h2{margin:0 0 var(--space-lg);font-size:var(--text-xl)}.earn__table{width:min(100%,34rem);border-collapse:collapse;text-align:left}.earn__caption{max-width:48ch;margin-bottom:var(--space-md);color:var(--color-muted);font-size:var(--text-sm);line-height:1.6;text-align:left}.earn__table th{padding:0 var(--space-md) var(--space-xs) 0;border-bottom:var(--rule-hair) solid var(--color-rule-strong);color:var(--color-muted);font-family:var(--font-readout);font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.earn__table td{padding:var(--space-sm) var(--space-md) var(--space-sm) 0;border-bottom:var(--rule-hair) solid var(--color-rule);font-size:var(--text-md);letter-spacing:-.02em}.earn__earned{color:var(--color-signal-deep)}.traits{padding:var(--space-xl) 0 var(--space-2xl)}.traits h2{margin:0 0 var(--space-lg);font-size:var(--text-xl)}.traits__list{margin:0;border-top:var(--rule-hair) solid var(--color-rule-strong)}.traits__item{display:grid;padding:var(--space-md) 0;grid-template-columns:minmax(0,.4fr) minmax(0,1fr);gap:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule)}.traits__item dt{min-width:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:700;letter-spacing:-.02em;line-height:1.2;overflow-wrap:anywhere}.traits__item dd{max-width:62ch;margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.7}.workspace{margin:0;padding-bottom:var(--space-2xl)}.workspace__shot{display:block;width:100%;height:auto;border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm)}.workspace figcaption{max-width:52ch;margin-top:var(--space-sm);color:var(--color-muted);font-size:var(--text-sm)}.closer{display:flex;padding:var(--space-xl) 0 var(--space-2xl);flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule)}.closer h2{min-width:0;max-width:20ch;margin:0;font-size:var(--text-lg);overflow-wrap:anywhere}.foot-line{padding:var(--space-md) 0 0;border-top:var(--rule-hair) solid var(--color-rule)}.foot-line p{margin:0;color:var(--color-muted);font-family:var(--font-readout);font-size:var(--text-sm);letter-spacing:.06em}@media(max-width:60rem){.stat-hero{padding-top:var(--space-2xl);grid-template-columns:minmax(0,1fr);gap:var(--space-md)}.traits__item{grid-template-columns:minmax(0,1fr);gap:var(--space-2xs)}}@media(max-width:45rem){.stat-hero{padding-top:var(--space-xl)}.earn__table td{font-size:var(--text-base)}.closer{align-items:flex-start;justify-content:flex-start}}.stats-page{padding:var(--space-xl) 0 var(--space-3xl)}.stats-header{display:grid;margin-bottom:var(--space-xl);padding-bottom:var(--space-md);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:baseline;gap:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule)}.stats-header h1{min-width:0;max-width:18ch;margin:0;font-size:var(--text-display-s);overflow-wrap:anywhere}.stats-header>p{max-width:46ch;margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.65}.stats-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:var(--rule-hair) solid var(--color-rule-strong)}.stats-summary-card{min-width:0;padding:var(--space-md) var(--space-md) var(--space-lg) 0;border-right:var(--rule-hair) solid var(--color-rule)}.stats-summary-card:last-child{border-right:0}.stats-summary-card:not(:first-child){padding-left:var(--space-md)}.stats-summary-card>span{color:var(--color-muted);font-family:var(--font-readout);font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.stats-summary-card strong{display:block;margin-top:var(--space-xs);font-family:var(--font-readout);font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.04em;line-height:1}.stats-summary-card p{margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.5}.stats-summary-primary strong{color:var(--color-signal-deep)}.stats-breakdown{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule-strong)}.stats-breakdown>header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md)}.stats-breakdown h2{margin:0;font-size:var(--text-lg)}.stats-breakdown>header>span{color:var(--color-muted);font-family:var(--font-readout);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.stats-breakdown-list{display:grid;margin:var(--space-lg) 0 0;padding:0;gap:var(--space-md);list-style:none}.stats-breakdown-label{display:flex;margin-bottom:var(--space-2xs);justify-content:space-between;gap:var(--space-md)}.stats-breakdown-label span{color:var(--color-ink);font-size:var(--text-sm)}.stats-breakdown-label span:last-child{color:var(--color-muted);font-family:var(--font-readout);font-variant-numeric:tabular-nums;white-space:nowrap}.stats-breakdown-track{height:6px;overflow:hidden;border-radius:var(--radius-xs);background:var(--color-paper-3)}.stats-breakdown-track span{display:block;height:100%;background:var(--color-signal)}.stats-empty{margin-top:var(--space-lg);padding:var(--space-xl) var(--space-md);border:var(--rule-hair) dashed var(--color-rule-strong);border-radius:var(--radius-sm)}.stats-empty p{margin:var(--space-2xs) 0 0;color:var(--color-muted);font-size:var(--text-sm)}@media(max-width:60rem){.stats-summary-grid{grid-template-columns:minmax(0,1fr)}.stats-summary-card{padding:var(--space-md) 0;border-right:0;border-bottom:var(--rule-hair) solid var(--color-rule)}.stats-summary-card:not(:first-child){padding-left:0}.stats-header{grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}}@media(max-width:45rem){.stats-breakdown-label{display:grid;gap:var(--space-3xs)}}
