:root{--bg: #f3f4f6;--card: #ffffff;--blue: #2f7fe0;--blue-dark: #2568c9;--blue-soft: rgba(47, 127, 224, .08);--blue-border: #7fabe0;--blue-chip-border: rgba(47, 127, 224, .35);--blue-chip-text: #1f5fb0;--blue-ring: rgba(47, 127, 224, .12);--text: #14181d;--text-secondary: #5b6472;--text-tertiary: #767f8e;--border: #dfe3e8;--border-light: #eceef1;--border-strong: #c5cbd3;--panel-border: #c7d3e3;--completed: #838b98;--hover: #eef0f3;--red: #ff3b30;--red-dark: #d92c20;--red-muted: #9c7a76;--chip: #eef0f3;--chip-hover: #e2e5ea;--panel: #f6f8fb;--on-accent: #ffffff;--submit-off: #e7e9ec;--submit-off-text: #9aa2ad;--token-text: #1c5aa8;--token-underline: rgba(47, 127, 224, .45);--selection: rgba(47, 127, 224, .25);--shadow-1: 0 1px 3px rgba(20, 24, 29, .08);--shadow-2: 0 8px 24px rgba(20, 24, 29, .12), 0 2px 6px rgba(20, 24, 29, .06);--ease: cubic-bezier(.32, .72, 0, 1);--font-sans: "Instrument Sans", system-ui, -apple-system, sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--text-xs: 10.5px;--text-sm: 11.5px;--text-base: 12.5px;--text-mono: 12px;--text-md: 14px;--text-lg: 15px;--text-title: 40px;--r-sm: 8px;--r-md: 9px;--r-lg: 11px;--r-card: 14px;--r-pill: 999px;--s-1: 4px;--s-2: 7px;--s-3: 10px;--s-4: 14px;--s-5: 18px;--z-base: 1;--z-sticky: 10;--z-dropdown: 20;--z-drag: 30;--z-sheet: 40;color-scheme:light;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--bg: #0d0e10;--card: #16181b;--blue: #4b9bff;--blue-dark: #409cff;--blue-soft: rgba(75, 155, 255, .13);--blue-border: #3a5f8c;--blue-ring: rgba(75, 155, 255, .16);--blue-chip-border: rgba(75, 155, 255, .4);--blue-chip-text: #cfe3ff;--text: #eef1f5;--text-secondary: #98a0ab;--text-tertiary: #6b737e;--border: #262a30;--border-light: #1e2126;--border-strong: #3a3f46;--panel-border: #2c3a4a;--completed: #4e555f;--hover: #232325;--red: #ff453a;--red-dark: #d63a30;--red-muted: #8a6a6a;--chip: #2c2c2e;--chip-hover: #3a3a3c;--panel: #1b1e22;--on-accent: #0d1117;--submit-off: #1f242a;--submit-off-text: #5c646d;--token-text: #8fbdf0;--token-underline: rgba(75, 155, 255, .5);--selection: rgba(75, 155, 255, .35);--shadow-1: 0 0 0 1px #22252a;--shadow-2: 0 8px 24px rgba(0, 0, 0, .5), 0 0 0 1px #22252a;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:var(--text-lg);line-height:1.45}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:var(--r-sm)}.shell{display:flex;align-items:flex-start;min-height:100vh;min-height:100dvh}.app{flex:1;min-width:0;max-width:680px;margin:0 auto;padding:max(56px,calc(env(safe-area-inset-top) + 16px)) 20px calc(96px + env(safe-area-inset-bottom))}.app.wide{max-width:1080px}.sidebar{position:sticky;top:0;flex-shrink:0;display:flex;flex-direction:column;width:232px;height:100vh;height:100dvh;padding:max(56px,env(safe-area-inset-top)) 12px 24px;border-right:1px solid var(--border);overflow:hidden}.nav-scroll{flex:1;min-height:0;overflow-y:auto}.nav{display:flex;flex-direction:column;gap:1px}.sidebar-label{margin:22px 10px 6px;font:500 var(--text-xs) var(--font-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--completed)}.sidebar-utils{margin-top:auto;display:flex;flex-direction:column;gap:1px}.nav-item{display:flex;align-items:center;gap:6px;padding:0 8px 0 10px;border-radius:var(--r-md);transition:background .15s ease;position:relative}.nav-item:hover{background:color-mix(in srgb,var(--text) 4%,transparent)}.nav-item.active{background:var(--hover)}.nav-item.active .nav-count{color:var(--blue);font-weight:500}.nav-link{flex:1;min-width:0;display:flex;align-items:center;gap:9px;padding:7px 0;border:none;background:none;text-align:left;font-size:var(--text-md);letter-spacing:-.005em;cursor:pointer}.nav-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item.active .nav-name{font-weight:600}.view-icon{width:17px;height:17px;flex-shrink:0;color:var(--text-secondary);transition:color .15s ease}.nav-dot{display:flex;width:17px;height:17px;flex-shrink:0;align-items:center;justify-content:center}.nav-dot:before{content:"";width:9px;height:9px;border-radius:var(--r-pill);background:currentColor}.nav-swatch{display:flex;flex-shrink:0;margin-right:3px;padding:0;border:none;border-radius:var(--r-pill);background:none;cursor:pointer}.nav-swatch:hover .nav-dot:before,.nav-swatch[aria-expanded=true] .nav-dot:before{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 28%,transparent)}.nav-item.active .view-icon,.nav-item.editing .view-icon{color:var(--blue)}.nav-gap{height:22px}.nav-count{margin-left:auto;flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-mono);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.nav-add{display:flex;align-items:center;gap:9px;margin-top:4px;padding:7px 10px;border:none;border-radius:var(--r-md);background:none;font-size:var(--text-base);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.nav-add:hover{background:color-mix(in srgb,var(--text) 4%,transparent);color:var(--text)}.nav-add-plus{display:flex;width:17px;height:17px;color:var(--text-tertiary)}.nav-add-plus svg{width:100%;height:100%}.nav-add:hover .nav-add-plus{color:var(--blue)}.inline-input{flex:1;min-width:0;padding:7px 0;border:none;background:none;font-size:var(--text-md);letter-spacing:-.005em;outline:none}.inline-input::placeholder{color:var(--text-tertiary)}@media(max-width:760px){.shell{flex-direction:column;align-items:stretch}.shell.browsing .app,.shell:not(.browsing) .sidebar{display:none}.sidebar{position:static;width:auto;height:auto;min-height:100dvh;padding:max(20px,env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom));border-right:none;overflow:visible}.nav-scroll{flex:none;overflow:visible}.nav-link,.nav-add{padding-top:11px;padding-bottom:11px;font-size:var(--text-md)}.app{padding-top:max(20px,env(safe-area-inset-top))}.inline-input{font-size:16px}}.nav-palette{display:grid;grid-template-columns:repeat(6,17px);justify-content:center;gap:9px;padding:10px;margin:1px 0 2px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--text) 4%,transparent)}.swatch{width:17px;height:17px;padding:0;border:none;border-radius:var(--r-pill);background:currentColor;cursor:pointer;transition:transform .12s ease}.swatch:hover{transform:scale(1.15)}.swatch.picked{outline:2px solid currentColor;outline-offset:2px}.swatch.default{background:none;color:var(--text-tertiary);box-shadow:inset 0 0 0 1.5px currentColor}.settings-page{display:flex;flex-direction:column;padding:4px 20px}.settings-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;padding:18px 0}.settings-row+.settings-row{border-top:1px solid var(--border-light)}.settings-row h2{margin:0 0 4px;font-size:16px}.settings-hint{margin:0;max-width:40ch;font-size:var(--text-md);color:var(--text-secondary)}.theme-switch{display:flex;gap:3px;min-width:224px;padding:3px;border-radius:var(--r-sm);background:var(--chip)}.theme-option{display:flex;flex:1;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;border:none;border-radius:var(--r-sm);background:none;font-size:var(--text-base);white-space:nowrap;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.theme-option svg{width:16px;height:16px}.theme-option:hover{background:var(--chip-hover);color:var(--text)}.theme-option.active{background:var(--blue);color:var(--on-accent)}.settings-restore{display:flex;align-items:center;gap:12px}@media(max-width:760px){.settings-row{flex-direction:column;align-items:stretch}.theme-switch{width:100%;min-width:0}}.login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.booting{min-height:100dvh;background:var(--bg)}.login-card{display:flex;flex-direction:column;width:100%;max-width:380px;padding:28px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow-1)}.login-card h1{margin:0 0 20px;font:400 32px/1 var(--font-serif);letter-spacing:-.01em}.login-card label{margin-bottom:7px;font:500 var(--text-sm) var(--font-sans);color:var(--text-secondary)}.login-card input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);font:400 var(--text-base) var(--font-mono);color:var(--text)}.login-card input:focus{outline:none;border-color:var(--blue-border);box-shadow:0 0 0 3px var(--blue-ring)}.login-hint{margin:8px 0 0;font:400 var(--text-sm) var(--font-sans);color:var(--text-tertiary)}.login-error{margin:10px 0 0;font:400 var(--text-sm) var(--font-sans);color:var(--red)}.login-card .btn{margin-top:18px}.header{display:flex;align-items:flex-end;gap:14px;margin-bottom:20px}.back{display:flex;align-items:center;gap:2px;margin:0 0 12px -6px;padding:6px 8px 6px 2px;border:none;border-radius:var(--r-sm);background:none;font-size:var(--text-lg);color:var(--blue);cursor:pointer}.back svg{width:20px;height:20px}.header h1{margin:0;font:400 var(--text-title) / 1 var(--font-serif);letter-spacing:-.01em;overflow-wrap:anywhere}.header-sub{margin:0 0 4px;font:400 13px var(--font-sans);color:var(--text-secondary)}.header-sub .sep{margin:0 7px;color:var(--border-strong)}.header-sub .num{font-family:var(--font-mono);font-size:var(--text-mono)}.header-gap{flex:1}@media(max-width:760px){.header{flex-wrap:wrap;align-items:center;gap:8px 10px}.back{order:1;margin-bottom:0}.header-gap{order:2}.view-menu,.header .btn{order:3}.view-menu{margin-bottom:0}.header h1{order:4;flex:1 0 100%;overflow-wrap:break-word}.header-sub{order:5;flex:1 0 100%;margin:0}}.view-menu{position:relative;margin-bottom:4px}.view-menu-button{display:flex;padding:5px 7px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--text-secondary);cursor:pointer}.view-menu-button svg{width:18px;height:18px}.view-menu-button:hover,.view-menu-button[aria-expanded=true]{color:var(--text);border-color:var(--border-strong)}.view-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-dropdown);min-width:210px;padding:6px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-2);animation:view-menu-in .14s var(--ease)}.view-menu-caption{margin:0;padding:6px 10px 8px;border-bottom:1px solid var(--border);font:400 var(--text-xs) var(--font-sans);color:var(--text-tertiary);white-space:nowrap}.view-menu-caption+.view-menu-item{margin-top:4px}.view-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:var(--r-sm);background:none;text-align:left;font:400 var(--text-md) var(--font-sans);color:var(--text);white-space:nowrap;cursor:pointer}.view-menu-item:hover{background:var(--hover)}.view-menu-item.danger{color:var(--red)}.view-menu-item.armed{background:var(--red);color:var(--on-accent);white-space:normal}.view-menu-check{display:flex;width:15px;flex-shrink:0;color:var(--blue)}.view-menu-check .check-icon{width:15px;height:15px}.view-menu-check .check-icon path{stroke-dashoffset:0}@keyframes view-menu-in{0%{opacity:0;transform:translateY(-4px)}}.card{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-2);overflow:hidden}.error{margin-bottom:12px;padding:12px 16px;background:var(--card);border-left:3px solid var(--red);border-radius:var(--r-sm);color:var(--red);font-size:var(--text-md);box-shadow:var(--shadow-1)}.empty{margin:0;padding:34px 18px 38px;text-align:center;font-size:var(--text-md);color:var(--text-secondary)}.form{padding:13px 18px}.form-create{display:flex;flex-direction:column;border-bottom:1px solid var(--border-light)}.compose-field{display:flex;align-items:center;gap:11px;padding:10px 13px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel)}.compose-field:focus-within{border-color:var(--blue-border);box-shadow:0 0 0 3px var(--blue-soft)}.plus{display:flex;width:19px;height:19px;flex-shrink:0;color:var(--completed);transition:color .2s ease}.plus svg{width:100%;height:100%}.form.open .plus{color:var(--blue)}.title-field{position:relative;flex:1;min-width:0}.title-input,.title-overlay{font:400 var(--text-lg) var(--font-sans);line-height:1.45;letter-spacing:-.005em}.title-input{width:100%;border:none;background:none;padding:0;outline:none;color:transparent;caret-color:var(--text)}.title-input::placeholder{color:var(--text-tertiary)}.title-input::selection{color:var(--text);background:var(--selection)}.title-overlay{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;white-space:pre;pointer-events:none;color:var(--text)}.token{color:var(--token-text);text-decoration:underline;text-decoration-color:var(--token-underline);text-underline-offset:3px;pointer-events:auto;cursor:pointer}.compose-submit{flex-shrink:0;padding:5px 11px;border:none;border-radius:var(--r-sm);background:var(--blue);color:var(--on-accent);font:600 var(--text-base) var(--font-sans);cursor:pointer}.compose-submit[aria-disabled=true]{background:var(--submit-off);color:var(--submit-off-text);cursor:default}.compose-submit.glyph{padding:0;font:400 11px var(--font-mono);color:var(--completed);background:none;cursor:default}.compose-notice{display:flex;align-items:center;gap:8px;margin-top:var(--s-3);font:400 var(--text-base) var(--font-sans);color:var(--text-secondary)}.compose-notice-mark{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid var(--text-tertiary);border-radius:50%;font:600 10px var(--font-mono);color:var(--text-tertiary)}.btn{padding:6px 14px;border:none;border-radius:var(--r-sm);background:var(--chip);font-size:var(--text-md);font-weight:500;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .1s ease}.btn:hover:not(:disabled){background:var(--chip-hover)}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:var(--blue);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--blue-dark)}.btn.danger{background:var(--red);color:var(--on-accent)}.btn.danger:hover:not(:disabled){background:var(--red-dark)}.btn:disabled{opacity:.45;cursor:default}.readback{display:flex;align-items:baseline;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid var(--border-light)}.readback-label{font:500 var(--text-xs) var(--font-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--completed)}.readback-text{flex:1;font:400 13px / 1.5 var(--font-sans);color:var(--text)}.readback-text .num{font-family:var(--font-mono);font-size:var(--text-mono)}.readback-text .project{color:var(--project-color)}.readback-clear{flex-shrink:0;border:none;background:none;font:400 var(--text-sm) var(--font-sans);color:var(--text-tertiary);cursor:pointer}@media(max-width:760px){.title-input,.title-overlay{font-size:16px}}.chip-panel{margin-top:var(--s-3);padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--panel)}.chip-panel-presets{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}.chip-panel-presets+.chip-panel-presets{margin-top:6px}.preset{padding:5px 11px;border:none;border-radius:var(--r-sm);background:none;color:var(--text-secondary);font-size:var(--text-base);cursor:pointer}.preset.selected{background:var(--blue-ring);color:var(--blue-chip-text);font-weight:500;box-shadow:0 0 0 1px var(--blue-border)}.preset.project{display:inline-flex;align-items:center;gap:7px}.preset.clear{color:var(--text-tertiary)}.preset:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.preset:disabled{opacity:.4;cursor:default}.chip-panel input,.chip-panel select{padding:5px 9px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel);color:var(--text-secondary);font:400 var(--text-base) var(--font-mono)}.chip-panel input[type=date],.chip-panel input[type=time]{margin-left:auto}.chip-panel input[type=number]{width:52px;text-align:right}.repeat-weekdays,.repeat-anchor{display:inline-flex;gap:3px}.repeat-anchor-full{display:flex;flex-direction:column;align-items:stretch;gap:3px;width:100%}.anchor-preset{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.preset-hint{font:400 var(--text-sm) var(--font-sans);color:var(--text-tertiary)}.repeat-every{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-size:var(--text-base);color:var(--text-tertiary)}.repeat-every input{width:40px;text-align:right}.chip-panel .notes-input{box-sizing:border-box;width:100%;border:none;background:none;padding:0;outline:none;resize:none;font-size:13.5px;color:var(--text-secondary)}.chip-panel-hint{margin-top:9px;font:400 var(--text-sm) var(--font-sans);color:var(--text-tertiary)}.chip-panel-backdrop{display:none}@media(max-width:760px){.chip-panel input,.chip-panel select,.chip-panel .notes-input{font-size:16px}.chip-panel{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sheet);margin:0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border:none;border-top:1px solid var(--panel-border);border-radius:var(--r-card) var(--r-card) 0 0;animation:sheet-in .24s var(--ease)}.chip-panel-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-sheet) - 1);background:#00000073}.preset{min-height:44px;padding:10px 14px}.chip-panel input[type=date],.chip-panel input[type=time]{min-height:44px}}@keyframes sheet-in{0%{transform:translateY(100%)}}.day+.day{border-top:1px solid var(--border)}.day.pointer-over{background:var(--blue-soft);box-shadow:inset 0 0 0 1.5px var(--blue)}.day .form-create{border-bottom:none}.day-head{display:flex;align-items:baseline;gap:8px;padding:14px 18px 6px}.day-title{margin:0;font-size:var(--text-md);font-weight:600;color:var(--text)}.day-sub{font-size:var(--text-sm);color:var(--text-tertiary)}.day-total{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-mono);color:var(--text-secondary);white-space:nowrap}.task-list{list-style:none;margin:0;padding:0}.task{position:relative;overflow:hidden;animation:slide-in .28s var(--ease)}@keyframes slide-in{0%{opacity:0;transform:translateY(-8px)}}.task.leaving{animation:slide-out .26s ease forwards;pointer-events:none}@keyframes slide-out{0%{max-height:160px}to{max-height:0;opacity:0;transform:translate(30px)}}.task-row{position:relative;z-index:var(--z-base);display:flex;align-items:flex-start;gap:13px;padding:var(--s-4) var(--s-5);background:var(--card);transition:background .15s ease,transform .22s var(--ease);touch-action:pan-y}.task-row.swiping{transition:none}.task-row:hover{background:var(--hover)}.swipe-delete-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-base);pointer-events:none;display:flex;align-items:center;justify-content:flex-end;padding-right:24px;background:var(--red);color:var(--on-accent);opacity:0}.task:has(.task-row.swiping) .swipe-delete-bg{opacity:1}.swipe-delete-bg svg{width:18px;height:18px}.task:not(:first-child) .task-row:before{content:"";position:absolute;top:0;left:51px;right:18px;height:1px;background:var(--border-light);transition:opacity .15s ease}.task-row:hover:before{opacity:0}.task.editing .task-row{display:none}.done .task-row{align-items:center;padding:8px var(--s-5)}.done-divider+.task .task-row:before{display:none}.done-divider{display:flex;align-items:center;gap:10px;padding:var(--s-4) var(--s-5) 8px}.done-divider-label{font:500 var(--text-xs) var(--font-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--completed)}.done-divider-count{font:400 11px var(--font-mono);color:var(--completed)}.done-divider-rule{flex:1;height:1px;background:var(--border-light)}.checkbox{position:relative;flex-shrink:0;width:21px;height:21px;margin-top:1px;padding:0;border:1.5px solid var(--border);border-radius:var(--r-pill);background:none;color:var(--on-accent);cursor:pointer;display:grid;place-items:center;box-shadow:inset 0 0 0 0 var(--blue);transition:box-shadow .25s var(--ease),border-color .2s ease,transform .12s ease}.checkbox:hover{border-color:var(--blue)}.checkbox:active{transform:scale(.88)}.done .checkbox{border-color:var(--blue);box-shadow:inset 0 0 0 12px var(--blue)}.check-icon{width:17px;height:17px}.check-icon path{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .22s ease .06s}.done .check-icon path{stroke-dashoffset:0}@media(max-width:760px){.checkbox:before{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}}.task-body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;border:none;background:none;text-align:left;cursor:text}.task-title{font-size:var(--text-lg);letter-spacing:-.005em;overflow-wrap:anywhere;text-decoration-line:line-through;text-decoration-thickness:1px;text-decoration-color:transparent;transition:text-decoration-color .28s var(--ease),color .28s ease}.done .task-title{color:var(--completed);text-decoration-color:currentColor;font-size:var(--text-md)}.task-notes{font-size:var(--text-md);color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;transition:color .28s ease}.done .task-notes{color:var(--completed)}.task-meta{display:flex;align-items:baseline;gap:8px;margin-top:1px}.task-time{font-family:var(--font-mono);font-size:var(--text-mono);color:var(--text-tertiary)}.task-ago{font:400 11px var(--font-mono);color:#3f454d}.schedule{font-size:var(--text-sm);font-weight:500;letter-spacing:-.005em;white-space:nowrap;transition:color .28s ease}.schedule.overdue{color:var(--text-tertiary);font-weight:600}.schedule.overdue:before{content:"↺";margin-right:3px;font-weight:400}.schedule.today{color:var(--blue)}.schedule.upcoming{color:var(--text-secondary)}.done .schedule{color:var(--completed);font-weight:400}.done .schedule.overdue:before{content:none}.schedule.estimate-only{color:var(--text-secondary);font-weight:500}.project-picker{flex-shrink:0;max-width:130px;margin-top:1px;padding:2px 17px 2px 8px;overflow:hidden;border:none;border-radius:var(--r-sm);background-color:var(--chip);background-repeat:no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23999' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 6px center;background-size:8px 5px;font-size:var(--text-base);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;cursor:pointer;transition:opacity .18s ease,background-color .15s ease,color .15s ease}.project-picker:hover{background-color:var(--chip-hover);color:var(--text)}.project-picker.filed{background-color:color-mix(in srgb,var(--project-color) 16%,var(--card));color:color-mix(in srgb,var(--project-color) 65%,var(--text))}.project-picker.filed:hover{background-color:color-mix(in srgb,var(--project-color) 26%,var(--card))}.project-picker.inbox{opacity:0;background-color:transparent;border:1px dashed var(--border);color:var(--text-tertiary)}.task-row:hover .project-picker.inbox,.project-picker.inbox:focus-visible{opacity:1}.done .project-picker{color:var(--completed)}@media(hover:none){.project-picker.inbox{opacity:1}}.task-editor .project-picker,.task-editor .project-picker.inbox{opacity:1;max-width:160px;background-color:var(--chip);color:var(--text-secondary)}.task-editor .project-picker:hover{background-color:var(--chip-hover);color:var(--text)}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:14px;overflow-x:auto;padding-bottom:8px}.board-col{display:flex;flex-direction:column;gap:8px;min-width:0;max-height:calc(100vh - 200px);padding:10px;border:1px solid var(--border-light);border-radius:var(--r-card);background:var(--hover)}.board-col .task-list{flex:1 1 auto;min-height:0;overflow-y:auto}.board-col.drop-over{background:color-mix(in srgb,var(--blue) 12%,transparent);box-shadow:inset 0 0 0 1.5px var(--blue)}.board .task{border:1px solid var(--border-light);border-radius:var(--r-card);background:var(--card)}.board .task .task-row:before{display:none}.board .project-picker{max-width:64px}.drag-handle{position:absolute;left:3px;top:13px;display:flex;padding:2px;color:var(--text-tertiary);cursor:grab;opacity:0;transition:opacity .18s ease}.drag-handle svg{width:10px;height:16px}.task-row:hover .drag-handle{opacity:.7}.drag-handle:active{cursor:grabbing}.task.dragging .task-row{opacity:.4}.nav-item.drop-over,.nav-item.pointer-over{background:color-mix(in srgb,var(--blue) 12%,transparent);box-shadow:inset 0 0 0 1.5px var(--blue)}.nav-item.drop-over .nav-name,.nav-item.pointer-over .nav-name{font-weight:600}body.dragging-pointer{-webkit-user-select:none;user-select:none;cursor:grabbing}.task.lifted{touch-action:none}.task.lifted .task-row{opacity:.35}.drag-ghost{z-index:var(--z-drag);opacity:.92;border-radius:var(--r-sm);background:var(--card);box-shadow:var(--shadow-2)}.drag-ghost .drag-handle,.drag-ghost .delete{opacity:0}.card.pointer-over{box-shadow:inset 0 0 0 2px var(--blue)}.nav-item.draggable{cursor:grab;touch-action:pan-y}.nav-item.draggable:active{cursor:grabbing}.nav-item.dragging{opacity:.4}.nav-item.drop-before:before,.nav-item.drop-after:after{content:"";position:absolute;left:4px;right:4px;height:2px;border-radius:1px;background:var(--blue)}.nav-item.drop-before:before{top:-1px}.nav-item.drop-after:after{bottom:-1px}@media(hover:none){.drag-handle{display:none}.nav-item.draggable{cursor:default}}.project-autocomplete{display:flex;flex-direction:column;max-height:184px;margin-top:9px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);animation:command-in .18s var(--ease)}.project-autocomplete-item{display:flex;align-items:center;gap:9px;min-height:38px;padding:7px 12px;border:none;background:none;font-size:var(--text-md);text-align:left;cursor:pointer;transition:background .12s ease}.project-autocomplete-item+.project-autocomplete-item{border-top:1px solid var(--border-light)}.project-autocomplete-item.active{background:var(--hover)}.project-autocomplete-item:active{background:var(--border-light)}.project-autocomplete-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-dot{flex-shrink:0;width:8px;height:8px;border-radius:var(--r-pill);background:var(--project-color)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-3)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 5px 4px 10px;border:1px solid var(--blue-chip-border);border-radius:var(--r-md);background:var(--blue-soft);color:var(--blue-chip-text);font:500 var(--text-base) var(--font-sans);cursor:pointer;animation:chipin .18s var(--ease)}.chip.unset{padding:5px 11px;gap:7px;border:1px solid var(--border);background:none;color:var(--text-tertiary)}.chip[aria-expanded=true]{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-chip-text);box-shadow:0 0 0 3px var(--blue-ring)}.chip:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.chip[aria-disabled=true]{opacity:.4;cursor:default}.chip.numeric{font-family:var(--font-mono)}.chip svg{width:13px;height:13px;color:var(--blue)}.chip.project{border-color:color-mix(in srgb,var(--project-color) 40%,transparent);background:color-mix(in srgb,var(--project-color) 12%,transparent);color:color-mix(in srgb,var(--project-color) 45%,white)}.chip-overflow{display:inline-flex;align-items:center;padding:4px 10px;border:1px dashed var(--border);border-radius:var(--r-md);background:none;color:var(--text-tertiary);font:500 var(--text-base) var(--font-sans);cursor:pointer}.chip-clear{display:inline-flex;align-items:center;padding:2px 5px;border:none;border-radius:6px;background:none;color:var(--blue);font-size:11px;line-height:1;cursor:pointer}@keyframes chipin{0%{opacity:0;transform:translateY(-3px)}}@keyframes command-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@media(max-width:760px){.project-autocomplete{max-height:220px}.project-autocomplete-item{min-height:44px;font-size:var(--text-lg)}.chip-clear{justify-content:center;align-items:center;min-width:26px;min-height:26px}.chip{min-height:44px}}.today-panes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:18px;align-items:start}.timeline{position:relative;max-height:calc(100vh - 190px);overflow-y:auto;overscroll-behavior:contain;padding:15px 14px 16px 0;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--r-card)}.timeline-canvas{position:relative}.missed-anchor{position:sticky;top:0;height:0;z-index:var(--z-drag)}.missed-pill{position:absolute;top:2px;left:50%;transform:translate(-50%);padding:4px 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--card);box-shadow:var(--shadow-2);font-size:var(--text-sm);font-weight:600;letter-spacing:-.005em;color:var(--text-secondary);white-space:nowrap;cursor:pointer;animation:command-in .18s var(--ease);transition:color .15s ease}.missed-pill:hover{color:var(--text)}.hour{position:absolute;left:52px;right:0;border-top:1px dotted #23272c}.hour-label{position:absolute;left:-52px;top:-7px;width:44px;text-align:right;font-family:var(--font-mono);font-size:var(--text-mono);color:var(--completed);font-variant-numeric:tabular-nums}.timeline-blocks{position:absolute;top:0;bottom:0;left:52px;right:0}.block-slot{position:absolute;padding-right:4px;z-index:var(--z-base)}.block-slot{touch-action:none}.block-slot.dragging{z-index:var(--z-drag)}.block-slot.dragging .block{box-shadow:var(--shadow-2)}.block-slot.selected{z-index:var(--z-drag)}.block-slot.selected .block{box-shadow:0 0 0 1px var(--blue)}.block{position:relative;cursor:grab;display:flex;align-items:flex-start;gap:7px;height:100%;overflow:hidden;padding:5px 10px;border-left:2px solid var(--project-color, var(--completed));border-radius:var(--r-md);background:color-mix(in srgb,var(--project-color, var(--completed)) 10%,transparent);transition:background .15s ease}.block:hover{background:color-mix(in srgb,var(--project-color, var(--completed)) 18%,transparent)}.block.provisional{border-bottom:1px dashed color-mix(in srgb,var(--project-color, var(--completed)) 35%,transparent);background:color-mix(in srgb,var(--project-color, var(--completed)) 7%,transparent)}.block.missed{background:var(--card)}.block.missed .block-title{color:var(--text-secondary)}.block.missed .block-time{color:var(--text-tertiary)}.block.missed .block-time:before{content:"↺";margin-right:3px}.block-slot.open .block{background:color-mix(in srgb,var(--project-color, var(--completed)) 16%,transparent)}.block:active{cursor:grabbing}.block-edge{position:absolute;left:0;right:0;height:6px;cursor:ns-resize}.block-edge.top{top:0}.block-edge.bottom{bottom:0}.block-grip{position:absolute;left:50%;width:44px;height:24px;margin-left:-22px;z-index:var(--z-sheet);cursor:ns-resize;touch-action:none}.block-grip.top{top:-12px}.block-grip.bottom{bottom:-12px}.block-grip:after{content:"";position:absolute;left:50%;top:50%;width:34px;height:6px;margin:-3px 0 0 -17px;border-radius:var(--r-pill);background:var(--blue);box-shadow:var(--shadow-1)}.snap-line{position:absolute;left:52px;right:0;border-top:2px dashed var(--blue);z-index:var(--z-sheet);pointer-events:none}.snap-time{position:absolute;left:-52px;top:-9px;width:44px;text-align:right;font-family:var(--font-mono);font-size:var(--text-mono);font-weight:600;color:var(--blue);background:var(--card);font-variant-numeric:tabular-nums}.block .checkbox{position:relative;z-index:var(--z-base);width:15px;height:15px;margin-top:2px;border:1.5px solid color-mix(in srgb,var(--project-color, var(--completed)) 55%,transparent);border-radius:50%}@media(max-width:760px){.block .checkbox:before{width:32px;height:24px}}.block .check-icon{width:12px;height:12px}.block-body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:0;border:none;background:none;text-align:left;cursor:pointer;overflow:hidden}.block.compact .block-body{flex-direction:row;align-items:baseline;gap:6px}.block-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md);line-height:1.25;letter-spacing:-.005em;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 62%;background-size:0% 1px;transition:background-size .28s var(--ease),color .28s ease}.block.done .block-title{color:var(--completed);background-size:100% 1px}.block-time{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-mono);line-height:1.2;color:var(--text-secondary);font-variant-numeric:tabular-nums}.now{position:absolute;left:52px;right:0;border-top:1px solid var(--blue);z-index:var(--z-sticky);pointer-events:none}.now-time{position:absolute;left:-52px;top:-8px;width:44px;text-align:right;font-family:var(--font-mono);font-size:var(--text-mono);font-weight:600;color:var(--blue);background:var(--card);font-variant-numeric:tabular-nums}.block-editor{position:absolute;left:0;right:0;z-index:var(--z-dropdown);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-2);animation:block-editor-in .18s var(--ease)}.block-editor .form{padding:12px 14px 14px}.block-editor .title-input,.block-editor .title-overlay{font-weight:500}@keyframes block-editor-in{0%{opacity:0;transform:translateY(-4px)}}@media(max-width:900px){.today-panes{grid-template-columns:minmax(0,1fr)}.timeline{max-height:none;overflow:visible}}.delete{flex-shrink:0;display:flex;padding:5px;margin:-2px -4px 0 0;border:none;border-radius:var(--r-sm);background:none;color:var(--completed);cursor:pointer;opacity:0;transition:opacity .18s ease,color .18s ease,background .18s ease}.delete svg{width:16px;height:16px}.task-row:hover .delete,.delete:focus-visible{opacity:1}.delete:hover{color:var(--red);background:var(--chip-hover)}@media(hover:none){.delete{display:none}}@media(max-width:760px){.delete{justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:-11px -13px -9px -9px}}.task-editor{display:grid;grid-template-rows:1fr;min-height:44px;overflow:hidden;animation:expand .28s var(--ease)}.task-editor>*{overflow:hidden}@keyframes expand{0%{grid-template-rows:0fr;opacity:0}}.task-editor .form-edit{margin:0 12px 12px;padding:12px 13px;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel)}.form-edit .compose-field{padding:9px 12px;border-radius:var(--r-md)}.form-edit .chip-row{margin-top:9px}.form-edit-footer{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:11px;border-top:1px solid var(--border-light);font:400 var(--text-sm) var(--font-sans);color:var(--text-tertiary)}.form-edit-footer .sep{margin:0 7px;color:var(--border-strong)}.form-edit-footer .key{font-family:var(--font-mono);font-size:var(--text-mono)}.form-edit-delete{margin-left:auto;display:inline-flex;align-items:center;gap:7px;border:none;background:none;font:400 var(--text-sm) var(--font-sans);color:var(--red-muted);cursor:pointer}.form-edit-delete:hover{color:var(--red)}.routine-rows{list-style:none;margin:0;padding:0}.routine-row{animation:slide-in .28s var(--ease)}.routine-row+.routine-row .routine-row-head{border-top:1px solid var(--border-light)}.routine-row-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;width:100%;padding:11px var(--s-5);border:none;background:none;text-align:left;font:inherit;cursor:pointer}.routine-row-head:hover,.routine-row.open .routine-row-head{background:var(--hover)}.routine-title{grid-column:1;display:inline-flex;align-items:center;gap:8px;min-width:0;font-size:var(--text-lg);color:var(--text)}.routine-dot{flex-shrink:0;width:8px;height:8px;border-radius:var(--r-pill);background:currentColor}.routine-rule{grid-column:1;font:400 var(--text-sm) var(--font-sans);color:var(--text-tertiary)}.routine-meta{grid-column:2;grid-row:1 / span 2;justify-self:end;font:400 var(--text-sm) var(--font-sans);color:var(--text-tertiary);white-space:nowrap}.routine-overdue{margin-right:8px;color:var(--red);font-weight:500}.routine-detail .form-edit{display:flex;flex-direction:column}.routine-field-input{flex:1;min-width:0;border:none;background:none;padding:0;outline:none;font:400 var(--text-lg) var(--font-sans);color:var(--text)}.routine-field-input::placeholder,.routine-notes::placeholder{color:var(--text-tertiary)}.routine-notes{margin-top:9px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel);outline:none;resize:vertical;font:400 13.5px var(--font-sans);color:var(--text-secondary)}.routine-pickers{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:9px;padding:10px 12px;border:1px solid var(--border-light);border-radius:var(--r-lg)}.routine-pickers .chip-panel-presets{width:100%}.routine-pickers input,.routine-pickers select{padding:5px 9px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--card);color:var(--text-secondary);font:400 var(--text-base) var(--font-mono)}.routine-forecast{display:flex;align-items:baseline;gap:10px;margin:12px 0 0;font:400 13px var(--font-sans);color:var(--text-secondary)}.routine-section-label{font:500 var(--text-xs) var(--font-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--completed)}.routine-history{margin-top:12px}.routine-history-summary{margin:0 0 6px;font:400 var(--text-sm) var(--font-sans);color:var(--text-secondary)}.routine-history-empty{margin:0;font:400 var(--text-sm) var(--font-sans);color:var(--text-tertiary)}.routine-history-list{display:flex;flex-wrap:wrap;gap:4px 12px;list-style:none;margin:0;padding:0}.routine-history-entry{display:inline-flex;align-items:baseline;gap:5px;font:400 var(--text-sm) var(--font-sans)}.routine-history-entry.completed{color:var(--blue)}.routine-history-entry.skipped{color:var(--text-tertiary)}.routine-history-entry.missed{color:var(--red)}.form-edit-delete.armed{padding:5px 11px;border-radius:var(--r-sm);background:var(--red);color:var(--on-accent)}@media(max-width:760px){.routine-row-head{grid-template-columns:minmax(0,1fr);gap:3px}.routine-meta{grid-column:1;grid-row:auto;justify-self:start}.routine-field-input,.routine-notes,.routine-pickers input,.routine-pickers select{font-size:16px}}.restore{flex-shrink:0;padding:4px 8px;margin-top:-1px;border:none;background:none;color:var(--blue);font-size:var(--text-md);font-family:inherit;cursor:pointer;transition:color .18s ease}.restore:hover{color:var(--text)}.delete-forever{flex-shrink:0;display:flex;padding:5px;margin:-2px 0 0;border:none;border-radius:var(--r-sm);background:none;color:var(--completed);cursor:pointer;transition:color .18s ease,background .18s ease}.delete-forever svg{width:16px;height:16px}.delete-forever:hover{color:var(--red);background:var(--chip-hover)}.trash-projects-label{margin:4px 4px 6px;font:500 var(--text-xs) var(--font-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--completed)}.trash-project{list-style:none}.trash-project-link{display:flex;align-items:center;gap:10px;width:100%;padding:8px 4px;border:none;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.trash-project-link:hover{color:var(--blue)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
