:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fff;--fg:#1a1a1a;--muted:#8a8a8a;--line:#e6e6e6;--hover:#f4f4f4;--accent:#2563eb;--accent-soft:#dbeafe;--danger:#dc2626;--done:#a3a3a3;--row-h:40px;--font:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111214;--fg:#ececec;--muted:#8b8b8b;--line:#2a2b2f;--hover:#1b1c20;--accent:#60a5fa;--accent-soft:#1e3a5f;--done:#6b6b6b}}@media (pointer:coarse){:root{--row-h:48px}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:16px/1.4 var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}.app{flex-direction:column;min-height:100%;display:flex}.main{flex:1;min-width:0}.sidebar .brand{padding:4px 10px 14px;font-size:18px;font-weight:700}.sidebar nav{flex-direction:column;gap:2px;display:flex}.side-link{min-height:36px;color:var(--fg);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:0 10px;display:flex}.side-link:hover{background:var(--line)}.side-link.active{background:var(--accent-soft);color:var(--accent)}.side-link.add{color:var(--muted)}.side-link:disabled{opacity:.4}.side-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:18px 10px 6px;font-size:12px}.side-title a.active{color:var(--accent)}.side-projects{flex:1}.side-bottom{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding-top:12px;display:flex}.side-status{color:var(--muted);padding:8px 10px 0;font-size:12px}.badge{background:var(--accent);color:#fff;border-radius:10px;padding:1px 7px;font-size:12px}.badge.muted{color:var(--muted);background:0 0;padding:0}.kbd{color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 5px;font-size:11px}.screen{width:100%;max-width:760px;padding:12px 16px calc(72px + env(safe-area-inset-bottom));flex:1;margin:0 auto}.topbar{z-index:5;background:var(--bg);align-items:center;gap:8px;min-height:48px;padding:6px 0;display:flex;position:sticky;top:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:20px;font-weight:600;overflow:hidden}.topbar .back{color:var(--accent);align-items:center;min-height:44px;padding:8px 8px 8px 0;display:inline-flex}.crumbs{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:14px;display:none}.crumbs a:hover{color:var(--fg)}@media (width>=720px) and (pointer:fine){.crumbs{display:flex}.topbar .back{display:none}}.bottombar{z-index:6;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg);border-top:1px solid var(--line);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottombar a,.bottombar button{min-width:56px;min-height:44px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;display:inline-flex}.bottombar .active{color:var(--accent)}.bottombar svg{width:22px;height:22px}.bottombar button:disabled{opacity:.35}.outline{margin:0;padding:0;list-style:none}.outline .outline{padding-left:22px}.row{min-height:var(--row-h);border-radius:6px;align-items:flex-start;display:flex;position:relative}.row:hover,.row.focused{background:var(--hover)}.row .handle{width:18px;min-height:var(--row-h);color:var(--muted);opacity:0;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;justify-content:center;align-items:center;display:flex}.row:hover .handle,.row.focused .handle{opacity:1}@media (pointer:coarse){.row .handle{display:none}.row.focused .handle{opacity:1;display:flex}}.row .bullet{width:28px;min-height:var(--row-h);color:var(--muted);flex:none;justify-content:center;align-items:center;display:flex}.row .bullet:before{content:"";background:var(--muted);border-radius:50%;width:7px;height:7px}.row.has-kids .bullet:before{box-shadow:0 0 0 3px var(--line)}.row .bullet:hover:before{background:var(--accent)}@media (pointer:coarse){.row .bullet{display:none}}.row .check{width:44px;min-height:var(--row-h);flex:none;justify-content:center;align-items:center;display:flex}.row .check span{border:1.5px solid var(--muted);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:background .12s;display:inline-flex}.row .body{min-width:0;padding:calc((var(--row-h) - 24px) / 2) 0;flex:1}.row textarea{resize:none;field-sizing:content;background:0 0;border:0;outline:none;width:100%;margin:0;padding:0;line-height:24px;display:block;overflow:hidden}.row.done textarea{color:var(--done);text-decoration:line-through}.row .meta{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.row .meta .overdue{color:var(--danger)}.row .note{color:var(--muted);white-space:pre-wrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.row .note.collapsed{white-space:nowrap}.row .zoom{min-width:44px;min-height:var(--row-h);color:var(--muted);white-space:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:4px;padding-right:8px;font-size:13px;display:inline-flex}.row .zoom:hover{color:var(--accent)}.row .caret{width:20px;min-height:var(--row-h);color:var(--muted);opacity:0;flex:none;justify-content:center;align-items:center;display:flex}.row:hover .caret,.row.focused .caret{opacity:1}.row .caret.open svg{transform:rotate(90deg)}@media (pointer:coarse){.row .caret{display:none}}.ghost{color:var(--muted);min-height:var(--row-h);cursor:text;align-items:center;padding-left:46px;display:flex}@media (pointer:fine){.ghost{padding-left:90px}}.show-done{color:var(--muted);padding:12px 0 12px 46px;font-size:14px}.shake{animation:.18s shake}@keyframes shake{25%{transform:translate(-2px)}75%{transform:translate(2px)}}.drop-line{background:var(--accent);pointer-events:none;height:2px;position:absolute;left:0;right:0}.drop-inside{outline:2px solid var(--accent);outline-offset:-2px}.projects{margin:0;padding:0;list-style:none}.project{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:56px;padding:10px 4px;display:flex}.project .title{font-weight:600}.project .sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.project .main{flex:1;min-width:0}.project .count{color:var(--muted);white-space:nowrap;font-size:13px}.group h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:10px;margin:18px 0 4px;font-size:13px;display:flex}.group h2 button{text-transform:none;letter-spacing:0;color:var(--accent);font-size:13px}.crumb-small{color:var(--muted);font-size:12px}.kbar{z-index:7;background:var(--bg);border-top:1px solid var(--line);justify-content:space-around;height:44px;display:flex;position:fixed;left:0;right:0}.kbar button{min-height:44px;color:var(--fg);flex:1;font-size:18px}.kbar button:disabled{opacity:.3}.menu{z-index:20;background:var(--bg);border:1px solid var(--line);border-radius:10px;min-width:220px;padding:6px;position:fixed;box-shadow:0 8px 30px #00000026}.menu button{border-radius:6px;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 10px;display:flex}.menu button:hover{background:var(--hover)}.menu .danger{color:var(--danger)}.menu input[type=date]{border:1px solid var(--line);background:var(--bg);border-radius:6px;width:100%;min-height:44px;padding:0 8px}.backdrop{z-index:19;position:fixed;inset:0}.toasts{left:50%;bottom:calc(68px + env(safe-area-inset-bottom));z-index:30;flex-direction:column;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.toast{background:var(--fg);color:var(--bg);border-radius:8px;align-items:center;gap:14px;padding:10px 14px;font-size:14px;display:flex;box-shadow:0 6px 20px #0003}.toast button{color:#93c5fd;font-weight:600}.status-dot{background:var(--danger);border-radius:50%;width:8px;height:8px;display:inline-block}.login{justify-content:center;align-items:center;min-height:100%;padding:16px;display:flex}.login-card{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.login-card h1{margin:0 0 8px}.login-card label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.login-card input{border:1px solid var(--line);background:var(--bg);border-radius:8px;min-height:44px;padding:0 10px}.login-card button[type=submit]{background:var(--accent);color:#fff;border-radius:8px;min-height:44px;font-weight:600}.link{color:var(--accent);min-height:44px}.error{color:var(--danger);margin:0}.muted{color:var(--muted)}.empty{color:var(--muted);padding:24px 0}.search-input{border:1px solid var(--line);background:var(--bg);border-radius:8px;outline:none;width:100%;min-height:44px;padding:0 12px}.search-input:focus{border-color:var(--accent)}.result{border-bottom:1px solid var(--line);padding:10px 4px;display:block}@media (width>=900px) and (pointer:fine){.mobile-only{display:none}}.sidebar{display:none}@media (width>=900px) and (pointer:fine){.app{flex-direction:row}.sidebar{border-right:1px solid var(--line);background:var(--hover);flex-direction:column;flex:none;width:260px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.bottombar{display:none}.screen{margin:0;padding-bottom:80px;padding-left:40px;padding-right:40px}.toasts{bottom:24px}}@media (pointer:fine){.row .menu-btn{opacity:0}.row:hover .menu-btn,.row.focused .menu-btn{opacity:1}}.row .add-child{font-size:12px}.row textarea::placeholder{color:#0000}.row.focused textarea::placeholder,.row textarea:focus::placeholder{color:var(--muted)}.hint{color:var(--muted);margin-top:24px;font-size:12px}.desktop-only{display:none}@media (width>=900px) and (pointer:fine){.desktop-only{display:block}}.row .check span{border:1px solid var(--line);border-color:color-mix(in srgb, var(--muted) 55%, var(--bg));width:14px;height:14px}.row:hover .check span,.row.focused .check span{border-color:var(--muted)}.row .check span svg{width:9px;height:9px}@media (pointer:fine){.row .check{width:26px}.row .bullet{width:22px}.ghost{padding-left:84px}}@media (pointer:coarse){.row .check span{width:16px;height:16px}}.row,.row button,.side-link,.project,.bottombar a,.bottombar button{transition:background .15s,color .15s,opacity .15s,border-color .15s}.row .bullet{display:none}.row .check span{border:1px solid color-mix(in srgb, var(--muted) 60%, var(--bg));border-radius:3px;width:14px;height:14px}.row.done .check span{background:var(--muted);border-color:var(--muted)}.row .check:hover span:after{content:"";background:color-mix(in srgb, var(--muted) 35%, var(--bg));border-radius:2px;width:8px;height:8px}.row.done .check:hover span:after{display:none}.row .caret{opacity:0;width:22px}.row.has-kids .caret{opacity:.8}.row.has-kids .caret:hover{opacity:1;color:var(--fg)}.row .due{min-height:var(--row-h);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;cursor:default;align-self:flex-start;align-items:center;padding:0 8px;font-size:13px;display:inline-flex}@media (pointer:fine){.row .due{cursor:pointer}.row .due:hover{color:var(--fg)}}.row .due.overdue{color:var(--danger)}.row .zoom{font-variant-numeric:tabular-nums}.tree-tools{gap:16px;margin-top:16px;display:flex}.link-btn{color:var(--muted);min-height:32px;font-size:13px}.link-btn:hover{color:var(--accent)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.row textarea:focus-visible{outline:none}.side-title{text-transform:none;letter-spacing:0;font-size:13px}.group h2{text-transform:none;letter-spacing:0;font-size:14px;font-weight:600}.badge{font-variant-numeric:tabular-nums}:root{--muted:#6b6b6b;--done:#767676}@media (prefers-color-scheme:dark){:root{--muted:#9a9a9a;--done:#8c8c8c}}.toast button{color:var(--bg);font-weight:600;text-decoration:underline}.row.focused{box-shadow:inset 2px 0 0 var(--accent)}.row{scroll-margin-top:64px;scroll-margin-bottom:112px}.row .handle{display:none}.row-actions{opacity:0;flex:none;align-items:flex-start;display:flex}.row:hover .row-actions,.row.focused .row-actions,.row-actions:focus-within{opacity:1}.row-act{min-height:var(--row-h);color:var(--muted);white-space:nowrap;padding:0 8px;font-size:13px}.row-act:hover,.row-act:last-child:hover{color:var(--fg)}.ghost{text-align:left;width:100%}.login-card button[type=submit]:disabled{opacity:.6;cursor:default}.note.collapsed{text-align:left;width:100%;display:block}.row-act:nth-last-child(2):hover{color:var(--danger)}@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}:root{--font:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg:#fdfcfb;--fg:#1b1917;--muted:#6b6560;--line:#e7e2dc;--hover:#f4f1ed;--accent:#3d6b53;--accent-soft:#e4ede7;--danger:#a33a2a;--done:#7a746e;--row-h:38px;--indent:24px}@media (prefers-color-scheme:dark){:root{--bg:#171614;--fg:#ebe8e3;--muted:#a09a93;--line:#2d2a26;--hover:#201e1b;--accent:#7fae92;--accent-soft:#23302a;--danger:#d98a7a;--done:#8b857e}}@media (pointer:coarse){:root{--row-h:46px}}body{font-family:var(--font);text-rendering:optimizelegibility}.topbar h1,.title-edit{letter-spacing:-.02em;font-weight:600}.screen .title-edit{font-size:24px!important}.topbar h1{font-size:22px}.sidebar .brand{letter-spacing:-.02em;color:var(--fg);font-size:17px;font-weight:600}.hint,.crumbs,.crumb-small{text-wrap:pretty}.outline .outline{padding-left:var(--indent);position:relative}.outline .outline:before{content:"";background:var(--line);width:1px;position:absolute;top:2px;bottom:4px;left:10px}.row.has-kids>.body>textarea{font-weight:500}.row .check span{border-color:color-mix(in srgb, var(--muted) 45%, var(--bg));border-radius:4px}.row.done .check span{background:var(--accent);border-color:var(--accent);color:#fff}.row .check:hover span{border-color:var(--accent)}.row .check:active span{transform:scale(.92)}.row.done textarea{-webkit-text-decoration-color:color-mix(in srgb, var(--done) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--done) 60%, transparent)}.side-link:active,.row-act:active,.link-btn:active,.bottombar button:active,.kbar button:active{transform:translateY(1px)}.login-card button[type=submit]:active{transform:scale(.99)}.sidebar{background:color-mix(in srgb, var(--hover) 70%, var(--bg))}.menu{box-shadow:0 10px 30px color-mix(in srgb, var(--fg) 14%, transparent);border-color:var(--line);border-radius:12px}.menu button{border-radius:8px;min-height:40px}.toast{box-shadow:0 8px 24px color-mix(in srgb, var(--fg) 22%, transparent);border-radius:10px}.side-link,.row{border-radius:8px}.badge{border-radius:6px;font-weight:500}html{scroll-behavior:smooth}.skip-link{z-index:40;background:var(--accent);color:#fff;border-radius:8px;padding:8px 14px;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:8px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition-duration:.01ms!important;animation-duration:.01ms!important}}
