:root{--ai-ease:cubic-bezier(.4, 0, .2, 1);--ai-spring:cubic-bezier(.34, 1.56, .64, 1)}.ai-fab{z-index:40;color:#fff;background:linear-gradient(135deg, var(--accent), color-mix(in oklab, var(--accent) 55%, #0b1f3a));box-shadow:0 10px 30px -8px var(--accent), inset 0 1px 0 #ffffff40;cursor:pointer;transition:transform .18s var(--ai-spring), opacity .2s;border:none;border-radius:14px;align-items:center;gap:8px;padding:12px 18px;font-size:13.5px;font-weight:700;display:inline-flex;position:fixed;bottom:22px;right:22px}.ai-fab:hover{transform:translateY(-2px)scale(1.03)}.ai-fab.hidden,:is(body:has(.nav-customizer-backdrop) .ai-fab,body:has(.modal-backdrop) .ai-fab,body:has([role=dialog]:not([aria-hidden=true])) .ai-fab){opacity:0;pointer-events:none;transform:translateY(10px)}:root{--dash-ease:cubic-bezier(.4, 0, .2, 1);--dash-spring:cubic-bezier(.34, 1.56, .64, 1)}.dash{padding:24px 28px 60px;position:absolute;inset:0;overflow-y:auto}.dash-hello{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.dash-hello h2{font-family:var(--font-display,"Inter", system-ui, sans-serif);letter-spacing:-.02em;color:var(--text-1);margin:0 0 4px;font-size:26px;font-weight:800}.dash-hello p{color:var(--text-3);margin:0;font-size:13.5px}.dash-hello-actions{gap:8px;display:flex}.dash .stat-strip{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.dash .stat-card{border-radius:var(--radius,12px);background:var(--panel-bg);border:1px solid var(--hairline);box-shadow:var(--shadow-card,0 1px 2px #0d1f350a, 0 8px 24px -12px #0d1f352e);animation:riseIn .5s var(--dash-ease) both;align-items:center;gap:12px;padding:16px;display:flex;position:relative}@keyframes riseIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.dash .stat-ic{background:var(--panel-2);border-radius:11px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.dash .stat-v{font-family:var(--font-display,"Inter", system-ui, sans-serif);color:var(--text-1);font-size:24px;font-weight:800;line-height:1}.dash .stat-k{color:var(--text-3);margin-top:3px;font-size:11.5px}.dash .stat-sub{font-size:var(--fs-1);font-family:var(--font-mono,ui-monospace);color:var(--text-4);position:absolute;top:14px;right:14px}.dash-grid{grid-template-columns:1.1fr 1fr;gap:16px;display:grid}.dash-col{flex-direction:column;gap:16px;min-width:0;display:flex}.dash .panel{background:var(--panel-bg);border:1px solid var(--hairline);border-radius:var(--radius,12px);box-shadow:var(--shadow-card,0 1px 2px #0d1f350a, 0 8px 24px -12px #0d1f352e);padding:16px 18px}.dash .panel-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.dash .panel-head h3{font-family:var(--font-display,"Inter", system-ui, sans-serif);color:var(--text-1);align-items:center;gap:8px;margin:0;font-size:15px;font-weight:700;display:flex}.dash .panel-head h3 svg{color:var(--text-3)}.dash .panel-sub{color:var(--text-3);font-size:11.5px;font-family:var(--font-mono,ui-monospace)}.dash .panel-tag{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.dash .panel-tag.running{background:color-mix(in oklab, var(--n-experiment,#7c3aed) 14%, transparent);color:var(--n-experiment,#7c3aed)}.dash .timeline{padding-left:6px;position:relative}.dash .tl-line{background:var(--hairline);width:2px;position:absolute;top:8px;bottom:8px;left:13px}.dash .tl-node{cursor:pointer;border-radius:8px;align-items:center;gap:12px;margin-left:-4px;padding:7px 8px 7px 28px;transition:background .15s;display:flex;position:relative}.dash .tl-node:hover{background:var(--panel-2)}.dash .tl-dot{background:var(--panel-bg);border:2px solid var(--hairline-strong);color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;transition:all .2s;display:grid;position:absolute;left:6px}.dash .tl-node.done .tl-dot{background:var(--n-project);border-color:var(--n-project)}.dash .tl-node.current .tl-dot{border-color:var(--color-text-link);box-shadow:0 0 0 4px var(--accent-soft,#1d4ed824);animation:tlDotPulse 2.4s var(--dash-ease) infinite}@keyframes tlDotPulse{0%,to{box-shadow:0 0 0 2px var(--accent-soft)}50%{box-shadow:0 0 0 6px var(--accent-soft)}}.dash .tl-label{color:var(--text-1);flex:1;font-size:13px;font-weight:500}.dash .tl-node.current .tl-label{font-weight:700}.dash .tl-node:not(.done):not(.current) .tl-label{color:var(--text-3)}.dash .tl-date{font-size:11px;font-family:var(--font-mono,ui-monospace);color:var(--text-4)}.dash .heatmap{margin-top:4px}.dash .hm-grid{flex-direction:column;gap:4px;display:flex}.dash .hm-row{align-items:center;gap:4px;display:flex}.dash .hm-day{width:30px;font-size:var(--fs-1);color:var(--text-4);font-family:var(--font-mono,ui-monospace);flex-shrink:0}.dash .hm-cell{aspect-ratio:1;border:1px solid color-mix(in oklab, var(--text-1) 6%, transparent);cursor:pointer;border-radius:4px;flex:1;width:100%;max-height:18px;transition:transform .1s}.dash .hm-row .hm-cell:hover{outline:1.5px solid var(--accent);z-index:1;transform:scale(1.2)}.dash .hm-legend{font-size:var(--fs-1);color:var(--text-4);align-items:center;gap:5px;margin-top:12px;display:flex}.dash .hm-legend .hm-cell{cursor:default;flex:none;width:13px;height:13px}.dash .hm-legend .hm-cell:hover{outline:none;transform:none}.dash .hm-tip{font-family:var(--font-mono,ui-monospace);color:var(--text-2);margin-left:auto}.dash .task-list,.dash .status-list{flex-direction:column;display:flex}.dash .status-item{cursor:pointer;border-radius:8px;margin:-4px -8px;padding:4px 8px;transition:background .15s}.dash .status-item:hover{background:var(--panel-2)}.dash .decision-q{color:var(--text-2);margin:0 0 14px;font-size:13px;line-height:1.55}.dash .decision-actions{gap:8px;display:flex}.dash .decision-done{color:var(--n-project);background:color-mix(in oklab, var(--n-project) 12%, transparent);animation:popIn .3s var(--dash-spring);border-radius:10px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:700;display:inline-flex}@keyframes popIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (width<=1100px){.dash .stat-strip{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}}@media (width<=600px){.dash{padding:16px}.dash-hello{flex-direction:column;align-items:flex-start}.dash-hello-actions{justify-content:stretch;width:100%}.dash-hello-actions .ui-btn{flex:1}.dash .stat-strip{grid-template-columns:1fr}}[data-theme=dark] .dash .stat-card,[data-theme=dark] .dash .panel{box-shadow:0 1px 2px #0006,0 12px 32px -14px #000000b3}@media (prefers-reduced-motion:reduce){.dash .stat-card,.dash .tl-node.current .tl-dot,.dash .decision-done{animation:none!important}}.dash::-webkit-scrollbar{width:8px;height:8px}.dash::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:4px}.theme-switch{border:1px solid var(--hairline);background:var(--panel-2);cursor:pointer;width:58px;height:30px;transition:background .3s var(--ease,cubic-bezier(.4, 0, .2, 1));border-radius:999px;padding:0;position:relative}.theme-switch .knob{color:#fff;width:22px;height:22px;transition:transform .4s var(--spring,cubic-bezier(.34, 1.56, .64, 1)), background .3s;background:linear-gradient(135deg,#fde68a,#f59e0b);border-radius:50%;place-items:center;display:grid;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000040}.theme-switch.dark .knob{background:linear-gradient(135deg,#93c5fd,#3b82f6);transform:translate(28px)}.theme-switch:hover .knob{transform:scale(1.05)}.theme-switch.dark:hover .knob{transform:translate(28px)scale(1.05)}.theme-switch-sm{width:46px;height:24px}.theme-switch-sm .knob{width:18px;height:18px;top:2px;left:2px}.theme-switch-sm.dark .knob{transform:translate(22px)}.theme-switch-lg{width:72px;height:36px}.theme-switch-lg .knob{width:28px;height:28px;top:3px;left:3px}.theme-switch-lg.dark .knob{transform:translate(36px)}.accent-picker{background:var(--panel-2);border:1px solid var(--hairline);border-radius:12px;gap:8px;padding:8px;display:flex}.accent-swatch{background:var(--swatch-color);cursor:pointer;width:28px;height:28px;transition:transform .15s var(--spring,cubic-bezier(.34, 1.56, .64, 1)), border-color .15s, box-shadow .15s;border:2px solid #0000;border-radius:50%}.accent-swatch:hover{transform:scale(1.1)}.accent-swatch.active{border-color:var(--text-1);box-shadow:0 0 0 2px var(--panel-bg), 0 0 0 4px var(--swatch-color)}[data-theme=dark] .accent-swatch.active{border-color:var(--text-1,#eaf1fb)}.motion-slider{background:var(--panel-2);border:1px solid var(--hairline);border-radius:12px;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.motion-label{color:var(--text-2);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.motion-value{font-family:var(--font-mono,ui-monospace);color:var(--color-text-link);font-size:11px;font-weight:700}.motion-range{appearance:none;background:var(--hairline-strong);cursor:pointer;border-radius:999px;outline:none;width:100%;height:6px}.motion-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--panel-bg);cursor:pointer;width:18px;height:18px;transition:transform .15s var(--spring);border-radius:50%;box-shadow:0 2px 6px #0003}.motion-range::-webkit-slider-thumb:hover{transform:scale(1.1)}.motion-range::-moz-range-thumb{background:var(--accent);border:2px solid var(--panel-bg);cursor:pointer;border-radius:50%;width:16px;height:16px}.motion-hints{font-size:var(--fs-1);color:var(--text-4);font-family:var(--font-mono,ui-monospace);justify-content:space-between;display:flex}.preferences-panel{background:var(--panel-bg);border:1px solid var(--hairline);box-shadow:var(--shadow-card);border-radius:16px;flex-direction:column;gap:16px;min-width:280px;padding:20px;display:flex}.preferences-section{flex-direction:column;gap:8px;display:flex}.preferences-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-size:11px;font-weight:700}.preferences-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.preferences-row-label{color:var(--text-1);font-size:13px;font-weight:500}.preferences-reset{border:1px solid var(--hairline);color:var(--text-3);cursor:pointer;background:0 0;border-radius:10px;margin-top:8px;padding:10px 16px;font-size:12px;font-weight:600;transition:all .15s}.preferences-reset:hover{border-color:var(--n-decision);color:var(--n-decision);background:color-mix(in oklab, var(--n-decision) 8%, transparent)}@media (prefers-reduced-motion:reduce){.theme-switch .knob,.accent-swatch{transition:none!important}.motion-range::-webkit-slider-thumb{transition:none!important}}.theme-switch,.theme-switch-sm{flex:none}
