@property --tab{syntax:"<color>";inherits:true;initial-value:transparent}.dashboard-root{--tab-ink:color-mix(in srgb,var(--tab) 68%,#000);position:relative;display:flex;min-height:100vh;background-color:var(--bg);transition:--tab .5s ease}.dashboard-root[data-wash=on]{background-image:linear-gradient(180deg,color-mix(in srgb,var(--tab) 15%,transparent) 0,transparent 420px);background-repeat:no-repeat}.dashboard-root[data-wash=on]:before{content:"";position:fixed;top:0;left:0;right:0;height:3px;background:var(--tab);z-index:20;pointer-events:none}.dashboard-aside{width:200px;flex-shrink:0;position:sticky;top:0;height:100vh}.dashboard-main{flex:1;min-width:0;padding:2rem 2.5rem;overflow-y:auto;display:flex}.dashboard-page{flex:1;min-width:0;display:flex;justify-content:center}.nav-link{position:relative;display:flex;align-items:center;gap:.6rem;padding:.45rem .6rem;border-radius:6px;font-size:.85rem;color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:color .15s,background-color .15s}.nav-link:hover{color:var(--text);background:color-mix(in srgb,var(--c) 10%,transparent);text-decoration:none}.nav-link[aria-current=page]{color:var(--text);font-weight:600;background:transparent}.nav-link>*{position:relative;z-index:1}.nav-link .nav-icon{color:var(--c);transition:transform .2s}.nav-link:hover .nav-icon{transform:translateY(-1px) scale(1.15)}.nav-pill{position:absolute;inset:0;z-index:0!important;border-radius:6px;background:color-mix(in srgb,var(--c) 17%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 38%,transparent)}.sidebar-dots{display:inline-flex;gap:3px}.sidebar-dots i{display:block;width:5px;height:5px;border-radius:50%}@media (max-width:768px){.dashboard-root{flex-direction:column}.dashboard-aside{width:100%;height:auto;position:sticky;top:0;z-index:10}.dashboard-main{padding:1.25rem 1rem;justify-content:flex-start;flex:1;min-height:0}}.sidebar-inner{display:flex;flex-direction:column;height:100%;padding:2rem 1.25rem;border-right:1px solid var(--border)}.sidebar-brand{margin-bottom:2rem}.sidebar-nav{flex:1}.sidebar-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.15rem}.sidebar-logout{margin-top:auto}@media (max-width:768px){.sidebar-inner{flex-direction:row;align-items:center;height:48px;padding:0 1rem;border-right:none;border-bottom:1px solid var(--border);background:var(--bg);gap:1rem}.sidebar-brand{margin-bottom:0;display:flex;align-items:center;gap:.75rem;flex-shrink:0}.sidebar-brand-home{display:none}.sidebar-nav{flex:1}.sidebar-nav ul{flex-direction:row;gap:.1rem;align-items:center}.sidebar-logout{margin-top:0;flex-shrink:0}}.todo-textarea{min-height:calc(100vh - 330px)}@media (max-width:768px){.todo-textarea{min-height:calc(100vh - 48px - 290px);padding-left:1.1rem!important;padding-right:1.1rem!important}.sidebar-dots{display:none}.sidebar-inner{gap:.5rem;padding:0 .75rem}.sidebar-nav{min-width:0;overflow-x:auto;scrollbar-width:none}}@media (max-width:768px){.sidebar-nav::-webkit-scrollbar{display:none}.nav-link{padding:.4rem .55rem}.logout-label,.nav-link:not([aria-current=page]) .nav-label{display:none}}.ascend-page{--ascend-mono:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;width:100%;--track:var(--accent);max-width:780px;padding-bottom:4rem}.ascend-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.ascend-stats{display:flex;gap:1.5rem;font-family:var(--ascend-mono)}.ascend-stat{display:flex;flex-direction:column;align-items:flex-end}.ascend-stat-value{font-size:1.25rem;font-weight:500;line-height:1;font-variant-numeric:tabular-nums;color:var(--text);transition:color .4s}.ascend-stat-dim{opacity:.4}.ascend-stat-label{margin-top:.4rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint)}.ascend-header h1{margin:0;font-size:1.85rem;font-weight:500;letter-spacing:.14em;line-height:1.1;color:var(--text)}.ascend-header p{margin:.45rem 0 0;font-family:var(--ascend-mono);font-size:.68rem;letter-spacing:.08em;color:var(--text-faint)}.ascend-tracks{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:1.5rem}.ascend-track{position:relative;display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .6rem;border:1px solid transparent;border-radius:999px;background:transparent;cursor:pointer;font-family:var(--ascend-mono);font-size:.73rem;letter-spacing:.02em;color:var(--text-faint);transition:color .15s,background .15s,border-color .15s}.ascend-track>*{position:relative;z-index:1}.ascend-track-icon{color:var(--c,currentColor);transition:transform .2s}.ascend-track:hover{color:var(--text-muted);background:color-mix(in srgb,var(--c,transparent) 9%,transparent)}.ascend-track:hover .ascend-track-icon{transform:translateY(-1px) scale(1.15)}.ascend-track.is-active{color:var(--text);font-weight:600;background:transparent}.ascend-track-pill{position:absolute;inset:0;z-index:0!important;border-radius:999px;background:color-mix(in srgb,var(--c) 17%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 42%,transparent)}.ascend-track-count{font-size:.64rem;letter-spacing:.04em;opacity:.55;font-variant-numeric:tabular-nums}.ascend-track-x{margin-left:.1rem;opacity:.4;line-height:1;font-size:.85rem}.ascend-track-x:hover{opacity:1;color:var(--accent)}.ascend-track-add{padding:.32rem .55rem}.ascend-track-add:hover{color:var(--track,var(--accent))}.ascend-track-input{font:inherit;background:transparent;border:none;border-bottom:1px solid var(--track,var(--accent));outline:none;color:var(--text);padding:0;min-width:3ch}.ascend-meter-row{display:flex;align-items:center;gap:.7rem;margin-bottom:.4rem}.ascend-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.ascend-icon-btn:hover{color:var(--track,var(--accent));border-color:var(--track,var(--accent))}.ascend-meter{display:flex;gap:3px;flex:1;min-width:0}.ascend-seg{flex:1;height:7px;border-radius:4px;background:var(--border);opacity:.5;transition:background .3s,opacity .3s}.ascend-seg.is-done{background:var(--track,var(--accent));opacity:1}.ascend-seg.is-active{background:var(--track,var(--accent));opacity:.45;animation:ascend-breathe 2.4s ease-in-out infinite}.ascend-seg.is-empty{opacity:.3}.ascend-count{font-family:var(--ascend-mono);font-size:.7rem;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.ascend-count-total{opacity:.45}.ascend-save{font-family:var(--ascend-mono);font-size:.64rem;letter-spacing:.04em;color:var(--text-faint);flex-shrink:0;width:3.6rem;text-align:right}.ascend-picker{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem;margin:.5rem 0 .25rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-alt)}.ascend-picker-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-faint);cursor:pointer;transition:color .12s,border-color .12s}.ascend-picker-btn:hover{color:var(--text);border-color:var(--border)}.ascend-picker-btn.is-active{color:var(--track,var(--accent));border-color:var(--track,var(--accent))}.ascend-card{position:relative;margin-top:1.1rem;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--bg-raised);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 18px 40px -28px rgba(60,40,10,.35)}.ascend-card:before{content:"";display:block;height:3px;background:var(--track,var(--accent));transition:background .4s}.ascend-rail{list-style:none;margin:0;padding:1.6rem 1.75rem 1.4rem}.ascend-step{display:flex;gap:.85rem;position:relative}.ascend-step:not(.ascend-composer) .ascend-body{padding-bottom:1.15rem}.ascend-node-col{width:15px;flex-shrink:0;display:flex;padding-top:5px}.ascend-node,.ascend-node-col{position:relative;justify-content:center}.ascend-node{z-index:1;display:inline-flex;align-items:center;width:13px;height:13px;padding:0;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--bg);cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}.ascend-node:hover,.is-done .ascend-node{border-color:var(--track,var(--accent))}.is-done .ascend-node{background:var(--track,var(--accent));color:var(--bg);animation:ascend-pop .4s cubic-bezier(.2,.9,.3,1.4)}.is-active .ascend-node{border:2px solid var(--track,var(--accent));background:var(--bg);box-shadow:0 0 0 3px color-mix(in srgb,var(--track,var(--accent)) 20%,transparent);animation:ascend-pulse 2.2s ease-out infinite}.ascend-connector{position:absolute;top:20px;bottom:-5px;left:50%;width:1px;margin-left:-.5px;background:var(--border)}.is-done .ascend-connector{background:var(--track,var(--accent));opacity:.45;transform-origin:top;animation:ascend-grow .45s ease-out}.is-active .ascend-connector,.is-todo .ascend-connector{background:none;background-image:linear-gradient(var(--border) 55%,rgba(0,0,0,0) 0);background-size:1px 5px;background-repeat:repeat-y}.ascend-body{flex:1;min-width:0;padding-top:1px}.ascend-title-row{display:flex;align-items:baseline;gap:.5rem}.ascend-title{font-family:var(--ascend-mono);font-size:.86rem;line-height:1.5;letter-spacing:.01em;cursor:text;flex:1;min-width:0;color:var(--text-faint);transition:color .18s}.is-active .ascend-title{color:var(--text);font-weight:600}.is-done .ascend-title{color:var(--text-muted);text-decoration:line-through;text-decoration-color:var(--border)}.ascend-note{margin:.15rem 0 0;font-size:.7rem;line-height:1.6;opacity:.85;cursor:text}.ascend-note,.ascend-note-add{font-family:var(--ascend-mono);color:var(--text-faint)}.ascend-note-add{margin-top:.1rem;padding:0;background:none;border:none;cursor:pointer;font-size:.66rem;transition:opacity .15s,color .15s}.ascend-note-add:hover{color:var(--track,var(--accent))}.ascend-actions{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0;transition:opacity .15s}.ascend-actions button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:none;border:none;border-radius:3px;cursor:pointer;color:var(--text-faint);font-family:var(--ascend-mono);font-size:.8rem;line-height:1}.ascend-actions button:hover{color:var(--track,var(--accent));background:var(--bg-alt)}.ascend-actions button:disabled{opacity:.25;cursor:default}.ascend-actions button:disabled:hover{color:var(--text-faint);background:none}.ascend-edit{width:100%;background:transparent;border:none;border-bottom:1px solid var(--track,var(--accent));outline:none;padding:0;font-family:var(--ascend-mono);color:var(--text);caret-color:var(--track,var(--accent))}.ascend-edit-title{font-size:.82rem;line-height:1.5}.ascend-edit-note{font-size:.7rem;line-height:1.6;color:var(--text-muted)}.ascend-composer{align-items:flex-start}.ascend-node-ghost{width:13px;height:13px;border-radius:50%;border:1px dashed var(--border);background:var(--bg);display:block}.ascend-compose-input{flex:1;min-width:0;background:transparent;border:none;outline:none;padding:0;font-family:var(--ascend-mono);font-size:.82rem;line-height:1.5;color:var(--text);caret-color:var(--track,var(--accent))}.ascend-compose-input::-moz-placeholder{color:var(--text-faint);opacity:.6}.ascend-compose-input::placeholder{color:var(--text-faint);opacity:.6}@media (max-width:768px){.ascend-page{max-width:100%}.ascend-rail{padding:1.2rem 1.1rem 1rem}.ascend-header h1{font-size:1.55rem}.ascend-actions,.ascend-note-add{opacity:1!important}.ascend-save{display:none}}@keyframes ascend-pop{0%{transform:scale(.6)}to{transform:scale(1)}}@keyframes ascend-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--track,var(--accent)) 35%,transparent)}70%,to{box-shadow:0 0 0 7px color-mix(in srgb,var(--track,var(--accent)) 0%,transparent)}}@keyframes ascend-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes ascend-breathe{0%,to{opacity:.35}50%{opacity:.7}}@media (prefers-reduced-motion:reduce){.ascend-page *,.ascend-page :before{animation:none!important}}