:root{color-scheme:inherit;--bg:#08090a;--surface-1:#0e1110;--surface-2:#121615;--text-primary:#e9f5ee;--text-secondary:#8fa39a;--text-muted:#5c6b64;--gridline:#1c2321;--border:rgba(120,255,190,0.14);--border-strong:rgba(120,255,190,0.3);--accent:#3ef2a0;--accent-dim:#1f8f5f;--accent-glow:rgba(62,242,160,0.18);--danger:#e34948;--cat-work:#2a78d6;--cat-gym:#eb6834;--cat-cfa:#1baf7a;--cat-python:#eda100;--cat-misc:#e87ba4;--cat-finance:#3ef2a0;--cat-sleep:#9085e9;--cat-social:#e34948;--cat-nutrition:#2dd4bf}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--text-primary);font-family:SFMono-Regular,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;-webkit-font-smoothing:antialiased}.dashboard{max-width:960px;margin:0 auto;padding:20px 16px 200px;position:relative;z-index:1}.ambient{position:fixed;inset:0;z-index:0;pointer-events:none}.ambient-canvas{display:block;width:100%;height:100%}.ambient-scanlines{position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 0,transparent 3px);mix-blend-mode:overlay}.ambient-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 120% 90% at 50% 45%,transparent 40%,rgba(4,6,5,.72) 100%)}@media (prefers-reduced-motion:reduce){.ambient-scanlines{display:none}}.top-bar{justify-content:space-between;flex-wrap:wrap;gap:12px 16px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--border)}.brand,.top-bar{display:flex;align-items:center}.brand{gap:8px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.brand-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);flex-shrink:0}.brand-version{color:var(--text-muted);font-weight:400}.top-bar-right{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 16px}.clock{text-align:right;line-height:1.3}.clock-time{font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-primary)}.clock-date{font-size:10px;color:var(--text-muted)}.clock-date,.logout-btn{letter-spacing:.06em;text-transform:uppercase}.logout-btn{background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary);font-family:inherit;font-size:11px;padding:7px 12px;border-radius:0;cursor:pointer;text-decoration:none;display:inline-block}.logout-btn:hover{color:var(--text-primary);border-color:var(--accent-dim)}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}.hero-copy{flex:1 1 520px;min-width:0}.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;max-width:760px;margin-bottom:18px}.hero-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding-top:3px;white-space:nowrap}.hero h1{font-size:24px;font-weight:500;margin:0;color:var(--text-primary)}.hero h1 em{color:var(--accent);font-style:normal}.hero-sub{font-size:12.5px;line-height:1.5;color:var(--text-secondary);margin:6px 0 8px;max-width:62ch}.wx{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.wx-main{display:flex;align-items:center;gap:9px}.wx-main .weather-icon{display:block;flex:none}.wx-temp{font-size:24px;line-height:.9;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-primary)}.wx-cond,.wx-foot{display:flex;align-items:center;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.wx-foot{gap:8px}.wx-sep{color:var(--border-strong);margin:0 6px}.wx-foot .wx-sep{margin:0}.wx-bars{display:flex;align-items:flex-end;gap:2px;height:9px}.wx-bars i{width:2px;background:var(--accent)}.wx-arrow{color:var(--accent);font-size:11px;line-height:1}.wx-low{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-secondary)}@media (max-width:720px){.hero-top{flex-direction:column;align-items:flex-start;gap:14px}}.capture-btn{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--on-accent);background:var(--accent);padding:10px 16px;border-radius:0;box-shadow:0 0 20px var(--accent-glow);white-space:nowrap}.section{margin-bottom:28px}.section-label{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.section-label:before{content:"";width:5px;height:5px;background:var(--accent-dim);flex-shrink:0}.section-head-text{flex:1 1}.section-collapsed .section-label{margin-bottom:0}.panel{background:var(--panel);backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);border:1px solid var(--border);border-radius:0;padding:16px}@supports not ((-webkit-backdrop-filter:blur(4px)) or (backdrop-filter:blur(4px))){.panel{background:var(--surface-1)}}.dashboard-row{display:grid;grid-template-columns:1fr;grid-gap:20px;gap:20px}.dashboard-row>.section{min-width:0}.dashboard-row .panel{overflow-x:auto}@media (min-width:640px){.dashboard-row{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-row .section{margin-bottom:0}}.dashboard-error{color:var(--danger);font-size:13px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:10px;gap:10px}.metric-card{background:var(--panel);backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);border:1px solid var(--border);border-radius:0;padding:14px;display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease}.metric-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.metric-head{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:10px}.metric-value-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-bottom:5px}.metric-value{font-size:26px;font-weight:600;line-height:1;color:var(--text-primary)}.metric-unit{font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.metric-sub{font-size:11px;color:var(--text-secondary)}.metric-foot{font-size:10px;color:var(--text-muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-goal{margin-top:auto;padding-top:10px}.stat-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.stat-dot-work{background:var(--cat-work)}.stat-dot-gym{background:var(--cat-gym)}.stat-dot-cfa{background:var(--cat-cfa)}.stat-dot-python{background:var(--cat-python)}.stat-dot-misc{background:var(--cat-misc)}.stat-dot-finance{background:var(--cat-finance)}.stat-dot-sleep{background:var(--cat-sleep)}.stat-dot-social{background:var(--cat-social)}.stat-dot-nutrition{background:var(--cat-nutrition)}.goal-set-link{font-size:11px;color:var(--text-muted);cursor:pointer}.goal-set-link:hover{color:var(--text-secondary)}.goal-progress{cursor:pointer}.goal-fraction{font-size:11px;color:var(--text-secondary);margin-bottom:5px}.goal-fraction.goal-met{color:var(--accent)}.goal-fraction.goal-over{color:var(--risk)}.goal-fraction.goal-at_risk{color:var(--text-secondary)}.goal-flag{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.goal-bar-track{width:100%;height:4px;border-radius:0;background:var(--gridline);overflow:hidden}.goal-bar-fill{height:100%;border-radius:0;transition:width .2s ease}.tk-wrap{display:flex;flex-direction:column;gap:10px}.tk-toolbar{display:flex;justify-content:flex-end}.tk-btn{font-family:inherit;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:0;border:1px solid var(--border-strong);background:transparent;color:var(--text-secondary);cursor:pointer}.tk-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent-dim)}.tk-btn-primary,.tk-btn[aria-pressed=true]{color:var(--accent);border-color:var(--accent-dim)}.tk-btn:disabled{opacity:.5;cursor:default}.tk-title{flex:1 1}.tk-tools{display:inline-flex;gap:4px}.tk-icon{width:22px;height:22px;padding:0;font-family:inherit;font-size:13px;line-height:1;border:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-secondary);cursor:pointer}.tk-icon:disabled{opacity:.35;cursor:default}.tk-icon-danger:hover{color:var(--danger);border-color:var(--danger)}.tk-controls{display:flex;align-items:stretch;gap:6px;margin-top:10px}.tk-step{width:28px;min-height:28px;padding:0;font-family:inherit;font-size:15px;line-height:1;border:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-secondary);cursor:pointer}@media (hover:hover){.tk-step:hover:not(:disabled){color:var(--tk,var(--accent));border-color:var(--tk,var(--accent-dim))}}.tk-step:disabled{opacity:.35;cursor:default}.tk-value{flex:1 1;min-width:0;display:flex;align-items:baseline;justify-content:center;gap:5px;padding:4px 6px;font-family:inherit;border:1px dashed var(--gridline);border-radius:0;background:transparent;color:var(--text-primary);cursor:text}@media (hover:hover){.tk-value:hover:not(:disabled){border-color:var(--border-strong)}}:is(button,[role=button],.tk-btn,.icon-btn,.app-nav a):not(:disabled):active{transform:scale(.97)}.route-loading{position:fixed;top:0;left:0;right:0;height:2px;overflow:hidden;z-index:100}.route-loading:after{content:"";position:absolute;top:0;bottom:0;width:40%;background:var(--accent);animation:route-load 1s ease-in-out infinite}@keyframes route-load{0%{transform:translateX(-100%)}to{transform:translateX(260%)}}@media (prefers-reduced-motion:reduce){.route-loading:after{width:100%;opacity:.6;animation:none}}.tk-value-num{font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tk-value-unit{font-size:10px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tk-input{min-width:0;padding:5px 7px;font-family:inherit;font-size:12px;border-radius:0;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);color-scheme:inherit}.tk-value-input{flex:1 1;text-align:center}.tk-toggle{flex:1 1;padding:7px 8px;font-family:inherit;font-size:11px;letter-spacing:.04em;border-radius:0;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer}.tk-toggle-on{color:var(--on-accent);background:var(--tk,var(--accent));border-color:transparent}.tk-target{flex-wrap:wrap;margin-top:auto;padding-top:10px}.tk-target,.tk-target label{display:flex;align-items:center;gap:6px}.tk-target .tk-input{width:70px}.tk-muted{font-size:10px;letter-spacing:.03em;color:var(--text-muted)}.tk-panel{display:flex;flex-direction:column;gap:14px;padding:14px;border:1px solid var(--border);border-radius:0;background:color-mix(in srgb,var(--surface-1) 60%,transparent)}.tk-chiprow{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tk-form{display:flex;flex-direction:column;gap:10px;max-width:520px}.tk-form-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--text-primary)}.tk-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px}.tk-field{display:flex;flex-direction:column;gap:4px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.tk-field .tk-input{height:32px;font-size:13px;letter-spacing:normal;text-transform:none}.tk-hint{margin:-4px 0 0;font-size:11px;color:var(--text-secondary)}.tk-swatches{display:flex;flex-wrap:wrap;gap:8px}.tk-swatch{width:24px;height:24px;padding:0;border-radius:50%;border:2px solid transparent;cursor:pointer}.tk-swatch[aria-checked=true]{border-color:var(--text-primary);box-shadow:inset 0 0 0 2px var(--bg)}.tk-actions{display:flex;justify-content:flex-end;gap:8px}.m-app .tk-controls-large .tk-step{width:56px;min-height:52px;font-size:22px;border-radius:0}.m-app .tk-controls-large .tk-value{border-radius:0}.m-app .tk-controls-large .tk-value-num{font-size:20px}.m-app .tk-controls-large .tk-value-unit{font-size:12px}.m-app .tk-controls-large .tk-toggle{min-height:52px;font-size:14px;border-radius:0}.m-app .tk-field .tk-input,.m-app .tk-input{height:40px;font-size:16px}.m-app .tk-btn{min-height:40px;font-size:12px}.m-app .tk-form{max-width:none}.goal-clear-btn{background:none;border:none;font-family:inherit;font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:0;margin-top:6px;cursor:pointer}.goal-clear-btn:hover{color:var(--danger)}.goal-edit{display:flex;align-items:center;gap:4px}.goal-input{width:0;flex:1 1;min-width:0;font-family:inherit;font-size:11px;padding:5px 6px;border-radius:0;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary)}.goal-input:focus{outline:none;border-color:var(--accent)}.goal-cancel-btn,.goal-save-btn{font-family:inherit;font-size:11px;width:22px;height:22px;flex-shrink:0;border-radius:0;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-secondary);cursor:pointer}.goal-save-btn{color:var(--accent)}.goal-cancel-btn{color:var(--danger)}.weather-error,.weather-loading{font-size:12px;color:var(--text-muted)}.weather-retry{background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary);font-family:inherit;font-size:11px;padding:6px 10px;border-radius:0;cursor:pointer;margin-top:8px}.weather-now{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.weather-icon{flex-shrink:0}.weather-temp{font-size:36px;font-weight:600;line-height:1;color:var(--text-primary)}.weather-meta{display:flex;flex-direction:column;gap:2px}.weather-condition{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.weather-detail{font-size:11px;color:var(--text-muted)}.weather-chart-wrap{width:100%;height:72px}.weather-chart{display:block}.weather-location{font-size:10px;color:var(--text-muted);margin-top:8px;letter-spacing:.03em;text-transform:uppercase}.weather-source{color:var(--text-muted);opacity:.7}.nutrition-summary{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.nutrition-kcal{font-size:36px;font-weight:600;line-height:1;color:var(--text-primary)}.nutrition-kcal-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.nutrition-macros{display:flex;gap:18px;margin-bottom:14px}.nutrition-macro-value{font-size:16px;font-weight:600;color:var(--text-primary);line-height:1.2}.nutrition-macro-label{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.trend-chart{margin-top:14px}.trend-chart+.trend-chart{margin-top:18px}.trend-label{display:flex;align-items:baseline;justify-content:space-between;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px}.trend-goal-label{color:var(--text-muted);text-transform:none;letter-spacing:0}.trend-body{display:flex;align-items:stretch;gap:6px}.trend-yaxis{position:relative;flex:0 0 auto;min-width:30px}.trend-y{position:absolute;right:0;transform:translateY(-50%);font-size:9px;line-height:1;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.trend-chart-wrap{flex:1 1;min-width:0;aspect-ratio:600/90}.trend-svg{width:100%;height:100%;display:block}.trend-xaxis{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:10px;color:var(--text-muted);margin-top:2px;padding-left:36px}.trend-missing{opacity:.65;font-style:italic;letter-spacing:.02em}.trend-empty{font-size:12px;color:var(--text-muted);margin:0}.journal-form{display:flex;flex-direction:column;gap:10px}.journal-body-input,.journal-title-input{font-family:inherit;border-radius:0;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);padding:11px 13px;width:100%}.journal-title-input{font-size:15px;font-weight:600}.journal-body-input{font-size:13px;line-height:1.6;resize:vertical}.journal-body-input:focus,.journal-title-input:focus{outline:none;border-color:var(--accent)}.journal-form-foot{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.journal-save{font-size:11px;padding:9px 16px}.journal-save:disabled{opacity:.5;box-shadow:none;cursor:default}.journal-error{color:var(--danger);font-size:12px;margin-right:auto}.summary-panel{min-height:96px}.summary-text{margin:0;font-size:14.5px;line-height:1.7;color:var(--text-primary);max-width:70ch}.summary-meta{margin-top:10px;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.journal-list{gap:10px}.journal-entry,.journal-list{display:flex;flex-direction:column}.journal-entry{background:var(--surface-1);border:1px solid var(--border);border-radius:0;padding:15px 16px;gap:8px}.journal-entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.journal-entry-title{font-family:inherit;font-size:15px;font-weight:600;margin:0;color:var(--text-primary)}.journal-entry-when{font-size:10.5px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.journal-entry-body{margin:0;font-size:13px;line-height:1.65;color:var(--text-secondary);white-space:pre-wrap;max-width:70ch}.journal-quip{margin:2px 0 0;padding-top:9px;border-top:1px solid var(--gridline);font-size:12.5px;line-height:1.6;color:var(--accent);max-width:70ch}.journal-quip-mark{color:var(--accent-dim)}.calendar-connect{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.calendar-connect-btn{font-size:11px;padding:9px 14px}.cal-strip{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;margin-bottom:16px}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.cal-nav,.cal-views{display:flex;align-items:center;gap:6px}.cal-nav-btn{font-family:inherit;font-size:14px;line-height:1;width:22px;height:22px;border:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-secondary);cursor:pointer}.cal-nav-btn:hover{color:var(--text-primary);border-color:var(--accent-dim)}.cal-month-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);min-width:128px;text-align:center}.cal-loading{color:var(--accent)}.cal-cell,.cal-day{font-family:inherit;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;border:1px solid transparent;border-radius:0;position:relative}.cal-day{padding:6px 2px 8px}.cal-cell-today,.cal-day-today{border-color:var(--border-strong);background:var(--surface-2)}.cal-cell-selected,.cal-day-selected{border-color:var(--accent);background:var(--accent-glow)}.cal-cell:hover,.cal-day:hover{border-color:var(--accent-dim)}.cal-dow{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.cal-num{font-size:15px;font-weight:600;color:var(--text-secondary);line-height:1.3}.cal-day-today .cal-num{color:var(--accent)}.cal-dot{width:4px;height:4px;border-radius:50%;background:var(--accent-dim);margin:2px auto 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px;margin-bottom:16px}.cal-grid-dow{font-size:9px;letter-spacing:.06em;text-align:center;color:var(--text-muted);padding-bottom:2px}.cal-cell{justify-content:flex-start;min-height:42px;padding:4px 2px}.cal-cell-outside .cal-cell-num{color:var(--text-muted);opacity:.5}.cal-cell-num{font-size:12px;font-weight:600;color:var(--text-secondary);line-height:1.4;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-cell-today .cal-cell-num{color:var(--accent)}.cal-cell-dots{display:flex;align-items:center;justify-content:center;gap:2px;margin-top:2px;min-height:8px}.cal-cell-dots .cal-dot{margin:0}.cal-cell-count{font-size:9px;color:var(--accent-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-loc{margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40%}.cal-loc,.cal-section-label{font-size:10px;color:var(--text-muted)}.cal-section-label{letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}.cal-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column}.cal-event{display:flex;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px solid var(--gridline)}.cal-event:last-child{border-bottom:none}.cal-time{font-size:11px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0;min-width:62px}.cal-title{font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-account{font-size:10px;color:var(--text-muted);letter-spacing:.03em}.goal-section{margin-bottom:20px}.goal-section:last-child{margin-bottom:0}.goal-section-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.task-add{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.task-input{flex:1 1;min-width:140px;font-family:inherit;font-size:13px;padding:9px 12px;border-radius:0;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary)}.task-category-select:focus,.task-input:focus{outline:none;border-color:var(--accent)}.task-category-select{font-family:inherit;font-size:12px;padding:9px 8px;border-radius:0;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-secondary);max-width:120px}.task-add-btn{font-family:inherit;font-size:16px;font-weight:700;width:36px;border-radius:0;border:none;background:var(--accent);color:var(--on-accent);cursor:pointer;box-shadow:0 0 12px var(--accent-glow);flex-shrink:0}.task-add-btn:disabled{opacity:.6;box-shadow:none}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;border-radius:0;overflow:hidden;border:1px solid var(--border)}.task-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-2);border-bottom:1px solid var(--gridline)}.task-row:last-child{border-bottom:none}.task-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;border:1px solid var(--border-strong);border-radius:0;background:transparent;cursor:pointer;flex-shrink:0;position:relative}.task-checkbox:checked{background:var(--accent);border-color:var(--accent)}.task-checkbox:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}.task-content{flex:1 1;font-size:13px;color:var(--text-primary)}.task-done .task-content{color:var(--text-muted);text-decoration:line-through}.task-source{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.activity-label{justify-content:space-between;gap:12px;flex-wrap:wrap}.activity-label-text{flex:1 1}.activity-controls{display:flex;align-items:center;gap:8px}.range-group{display:flex;border:1px solid var(--border);border-radius:0;overflow:hidden}.range-btn{font-family:inherit;font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border:none;border-right:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer}.range-btn:last-child{border-right:none}.range-btn:hover{color:var(--text-secondary)}.range-btn-active{background:var(--accent-dim);color:var(--on-accent)}.collapse-btn{font-family:inherit;font-size:13px;line-height:1;width:22px;height:22px;border:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-secondary);cursor:pointer}.collapse-btn:hover{color:var(--text-primary);border-color:var(--accent-dim)}.feed-note{font-size:10px;margin:8px 0 0;letter-spacing:.03em}.feed-empty,.feed-note{color:var(--text-muted)}.feed-empty{font-size:13px}.feed ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;border-radius:0;overflow:hidden;border:1px solid var(--border)}.feed-item{display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--surface-1);border-bottom:1px solid var(--gridline)}.feed-item:last-child{border-bottom:none}.feed-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:3px 7px;border-radius:0;color:var(--on-accent);flex-shrink:0}.feed-badge-work{background:var(--cat-work)}.feed-badge-gym{background:var(--cat-gym)}.feed-badge-cfa{background:var(--cat-cfa)}.feed-badge-python{background:var(--cat-python)}.feed-badge-misc{background:var(--cat-misc)}.feed-badge-finance{background:var(--cat-finance)}.feed-badge-sleep{background:var(--cat-sleep)}.feed-badge-social{background:var(--cat-social)}.feed-badge-nutrition{background:var(--cat-nutrition)}.feed-content{flex:1 1;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-time{font-size:11px;color:var(--text-muted);flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.login-wrap{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;font-family:SFMono-Regular,JetBrains Mono,ui-monospace,Menlo,Consolas,monospace}.login-form{width:100%;max-width:300px;display:flex;flex-direction:column;gap:12px}.login-form h1{font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-align:center;margin:0 0 8px}.login-form h1,.login-form input{font-size:15px;color:var(--text-primary)}.login-form input{font-family:inherit;padding:12px 14px;border-radius:0;border:1px solid var(--border-strong);background:var(--surface-1)}.login-form input:focus{outline:none;border-color:var(--accent)}.login-form button{font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:12px 14px;border-radius:0;border:none;background:var(--accent);color:var(--on-accent);cursor:pointer;box-shadow:0 0 20px var(--accent-glow)}.login-form button:disabled{opacity:.6;box-shadow:none}.login-error{color:var(--danger);font-size:12px;text-align:center;margin:0}.panel-handle{cursor:-webkit-grab;cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:none}.panel-dragging .panel-handle{cursor:-webkit-grabbing;cursor:grabbing}.panel-dragging{z-index:60;transition:none}.panel-reset{color:var(--accent);border-color:var(--accent-dim)}@media (max-width:620px){.panel-handle{cursor:default}}.ticker{position:fixed;left:16px;bottom:16px;z-index:40;width:min(440px,calc(100vw - 32px));background:var(--popover);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--border);border-radius:0;overflow:hidden;box-shadow:var(--shadow-lg);font-size:10.5px}.ticker-bar{display:flex;align-items:center;gap:8px;padding:7px 9px;border-bottom:1px solid var(--gridline)}.ticker-collapsed .ticker-bar{border-bottom:none}.ticker-pulse{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 7px var(--accent);flex-shrink:0;animation:ticker-breathe 2.6s ease-in-out infinite}.ticker-pulse-dead{background:var(--danger);box-shadow:none;animation:none}@keyframes ticker-breathe{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.ticker-pulse{animation:none}}.ticker-title{letter-spacing:.12em;color:var(--text-secondary);flex-shrink:0}.ticker-peek{flex:1 1;min-width:0;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticker-count{margin-left:auto;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.ticker-collapsed .ticker-count{margin-left:0}.ticker-toggle{font-family:inherit;font-size:12px;line-height:1;width:18px;height:18px;border:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.ticker-toggle:hover{color:var(--text-primary);border-color:var(--accent-dim)}.ticker-body{max-height:148px;overflow-y:auto;padding:6px 9px 8px;scrollbar-width:thin}.ticker-line{display:flex;gap:8px;padding:1.5px 0;line-height:1.5;animation:ticker-in .14s ease-out}@keyframes ticker-in{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ticker-line{animation:none}}.ticker-time{color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0;opacity:.75}.ticker-src{color:var(--accent-dim);flex-shrink:0;width:30px;letter-spacing:.06em}.ticker-msg{color:var(--text-secondary);min-width:0;overflow-wrap:anywhere}.ticker-line-ok .ticker-msg,.ticker-line-ok .ticker-src{color:var(--accent)}.ticker-line-warn .ticker-msg,.ticker-line-warn .ticker-src{color:var(--cat-python)}.ticker-line-error .ticker-msg,.ticker-line-error .ticker-src{color:var(--danger)}@media (max-width:640px){.ticker{left:8px;right:8px;bottom:8px;width:auto}.ticker-body{max-height:104px}}.palette-scrim{position:fixed;inset:0;z-index:80;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:var(--scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:palette-fade .12s ease-out}@keyframes palette-fade{0%{opacity:0}to{opacity:1}}.palette{width:min(620px,100%);background:var(--popover);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border:1px solid var(--border-strong);border-radius:0;box-shadow:var(--shadow-lg),0 0 60px var(--accent-glow);overflow:hidden;animation:palette-rise .14s ease-out}@keyframes palette-rise{0%{opacity:0;transform:translateY(-8px) scale(.99)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.palette,.palette-scrim{animation:none}}.palette-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--gridline)}.palette-caret{color:var(--accent);font-size:14px;flex-shrink:0}.palette-input{flex:1 1;min-width:0;font-family:inherit;font-size:15px;background:transparent;border:none;outline:none;color:var(--text-primary)}.palette-input::placeholder{color:var(--text-muted)}.palette-busy{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);flex-shrink:0;animation:ticker-breathe 1.4s ease-in-out infinite}.palette-list{list-style:none;margin:0;padding:6px;max-height:46vh;overflow-y:auto}.palette-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:9px 11px;border-radius:0;cursor:pointer}.palette-row-active{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.palette-row-label{font-size:13px;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-row-echo{color:var(--accent)}.palette-row-hint{font-size:10.5px;color:var(--text-muted);flex-shrink:0}.palette-empty{padding:14px 11px;font-size:12.5px;color:var(--text-muted)}.palette-view{padding:14px 16px;max-height:56vh;overflow-y:auto}.palette-answer{margin:0 0 12px;font-size:14px;line-height:1.7;color:var(--text-primary);white-space:pre-wrap;max-width:66ch}.palette-sources{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.palette-sources li{display:flex;align-items:baseline;gap:8px;padding:7px 0;border-bottom:1px solid var(--gridline);font-size:12px}.palette-sources li:last-child{border-bottom:none}.music-dock{position:fixed;right:16px;bottom:16px;z-index:40;width:260px;background:var(--popover);border:1px solid var(--border);border-radius:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.music-bar{display:flex;align-items:center;gap:8px;padding:7px 9px;border-bottom:1px solid var(--gridline)}.music-dock-collapsed .music-bar{border-bottom:none}.music-dock-collapsed .music-frame{height:0;opacity:0;pointer-events:none}.music-frame{height:146px;transition:height .18s ease,opacity .18s ease}.music-frame iframe{display:block;width:100%;height:100%;border:0}.music-mini,.music-play{background:none;border:1px solid var(--gridline);border-radius:0;color:var(--text-secondary);font-family:inherit;cursor:pointer;padding:3px 6px;font-size:10px;line-height:1.2;flex-shrink:0}.music-play{color:var(--accent);border-color:var(--border-strong);min-width:26px}.music-mini:hover,.music-play:hover{color:var(--text-primary);border-color:var(--border-strong)}.music-mini:focus-visible,.music-play:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.music-title{flex:1 1;min-width:0;font-size:10.5px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-source-row{display:flex;gap:6px;width:100%}.music-input{flex:1 1;min-width:0;background:var(--bg);border:1px solid var(--gridline);border-radius:0;color:var(--text-primary);font-family:inherit;font-size:11px;padding:5px 7px}.music-input:focus{outline:none;border-color:var(--border-strong)}.music-shuffle{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--text-muted);cursor:pointer}.sound-divider{height:1px;background:var(--gridline);margin:4px 0}@media (max-width:620px){.music-dock{right:10px;left:10px;width:auto;bottom:200px}}.compile-head{display:flex;align-items:baseline;gap:8px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border)}.compile-total{font-size:26px;font-weight:600;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.compile-total-label{font-size:11px;color:var(--text-muted)}.compile-groups{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.compile-group-head{display:flex;align-items:center;gap:8px;margin-bottom:5px}.compile-group-term{font-size:12.5px;color:var(--text-primary)}.compile-kind{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:0;border:1px solid var(--gridline);color:var(--text-muted)}.compile-kind-category{color:var(--accent);border-color:var(--border-strong)}.compile-count{margin-left:auto;font-size:11px;color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.compile-preview{list-style:none;margin:0;padding:0 0 0 10px;border-left:1px solid var(--gridline);display:flex;flex-direction:column;gap:3px}.compile-preview li{display:flex;gap:8px;font-size:11.5px;min-width:0}.compile-preview-date{color:var(--text-muted);flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.compile-preview-text{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compile-more,.compile-none{font-size:11px;color:var(--text-muted);font-style:italic;margin:0;padding-left:10px}.compile-actions{display:flex;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.compile-btn{flex:1 1;display:flex;flex-direction:column;gap:2px;padding:9px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:0;color:var(--text-primary);font-family:inherit;font-size:12px;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.compile-btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-1)}.compile-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.compile-btn:disabled{opacity:.5;cursor:default}.compile-btn-hint{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.palette-source-n{color:var(--accent-dim);flex-shrink:0}.palette-source-text{flex:1 1;min-width:0;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-source-when{color:var(--text-muted);font-size:10.5px;flex-shrink:0}.palette-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:9px 16px;border-top:1px solid var(--gridline);font-size:10px;letter-spacing:.04em;color:var(--text-muted)}.palette-chip b{color:var(--accent-dim);font-weight:600;margin-right:4px}.palette-hint{display:inline-flex;align-items:center;gap:3px;padding:6px 9px}.palette-hint kbd{font-family:inherit;font-size:10px;line-height:1;padding:3px 4px;border:1px solid var(--border);border-radius:0;color:var(--text-secondary)}.day-strip{display:flex;align-items:flex-end;gap:3px;margin:4px 0 14px}.day-col{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0 2px;background:transparent;border:1px solid transparent;border-radius:0;cursor:pointer;font-family:inherit}.day-col:hover{border-color:var(--border)}.day-col-active{border-color:var(--border-strong);background:var(--accent-soft)}.day-bar-track{width:100%;height:40px;display:flex;align-items:flex-end;justify-content:center}.day-bar-fill{width:70%;min-height:2px;border-radius:0;background:var(--cat-nutrition);opacity:.75;transition:height .25s ease}.day-bar-hit{background:var(--accent);opacity:1}.day-bar-empty{background:var(--gridline);opacity:1}.day-col-label{font-size:9px;letter-spacing:.04em;color:var(--text-muted)}.day-col-today .day-col-label{color:var(--accent)}.meal-list{list-style:none;margin:0 0 4px;padding:0}.meal-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--gridline);font-size:12px}.meal-row:last-child{border-bottom:none}.meal-name{color:var(--text-secondary);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-time{font-size:10.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:58px}.meal-del,.meal-time{color:var(--text-muted);flex-shrink:0}.meal-del{background:none;border:none;font-family:inherit;font-size:14px;line-height:1;padding:0 2px;cursor:pointer;opacity:0;transition:opacity .12s,color .12s}.meal-del:focus-visible,.meal-row:hover .meal-del{opacity:1}.meal-del:hover{color:var(--danger)}.meal-del:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.meal-del:disabled{opacity:.5;cursor:default}.feed-del:focus-visible,.feed-item:hover .feed-del{opacity:1}.row-tag{font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--gridline);border-radius:0;padding:1px 5px;white-space:nowrap;flex:0 1 auto;min-width:3em;max-width:40%;overflow:hidden;text-overflow:ellipsis}.news-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.news-count{font-size:11px;color:var(--text-muted)}.news-head-actions{display:flex;gap:6px}.news-filters{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.news-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.news-item{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--gridline)}.news-item:last-child{border-bottom:none}.news-score{flex-shrink:0;min-width:22px;text-align:center;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent);border:1px solid var(--border);border-radius:0;padding:2px 0;margin-top:1px}.news-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.news-title{color:var(--text-primary);font-size:12.5px;line-height:1.45;text-decoration:none}.news-title:hover{color:var(--accent);text-decoration:underline}.news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;color:var(--text-muted)}.news-source-name{color:var(--text-secondary)}.news-age{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.news-tag{text-transform:uppercase;letter-spacing:.05em;font-size:9px;border:1px solid var(--gridline);border-radius:0;padding:1px 5px}.news-item .meal-del{margin-top:1px}.week-goal{margin:4px 0 14px}.week-goal-line{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;color:var(--text-secondary);margin-bottom:5px}.week-goal-line.goal-met{color:var(--accent)}.week-goal-pct{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted)}.week-goal-line.goal-met .week-goal-pct{color:var(--accent)}.nutrition-nav{display:flex;align-items:center;gap:6px;margin-bottom:10px}.nut-nav-btn{background:none;border:1px solid var(--gridline);border-radius:0;color:var(--text-secondary);font-family:inherit;font-size:14px;line-height:1;padding:3px 8px;cursor:pointer}.nut-nav-btn:hover:not(:disabled){color:var(--accent);border-color:var(--border-strong)}.nut-nav-btn:disabled{opacity:.3;cursor:default}.nut-date{background:var(--bg);border:1px solid var(--gridline);border-radius:0;color:var(--text-primary);font-family:inherit;font-size:11px;padding:3px 6px;color-scheme:inherit}.nut-date:focus{outline:none;border-color:var(--border-strong)}.nut-today-btn{background:none;border:1px solid var(--border);border-radius:0;color:var(--accent);font-family:inherit;font-size:10px;letter-spacing:.04em;padding:3px 8px;cursor:pointer}.nut-today-btn:hover{border-color:var(--border-strong)}.nut-loading{font-size:10px;color:var(--text-muted);font-style:italic}.nut-nav-btn:focus-visible,.nut-today-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.meal-kcal{color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.select-wrap{position:relative;display:inline-flex;align-items:stretch;flex-shrink:0}.task-category-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:26px;cursor:pointer}.task-category-select::-ms-expand{display:none}.select-arrow{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:9px;color:var(--text-muted);pointer-events:none}.row-delete{font-family:inherit;font-size:15px;line-height:1;width:20px;height:20px;flex-shrink:0;border:none;border-radius:0;background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}.journal-entry:hover .row-delete,.row-delete:focus-visible,.task-row:hover .row-delete{opacity:1}.row-delete:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}@media (hover:none){.row-delete{opacity:.5}}.panel-clear-btn{font-family:inherit;font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin-top:10px;padding:6px 10px;border:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-muted);cursor:pointer}.panel-clear-btn:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.goal-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.goal-section-head .goal-section-label{margin-bottom:0}.goal-section-actions{display:flex;gap:6px}.mini-btn{font-family:inherit;font-size:9px;letter-spacing:.05em;text-transform:uppercase;padding:3px 6px;border:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-muted);cursor:pointer}.mini-btn:hover{color:var(--text-secondary);border-color:var(--accent-dim)}.mini-btn-danger:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.settings-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--gridline)}.settings-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.settings-note{font-size:10.5px;color:var(--text-muted)}.inline-check{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);cursor:pointer}.inline-check input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;border:1px solid var(--border-strong);border-radius:0;background:transparent;cursor:pointer;position:relative}.inline-check input:checked{background:var(--accent);border-color:var(--accent)}.inline-check input:checked:after{content:"";position:absolute;left:3.5px;top:.5px;width:3.5px;height:7px;border:solid var(--on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}.journal-entry-head .row-delete{margin-left:-4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sound-toggle{display:inline-flex;align-items:center;gap:6px;padding:7px 10px}.sound-glyph{font-size:9px;line-height:1;color:var(--text-muted)}.sound-toggle-on{border-color:var(--accent-dim);color:var(--text-primary)}.sound-toggle-on .sound-glyph{color:var(--accent);text-shadow:0 0 6px var(--accent)}.summary-stale{color:var(--cat-python)}.ticker-title{font-weight:600;color:var(--accent)}.ticker{border-color:var(--border-strong);transition:box-shadow .4s ease,border-color .4s ease}.ticker-live{border-color:var(--accent-dim);box-shadow:var(--shadow-lg),0 0 26px var(--accent-glow)}.ticker-collapsed .ticker-body{display:none}.sound-wrap{position:relative}.sound-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:268px;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--popover);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid var(--border-strong);border-radius:0;box-shadow:var(--shadow-lg);text-transform:none;letter-spacing:normal}.sound-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.sound-row-stack{flex-direction:column;align-items:stretch;gap:6px}.sound-vol-num{color:var(--accent);font-weight:600}.sound-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:0;background:var(--gridline);outline:none;cursor:pointer}.sound-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);cursor:pointer}.sound-slider::-moz-range-thumb{width:13px;height:13px;border:none;border-radius:50%;background:var(--accent);cursor:pointer}.sound-test{margin-top:0;flex-shrink:0}.sound-status{font-size:9.5px;text-align:right;line-height:1.4;min-width:0;overflow-wrap:anywhere}.sound-status-good{color:var(--accent)}.sound-status-muted{color:var(--text-muted)}.sound-status-bad{color:var(--cat-python)}.sound-hint{margin:0;font-size:9.5px;line-height:1.5;color:var(--text-muted)}@media (max-width:640px){.sound-panel{position:fixed;top:auto;bottom:12px;left:12px;right:12px;width:auto}}.cal-upgrade{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);border-radius:0;background:color-mix(in srgb,var(--warn) 6%,transparent)}.cal-upgrade-text{font-size:11px;line-height:1.5;color:var(--cat-python);flex:1 1;min-width:180px}.cal-upgrade-btn{font-size:10px;padding:7px 12px;flex-shrink:0}.notes-layout{display:grid;grid-template-columns:260px 1fr;grid-gap:14px;gap:14px;align-items:start}.notes-list-pane{display:flex;flex-direction:column;gap:8px;min-width:0}.notes-toolbar{display:flex;gap:6px}.notes-search{flex:1 1;min-width:0;font-family:inherit;font-size:12px;padding:7px 9px;background:var(--surface-1);border:1px solid var(--border);border-radius:0;color:var(--text-primary)}.notes-body:focus,.notes-search:focus,.notes-tags-input:focus,.notes-title-input:focus{outline:none;border-color:var(--accent-dim)}.notes-new{flex-shrink:0;padding:7px 11px;font-size:12px}.notes-list{list-style:none;margin:0;padding:0;gap:3px;max-height:70vh;overflow-y:auto}.notes-item,.notes-list{display:flex;flex-direction:column}.notes-item{width:100%;text-align:left;font-family:inherit;background:var(--surface-1);border:1px solid transparent;border-radius:0;padding:8px 10px;cursor:pointer;gap:2px;min-width:0}.notes-item:hover{border-color:var(--accent-dim)}.notes-item-active{border-color:var(--accent);background:var(--accent-glow)}.notes-item-title{font-size:12.5px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-pin-dot{color:var(--accent);margin-right:5px}.notes-item-meta{font-size:9.5px;color:var(--text-muted)}.notes-editor-pane{display:flex;flex-direction:column;gap:8px;min-height:60vh}.notes-editor-head{display:flex;align-items:center;gap:8px}.notes-title-input{flex:1 1;min-width:0;font-family:inherit;font-size:16px;font-weight:600;background:none;border:none;border-bottom:1px solid var(--gridline);padding:4px 0;color:var(--text-primary)}.notes-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.notes-save{font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);min-width:48px;text-align:right}.notes-save-dirty{color:var(--cat-python)}.notes-save-saved{color:var(--accent)}.notes-tags-input{font-size:11px;border:none;padding:2px 0;color:var(--text-secondary)}.notes-body,.notes-tags-input{font-family:inherit;background:none}.notes-body{flex:1 1;min-height:46vh;resize:vertical;font-size:13px;line-height:1.65;border:1px solid var(--gridline);border-radius:0;padding:10px;color:var(--text-primary)}.notes-foot{font-size:9.5px;color:var(--text-muted)}@media (max-width:760px){.notes-layout{grid-template-columns:1fr}.notes-list{max-height:240px}}.study-btn{display:inline-flex;align-items:center;gap:6px}.study-btn-live{border-color:var(--accent);color:var(--accent)}.study-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.study-dot-live{background:var(--accent);box-shadow:0 0 6px var(--accent-glow);animation:ticker-breathe 2.6s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.study-dot-live{animation:none}}.study-session{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.study-session-left{display:flex;align-items:center;gap:8px}.study-session-state{font-size:13px;color:var(--text-primary)}.study-since{font-size:10px;color:var(--text-muted)}.study-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.study-select{font-family:inherit;font-size:12px;padding:7px 9px;background:var(--surface-1);border:1px solid var(--border);border-radius:0;color:var(--text-primary);max-width:100%}.study-q-head{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.study-q-prompt{font-size:14px;line-height:1.6;color:var(--text-primary);margin:0 0 12px;white-space:pre-wrap}.study-choices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.study-choice{width:100%;text-align:left;font-family:inherit;font-size:13px;line-height:1.5;display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:var(--surface-1);border:1px solid var(--gridline);border-radius:0;color:var(--text-primary);cursor:pointer}.study-choice:hover:not(:disabled){border-color:var(--accent-dim)}.study-choice:disabled{cursor:default}.study-choice-letter{color:var(--text-muted);font-weight:600;flex-shrink:0}.study-choice-picked{border-color:var(--accent-dim)}.study-choice-right{border-color:var(--accent);background:var(--accent-glow)}.study-choice-wrong{border-color:var(--danger)}.study-explain{margin-top:12px;padding:10px 12px;border-left:2px solid var(--danger);background:var(--surface-1);border-radius:0}.study-explain-right{border-left-color:var(--accent)}.study-verdict{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:5px}.study-explain-body{font-size:12.5px;line-height:1.6;color:var(--text-secondary);margin:0 0 10px}.study-next{padding:6px 12px;font-size:12px}.study-total{font-size:13px;color:var(--text-primary);margin-bottom:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.study-topics{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.study-topic-row{display:grid;grid-template-columns:minmax(120px,1.4fr) 1fr 92px;align-items:center;grid-gap:10px;gap:10px;font-size:11.5px}.study-topic-name{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-topic-bar{height:5px;background:var(--gridline);border-radius:0;overflow:hidden}.study-topic-fill{display:block;height:100%;background:var(--accent-dim)}.study-topic-fill[data-weak=yes]{background:var(--danger)}.study-topic-pct{text-align:right;color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.study-topic-asked{color:var(--text-muted);font-size:9.5px}.study-weak{font-size:11.5px;color:var(--text-muted);margin:12px 0 0;line-height:1.5}@media (max-width:620px){.study-topic-row{grid-template-columns:1fr 70px}.study-topic-bar{display:none}}.study-stock-note{font-size:11.5px;color:var(--accent);margin:0 0 12px}.study-stock-bad{color:var(--danger)}.exam-intro{font-size:12px;line-height:1.6;color:var(--text-secondary);margin:0 0 12px;max-width:64ch}.exam-readiness{display:flex;align-items:center;gap:10px;margin-bottom:12px}.exam-ready-count{font-size:11.5px;color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.exam-ready-bar{flex:1 1;height:5px;background:var(--gridline);border-radius:0;overflow:hidden}.exam-ready-fill{display:block;height:100%;background:var(--cat-cfa)}.exam-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.exam-filling,.exam-short-note{font-size:11.5px;color:var(--text-muted);margin:10px 0 0;line-height:1.5}.exam-filling{color:var(--cat-python)}.exam-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--gridline)}.exam-progress{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.exam-clock{font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-primary);letter-spacing:.04em}.exam-clock-low{color:var(--danger)}.exam-prompt{font-size:14px}.exam-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.exam-answered{font-size:10px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exam-break{text-align:center;padding:26px 16px}.exam-break-title{font-size:15px;color:var(--text-primary);margin-bottom:6px}.exam-break-body{font-size:12.5px;color:var(--text-secondary);margin:0 0 16px}.exam-break .exam-actions{justify-content:center}.exam-report-head{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.exam-score{font-size:26px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-primary)}.exam-report-topics,.exam-score{margin-bottom:14px}.exam-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.exam-history-row{display:grid;grid-template-columns:52px 62px 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:7px 0;border-bottom:1px solid var(--gridline);font-size:11.5px}.exam-history-row:last-child{border-bottom:none}.exam-history-label{font-size:13px;color:var(--text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exam-history-date{color:var(--text-muted)}.exam-history-score{color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.exam-history-note{font-size:11px;color:var(--text-muted);line-height:1.5;margin:12px 0 0}.study-explain-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.study-flagged{font-size:11px;color:var(--cat-python)}@media (max-width:620px){.exam-history-row{grid-template-columns:44px 1fr auto}.exam-history-date{display:none}}.quote-dock{position:fixed;bottom:16px;left:0;right:0;margin:0 auto;z-index:39;width:min(400px,calc(100vw - 32px));background:var(--popover);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--gridline);border-radius:0;overflow:hidden;box-shadow:var(--shadow-lg)}.quote-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px}.quote-school{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.quote-btn{font-family:inherit;font-size:11px;line-height:1;width:18px;height:18px;border:1px solid transparent;border-radius:0;background:none;color:var(--text-muted);cursor:pointer}.quote-btn:hover{color:var(--text-primary);border-color:var(--border)}.quote-reset{color:var(--accent)}.quote-body{margin:0;padding:2px 14px 14px}.quote-text{margin:0 0 7px;font-size:13px;line-height:1.65;color:var(--text-secondary);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-style:italic;text-wrap:pretty}.quote-author{font-size:10px;letter-spacing:.04em;color:var(--text-muted);font-style:normal}.quote-picker{display:flex;flex-wrap:wrap;gap:4px;padding:0 10px 10px;max-height:148px;overflow-y:auto}.quote-pick{font-family:inherit;font-size:9.5px;padding:3px 7px;border:1px solid var(--gridline);border-radius:0;background:none;color:var(--text-muted);cursor:pointer}.quote-pick:hover{color:var(--text-primary);border-color:var(--accent-dim)}.quote-pick-on{color:var(--accent);border-color:var(--accent-dim)}@media (max-width:1300px){.quote-dock{bottom:210px}}@media (max-width:620px){.quote-dock{left:8px;right:8px;width:auto;bottom:250px}}.login-mode{margin:-6px 0 4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.login-notice{color:var(--accent);font-size:13px;margin:0}.login-switch{display:flex;flex-direction:column;gap:6px;margin-top:8px}.login-switch button{background:none;border:none;padding:0;font:inherit;font-size:12px;color:var(--text-secondary);cursor:pointer;text-align:left}.login-switch button:hover{color:var(--accent)}.settings-page{max-width:720px}.settings-block{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.settings-list{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:8px 16px;gap:8px 16px;margin:0;font-size:13px}.settings-list dt{color:var(--text-muted)}.settings-list dd{margin:0;overflow-wrap:anywhere}.settings-usage{width:100%;border-collapse:collapse;font-size:13px}.settings-usage td{padding:6px 0;border-bottom:1px solid var(--gridline)}.settings-usage td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.settings-hint{margin:0;line-height:1.55}.settings-hint,.setup-more>summary{font-size:13px;color:var(--text-secondary)}.setup-more>summary{cursor:pointer;margin-top:12px}.setup-more>.tk-row{margin-top:10px}.settings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.settings-danger{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--gridline)}.danger-btn{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.login-legal{margin:0;font-size:11px;line-height:1.5;color:var(--text-muted)}.login-legal a{color:var(--text-secondary)}.nutri-tools{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.nutri-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.nutri-goals{font-size:12px;color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nutri-actions{display:flex;gap:8px}.nutri-add{color:var(--accent)}.nutri-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.nutri-name{flex:1 1 200px;min-width:0}.nutri-label{display:flex;flex-direction:column;gap:4px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.nutri-form .music-input{font-size:14px;height:36px;padding:0 10px;width:100%;box-sizing:border-box}.nutri-num{width:104px;-moz-appearance:textfield}.nutri-num::-webkit-inner-spin-button,.nutri-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.nutri-form>.logout-btn{height:36px}.cal-strip .cal-day{color:inherit}.cal-count{font-size:9px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-height:11px}.cal-day-selected .cal-count{color:var(--accent)}.cal-event .cal-time{min-width:128px}.cal-event .cal-loc{margin-left:auto}.cal-url{flex:1 1 280px;min-width:0}.settings-steps{margin:0;padding-left:18px;font-size:12px;line-height:1.6;color:var(--text-secondary)}.brief-settings{display:flex;flex-direction:column;gap:10px}.brief-settings .settings-row-text{flex:1 1 140px}.brief-settings .music-input{flex:0 0 auto}.brief-time{width:120px}.brief-tz{width:260px;max-width:100%}.weather-actions{display:flex;gap:8px;justify-content:center;margin-top:8px}.weather-change{background:none;border:none;padding:0 0 0 8px;font:inherit;color:var(--accent);cursor:pointer}.weather-picker{display:flex;flex-direction:column;gap:10px}.weather-search{display:flex;gap:8px;flex-wrap:wrap}.weather-search .music-input{flex:1 1 160px;min-width:0}.weather-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.weather-results button{width:100%;text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:0;padding:8px 10px;color:var(--text-primary);font:inherit;font-size:13px;cursor:pointer}.weather-results button:hover{border-color:var(--border-strong)}.only-narrow{display:none!important}@media (max-width:700px){.only-narrow{display:inline-flex!important}.dashboard{padding:14px 12px 120px}.top-bar-right{justify-content:flex-start;gap:6px 8px}.top-bar-right .clock,.top-bar-right .sound-wrap{display:none}.notes-layout{grid-template-columns:minmax(0,1fr)}.notes-editor-pane{min-height:50vh}.settings-row{flex-wrap:wrap}.settings-list{grid-template-columns:minmax(0,1fr);gap:2px 0}.settings-list dd{margin-bottom:8px}.cal-event .cal-time{min-width:96px}.nutri-form>.nutri-label:not(.nutri-name){width:calc(50% - 4px)}.nutri-num{width:100%}.brief-tz{max-width:100%}.quote-dock,.ticker{display:none!important}}.notes-group{display:flex;flex-direction:column;gap:4px}.notes-group+.notes-group{margin-top:12px}.notes-group-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:0 2px 2px}.notes-list{gap:6px}.setup-banner{display:block;margin:0 0 18px;padding:12px 16px;border:1px dashed var(--accent);border-radius:0;color:var(--accent);text-decoration:none;font-size:13px}.setup-banner:hover{background:var(--accent-dim)}.commit-card{display:flex;flex-direction:column;gap:12px}.commit-title{margin:0;font-size:17px;font-weight:600;color:var(--text-primary)}.commit-hint{margin:0;font-size:13px;line-height:1.5;color:var(--text-secondary)}.commit-choices{display:flex;flex-wrap:wrap;gap:8px}.commit-choices a{text-decoration:none}.commit-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px}.commit-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-secondary)}.commit-input{display:flex;align-items:center;gap:8px;font-size:13px}.commit-input .tk-input{width:7rem}.setup-page .setup-form{display:flex;flex-direction:column;max-width:760px}.setup-page .tk-field .tk-input{width:100%;box-sizing:border-box}.setup-actions{justify-content:flex-end;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:40px}.exam-pace{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;margin:0 0 12px;font-size:13px;color:var(--text-secondary)}.exam-pace-empty{color:var(--text-muted)}.exam-pace a{color:var(--accent)}.exam-pace-days{font-size:22px;color:var(--text-primary);margin-right:4px}.exam-pace-status{color:var(--text-muted)}.exam-pace-behind{color:var(--danger)}.exam-pace-ahead,.exam-pace-done,.exam-pace-on-pace{color:var(--accent)}.voice-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px;margin:10px 0}.voice-option{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px;border:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-secondary);font:inherit;cursor:pointer}.voice-option:hover{border-color:var(--border-strong)}.voice-option-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.voice-option:disabled{opacity:.6;cursor:wait}.voice-name{color:var(--text-primary);font-weight:600}.voice-hint{font-size:12px;color:var(--text-muted)}.voice-sample{font-size:12px;font-style:italic}.insight{margin:0 0 20px;padding:14px 16px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0;background:var(--surface-1);font-size:13px;color:var(--text-secondary)}.insight-risk{border-left-color:var(--risk)}.insight-watch{border-left-color:var(--cat-python)}.insight-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:6px}.insight-tone{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.insight-risk .insight-tone{color:var(--risk)}.insight-watch .insight-tone{color:var(--cat-python)}.insight-headline{color:var(--text-primary);font-size:15px;font-weight:600}.insight-action,.insight-fact{margin:0 0 6px;line-height:1.5}.insight-why{color:var(--text-muted)}.insight-action{color:var(--text-primary)}.insight-action b{color:var(--accent);font-weight:600}.insight-ask{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--text-muted)}.insight-btn{min-height:32px;padding:0 12px;border-radius:0;border:1px solid var(--border-strong);background:none;color:var(--text-secondary);font:inherit;font-size:12px;cursor:pointer}.insight-btn:focus-visible,.insight-btn:hover{border-color:var(--accent);color:var(--accent)}.insight-ask-btns{display:inline-flex;gap:8px}.insight-phone{margin:0}.feed-edit-row{padding:12px 14px;background:var(--surface-2);border-bottom:1px solid var(--gridline)}.entry-edit{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px 12px;gap:10px 12px;align-items:end}.entry-edit-field{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:11px;color:var(--text-muted)}.entry-edit-actions,.entry-edit-check,.entry-edit-wide{grid-column:1/-1}.entry-edit-input{width:100%;box-sizing:border-box}.entry-edit-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.entry-edit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.meal-edit:hover{color:var(--accent)}.meal-del[aria-expanded=true]{opacity:1;color:var(--accent)}.meal-edit-row{list-style:none;padding:12px 0;border-bottom:1px solid var(--gridline)}.tour{position:fixed;inset:0;z-index:1000}.tour-spot{position:fixed;border-radius:var(--r-md);outline:2px solid var(--accent);box-shadow:0 0 0 200vmax var(--scrim);transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease;pointer-events:none}.tour-card{position:fixed;width:min(340px,calc(100vw - 32px));padding:16px;background:var(--popover);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);color:var(--text-primary);font-family:var(--font-mono)}.tour-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-muted)}.tour-back,.tour-skip{background:none;border:0;padding:6px 4px;font:inherit;color:var(--text-secondary);cursor:pointer}.tour-title{margin:6px 0 4px;font-size:16px;font-weight:600}.tour-body{margin:0 0 14px;font-size:14px;line-height:1.5;color:var(--text-secondary)}.tour-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.tour-back{font-size:14px}.tour-next{font:inherit;font-size:14px;font-weight:600;color:var(--on-accent);background:var(--accent);border:0;border-radius:0;padding:8px 16px;cursor:pointer}.tour-back:focus-visible,.tour-next:focus-visible,.tour-skip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.tour-spot{transition:none}}.plate{position:relative}.plate-space{position:relative;height:380px;overflow:hidden}.plate-layer,.plate-space{display:flex;align-items:center;justify-content:center}.plate-layer{position:absolute;inset:0;margin:0;font-family:var(--font-mono);white-space:pre;font-size:5.4px;line-height:1.05;letter-spacing:0;visibility:hidden}.plate-figure{line-height:1}.plate-figure,.plate-ink{color:var(--text-primary);opacity:.92}.plate-acc{color:var(--accent)}.plate[data-view=ascii] .plate-acc,.plate[data-view=ascii] .plate-ink,.plate[data-view=figure] .plate-figure,.plate[data-view=points] .plate-canvas{visibility:visible}.plate-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3,12px);border-top:1px solid var(--border);padding-top:10px;margin-top:12px}.plate-caption{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}.plate-views{gap:14px;flex-shrink:0}.plate-view,.plate-views{display:flex;align-items:center}.plate-view{gap:6px;padding:4px 0;background:none;border:0;cursor:pointer;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}.plate-view:before{content:"";width:7px;height:7px;border-radius:50%;border:1px solid var(--border-strong)}.plate-view-on,.plate-view:hover{color:var(--text-primary)}.plate-view-on:before{background:var(--accent);border-color:var(--accent)}@media (max-width:820px){.plate-space{height:210px}.plate-foot{flex-direction:column;align-items:flex-start;gap:8px}}.seg{display:flex;gap:3px;margin-top:6px}.seg i{flex:1 1;min-width:4px;max-width:12px;height:5px;border:1px solid var(--border-strong);background:none}.seg i[data-pip=fill]{background:var(--fill);border-color:var(--fill)}.seg i[data-pip=past]{border-color:var(--fill);background:repeating-linear-gradient(45deg,var(--hatch) 0 2px,transparent 2px 4px)}.seg i[data-pip=edge]{border-color:var(--accent);background:var(--accent)}.dayrule{position:absolute;left:0;right:0;bottom:-1px;height:1px;display:flex;gap:1px;z-index:2;pointer-events:none}.dayrule i{flex:1 1;height:1px;background:var(--border)}.dayrule i[data-hour=past]{background:var(--text-primary)}.dayrule i[data-hour=now]{background:var(--accent);box-shadow:0 0 6px var(--accent)}.vlist{margin-top:4px}.vrow{border-bottom:1px solid var(--border)}.vhead{display:flex;padding:10px 0;flex-wrap:wrap}.vhead,.vopen{align-items:center;gap:12px}.vopen{flex:1 1 260px;display:grid;grid-template-columns:10px minmax(0,1fr) auto;grid-gap:12px;background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.vopen:hover .vname{color:var(--accent-text)}.sq{width:8px;height:8px}.vtext{min-width:0}.vname{display:block;line-height:1.2}.vmeta{display:block;margin-top:3px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.vval{font-size:22px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.vval em{display:block;margin-top:4px;font-style:normal;font-size:11px;letter-spacing:.08em;color:var(--text-secondary)}.vctl{display:flex;align-items:center;gap:8px}.caret{color:var(--text-secondary);font-size:10px;transition:transform .15s}.vrow.open .caret{transform:rotate(90deg)}.vbody{padding:0 0 16px 20px}.tk-add{display:block;width:100%;margin-top:12px;padding:10px;background:none;border:1px dashed var(--border-strong);border-radius:var(--r-sm);color:var(--text-secondary);font:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.tk-add:hover,.tk-add[aria-expanded=true]{border-style:solid;color:var(--text-primary);border-color:var(--text-primary)}.strip{display:flex;gap:3px;align-items:flex-end;height:54px;margin:12px 0 6px}.strip i{flex:1 1;min-height:4px;height:var(--h,2%);background:var(--border-strong)}.strip i.on{background:var(--fill)}.strip i.now{background:var(--accent)}.strip i.miss{background:var(--border)}.strip-ax{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.trend{display:flex;gap:24px;margin-top:12px;flex-wrap:wrap}.trend div{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.trend b{display:block;margin-top:3px;font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.vopen{grid-template-columns:10px minmax(0,1fr) auto}.vbody{padding-left:0}.trend{gap:16px}}.pace-hero{position:relative;border-bottom:1px solid var(--border)}.pace-hero.pace-hero-week{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.dash-full .pace-main{padding:28px var(--gutter);min-width:0}.dash-full .pace-hero.pace-hero-week>.pace-side{border-left:1px solid var(--border);padding:28px var(--gutter);min-width:0}.pace-top{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:18px}.pace-goal{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.pace-figure{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.pace-of{font-size:13px}.pace-of,.pace-tag{color:var(--text-secondary)}.pace-tag{display:inline-block;margin-top:14px;padding:4px 9px;border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.pace-tag-ahead,.pace-tag-behind,.pace-tag-done{border-color:var(--text-primary);color:var(--text-primary)}.pace-tag-on-pace{border-color:var(--accent);color:var(--accent-text)}.pace-bar{height:4px;margin-top:16px;background:var(--track);overflow:hidden}.pace-bar>span{display:block;height:100%;background:var(--fill);transition:width .3s ease}.pace-run{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}.pace-run-dots{display:flex;gap:9px}.pace-run-dots i{width:11px;height:11px;border-radius:50%;border:1px solid var(--border-strong)}.pace-run-dots i[data-dot=on]{background:var(--fill);border-color:var(--fill)}.pace-run-dots i[data-dot=now]{background:var(--accent);border-color:var(--accent)}.pace-foot,.pace-run-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.pace-foot{display:flex;gap:32px;margin-top:24px;flex-wrap:wrap}.pace-foot b{font-weight:400;color:var(--text-primary)}.pace-side-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px}.pace-side-note{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}.wk{display:flex;flex-direction:column;gap:4px}.wk-head,.wk-row{display:grid;grid-template-columns:minmax(64px,.9fr) repeat(7,minmax(0,1fr));align-items:center;grid-gap:6px;gap:6px}.wk-head span{text-align:center;font-size:10px;letter-spacing:.12em;color:var(--text-secondary)}.wk-head .wk-today{color:var(--accent-text)}.wk-name{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wk-cell{display:flex;align-items:flex-end;justify-content:center;height:56px;border-bottom:1px solid var(--border)}.wk-cell-today{border-bottom-color:var(--accent)}.wk-cell i{width:9px;background:var(--fill)}.wk-cell-today i{background:var(--accent)}.dash-full .insight-band{padding:22px var(--gutter);border-bottom:1px solid var(--border);box-shadow:inset 3px 0 0 var(--border-strong)}.insight-band[data-tone=risk]{box-shadow:inset 3px 0 0 var(--text-primary)}.insight-band[data-tone=good]{box-shadow:inset 3px 0 0 var(--accent)}@media (max-width:900px){.pace-hero.pace-hero-week{grid-template-columns:minmax(0,1fr)}.pace-hero.pace-hero-week>.pace-side{border-left:0;border-top:1px solid var(--border)}.wk-head,.wk-row{grid-template-columns:minmax(52px,.8fr) repeat(7,minmax(0,1fr));gap:3px}}.dash-full .dash-grid{gap:0}.dash-full .dash-main,.dash-full .dash-rail{padding:var(--gutter)}@media (min-width:1100px){.dash-full .dash-main{border-right:1px solid var(--border)}.dash-full .dash-grid{align-items:stretch}}.dash-full .setup-banner{display:block;padding:14px var(--gutter);border-bottom:1px solid var(--border)}.dash-full .dash-main>.dashboard-row+.section,.dash-full .dash-main>.section+.dashboard-row,.dash-full .dash-main>.section+.section{border-top:1px solid var(--border);padding-top:24px}.dash-full .dash-main>.plate{padding-bottom:24px;border-bottom:1px solid var(--border);margin-bottom:24px}.pace-hero>.pace-side,.pace-main{padding:24px;min-width:0}.insight-band{padding:22px 24px}