:root{--bg:#fff;--bg-canvas:#eeedf4;--bg-sidebar:#f7f7fb;--bg-hover:#ededf3;--bg-active:#ecebff;--border:#e6e3df;--text:#202020;--text-muted:gray;--text-faint:#b0b0b0;--accent:#6d5dfc;--accent-hover:#5a4ae6;--accent-text:#5b4be0;--brand-1:#3f8cff;--brand-2:#7b4dff;--brand-3:#ff5fa8;--accent-gradient:linear-gradient(135deg, var(--brand-1), var(--brand-2) 55%, var(--brand-3));--halo-a:linear-gradient(110deg, #3f8cff 0%, #7b4dff 60%, #a35cff 100%);--halo-b:linear-gradient(110deg, #8a5cff 0%, #c85cff 45%, #ff5fa8 100%);--danger:#d1453b;--tone-overdue:#d1453b;--tone-today:#058527;--tone-tomorrow:#ad6200;--tone-week:#0b7285;--tone-future:gray;--radius:8px;--shadow:0 4px 16px #0000001f, 0 0 0 1px #0000000d;--bg-hover-strong:#e8e5e1;--bg-overlay:#00000059;--banner-error-bg:#fdecea;--banner-error-text:#8a1f14;--toast-bg:#333;--toast-text:#fff;--sidebar-width:280px;--font:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#1f1f1f;--bg-canvas:#1a1a1e;--bg-sidebar:#282828;--bg-hover:#353535;--bg-hover-strong:#424242;--bg-active:#2c2850;--bg-overlay:#0009;--border:#3a3a3a;--text:#e8e8e8;--text-muted:#9c9c9c;--text-faint:#6c6c6c;--accent:#7b6cff;--accent-hover:#8f82ff;--accent-text:#a79bff;--brand-1:#4f96ff;--brand-2:#8a5cff;--brand-3:#ff6fb3;--danger:#ff7a6e;--tone-overdue:#ff7a6e;--tone-today:#5cc472;--tone-tomorrow:#f0b24a;--tone-week:#4cc3d9;--tone-future:#9c9c9c;--banner-error-bg:#4a1f1a;--banner-error-text:#ffb4ab;--toast-bg:#efefef;--toast-text:#1f1f1f;--shadow:0 6px 20px #0000008c, 0 0 0 1px #ffffff14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}h1,h2,h3,p{margin:0}ul{margin:0;padding:0;list-style:none}.muted{color:var(--text-muted)}.small{font-size:12px}.spacer{flex:1}.dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.app{height:100%;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;padding:16px 10px 12px;display:flex;overflow-y:auto}.sidebar>*{flex-shrink:0}.main{background:var(--bg-canvas);flex:1;padding:28px 40px;position:relative;overflow-y:auto}.main>:not(.main-art){z-index:1;position:relative}.view{max-width:800px;min-height:calc(100vh - env(titlebar-area-height,0px) - 56px);background:var(--glass-bg);-webkit-backdrop-filter:blur(16px)saturate(1.15);backdrop-filter:blur(16px)saturate(1.15);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:18px;margin:0 auto;padding:28px 32px 32px}:root{--glass-bg:#ffffff8c;--glass-border:#ffffffe6;--glass-shadow:0 10px 40px #3c28781a}:root[data-theme=dark]{--glass-bg:#26262c66;--glass-border:#ffffff14;--glass-shadow:0 10px 40px #00000059}@property --dot-r{syntax:"<length>";inherits:false;initial-value:1.3px}@property --halo{syntax:"<percentage>";inherits:false;initial-value:58%}@property --hx{syntax:"<percentage>";inherits:false;initial-value:62%}@property --hy{syntax:"<percentage>";inherits:false;initial-value:30%}.main-art{z-index:0;pointer-events:none;height:260px;position:absolute;top:0;left:0;right:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 35%,#0000 100%);mask-image:linear-gradient(#000 35%,#0000 100%)}.main-art:before{content:"";background:radial-gradient(circle at center, var(--dot-color) 1.1px, transparent 1.8px) 0 0 / 14px 14px;position:absolute;inset:0}.halo{--dot-r:1.3px;--halo:58%;--hx:62%;--hy:30%;opacity:var(--glow-opacity);-webkit-mask-image:radial-gradient(circle at center, #000 var(--dot-r), transparent calc(var(--dot-r) + .7px)), radial-gradient(ellipse 36% 85% at var(--hx) var(--hy), #000 0%, transparent var(--halo));-webkit-mask-image:radial-gradient(circle at center, #000 var(--dot-r), transparent calc(var(--dot-r) + .7px)), radial-gradient(ellipse 36% 85% at var(--hx) var(--hy), #000 0%, transparent var(--halo));mask-image:radial-gradient(circle at center, #000 var(--dot-r), transparent calc(var(--dot-r) + .7px)), radial-gradient(ellipse 36% 85% at var(--hx) var(--hy), #000 0%, transparent var(--halo));-webkit-mask-composite:source-in;position:absolute;inset:0;-webkit-mask-size:14px 14px,100% 100%;mask-size:14px 14px,100% 100%;-webkit-mask-composite:source-in;mask-composite:intersect}.halo-a{background:var(--halo-a);animation:7s ease-in-out infinite dots-breathe,48s ease-in-out infinite halo-wander-a}.halo-b{background:var(--halo-b);animation:9s ease-in-out -4s infinite dots-breathe,61s ease-in-out -20s infinite halo-wander-b}@property --ox1{syntax:"<length>";inherits:false;initial-value:0}@property --oy1{syntax:"<length>";inherits:false;initial-value:0}@property --ox2{syntax:"<length>";inherits:false;initial-value:0}@property --oy2{syntax:"<length>";inherits:false;initial-value:0}@property --ox3{syntax:"<length>";inherits:false;initial-value:0}@property --oy3{syntax:"<length>";inherits:false;initial-value:0}@property --ox4{syntax:"<length>";inherits:false;initial-value:0}@property --oy4{syntax:"<length>";inherits:false;initial-value:0}@property --lobe{syntax:"<length>";inherits:false;initial-value:120px}.halo-pointer{--dot-r:2.2px;--lobe:80px;opacity:0;-webkit-mask-image:radial-gradient(circle at center, #000 var(--dot-r), transparent calc(var(--dot-r) + .7px)), radial-gradient(circle var(--lobe) at calc(var(--hx) + var(--ox1)) calc(var(--hy) + var(--oy1)), #000 0%, transparent 100%), radial-gradient(circle calc(var(--lobe) * .85) at calc(var(--hx) + var(--ox2)) calc(var(--hy) + var(--oy2)), #000 0%, transparent 100%), radial-gradient(circle calc(var(--lobe) * .9) at calc(var(--hx) + var(--ox3)) calc(var(--hy) + var(--oy3)), #000 0%, transparent 100%), radial-gradient(circle calc(var(--lobe) * .75) at calc(var(--hx) + var(--ox4)) calc(var(--hy) + var(--oy4)), #000 0%, transparent 100%);-webkit-mask-image:radial-gradient(circle at center, #000 var(--dot-r), transparent calc(var(--dot-r) + .7px)), radial-gradient(circle var(--lobe) at calc(var(--hx) + var(--ox1)) calc(var(--hy) + var(--oy1)), #000 0%, transparent 100%), radial-gradient(circle calc(var(--lobe) * .85) at calc(var(--hx) + var(--ox2)) calc(var(--hy) + var(--oy2)), #000 0%, transparent 100%), radial-gradient(circle calc(var(--lobe) * .9) at calc(var(--hx) + var(--ox3)) calc(var(--hy) + var(--oy3)), #000 0%, transparent 100%), radial-gradient(circle calc(var(--lobe) * .75) at calc(var(--hx) + var(--ox4)) calc(var(--hy) + var(--oy4)), #000 0%, transparent 100%);mask-image:radial-gradient(circle at center, #000 var(--dot-r), transparent calc(var(--dot-r) + .7px)), radial-gradient(circle var(--lobe) at calc(var(--hx) + var(--ox1)) calc(var(--hy) + var(--oy1)), #000 0%, transparent 100%), radial-gradient(circle calc(var(--lobe) * .85) at calc(var(--hx) + var(--ox2)) calc(var(--hy) + var(--oy2)), #000 0%, transparent 100%), radial-gradient(circle calc(var(--lobe) * .9) at calc(var(--hx) + var(--ox3)) calc(var(--hy) + var(--oy3)), #000 0%, transparent 100%), radial-gradient(circle calc(var(--lobe) * .75) at calc(var(--hx) + var(--ox4)) calc(var(--hy) + var(--oy4)), #000 0%, transparent 100%);-webkit-mask-composite:source-in, source-over, source-over, source-over;background:linear-gradient(110deg,#5aa0ff 0%,#9a6bff 50%,#ff6fb3 100%);transition:opacity .35s;animation:4s ease-in-out infinite pointer-breathe,3.1s ease-in-out infinite alternate lobe-1,4.3s ease-in-out -1s infinite alternate lobe-2,5.2s ease-in-out -2.5s infinite alternate lobe-3,3.7s ease-in-out -.7s infinite alternate lobe-4;-webkit-mask-size:14px 14px,100% 100%,100% 100%,100% 100%,100% 100%;mask-size:14px 14px,100% 100%,100% 100%,100% 100%,100% 100%;-webkit-mask-composite:source-in,source-over,source-over,source-over;mask-composite:intersect,add,add,add}@keyframes pointer-breathe{0%,to{--dot-r:1.6px;--lobe:75px}50%{--dot-r:2.6px;--lobe:92px}}@keyframes lobe-1{0%{--ox1:-31px;--oy1:-12px}50%{--ox1:-20px;--oy1:18px}to{--ox1:-35px;--oy1:5px}}@keyframes lobe-2{0%{--ox2:27px;--oy2:-20px}50%{--ox2:39px;--oy2:4px}to{--ox2:22px;--oy2:-30px}}@keyframes lobe-3{0%{--ox3:7px;--oy3:30px}50%{--ox3:-15px;--oy3:35px}to{--ox3:20px;--oy3:23px}}@keyframes lobe-4{0%{--ox4:9px;--oy4:-34px}50%{--ox4:-18px;--oy4:-27px}to{--ox4:24px;--oy4:-24px}}.halo-pointer.is-active{opacity:var(--glow-opacity);transition:opacity 1.1s}.halo-pointer.is-dimmed{opacity:0;transition:opacity .16s}@property --p{syntax:"<number>";inherits:false;initial-value:0}@property --dx{syntax:"<length>";inherits:false;initial-value:0}@property --dy{syntax:"<length>";inherits:false;initial-value:0}@property --thick{syntax:"<length>";inherits:false;initial-value:26px}.ripple-layer{pointer-events:none;position:absolute;inset:0}.ripple-ring{--dot-r:2.4px;--p:0;--rmax:520px;--r:calc(10px + (var(--rmax) - 10px) * var(--p));--cx:calc(var(--dx) * var(--p));--cy:calc(var(--dy) * var(--p));opacity:0;-webkit-mask-image:radial-gradient(circle at center, #000 var(--dot-r), transparent calc(var(--dot-r) + .7px)), radial-gradient(circle at calc(var(--hx) + var(--cx)) calc(var(--hy) + var(--cy)), transparent calc(var(--r) - var(--thick) * 2.2), #000 calc(var(--r) - var(--thick)), #000 var(--r), transparent calc(var(--r) + var(--thick) * .8));-webkit-mask-image:radial-gradient(circle at center, #000 var(--dot-r), transparent calc(var(--dot-r) + .7px)), radial-gradient(circle at calc(var(--hx) + var(--cx)) calc(var(--hy) + var(--cy)), transparent calc(var(--r) - var(--thick) * 2.2), #000 calc(var(--r) - var(--thick)), #000 var(--r), transparent calc(var(--r) + var(--thick) * .8));mask-image:radial-gradient(circle at center, #000 var(--dot-r), transparent calc(var(--dot-r) + .7px)), radial-gradient(circle at calc(var(--hx) + var(--cx)) calc(var(--hy) + var(--cy)), transparent calc(var(--r) - var(--thick) * 2.2), #000 calc(var(--r) - var(--thick)), #000 var(--r), transparent calc(var(--r) + var(--thick) * .8));-webkit-mask-composite:source-in;background:linear-gradient(110deg,#5aa0ff 0%,#9a6bff 50%,#ff6fb3 100%);-webkit-mask-size:14px 14px,100% 100%;mask-size:14px 14px,100% 100%;-webkit-mask-composite:source-in;mask-composite:intersect}@media (prefers-reduced-motion:reduce){.ripple-ring{display:none}}@keyframes dots-breathe{0%,to{--dot-r:1.3px;--halo:58%}50%{--dot-r:2.6px;--halo:70%}}@keyframes halo-wander-a{0%{--hx:62%;--hy:30%}20%{--hx:30%;--hy:60%}40%{--hx:15%;--hy:25%}60%{--hx:48%;--hy:75%}80%{--hx:85%;--hy:55%}to{--hx:62%;--hy:30%}}@keyframes halo-wander-b{0%{--hx:12%;--hy:70%}25%{--hx:70%;--hy:20%}50%{--hx:92%;--hy:65%}75%{--hx:40%;--hy:40%}to{--hx:12%;--hy:70%}}@media (prefers-reduced-motion:reduce){.halo{animation:none}}:root{--dot-color:#463c8242;--glow-opacity:.85}:root[data-theme=dark]{--dot-color:#ffffff1f;--glow-opacity:.85}.view-header{margin-bottom:20px}.view-header h1{font-size:24px;font-weight:700}.view-header p{margin-top:4px}.loading,.empty{color:var(--text-muted);padding:24px 0}.empty{padding:12px 0 12px 32px}.sidebar-top{padding:0 6px 12px}.brand{padding:4px 6px 14px}.wordmark{align-items:center;gap:8px;display:inline-flex}.wordmark-text{letter-spacing:-.2px;color:var(--text);font-size:17px;font-weight:600}.wordmark-text strong,.titlebar-brand strong{background:var(--accent-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:800}.titlebar-brand{color:var(--text-muted)}.logo{flex-shrink:0;display:block}.add-task-primary{border-radius:var(--radius);width:100%;color:var(--accent-text);align-items:center;gap:8px;padding:8px 10px;font-weight:600;display:flex}.add-task-primary:hover{background:var(--bg-hover)}.add-task-primary svg{background:var(--accent-gradient);color:#fff;border-radius:50%;padding:2px}.search-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text-muted);align-items:center;gap:8px;margin-top:8px;padding:6px 10px;display:flex}.search-box input{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0}.sidebar-nav{margin-bottom:16px}.dashboard{background:linear-gradient(135deg, var(--bg-active), var(--bg));border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;gap:10px;margin:4px 6px 14px;padding:12px;transition:border-color .12s,transform .12s;display:flex}.dashboard:hover,.dashboard.is-active{border-color:var(--accent)}.dashboard:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dashboard-arrow{opacity:0;transition:opacity .12s,transform .12s}.dashboard:hover .dashboard-arrow,.dashboard.is-active .dashboard-arrow{opacity:1;transform:translate(2px)}.dashboard-greeting{align-items:center;gap:2px;display:flex}.dashboard-top{align-items:center;gap:12px;display:flex}.view-insights{max-width:1280px}.insights-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.heatmap-card{--cell-gap:3px;border:1px solid var(--border);background:var(--bg-sidebar);border-radius:12px;margin-bottom:16px;padding:16px}.heatmap-scroll{padding-bottom:4px;overflow-x:auto}.heatmap{flex-direction:column;gap:4px;min-width:620px;display:flex}.heatmap-months{column-gap:var(--cell-gap);height:14px;color:var(--text-muted);grid-auto-flow:column;margin-left:40px;font-size:11px;display:grid}.heatmap-months span{white-space:nowrap;grid-row:1}.heatmap-body{grid-template-columns:32px minmax(0,1fr);gap:8px;display:grid}.heatmap-weekdays{row-gap:var(--cell-gap);color:var(--text-muted);grid-template-rows:repeat(7,minmax(0,1fr));align-self:stretch;font-size:10px;display:grid}.heatmap-weekdays span{align-items:center;display:flex}.heatmap-weekdays .is-hidden{visibility:hidden}.heatmap-grid{gap:var(--cell-gap);grid-template-rows:repeat(7,auto);display:grid}.heat-cell{aspect-ratio:1;background:var(--border);border-radius:3px;width:100%}.heat-cell.is-outside{background:0 0}.heat-cell.level-1{background:color-mix(in srgb, var(--accent) 30%, var(--bg))}.heat-cell.level-2{background:color-mix(in srgb, var(--accent) 55%, var(--bg))}.heat-cell.level-3{background:color-mix(in srgb, var(--accent) 80%, var(--bg))}.heat-cell.level-4{background:var(--accent)}.heat-cell.is-today{outline:1px solid var(--text);outline-offset:1px}.heatmap-legend{justify-content:flex-end;align-items:center;gap:4px;margin-top:8px;display:flex}.heatmap-legend .heat-cell{width:11px;height:11px}.heatmap-legend .muted{margin:0 4px}.insight-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.insight-tile{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:12px;flex-direction:column;gap:4px;padding:14px;display:flex}.insight-tile svg{color:var(--accent-text)}.insight-value{color:var(--text);font-size:26px;font-weight:700;line-height:1.1}.insight-label{font-size:12px}.insight-columns{grid-template-columns:1fr 1fr;gap:16px;display:grid}.insight-panel{border:1px solid var(--border);background:var(--bg-sidebar);border-radius:12px;padding:16px}.insight-panel h2{margin-bottom:12px;font-size:14px;font-weight:700}.weekday-bars{align-items:flex-end;gap:8px;height:120px;margin-bottom:10px;display:flex}.weekday-slot{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.weekday-count{color:var(--text-muted);min-height:14px;font-size:11px}.weekday-bar{background:color-mix(in srgb, var(--accent) 60%, var(--bg));border-radius:4px 4px 2px 2px;width:100%;max-width:28px;transition:height .3s}.weekday-bar.is-best{background:var(--accent)}.weekday-bar.is-empty{background:var(--border)}.weekday-label{color:var(--text-muted);font-size:11px}.project-stats{flex-direction:column;gap:8px;display:flex}.project-stats li{grid-template-columns:minmax(80px,140px) 1fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.project-stat-name{align-items:center;gap:6px;min-width:0;display:inline-flex}.project-stat-name span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-stat-bar{background:var(--border);border-radius:4px;height:8px;display:block;overflow:hidden}.project-stat-bar span{border-radius:4px;min-width:4px;height:100%;display:block}.project-stat-count{font-variant-numeric:tabular-nums;color:var(--text-muted)}@media (width<=1000px){.insight-columns{grid-template-columns:1fr}}.ring{flex-shrink:0;width:48px;height:48px;position:relative}.ring svg{transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--border);stroke-width:5px}.ring-value{fill:none;stroke-width:5px;stroke-linecap:round;transition:stroke-dasharray .5s}.ring.is-complete .ring-value{stroke:var(--tone-today)!important}.ring-text{justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;inset:0}.dashboard-text{flex-direction:column;gap:2px;min-width:0;display:flex}.dashboard-greeting{text-transform:uppercase;letter-spacing:.04em;color:var(--accent-text);font-size:11px;font-weight:600}.dashboard-status{font-size:13px;font-weight:600;line-height:1.3}.dashboard-week{align-items:flex-end;gap:10px;display:flex}.week-bars{flex:1;align-items:flex-end;gap:4px;height:36px;display:flex}.week-bar-slot{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:2px;height:100%;display:flex}.week-bar{background:var(--accent);opacity:.75;border-radius:3px 3px 1px 1px;width:100%;max-width:14px;transition:height .4s}.week-bar.is-empty{background:var(--border);opacity:1}.week-bar.is-today{opacity:1}.week-bar-label{color:var(--text-faint);font-size:9px;line-height:1}.week-summary{flex-direction:column;align-items:flex-end;line-height:1.1;display:flex}.week-summary strong{font-size:18px}.dashboard-chips{flex-wrap:wrap;gap:6px;display:flex}.stat-chip{color:var(--text-muted);background:var(--bg-hover);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.stat-chip.is-hot{color:#fff;background:var(--accent-gradient)}.stat-chip.is-overdue{color:var(--tone-overdue);cursor:pointer;background:0 0;border:1px solid}.stat-chip.is-overdue:hover{background:var(--bg-hover)}.nav-item{border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:7px 10px;display:flex}.nav-item:hover{background:var(--bg-hover)}.nav-item.is-active{background:var(--bg-active);color:var(--accent-text)}.nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-icon{width:20px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.nav-item.is-active .nav-icon{color:inherit}.nav-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.nav-count{color:var(--text-muted);font-size:12px}.nav-actions{gap:2px;display:none}.nav-item:hover .nav-actions,.nav-item:focus-within .nav-actions{display:flex}.nav-item:hover .nav-count{display:none}.sidebar-section{margin-top:8px}.sidebar-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.sidebar-empty{color:var(--text-faint);padding:4px 12px 8px;font-size:12px}.heading-toggle{min-width:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;border-radius:6px;flex:1;align-items:center;gap:6px;margin-left:-4px;padding:2px 4px 2px 0;display:flex}.heading-toggle span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.heading-toggle svg{flex-shrink:0}.heading-toggle:hover{color:var(--text)}.heading-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.heading-chevron{transition:transform .15s;transform:rotate(90deg)}.sidebar-section.is-collapsed .heading-chevron{transform:rotate(0)}.icon-btn{width:26px;height:26px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.btn{background:var(--bg-hover);border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{background:var(--bg-hover-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--accent-hover)}.link-btn{color:var(--accent-text);font-size:13px}.link-btn:hover{text-decoration:underline}.hover-only{opacity:0}.group-header:hover .hover-only,.hover-only:focus-visible{opacity:1}.task-group{margin-bottom:20px}.group-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:4px;padding:8px 0 6px;display:flex}.group-header h2{font-size:15px;font-weight:700}.group-header .count{font-size:12px}.overdue-title{color:var(--tone-overdue)}.add-task-btn,.add-section-btn{color:var(--text-muted);border-radius:var(--radius);align-items:center;gap:8px;width:100%;padding:8px 6px;display:flex}.add-task-btn:hover{color:var(--accent-text)}.add-task-btn svg{color:var(--accent-text);border-radius:50%}.add-task-btn:hover svg{background:var(--accent);color:#fff}.add-section{margin-top:8px}.add-section-btn{opacity:.6;justify-content:center;font-size:13px}.add-section-btn:hover{opacity:1;color:var(--accent-text)}.inline-form{flex:1;align-items:center;gap:6px;display:flex}.inline-form input{border:1px solid var(--border);border-radius:6px;outline:none;flex:1;padding:6px 8px}.inline-form input:focus{border-color:var(--text-muted)}.task-item{border-bottom:1px solid var(--border)}.task-list-nested{margin-left:30px}.task-list-nested .task-item:last-child{border-bottom:none}.task-row{border-radius:var(--radius);align-items:flex-start;gap:10px;padding:9px 4px;display:flex;position:relative}.drag-handle{width:20px;height:22px;color:var(--text-faint);cursor:grab;opacity:0;touch-action:none;border-radius:4px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:8px;left:-24px}.task-row:hover .drag-handle,.drag-handle:focus-visible,.task-row:focus-within .drag-handle{opacity:1}.drag-handle:hover{background:var(--bg-hover);color:var(--text)}.drag-handle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.drag-handle:active{cursor:grabbing}.task-item.is-dragging{opacity:.35}.task-item.is-dragging .task-row{background:var(--bg-hover)}.task-list.is-droppable{border-radius:var(--radius);min-height:10px;transition:background .12s}.task-list.is-droppable.is-over{background:var(--bg-active)}.task-row:hover{background:var(--bg-sidebar)}.task-check{border:1.5px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:2px;display:inline-flex}.task-check-icon{opacity:0}.task-check:hover .task-check-icon,.task-check.is-checked .task-check-icon{opacity:1}.task-check.is-checked{background:currentColor}.task-check.is-checked .task-check-icon{color:#fff}.task-main{cursor:pointer;flex:1;min-width:0}.task-main:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.task-content{word-break:break-word;line-height:1.4}.is-completed .task-content{color:var(--text-muted);text-decoration:line-through}.task-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.task-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;font-size:12px;display:flex}.meta{align-items:center;gap:4px;display:inline-flex}.meta.project{margin-left:auto}.tone-overdue{color:var(--tone-overdue)}.tone-today{color:var(--tone-today)}.tone-tomorrow{color:var(--tone-tomorrow)}.tone-week{color:var(--tone-week)}.tone-future{color:var(--tone-future)}.task-actions{gap:2px;display:none}.task-row:hover .task-actions,.task-row:focus-within .task-actions{display:flex}.task-editor{border:1px solid var(--border);background:var(--bg);border-radius:10px;margin:6px 0;padding:10px 12px}.editor-content,.editor-description{resize:vertical;background:0 0;border:none;outline:none;width:100%}.editor-content{padding:2px 0;font-size:15px;font-weight:600}.editor-description{min-height:24px;padding:4px 0;font-size:13px}.editor-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.editor-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.editor-actions{gap:6px;display:flex}.chip{border:1px solid var(--border);color:var(--text-muted);background:var(--bg);white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:12px;display:inline-flex}.chip:hover,.chip.is-open{background:var(--bg-hover);color:var(--text)}.chip.tone-overdue,.chip.tone-today,.chip.tone-tomorrow,.chip.tone-week{border-color:currentColor}.chip-static{cursor:default;border-style:dashed}.popover-anchor{display:inline-block;position:relative}.popover{z-index:150;background:var(--bg);min-width:240px;box-shadow:var(--shadow);box-sizing:border-box;border-radius:10px;padding:6px;position:fixed;overflow-y:auto}.picker-scroll{max-height:320px;overflow-y:auto}.picker-section+.picker-section{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.picker-row{text-align:left;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px 8px;font-size:13px;display:flex}.picker-row .row-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.picker-row .muted,.picker-row .row-check{flex:none;margin-left:auto}.picker-row .dot,.picker-row svg{flex:none}.picker-row:hover{background:var(--bg-hover)}.picker-row.is-selected{background:var(--bg-active);color:var(--accent-text)}.picker-row.danger{color:var(--danger)}.picker-sub{color:var(--text-muted);padding-left:24px;font-size:12px}.picker-fields{grid-template-columns:1fr 1fr;gap:8px;padding:4px 8px 6px;display:grid}.picker-fields label{color:var(--text-muted);flex-direction:column;gap:3px;font-size:11px;display:flex}.picker-fields label:last-child{grid-column:1/-1}.picker-fields input,.picker-fields select{border:1px solid var(--border);color:var(--text);background:var(--bg);border-radius:6px;padding:5px 6px;font-size:13px}.picker-search{border:none;border-bottom:1px solid var(--border);outline:none;width:100%;margin-bottom:4px;padding:7px 8px}.picker-list{max-height:260px;overflow-y:auto}.picker-empty{padding:8px;font-size:12px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 40%, transparent);background-clip:padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb, var(--text-muted) 65%, transparent)}.modal-overlay{background:var(--bg-overlay);z-index:100;justify-content:center;align-items:flex-start;padding:80px 16px 16px;display:flex;position:fixed;inset:0}.modal{background:var(--bg);width:100%;max-width:560px;box-shadow:var(--shadow);border-radius:12px;max-height:calc(100vh - 100px);padding:16px;overflow-y:auto}.modal-wide{max-width:860px}.modal .task-editor{margin:0}.modal-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-title h2{font-size:16px}.dialog-form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--text-muted);font-size:12px;font-weight:600}.field input[type=text],.field input:not([type]){border:1px solid var(--border);border-radius:6px;outline:none;padding:8px 10px}.field input:focus{border-color:var(--text-muted)}.field-inline{align-items:center;gap:8px;display:flex}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.dialog-message{margin:4px 0 16px;line-height:1.5}.color-grid{flex-wrap:wrap;gap:8px;display:flex}.color-swatch{border:2px solid #0000;border-radius:50%;width:26px;height:26px;box-shadow:inset 0 0 0 1px #00000014}.color-swatch.is-selected{border-color:var(--text)}.color-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.detail-header{border-bottom:1px solid var(--border);color:var(--text-muted);align-items:center;gap:6px;margin-bottom:12px;padding-bottom:10px;font-size:13px;display:flex}.breadcrumb{align-items:center;gap:6px;display:inline-flex}.detail-body{grid-template-columns:1fr 240px;gap:20px;display:grid}.detail-title-row{align-items:flex-start;gap:10px;display:flex}.detail-title-row .task-editor{flex:1}.detail-text{cursor:text;border-radius:6px;flex:1;padding:2px 6px}.detail-text:hover{background:var(--bg-sidebar)}.detail-text h2{font-size:18px;font-weight:600;line-height:1.3}.detail-text.is-completed h2{color:var(--text-muted);text-decoration:line-through}.detail-description{white-space:pre-wrap;margin-top:6px;font-size:13px;line-height:1.5}.detail-subheading{color:var(--text-muted);border-bottom:1px solid var(--border);margin:20px 0 4px;padding-bottom:4px;font-size:13px;font-weight:600}.detail-side{background:var(--bg-sidebar);border-radius:10px;flex-direction:column;gap:14px;padding:12px;display:flex}.detail-side .chip{justify-content:flex-start;width:100%}.detail-side .popover-anchor{display:block}.banner{border-radius:10px;justify-content:space-between;align-items:center;gap:16px;max-width:800px;margin:0 auto;padding:14px 16px;display:flex}.banner-error{background:var(--banner-error-bg);color:var(--banner-error-text)}.toasts{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--toast-bg);color:var(--toast-text);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex}.toast .icon-btn{color:inherit;opacity:.7}.toast-error{background:var(--banner-error-bg);color:var(--banner-error-text)}.sidebar-footer{border-top:1px solid var(--border);gap:4px;margin-top:auto;padding:8px 4px 0;display:flex}.sidebar-section:last-of-type{margin-bottom:16px}.footer-btn{border-radius:var(--radius);color:var(--text-muted);white-space:nowrap;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 6px;font-size:12px;display:flex}.footer-btn:hover{background:var(--bg-hover);color:var(--text)}.footer-btn.is-active,.icon-btn.is-active{background:var(--bg-active);color:var(--accent-text)}.account-btn{flex:none;padding:4px 6px}.account-btn-avatar{object-fit:cover;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:inline-flex}.account-menu{flex-direction:column;gap:2px;min-width:220px;padding:6px;display:flex}.account-menu-identity{border-bottom:1px solid var(--border);flex-direction:column;min-width:0;margin-bottom:4px;padding:8px 10px 10px;display:flex}.account-menu-identity strong,.account-menu-identity span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-item{border-radius:var(--radius);width:100%;color:var(--text);text-align:left;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.menu-item:hover:not(:disabled){background:var(--bg-hover)}.menu-item:disabled{color:var(--text-muted)}.app-compact{flex-direction:column}.compact{flex-direction:column;height:100%;min-height:0;display:flex}.compact-header{border-bottom:1px solid var(--border);background:var(--bg-sidebar);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px 8px;display:flex}.app.has-titlebar{padding-top:env(titlebar-area-height,36px)}.app.has-titlebar:before{content:"";height:env(titlebar-area-height,36px);background:var(--bg-sidebar);border-bottom:1px solid var(--border);z-index:89;pointer-events:none;position:fixed;top:0;left:0;right:0}.titlebar{top:env(titlebar-area-y,0);left:env(titlebar-area-x,0);width:env(titlebar-area-width,100%);height:env(titlebar-area-height,36px);background:var(--bg-sidebar);border-bottom:1px solid var(--border);z-index:90;-webkit-user-select:none;user-select:none;-webkit-app-region:drag;align-items:center;gap:2px;padding:0 6px 0 12px;display:flex;position:fixed}.titlebar.is-docked{-webkit-app-region:no-drag}.titlebar-brand{color:var(--accent-text);white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}.titlebar-btn{width:34px;height:26px;color:var(--text-muted);-webkit-app-region:no-drag;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.titlebar-btn:hover{background:var(--bg-hover);color:var(--text)}.titlebar-btn.is-active{background:var(--bg-active);color:var(--accent-text)}.titlebar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.compact-title{align-items:baseline;gap:8px;min-width:0;display:flex}.compact-title h1{font-size:17px;font-weight:700}.compact-actions{gap:2px;display:flex}.compact-split{flex-direction:column;flex:1;min-height:0;display:flex}.compact-pane{flex-direction:column;flex-basis:0;min-height:0;display:flex;overflow:hidden}.compact-pane.is-hidden{flex-basis:auto}.compact-pane.is-hidden .pane-header{border-top:1px solid var(--border)}.pane-header{flex-shrink:0;align-items:center;gap:8px;padding:6px 12px 4px;display:flex}.pane-header h2{font-size:14px;font-weight:700}.pane-header .popover-anchor{min-width:0;max-width:60%}.pane-header .chip{max-width:100%}.pane-header .chip>span{text-overflow:ellipsis;overflow:hidden}.pane-collapsed-bar{border-top:1px solid var(--border);background:var(--bg-sidebar);flex-shrink:0;align-items:center;gap:8px;padding:3px 8px 3px 12px;display:flex}.pane-collapsed-label{opacity:.7}.pane-expand{color:var(--accent-text)}.picker-row-divider{border-top:1px solid var(--border);border-radius:0 0 6px 6px;margin-top:4px;padding-top:9px}.pane-body{flex:1;min-height:0;padding:4px 12px;overflow-y:auto}.pane-body .task-group{margin-bottom:8px}.pane-body .task-row{padding:7px 2px}.pane-body .empty{padding:12px 0 8px 4px}.pane-footer{flex-shrink:0;padding:2px 8px 6px}.pane-footer .task-editor{margin:4px 0 0}.compact-divider{cursor:row-resize;background:var(--bg-sidebar);border-top:1px solid var(--border);border-bottom:1px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;height:10px;display:flex}.compact-divider-grip{background:var(--text-faint);border-radius:2px;width:36px;height:3px}.compact-divider:hover .compact-divider-grip,.compact-divider:focus-visible .compact-divider-grip,.compact-divider.will-collapse .compact-divider-grip{background:var(--accent)}.compact-divider.will-collapse{background:var(--bg-active)}.compact-split.is-dragging{-webkit-user-select:none;user-select:none;cursor:row-resize}.compact-split.is-dragging .pane-body{overflow:hidden}.compact-pane-lower{transition:opacity 80ms linear}.compact-divider:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.app-compact .banner,.app-compact .loading{margin:12px}.view-calendar{max-width:none}.cal-title-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.cal-title-row h1{min-width:220px}.cal-nav{align-items:center;gap:4px;display:flex}.cal-layout{grid-template-columns:1fr 240px;align-items:start;gap:16px;display:grid}.cal-grid-wrap{min-width:0;overflow-x:auto}.cal-weekdays{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;grid-template-columns:repeat(7,minmax(112px,1fr));font-size:12px;font-weight:600;display:grid}.cal-weekday{white-space:nowrap;padding:6px 8px}.cal-weekday.is-today{color:var(--accent-text)}.cal-weekday-today{background:var(--accent);color:#fff;border-radius:10px;padding:2px 8px;display:inline-block}.cal-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(7,minmax(112px,1fr));display:grid}.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg);flex-direction:column;gap:4px;min-width:0;padding:6px;transition:background .12s;display:flex}.cal-cell-month{min-height:118px}.cal-cell-week{min-height:420px}.cal-cell.is-outside{background:var(--bg-sidebar)}.cal-cell.is-outside .cal-day-number{color:var(--text-faint)}.cal-cell.is-over{background:var(--bg-active)}.cal-cell-head{align-items:center;gap:4px;min-height:22px;display:flex}.cal-day-number{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:600;display:inline-flex}.cal-cell.is-today .cal-day-number{background:var(--accent);color:#fff}.cal-count{font-size:11px}.cal-add{opacity:0;width:22px;height:22px;margin-left:auto}.cal-cell:hover .cal-add,.cal-add:focus-visible{opacity:1}.cal-cell-body{flex-direction:column;gap:4px;max-height:260px;display:flex;overflow-y:auto}.cal-cell-week .cal-cell-body{max-height:none}.cal-chip{text-align:left;background:var(--bg-hover);width:100%;color:var(--text);touch-action:none;border-radius:5px;align-items:flex-start;gap:6px;padding:4px 6px;font-size:12px;line-height:1.3;display:flex}.cal-chip:hover{background:var(--bg-hover-strong)}.cal-chip.is-dragging{opacity:.3}.cal-chip.is-overlay{box-shadow:var(--shadow);cursor:grabbing;width:180px}.cal-chip-dot{border:1.5px solid;border-radius:50%;flex-shrink:0;width:11px;height:11px;margin-top:2px}.cal-chip-text{flex-direction:column;flex:1;min-width:0;display:flex}.cal-chip-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-chip-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.cal-chip-repeat{color:var(--text-muted);flex-shrink:0;margin-top:3px}.cal-unscheduled{background:var(--bg-sidebar);border:1px solid var(--border);border-radius:10px;flex-direction:column;max-height:calc(100vh - 140px);padding:10px;transition:background .12s;display:flex;position:sticky;top:0}.cal-unscheduled.is-over{background:var(--bg-active)}.cal-unscheduled-head{justify-content:space-between;margin-bottom:4px;font-weight:600;display:flex}.cal-hint{margin-bottom:8px;line-height:1.4}.cal-unscheduled-list{flex-direction:column;gap:4px;display:flex;overflow-y:auto}@media (width<=1280px){.cal-layout{grid-template-columns:1fr;gap:20px}.cal-unscheduled{max-height:260px;position:static}}@media (width<=900px){.sidebar{width:220px}.main{padding:24px 20px 60px}.detail-body{grid-template-columns:1fr}}.landing{background:radial-gradient(900px 420px at 20% -10%, color-mix(in srgb, var(--brand-2) 18%, transparent), transparent 70%), radial-gradient(700px 380px at 90% 10%, color-mix(in srgb, var(--brand-3) 14%, transparent), transparent 70%), var(--bg-canvas);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.landing-header{justify-content:space-between;align-items:center;gap:16px;padding:18px clamp(16px,5vw,48px);display:flex}.landing-header .wordmark-text{font-size:18px}.landing-main{flex-direction:column;flex:1;gap:clamp(40px,8vh,88px);width:100%;max-width:1080px;margin:0 auto;padding:clamp(24px,6vh,72px) clamp(16px,5vw,48px) 48px;display:flex}.landing-hero{text-align:center;flex-direction:column;align-items:center;gap:18px;display:flex}.landing-hero h1{letter-spacing:-.02em;margin:8px 0 0;font-size:clamp(32px,6vw,56px);font-weight:800;line-height:1.05}.landing-gradient{background:var(--accent-gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.landing-lead{max-width:640px;color:var(--text-muted);margin:0;font-size:clamp(15px,1.6vw,18px);line-height:1.6}.landing-ctas{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.landing-cta{gap:8px;padding:11px 20px;font-size:14px;font-weight:600;text-decoration:none}.landing-cta.is-disabled{opacity:.55;cursor:default;pointer-events:none}.landing-footnote{color:var(--text-faint);margin:4px 0 0;font-size:12px}.landing-features{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.landing-feature{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 1px 2px #0000000a}.landing-feature-icon{background:var(--bg-active);width:36px;height:36px;color:var(--accent-text);border-radius:10px;justify-content:center;align-items:center;margin-bottom:12px;display:inline-flex}.landing-feature h2{margin:0 0 6px;font-size:15px;font-weight:700}.landing-feature p{color:var(--text-muted);margin:0;font-size:13.5px;line-height:1.55}.landing-footer{color:var(--text-faint);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:6px 18px;padding:18px clamp(16px,5vw,48px) 28px;font-size:12px;display:flex}@media (width<=560px){.landing-header-signin{display:none}.landing-ctas .landing-cta{justify-content:center;width:100%}}.landing-home{color:inherit;text-decoration:none}.landing-doc{gap:0;max-width:720px;line-height:1.65}.landing-doc h1{letter-spacing:-.02em;margin:0 0 4px;font-size:clamp(28px,4vw,36px)}.landing-doc h2{margin:28px 0 8px;font-size:18px}.landing-doc p,.landing-doc li{color:var(--text-muted);margin:0 0 12px}.landing-doc ul{margin:0 0 12px;padding-left:20px}.signin-screen{background:var(--bg-canvas);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.signin-card{background:var(--bg);width:100%;max-width:380px;box-shadow:var(--shadow);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:36px 28px 28px;display:flex}.signin-card h1{margin:4px 0 0;font-size:22px;font-weight:700}.signin-card p{color:var(--text-muted);margin:0;line-height:1.5}.signin-btn{margin-top:8px;padding:10px 18px;font-size:14px}.signin-error{color:var(--danger);font-size:13px}.signin-footnote{color:var(--text-faint);font-size:12px}.modal-settings{flex-direction:column;max-width:760px;height:min(620px,100vh - 100px);padding:0;display:flex;overflow:hidden}.modal-settings .modal-title{border-bottom:1px solid var(--border);margin:0;padding:14px 14px 12px 20px}.settings{flex:1;grid-template-columns:188px minmax(0,1fr);min-height:0;display:grid}.settings-nav{border-right:1px solid var(--border);background:var(--bg-sidebar);flex-direction:column;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.settings-tab{border-radius:var(--radius);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.settings-tab svg{color:var(--text-muted);flex:none}.settings-tab:hover{background:var(--bg-hover)}.settings-tab.is-active{background:var(--bg-active);color:var(--accent-text);font-weight:600}.settings-tab.is-active svg{color:var(--accent-text)}.settings-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.settings-pane{min-height:0;padding:18px 20px 20px;overflow-y:auto}.settings-section h3{margin:0 0 12px;font-size:15px;font-weight:600}@media (width<=640px){.settings{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.settings-nav{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;padding:8px;overflow-x:auto}.settings-tab span{white-space:nowrap}}.settings-help{color:var(--text-muted);margin:0 0 10px;font-size:13px;line-height:1.5}.settings-path{border-radius:var(--radius);background:var(--bg-hover);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0 0 12px;padding:6px 10px;font-family:ui-monospace,Consolas,monospace;font-size:12px;overflow:hidden}.settings-actions{flex-wrap:wrap;gap:8px;display:flex}.mcp-launcher{align-items:center;gap:6px;display:flex}.mcp-launcher>svg{flex:none}.mcp-launcher>span{text-overflow:ellipsis;overflow:hidden}.settings-help code{background:var(--bg-hover);border-radius:4px;padding:1px 5px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.segmented{border-radius:calc(var(--radius) + 3px);background:var(--bg-hover);gap:2px;padding:3px;display:inline-flex}.segmented-option{border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.segmented-option:hover{color:var(--text)}.segmented-option.is-selected{background:var(--bg);color:var(--text);box-shadow:0 1px 2px #0000001f}.footer-btn-icon{flex:none;padding:7px 9px}.pane-dashboard{padding:8px 12px 12px}.pane-dashboard .dashboard{margin:0}.pane-dashboard{flex-direction:column;gap:12px;display:flex}.dashboard.is-static{cursor:default}.dashboard.is-static:hover{border-color:var(--border);transform:none}.view-insights.is-embedded{-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;min-width:0;max-width:none;min-height:0;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.view-insights.is-embedded .view-header{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:12px}.view-insights.is-embedded .segmented{align-self:flex-start}.view-insights.is-embedded .heatmap-card,.view-insights.is-embedded .insight-panel{background:var(--bg);padding:12px}.view-insights.is-embedded .heatmap{min-width:520px}.view-insights.is-embedded .insight-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.view-insights.is-embedded .insight-tile{padding:10px 12px}.view-insights.is-embedded .insight-value{font-size:22px}.view-insights.is-embedded .insight-columns{grid-template-columns:1fr;gap:12px}.view-insights.is-embedded .weekday-bars{height:90px}.settings-field{flex-direction:column;align-items:flex-start;gap:8px;margin-top:14px;display:flex}.settings-field-label{color:var(--text-muted);font-size:13px}.accent-grid .color-swatch{color:#fff;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.color-swatch-custom{background:conic-gradient(#f87171,#fbbf24,#4ade80,#38bdf8,#a78bfa,#f472b6,#f87171);position:relative;overflow:hidden}.color-swatch-custom input[type=color]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.picker-row-divider:not(:last-child){border-radius:6px}.cal-chip.is-projected{opacity:.55;border:1px dashed var(--border);cursor:pointer;background:0 0}.cal-chip.is-projected:hover{opacity:.85;background:var(--bg-hover)}.account-card{border:1px solid var(--border);background:var(--bg-sidebar);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.account-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:36px;height:36px}.account-avatar-fallback{background:var(--accent-gradient);color:#fff;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.account-text{flex-direction:column;flex:1;min-width:0;display:flex}.account-text strong,.account-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.google-btn{gap:8px}.settings-callout{border:1px solid var(--accent-border,var(--border));background:var(--accent-soft,var(--bg-sidebar));border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.settings-callout p{margin:4px 0 0;line-height:1.45}.settings-callout .btn{flex-shrink:0}.settings-callout-quiet{background:var(--bg-sidebar);border-color:var(--border)}.settings-callout-title{align-items:center;gap:6px;display:inline-flex}.settings-help a{color:var(--accent-text);align-items:center;gap:3px;display:inline-flex}.settings-setup{flex-direction:column;gap:10px;display:flex}.settings-setup a{color:var(--accent-text);align-items:center;gap:3px;display:inline-flex}.settings-input{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.settings-input input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:7px 10px;font-size:13px}.settings-input input:focus{outline:2px solid var(--accent);outline-offset:1px}.cal-chip.is-event{background:color-mix(in srgb, var(--bg-sidebar) 70%, transparent);border:1px solid var(--border)}.cal-chip.is-event:hover{background:var(--bg-hover)}.cal-event-dot{border-radius:3px}.event-list{flex-direction:column;gap:2px;margin:2px 0 6px;padding:0;list-style:none;display:flex}.event-row{border-radius:var(--radius);width:100%;color:var(--text-muted);text-align:left;align-items:center;gap:8px;padding:5px 8px;font-size:13px;display:flex}.event-row:hover{background:var(--bg-hover);color:var(--text)}.event-row .dot{border-radius:3px;flex-shrink:0;width:9px;height:9px}.event-row-time{font-variant-numeric:tabular-nums;min-width:92px;font-size:12px}.event-row-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;overflow:hidden}.event-row-cal{white-space:nowrap;font-size:11px}.settings-toggle{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.settings-toggle input{accent-color:var(--accent);margin-top:3px}.settings-toggle>span{flex-direction:column;gap:2px;display:flex}.settings-sync-row{justify-content:space-between;align-items:center;margin-top:10px}.settings-error{color:var(--danger);margin:8px 0 0;font-size:12px}.calendar-choices{flex-direction:column;gap:6px;display:flex}.calendar-choice{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.calendar-choice input{accent-color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}.is-spinning{animation:1s linear infinite spin}.tl-wrap{border:1px solid var(--border);background:var(--bg);border-radius:10px;max-height:calc(100vh - 230px);position:relative;overflow:auto}.tl-head,.tl-allday,.tl-body{grid-template-columns:56px repeat(7,minmax(120px,1fr));display:grid}.tl-head{z-index:3;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0}.tl-head-cell{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-left:1px solid var(--border);padding:8px 8px 6px;font-size:12px;font-weight:600}.tl-head-cell.is-today{color:var(--accent-text)}.tl-head-cell .tl-day-number{text-align:center;border-radius:10px;min-width:22px;padding:1px 6px;display:inline-block}.tl-head-cell.is-today .tl-day-number{background:var(--accent);color:#fff}.tl-allday{z-index:3;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:33px}.tl-gutter{color:var(--text-muted);text-align:right;padding-right:6px;font-size:11px;position:relative}.tl-allday .tl-gutter{padding-top:6px}.tl-allday-cell{border-left:1px solid var(--border);flex-direction:column;gap:2px;min-height:32px;padding:4px;display:flex}.tl-allday-cell.is-over,.tl-col.is-over{background:var(--bg-active)}.tl-col{border-left:1px solid var(--border);background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--hour-px) - 1px), var(--border) calc(var(--hour-px) - 1px), var(--border) var(--hour-px));cursor:copy;position:relative}.tl-col.is-today{background-color:color-mix(in srgb, var(--accent) 4%, transparent)}.tl-col.is-past{cursor:default}.tl-hour{position:absolute;right:6px;transform:translateY(-50%)}.tl-block{box-sizing:border-box;text-align:left;border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 16%, var(--bg));color:var(--text);cursor:grab;z-index:1;border-radius:6px;flex-direction:column;gap:1px;padding:3px 6px;font-size:12px;line-height:1.25;display:flex;position:absolute;overflow:hidden}.tl-block:hover{z-index:2;border-color:var(--accent)}.tl-block.is-dragging{opacity:.35}.tl-block.is-event{background:color-mix(in srgb, var(--event-color,var(--text-muted)) 14%, var(--bg));border-color:color-mix(in srgb, var(--event-color,var(--text-muted)) 40%, var(--border));border-left:3px solid var(--event-color,var(--text-muted));cursor:pointer}.tl-block.is-overlay{box-shadow:var(--shadow);cursor:grabbing;width:160px;position:static}.tl-block-title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.tl-block-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.tl-block-dot{vertical-align:middle;border:1.5px solid;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:5px;display:inline-block}.tl-resize{cursor:ns-resize;height:7px;position:absolute;bottom:0;left:0;right:0}.tl-resize:after{content:"";background:color-mix(in srgb, var(--accent) 50%, transparent);opacity:0;border-radius:2px;width:24px;height:2px;margin-left:-12px;position:absolute;bottom:2px;left:50%}.tl-block:hover .tl-resize:after{opacity:1}.tl-now{border-top:2px solid var(--tone-overdue);z-index:2;pointer-events:none;height:0;position:absolute;left:0;right:0}.tl-now:before{content:"";background:var(--tone-overdue);border-radius:50%;width:8px;height:8px;position:absolute;top:-5px;left:-4px}.cal-plan-btn{gap:6px}.view-header-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.group-toggle{min-width:0;color:inherit;text-align:left;align-items:center;gap:6px;display:flex}.group-toggle:hover h2{color:var(--accent-text)}.group-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.group-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .15s}.group-chevron.is-collapsed{transform:rotate(-90deg)}
