@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/geist-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/geist-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/geist-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/geist-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/geist-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/geist-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/geist-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/geist-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/geist-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/geist-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-mono-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-mono-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-mono-symbols2.woff2) format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-mono-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-mono-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-mono-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-mono-symbols2.woff2) format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-mono-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fafafa;--surface:#ffffff;--surface-2:#f4f4f4;--border:#ebebeb;--border-strong:#d8d8d8;--text:#0a0a0a;--text-2:#5a5a5a;--text-3:#9a9a9a;--accent:#5b6bff;--accent-soft:color-mix(in oklab, var(--accent) 14%, transparent);--accent-ink:color-mix(in oklab, var(--accent) 92%, black 8%);--shadow-card:0 1px 0 rgba(15,15,15,.02), 0 1px 2px rgba(15,15,15,.04);--shadow-pop:0 8px 24px rgba(15,15,15,.08), 0 1px 0 rgba(15,15,15,.04);--radius:8px;--radius-sm:6px;--pad-card:10px 12px;--gap-stack:6px;--col-pad:10px;--card-fs:13px;--col-w:300px}[data-density=compact]{--pad-card:6px 10px;--gap-stack:4px;--col-pad:8px;--card-fs:12.5px;--col-w:280px}[data-density=comfy]{--pad-card:14px 14px;--gap-stack:10px;--col-pad:14px;--card-fs:14px;--col-w:320px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text);font-family:Geist,Geist Fallback,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.mono{font-family:Geist Mono,JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}button,input,textarea{font:inherit;color:inherit}#root{height:100vh;display:flex;flex-direction:column;overflow:hidden}.tt-topbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid var(--border);background:var(--surface)}.tt-brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.01em}.tt-brand-dot{width:14px;height:14px;border-radius:4px;background:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent) 60%,black)}.tt-brand-name{font-size:14px}.tt-brand-sub{font-size:11px;color:var(--text-3);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.tt-tabs{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:2px;gap:2px}.tt-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:5px 12px;border-radius:6px;font-size:12.5px;font-weight:500;color:var(--text-2);display:inline-flex;align-items:center;gap:6px;cursor:default}.tt-tab:hover{color:var(--text)}.tt-tab[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:0 1px #0f0f0f0a,0 1px 2px #0f0f0f0f}.tt-tab svg{width:13px;height:13px;opacity:.85}.tt-tools{display:flex;align-items:center;gap:6px}.tt-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);border-radius:7px;padding:5px 10px;font-size:12.5px;color:var(--text-2);display:inline-flex;align-items:center;gap:6px;cursor:default}.tt-btn:hover{color:var(--text);border-color:var(--border-strong)}.tt-btn-icon{padding:5px 7px}.tt-btn svg{width:13px;height:13px}.tt-kbd{font-family:Geist Mono,ui-monospace,monospace;font-size:10.5px;color:var(--text-3);border:1px solid var(--border);border-radius:4px;padding:1px 4px;background:var(--surface)}.tt-main{flex:1 1 auto;min-height:0;display:flex;overflow:hidden;position:relative}.tt-sidebar{flex:0 0 220px;border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;min-height:0;overflow:hidden}.tt-side-section{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 6px 16px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.tt-side-section .tt-iconbtn{width:18px;height:18px;border-radius:4px;border:0;background:transparent;color:var(--text-3);display:inline-flex;align-items:center;justify-content:center;cursor:default}.tt-side-section .tt-iconbtn:hover{background:var(--surface-2);color:var(--text)}.tt-side-list{display:flex;flex-direction:column;gap:1px;padding:0 8px;overflow-y:auto;min-height:0}.tt-side-list::-webkit-scrollbar{width:8px}.tt-side-list::-webkit-scrollbar-thumb{background:#dcdcdc;border-radius:4px;border:2px solid transparent;background-clip:content-box}.tt-side-item{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:6px;color:var(--text-2);font-size:12.5px;cursor:default;border:1px solid transparent;position:relative}.tt-side-item:hover{background:var(--surface-2);color:var(--text)}.tt-side-item[aria-selected=true]{background:var(--surface-2);color:var(--text);border-color:var(--border)}.tt-side-item .name{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-side-item .count{font-family:Geist Mono,monospace;font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.tt-side-item[aria-selected=true] .count{color:var(--text-2)}.tt-side-item .swatch{flex:0 0 auto;width:9px;height:9px;border-radius:3px;box-shadow:inset 0 0 0 1px #00000014}.tt-side-item .glyph{flex:0 0 auto;width:14px;height:14px;color:var(--text-3);display:inline-flex;align-items:center;justify-content:center}.tt-side-item[aria-selected=true] .glyph{color:var(--text)}.tt-side-item .x{width:18px;height:18px;border-radius:4px;border:0;background:transparent;color:var(--text-3);display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .1s ease;cursor:default}.tt-side-item:hover .x{opacity:1}.tt-side-item .x:hover{background:var(--surface);color:var(--text)}.tt-side-rename{flex:1 1 auto;border:0;outline:none;background:transparent;font:inherit;color:var(--text);min-width:0;padding:0}.tt-side-divider{height:1px;background:var(--border);margin:8px 14px}.tt-side-new{display:flex;align-items:center;gap:9px;padding:6px 8px;margin:0 8px 8px;border:1px dashed var(--border-strong);border-radius:6px;color:var(--text-3);font-size:12.5px}.tt-side-new input{flex:1 1 auto;border:0;outline:none;background:transparent;font-size:12.5px;color:var(--text)}.tt-side-new input::placeholder{color:var(--text-3)}.tt-client-group{margin-bottom:2px}.tt-client-hd{display:flex;align-items:center;gap:6px;padding:5px 8px 5px 10px;font-size:11.5px;font-weight:600;color:var(--text-3);letter-spacing:.03em;border:0;background:transparent;width:100%;text-align:left;border-radius:6px;cursor:default}.tt-client-hd:hover{background:var(--surface-2);color:var(--text-2)}.tt-client-hd .tt-iconbtn{opacity:0;transition:opacity .1s}.tt-client-hd:hover .tt-iconbtn{opacity:1}.tt-client-hd .tt-iconbtn.del:hover{color:var(--text)}.tt-client-hd.is-archived{color:var(--text-3);font-style:italic}.tt-client-icon{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--text-3)}.tt-client-name{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-client-empty{padding:3px 8px 3px 30px;font-size:11.5px;color:var(--text-3);font-style:italic}.tt-side-item.is-archived{opacity:.55;cursor:default}.tt-side-item.is-archived:hover{opacity:.75}.tt-side-item .arch-btn{opacity:0;transition:opacity .1s ease}.tt-side-item:hover .arch-btn{opacity:1}.tt-color-pop{position:absolute;left:4px;top:calc(100% + 3px);z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px;display:flex;flex-wrap:wrap;gap:4px;width:116px;box-shadow:var(--shadow-pop)}.tt-color-swatch{width:16px;height:16px;border-radius:4px;border:2px solid transparent;padding:0;cursor:default;flex:0 0 auto}.tt-color-swatch:hover{border-color:var(--text-2)}.tt-color-swatch.active{border-color:var(--text)}.tt-color-custom{width:20px;height:16px;flex:0 0 auto;border:1.5px solid var(--border);border-radius:4px;padding:1px;cursor:default;background:none}.tt-client-hd.drag-over{background:var(--accent-soft);color:var(--accent);outline:2px solid var(--accent);outline-offset:-2px}.tt-side-item.drag-insert-before{position:relative}.tt-side-item.drag-insert-before:before{content:"";position:absolute;top:-1px;left:8px;right:8px;height:2px;border-radius:1px;background:var(--accent);pointer-events:none}.tt-segmented{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:2px;gap:2px}.tt-segmented .tt-seg{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:3px 8px;border-radius:5px;font-size:11.5px;font-weight:500;color:var(--text-2);cursor:default;font-family:Geist Mono,monospace;letter-spacing:.02em}.tt-segmented .tt-seg:hover{color:var(--text)}.tt-segmented .tt-seg[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px #0f0f0f0a,0 1px 2px #0f0f0f0f}.tt-proj-chip{display:inline-flex;align-items:center;gap:5px;padding:1px 7px 1px 5px;border-radius:10px;background:var(--surface-2);color:var(--text-2);font-size:11px;line-height:1.4;max-width:140px}.tt-proj-chip>i{width:7px;height:7px;border-radius:2px;flex:0 0 auto;box-shadow:inset 0 0 0 1px #00000014}.tt-proj-chip>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-status-pill{display:inline-flex;align-items:center;gap:5px;padding:1px 7px 1px 5px;border-radius:10px;background:var(--surface-2);color:var(--text-2);font-size:11px}.tt-status-pill>i{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.tt-col-swatch{width:8px;height:8px;border-radius:2.5px;box-shadow:inset 0 0 0 1px #0000001a}.tt-stage{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;min-height:0}.tt-stage-hd{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 0}.tt-stage-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:-.01em}.tt-stage-title .swatch{width:11px;height:11px;border-radius:3px;box-shadow:inset 0 0 0 1px #00000014}.tt-stage-title .count{font-family:Geist Mono,monospace;font-size:12px;color:var(--text-3);font-weight:500}.tt-stage-sub{font-size:12px;color:var(--text-3);margin-left:4px}.tt-cols{display:flex;gap:14px;padding:14px 18px 18px;overflow-x:auto;overflow-y:hidden;flex:1 1 auto;min-height:0;scroll-behavior:smooth}.tt-col{flex:0 0 var(--col-w);display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:border-color .12s ease,background .12s ease}.tt-col.is-drop{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 4%,var(--surface))}.tt-col-hd{display:flex;align-items:center;justify-content:space-between;padding:12px var(--col-pad) 8px}.tt-col-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:12.5px;letter-spacing:-.005em}.tt-col-dot{width:8px;height:8px;border-radius:50%}.tt-col-count{font-family:Geist Mono,monospace;font-size:11px;color:var(--text-3)}.tt-col-day{font-size:11px;color:var(--text-3);font-weight:500;letter-spacing:.02em}.tt-add{display:flex;align-items:center;gap:6px;padding:0 var(--col-pad) 8px}.tt-add input{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-2);border:1px solid transparent;border-radius:7px;padding:7px 9px;font-size:12.5px;color:var(--text);outline:none}.tt-add input::placeholder{color:var(--text-3)}.tt-add input:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tt-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:2px var(--col-pad) var(--col-pad);display:flex;flex-direction:column;gap:var(--gap-stack);scrollbar-width:thin;scrollbar-color:#d4d4d4 transparent}.tt-list::-webkit-scrollbar{width:8px}.tt-list::-webkit-scrollbar-thumb{background:#dcdcdc;border-radius:4px;border:2px solid transparent;background-clip:content-box}.tt-list-empty{border:1px dashed var(--border);border-radius:7px;color:var(--text-3);font-size:12px;padding:18px 10px;text-align:center;margin:4px 0}.tt-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad-card);font-size:var(--card-fs);cursor:default;box-shadow:var(--shadow-card);transition:border-color .1s ease,transform .1s ease,box-shadow .1s ease;position:relative}.tt-card:hover{border-color:var(--border-strong)}.tt-card.is-dragging{opacity:.35}.tt-card.is-drop-before{box-shadow:-2px 0 0 var(--accent),var(--shadow-card)}.tt-card-top{display:flex;align-items:flex-start;gap:8px}.tt-card-title{flex:1 1 auto;min-width:0;font-weight:500;letter-spacing:-.005em;word-break:break-word}.tt-card-done .tt-card-title{color:var(--text-3);text-decoration:line-through;text-decoration-thickness:1px}.tt-card-grip{flex:0 0 auto;color:var(--text-3);opacity:0;transition:opacity .1s ease;cursor:grab}.tt-card:hover .tt-card-grip{opacity:1}.tt-card-grip:active{cursor:grabbing}.tt-card-meta{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:11px;color:var(--text-3)}.tt-card-meta .mono{font-size:10.5px}.tt-card-meta svg{width:11px;height:11px;opacity:.8}.tt-card-meta .pill{display:inline-flex;align-items:center;gap:4px;padding:1px 6px 1px 4px;border-radius:10px;background:var(--surface-2);color:var(--text-2)}.tt-card-checkbox{flex:0 0 auto;width:14px;height:14px;border-radius:4px;border:1.25px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;margin-top:2px;cursor:default;background:var(--surface);transition:all .1s ease}.tt-card-checkbox:hover{border-color:var(--accent)}.tt-card-checkbox.is-checked{background:var(--accent);border-color:var(--accent)}.tt-card-checkbox.is-checked svg{color:#fff}.tt-sheet-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f0f0f2e;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:5}.tt-sheet-scrim.is-open{opacity:1;pointer-events:auto}.tt-sheet{position:absolute;top:0;right:0;bottom:0;width:min(440px,92vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:-12px 0 32px #0f0f0f0f;transform:translate(100%);transition:transform .2s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;z-index:6}.tt-sheet.is-open{transform:translate(0)}.tt-sheet-hd{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.tt-sheet-crumbs{font-size:11px;color:var(--text-3);font-family:Geist Mono,monospace;letter-spacing:.02em}.tt-sheet-body{flex:1 1 auto;overflow-y:auto;padding:16px 18px 22px;display:flex;flex-direction:column;gap:18px}.tt-sheet-title{width:100%;border:0;background:transparent;outline:none;font:600 19px/1.25 Geist,Geist Fallback,system-ui,sans-serif;letter-spacing:-.012em;color:var(--text);padding:0;resize:none}.tt-sheet-row{display:flex;flex-direction:column;gap:6px}.tt-sheet-lbl{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.tt-sheet-pickers{display:flex;gap:8px;flex-wrap:wrap}.tt-sheet-pick{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:4px 9px;font-size:12px;color:var(--text-2);cursor:default;display:inline-flex;align-items:center;gap:5px}.tt-sheet-pick:hover{border-color:var(--border-strong);color:var(--text)}.tt-sheet-pick[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.tt-sheet-notes{width:100%;min-height:90px;border:1px solid var(--border);border-radius:7px;background:var(--surface);padding:9px 11px;font-size:13px;line-height:1.55;color:var(--text);outline:none;resize:vertical}.tt-sheet-notes:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tt-sheet-notes::placeholder{color:var(--text-3)}.tt-check-list{display:flex;flex-direction:column;gap:2px}.tt-check-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;border:1px solid transparent}.tt-check-item:hover{background:var(--surface-2)}.tt-check-item .tt-card-checkbox{margin-top:0}.tt-check-item input.text{flex:1 1 auto;border:0;background:transparent;outline:none;font-size:12.5px;color:var(--text)}.tt-check-item.is-done input.text{color:var(--text-3);text-decoration:line-through;text-decoration-thickness:1px}.tt-check-item .x{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-3);opacity:0;transition:opacity .1s ease;cursor:default;width:18px;height:18px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.tt-check-item:hover .x{opacity:1}.tt-check-item .x:hover{background:var(--surface-2);color:var(--text)}.tt-check-add{display:flex;align-items:center;gap:8px;padding:5px 6px}.tt-check-add .plus{width:14px;height:14px;border-radius:4px;border:1.25px dashed var(--border-strong);color:var(--text-3);display:inline-flex;align-items:center;justify-content:center}.tt-check-add input{flex:1 1 auto;border:0;background:transparent;outline:none;font-size:12.5px}.tt-check-add input::placeholder{color:var(--text-3)}.tt-sheet-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--border);color:var(--text-3);font-size:11px}.tt-sheet-foot .danger{color:#b94646;cursor:default}.tt-sheet-foot .danger:hover{text-decoration:underline}.tt-planner-nav{display:flex;align-items:center;gap:6px}.tt-planner-nav-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);border-radius:6px;width:26px;height:24px;color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;cursor:default}.tt-planner-nav-btn:hover{border-color:var(--border-strong);color:var(--text)}.tt-planner-today-badge{font-family:Geist Mono,monospace;font-size:10.5px;padding:1px 6px;border-radius:4px;background:var(--accent-soft);color:var(--accent-ink);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent)}.tt-inbox-col{background:transparent;border:1px dashed var(--border)}.tt-inbox-col.is-drop{background:color-mix(in oklab,var(--accent) 4%,var(--surface));border-style:solid}.tt-progress{height:3px;width:60px;background:var(--surface-2);border-radius:2px;overflow:hidden}.tt-progress>i{display:block;height:100%;background:var(--accent);border-radius:2px}.tt-stage-empty{margin:auto;text-align:center;color:var(--text-3);display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px}.tt-card-x{position:absolute;top:6px;right:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-3);width:20px;height:20px;border-radius:5px;opacity:0;transition:opacity .1s ease;cursor:default;display:inline-flex;align-items:center;justify-content:center}.tt-card:hover .tt-card-x{opacity:1}.tt-card-x:hover{background:var(--surface-2);color:var(--text)}.tt-hidden-file{position:absolute;width:0;height:0;opacity:0;pointer-events:none}
