:root{--font-mono: "IBM Plex Mono", "Iosevka Term", "JetBrains Mono", "SF Mono", "Consolas", monospace;--bg: #2e303b;--surface: #2e303b;--surface-raised: #343645;--text: #fff6ee;--muted: rgba(255, 246, 238, .5);--line: rgba(255, 246, 238, .1);--accent: #34c759;--danger: #ff7d65;--space-1: 6px;--space-2: 10px;--space-3: 16px;--space-4: 24px;--size-checkbox: 20px;--line-height-dense: 24px;--font-size-base: 16px;--tracking-tight: -.24px;--waiting-opacity: .54}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:linear-gradient(90deg,#2e303b,#2e303b),radial-gradient(120% 100% at 100% 50%,#42465b9e,#2e303b00 55%);color:var(--text);font-family:var(--font-mono);font-size:var(--font-size-base);line-height:var(--line-height-dense);letter-spacing:var(--tracking-tight);font-feature-settings:"salt" 1}button,input{font:inherit;letter-spacing:inherit}.app-shell{display:grid;grid-template-columns:auto 1fr;min-height:100vh}.left-nav{display:flex;flex-direction:column;border-right:1px solid var(--line);padding:var(--space-4) var(--space-3);background:var(--surface)}.nav-title{margin:0;font-size:var(--font-size-base);font-weight:400;line-height:var(--line-height-dense)}.left-nav nav{display:flex;flex:1;flex-direction:column;margin-top:var(--space-4)}.nav-item{display:block;color:var(--text);text-decoration:none;opacity:.5;min-height:24px;line-height:24px}.nav-item:last-child{margin-top:auto}.nav-item-active{opacity:1}.main-pane{padding:var(--space-4);background:transparent}.page-title{margin:0 0 var(--space-3) 0;font-size:var(--font-size-base);font-weight:400}.state-block{border:1px solid var(--line);background:color-mix(in srgb,var(--surface-raised) 65%,transparent 35%);padding:var(--space-2);margin-bottom:var(--space-2)}.state-error{border-color:color-mix(in srgb,var(--danger) 50%,var(--line) 50%)}.parse-banner{border:1px solid color-mix(in srgb,var(--danger) 45%,var(--line) 55%);background:color-mix(in srgb,var(--danger) 16%,transparent 84%);padding:var(--space-2);margin-bottom:var(--space-3)}.parse-banner-row{display:flex;gap:var(--space-2);color:var(--danger)}.root-editor{border:0;background:transparent}.root-editor-layout{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.root-editor-main{min-width:0;position:relative}.tdlst-editor-surface{outline:none;min-height:220px}.empty-line-action-placeholder{position:absolute;display:inline-flex;align-items:center;gap:10px;min-height:24px;color:#fff6ee73;font-size:var(--font-size-base);line-height:var(--line-height-dense);letter-spacing:var(--tracking-tight);pointer-events:none}.empty-line-action-placeholder-copy{white-space:nowrap}.empty-line-action-placeholder-button{border:0;background:transparent;color:#fff6eeb8;display:inline-flex;align-items:center;gap:6px;padding:0;min-height:24px;cursor:pointer;opacity:.88;pointer-events:auto}.empty-line-action-placeholder-button:hover{opacity:1}.empty-line-action-placeholder-icon{width:14px;height:14px;flex:0 0 auto;border-radius:3px}.empty-line-action-placeholder-icon-project{position:relative;border:1px solid rgba(255,246,238,.62)}.empty-line-action-placeholder-icon-project:before,.empty-line-action-placeholder-icon-project:after{content:"";position:absolute;background:#fff6eeb8;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-line-action-placeholder-icon-project:before{width:8px;height:1.5px}.empty-line-action-placeholder-icon-project:after{width:1.5px;height:8px}.empty-line-action-placeholder-icon-task{border:1.5px solid rgba(255,246,238,.58);border-radius:3px}.tdlst-nodeview-host{display:contents}.tdlst-line{min-height:24px;line-height:24px;white-space:pre-wrap;word-break:break-word}.tdlst-line-task,.tdlst-line-project{display:flex;align-items:center;gap:var(--space-2);padding-left:30px}.project-state-toggle{width:20px;height:24px;border:0;padding:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto}.project-state-toggle-icon{width:20px;height:24px;display:block}.tdlst-line-project-inline-group{display:inline-flex;margin-right:var(--space-3)}.tdlst-nodeview-project-host:has(+.tdlst-nodeview-task-host .tdlst-line-project-task-inline) .tdlst-line-project{display:inline-flex;margin-right:var(--space-3)}.tdlst-line-project-task-inline{display:inline-flex;padding-left:10px;margin-right:10px;vertical-align:top}.tdlst-nodeview-task-host:has(.tdlst-line-project-task-inline){display:inline}.tdlst-nodeview-task-host:has(.tdlst-line-project-task-inline):not(:has(+.tdlst-nodeview-task-host .tdlst-line-project-task-inline)):after{content:"\a";white-space:pre}.root-editor-project-mode .tdlst-nodeview-project-host:has(+.tdlst-nodeview-task-host .tdlst-line-project-task-inline) .tdlst-line-project{display:flex;margin-right:0}.root-editor-project-mode .tdlst-line-project-task-inline{display:flex;padding-left:30px;margin-right:0}.root-editor-project-mode .tdlst-nodeview-task-host:has(.tdlst-line-project-task-inline){display:contents}.root-editor-project-mode .tdlst-nodeview-task-host:has(.tdlst-line-project-task-inline):not(:has(+.tdlst-nodeview-task-host .tdlst-line-project-task-inline)):after{content:none}.tdlst-line-text,.tdlst-line-project-body{padding-left:0}.tdlst-line-content{min-width:1ch}.root-editor-align-first-task .tdlst-line-project>.tdlst-line-content{width:var(--project-title-align-width, auto);min-width:var(--project-title-align-width, 1ch);flex:0 0 var(--project-title-align-width, auto)}.editor-line{min-height:24px}.editor-line-waiting{opacity:var(--waiting-opacity)}.tdlst-line-hidden{display:none!important}.editor-line-plain{padding:0}.editor-line-task{display:flex;align-items:center;gap:var(--space-2);padding:0 0 0 30px}.editor-line-project{padding:0 0 0 30px}.project-inline{display:flex;gap:20px;align-items:center;min-height:24px;overflow-x:auto}.project-title-wrap,.project-task-inline{display:inline-flex;align-items:center;gap:var(--space-2)}.line-input{border:0;outline:0;background:transparent;color:var(--text);padding:0;min-height:24px;line-height:24px;min-width:0}.line-input-block{width:100%}.line-input-inline{width:auto;min-width:1ch;flex:0 0 auto}.line-input-done{color:color-mix(in srgb,var(--text) 60%,transparent 40%);text-decoration:line-through}.line-input::placeholder{color:#fff6ee4d}.task-checkbox{width:var(--size-checkbox);height:var(--size-checkbox);border:1.5px solid rgba(255,246,238,.5);border-radius:4px;background:transparent;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.task-checkbox-checked{border-color:#fff6ee;background:#fff6ee33}.task-checkbox-icon{width:16px;height:16px;display:block}.project-preview{color:var(--muted);font-size:var(--font-size-base)}.derived-list{list-style:none;margin:0;padding:0}.derived-row{display:flex;align-items:center;gap:20px;min-height:24px;padding:0 0 0 30px}.project-chip{margin-left:auto;color:var(--accent);text-decoration:none}.setup-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.setup-auth-actions{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.nav-meta{color:var(--muted);margin-top:var(--space-2);word-break:break-word}.nav-button{border:0;background:transparent;text-align:left;padding:0;cursor:pointer}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.auth-card{width:min(520px,100%);border:1px solid var(--line);background:color-mix(in srgb,var(--surface-raised) 70%,transparent 30%);padding:var(--space-4)}.auth-form{display:flex;flex-direction:column;gap:var(--space-2)}.auth-field{display:flex;flex-direction:column;gap:var(--space-1)}.auth-field input{border:1px solid var(--line);background:transparent;color:var(--text);min-height:36px;padding:0 var(--space-2)}.auth-button{border:1px solid var(--line);background:transparent;color:var(--text);min-height:36px;padding:0 var(--space-2);cursor:pointer}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-links{display:flex;flex-direction:column;gap:var(--space-1)}.auth-links a,.setup-auth-actions a{color:var(--accent);text-decoration:none}.auth-links a:hover,.setup-auth-actions a:hover{text-decoration:underline}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.left-nav{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding-bottom:var(--space-3)}.left-nav nav{gap:2px;margin-top:var(--space-3)}.nav-item:last-child{margin-top:0}}
