:root{font-family:Segoe UI Variable Text,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;--font-display: "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;--display-italic: normal;--display-tracking: -.015em;--bg: #f3eee1;--surface: #fdfbf4;--surface-2: #efe9d8;--raised: #fffef9;--well: #f6f1e3;--border: #e2dbc8;--border-strong: #cfc7b0;--text: #24313d;--muted: #6d6a55;--accent: #37617a;--accent-strong: #2c4f65;--accent-soft: rgba(55, 97, 122, .1);--accent-border: rgba(55, 97, 122, .35);--danger: #a04b3b;--danger-soft: rgba(160, 75, 59, .1);--warn: #a05a2c;--stress-yellow: #c99e1f;--stress-orange: #c56a1e;--stress-red: #b23a28;--ok: #4c6a45;--ok-soft: rgba(90, 122, 82, .14);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-sm: 0 1px 2px rgba(58, 50, 30, .14), 0 1px 4px rgba(58, 50, 30, .08);--shadow-md: 0 3px 6px rgba(58, 50, 30, .14), 0 8px 20px rgba(58, 50, 30, .12);--shadow-lg: 0 16px 44px rgba(40, 34, 20, .3);color:var(--text);background-color:var(--bg)}:root[data-theme=dark]{--bg: #1d1b16;--surface: #27241e;--surface-2: #322e26;--raised: #322e26;--well: #211f19;--border: #3a352a;--border-strong: #4c4536;--text: #eae3d1;--muted: #a29b87;--accent: #87acc3;--accent-strong: #9fbed2;--accent-soft: rgba(135, 172, 195, .13);--accent-border: rgba(135, 172, 195, .4);--danger: #cd7862;--danger-soft: rgba(205, 120, 98, .13);--warn: #cf9257;--stress-yellow: #d9b64a;--stress-orange: #d98d4a;--stress-red: #d96a55;--ok: #8aa982;--ok-soft: rgba(138, 169, 130, .16);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .45), 0 1px 6px rgba(0, 0, 0, .3);--shadow-md: 0 4px 10px rgba(0, 0, 0, .45), 0 10px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .6)}:root[data-display-font=sitka]{--font-display: "Sitka Heading", "Sitka Text", Georgia, serif;--display-italic: italic;--display-tracking: .004em}:root[data-display-font=constantia]{--font-display: Constantia, Georgia, serif;--display-italic: italic;--display-tracking: .004em}:root[data-display-font=georgia]{--font-display: Georgia, "Times New Roman", serif;--display-italic: italic;--display-tracking: .004em}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:var(--display-tracking)}*{box-sizing:border-box}body{margin:0}::selection{background:color-mix(in srgb,var(--accent) 28%,transparent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 28%,transparent);border-radius:999px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text) 45%,transparent);border:3px solid transparent;background-clip:padding-box}button{font:inherit;font-size:.9rem;padding:5px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .15s cubic-bezier(.23,1,.32,1)}button:hover{background:var(--surface-2)}button:disabled{color:var(--muted);background:var(--surface-2);border-color:var(--border);cursor:default;opacity:.7}button:disabled:hover{background:var(--surface-2)}button:disabled:active{transform:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea,select{font:inherit;padding:6px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:inherit;transition:border-color .12s ease,box-shadow .12s ease}input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}input[type=date]::-webkit-calendar-picker-indicator{opacity:.4;cursor:pointer;filter:grayscale(1)}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.75}input[type=checkbox]{appearance:none;width:16px;height:16px;padding:0;flex-shrink:0;border:1.5px solid var(--border-strong);border-radius:5px;background:var(--surface);cursor:pointer;display:grid;place-content:center;transition:background .12s ease,border-color .12s ease}input[type=checkbox]:hover{border-color:var(--accent)}input[type=checkbox]:after{content:"✓";font-size:11px;font-weight:700;line-height:1;color:var(--bg);transform:scale(.5);opacity:0;transition:transform .12s ease,opacity .12s ease}input[type=checkbox]:checked:after{transform:scale(1);opacity:1}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}h2{font-size:1.3rem;font-weight:650;letter-spacing:-.015em}.app-shell{display:flex;height:100vh}.sidebar{display:flex;flex-direction:column;gap:3px;width:190px;flex-shrink:0;padding:16px 12px;border-right:1px solid var(--border);background:var(--surface-2)}.sidebar .nav-button:hover,.sidebar .data-button:hover{background:color-mix(in srgb,var(--text) 7%,transparent)}.sidebar .nav-button-active:hover{background:var(--accent-soft)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;margin:0 4px 14px 8px}.app-title{font-family:var(--font-display);font-style:var(--display-italic);font-size:1.1rem;font-weight:700;letter-spacing:.005em;margin:0}.sidebar-toggle{border:none;background:transparent;color:var(--muted);padding:2px 8px}.nav-button{display:flex;align-items:center;gap:9px;text-align:left;border:none;background:transparent;padding:7px 11px;border-radius:8px;font-weight:500;color:var(--text)}.nav-icon{flex-shrink:0;opacity:.75}.nav-button-active .nav-icon{opacity:1}.nav-button-quiet{color:var(--muted);font-size:.88rem}.nav-button-quiet:hover{color:var(--text)}@media(min-width:701px){.sidebar-rail{width:54px;padding:16px 7px;align-items:center}.sidebar-rail .app-title,.sidebar-rail .nav-label,.sidebar-rail .project-switcher,.sidebar-rail .categories-button,.sidebar-rail .feedback-button,.sidebar-rail .data-transfer,.sidebar-rail [class*=sync-status-]{display:none}.sidebar-rail .sidebar-head{margin:0 0 12px}.sidebar-rail .nav-button{padding:8px;justify-content:center;width:100%}}.nav-button:hover{background:var(--surface-2)}.nav-button-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-button-active:hover{background:var(--accent-soft)}.sidebar-spacer{flex:1}.data-transfer{display:flex;flex-direction:column;gap:3px}.data-button{text-align:left;border:none;background:transparent;padding:5px 11px;border-radius:8px;font-size:.82rem;color:var(--muted)}.data-button:hover{background:var(--surface-2);color:var(--text)}.sync-status-error{color:var(--danger)}.sync-status-idle{color:var(--ok)}.sync-form{display:flex;flex-direction:column;gap:12px}.claude-connect summary{color:var(--muted);cursor:pointer;font-size:.9rem;-webkit-user-select:none;user-select:none}.claude-steps{margin:8px 0;padding-left:20px;font-size:.84rem;color:var(--muted);display:flex;flex-direction:column;gap:4px}.claude-config{background:var(--surface-2);border-radius:var(--radius-sm);padding:10px 12px;font-size:.72rem;overflow-x:auto;max-height:180px;margin:0 0 8px}.launch-mark{font-size:1.5rem;color:var(--muted);animation:launch-in .5s ease-out}@keyframes launch-in{0%{opacity:0}}.login-screen{height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{display:flex;flex-direction:column;gap:12px;width:min(360px,100%);padding:28px 26px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.login-title{margin:0;font-size:1.4rem;font-weight:700;letter-spacing:-.02em;text-align:center}.login-hint{margin:0 0 6px;color:var(--muted);font-size:.9rem;text-align:center}.login-advanced{margin-top:4px}.login-advanced summary{color:var(--muted);font-size:.82rem;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:8px}.login-advanced .editor-field{margin-bottom:8px}.toast{position:fixed;right:18px;bottom:64px;z-index:20;max-width:380px;padding:10px 14px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-md);font-size:.9rem;cursor:pointer}.settings-view{max-width:560px}.settings-hint{color:var(--muted);font-size:.85rem;margin:0 0 6px}.settings-section{margin:26px 0 4px;font-size:1rem;font-weight:600;font-style:var(--display-italic);color:var(--muted);padding-bottom:6px;border-bottom:1px solid var(--border)}.settings-group{display:flex;flex-direction:column;gap:14px;padding:12px 0 4px}.theme-picker{display:flex;gap:10px;flex-wrap:wrap}.font-sample-segoe{font-family:Segoe UI Variable Display,Segoe UI,system-ui,sans-serif}.font-sample-sitka{font-family:Sitka Heading,Sitka Text,Georgia,serif;font-style:italic}.font-sample-constantia{font-family:Constantia,Georgia,serif;font-style:italic}.font-sample-georgia{font-family:Georgia,Times New Roman,serif;font-style:italic}.theme-option{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px}.theme-option-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.theme-option-label{font-weight:600}.theme-option-hint{font-size:.78rem;color:var(--muted)}.settings-toggle{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.settings-toggle input{margin-top:3px}.settings-toggle small{display:block;color:var(--muted);font-size:.8rem}.settings-row{display:flex;gap:12px;flex-wrap:wrap}.settings-field{display:flex;flex-direction:column;gap:3px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.settings-field input,.settings-field select,.settings-field small{font-size:.92rem;letter-spacing:normal;text-transform:none;font-weight:400;color:var(--text)}.settings-field small{color:var(--muted)}.settings-field input{width:90px}.settings-note{margin:0;color:var(--muted);font-size:.8rem}.pomodoro-overtime .pomodoro-countdown{color:var(--warn);animation:overtime-pulse 2s ease-in-out infinite}@keyframes overtime-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.pomodoro-overtime .pomodoro-countdown{animation:none}}.stats-cards{display:flex;flex-wrap:wrap;margin-bottom:14px;max-width:720px}.stats-card{flex:1;min-width:150px;display:flex;flex-direction:column;gap:2px;padding:2px 18px;border-left:1px solid var(--border)}.stats-card:first-child{border-left:none;padding-left:0}.stats-card-value{font-size:1.7rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stats-card-label{color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stats-card-delta{font-size:.78rem;color:var(--muted)}.stats-up{color:var(--ok, #2e7d32)}.stats-down{color:var(--danger)}.stats-section{margin:22px 0 8px;font-size:.95rem;font-weight:600;font-style:var(--display-italic);color:var(--muted)}.stats-chart{display:flex;align-items:flex-end;gap:3px;height:120px;padding:0 2px;max-width:720px;border-bottom:1.5px solid var(--border-strong)}.stats-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;min-width:0}.stats-bar{width:100%;height:100%;border-radius:2px 2px 0 0;background:var(--accent);opacity:.7;transform-origin:bottom;transition:transform .3s ease-out}.stats-bar-today{opacity:1;background:var(--accent-strong)}.stats-day{font-size:.62rem;color:var(--muted);height:14px;overflow:visible;white-space:nowrap}.stats-split{display:flex;flex-direction:column;gap:0;max-width:720px}.stats-row{display:flex;align-items:center;gap:10px;font-size:.86rem;padding:8px 0;border-bottom:1px solid var(--border)}.stats-row:last-child{border-bottom-color:transparent}.stats-row-label{display:flex;align-items:center;gap:7px;width:150px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-row-task{width:auto;flex:1}.stats-swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.stats-row-track{flex:1;height:3px;background:transparent;overflow:hidden}.stats-row-fill{display:block;height:100%;border-radius:2px}.stats-row-value{font-variant-numeric:tabular-nums;color:var(--muted);flex-shrink:0;width:84px;text-align:right;font-size:.8rem}.toast-action{margin-left:12px;padding:3px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--accent);font-size:.85rem;font-weight:600;cursor:pointer}.toast-action:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.toast-error{border-color:var(--danger);color:var(--danger)}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.view-container{flex:1;min-height:0;overflow-y:auto;padding:24px 28px}.view-container h2{margin-top:0}.new-task-form{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;max-width:720px}.new-task-row{display:flex;gap:8px}.new-task-title{flex:1;min-width:0;font-size:1rem}.new-task-details{display:flex;gap:14px;flex-wrap:wrap}.new-task-details input{font-size:.85rem;color:var(--muted)}.new-task-notes{flex:1 1 220px;min-width:0}.estimate-input{width:92px}.form-error{flex-basis:100%;color:var(--danger);background:var(--danger-soft);padding:8px 12px;border-radius:var(--radius-sm);margin:0;font-size:.9rem}.task-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0;max-width:720px}.day-page{position:relative;min-height:100%;padding-left:30px}.day-page:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--danger) 26%,transparent);pointer-events:none}.task-item{display:flex;align-items:center;gap:11px;padding:10px 6px;background:transparent;border:none;border-bottom:1px solid var(--border);border-radius:0;transition:background .12s ease}.task-item-clickable{cursor:pointer}.task-item-clickable:hover{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.cat-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.title-line{display:flex;align-items:center;gap:8px;min-width:0}.inline-mark{font-size:.74rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.inline-mark-ok{color:var(--ok)}.inline-mark-over{color:var(--danger)}.row-slot{width:96px;flex-shrink:0;text-align:right;font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.row-slot-overdue{color:var(--danger)}.time-meta{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.task-item-dragging{opacity:.35}.task-item-main{flex:1;display:flex;flex-direction:column;min-width:0}.task-item-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-item-notes{color:var(--muted);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-item-meta{display:flex;gap:6px;align-items:center;flex-shrink:0}.badge{font-size:.74rem;font-weight:500;padding:2.5px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.badge-muted{background:var(--surface-2);color:var(--muted)}.badge-active{background:var(--ok-soft);color:var(--ok)}.badge-overdue{background:var(--danger-soft);color:var(--danger)}.empty-state{color:var(--muted)}.edit-button{padding:2px 9px;font-size:.8rem;border-radius:999px;border-color:transparent;background:transparent;color:var(--muted)}.edit-button:hover{background:var(--surface-2);color:var(--text)}.task-item-delete{opacity:0;transition:opacity .12s ease}.task-item:hover .task-item-delete,.task-item-delete:focus-visible{opacity:1}.task-item-delete:hover{background:var(--danger-soft);color:var(--danger)}.drag-ghost{padding:7px 14px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--accent-border);box-shadow:var(--shadow-lg);font-weight:600;cursor:grabbing}.day-over{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.week-view{display:flex;flex-direction:column;height:100%}.week-scope{display:none}.week-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.week-header h2{margin:0;font-size:1.15rem}.week-nav{display:flex;gap:5px;align-items:center}.mode-toggle{display:flex;background:var(--surface-2);padding:2px;border-radius:8px;margin-right:8px}.mode-toggle button{border:none;background:transparent;border-radius:6px;padding:3px 11px;font-size:.85rem;color:var(--muted)}.mode-toggle .mode-active{background:var(--surface);color:var(--accent);font-weight:600;box-shadow:var(--shadow-sm)}.week-layout{display:flex;gap:16px;flex:1;min-height:0}.week-inbox{width:230px;flex-shrink:0;overflow-y:auto;border-left:1px solid var(--border);padding-left:14px}.week-inbox-title{margin:0 0 2px;font-family:inherit;font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.week-inbox-hint{color:var(--muted);font-size:.74rem;margin:0 0 10px}.task-item-compact{display:block;padding:5px 8px 6px;margin-bottom:6px;background:var(--raised);border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.task-item-compact:hover{background:var(--raised);box-shadow:var(--shadow-md)}.compact-title{display:block;font-size:.84rem;font-weight:600;line-height:1.3}.compact-meta{display:block;font-size:.72rem;color:var(--muted);margin-top:1px;font-variant-numeric:tabular-nums}.week-inbox .task-item{cursor:grab}.week-inbox-over{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-md);background:var(--accent-soft)}.week-scroll{flex:1;min-width:0;display:flex;overflow-x:auto}.week-scroll .week-grid{flex:1}.week-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.55fr));column-gap:7px;row-gap:4px;flex:1;min-height:300px;align-content:start}.day-cell{position:relative;background:var(--well);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:inset 0 1px 3px #3a321e0f;transition:background .12s ease}.day-weekend{background:var(--surface-2)}.day-today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 3%,var(--well))}.day-header{position:relative;display:flex;align-items:baseline;gap:6px;padding:7px 9px;font-size:.8rem;font-weight:650;color:var(--text);border-bottom:1px solid var(--border);z-index:2}.day-header:after{content:"";position:absolute;left:9px;bottom:-1px;height:2px;width:calc((100% - 18px) * var(--day-load-frac, 0));background:var(--muted);border-radius:1px}.day-header-stress-yellow:after{background:var(--stress-yellow)}.day-header-stress-orange:after{background:var(--stress-orange)}.day-header-stress-red:after{background:var(--stress-red)}.day-header-past{color:var(--muted);font-weight:500}.day-cell.day-past{background:color-mix(in srgb,var(--well) 45%,var(--bg));border-color:color-mix(in srgb,var(--border) 60%,var(--bg))}.day-cell.day-past.day-weekend{background:color-mix(in srgb,var(--surface-2) 45%,var(--bg))}.day-header-today{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.day-header-stress-yellow .day-load,.day-header-stress-orange .day-load,.day-header-stress-red .day-load{font-weight:700}.day-load{margin-left:auto;font-weight:500;font-size:.72rem;color:var(--muted)}.day-load-yellow{color:color-mix(in srgb,var(--stress-yellow) 50%,var(--text))}.day-load-orange{color:color-mix(in srgb,var(--stress-orange) 55%,var(--text))}.day-load-red{color:color-mix(in srgb,var(--stress-red) 70%,var(--text))}.day-add{padding:0 6px;border:none;background:transparent;color:var(--muted);font-size:.85rem;line-height:1;opacity:0;transition:opacity .12s ease;align-self:center}.day-header:hover .day-add{opacity:1}.day-add:hover{color:var(--accent);background:transparent}.day-quick-add{position:absolute;top:32px;left:4px;right:34px;z-index:3;font-size:.85rem;padding:4px 9px}.task-bar{display:flex;align-items:center;gap:6px;padding:4px 9px;margin:0 4px;min-width:0;border-radius:var(--radius-sm);background:var(--raised);border:1px solid var(--border-strong);border-left:3px solid var(--accent);box-shadow:var(--shadow-sm);font-size:.85rem;font-weight:500;cursor:grab;z-index:1;transition:box-shadow .12s ease}.task-bar:hover{box-shadow:var(--shadow-md)}.task-group-frame{border:none;border-left:2px solid var(--accent-border);border-radius:0;margin:-2px 0;z-index:0;pointer-events:none}.task-bar-child{margin-left:14px}.task-bar-child .task-bar-title:before{content:"↳ ";color:var(--muted)}.task-bar-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-bar-days{color:var(--accent);font-size:.74rem;flex-shrink:0}.task-bar-done{background:var(--surface-2);border-color:var(--border);border-left-color:var(--border-strong);box-shadow:none;color:var(--muted)}.task-bar-done .task-bar-title{text-decoration:line-through;text-decoration-color:var(--accent-border);color:var(--muted)}.task-bar-check{display:none}.task-bar-dragging{opacity:.35}.task-bar-over{outline:2px solid var(--accent);outline-offset:-1px}.task-bar-resizing{border-style:dashed}.task-bar-clipped-start{border-top-left-radius:0;border-bottom-left-radius:0;border-left-style:dashed;margin-left:0}.task-bar-clipped-end{border-top-right-radius:0;border-bottom-right-radius:0;border-right-style:dashed;margin-right:0}.task-bar-clip{color:var(--accent);font-weight:700;flex-shrink:0}.task-bar-resize{width:8px;align-self:stretch;flex-shrink:0;cursor:ew-resize;touch-action:none}.task-bar-resize-right{margin:-4px -9px -4px 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.task-bar-resize-left{margin:-4px 0 -4px -9px;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.task-bar-resize:hover,.task-bar-resizing .task-bar-resize{background:var(--accent-border)}.month-scroll{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-anchor:none;display:flex;flex-direction:column;gap:8px;padding-right:4px}.month-week{flex:none;min-height:84px}.month-week,.month-weekday-header{grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.4fr))}.month-week{column-gap:0}.month-rule{border-top:2px solid var(--border-strong);margin-top:14px}.month-rule-label{display:inline-block;padding:3px 8px 3px 2px;font-family:var(--font-display);font-style:var(--display-italic);letter-spacing:var(--display-tracking);font-size:.82rem;font-weight:600;line-height:1.2;color:var(--muted)}.month-rule-month{border-top-width:3px;border-top-color:color-mix(in srgb,var(--border-strong) 60%,var(--text))}.month-rule-month .month-rule-label{font-size:1rem;color:var(--text)}.month-week .day-cell{background:transparent;border:none;border-right:1px solid var(--border-strong);border-radius:0;box-shadow:none}.month-week .day-cell.day-weekend{background:repeating-linear-gradient(45deg,transparent 0 6px,color-mix(in srgb,var(--text) 5%,transparent) 6px 7px)}.month-week .day-cell.day-past{background:color-mix(in srgb,var(--surface-2) 55%,var(--bg))}.month-week .day-cell.day-today{box-shadow:inset 0 2px 0 var(--accent);background:color-mix(in srgb,var(--accent) 3%,var(--well))}.month-week .day-cell.day-over{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.month-week .day-header{border-bottom:none;align-items:center;padding:7px 7px 3px}.month-week .day-header:after{display:none}.day-num{font-family:var(--font-display);font-size:.95rem;font-weight:700;line-height:1}.day-header-past .day-num{font-weight:500}.month-week .day-header-today .day-num{color:var(--accent);font-size:1.05rem}.month-week .day-header{padding:3px 7px;font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-week .task-bar{font-size:.78rem;padding:2px 7px}.month-week .day-add{top:24px}.month-week .day-quick-add{top:24px;font-size:.78rem}.month-weekday-header{position:sticky;top:0;z-index:5;background:var(--bg);min-height:0;flex:none;padding-bottom:3px;border-bottom:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.month-weekday{padding:2px 9px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-row{scroll-margin-top:28px}.pomodoro-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-top:1px solid var(--border);background:var(--surface)}.pomodoro-working{border-top:2px solid var(--accent);padding-top:9px}.pomodoro-main{display:flex;align-items:center;gap:12px;min-width:0}.pomodoro-hint{color:var(--muted);font-size:.88rem}.pomodoro-task{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.pomodoro-countdown{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.12rem}.pomodoro-elapsed{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.88rem}.pomodoro-phase{color:var(--accent);font-size:.76rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em}.pomodoro-settings{display:flex;gap:12px;flex-shrink:0}.pomodoro-setting{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.84rem}.pomodoro-setting input{width:58px;padding:3px 8px}.estimate-progress{width:72px;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;flex-shrink:0}.estimate-progress-fill{display:block;height:100%;width:100%;background:var(--accent);transform-origin:left;transition:transform .5s linear}.estimate-progress-over{background:var(--warn)}.swatches{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.swatch{width:22px;height:22px;padding:0;border-radius:999px;border:2px solid transparent;cursor:pointer}.swatch-none{background:var(--surface-2);color:var(--muted);font-size:.8rem;line-height:1}.swatch-active{border-color:var(--text)}.category-row{display:flex;align-items:center;gap:10px}.category-row input{width:130px;flex-shrink:0}.editor-check{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted);cursor:pointer}.day-events{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:2px 6px 0;z-index:1;min-width:0}.day-event{border:none;background:transparent;padding:0 2px;font-size:.78rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:left;touch-action:none}.day-event-dragging{opacity:.35}.day-event:hover{background:transparent;text-decoration:underline}.today-events{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:6px}.today-event{font-size:.95rem}.editor-overlay{position:fixed;inset:0;background:#0c0c1266;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10}.editor-panel{display:flex;flex-direction:column;gap:12px;width:min(480px,calc(100vw - 40px));max-height:min(88dvh,calc(100vh - 40px));overflow-y:auto;overscroll-behavior:contain;padding:22px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.editor-panel h3{margin:0;font-size:1.1rem;font-weight:650;letter-spacing:-.01em}.editor-panel{padding-left:40px}.editor-panel:before{content:"";position:absolute;left:24px;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--danger) 26%,transparent);pointer-events:none}.editor-panel input:not([type=checkbox]),.editor-panel select,.editor-panel textarea,.settings-group input:not([type=checkbox]):not([type=range]),.settings-group select,.new-task-form input{border:none;border-bottom:1px solid var(--border-strong);border-radius:0;background:transparent;padding:4px 2px}.editor-panel input:not([type=checkbox]):focus,.editor-panel select:focus,.editor-panel textarea:focus,.settings-group input:not([type=checkbox]):not([type=range]):focus,.settings-group select:focus,.new-task-form input:focus{outline:none;box-shadow:none;border-bottom-color:var(--accent)}.editor-title-input.editor-title-input{font-size:1.15rem;font-weight:650;padding:2px 0 8px;border-bottom:2px solid var(--accent)}.editor-panel textarea{resize:vertical;border-bottom:none;line-height:26px;background:repeating-linear-gradient(to bottom,transparent 0 25px,var(--border) 25px 26px)}.editor-field{display:flex;flex-direction:column;gap:3px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex:1}.editor-field input,.editor-field select,.editor-field textarea{font-size:.95rem;letter-spacing:normal;text-transform:none;font-weight:400;color:var(--text)}.editor-sec{font-family:var(--font-display);font-style:var(--display-italic);letter-spacing:var(--display-tracking);font-size:.92rem;font-weight:600;color:var(--muted);margin:6px 0 -6px}.editor-row{display:flex;gap:14px}.review-view{max-width:640px}.review-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.review-window-picker{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2)}.review-window-option{padding:3px 11px;font-size:.8rem;border:none;border-radius:999px;background:transparent;color:var(--muted)}.review-window-option:hover{color:var(--text)}.review-window-option.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014}.review-done-title{text-decoration:line-through;text-decoration-color:var(--border-strong);color:var(--muted)}.review-slipped{color:var(--danger)}.feedback-text{white-space:normal;overflow:visible}.member-lanes{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0;overflow-y:auto}.member-head{position:sticky;top:0;z-index:3;background:var(--bg)}.member-section{display:flex;flex-direction:column}.member-grid{min-height:60px}.member-label{font-family:var(--font-display);font-style:var(--display-italic);font-size:.85rem;color:var(--muted);padding:4px 2px 3px}.presence-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.presence-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;background:var(--surface);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-sm);font-size:.8rem;color:var(--muted)}.presence-chip strong{color:var(--text)}.presence-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.presence-dot-work{background:var(--ok)}.presence-clock{font-variant-numeric:tabular-nums}.project-switcher{display:flex;flex-direction:column;gap:3px;margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}.project-switcher-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:0 10px 3px}.calendar-row{display:flex;align-items:center;gap:6px}.calendar-row input[type=checkbox]{flex-shrink:0}.calendar-name{flex:1;text-align:left}.calendar-band{display:flex;flex-direction:column}.calendar-band-grid{border-radius:var(--radius-md);overflow:hidden}.events-only-toggle{font-size:.82rem}.subtask-section{display:flex;flex-direction:column;gap:0}.subtask-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.subtask-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border)}.subtask-title{flex:1;text-align:left;border:none;background:transparent;padding:2px 0;font-size:.86rem;cursor:pointer}.subtask-title:hover{color:var(--accent);background:transparent}.subtask-done{text-decoration:line-through;color:var(--muted)}.subtask-add{display:flex;align-items:center;gap:6px;padding:3px 0;border-bottom:1px dashed var(--border-strong)}.subtask-add input{flex:1;border-bottom:none}.subtask-add button{font-size:.82rem;padding:3px 10px}.weekday-picker{display:flex;gap:6px}.weekday-toggle{width:34px;height:30px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:.8rem;cursor:pointer}.weekday-toggle-active{background:var(--accent);border-color:var(--accent);color:#fff}.editor-meta{margin:0;color:var(--muted);font-size:.8rem}.editor-actions{display:flex;gap:8px;align-items:center;margin-top:6px;padding-top:14px;border-top:1px solid var(--border)}.editor-actions-spacer{flex:1}.confirm-panel{width:min(380px,calc(100vw - 40px))}.confirm-message{margin:0;color:var(--muted);font-size:.92rem}.confirm-danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.confirm-danger:hover{background:#a93f2f;border-color:#a93f2f}.danger-button{color:var(--danger);border-color:transparent;background:transparent}.danger-button:hover{background:var(--danger-soft)}.primary-button{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.primary-button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px;max-width:720px}.page-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}h2.page-date{font-size:1.65rem;font-style:var(--display-italic);margin:2px 0 0}.page-head .today-stats{margin:0 0 4px;flex:0 1 auto;justify-content:flex-end;text-align:right}.quick-focus{display:flex;align-items:center;gap:11px;margin:0;padding:11px 6px;max-width:720px;background:transparent;border:none;border-bottom:1px dashed var(--border-strong);border-radius:0}.quick-focus-icon{width:16px;height:16px;flex-shrink:0;border:1.5px dashed var(--border-strong);border-radius:5px}.quick-focus-input{flex:1;min-width:0;border:none;background:transparent;padding:4px 2px}.quick-focus-input:focus{outline:none;box-shadow:none}.quick-focus-cat{flex-shrink:0;max-width:150px}.quick-focus select,.quick-focus .primary-button{display:none}.quick-focus:focus-within select,.quick-focus:focus-within .primary-button{display:initial}.today-item{position:relative;display:flex;align-items:center;gap:11px;padding:12px 6px;background:transparent;border:none;border-bottom:1px solid var(--border);border-radius:0;cursor:pointer;transition:background .12s ease}.today-item:hover{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.today-item-current .task-item-title{font-weight:650}.task-has-progress:after,.today-item-current:after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:color-mix(in srgb,var(--accent) 45%,transparent);transform:scaleX(var(--task-progress, 1));transform-origin:left;transition:transform .5s linear}.today-item-current:after{background:var(--accent)}.task-over:after{background:var(--warn)}.row-action{opacity:0;transition:opacity .12s ease}.today-item:hover .row-action,.task-item:hover .row-action,.row-action:focus-visible{opacity:1}.today-section{margin:14px 0 8px;font-size:.92rem;font-weight:650}.today-section-overdue{color:var(--danger)}.done-today{max-width:720px}.done-item{display:flex;align-items:center;gap:11px;padding:11px 6px;border-bottom:1px solid var(--border);color:var(--muted)}.done-item:last-child{border-bottom-color:transparent}.done-item-title{flex:1;text-decoration:line-through;text-decoration-color:var(--accent-border)}@media(max-width:700px){.app-shell{flex-direction:column-reverse}.sidebar{flex-direction:row;width:100%;padding:6px 8px;gap:4px;border-right:none;border-top:1px solid var(--border)}.app-title{display:none}.nav-button{flex:1;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;padding:7px 2px 6px;font-size:.68rem;font-weight:600}.nav-button .nav-icon{width:20px;height:20px}.sidebar-spacer,.data-transfer,.categories-button,.feedback-button,[class*=sync-status-],.sidebar .project-switcher,.sidebar-head{display:none}.week-scope{display:block;margin-bottom:10px}.week-scope .project-switcher{flex-direction:row;flex-wrap:wrap;align-items:center;gap:2px 6px;margin:0;padding:0;border-top:none}.week-scope .project-switcher-label{width:100%;padding:0 0 2px}.week-scope .calendar-name{flex:0 1 auto;padding:4px 9px;font-size:.8rem}.view-container{padding:16px 14px}.pomodoro-bar{flex-wrap:wrap;gap:8px;padding:8px 12px}.pomodoro-task{max-width:160px}.pomodoro-elapsed{display:none}.editor-row,.week-header{flex-wrap:wrap}.week-layout{flex-direction:column}.week-scroll{min-height:0}.week-scroll .week-grid{min-width:calc(640px * var(--cal-zoom, 1))}.month-week,.month-weekday-header{min-width:calc(100% * var(--cal-zoom, 1))}.month-scroll{overflow-x:auto}.month-week .day-header,.month-weekday{padding:2px 4px;font-size:.68rem}.month-week .task-bar{padding:2px 4px;gap:3px;font-size:.72rem}.week-inbox{width:auto;flex:0 0 auto;max-height:35%;border-left:none;padding-left:0;border-top:1px solid var(--border);padding-top:10px}}.hero-card{display:flex;align-items:center;gap:22px;max-width:720px;padding:18px 22px;margin-bottom:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.tb-dial{position:relative;flex-shrink:0}.tb-dial svg{display:block;width:100%;height:100%}.tb-trail{fill:none;stroke-width:7}.tb-band{fill:none;stroke-width:7;stroke-linecap:round}.tb-band-over{stroke:var(--stress-orange)}.tb-now{fill:var(--text)}.tb-now-over{fill:var(--stress-orange)}.tb-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.tb-count{font-size:1.55rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.tb-phase{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.tb-center-over .tb-count,.tb-center-over .tb-phase{color:color-mix(in srgb,var(--stress-orange) 80%,var(--text))}.tb-dots{display:flex;gap:5px;margin-top:3px}:root.overtime .app-shell:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:15;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--stress-orange) 55%,transparent),inset 0 0 30px color-mix(in srgb,var(--stress-orange) 16%,transparent)}.hero-info{display:flex;flex-direction:column;gap:5px;min-width:0}.hero-label{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.hero-title{font-size:1.2rem;font-weight:650;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis}.hero-meta{color:var(--muted);font-size:.86rem}.hero-dots{display:flex;gap:6px;margin:4px 0}.hero-dot{width:9px;height:9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border-strong);transition:background .3s ease}.hero-dot-filled{background:var(--accent);border-color:transparent}.hero-actions{display:flex;gap:8px;margin-top:2px}.pomodoro-dots{display:flex;gap:4px;align-items:center}.today-stats{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-6px 0 12px}.today-stats-text{color:var(--muted);font-size:.88rem}.today-progress{flex:0 1 180px;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.today-progress-fill{display:block;height:100%;width:100%;border-radius:3px;background:var(--accent);transform-origin:left;transition:transform .6s ease-out}.confetti{position:fixed;inset:0;pointer-events:none;z-index:30;overflow:hidden}.confetti span{position:absolute;top:-12px;border-radius:2px;animation:confetti-fall 1.5s ease-in forwards}@keyframes confetti-fall{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--drift, 0),105vh) rotate(var(--spin, 360deg));opacity:.7}}.view-anim{height:100%;animation:view-in .12s ease-out}.view-anim-none{height:100%}@keyframes view-in{0%{opacity:0}}::view-transition-group(focus-task){animation-duration:.28s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(focus-task),::view-transition-new(focus-task){height:100%}.day-page-focusing .today-item,.day-page-focusing .quick-focus,.day-page-focusing .done-today,.day-page-focusing .task-item{opacity:.72;transition:opacity .15s ease-out}.day-page-focusing .today-item-current,.day-page-focusing .today-item:hover,.day-page-focusing .task-item:hover,.day-page-focusing .quick-focus:focus-within,.day-page-focusing .done-today:hover{opacity:1}.editor-overlay{animation:overlay-in .16s ease-out}@keyframes overlay-in{0%{opacity:0}}.editor-panel{animation:panel-in .16s cubic-bezier(.22,1,.36,1)}@keyframes panel-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.editor-overlay-leaving{animation:overlay-out .12s ease-out forwards}.editor-overlay-leaving .editor-panel{animation:panel-out .12s ease-out forwards}@keyframes overlay-out{to{opacity:0}}@keyframes panel-out{to{opacity:0;transform:scale(.97)}}.toast{animation:toast-in .2s cubic-bezier(.22,1,.36,1)}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.toast-leaving{animation:toast-out .15s ease-out forwards}@keyframes toast-out{to{opacity:0;transform:translateY(10px)}}input[type=checkbox].checkbox-pop{animation:check-pop .25s ease}@keyframes check-pop{0%{transform:scale(.8)}55%{transform:scale(1.18)}to{transform:scale(1)}}.drag-ghost{animation:ghost-pop .12s ease forwards}@keyframes ghost-pop{0%{transform:scale(.98)}to{transform:scale(1.03)}}button:active{transform:scale(.97)}@media(prefers-reduced-motion:reduce){.view-anim,.editor-panel,.editor-overlay,.editor-overlay-leaving,.editor-overlay-leaving .editor-panel,.toast,.toast-leaving,.drag-ghost,input[type=checkbox].checkbox-pop,.launch-mark,.confetti span{animation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none}.hero-ring-fill,.today-progress-fill,.estimate-progress-fill,.stats-bar{transition:none}}.task-item,.today-item,.task-bar{touch-action:manipulation}@media(pointer:coarse){button{padding:8px 14px}input[type=checkbox]{width:22px;height:22px}.task-item,.today-item{padding:13px 14px}.task-bar{padding:8px 9px}.task-bar-resize{width:20px}.task-bar-resize-right{margin-right:-9px}.task-bar-resize-left{margin-left:-9px}}@media(hover:none){.day-add,.task-item-delete,.row-action{opacity:.7}.quick-focus select,.quick-focus .primary-button{display:initial}}@media(pointer:coarse){:root{font-size:17px}@supports (font: -apple-system-body){:root{font:-apple-system-body}}}
