@font-face{font-family:Inter;src:url('fonts/inter-latin-wght-normal.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--page:#F5F9FC;--mist:#DDE3E8;--ink:#09121F;--muted:#5B6670;--mint:#0E7C66;--teal:#44E2BE;--line:#C1CBD4;color-scheme:light;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--page);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:19px;line-height:1.5;letter-spacing:-.015em;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:4px}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}::selection{color:var(--page);background:var(--mint)}.skip{position:absolute;top:-100px;left:16px;padding:12px;background:var(--ink);color:var(--page);z-index:10}.skip:focus{top:8px}.concept{background:var(--ink);color:var(--page);text-align:center;font-size:12px;letter-spacing:0;padding:8px 12px}.site-nav{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:auto;padding:20px 40px}.site-nav img{display:block;width:98px;height:auto}.site-nav>a:last-child{font-size:14px;min-height:44px;display:flex;align-items:center;gap:9px}.layout{display:grid;grid-template-columns:1fr 440px;align-items:start;gap:88px;max-width:1200px;padding:62px 40px 96px;margin:auto}.intro{position:sticky;top:90px;padding-top:36px}.intro h1{font-size:64px;font-weight:600;line-height:1.03;letter-spacing:-.04em;text-wrap:balance;margin-bottom:28px}.intro>p{max-width:38ch;color:var(--muted);font-size:21px}.intro .try{font-size:17px;color:var(--ink);margin-top:32px}.about{max-width:42ch;margin-top:36px;font-size:15px;color:var(--muted)}summary{cursor:pointer;min-height:44px;align-content:center;text-underline-offset:4px}.about summary{color:var(--mint)}.about p{margin:16px 0}.app{background:white;border:1px solid var(--line);border-radius:32px;overflow:clip}.app-head{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 22px;border-bottom:1px solid var(--mist);gap:12px}.app-name{font-size:19px;font-weight:600;letter-spacing:-.03em;display:flex;align-items:center;gap:7px}.brand-dot{height:7px;width:7px;border-radius:50%;background:var(--mint)}.app-subtitle{font-size:12px;color:var(--muted);margin-top:3px;letter-spacing:0}.text-button{border:0;background:none;color:var(--mint);font-size:13px;min-height:44px;padding:0 3px;white-space:nowrap}.text-button:hover{text-decoration:underline}.app-body{padding:28px 24px 24px}.day{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;letter-spacing:0;margin-bottom:8px}.app h2{font-size:32px;font-weight:600;letter-spacing:-.035em;line-height:1.12;margin-bottom:24px}.progress-label{font-size:13px;display:flex;justify-content:space-between;gap:8px;letter-spacing:0}.progress-label p:last-child{color:var(--muted)}.progress-label strong{font-weight:600}progress{display:block;border:0;border-radius:5px;width:100%;height:5px;margin:12px 0 24px;appearance:none;background:var(--mist);overflow:hidden}progress::-webkit-progress-bar{background:var(--mist)}progress::-webkit-progress-value{background:var(--mint);transition:width .45s ease}progress::-moz-progress-bar{background:var(--mint)}.switcher{display:grid;grid-template-columns:1fr 1fr;background:var(--page);border:1px solid var(--line);padding:4px;border-radius:12px;gap:4px}.switcher button{min-height:44px;border:0;border-radius:8px;background:transparent;font-size:14px}.switcher button[aria-pressed=true]{background:var(--ink);color:var(--page)}.switcher button:hover:not([aria-pressed=true]){background:var(--mist)}.switcher span{display:inline-grid;place-items:center;min-width:19px;height:19px;background:var(--mist);color:var(--ink);border-radius:50%;font-size:11px;margin-left:4px}.status{font-size:12px;color:var(--muted);margin:16px 0 28px;min-height:36px;letter-spacing:0}.list-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.app h3{font-size:18px;font-weight:600;letter-spacing:-.025em}.list-count{font-size:12px;color:var(--muted);white-space:nowrap}.filters{display:flex;gap:16px;margin:12px 0 0}.filters button{min-height:44px;border:0;border-bottom:2px solid transparent;background:none;padding:4px 0;font-size:13px;color:var(--muted);white-space:nowrap}.filters button[aria-pressed=true]{color:var(--mint);border-bottom-color:var(--mint)}.filters button:hover{color:var(--ink)}.filter-note{font-size:12px;color:var(--muted);margin:10px 0 8px;letter-spacing:0}.tasks{list-style:none;margin:0;padding:0}.task{padding:22px 0 12px;border-bottom:1px solid var(--mist)}.task-top{display:flex;gap:14px;align-items:flex-start}.task-copy{flex:1;min-width:0;padding-top:1px}.task h4{font-size:16px;line-height:1.4;letter-spacing:-.02em;font-weight:500}.task-copy p{font-size:12px;color:var(--muted);margin-top:5px;letter-spacing:0}.task[data-help=true] .task-state{color:var(--mint);font-weight:600}.check{flex-shrink:0;border:1px solid var(--muted);background:white;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;margin:-5px 0 0 -3px}.check svg{width:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;visibility:hidden}.check[aria-pressed=true]{background:var(--mint);border-color:var(--mint);color:white}.check[aria-pressed=true] svg{visibility:visible}.check:hover:not(:disabled){border-color:var(--mint);box-shadow:0 0 0 3px var(--page)}.task details{padding-left:55px;font-size:13px;color:var(--muted)}.task summary{font-size:12px}.task details p{margin:4px 0 14px;line-height:1.6}.empty,.handoff-clear{padding:24px 0;font-size:16px;line-height:1.6}.handoff-intro{font-size:14px;color:var(--muted);margin:14px 0 24px}.handoff-note{border-block:1px solid var(--mist);padding:24px 0}.note-owner{font-size:12px;color:var(--muted);margin-bottom:12px}.handoff-note h4{font-size:22px;line-height:1.2;font-weight:600;letter-spacing:-.03em;margin-bottom:14px}.handoff-note>p:not(.note-owner){font-size:15px;color:var(--muted)}.primary{width:100%;min-height:48px;border:0;border-radius:12px;background:var(--ink);color:var(--page);font-size:15px;margin:24px 0 12px;padding:10px 14px}.primary:hover{background:var(--mint)}.primary:disabled{background:var(--mist);color:var(--muted)}.handoff-note .ack-note{font-size:12px!important;line-height:1.6}.handoff-footer{font-size:12px;line-height:1.6;color:var(--muted);margin-top:24px}.app-footer{text-align:center;background:var(--page);font-size:11px;letter-spacing:0;color:var(--muted);padding:18px 20px;line-height:1.7}.page-footer{border-top:1px solid var(--mist);max-width:1120px;margin:auto;padding:32px 0 48px;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:var(--muted)}.page-footer a{color:var(--mint)}body:not(.demo-ready) .interactive{display:none}body:not(.demo-ready) #handoff{margin-top:40px}.no-js{font-size:14px;color:var(--muted);margin-bottom:24px}
@media(max-width:900px){.layout{gap:40px;grid-template-columns:1fr 400px;padding-inline:28px}.intro h1{font-size:48px}.intro>p{font-size:19px}.site-nav{padding-inline:28px}.page-footer{margin-inline:28px}}
@media(max-width:720px){.site-nav{padding:12px 22px}.layout{display:flex;flex-direction:column;padding:24px 0 56px;gap:32px}.intro{position:static;padding:0 22px}.intro h1{font-size:44px;max-width:12ch;margin-bottom:20px}.intro>p{font-size:19px;max-width:34ch}.intro .try{margin-top:20px;font-size:15px}.about{margin-top:16px;font-size:14px}.app{width:100%;max-width:440px;align-self:center;border-radius:0;border-inline:0}.app-head{padding:22px}.app-body{padding:26px 22px}.app h2{font-size:32px}.page-footer{margin-inline:22px;flex-direction:column;padding-top:24px;gap:12px}.concept{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Native install instructions and an app-first standalone layout. */
.install-panel{max-width:42ch;margin-top:20px;font-size:14px;color:var(--muted)}.install-panel>summary{color:var(--mint);font-size:15px}.install-panel p{margin-top:16px;line-height:1.65}.install-panel strong{font-weight:600;color:var(--ink)}.install-identity{display:flex;align-items:center;gap:12px;margin-top:16px}.install-identity img{border-radius:11px;flex-shrink:0}.install-identity p{font-size:12px;margin:3px 0 0}.install-panel .primary{margin-top:20px}.install-panel .offline-status{color:var(--mint)}.install-panel .text-button{display:block;white-space:normal;text-align:left}.installed-app .site-nav,.installed-app .page-footer,.installed-app .intro>h1,.installed-app .intro>p,.installed-app .intro>.about{display:none}.installed-app .layout{display:flex;flex-direction:column;gap:0;max-width:540px;padding:0 0 max(24px,env(safe-area-inset-bottom))}.installed-app .app{order:0;width:100%;max-width:none;border:0;border-radius:0}.installed-app .intro{order:1;position:static;padding:0 22px;width:100%}.installed-app .concept{padding-top:max(8px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.installed-app .app-body{padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}

/* Fictional-task controls inherit the existing app palette and flat list. */
.new-task{border-block:1px solid var(--mist);margin-top:16px;padding:6px 0}.new-task>summary{color:var(--mint);font-size:14px}.new-task form{padding:4px 0 12px}.new-task label,.owner-label{display:block;font-size:14px;font-weight:500;color:var(--ink);margin:18px 0 8px}.new-task input,.new-task select,.owner-select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--muted);border-radius:10px;background:white;color:var(--ink);font:400 16px/1.4 Inter,system-ui,sans-serif}.new-task input:focus-visible,.new-task select:focus-visible,.owner-select:focus-visible{outline:3px solid var(--mint);outline-offset:3px}.new-task input[aria-invalid=true]{border-width:2px}.new-task p{font-size:12px;line-height:1.6;color:var(--muted)}.new-task .primary{margin:20px 0 12px}.new-task .primary:disabled{cursor:default}.new-task #task-form-error{font-size:13px;color:var(--ink);margin-top:14px}.owner-select{margin-bottom:16px}.task-copy h4{overflow-wrap:anywhere}.app-footer p{margin:0}

/* Editing is inline and limited to added fictional tasks. */
.task-actions{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 8px}.task-actions .text-button{min-height:44px;white-space:normal;text-align:left}.task-editor{padding-bottom:16px}.task-editor label{display:block;font-size:14px;font-weight:500;color:var(--ink);margin:12px 0 8px}.task-editor input{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--muted);border-radius:10px;background:white;color:var(--ink);font:400 16px/1.4 Inter,system-ui,sans-serif}.task-editor input:focus-visible{outline:3px solid var(--mint);outline-offset:3px}.task-editor input[aria-invalid=true]{border-width:2px}.task-editor .primary{margin:16px 0 4px}.task-editor .edit-error{font-size:13px;color:var(--ink);margin:12px 0 0}.task-editor .text-button{min-height:44px}.delete-undo{border-bottom:1px solid var(--mist);padding:16px 0}.delete-undo p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.delete-undo .text-button{min-height:44px}.delete-undo .undo-hint{font-size:12px;color:var(--muted)}.task-editor input::selection{background:var(--mint);color:white}.task-editor input{caret-color:var(--mint)}
