:root{color-scheme:dark light;--bg: #0b0d12;--surface: #151821;--surface-2: #1b2029;--border: #262b38;--checkbox-line: #6b7688;--text: #e7e9ee;--text-muted: #9aa1b1;--accent-default: #2a97e0;--primary: var(--user-accent, var(--accent-default));--primary-hover: color-mix(in srgb, var(--primary) 80%, #ffffff);--primary-text: #ffffff;--success: #34d399;--success-bg: rgba(52, 211, 153, .14);--warning: #f5b942;--warning-bg: rgba(245, 185, 66, .14);--neutral: #9aa1b1;--neutral-bg: rgba(154, 161, 177, .14);--danger: #f2555a;--danger-hover: #ff6a6f;--danger-bg: rgba(242, 85, 90, .12);--cat-1: #3987e5;--cat-2: #d95926;--cat-3: #199e70;--cat-4: #c98500;--cat-5: #d55181;--cat-6: #008300;--cat-7: #9085e9;--cat-8: #e66767;--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px -12px rgba(0, 0, 0, .55);font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #f4f5f8;--surface: #ffffff;--surface-2: #f7f8fb;--border: #e3e6ed;--checkbox-line: #aab0bd;--text: #1c1f27;--text-muted: #6b7280;--primary-hover: color-mix(in srgb, var(--primary) 84%, #000000);--success-bg: rgba(16, 163, 106, .12);--success: #0f9d67;--warning-bg: rgba(217, 143, 12, .12);--warning: #b5790a;--neutral-bg: rgba(107, 114, 128, .1);--neutral: #6b7280;--danger-bg: rgba(220, 38, 38, .08);--danger: #dc2626;--danger-hover: #b91c1c;--cat-1: #2a78d6;--cat-2: #eb6834;--cat-3: #1baf7a;--cat-4: #eda100;--cat-5: #e87ba4;--cat-6: #008300;--cat-7: #4a3aa7;--cat-8: #e34948;--shadow: 0 1px 2px rgba(30, 34, 45, .06), 0 12px 28px -14px rgba(30, 34, 45, .18)}}:root[data-theme=light]{color-scheme:light;--bg: #f4f5f8;--surface: #ffffff;--surface-2: #f7f8fb;--border: #e3e6ed;--checkbox-line: #aab0bd;--text: #1c1f27;--text-muted: #6b7280;--primary-hover: color-mix(in srgb, var(--primary) 84%, #000000);--success-bg: rgba(16, 163, 106, .12);--success: #0f9d67;--warning-bg: rgba(217, 143, 12, .12);--warning: #b5790a;--neutral-bg: rgba(107, 114, 128, .1);--neutral: #6b7280;--danger-bg: rgba(220, 38, 38, .08);--danger: #dc2626;--danger-hover: #b91c1c;--cat-1: #2a78d6;--cat-2: #eb6834;--cat-3: #1baf7a;--cat-4: #eda100;--cat-5: #e87ba4;--cat-6: #008300;--cat-7: #4a3aa7;--cat-8: #e34948;--shadow: 0 1px 2px rgba(30, 34, 45, .06), 0 12px 28px -14px rgba(30, 34, 45, .18)}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;min-height:100vh;background:var(--bg);overscroll-behavior-y:contain}h1,h2,h3{font-weight:650;letter-spacing:-.02em}a{color:var(--primary);text-decoration:inherit}a:hover{color:var(--primary-hover)}button{font-family:inherit}.app-shell{max-width:1360px;margin:0 auto;padding:2.75rem 2rem 4rem;overflow-x:clip}.app-shell-wide{max-width:min(2100px,97vw);padding-bottom:2rem}.app-header-bar{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.app-header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;max-width:1296px;margin-inline:auto}.app-title-block{text-align:center}.app-title-block h1{font-size:1.75rem;margin:0;background:linear-gradient(135deg,var(--primary),var(--success));-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{color:var(--text-muted);margin:.15rem 0 0;font-size:.82rem}.app-header-start{display:flex;align-items:center;gap:.5rem}.user-badge-wrap{position:relative}.user-badge{display:flex;align-items:center;gap:.5rem;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.35rem .9rem .35rem .35rem;cursor:pointer;color:var(--text);font-weight:600;font-size:.88rem}.user-badge:hover{border-color:var(--primary)}.user-avatar{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--primary);color:var(--primary-text);font-size:.85rem;font-weight:700}.user-badge-menu{left:0;right:auto;min-width:160px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.toolbar{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.75rem}.user-picker{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.main-nav{display:flex;gap:.5rem}.nav-link{padding:.4rem .9rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.nav-link:hover{color:var(--text);background:var(--surface-2)}.nav-link-active,.nav-link-active:hover{color:var(--primary-text);background:var(--primary)}.field-inline{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text-muted)}.pause-banner{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-size:.88rem}.pause-banner .input{width:auto}.pause-banner-form{flex-wrap:wrap}.pause-banner-fields{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.field-label{white-space:nowrap}.field-caption{width:100%;margin:-.25rem 0 0;font-size:.8rem;color:var(--text-muted)}.select,.input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem;color:var(--text);font-size:.95rem;transition:border-color .15s,box-shadow .15s}.select{min-width:0;max-width:100%}.select:focus,.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent)}textarea.input{display:block;width:100%;resize:none;overflow:hidden;line-height:1.4;font-family:inherit}.new-task-form textarea.input,.task-edit-fields textarea.input{flex:1 1 100%}.input::placeholder{color:var(--text-muted)}.new-user-form,.new-task-form,.settings-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding-top:1rem;margin-top:1rem;border-top:1px dashed var(--border)}.new-user-form,.settings-form{border-top:none;padding-top:.75rem;margin-top:.25rem}.new-task-form{border-top:none;padding-top:0;margin-top:0}.user-manage-panel{flex-basis:100%;padding-top:.75rem;margin-top:.25rem}.input-title{flex:1 1 220px}.input-narrow{width:4.5rem}.input-time{width:6.5rem}.duration-input{display:flex;align-items:center;gap:.3rem;flex-wrap:nowrap}.datetime-field{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.datetime-field .input{min-width:0}.duration-input-sep{color:var(--text-muted)}.input-search{width:11rem}.search-input-wrap{position:relative;display:inline-flex;align-items:center;width:11rem}.search-input-wrap .input-search{width:100%;padding-right:1.9rem}.search-input-clear{position:absolute;right:.35rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1.2rem;line-height:1;padding:.15rem .25rem}.search-input-clear:hover{color:var(--danger)}.recurrence-fields{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem;background:var(--surface-2);border-radius:var(--radius-sm);width:100%}.weekday-picker{display:flex;flex-wrap:wrap;gap:.35rem;min-width:0;width:100%}.weekday-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:var(--radius-sm);padding:.35rem .55rem;font-size:.82rem;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.weekday-toggle-active{background:var(--primary);border-color:var(--primary);color:#fff}.end-condition{display:flex;flex-wrap:wrap;gap:1rem;width:100%}.advanced-section{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;width:100%}.advanced-panel,.time-override-list{display:flex;flex-direction:column;gap:.4rem;width:100%}.time-override-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.time-override-sep{color:var(--text-muted)}.time-override-row .field-inline{min-width:0}.recurrence-icon{font-size:.9em}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100}.modal-card{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;overflow-x:hidden}.modal-card>h3{margin:0}.modal-close{position:sticky;top:0;align-self:flex-end;flex:0 0 auto;margin:-.5rem -.5rem -1.25rem 0;z-index:3;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:color-mix(in srgb,var(--surface-2) 90%,transparent);color:var(--text-muted);font-size:.9rem;line-height:1;cursor:pointer;transition:color .12s,background-color .12s}.modal-close:hover{color:var(--text);background:var(--surface-2)}.mobile-nav-backdrop{justify-content:flex-start;align-items:stretch;padding:0}.mobile-nav-drawer{display:flex;flex-direction:column;gap:.25rem;width:min(78vw,300px);padding:1.25rem;background:var(--surface);border-right:1px solid var(--border);box-shadow:var(--shadow);overflow-y:auto;animation:mobile-nav-slide-in .16s ease-out}@keyframes mobile-nav-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-nav-account{display:flex;align-items:center;gap:.6rem;margin-top:2rem;padding:0 .75rem .85rem;border-bottom:1px solid var(--border)}.mobile-nav-account-name{font-weight:700;font-size:1rem;color:var(--text)}.mobile-nav-links{display:flex;flex-direction:column;gap:.25rem;margin-top:.75rem}.mobile-nav-bottom{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.25rem}.mobile-nav-link{padding:.65rem .75rem;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;color:var(--text-muted);text-align:left;background:transparent;border:none;cursor:pointer;width:100%}.mobile-nav-link:hover{background:var(--surface-2);color:var(--text)}.mobile-back-link{margin-bottom:1rem;padding-left:0}.onboarding-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:200}.onboarding-card{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:1.75rem 1.5rem 1.25rem}.onboarding-icon{font-size:2.6rem;line-height:1;margin-bottom:.25rem}.onboarding-title{margin:0;font-size:1.2rem}.onboarding-body{margin:0;color:var(--text-muted);line-height:1.55}.onboarding-dots{display:flex;gap:.4rem;margin:.9rem 0 .25rem}.onboarding-dot{width:6px;height:6px;border-radius:999px;background:var(--border);transition:background-color .15s,width .15s}.onboarding-dot-active{width:18px;background:var(--primary)}.onboarding-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;margin-top:.5rem}.onboarding-footer-right{display:flex;align-items:center;gap:.5rem}.completed-tasks-modal{max-width:560px}.recurrence-editor-actions{margin-top:.5rem}.task-detail-header{display:flex;align-items:flex-start;gap:.75rem}.task-detail-title-block{min-width:0;flex:1 1 auto}.task-detail-title-block h3{margin:0;word-break:break-word}.task-detail-meta{display:flex;align-items:center;gap:.5rem;margin-top:.35rem}.task-detail-description{margin:0;color:var(--text-muted);white-space:pre-wrap}.task-detail-description a{text-decoration:underline;word-break:break-word}.task-detail-actions{margin-top:.25rem;padding-top:.75rem;border-top:1px solid var(--border)}.stats-panel{display:flex;flex-direction:column;gap:.75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1rem}.meter{display:flex;flex-direction:column;gap:.35rem}.meter-label{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600}.meter-track{height:8px;border-radius:999px;background:var(--border);overflow:hidden}.meter-fill{height:100%;border-radius:999px;background:var(--success)}.meter-caption{font-size:.78rem;color:var(--text-muted)}.meter-value{display:inline-flex;align-items:center;gap:.4rem}.stat-delta{font-size:.72rem;font-weight:600}.stat-delta-up{color:var(--success)}.stat-delta-down{color:var(--danger)}.stats-row{display:flex;gap:.75rem}.stat-tile{flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .5rem}.stat-value{font-size:1.4rem;font-weight:700}.stat-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.overview-summary{margin-bottom:1.25rem}.stats-scope-control{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.compare-month-pickers{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.compare-vs{font-size:.85rem;color:var(--text-muted)}.compare-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.compare-column-label{display:block;font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.4rem}.month-progress{display:flex;align-items:center;gap:.6rem;margin-bottom:1.25rem}.month-progress-track{flex:1 1 auto;height:4px;border-radius:999px;background:var(--border);overflow:hidden}.month-progress-fill{height:100%;border-radius:999px;background:var(--primary)}.month-progress-caption{flex:0 0 auto;font-size:.75rem;color:var(--text-muted);white-space:nowrap}.stats-radar-block{margin:1.25rem 0 .5rem;padding:1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2rem}.stats-radar-panel{flex:1 1 280px;max-width:360px}.stats-radar-caption{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);text-align:center}.habit-radar{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem 2.5rem 0}.habit-radar-svg{width:300px;max-width:100%;height:auto;overflow:visible}.habit-radar-ring,.habit-radar-spoke{fill:none;stroke:var(--border);stroke-width:1}.habit-radar-ring-label{fill:var(--text-muted);font-size:7px;opacity:.7}.habit-radar-prev{fill:none;stroke:var(--text-muted);stroke-width:1.5;stroke-dasharray:4 3;opacity:.8}.habit-radar-area{fill:color-mix(in srgb,var(--primary) 18%,transparent);stroke:var(--primary);stroke-width:2;stroke-linejoin:round}.habit-radar-dot{fill:var(--primary)}.habit-radar-axis-label{fill:var(--text);font-size:9px;font-weight:600}.habit-radar-legend{display:flex;gap:1rem;font-size:.75rem;color:var(--text-muted)}.habit-radar-legend span{display:inline-flex;align-items:center;gap:.35rem}.habit-radar-legend-swatch{width:.9rem;height:0;border-top-width:2px;border-top-style:solid}.habit-radar-legend-current{border-top-color:var(--primary)}.habit-radar-legend-prev{border-top-style:dashed;border-top-color:var(--text-muted)}.habit-radar-skills .habit-radar-area{fill:color-mix(in srgb,var(--success) 16%,transparent);stroke:var(--success)}.habit-radar-skills .habit-radar-dot{fill:var(--success)}.habit-radar-skills .habit-radar-legend-current{border-top-color:var(--success)}@media(max-width:640px){.habit-radar{padding:.5rem 1.25rem 0}.habit-radar-axis-label{font-size:8px}}.meter-label-solo{display:block;font-size:.85rem;font-weight:600;margin-bottom:.5rem}.stats-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.category-stats{display:flex;flex-direction:column;gap:.75rem}.category-stats-toolbar{display:flex}.category-stats-panels-compare{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.category-stats-panel{display:flex;flex-direction:column;gap:.5rem;min-width:0}.category-stats-charts{display:flex;flex-wrap:wrap;gap:.75rem}.category-bar-chart{flex:2 1 260px;min-width:0}.category-pie-chart{flex:1 1 200px;min-width:0}.category-bars{display:flex;align-items:flex-end;gap:.5rem;height:150px;overflow-x:auto}.category-bar{flex:1 1 0;min-width:2.5rem;height:100%;display:flex;flex-direction:column;align-items:center;gap:.3rem}.category-bar-value{font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--text)}.category-bar-track{width:100%;flex:1;min-height:0;display:flex;align-items:flex-end;background:var(--border);border-radius:4px;overflow:hidden}.category-bar-fill{width:100%;min-height:2px;background:var(--bar-color, var(--success));border-radius:4px}.category-bar-label{font-size:.68rem;color:var(--text-muted);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-pie-body{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.category-pie{width:120px;height:120px;flex:none}.category-pie-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;min-width:0;flex:1 1 8rem}.category-pie-legend li{display:flex;align-items:center;gap:.4rem;font-size:.75rem}.category-pie-swatch{width:.7rem;height:.7rem;border-radius:3px;flex:none}.category-pie-legend-name{color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-pie-legend-value{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--text)}@media(max-width:640px){.category-stats-panels-compare{grid-template-columns:1fr}}.weekday-bars{display:flex;align-items:flex-end;gap:.4rem;height:64px}.weekday-bar{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;gap:.3rem}.weekday-bar-track{width:100%;flex:1;display:flex;align-items:flex-end;background:var(--border);border-radius:4px;overflow:hidden}.weekday-bar-fill{width:100%;min-height:2px;background:var(--success);border-radius:4px}.weekday-bar-label{font-size:.7rem;color:var(--text-muted)}.heatmap-months{display:flex;gap:3px;font-size:.65rem;color:var(--text-muted);margin-bottom:2px}.heatmap-weekday-spacer{width:22px;flex-shrink:0}.heatmap-month-label{width:11px;flex-shrink:0;white-space:nowrap;overflow:visible}.heatmap-body{display:flex;gap:4px}.heatmap-weekday-labels{display:flex;flex-direction:column;gap:3px;width:22px;flex-shrink:0}.heatmap-weekday-label{height:11px;line-height:11px;font-size:.62rem;color:var(--text-muted);text-align:right}.heatmap-grid{display:flex;gap:3px;overflow-x:auto;padding-bottom:2px}.heatmap-week{display:flex;flex-direction:column;gap:3px}.heatmap-cell{width:11px;height:11px;border-radius:2px;background:transparent;border:none;flex-shrink:0;padding:0;margin:0}.heatmap-cell-clickable{cursor:pointer}.heatmap-cell-clickable:hover{outline:1px solid var(--primary);outline-offset:1px}.heatmap-cell-empty{background:var(--surface);border:1px solid var(--border)}.heatmap-cell-todo{background:var(--neutral-bg);border:1px solid var(--neutral)}.heatmap-cell-ongoing{background:var(--warning)}.heatmap-cell-completed{background:var(--success)}.heatmap-cell-failed{background:var(--danger)}.heatmap-cell-paused{background:repeating-linear-gradient(-45deg,var(--primary),var(--primary) 2px,transparent 2px,transparent 4px);border:1px solid var(--primary);opacity:.6}.heatmap-cell-deferred-out{position:relative;background:var(--warning)}.heatmap-cell-deferred-out:after{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid var(--surface)}.heatmap-cell-deferred{position:relative}.heatmap-cell-deferred:after{content:"";position:absolute;inset:0;margin:auto;width:4px;height:4px;border-radius:50%;background:var(--surface)}.heatmap-legend{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;margin-top:.6rem;font-size:.72rem;color:var(--text-muted)}.heatmap-legend .heatmap-cell{margin-left:.4rem}.heatmap-legend .heatmap-cell:first-child{margin-left:0}button.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:var(--radius-sm);border:1px solid transparent;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .04s ease,background-color .15s,border-color .15s,color .15s;white-space:nowrap}button.btn:active{transform:translateY(1px)}button.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button.btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:.35rem .75rem;font-size:.82rem}.btn-primary{background:var(--primary);color:var(--primary-text)}.btn-primary:hover{background:var(--primary-hover)}.fab{position:fixed;right:2rem;bottom:2rem;width:3.4rem;height:3.4rem;border-radius:999px;border:none;background:var(--primary);color:var(--primary-text);font-size:1.8rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px #00000059;z-index:50;transition:background-color .15s,transform .1s,bottom .2s ease}.fab:hover{background:var(--primary-hover)}@media(max-width:760px){body.has-timer-bar .fab{bottom:calc(1.25rem + var(--timer-bar-height, 3.2rem) + .7rem)}body.has-timer-bar .feedback-fab{bottom:calc(1.25rem + var(--timer-bar-height, 3.2rem) + .5rem)}}.fab:active{transform:scale(.95)}.feedback-fab{position:fixed;left:1.5rem;bottom:1.6rem;width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);opacity:.7;z-index:50;transition:opacity .15s,transform .1s,bottom .2s ease}.feedback-fab:hover{opacity:1}.feedback-fab:active{transform:scale(.95)}.feedback-type-picker{display:flex;gap:.4rem;flex-wrap:wrap}.feedback-textarea{width:100%;resize:vertical;min-height:5.5rem;font:inherit}.feedback-thanks{margin:.25rem 0 .75rem}.feedback-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.feedback-item{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem}.feedback-item-head{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.78rem;color:var(--text-muted)}.feedback-item-who{font-weight:600;color:var(--text)}.feedback-item-when{margin-left:auto;font-variant-numeric:tabular-nums}.feedback-item-delete{padding:.15rem .35rem;font-size:.8rem;opacity:.6}.feedback-item-delete:hover{opacity:1}.feedback-item-page{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.feedback-item-msg{margin:.4rem 0 0;white-space:pre-wrap;word-break:break-word}.ptr-indicator{position:fixed;top:0;left:50%;margin-left:-18px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--primary);font-size:1.15rem;z-index:150;pointer-events:none;transition:opacity .15s ease}.ptr-arrow{display:block;line-height:1}.ptr-indicator-active .ptr-arrow{animation:ptr-spin .7s linear infinite}@keyframes ptr-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ptr-indicator-active .ptr-arrow{animation-duration:1.4s}}.undo-toast{--undo-stack: 0;position:fixed;left:50%;bottom:calc(1.5rem + var(--undo-stack) * 3.4rem);transform:translate(-50%);z-index:61;display:flex;align-items:center;gap:.9rem;padding:.7rem .6rem .7rem 1rem;max-width:calc(100vw - 2rem);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #00000059;overflow:hidden;animation:undo-toast-in .18s ease-out}body.has-timer-bar .undo-toast{bottom:calc(1.9rem + var(--timer-bar-height, 3rem) + var(--undo-stack) * 3.4rem)}.undo-toast:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--primary);transform-origin:left;animation:undo-toast-countdown 6s linear forwards}.undo-toast-text{font-size:.88rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undo-toast-btn{flex:0 0 auto;background:transparent;border:none;padding:.3rem .5rem;font-size:.88rem;font-weight:700;color:var(--primary);cursor:pointer}.undo-toast-btn:hover{color:var(--primary-hover)}@keyframes undo-toast-in{0%{opacity:0;transform:translate(-50%) translateY(.5rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes undo-toast-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--text-muted)}.btn-danger{background:transparent;color:var(--danger);border-color:transparent}.btn-danger:hover{background:var(--danger-bg);color:var(--danger-hover)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}@media(min-width:900px){.content-grid{grid-template-columns:240px minmax(0,1.15fr) minmax(0,1fr);align-items:start}}@media(max-width:899px){.content-grid .daily-card{order:1}.content-grid .column-tasks{order:2}.content-grid .column-stats{order:3}}.page-full{display:block}.info-columns{columns:3 320px;column-gap:1rem}.info-card{max-width:none;margin:0 0 1rem;break-inside:avoid}@media(max-width:1000px){.info-columns{columns:2 300px}}@media(max-width:640px){.info-columns{columns:1;max-width:640px}}.info-card h3:first-child{margin-top:0}.info-card h3{margin-bottom:.6rem}.info-lead{color:var(--text);line-height:1.6}.info-5s{margin:.75rem 0 1.25rem;padding-left:1.4rem;display:flex;flex-direction:column;gap:.35rem;color:var(--text-muted)}.info-5s strong{color:var(--text)}.info-principles{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.7rem;list-style:none}.info-principles li{color:var(--text-muted);line-height:1.5;position:relative}.info-principles li:before{content:"✓";position:absolute;left:-1.2rem;color:var(--success);font-weight:700}.info-principles strong{color:var(--text)}.info-sub{margin:1.4rem 0 .5rem;font-size:.95rem;color:var(--text)}.info-card kbd{font:inherit;font-size:.85em;padding:.05rem .35rem;border:1px solid var(--border);border-bottom-width:2px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text)}.info-glossary{margin:.75rem 0 0}.info-glossary dt{font-weight:700;color:var(--text);margin-top:1.15rem;margin-bottom:.25rem}.info-glossary dt:first-child{margin-top:0}.info-glossary dd{margin:0;color:var(--text-muted);line-height:1.5}.info-beta{border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:color-mix(in srgb,var(--success) 8%,var(--surface))}.info-beta-banner{margin-bottom:1.25rem}.info-beta-banner h3{text-align:center}.settings-shell{display:grid;grid-template-columns:220px 1fr;gap:2rem;align-items:start}@media(max-width:700px){.settings-shell{grid-template-columns:1fr}}.settings-nav{display:flex;flex-direction:column;gap:.15rem}.settings-nav-item{display:block;width:100%;text-align:left;padding:.5rem .75rem;border:none;border-left:2px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:.9rem;cursor:pointer}.settings-nav-item:hover{background:var(--surface-2);color:var(--text)}.settings-nav-item.active{border-left-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--text);font-weight:600}.settings-content{min-width:0}.settings-content h3{margin:0 0 .75rem}.settings-divider{height:1px;background:var(--border);margin-bottom:1.25rem}.settings-section-desc{color:var(--text-muted);font-size:.88rem;max-width:46ch;margin:0 0 1rem}.column-stats{display:flex;flex-direction:column;gap:1rem}.stats-column{flex-direction:column}.stats-callout{display:flex;flex-direction:column;gap:.15rem;background:color-mix(in srgb,var(--primary) 12%,var(--surface-2));border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));border-radius:var(--radius-sm);padding:.65rem .85rem}.stats-callout-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--primary)}.stats-callout-value{font-size:.95rem;font-weight:600}.stats-encouragement{margin:0;font-size:.85rem;color:var(--success);font-weight:600}.recurrence-overview-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.recurrence-overview-list-compare{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}.recurrence-overview-card{display:flex;flex-direction:column;gap:.6rem;text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;font:inherit;color:inherit;cursor:pointer}.recurrence-overview-card:hover{border-color:var(--primary)}.recurrence-overview-card-obscured{cursor:default;opacity:.6;align-items:center;min-height:3rem;justify-content:center}.recurrence-overview-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.recurrence-overview-header .task-title{font-weight:700}.recurrence-overview-pattern{margin:0;font-size:.85rem;color:var(--text-muted)}.section-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem}.view-toggle{display:inline-flex;align-self:flex-start;flex:0 0 auto;gap:.25rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.2rem}.new-task-form-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;flex:1 1 100%}.new-task-form-toggles{display:flex;gap:.4rem}.icon-toggle-btn{flex:0 0 auto;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);font-size:1.1rem;line-height:1;cursor:pointer}.icon-toggle-btn-active{background:color-mix(in srgb,var(--primary) 18%,var(--surface-2));border-color:var(--primary)}.view-toggle .btn-ghost{border-color:transparent}.view-toggle-compact{flex-wrap:nowrap;max-width:100%}.view-toggle-compact .btn{white-space:nowrap}@media(max-width:480px){.view-toggle-compact{gap:.15rem;padding:.15rem}}.section-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.section-subtitle{color:var(--text-muted);font-weight:500;font-size:.95rem}.quick-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.75rem}.quick-add-row .input-title{flex:1 1 160px}.quick-add-day-toggle{flex:0 0 auto;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:1rem;line-height:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted);cursor:pointer;transition:color .12s,border-color .12s,background .12s}.quick-add-day-toggle:hover{border-color:color-mix(in srgb,var(--warning) 45%,var(--border))}.quick-add-day-toggle-on{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:color-mix(in srgb,var(--warning) 14%,var(--surface-2))}.task-search-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.85rem}.task-search-row .search-input-wrap{flex:1 1 auto;width:auto;min-width:0}.task-search-row .filter-menu{flex:0 0 auto}h2{font-size:1.15rem;margin:0 0 1rem}.section-header h2{margin:0}.daily-card{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.day-calendar-bucket{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.day-calendar-bucket-label{flex:0 0 auto;font-size:.75rem;color:var(--text-muted)}.day-calendar-bucket-items{display:flex;flex-wrap:wrap;gap:.4rem}.day-calendar-bucket-item{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--pill-color, var(--border));background:color-mix(in srgb,var(--pill-color, var(--border)) 14%,var(--surface-2));font-size:.8rem;font-family:inherit;color:var(--text);cursor:pointer}.day-calendar-scroll{max-height:620px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.day-calendar{position:relative;display:grid;grid-template-columns:44px 1fr}.day-calendar-hours{position:relative}.day-calendar-hour-label{position:absolute;left:0;right:.5rem;text-align:right;transform:translateY(-.6em);font-size:.7rem;color:var(--text-muted)}.day-calendar-grid{position:relative;border-left:1px solid var(--border)}.day-calendar-hour-line{position:absolute;left:0;right:0;border-top:1px solid var(--border)}.day-calendar-now-line{position:absolute;left:0;right:0;border-top:2px solid var(--danger);z-index:2}.day-calendar-free-band,.week-grid-free-band{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);background:repeating-linear-gradient(-45deg,transparent,transparent 6px,color-mix(in srgb,var(--border) 30%,transparent) 6px,color-mix(in srgb,var(--border) 30%,transparent) 7px);pointer-events:none}.day-calendar-free-band span,.week-grid-free-band span{font-size:.68rem;color:var(--text-muted);background:var(--surface);padding:0 .4rem;border-radius:999px}.day-calendar-sleep-band,.week-grid-sleep-band{position:absolute;left:0;right:0;z-index:0;pointer-events:none;background:color-mix(in srgb,var(--primary) 9%,transparent)}.day-calendar-task{position:absolute;overflow:hidden;display:flex;align-items:flex-start;gap:.2rem;padding:1px 3px;border-radius:var(--radius-sm);border-left:3px solid var(--pill-color, var(--border));background:color-mix(in srgb,var(--pill-color, var(--border)) 14%,var(--surface-2));font-size:.8rem;--cal-line: 1.05rem;z-index:1}.day-calendar-task-checkbox{flex:0 0 auto;width:.78rem;height:.78rem;margin-top:calc((var(--cal-line) - .78rem) / 2);border-radius:999px;border:1.5px solid var(--checkbox-line);background:var(--surface-2);color:var(--success);font-size:.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.day-calendar-task-done .day-calendar-task-checkbox{border-color:var(--success);background:var(--success-bg)}.day-calendar-task-failed .day-calendar-task-checkbox{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.day-calendar-task-body{flex:1 1 auto;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--title-lines, 2);overflow:hidden;overflow-wrap:anywhere;background:transparent;border:none;padding:0;margin:0;color:inherit;font:inherit;line-height:var(--cal-line);text-align:left;cursor:pointer}.day-calendar-task .task-emoji{margin-right:.15rem;font-size:.75rem;line-height:1}.day-calendar-task-time{margin-left:.3rem;font-size:.68rem;font-weight:600;opacity:.55;font-variant-numeric:tabular-nums;white-space:nowrap}.day-calendar-task-title{font-size:.82rem}.day-calendar-task-done{opacity:.55}.day-calendar-task-done .day-calendar-task-title{text-decoration:line-through}.day-calendar-task-failed{opacity:.7}.day-calendar-task-failed .day-calendar-task-title{text-decoration:line-through}.day-calendar-task-locked{opacity:.7}.day-calendar-task-obscured{opacity:.6}.day-calendar-task-obscured .day-calendar-task-title{letter-spacing:.15em}.day-calendar-task{cursor:grab}.day-calendar-task-dragging{opacity:.32;pointer-events:none}body.is-dragging,body.is-dragging *{user-select:none!important;-webkit-user-select:none!important}.day-calendar-task-resize-handle{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize;z-index:3}.day-calendar-task-resize-handle:after{content:"";position:absolute;left:50%;bottom:2px;width:22px;height:3px;transform:translate(-50%);border-radius:999px;background:var(--pill-color, var(--border));opacity:0;transition:opacity .12s}.day-calendar-task:hover .day-calendar-task-resize-handle:after{opacity:.7}.calendar-drag-ghost{position:absolute;z-index:6;display:flex;align-items:flex-start;gap:.2rem;overflow:hidden;padding:1px 4px;border-radius:var(--radius-sm);border:1px solid var(--pill-color, var(--primary));border-left:3px solid var(--pill-color, var(--primary));background:color-mix(in srgb,var(--pill-color, var(--primary)) 24%,var(--surface));box-shadow:var(--shadow);font-size:.8rem;cursor:grabbing;pointer-events:none}.calendar-drag-ghost-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-drag-ghost-time{margin-left:auto;padding-left:.25rem;opacity:.85;font-variant-numeric:tabular-nums;white-space:nowrap}.empty-state{color:var(--text-muted);font-style:italic;padding:.5rem 0;margin:0}.route-loading{padding-block:3rem;text-align:center}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.task-board{display:flex;gap:.9rem;overflow-x:auto;padding-bottom:.4rem}.task-board-column{flex:0 0 260px;min-width:0;display:flex;flex-direction:column;gap:.6rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem}.task-board-column-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-weight:600;font-size:.9rem;color:var(--text-muted)}.task-board-column-count{background:var(--surface);border-radius:999px;padding:.05rem .55rem;font-size:.78rem}.task-board-column-body{display:flex;flex-direction:column;gap:.5rem;min-height:60px;border-radius:var(--radius-sm);transition:background-color .15s ease}.task-board-column-body-over{background:color-mix(in srgb,var(--primary) 12%,transparent)}.task-board-empty{margin:0;padding:.5rem 0;color:var(--text-muted);font-size:.82rem;font-style:italic}.task-board-card{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .7rem;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:border-color .15s ease,opacity .15s ease,transform .15s ease}.task-board-card:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.task-board-card:active{cursor:grabbing}.task-board-card-title-line{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;min-width:0}.task-board-card-title-line .task-title{min-width:0;overflow-wrap:anywhere}.task-board-card-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.task-board-card-dragging{opacity:.4;transform:scale(.97)}.task-board-card-overlay{cursor:grabbing;transform:scale(1.04) rotate(-1.5deg);box-shadow:0 14px 32px #00000059}@media(max-width:640px){.task-board{scroll-snap-type:x mandatory}.task-board-column{flex:0 0 82%;scroll-snap-align:start}}.task-card{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.1rem;transition:border-color .15s}.task-card:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.task-card-done{opacity:.65}.task-card-done .task-title{text-decoration:line-through;color:var(--text-muted)}.task-card-locked{opacity:.7}.task-locked-note{margin:.35rem 0 0;color:var(--text-muted);font-size:.82rem;font-style:italic}.task-main{flex:1 1 260px;min-width:0}.task-title-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.task-title{font-weight:600;font-size:1.02rem}.task-description{margin:.35rem 0 0;color:var(--text-muted);font-size:.9rem}.task-meta{display:flex;flex-wrap:wrap;gap:.5rem .85rem;margin-top:.6rem;align-items:center}.meta-date{font-size:.78rem;color:var(--text-muted)}.task-row{display:flex;align-items:center;gap:.7rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.65rem .8rem;transition:border-color .15s}.task-row:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.task-row-locked{opacity:.7}.task-row-recurring{background:color-mix(in srgb,var(--task-tint, var(--pill-color, var(--border))) 8%,var(--surface-2))}.task-row-ongoing{background:color-mix(in srgb,var(--warning) 10%,var(--surface-2));border-color:color-mix(in srgb,var(--warning) 30%,var(--border))}.task-row-ongoing:hover{border-color:color-mix(in srgb,var(--warning) 55%,var(--border))}.task-row-now,.task-row-now:hover{border-color:var(--danger)}.task-row-obscured{opacity:.6}.task-title-obscured{color:var(--text-muted);letter-spacing:.15em}.task-checkbox{flex:0 0 auto;width:1.35rem;height:1.35rem;border-radius:999px;border:2px solid var(--checkbox-line);background:var(--surface-2);color:var(--success);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:border-color .15s}.task-checkbox:hover{border-color:var(--primary)}.task-event-marker{flex:0 0 auto;width:1.35rem;height:1.35rem;border-radius:var(--radius-sm);border:2px solid var(--pill-color, var(--border));background:color-mix(in srgb,var(--pill-color, var(--border)) 22%,transparent)}.task-event-marker-sm{width:.85rem;height:.85rem;border-width:1.5px}.task-row-event{position:relative;overflow:hidden;background:color-mix(in srgb,var(--pill-color, var(--border)) 6%,transparent);padding-left:calc(.8rem + 1.35rem + .7rem)}.task-row-event .task-title{font-weight:600}.task-row-fill{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--pill-color, var(--primary)) 15%,transparent);pointer-events:none;z-index:0;transition:width .9s linear}.task-row-event .task-row-main{position:relative;z-index:1}.badge-event{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.day-calendar-task-event{border-left-style:dashed;border-left-width:3px;background:color-mix(in srgb,var(--pill-color, var(--border)) 9%,var(--surface-2));color:var(--text-muted);z-index:0}.day-calendar-task-event .day-calendar-task-title{font-weight:600}.day-calendar-task-event .day-calendar-task-time{opacity:.7}.day-calendar-task-event-vlabel{padding:.25rem .1rem;align-items:stretch}.day-calendar-task-event-vlabel .day-calendar-task-body{display:flex;writing-mode:vertical-rl;flex-wrap:nowrap;align-items:flex-end;justify-content:flex-start;gap:.25rem;min-height:0;overflow:hidden;-webkit-line-clamp:unset}.day-calendar-task-event-vlabel .day-calendar-task-time{display:none}.day-calendar-task-event-vlabel .task-emoji{flex:0 0 auto;font-size:.7rem}.day-calendar-task-event-vlabel .day-calendar-task-title{flex:0 1 auto;min-width:0;font-size:.72rem;line-height:1;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-chip-event{background:color-mix(in srgb,var(--pill-color, var(--border)) 14%,var(--surface-2));border-left:2px dashed var(--pill-color, var(--border));color:var(--text-muted)}.task-row-done .task-checkbox{border-color:var(--success);background:var(--success-bg)}.task-checkbox-ongoing{border-color:var(--warning);background:var(--warning-bg)}.task-row-failed .task-checkbox{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.task-row-main{flex:1 1 auto;min-width:0;container-type:inline-size;container-name:taskrow}@container taskrow (max-width: 360px){.task-row-title-line .badge.task-row-badge{display:none}}.task-row-clickable{cursor:pointer}.task-row-title-line{display:flex;align-items:center;gap:.45rem;min-width:0;overflow:hidden}.task-row-title-line .task-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row-pill{display:inline-block;flex:0 0 auto;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row-done .task-title,.task-row-failed .task-title{text-decoration:line-through;color:var(--text-muted)}.task-row-badge{flex:0 0 auto}.task-row-main .meta-date{display:block;margin-top:.15rem}.task-row-main .task-locked-note{margin:.15rem 0 0}.task-row-actions{flex:0 0 auto;max-width:100%;margin-left:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.3rem}.task-row-confirm-label{font-size:.8rem;color:var(--text-muted)}@media(max-width:640px){.task-row:has(.task-row-actions){flex-wrap:wrap}.task-row-actions{margin-left:calc(1.4rem + .7rem);margin-top:.4rem;max-width:calc(100% - 1.4rem - .7rem)}}.subtask-checklist{margin-top:.35rem}.subtask-checklist-summary{background:transparent;border:none;padding:0;color:var(--text-muted);font-size:.8rem;cursor:pointer}.subtask-checklist-summary:hover{color:var(--primary)}.subtask-checklist-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.subtask-checklist-list li{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.subtask-row-menu{margin-left:auto}.kebab-btn-sm{width:1.4rem;height:1.4rem;font-size:.85rem}.task-checkbox-sm{width:1.05rem;height:1.05rem;font-size:.65rem}.subtask-title-done{text-decoration:line-through;color:var(--text-muted)}.subtask-title-failed{text-decoration:line-through;color:var(--danger)}.subtask-editor{display:flex;flex-direction:column;gap:.4rem}.subtask-editor-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.subtask-editor-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.3rem .55rem;font-size:.85rem}.subtask-editor-list li button{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 .15rem}.subtask-editor-list li button:hover{color:var(--danger)}.subtask-editor-add{display:flex;gap:.4rem}.subtask-editor-add .input{flex:1 1 auto}.notify-settings{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.notify-field{display:flex;flex-direction:column;gap:.4rem}.notify-field-modes{display:flex;flex-wrap:wrap;gap:.9rem}.notify-field .field-inline{flex-wrap:wrap}.task-row-menu{position:relative;flex:0 0 auto}.kebab-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);border-radius:var(--radius-sm);width:1.75rem;height:1.75rem;font-size:1.1rem;line-height:1;cursor:pointer}.kebab-btn:hover{color:var(--text);border-color:var(--border)}.task-menu-popover{position:absolute;top:calc(100% + .25rem);right:0;z-index:20;display:flex;flex-direction:column;min-width:140px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);overflow:hidden}.task-menu-popover button{background:transparent;border:none;text-align:left;padding:.55rem .85rem;font-size:.88rem;color:var(--text);cursor:pointer}.task-menu-popover button:hover{background:var(--surface-2)}.task-menu-popover button.danger{color:var(--danger)}.menu-separator{height:1px;margin:.25rem 0;background:var(--border)}.category-input{position:relative}.category-input .input{width:100%}.category-input-menu{z-index:200;margin:0;padding:.25rem;list-style:none;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.category-input-option{padding:.45rem .6rem;border-radius:calc(var(--radius-sm) - 2px);font-size:.9rem;color:var(--text);cursor:pointer}.category-input-option.is-active{background:var(--surface-2)}.category-input-option-create{color:var(--text-muted);font-style:italic}.category-input-option-row{display:flex;align-items:center;gap:.5rem;min-width:0}.add-task-to-project-field{width:280px;max-width:100%}.filter-menu{position:relative;display:inline-flex}.filter-menu-trigger{display:inline-flex;align-items:center;gap:.4rem}.filter-menu-trigger-active{color:var(--primary);border-color:var(--primary)}.filter-menu-dot{width:6px;height:6px;border-radius:999px;background:var(--primary)}.filter-menu-popover{right:0;left:auto;min-width:240px;max-width:calc(100vw - 2rem);max-height:min(60vh,420px);overflow-y:auto;padding:.4rem;gap:.05rem}@media(max-width:640px){.filter-menu-popover{left:0;right:auto}}.filter-menu-heading{margin:.25rem .35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.filter-menu-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.filter-menu-linkbtn-group{display:flex;flex-wrap:wrap;gap:.1rem .9rem}.filter-menu-popover .filter-menu-linkbtn{flex:0 0 auto;background:transparent;border:none;padding:.25rem .35rem;font-size:.78rem;font-weight:600;white-space:nowrap;color:var(--primary);cursor:pointer}.filter-menu-linkbtn:disabled{color:var(--text-muted);cursor:default}.filter-menu-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .35rem;border-radius:var(--radius-sm);font-size:.9rem;color:var(--text);cursor:pointer}.filter-menu-row:hover{background:var(--surface-2)}.filter-menu-row input{cursor:pointer}.filter-menu-swatch{width:.7rem;height:.7rem;border-radius:3px;flex:0 0 auto}.filter-menu-swatch-none{background:repeating-linear-gradient(45deg,var(--border),var(--border) 2px,transparent 2px,transparent 4px)}.emoji-field{position:relative;flex:0 0 auto}.emoji-field-trigger{width:2.5rem;height:2.5rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);font-size:1.3rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.emoji-field-trigger:hover{border-color:var(--primary)}.emoji-field-popover{position:fixed;z-index:120;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);overflow:hidden}.emoji-field-clear{width:100%;border-radius:0;border-top:1px solid var(--border)}.meta-date-overdue{color:var(--danger);font-weight:600}.pill{--pill-color: var(--neutral);display:inline-flex;align-items:center;background:color-mix(in srgb,var(--pill-color) 16%,var(--surface-2));color:var(--pill-color);border-radius:999px;padding:.15rem .65rem;font-size:.78rem;font-weight:600}.pill-paused{--pill-color: var(--primary)}.task-list-divider{margin:1.1rem 0 .6rem;padding-top:.85rem;border-top:1px dashed var(--border);font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.task-list+.task-list-divider{margin-top:.85rem}.task-list-divider-toggle{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.task-list-divider-toggle .btn{text-transform:none;letter-spacing:normal;font-weight:600}button.task-list-divider{display:flex;align-items:center;gap:.4rem;width:100%;margin:1.1rem 0 .6rem;padding:.85rem 0 0;background:none;border:none;border-top:1px dashed var(--border);cursor:pointer;text-align:left}button.task-list-divider:hover{color:var(--text)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge-todo{background:var(--neutral-bg);color:var(--neutral)}.badge-ongoing{background:#e0a92e;color:#3a2b00}.badge-completed{background:var(--success-bg);color:var(--success)}.badge-failed{background:var(--danger-bg);color:var(--danger)}.badge-overdue{background:#dc2626;color:#fff}.task-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-start}.task-card-editing{flex-direction:column;align-items:stretch}.task-edit-fields{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.75rem}.task-edit-fields .input{flex:1 1 200px}.task-edit-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex:1 1 200px}.task-edit-title-row .input-title,.task-edit-category{flex:1 1 140px;min-width:0}.task-emoji{flex:0 0 auto}.category-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.category-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .85rem}.category-row .input{flex:1 1 160px}.category-color-swatch{border:none;cursor:pointer;font:inherit}.category-palette{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.category-row .category-palette{flex-basis:100%;padding-top:.5rem;margin-top:.2rem;border-top:1px solid var(--border)}.category-palette-dot{width:1.4rem;height:1.4rem;border-radius:999px;border:2px solid transparent;padding:0;cursor:pointer}.category-palette-dot-active{border-color:var(--text);box-shadow:0 0 0 2px var(--surface-2),0 0 0 4px var(--text)}.category-palette-auto{padding:.2rem .6rem;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer}.category-palette-auto.category-palette-dot-active{border-color:var(--text);color:var(--text)}.accent-palette{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.35rem 0 .9rem}.accent-palette+.field-caption{margin-top:0}.accent-palette-dot{width:1.75rem;height:1.75rem;border-radius:999px;border:2px solid transparent;padding:0;cursor:pointer}.accent-palette-dot-active{border-color:var(--text);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--text)}.error-text{color:var(--danger);background:var(--danger-bg);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);border-radius:var(--radius-sm);padding:.6rem .85rem;font-size:.88rem}.calendar{margin-top:.25rem}.calendar-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.85rem}.calendar-month-label{font-weight:650;font-size:1rem;min-width:11ch;text-align:center}.calendar-nav .btn-secondary{margin-left:auto}@media(max-width:640px){.calendar-month-label,.week-grid-range{min-width:0;flex:1}.calendar-nav{gap:.4rem}}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;padding-bottom:.35rem}.calendar-day{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;min-width:0;min-height:84px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,background-color .15s}.calendar-day:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.calendar-day-outside{opacity:.4}.calendar-day-today .calendar-day-number{background:var(--primary);color:var(--primary-text)}.calendar-day-selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.calendar-day-number{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;font-size:.8rem;font-weight:600}.calendar-day-chips{display:flex;flex-direction:column;gap:.2rem}.calendar-chip{font-size:.68rem;font-weight:600;padding:.1rem .4rem;border-radius:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--neutral-bg);color:var(--neutral)}.calendar-chip-todo{background:var(--neutral-bg);color:var(--neutral)}.calendar-chip-ongoing{background:var(--warning-bg);color:var(--warning)}.calendar-chip-completed{background:var(--success-bg);color:var(--success);text-decoration:line-through}.calendar-chip-more{font-size:.68rem;color:var(--text-muted)}.calendar-day-dots{display:flex;flex-wrap:wrap;align-items:center;gap:3px;padding:1px 0}.calendar-day-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted);flex:0 0 auto}.calendar-day-dot-done{opacity:.3}.calendar-day-dots-more{font-size:.62rem;line-height:1;color:var(--text-muted)}.calendar-day-detail{margin-top:1.25rem;padding-top:1.25rem;border-top:1px dashed var(--border)}.calendar-day-detail h3{margin:0 0 .85rem;font-size:1rem}.week-grid{margin-top:.25rem}.week-grid-range{min-width:18ch}.week-grid-scroll{overflow:auto;max-height:clamp(420px,calc(100vh - 360px),1100px)}.week-grid-head,.week-grid-body{display:grid;grid-template-columns:44px 1fr}.week-grid-headwrap{position:sticky;top:0;z-index:3;background:var(--surface)}.week-grid-head{display:grid;border-bottom:1px solid var(--border)}.week-grid-allday{display:grid;max-height:88px;overflow-y:auto;border-bottom:1px solid var(--border)}.week-grid-allday-label{display:flex;align-items:center;justify-content:flex-end;padding-right:4px;font-size:.6rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.week-grid-allday-cell{display:flex;flex-direction:column;gap:3px;min-width:0;padding:3px;border-left:1px solid var(--border)}.calendar-allday-chip{display:flex;align-items:center;gap:.25rem;width:100%;padding:.15rem .4rem;border-radius:6px;border:1px solid var(--pill-color, var(--border));border-left-width:3px;background:color-mix(in srgb,var(--pill-color, var(--border)) 16%,var(--surface-2));font:inherit;font-size:.72rem;color:var(--text);text-align:left;cursor:pointer}.calendar-allday-chip-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-grid-head-day{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.35rem .25rem;border-left:1px solid var(--border);font-size:.75rem}.week-grid-head-weekday{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.week-grid-head-date{font-weight:650;font-size:.95rem}.week-grid-head-day-today .week-grid-head-date{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--primary);color:var(--primary-text)}.week-grid-cols{display:grid;position:relative}.week-grid-col{position:relative;border-left:1px solid var(--border)}.week-grid-create-draft{position:absolute;z-index:4;border-radius:var(--radius-sm);border:1px solid var(--primary);background:color-mix(in srgb,var(--primary) 22%,transparent);color:var(--text);pointer-events:none;overflow:hidden;padding:1px 4px;font-size:.72rem;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.week-grid-create-draft-dur{opacity:.7}.week-agenda{margin-top:.25rem}.week-agenda-cols{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;overflow-x:auto}.week-agenda-col{min-width:8.5rem;display:flex;flex-direction:column;gap:.3rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4rem}.week-agenda-col-today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.week-agenda-col-head{display:flex;align-items:baseline;gap:.35rem;padding-bottom:.3rem;border-bottom:1px solid var(--border)}.week-agenda-head-weekday{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.week-agenda-head-date{font-weight:650;font-size:.9rem}.week-agenda-empty{margin:.35rem 0;text-align:center;color:var(--text-muted)}.week-agenda-item{display:flex;align-items:flex-start;gap:.35rem;padding:.3rem .4rem;border-radius:6px;border-left:3px solid var(--pill-color, var(--border));background:color-mix(in srgb,var(--pill-color, var(--border)) 14%,var(--surface-2))}.week-agenda-item-done,.week-agenda-item-failed{background:color-mix(in srgb,var(--pill-color, var(--border)) 6%,var(--surface-2))}.week-agenda-item-done .task-checkbox{border-color:var(--success);background:var(--success-bg)}.week-agenda-item-failed .task-checkbox{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.week-agenda-item-body{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .35rem;background:transparent;border:none;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.week-agenda-item-time{font-variant-numeric:tabular-nums;font-weight:600;font-size:.75rem;color:var(--text-muted)}.week-agenda-item-title{font-size:.82rem;word-break:break-word}.week-agenda-item-done .week-agenda-item-title,.week-agenda-item-failed .week-agenda-item-title{text-decoration:line-through;color:var(--text-muted)}@media(max-width:640px){.calendar-day{min-height:60px;padding:.3rem}.calendar-day-chips{display:none}.calendar-day-number{width:1.4rem;height:1.4rem;font-size:.75rem}}@media(max-width:640px){.app-shell{padding:1.5rem 1rem 3rem}.app-header-bar{margin-bottom:.75rem;padding-bottom:.6rem}.app-title-block h1{font-size:1.3rem}.app-title-block .tagline{display:none}.task-actions{width:100%;justify-content:flex-start}.section-header{align-items:flex-start;flex-direction:column}.main-nav{width:100%;gap:.35rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.main-nav::-webkit-scrollbar{display:none}.nav-link{padding:.4rem .6rem;font-size:.85rem}.task-row{align-items:flex-start}.task-checkbox{margin-top:1px}.week-agenda-cols{grid-template-columns:1fr;overflow-x:visible}.week-agenda-col{min-width:0}}.timer-bar{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%);z-index:60;display:flex;flex-wrap:wrap;gap:.6rem;max-width:min(720px,calc(100vw - 2rem))}.timer-bar-item{display:flex;align-items:center;gap:.55rem;padding:.45rem .7rem;border-radius:999px;border:1px solid var(--pill-color, var(--border));background:color-mix(in srgb,var(--pill-color, var(--border)) 12%,var(--surface));box-shadow:var(--shadow);font-size:.85rem}.timer-bar-title{font-weight:600;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer-bar-elapsed{font-variant-numeric:tabular-nums;font-weight:700;color:var(--primary);white-space:nowrap;flex-shrink:0}.timer-bar-actions{display:flex;align-items:center;gap:.5rem}.timer-bar-collapse-btn{flex:0 0 auto;width:1.3rem;height:1.3rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:transparent;color:var(--text-muted);font-size:.7rem;line-height:1;cursor:pointer}.timer-bar-collapse-btn:hover{background:var(--surface-2);color:var(--text)}.timer-bar-collapsed-stack{position:fixed;left:1.5rem;bottom:4.5rem;z-index:60;display:flex;flex-direction:column-reverse;gap:.6rem}.timer-bar-collapsed{position:relative;flex:0 0 auto;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--pill-color, var(--border));background:color-mix(in srgb,var(--pill-color, var(--border)) 12%,var(--surface));box-shadow:var(--shadow);font-size:1.15rem;cursor:pointer}.timer-bar-collapsed:hover{filter:brightness(1.12)}.timer-bar-collapsed:active{transform:scale(.95)}.timer-bar-collapsed .timer-bar-dot{position:absolute;top:.2rem;right:.2rem}.timer-bar-collapsed .timer-bar-dot:only-child{position:static;width:.65rem;height:.65rem}.timer-summary-pill{display:flex;align-items:center;gap:.4rem;flex:0 0 auto;padding:.5rem .85rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);font-size:.8rem;font-weight:600;white-space:nowrap;cursor:pointer}.timer-summary-pill:hover{filter:brightness(1.12)}.timer-summary-caret{color:var(--text-muted);font-size:.7rem}.timer-summary-panel{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;max-width:calc(100vw - 3rem);border-radius:1rem;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}.timer-bar-dot{width:.5rem;height:.5rem;border-radius:999px;background:var(--danger);flex:0 0 auto;animation:timer-pulse 1.6s ease-in-out infinite}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.timer-bar-dot{animation:none}}@media(max-width:640px){.timer-bar{left:50%;right:auto;bottom:.75rem;transform:translate(-50%);width:fit-content;max-width:calc(100vw - 1.5rem);flex-direction:column;align-items:center}.timer-bar-item{padding:.4rem .6rem;gap:.4rem;max-width:100%}.timer-bar-dot,.timer-bar-item .task-emoji{flex-shrink:0}.timer-bar-title{flex:1 1 auto;min-width:0;max-width:none}.timer-bar-actions{flex-shrink:0;gap:.3rem}.timer-bar-actions .btn{padding:.3rem .45rem}.timer-bar-actions .btn-label{display:none}}.badge.badge-timer{background:color-mix(in srgb,var(--primary) 16%,var(--surface-2));color:var(--primary);text-transform:none;letter-spacing:normal;font-variant-numeric:tabular-nums}.task-timer-controls{display:inline-flex;align-items:center;gap:.4rem}.task-timer-elapsed{display:inline-flex;align-items:center;gap:.35rem;font-variant-numeric:tabular-nums;font-weight:700;color:var(--primary)}.task-sessions{margin-top:.9rem;padding-top:.9rem;border-top:1px dashed var(--border)}.task-sessions-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem .6rem}.task-sessions-add{margin-left:auto}.session-form{display:flex;flex-direction:column;gap:.6rem;margin-top:.6rem}.task-sessions-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.task-sessions-total{font-variant-numeric:tabular-nums;font-weight:700;color:var(--primary)}.task-sessions-empty{margin:.4rem 0 0;font-size:.82rem;color:var(--text-muted)}.task-session-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.task-session{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:var(--radius-sm);background:var(--surface-2);font-size:.82rem}.task-session-running{border-left:3px solid var(--danger)}.task-session-main{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.task-session-when{font-variant-numeric:tabular-nums}.task-session-note{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge.task-session-badge{font-size:.62rem}.task-session-duration{flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:700}.task-session-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.15rem}.task-session-editing{flex-direction:column;align-items:stretch}.task-session-edit-fields{display:flex;flex-wrap:wrap;gap:.5rem}.day-calendar-session{position:absolute;overflow:hidden;border:1px dashed color-mix(in srgb,var(--pill-color, var(--border)) 50%,transparent);border-left:3px solid var(--pill-color, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--pill-color, var(--border)) 7%,var(--surface-2));color:var(--text-muted);font-size:.75rem;z-index:0}.day-calendar-session-body{display:flex;align-items:flex-start;gap:.2rem;width:100%;height:100%;padding:1px 4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.day-calendar-session-icon{opacity:.6}.day-calendar-session-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-calendar-session-time{margin-left:auto;padding-left:.25rem;opacity:.75;font-variant-numeric:tabular-nums;white-space:nowrap}.day-calendar-session-running{border-left-color:var(--warning)}.calendar-chip.calendar-chip-tracked{background:color-mix(in srgb,var(--primary) 14%,var(--surface-2));color:var(--primary);font-variant-numeric:tabular-nums}.week-agenda-item-session{--pill-color: var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface-2));border-left-style:dashed;cursor:pointer}.week-agenda-item-session .week-agenda-item-title{color:var(--text-muted);font-variant-numeric:tabular-nums}.week-agenda-item-session-running{border-left-color:var(--danger)}.history-summary{margin:0 0 .75rem;color:var(--text-muted);font-size:.88rem}.history-group{margin-bottom:1rem}.history-group-heading{margin:0 0 .4rem;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.history-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.history-row-state{flex:0 0 auto;width:1.05rem;text-align:center;color:var(--success);font-weight:700}.history-row-state-failed{color:var(--danger)}.history-row-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);text-decoration:line-through}.history-row-time{flex:0 0 auto;color:var(--text-muted);font-size:.8rem;font-variant-numeric:tabular-nums}@media(max-width:640px){.history-row-time{display:none}}.private-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.private-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.private-row-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.private-row-meta{flex:0 0 auto;color:var(--text-muted);font-size:.8rem}.project-filter{display:flex;flex-wrap:wrap;max-width:100%;margin:0 0 1rem}.project-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.project-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .7rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .15s}.project-row:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.project-row-link{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:.5rem;color:inherit}.project-row-emoji{flex:0 0 auto;font-size:1.1rem;line-height:1}.project-row-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.project-row-meta{flex:0 0 auto;color:var(--text-muted);font-size:.8rem}.badge-neutral{background:var(--neutral-bg);color:var(--neutral)}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.25rem}.add-existing-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-existing-note{flex:0 0 auto;font-size:.75rem;color:var(--text-muted)}.project-detail-title{display:flex;align-items:center;gap:.5rem;min-width:0;flex-wrap:wrap}.project-detail-back{color:var(--text-muted);font-size:1.1rem;line-height:1;text-decoration:none}.project-detail-back:hover{color:var(--text)}.project-detail-desc{margin:.5rem 0 0;color:var(--text-muted);font-size:.88rem;overflow-wrap:anywhere}.project-detail-stats{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0 1.5rem}.project-detail-stats .stat-tile{flex:0 1 12rem}.project-timer-tile{align-items:stretch;justify-content:center;gap:.4rem}.project-timer-tile .btn{align-self:center}.project-stats-panel{display:flex;flex-direction:column;gap:.5rem}.project-stats-metric{margin:0 0 1rem}.project-bars{display:flex;flex-direction:column;gap:.6rem;margin-top:.25rem}.project-bar-row{display:grid;grid-template-columns:minmax(6rem,12rem) 1fr auto;align-items:center;gap:.6rem}.project-bar-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.project-bar-track{height:.7rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.project-bar-fill{height:100%;border-radius:999px}.project-bar-value{font-size:.85rem;color:var(--text-muted);font-variant-numeric:tabular-nums}@media(max-width:640px){.project-bar-row{grid-template-columns:1fr auto}.project-bar-track{grid-column:1 / -1;order:3}}.project-stats{margin-top:1.5rem}.project-stats-block{display:flex;flex-direction:column;gap:.5rem;margin-top:1.25rem}.project-stats-two{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.project-stats-meta{margin:1.25rem 0 0;color:var(--text-muted);font-size:.82rem}.mini-bars{display:flex;align-items:flex-end;gap:.3rem;height:72px}.mini-bar{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;gap:.3rem}.mini-bar-track{width:100%;flex:1;display:flex;align-items:flex-end;background:var(--border);border-radius:4px;overflow:hidden}.mini-bar-fill{width:100%;min-height:2px;border-radius:4px}.mini-bar-label{font-size:.62rem;color:var(--text-muted);white-space:nowrap}.time-heatmap{display:flex;gap:3px;overflow-x:auto}.time-heatmap-col{display:flex;flex-direction:column;gap:3px}.time-heatmap-cell{width:12px;height:12px;border-radius:3px;background:var(--surface-2);border:1px solid var(--border)}.time-heatmap-cell.hm-l0{background:var(--surface-2)}.time-heatmap-cell.hm-l1{background:color-mix(in srgb,var(--hm-color) 25%,var(--surface-2));border-color:transparent}.time-heatmap-cell.hm-l2{background:color-mix(in srgb,var(--hm-color) 45%,var(--surface-2));border-color:transparent}.time-heatmap-cell.hm-l3{background:color-mix(in srgb,var(--hm-color) 70%,var(--surface-2));border-color:transparent}.time-heatmap-cell.hm-l4{background:var(--hm-color);border-color:transparent}.time-heatmap-cell.hm-l-1{background:transparent;border-color:transparent}.hw-heatmap{display:flex;flex-direction:column;gap:3px;font-size:.62rem;color:var(--text-muted)}.hw-heatmap-hours{display:grid;grid-template-columns:2rem repeat(24,1fr);margin-left:0}.hw-heatmap-hours span{grid-row:1}.hw-heatmap-row{display:grid;grid-template-columns:2rem repeat(24,1fr);gap:2px;align-items:center}.hw-heatmap-day{color:var(--text-muted)}.hw-heatmap-cell{aspect-ratio:1;min-height:8px;border-radius:2px;background:var(--surface-2)}.hw-heatmap-cell.hm-l1{background:color-mix(in srgb,var(--hm-color) 25%,var(--surface-2))}.hw-heatmap-cell.hm-l2{background:color-mix(in srgb,var(--hm-color) 45%,var(--surface-2))}.hw-heatmap-cell.hm-l3{background:color-mix(in srgb,var(--hm-color) 70%,var(--surface-2))}.hw-heatmap-cell.hm-l4{background:var(--hm-color)}.segmented-bar{display:flex;height:.85rem;border-radius:999px;overflow:hidden;background:var(--surface-2);border:1px solid var(--border)}.segmented-bar-seg{height:100%}.seg-completed{background:var(--success)}.seg-open{background:color-mix(in srgb,var(--text-muted) 60%,var(--surface))}.seg-failed{background:var(--danger)}.segmented-bar-legend{display:flex;flex-wrap:wrap;gap:.9rem;font-size:.8rem;color:var(--text-muted)}.seg-dot{display:inline-block;width:.6rem;height:.6rem;border-radius:3px;margin-right:.3rem;vertical-align:baseline}@media(max-width:640px){.project-stats-two{grid-template-columns:1fr;gap:1.25rem}}.project-detail-subhead{margin-top:1.5rem}.project-detail-subhead h3{margin:0}@media(max-width:640px){.project-row-meta{display:none}.project-detail-stats .stat-tile{flex:1 1 0}}.auth-loading{min-height:100vh;background:var(--bg)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:1.25rem}.login-brand{text-align:center}.login-brand h1{margin:0;color:var(--primary)}.login-brand .tagline{margin:.25rem 0 0;color:var(--text-muted);font-size:.9rem}.login-toggle{align-self:center}.login-form{display:flex;flex-direction:column;gap:.9rem}.login-form .field{display:flex;flex-direction:column;gap:.3rem}.login-submit{margin-top:.25rem}
