:root{--font-display: "Avenir Next", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body: "Avenir Next", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--color-paper: oklch(14% .024 55);--color-paper-2: oklch(18% .026 55);--color-paper-3: oklch(23% .028 55);--color-surface: oklch(19% .026 55);--color-surface-raised: oklch(24% .028 55);--color-ink: oklch(95% .014 82);--color-ink-2: oklch(85% .018 76);--color-muted: oklch(71% .019 72);--color-faint: oklch(58% .018 70);--color-rule: oklch(30% .026 55);--color-rule-2: oklch(41% .032 55);--color-accent: oklch(74% .18 48);--color-accent-hover: oklch(80% .16 48);--color-accent-soft: oklch(28% .072 48);--color-accent-ink: oklch(18% .026 48);--color-accent-text: oklch(78% .17 48);--color-focus: oklch(81% .15 48);--color-success: oklch(70% .11 150);--color-success-soft: oklch(25% .042 150);--color-success-text: oklch(75% .1 150);--color-warning: oklch(76% .12 78);--color-warning-soft: oklch(27% .048 78);--color-warning-text: oklch(79% .11 78);--color-error: oklch(72% .15 28);--color-error-soft: oklch(25% .052 28);--color-error-text: oklch(76% .14 28);--color-graphite: oklch(10% .024 55);--color-graphite-2: oklch(16% .028 55);--color-on-graphite: oklch(95% .014 82);--color-chart-1: var(--color-accent);--color-chart-2: oklch(67% .14 35);--color-chart-3: oklch(74% .11 78);--color-chart-4: oklch(61% .13 20);--color-backdrop: oklch(6% .016 55 / .82);--color-overlay: oklch(18% .026 55 / .9);--color-selection: oklch(42% .11 48);--shadow-whisper: 0 1px 2px oklch(4% .018 55 / .32), 0 14px 30px oklch(4% .018 55 / .2);--shadow-float: 0 22px 48px oklch(4% .018 55 / .48);--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: 2.125rem;--radius-xs: .35rem;--radius-sm: .6rem;--radius-md: .9rem;--rule-thin: 1px;--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--sidebar-compact: 5.5rem;--sidebar-wide: clamp(20rem, 24vw, 24rem);--topbar-height: 4.75rem;--mobile-nav-height: 4.5rem;--mobile-topbar-height: 3.75rem;--content-max: 102rem}[data-theme=light]{--color-paper: oklch(97.2% .014 84);--color-paper-2: oklch(94.8% .018 84);--color-paper-3: oklch(91.6% .022 84);--color-surface: oklch(99% .008 84);--color-surface-raised: oklch(100% .004 84);--color-ink: oklch(20% .018 72);--color-ink-2: oklch(30% .018 72);--color-muted: oklch(46% .016 72);--color-faint: oklch(62% .014 72);--color-rule: oklch(86% .018 84);--color-rule-2: oklch(75% .022 84);--color-accent: oklch(68% .19 42);--color-accent-hover: oklch(61% .2 42);--color-accent-soft: oklch(93% .055 42);--color-accent-ink: oklch(18% .026 42);--color-accent-text: oklch(48% .17 42);--color-focus: oklch(67% .16 42);--color-success: oklch(51% .13 158);--color-success-soft: oklch(95% .035 158);--color-success-text: oklch(43% .12 158);--color-warning: oklch(61% .14 78);--color-warning-soft: oklch(96% .045 78);--color-warning-text: oklch(45% .12 78);--color-error: oklch(55% .19 27);--color-error-soft: oklch(95% .04 27);--color-error-text: oklch(48% .18 27);--color-graphite: oklch(17% .018 72);--color-graphite-2: oklch(23% .022 72);--color-on-graphite: oklch(95% .009 84);--color-chart-2: oklch(60% .13 45);--color-chart-3: oklch(71% .11 65);--color-chart-4: oklch(54% .12 35);--color-backdrop: oklch(15% .018 72 / .58);--color-overlay: oklch(98% .01 84 / .84);--color-selection: oklch(87% .08 42);--shadow-whisper: 0 1px 2px oklch(20% .018 72 / .06), 0 10px 26px oklch(20% .018 72 / .04);--shadow-float: 0 18px 42px oklch(20% .018 72 / .15)}[data-theme=dark]{--color-paper: oklch(14% .024 55);--color-paper-2: oklch(18% .026 55);--color-paper-3: oklch(23% .028 55);--color-surface: oklch(19% .026 55);--color-surface-raised: oklch(24% .028 55);--color-ink: oklch(95% .014 82);--color-ink-2: oklch(85% .018 76);--color-muted: oklch(71% .019 72);--color-faint: oklch(58% .018 70);--color-rule: oklch(30% .026 55);--color-rule-2: oklch(41% .032 55);--color-accent: oklch(74% .18 48);--color-accent-hover: oklch(80% .16 48);--color-accent-soft: oklch(28% .072 48);--color-accent-ink: oklch(18% .026 48);--color-accent-text: oklch(78% .17 48);--color-focus: oklch(81% .15 48);--color-success: oklch(70% .11 150);--color-success-soft: oklch(25% .042 150);--color-success-text: oklch(75% .1 150);--color-warning: oklch(76% .12 78);--color-warning-soft: oklch(27% .048 78);--color-warning-text: oklch(79% .11 78);--color-error: oklch(72% .15 28);--color-error-soft: oklch(25% .052 28);--color-error-text: oklch(76% .14 28);--color-graphite: oklch(10% .024 55);--color-graphite-2: oklch(16% .028 55);--color-on-graphite: oklch(95% .014 82);--color-chart-2: oklch(67% .14 35);--color-chart-3: oklch(74% .11 78);--color-chart-4: oklch(61% .13 20);--color-backdrop: oklch(6% .016 55 / .82);--color-overlay: oklch(18% .026 55 / .9);--color-selection: oklch(42% .11 48);--shadow-whisper: 0 1px 2px oklch(4% .018 55 / .32), 0 14px 30px oklch(4% .018 55 / .2);--shadow-float: 0 22px 48px oklch(4% .018 55 / .48)}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-synthesis:none;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{min-height:100dvh;margin:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);line-height:1.55}button,input,textarea,select{color:inherit;font:inherit;letter-spacing:0}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{border:0}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}h1,h2,h3,p,ul,ol,dl,dd{margin-block:0}h1,h2,h3,strong{overflow-wrap:anywhere}h1,h2,h3{font-family:var(--font-display);line-height:1.18;letter-spacing:0}::selection{background:var(--color-selection)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-columns:var(--sidebar-wide) minmax(0,1fr);min-height:100dvh;background:var(--color-paper)}.route-loading{display:flex;align-items:center;justify-content:center;min-height:100dvh;gap:var(--space-sm);color:var(--color-muted);background:var(--color-paper);font-size:var(--text-sm)}.route-loading .skeleton{width:32px;height:8px}.sidebar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100dvh;padding:var(--space-lg) var(--space-md);overflow:hidden;color:var(--color-on-graphite);background:var(--color-graphite);box-shadow:inset -1px 0 var(--color-graphite-2)}.sidebar__top,.sidebar__bottom,.sidebar__nav{display:flex;flex-direction:column}.sidebar__top{gap:var(--space-xl)}.sidebar__bottom,.sidebar__nav{gap:var(--space-xs)}.brand{display:flex;align-items:center;min-width:0;min-height:44px;gap:var(--space-sm);padding-inline:var(--space-xs)}.brand__mark{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;color:var(--color-accent-ink);background:var(--color-accent);border-radius:var(--radius-md);box-shadow:inset 0 1px var(--color-overlay)}.brand__copy{display:grid;min-width:0}.brand__copy strong{font-family:var(--font-display);font-size:var(--text-md);font-weight:700}.brand__copy small,.sidebar__status small{color:var(--color-faint);font-size:var(--text-xs)}.nav-item,.sidebar__status{display:flex;align-items:center;min-height:44px;gap:var(--space-sm);padding:.65rem var(--space-sm);color:var(--color-faint);border-radius:var(--radius-md);transition:color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.nav-item:hover,.nav-item:focus-visible,.sidebar__status:hover,.sidebar__status:focus-visible{color:var(--color-on-graphite);background:var(--color-graphite-2)}.nav-item:active,.sidebar__status:active{transform:scale(.985)}.nav-item.is-active{color:var(--color-accent-ink);background:var(--color-accent)}.nav-item span,.sidebar__status>span{min-width:0}.sidebar__status{align-items:flex-start;background:var(--color-graphite-2)}.sidebar__status>span{display:grid}.sidebar__status strong{color:var(--color-on-graphite);font-size:var(--text-sm)}.app-shell__content{min-width:0}.offline-banner{position:sticky;top:0;z-index:calc(var(--z-sticky) + 1);display:flex;align-items:center;justify-content:center;min-height:38px;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);color:var(--color-warning-text);background:var(--color-warning-soft);box-shadow:inset 0 -1px var(--color-rule);font-size:var(--text-sm);font-weight:600}.topbar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;min-height:var(--topbar-height);gap:var(--space-md);padding:var(--space-sm) var(--space-xl);background:var(--color-overlay);box-shadow:inset 0 -1px var(--color-rule);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%)}.offline-banner+.topbar{top:38px}.topbar__title{display:grid;min-width:0}.topbar__title span{color:var(--color-muted);font-size:var(--text-xs)}.topbar__title strong{font-family:var(--font-display);font-size:var(--text-base)}.topbar__actions{display:flex;align-items:center;justify-content:flex-end;min-width:0;gap:var(--space-xs)}.search-trigger{display:flex;align-items:center;min-width:12rem;min-height:40px;gap:var(--space-xs);padding:0 var(--space-sm);color:var(--color-muted);background:var(--color-paper-2);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-rule);cursor:pointer;transition:color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.search-trigger:hover{color:var(--color-ink);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-rule-2)}.search-trigger:active{transform:scale(.98)}.search-trigger:disabled{cursor:not-allowed;opacity:.55;transform:none}.search-trigger span{flex:1;text-align:left}kbd{padding:.15rem .35rem;color:var(--color-muted);background:var(--color-surface);border-radius:var(--radius-xs);box-shadow:inset 0 0 0 1px var(--color-rule);font-family:var(--font-mono);font-size:.68rem}.avatar-button{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;color:var(--color-accent-ink);background:var(--color-accent);border-radius:50%;font-weight:700;cursor:pointer;transition:transform var(--dur-micro) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.avatar-button:hover{background:var(--color-accent-hover)}.avatar-button:active{transform:scale(.96)}.notification-wrap{position:relative}.notification-dot{position:absolute;top:7px;right:7px;width:7px;height:7px;background:var(--color-error);border-radius:50%;box-shadow:0 0 0 2px var(--color-surface)}.notification-panel{position:absolute;top:calc(100% + var(--space-xs));right:0;z-index:var(--z-dropdown);display:grid;width:min(22rem,calc(100vw - 2rem));padding:var(--space-xs);color:var(--color-ink);background:var(--color-surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-float),inset 0 0 0 1px var(--color-rule)}.notification-panel header,.notification-panel>button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm)}.notification-panel header button{min-height:32px;padding-inline:var(--space-xs);color:var(--color-accent-text);background:transparent;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.notification-panel header button:hover{color:var(--color-ink);background:var(--color-paper-2)}.notification-panel header button:active{transform:scale(.97)}.notification-panel>button{min-height:56px;text-align:left;background:transparent;border-radius:var(--radius-sm);cursor:pointer}.notification-panel>button:hover,.notification-panel>button:focus-visible{background:var(--color-paper-2)}.notification-panel>button span,.notification-panel>button small{display:block}.notification-panel>button small,.notification-panel>p{color:var(--color-muted);font-size:var(--text-xs)}.notification-panel>p{padding:var(--space-md)}.main-content{width:100%;min-width:0}.page{display:grid;width:min(100%,var(--content-max));gap:var(--space-lg);margin-inline:auto;padding:var(--space-xl)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;min-width:0;gap:var(--space-xl);padding-block:var(--space-md) var(--space-xs)}.page-heading>div:first-child{min-width:0;max-width:52rem}.page-heading__context{margin-bottom:var(--space-xs);color:var(--color-accent-text);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.page-heading h1{font-size:var(--text-2xl);font-weight:700}.page-heading h1+p{margin-top:var(--space-xs);color:var(--color-muted);font-size:var(--text-base)}.page-heading__actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:var(--space-xs)}.surface-section{min-width:0;padding:var(--space-lg);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-rule),var(--shadow-whisper)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;min-width:0;gap:var(--space-md);margin-bottom:var(--space-lg)}.section-heading h2{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-md);font-weight:700}.section-heading p{margin-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm)}.section-heading>a,.section-heading>button{display:inline-flex;align-items:center;min-height:36px;gap:var(--space-2xs);color:var(--color-accent-text);background:transparent;font-size:var(--text-sm);font-weight:600;cursor:pointer}.button,.icon-button,.segmented__option{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer;transition:color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.button{min-height:40px;gap:var(--space-xs);padding:.55rem .9rem;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:650;white-space:nowrap}.button--sm{min-height:34px;padding:.4rem .65rem;font-size:var(--text-xs)}.button--primary{color:var(--color-accent-ink);background:var(--color-accent);box-shadow:inset 0 1px var(--color-overlay),var(--shadow-whisper)}.button--primary:hover{background:var(--color-accent-hover)}.button--secondary{color:var(--color-ink-2);background:var(--color-surface-raised);box-shadow:inset 0 0 0 1px var(--color-rule-2)}.button--secondary:hover,.button--ghost:hover{color:var(--color-ink);background:var(--color-paper-2)}.button--ghost{color:var(--color-accent-text);background:transparent}.button--danger{color:var(--color-error-text);background:var(--color-error-soft);box-shadow:inset 0 0 0 1px var(--color-error)}.button:active,.icon-button:active,.segmented__option:active{transform:scale(.97)}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.button__icon:empty{display:none}.icon-button{width:40px;height:40px;padding:0;color:var(--color-muted);background:transparent;border-radius:var(--radius-md)}.icon-button:hover,.icon-button.is-active{color:var(--color-ink);background:var(--color-paper-2)}.icon-button.is-danger:hover{color:var(--color-error-text);background:var(--color-error-soft)}.status-badge{display:inline-flex;align-items:center;min-height:24px;padding:.2rem .5rem;color:var(--color-muted);background:var(--color-paper-2);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-rule);font-size:var(--text-xs);font-weight:650;line-height:1.2;white-space:nowrap}.status-badge--accent{color:var(--color-accent-text);background:var(--color-accent-soft)}.status-badge--success{color:var(--color-success-text);background:var(--color-success-soft)}.status-badge--warning{color:var(--color-warning-text);background:var(--color-warning-soft)}.status-badge--error{color:var(--color-error-text);background:var(--color-error-soft)}.segmented{display:inline-flex;min-width:0;padding:3px;background:var(--color-paper-2);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-rule)}.segmented__option{min-height:34px;padding:.35rem .7rem;color:var(--color-muted);background:transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:nowrap}.segmented__option:hover:not(.is-active):not(:disabled){color:var(--color-ink);background:var(--color-surface)}.segmented__option:disabled{cursor:not-allowed;opacity:.55;transform:none}.segmented__option.is-active{color:var(--color-ink);background:var(--color-surface-raised);box-shadow:var(--shadow-whisper)}.empty-state{display:grid;place-items:center;gap:var(--space-sm);min-height:12rem;padding:var(--space-xl);color:var(--color-muted);text-align:center}.empty-state__icon{display:grid;width:46px;height:46px;place-items:center;color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-md)}.empty-state h3{color:var(--color-ink);font-size:var(--text-base)}.empty-state p{max-width:32rem;margin-top:var(--space-2xs);font-size:var(--text-sm)}.inline-message{display:flex;align-items:flex-start;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm)}.inline-message--success{color:var(--color-success-text);background:var(--color-success-soft)}.inline-message--warning{color:var(--color-warning-text);background:var(--color-warning-soft)}.inline-message--error{color:var(--color-error-text);background:var(--color-error-soft)}.dashboard-summary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(25rem,.8fr);min-width:0;overflow:hidden;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-rule),var(--shadow-whisper)}.dashboard-summary__focus{min-width:0;min-height:15rem;padding:var(--space-xl);color:var(--color-on-graphite);background:var(--color-graphite)}.dashboard-summary__focus>span,.ai-quick-panel__content>span{color:var(--color-faint);font-size:var(--text-xs);font-weight:650;text-transform:uppercase}.dashboard-summary__focus h2{max-width:38rem;margin-top:var(--space-md);font-size:var(--text-xl)}.dashboard-summary__focus>p{max-width:42rem;margin-top:var(--space-sm);color:var(--color-faint)}.dashboard-summary__focus-meta{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg)}.dashboard-summary__focus-meta>span{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm)}.metric-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.metric-strip>div{display:grid;align-content:center;min-width:0;min-height:7.5rem;padding:var(--space-lg);box-shadow:inset 1px 0 var(--color-rule),inset 0 -1px var(--color-rule)}.metric-strip>div:nth-child(n+3){box-shadow:inset 1px 0 var(--color-rule)}.metric-strip svg{margin-bottom:var(--space-sm);color:var(--color-accent)}.metric-strip span,.plan-summary span,.records-summary span,.record-detail__stats span{color:var(--color-muted);font-size:var(--text-xs)}.metric-strip strong,.plan-summary strong,.records-summary strong{margin-top:var(--space-2xs);font-family:var(--font-display);font-size:var(--text-xl)}.metric-strip small,.plan-summary small,.records-summary small{margin-left:var(--space-2xs);color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500}.dashboard-grid,.records-grid{display:grid;min-width:0;gap:var(--space-lg)}.dashboard-grid--primary{grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr)}.task-list,.plan-list,.record-list{display:grid}.task-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-width:0;gap:var(--space-sm);min-height:62px;padding-block:var(--space-sm);box-shadow:inset 0 -1px var(--color-rule)}.task-row:last-child{box-shadow:none}.task-row--completed .task-row__body{opacity:.58}.task-row--completed .task-row__body strong{text-decoration:line-through}.task-check{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;color:var(--color-accent);background:var(--color-surface-raised);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-rule-2);cursor:pointer;transition:color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.task-check:hover{color:var(--color-accent-ink);background:var(--color-accent)}.task-check:active{transform:scale(.94)}.task-row__body{display:grid;min-width:0}.task-row__body strong,.task-row__body span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row__body span{color:var(--color-muted);font-size:var(--text-xs)}.ai-quick-panel{background:var(--color-paper-2)}.ai-quick-panel__content{display:grid;gap:var(--space-sm)}.ai-quick-panel__content h3{font-size:var(--text-lg)}.ai-quick-panel__content p,.ai-quick-panel__content li{color:var(--color-muted);font-size:var(--text-sm)}.ai-quick-panel__content ul{display:grid;gap:var(--space-xs);padding-left:1.15rem}.ai-quick-panel__content .button{justify-self:start;margin-top:var(--space-sm)}.activity-list{display:grid;gap:var(--space-md);padding:0;list-style:none}.activity-list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-sm)}.activity-list__dot{width:9px;height:9px;margin-top:.45rem;background:var(--color-accent);border-radius:50%;box-shadow:0 0 0 4px var(--color-accent-soft)}.activity-list li>div{display:grid}.activity-list time,.activity-list small{color:var(--color-muted);font-size:var(--text-xs)}.activity-list strong{margin-block:var(--space-3xs);font-size:var(--text-sm)}.plan-summary,.records-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;overflow:hidden;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-rule),var(--shadow-whisper)}.plan-summary>div,.records-summary>div{display:grid;min-width:0;padding:var(--space-lg);box-shadow:inset -1px 0 var(--color-rule)}.plan-summary>div:last-child,.records-summary>div:last-child{box-shadow:none}.plan-task{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;min-width:0;gap:var(--space-sm);padding-block:var(--space-md);box-shadow:inset 0 -1px var(--color-rule)}.plan-task:last-child{box-shadow:none}.plan-task--completed{opacity:.62}.plan-task--skipped,.week-task--skipped{color:var(--color-muted);background:var(--color-paper-2)}.plan-task--skipped .plan-task__main>div>strong{text-decoration:line-through}.drag-handle{display:grid;width:32px;height:40px;place-items:center;color:var(--color-faint);background:transparent;border-radius:var(--radius-sm);cursor:grab}.drag-handle:active{cursor:grabbing;color:var(--color-accent-text);background:var(--color-accent-soft);transform:scale(.96)}.drag-handle:hover{color:var(--color-ink);background:var(--color-paper-2)}.plan-task__main{display:grid;min-width:0;gap:var(--space-xs)}.plan-task__main>div:first-child,.plan-task__meta,.plan-task__actions,.move-buttons{display:flex;align-items:center;min-width:0;gap:var(--space-xs)}.plan-task__main>div:first-child strong{min-width:0;font-size:var(--text-base)}.plan-task__main p{color:var(--color-muted);font-size:var(--text-sm)}.plan-task__meta{flex-wrap:wrap;color:var(--color-muted);font-size:var(--text-xs)}.plan-task__meta span{display:inline-flex;align-items:center;gap:var(--space-2xs)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(9.5rem,1fr));gap:var(--space-sm);min-width:0;overflow-x:auto;padding-bottom:var(--space-xs);scroll-snap-type:x proximity}.week-day{min-height:22rem;padding:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-rule);scroll-snap-align:start}.week-day>header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs);color:var(--color-muted);font-size:var(--text-xs)}.week-day>div{display:grid;gap:var(--space-xs);margin-top:var(--space-sm)}.week-day>div>p{padding:var(--space-sm);color:var(--color-muted);font-size:var(--text-xs)}.week-task{display:grid;gap:var(--space-2xs);width:100%;min-height:72px;padding:var(--space-sm);color:var(--color-ink);text-align:left;background:var(--color-paper-2);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-rule),inset 0 -1px var(--color-accent);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.week-task:hover{background:var(--color-accent-soft)}.week-task:active{transform:scale(.985)}.week-task span{color:var(--color-muted);font-size:var(--text-xs)}.week-task--completed{box-shadow:inset 0 0 0 1px var(--color-rule),inset 0 -1px var(--color-success);opacity:.65}.records-toolbar{display:flex;align-items:center;min-width:0;gap:var(--space-xs);padding:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-rule)}.filter-select,.search-field{display:flex;align-items:center;min-height:40px;gap:var(--space-xs);padding:0 var(--space-sm);color:var(--color-muted);background:var(--color-paper-2);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-rule);outline:2px solid transparent;outline-offset:1px}.filter-select:focus-within,.search-field:focus-within{outline-color:var(--color-focus)}.search-field{flex:1;min-width:12rem}.filter-select select,.search-field input{min-width:0;height:38px;padding:0;color:var(--color-ink);background:transparent;border:0;outline:0}.search-field input{width:100%}.record-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;gap:var(--space-xs);box-shadow:inset 0 -1px var(--color-rule)}.record-row:last-child{box-shadow:none}.record-row__open{display:grid;grid-template-columns:9rem minmax(0,1fr) auto;align-items:center;min-width:0;min-height:72px;gap:var(--space-md);padding:var(--space-sm) 0;text-align:left;background:transparent;cursor:pointer}.record-row__open:hover strong{color:var(--color-accent-text)}.record-row__open:active{background:var(--color-paper-2)}.record-row__open time,.record-row__open small{color:var(--color-muted);font-size:var(--text-xs)}.record-row__open>span:nth-child(2){display:grid;min-width:0}.record-row__open>span:nth-child(2) strong,.record-row__open>span:nth-child(2) small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-row__metrics{display:flex;gap:var(--space-xs)}.record-row__metrics b{padding:.25rem .5rem;color:var(--color-muted);background:var(--color-paper-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.record-detail{display:grid;gap:var(--space-lg)}.record-detail__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;background:var(--color-paper-2);border-radius:var(--radius-md)}.record-detail__stats>div{display:grid;padding:var(--space-md);box-shadow:inset -1px 0 var(--color-rule)}.record-detail__stats>div:last-child{box-shadow:none}.record-detail section{display:grid;gap:var(--space-xs)}.record-detail h3{font-size:var(--text-base)}.record-detail p,.record-detail li{color:var(--color-muted);font-size:var(--text-sm)}.record-detail ul{display:grid;gap:var(--space-2xs);padding-left:1.25rem}.chart{width:100%;min-width:0;min-height:210px}.subject-chart{display:grid;grid-template-columns:minmax(11rem,.8fr) minmax(11rem,1fr);align-items:center;min-width:0;gap:var(--space-md)}.subject-chart__legend{display:grid;gap:var(--space-xs);padding:0;list-style:none}.subject-chart__legend li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-xs)}.subject-chart__legend li>span{width:9px;height:9px;border-radius:50%}.subject-chart__legend strong{color:var(--color-ink);font-weight:600}.heatmap{display:grid;grid-template-columns:repeat(7,minmax(18px,1fr));gap:5px;max-width:28rem}.heatmap__cell{display:block;aspect-ratio:1;min-width:18px;background:var(--color-paper-3);border-radius:var(--radius-xs)}.heatmap__cell--1{background:var(--color-accent-soft)}.heatmap__cell--2{background:var(--color-selection)}.heatmap__cell--3{background:var(--color-focus)}.heatmap__cell--4{background:var(--color-accent)}.field,.form-stack,.form-grid{display:grid;min-width:0}.form-stack{gap:var(--space-md)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.field{align-content:start;gap:var(--space-xs);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600}.field--wide{grid-column:1 / -1}.field input:not([type=checkbox]):not([type=range]),.field textarea,.field select{width:100%;min-width:0;min-height:44px;padding:.65rem .75rem;color:var(--color-ink);background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-sm);outline:2px solid transparent;outline-offset:1px;transition:border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.field textarea{min-height:7rem;resize:vertical}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--color-rule-2)}.field input:focus,.field textarea:focus,.field select:focus{background:var(--color-surface-raised);border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-accent-soft)}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline-color:var(--color-focus)}.field input:disabled,.field textarea:disabled,.field select:disabled{cursor:not-allowed;opacity:.55;background:var(--color-paper-3)}.field small{min-height:1lh;color:var(--color-muted);font-size:var(--text-xs);font-weight:400}.form-grid>.inline-message{grid-column:1 / -1}.field input[type=range]{width:100%;accent-color:var(--color-accent)}.check-row{display:flex;align-items:center;min-height:44px;gap:var(--space-xs);color:var(--color-ink-2);font-size:var(--text-sm);cursor:pointer}.check-row input{width:18px;height:18px;accent-color:var(--color-accent)}.body-copy{color:var(--color-muted);font-size:var(--text-sm)}.modal{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;overflow:hidden;color:var(--color-ink);background:transparent;border:0}.modal::backdrop{background:var(--color-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal__panel{position:absolute;top:50%;left:50%;display:grid;grid-template-rows:auto minmax(0,auto) auto;width:min(36rem,calc(100vw - 2rem));max-height:min(48rem,calc(100dvh - 2rem));overflow:hidden;background:var(--color-surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-float),inset 0 0 0 1px var(--color-rule);transform:translate(-50%,-50%)}.modal--sm .modal__panel{width:min(28rem,calc(100vw - 2rem))}.modal--lg .modal__panel{width:min(52rem,calc(100vw - 2rem))}.modal--sheet .modal__panel{width:min(68rem,calc(100vw - 2rem))}.modal__header,.modal__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg)}.modal__header{box-shadow:inset 0 -1px var(--color-rule)}.modal__header h2{font-size:var(--text-lg)}.modal__header p{margin-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm)}.modal__body{min-height:0;padding:var(--space-lg);overflow:auto}.modal__footer{align-items:center;justify-content:flex-end;box-shadow:inset 0 1px var(--color-rule)}.command-palette{display:grid;gap:var(--space-sm)}.command-palette__search{display:flex;align-items:center;min-height:48px;gap:var(--space-sm);padding:0 var(--space-sm);color:var(--color-muted);background:var(--color-paper-2);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-rule);outline:2px solid transparent;outline-offset:1px}.command-palette__search:focus-within{outline-color:var(--color-focus)}.command-palette__search input{flex:1;min-width:0;height:46px;color:var(--color-ink);background:transparent;border:0;outline:0}.command-palette__results{display:grid;gap:var(--space-2xs);max-height:25rem;overflow:auto}.command-palette__results>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:54px;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);text-align:left;background:transparent;border-radius:var(--radius-sm);cursor:pointer}.command-palette__results>button.is-active{color:var(--color-accent-text);background:var(--color-accent-soft)}.command-palette__results>button>span:nth-child(2){display:grid;min-width:0}.command-palette__results small,.command-palette__empty{color:var(--color-muted);font-size:var(--text-xs)}.command-palette__empty{padding:var(--space-xl);text-align:center}.toast-stack{position:fixed;right:var(--space-lg);bottom:var(--space-lg);z-index:var(--z-toast);display:grid;width:min(26rem,calc(100vw - 2rem));gap:var(--space-xs);pointer-events:none}.toast{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--space-xs);min-height:52px;padding:var(--space-xs);color:var(--color-ink);background:var(--color-surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-float),inset 0 0 0 1px var(--color-accent);pointer-events:auto}.toast--error{box-shadow:var(--shadow-float),inset 0 0 0 1px var(--color-error)}.toast__message{padding-left:var(--space-2xs);font-size:var(--text-sm)}.focus-timer{position:fixed;right:var(--space-lg);bottom:var(--space-lg);z-index:var(--z-sticky);display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;width:min(44rem,calc(100vw - 2rem));gap:var(--space-md);padding:var(--space-sm);color:var(--color-on-graphite);background:var(--color-graphite);border-radius:var(--radius-md);box-shadow:var(--shadow-float),inset 0 0 0 1px var(--color-graphite-2)}.focus-timer__task{display:grid;min-width:0}.focus-timer__task span{color:var(--color-faint);font-size:var(--text-xs)}.focus-timer__task strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.focus-timer__clock{font-family:var(--font-mono);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.focus-timer__actions{display:flex;align-items:center;gap:var(--space-xs)}.focus-timer .icon-button{color:var(--color-faint)}.focus-timer .icon-button:hover{color:var(--color-on-graphite);background:var(--color-graphite-2)}.markdown{min-width:0;color:var(--color-ink-2);font-size:var(--text-sm);line-height:1.72}.markdown>*+*{margin-top:var(--space-sm)}.markdown h1,.markdown h2,.markdown h3{color:var(--color-ink);font-size:var(--text-base)}.markdown ul,.markdown ol{display:grid;gap:var(--space-2xs);padding-left:1.3rem}.markdown blockquote{margin-inline:0;padding:var(--space-sm) var(--space-md);color:var(--color-muted);background:var(--color-paper-2);box-shadow:inset 0 1px var(--color-accent),inset 0 -1px var(--color-rule)}.markdown :not(pre)>code{padding:.12rem .35rem;color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:.88em}.code-block{position:relative;overflow:hidden;color:var(--color-on-graphite);background:var(--color-graphite);border-radius:var(--radius-md)}.code-block pre{margin:0;padding:var(--space-lg);overflow:auto}.code-block code{font-family:var(--font-mono);font-size:var(--text-xs)}.code-block__copy{position:absolute;top:var(--space-xs);right:var(--space-xs);min-height:32px;padding:0 var(--space-xs);color:var(--color-faint);background:var(--color-graphite-2);border-radius:var(--radius-sm);cursor:pointer}.katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}.skeleton{display:block;min-height:1rem;background:var(--color-paper-3);border-radius:var(--radius-sm);animation:skeleton-pulse 1.4s var(--ease-in-out) infinite alternate}.spin{animation:spin .85s linear infinite}.mobile-nav{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ai-page{width:100%;max-width:none;height:calc(100dvh - var(--topbar-height));min-height:40rem;padding:0;overflow:hidden}.offline-banner~.topbar+.main-content .ai-page{height:calc(100dvh - var(--topbar-height) - 38px)}.ai-workbench{display:grid;grid-template-columns:minmax(15rem,18rem) minmax(25rem,1fr) minmax(17rem,20rem);width:100%;height:100%;min-width:0;min-height:0;background:var(--color-surface)}.ai-history,.ai-context,.ai-chat{min-width:0;min-height:0}.ai-history,.ai-context{display:flex;flex-direction:column;padding:var(--space-md);background:var(--color-paper-2)}.ai-history{box-shadow:inset -1px 0 var(--color-rule)}.ai-context{box-shadow:inset 1px 0 var(--color-rule)}.ai-panel-heading,.ai-chat__header,.ai-context-section>header,.ai-composer__toolbar,.ai-message__body>header,.ai-message__actions,.ai-mode-note{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:var(--space-sm)}.ai-panel-heading{min-height:56px;margin-bottom:var(--space-md)}.ai-panel-heading>div:first-child{min-width:0}.ai-panel-heading span,.ai-chat__header p{color:var(--color-accent-text);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.ai-panel-heading h1,.ai-panel-heading h2{margin-top:var(--space-3xs);font-size:var(--text-lg)}.ai-panel-heading__actions{display:flex;align-items:center;gap:var(--space-2xs)}.ai-drawer-close,.ai-mobile-toolbar,.ai-drawer-scrim{display:none}.ai-history>.button{width:100%;margin-bottom:var(--space-md)}.ai-session-list{display:grid;align-content:start;gap:var(--space-xs);min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.ai-session-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;background:transparent;border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px transparent;transition:background-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.ai-session-item:hover,.ai-session-item:focus-within{background:var(--color-surface-raised);box-shadow:inset 0 0 0 1px var(--color-rule)}.ai-session-item.is-active{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent)}.ai-session-item__select{display:grid;min-width:0;min-height:74px;gap:var(--space-3xs);padding:var(--space-sm);color:var(--color-ink);text-align:left;background:transparent;cursor:pointer}.ai-session-item__select:active{transform:scale(.99)}.ai-session-item__select:disabled{cursor:not-allowed;opacity:.55}.ai-session-item__title{display:flex;align-items:center;min-width:0;gap:var(--space-2xs)}.ai-session-item__title strong,.ai-session-item__select>span,.ai-session-item__select small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-session-item__title strong{min-width:0;font-size:var(--text-sm)}.ai-session-item__select>span:not(.ai-session-item__title),.ai-session-item__select small{color:var(--color-muted);font-size:var(--text-xs)}.ai-session-item>.icon-button{width:34px;height:34px;margin-right:var(--space-2xs)}.ai-chat{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;overflow:hidden;background:var(--color-surface)}.ai-chat__header{grid-row:1;min-height:76px;padding:var(--space-sm) var(--space-lg);box-shadow:inset 0 -1px var(--color-rule)}.ai-chat__header>div{display:grid;min-width:0}.ai-chat__header h2,.ai-chat__header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat__header h2{font-size:var(--text-base)}.ai-chat__header>div>span{color:var(--color-muted);font-size:var(--text-xs)}.ai-mode-note{justify-content:flex-start;min-height:42px;padding:var(--space-xs) var(--space-lg);color:var(--color-accent-text);background:var(--color-accent-soft);font-size:var(--text-xs);box-shadow:inset 0 -1px var(--color-rule)}.ai-mode-note>span{flex:1}.ai-mode-note,.ai-chat>.inline-message{grid-row:2}.ai-message-scroll{grid-row:3;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-behavior:auto}.ai-message-list{display:grid;width:min(100%,52rem);gap:var(--space-xl);margin-inline:auto;padding:var(--space-xl) var(--space-lg)}.ai-message{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;min-width:0;gap:var(--space-sm)}.ai-message__avatar{display:grid;width:34px;height:34px;place-items:center;color:var(--color-accent-ink);background:var(--color-accent);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:700}.ai-message--user .ai-message__avatar{color:var(--color-on-graphite);background:var(--color-graphite-2)}.ai-message__body{min-width:0}.ai-message__body>header{justify-content:flex-start;min-height:28px;margin-bottom:var(--space-xs)}.ai-message__body>header strong{font-size:var(--text-sm)}.ai-message__body>header time,.ai-streaming-label{color:var(--color-muted);font-size:var(--text-xs)}.ai-streaming-label{display:inline-flex;align-items:center;gap:var(--space-2xs);color:var(--color-accent-text)}.ai-message__content{min-width:0;padding:var(--space-md);background:var(--color-paper-2);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-rule)}.ai-message--assistant .ai-message__content{background:var(--color-surface-raised)}.ai-message.is-error .ai-message__content{box-shadow:inset 0 0 0 1px var(--color-error)}.ai-thinking{display:flex;align-items:center;min-height:28px;gap:5px;color:var(--color-muted)}.ai-thinking>span{width:6px;height:6px;background:var(--color-accent);border-radius:50%;animation:thinking-dot .9s var(--ease-in-out) infinite alternate}.ai-thinking>span:nth-child(2){animation-delay:.1s}.ai-thinking>span:nth-child(3){animation-delay:.2s}.ai-thinking small{margin-left:var(--space-xs)}.ai-message__attachments,.ai-composer__attachments{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-xs)}.ai-message__attachments>span,.ai-composer__attachments>span{display:inline-flex;align-items:center;min-width:0;min-height:32px;gap:var(--space-2xs);padding:.25rem .5rem;color:var(--color-muted);background:var(--color-paper-2);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-rule);font-size:var(--text-xs)}.ai-message__attachments small,.ai-composer__attachments small{color:var(--color-faint)}.ai-message__error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-xs);padding:var(--space-xs) var(--space-sm);color:var(--color-error-text);background:var(--color-error-soft);border-radius:var(--radius-sm);font-size:var(--text-xs)}.ai-message__actions{justify-content:flex-start;min-height:34px;margin-top:var(--space-2xs)}.ai-message__actions .icon-button{width:34px;height:34px}.ai-composer-wrap{grid-row:4;position:relative;display:grid;gap:var(--space-xs);padding:var(--space-xs) var(--space-lg) var(--space-md);background:var(--color-overlay);box-shadow:inset 0 1px var(--color-rule);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%)}.ai-plan-coach{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:var(--space-md);padding:var(--space-xs) var(--space-sm);background:var(--color-accent-soft);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 36%,transparent)}.ai-plan-coach__copy{display:grid;min-width:0;gap:2px}.ai-plan-coach__copy>span{color:var(--color-accent-text);font-size:var(--text-xs);font-weight:700}.ai-plan-coach__copy strong,.ai-plan-coach__copy p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-plan-coach__copy strong{color:var(--color-ink);font-size:var(--text-sm)}.ai-plan-coach__copy p{margin:0;color:var(--color-muted);font-size:var(--text-xs)}.ai-plan-coach>.button{flex:0 0 auto;color:var(--color-accent-text)}.ai-quick-actions{display:flex;gap:var(--space-xs);overflow-x:auto;padding-block:var(--space-2xs);scrollbar-width:none}.ai-quick-actions::-webkit-scrollbar{display:none}.ai-quick-actions button{display:inline-flex;align-items:center;min-height:34px;gap:var(--space-2xs);padding:.35rem .65rem;color:var(--color-muted);background:var(--color-surface-raised);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-rule);font-size:var(--text-xs);white-space:nowrap;cursor:pointer;transition:color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.ai-quick-actions button:hover,.ai-quick-actions button:focus-visible{color:var(--color-accent-text);background:var(--color-accent-soft)}.ai-quick-actions button:active{transform:scale(.975)}.ai-quick-actions button:disabled{opacity:.45;cursor:not-allowed}.ai-composer{display:grid;padding:var(--space-xs);background:var(--color-surface-raised);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-rule-2),var(--shadow-whisper);transition:box-shadow var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.ai-composer:focus-within{box-shadow:inset 0 0 0 1px var(--color-focus),0 0 0 3px var(--color-accent-soft)}.ai-composer.is-generating{box-shadow:inset 0 0 0 1px var(--color-accent),var(--shadow-whisper)}.ai-composer__attachments{margin:0 0 var(--space-xs);padding:var(--space-2xs)}.ai-composer__attachments>span>span{max-width:13rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-composer__attachments>span>img{width:28px;height:28px;flex:0 0 28px;object-fit:cover;border-radius:3px;box-shadow:inset 0 0 0 1px var(--color-rule)}.ai-composer__attachments .icon-button{width:28px;height:28px;margin-left:var(--space-2xs)}.ai-composer textarea{width:100%;min-height:74px;max-height:12rem;padding:var(--space-sm);color:var(--color-ink);background:transparent;border:0;outline:0;resize:none}.ai-composer__toolbar>div:first-child{display:flex;align-items:center;min-width:0;gap:var(--space-2xs)}.ai-composer__hint,.ai-speech-status{color:var(--color-muted);font-size:var(--text-xs)}.ai-speech-status{display:flex;align-items:center;gap:var(--space-2xs);color:var(--color-accent-text)}.ai-speech-status.is-muted{color:var(--color-faint)}.ai-context__content{display:grid;align-content:start;gap:var(--space-lg);min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.ai-context-card{display:grid;gap:var(--space-xs);padding:var(--space-md);color:var(--color-on-graphite);background:var(--color-graphite);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-graphite-2)}.ai-context-card>span{color:var(--color-faint);font-size:var(--text-xs)}.ai-context-card p{color:var(--color-faint);font-size:var(--text-sm)}.ai-context-card hr{width:100%;margin:var(--space-xs) 0;border:0;border-top:1px solid var(--color-graphite-2)}.ai-context-card .button{justify-self:start;color:var(--color-on-graphite)}.ai-context-section{display:grid;gap:var(--space-sm)}.ai-plan-context>.button{justify-self:start;color:var(--color-accent-text)}.ai-plan-list{display:grid;gap:var(--space-2xs);padding:0;list-style:none}.ai-plan-list__item{display:grid;min-width:0;gap:2px;padding:var(--space-xs) var(--space-sm);color:var(--color-ink-2);background:var(--color-surface-raised);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-rule)}.ai-plan-list__item>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);font-weight:650}.ai-plan-list__item>small,.ai-plan-list__more{color:var(--color-muted);font-size:var(--text-2xs)}.ai-plan-list__item--active>span{color:var(--color-accent-text)}.ai-plan-list__more{padding-inline:var(--space-sm)}.ai-context-section>header>div{display:flex;align-items:center;min-width:0;gap:var(--space-xs)}.ai-context-section h3{font-size:var(--text-sm)}.ai-knowledge-list,.ai-review-list{display:grid;gap:var(--space-xs);padding:0;list-style:none}.ai-knowledge-list li,.ai-review-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;gap:var(--space-xs);min-height:46px;padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-sm);color:var(--color-ink-2);background:var(--color-surface-raised);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-rule);font-size:var(--text-xs)}.ai-knowledge-list .icon-button,.ai-review-list .icon-button{width:34px;height:34px}.ai-context-empty{padding:var(--space-sm);color:var(--color-muted);background:var(--color-surface-raised);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-rule);font-size:var(--text-xs)}.settings-page{max-width:76rem}.settings-index{position:sticky;top:calc(var(--topbar-height) + var(--space-sm));z-index:var(--z-raised);display:flex;align-items:center;gap:var(--space-2xs);width:max-content;max-width:100%;padding:var(--space-2xs);overflow-x:auto;background:var(--color-overlay);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-rule),var(--shadow-whisper);-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%)}.settings-index a{display:inline-flex;align-items:center;min-height:36px;padding:.35rem .7rem;color:var(--color-muted);border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:nowrap}.settings-index a:hover,.settings-index a:focus-visible{color:var(--color-accent-text);background:var(--color-accent-soft)}.settings-section{scroll-margin-top:calc(var(--topbar-height) + 5rem)}.settings-form{display:grid;gap:var(--space-lg)}.input-with-icon,.input-with-unit{display:flex;align-items:center;min-width:0;min-height:44px;gap:var(--space-xs);padding:0 var(--space-sm);color:var(--color-muted);background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-sm);outline:2px solid transparent;outline-offset:1px;transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.input-with-icon:focus-within,.input-with-unit:focus-within{background:var(--color-surface-raised);border-color:var(--color-focus);outline-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-accent-soft)}.field .input-with-icon input,.field .input-with-unit input{min-height:42px;padding:0;background:transparent;border:0;box-shadow:none}.field .input-with-icon input:focus,.field .input-with-unit input:focus{background:transparent;border-color:transparent;outline-color:transparent;box-shadow:none}.settings-choice-group,.onboarding-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);min-width:0;padding:0;border:0}.settings-choice-group legend,.onboarding-mode legend{grid-column:1 / -1;margin-bottom:var(--space-xs);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600}.settings-choice,.onboarding-mode__option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;min-width:0;gap:var(--space-sm);min-height:82px;padding:var(--space-md);background:var(--color-paper-2);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-rule);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.settings-choice:hover,.onboarding-mode__option:hover{background:var(--color-surface-raised);box-shadow:inset 0 0 0 1px var(--color-rule-2)}.settings-choice.is-selected,.onboarding-mode__option.is-selected{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent)}.settings-choice input,.onboarding-mode__option input{width:18px;height:18px;margin:.2rem 0 0;accent-color:var(--color-accent)}.settings-choice>span,.onboarding-mode__option>span:last-child{display:grid;min-width:0}.settings-choice small,.onboarding-mode__option small{margin-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs)}.settings-meta{color:var(--color-muted);font-size:var(--text-xs)}.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-xs)}.settings-control-row{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:var(--space-lg);padding-block:var(--space-sm);box-shadow:inset 0 -1px var(--color-rule)}.settings-control-row>div{min-width:0}.settings-control-row p{margin-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm)}.settings-goals{padding-top:var(--space-sm)}.settings-reminder{display:grid;grid-template-columns:minmax(0,1fr) minmax(10rem,.35fr);align-items:end;gap:var(--space-md);padding:var(--space-md) 0 0;background:transparent;border-radius:0;box-shadow:inset 0 1px var(--color-rule)}.toggle-field{display:flex;align-items:flex-start;gap:var(--space-sm);cursor:pointer}.toggle-field>input{width:36px;height:20px;margin:.15rem 0 0;accent-color:var(--color-accent)}.toggle-field>span{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;min-width:0;column-gap:var(--space-xs)}.toggle-field small{grid-column:2;color:var(--color-muted);font-size:var(--text-xs)}.settings-data-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:var(--space-lg);overflow:hidden;background:var(--color-paper-2);border-radius:var(--radius-md)}.settings-data-summary>div{display:grid;padding:var(--space-md);box-shadow:inset -1px 0 var(--color-rule)}.settings-data-summary>div:last-child{box-shadow:none}.settings-data-summary dt{color:var(--color-muted);font-size:var(--text-xs)}.settings-data-summary dd{margin-top:var(--space-2xs);font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.settings-data-actions{display:grid}.settings-data-actions article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-width:0;gap:var(--space-md);padding-block:var(--space-md);box-shadow:inset 0 -1px var(--color-rule)}.settings-data-actions article:last-child{box-shadow:none}.settings-data-actions__icon{display:grid;width:42px;height:42px;place-items:center;color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-md)}.settings-data-actions h3{font-size:var(--text-base)}.settings-data-actions p{margin-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm)}.settings-data-actions__danger .settings-data-actions__icon{color:var(--color-error);background:var(--color-error-soft)}.onboarding-page{display:grid;grid-template-columns:minmax(20rem,.85fr) minmax(32rem,1.15fr);min-height:100dvh;background:var(--color-paper)}.onboarding-intro,.onboarding-panel{display:flex;flex-direction:column;min-width:0;padding:clamp(2rem,5vw,5rem)}.onboarding-intro{justify-content:space-between;color:var(--color-on-graphite);background:var(--color-graphite)}.onboarding-brand{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;gap:var(--space-sm)}.onboarding-brand>span{display:grid;width:40px;height:40px;place-items:center;color:var(--color-accent-ink);background:var(--color-accent);border-radius:var(--radius-md)}.onboarding-brand strong{font-family:var(--font-display);font-size:var(--text-md)}.onboarding-intro__copy{max-width:34rem;margin-block:var(--space-3xl)}.onboarding-intro__copy h1{max-width:30rem;font-size:clamp(2.25rem,4vw,4rem)}.onboarding-intro__copy>p:last-child{margin-top:var(--space-lg);color:var(--color-faint);font-size:var(--text-md)}.onboarding-benefits{display:grid;gap:var(--space-md);padding:0;list-style:none}.onboarding-benefits li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-sm)}.onboarding-benefits li>svg{margin-top:.2rem;color:var(--color-success)}.onboarding-benefits li>span{display:grid}.onboarding-benefits small{color:var(--color-faint);font-size:var(--text-xs)}.onboarding-panel{justify-content:center;max-width:52rem}.onboarding-panel>header{margin-bottom:var(--space-xl)}.onboarding-panel__step{color:var(--color-accent-text);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.onboarding-panel h2{margin-top:var(--space-xs);font-size:var(--text-xl)}.onboarding-panel header>p{margin-top:var(--space-xs);color:var(--color-muted)}.onboarding-form{display:grid;gap:var(--space-xl)}.onboarding-mode__option{grid-template-columns:auto auto minmax(0,1fr)}.onboarding-mode__icon{display:grid;width:40px;height:40px;place-items:center;color:var(--color-accent);background:var(--color-surface-raised);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--color-rule)}.onboarding-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,.55fr);gap:var(--space-md)}.onboarding-submit{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-top:var(--space-md);box-shadow:inset 0 1px var(--color-rule)}.onboarding-submit p{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-xs)}.review-page{max-width:86rem}.review-controls{display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(22rem,1fr) minmax(16rem,.75fr);align-items:end;gap:var(--space-lg)}.review-controls__period,.review-controls__mode{display:grid;align-content:end;gap:var(--space-xs)}.review-controls__label{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:650}.review-controls__dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.review-controls__mode>p{color:var(--color-muted);font-size:var(--text-xs)}.review-generation{display:grid;gap:var(--space-md);box-shadow:inset 0 0 0 1px var(--color-rule),var(--shadow-whisper)}.review-generation__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs);padding:0;list-style:none}.review-generation__step{display:flex;align-items:center;min-height:48px;gap:var(--space-xs);padding:var(--space-sm);color:var(--color-muted);background:var(--color-paper-2);border-radius:var(--radius-sm);font-size:var(--text-sm)}.review-generation__step--active{color:var(--color-accent-text);background:var(--color-accent-soft)}.review-generation__step--complete{color:var(--color-success-text);background:var(--color-success-soft)}.review-generation__recovery,.review-reflection__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-xs)}.review-overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(27rem,.8fr);min-width:0;overflow:hidden;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--color-rule),var(--shadow-whisper)}.review-overview__summary{display:grid;align-content:center;min-width:0;min-height:14rem;padding:var(--space-xl);color:var(--color-on-graphite);background:var(--color-graphite)}.review-overview__source{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);color:var(--color-faint);font-size:var(--text-xs)}.review-overview__summary h2{max-width:48rem;font-size:var(--text-lg);line-height:1.4}.review-overview__summary>p{margin-top:var(--space-sm);color:var(--color-faint);font-size:var(--text-xs)}.review-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.review-metrics article{display:grid;align-content:center;min-width:0;min-height:14rem;padding:var(--space-lg);box-shadow:inset 1px 0 var(--color-rule)}.review-metrics svg{margin-bottom:var(--space-md);color:var(--color-accent)}.review-metrics span{color:var(--color-muted);font-size:var(--text-xs)}.review-metrics strong{display:grid;margin-top:var(--space-2xs);font-family:var(--font-display);font-size:var(--text-lg)}.review-metrics small{color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500}.review-analysis-grid,.review-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;min-width:0;gap:var(--space-lg)}.review-knowledge__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.review-knowledge__columns>div,.review-patterns article{padding:0;background:transparent;border-radius:0;box-shadow:none}.review-knowledge__columns>div+div{padding-left:var(--space-md);box-shadow:inset 1px 0 var(--color-rule)}.review-knowledge__columns h3,.review-patterns h3{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm)}.review-knowledge__columns>div:first-child h3{color:var(--color-success-text)}.review-knowledge__columns>div:last-child h3,.review-patterns article:first-of-type h3{color:var(--color-warning-text)}.review-knowledge__columns ul{display:grid;gap:var(--space-xs);margin-top:var(--space-sm);padding-left:1.2rem}.review-knowledge__columns li,.review-knowledge__columns p,.review-patterns p{color:var(--color-muted);font-size:var(--text-sm)}.review-patterns{display:grid;align-content:start}.review-patterns article+article{margin-top:var(--space-md);padding-top:var(--space-md);box-shadow:inset 0 1px var(--color-rule)}.review-patterns p{margin-top:var(--space-xs)}.review-suggestions__list{display:grid}.review-suggestion{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;gap:var(--space-lg);padding-block:var(--space-md);box-shadow:inset 0 -1px var(--color-rule)}.review-suggestion:last-child{box-shadow:none}.review-suggestion>div{min-width:0}.review-suggestion>div>span{color:var(--color-accent-text);font-size:var(--text-xs);font-weight:650}.review-suggestion h3{margin-top:var(--space-2xs);font-size:var(--text-base)}.review-suggestion p{margin-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm)}.review-reflection{display:grid;gap:var(--space-md)}.pulse{animation:pulse-status .9s var(--ease-in-out) infinite alternate}@keyframes thinking-dot{0%{opacity:.35;transform:translateY(1px)}to{opacity:1;transform:translateY(-1px)}}@keyframes pulse-status{0%{opacity:.45}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-pulse{0%{opacity:.45}to{opacity:.9}}@media (max-width: 1180px){.app-shell{grid-template-columns:var(--sidebar-compact) minmax(0,1fr)}.sidebar{align-items:center;padding-inline:var(--space-sm)}.sidebar__top,.sidebar__bottom,.sidebar__nav{width:100%}.brand{justify-content:center;padding:0}.brand__copy,.nav-item span,.sidebar__status>span{display:none}.nav-item,.sidebar__status{justify-content:center;padding-inline:0}.dashboard-summary,.dashboard-grid--primary{grid-template-columns:minmax(0,1fr)}.metric-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-strip>div,.metric-strip>div:nth-child(n+3){min-height:7rem;box-shadow:inset 1px 0 var(--color-rule)}.plan-task{grid-template-columns:auto auto minmax(0,1fr)}.plan-task__actions{grid-column:3;justify-content:flex-end}.record-row__open{grid-template-columns:7.5rem minmax(0,1fr)}.record-row__metrics{grid-column:2}.ai-workbench{grid-template-columns:minmax(14rem,16rem) minmax(24rem,1fr)}.ai-context{position:fixed;top:var(--topbar-height);right:0;bottom:0;z-index:calc(var(--z-sticky) + 2);width:min(22rem,calc(100vw - 5rem));box-shadow:var(--shadow-float),inset 1px 0 var(--color-rule);transform:translate(102%);transition:transform var(--dur-long) var(--ease-out)}.offline-banner~.topbar+.main-content .ai-context{top:calc(var(--topbar-height) + 38px)}.ai-context.is-open{transform:translate(0)}.ai-drawer-close{display:inline-flex}.ai-drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-sticky) + 1);display:block;background:var(--color-backdrop);cursor:pointer}.review-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.review-controls__mode{grid-column:1 / -1}.review-overview{grid-template-columns:minmax(0,1fr)}.review-metrics article{min-height:8rem}}@media (max-width: 900px){.topbar{padding-inline:var(--space-lg)}.topbar .status-badge,.search-trigger kbd{display:none}.search-trigger{min-width:40px;width:40px;padding:0;justify-content:center}.search-trigger span{display:none}.page{padding:var(--space-lg)}.dashboard-grid--secondary,.records-grid{grid-template-columns:minmax(0,1fr)}.plan-summary,.records-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-summary>div:nth-child(2),.records-summary>div:nth-child(2){box-shadow:none}.plan-summary>div:nth-child(-n+2),.records-summary>div:nth-child(-n+2){box-shadow:inset 0 -1px var(--color-rule),inset -1px 0 var(--color-rule)}.plan-summary>div:first-child,.records-summary>div:first-child{box-shadow:inset 0 -1px var(--color-rule),inset -1px 0 var(--color-rule)}.plan-summary>div:nth-child(3),.records-summary>div:nth-child(3){box-shadow:inset -1px 0 var(--color-rule)}.subject-chart{grid-template-columns:minmax(0,1fr)}.settings-control-row{align-items:flex-start;flex-direction:column}.settings-control-row .segmented{max-width:100%;overflow-x:auto}.onboarding-page{grid-template-columns:minmax(0,1fr)}.onboarding-intro{min-height:auto;padding-block:var(--space-xl)}.onboarding-intro__copy{margin-block:var(--space-2xl)}.onboarding-intro__copy h1{max-width:38rem;font-size:2.5rem}.onboarding-benefits{grid-template-columns:repeat(3,minmax(0,1fr))}.onboarding-panel{max-width:none;padding-block:var(--space-2xl)}.review-analysis-grid,.review-evidence-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 760px){.app-shell{display:block;padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))}.sidebar{display:none}.topbar{min-height:var(--mobile-topbar-height);padding:var(--space-xs) var(--space-md)}.topbar__title span{display:none}.topbar__title strong{font-size:var(--text-sm)}.topbar__actions{gap:var(--space-2xs)}.topbar .icon-button,.topbar .search-trigger,.topbar .avatar-button{width:44px;height:44px;min-width:44px}.button--sm,.segmented__option,.icon-button,.task-check,.section-heading>a,.section-heading>button,.notification-panel header button{min-height:44px}.icon-button,.task-check,.ai-session-item>.icon-button{width:44px;height:44px}.page{gap:var(--space-md);padding:var(--space-md)}.page-heading{align-items:flex-start;flex-direction:column;gap:var(--space-md);padding-top:var(--space-sm)}.page-heading h1{font-size:var(--text-xl)}.page-heading__actions{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:var(--space-2xs)}.surface-section,.dashboard-summary__focus{padding:var(--space-md)}.dashboard-summary__focus{min-height:13rem}.dashboard-summary__focus h2{font-size:var(--text-lg)}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-strip>div,.metric-strip>div:nth-child(n+3){min-height:6.6rem;padding:var(--space-md);box-shadow:inset 1px 0 var(--color-rule),inset 0 -1px var(--color-rule)}.metric-strip>div:nth-child(n+3){box-shadow:inset 1px 0 var(--color-rule)}.metric-strip strong,.plan-summary strong,.records-summary strong{font-size:var(--text-lg)}.plan-task{grid-template-columns:auto minmax(0,1fr);gap:var(--space-xs)}.drag-handle{display:none}.plan-task__main,.plan-task__actions{grid-column:2}.plan-task__main>div:first-child{align-items:flex-start;flex-direction:column}.plan-task__actions{justify-content:flex-start;flex-wrap:wrap}.records-toolbar{align-items:stretch;flex-wrap:wrap}.records-toolbar .segmented{width:100%}.records-toolbar .segmented__option{flex:1}.filter-select{flex:0 0 auto}.search-field{min-width:0}.record-row__open{grid-template-columns:minmax(0,1fr);gap:var(--space-2xs)}.record-row__metrics{grid-column:1;flex-wrap:wrap}.record-detail__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.record-detail__stats>div:nth-child(2){box-shadow:none}.record-detail__stats>div:nth-child(-n+2){box-shadow:inset 0 -1px var(--color-rule),inset -1px 0 var(--color-rule)}.record-detail__stats>div:nth-child(3){box-shadow:inset -1px 0 var(--color-rule)}.form-grid{grid-template-columns:minmax(0,1fr)}.field--wide{grid-column:auto}.modal__panel,.modal--sm .modal__panel,.modal--lg .modal__panel,.modal--sheet .modal__panel{top:auto;bottom:0;left:0;width:100%;max-height:calc(100dvh - 1rem);padding-bottom:env(safe-area-inset-bottom);border-radius:var(--radius-md) var(--radius-md) 0 0;transform:none}.modal__header,.modal__body,.modal__footer{padding:var(--space-md)}.modal__footer{flex-wrap:wrap}.modal__footer .button{flex:1}.focus-timer{right:var(--space-xs);bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + var(--space-xs));grid-template-columns:minmax(0,1fr) auto;width:calc(100vw - 1rem);gap:var(--space-xs)}.focus-timer__clock{font-size:var(--text-base)}.focus-timer__actions{grid-column:1 / -1;justify-content:flex-end}.toast-stack{right:var(--space-xs);bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + var(--space-xs));width:calc(100vw - 1rem)}.mobile-nav{position:fixed;right:0;bottom:0;left:0;z-index:var(--z-sticky);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));padding:var(--space-xs) var(--space-xs) calc(var(--space-xs) + env(safe-area-inset-bottom));background:var(--color-overlay);box-shadow:inset 0 1px var(--color-rule);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%)}.mobile-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;min-height:48px;gap:var(--space-3xs);color:var(--color-muted);border-radius:var(--radius-sm);font-size:.68rem;transition:color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.mobile-nav a.is-active{color:var(--color-accent-text);background:var(--color-accent-soft)}.mobile-nav a:hover,.mobile-nav a:focus-visible{color:var(--color-accent-text);background:var(--color-paper-2)}.mobile-nav a:active{transform:scale(.96)}.ai-page{grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - var(--mobile-topbar-height) - var(--mobile-nav-height) - env(safe-area-inset-bottom));min-height:30rem;gap:0;padding:0}.offline-banner~.topbar+.main-content .ai-page{height:calc(100dvh - var(--mobile-topbar-height) - 38px - var(--mobile-nav-height) - env(safe-area-inset-bottom))}.ai-mobile-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:52px;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-paper-2);box-shadow:inset 0 -1px var(--color-rule)}.ai-mobile-toolbar>div{display:grid;min-width:0;text-align:center}.ai-mobile-toolbar strong,.ai-mobile-toolbar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-mobile-toolbar strong{font-size:var(--text-sm)}.ai-mobile-toolbar span{color:var(--color-muted);font-size:var(--text-xs)}.ai-mobile-toolbar__vow{overflow:hidden;color:var(--color-accent-text);font-size:.65rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.ai-workbench{grid-template-columns:minmax(0,1fr);height:100%}.ai-chat{grid-template-rows:auto minmax(0,1fr) auto}.ai-mode-note,.ai-chat>.inline-message{grid-row:1}.ai-message-scroll{grid-row:2}.ai-composer-wrap{grid-row:3}.ai-history,.ai-context{position:fixed;top:var(--mobile-topbar-height);bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));z-index:calc(var(--z-sticky) + 2);width:min(22rem,calc(100vw - 2rem));max-width:none;transition:transform var(--dur-long) var(--ease-out)}.offline-banner~.topbar+.main-content .ai-history,.offline-banner~.topbar+.main-content .ai-context{top:96px}.ai-history{left:0;transform:translate(-102%);box-shadow:var(--shadow-float),inset -1px 0 var(--color-rule)}.ai-context{right:0;transform:translate(102%)}.ai-history.is-open,.ai-context.is-open{transform:translate(0)}.ai-chat__header{display:none}.ai-mode-note{padding-inline:var(--space-sm)}.ai-message-list{gap:var(--space-lg);padding:var(--space-lg) var(--space-sm)}.ai-message{grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}.ai-message__avatar{width:30px;height:30px}.ai-message__body{min-width:0}.ai-message__content{padding:var(--space-sm)}.ai-message__error{align-items:flex-start;flex-direction:column}.ai-composer-wrap{padding:var(--space-xs)}.ai-plan-coach{align-items:flex-start;gap:var(--space-xs)}.ai-plan-coach__copy strong,.ai-plan-coach__copy p{overflow:visible;text-overflow:clip;white-space:normal}.ai-composer textarea{min-height:64px}.ai-composer__hint{display:none}.settings-index{top:calc(var(--mobile-topbar-height) + var(--space-xs))}.settings-choice-group,.onboarding-mode,.settings-reminder,.onboarding-fields{grid-template-columns:minmax(0,1fr)}.settings-data-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-data-summary>div:nth-child(2){box-shadow:none}.settings-data-summary>div:nth-child(-n+2){box-shadow:inset 0 -1px var(--color-rule),inset -1px 0 var(--color-rule)}.settings-data-summary>div:nth-child(3){box-shadow:inset -1px 0 var(--color-rule)}.settings-data-actions article{grid-template-columns:auto minmax(0,1fr)}.settings-data-actions article .button{grid-column:2;justify-self:start}.onboarding-intro,.onboarding-panel{padding:var(--space-xl) var(--space-md)}.onboarding-intro__copy{margin-block:var(--space-xl)}.onboarding-intro__copy h1{font-size:2rem}.onboarding-benefits{grid-template-columns:minmax(0,1fr)}.onboarding-submit{align-items:stretch;flex-direction:column}.onboarding-submit .button{width:100%}.review-controls,.review-controls__dates,.review-generation__steps,.review-knowledge__columns{grid-template-columns:minmax(0,1fr)}.review-knowledge__columns>div+div{padding-top:var(--space-md);padding-left:0;box-shadow:inset 0 1px var(--color-rule)}.review-controls__mode{grid-column:auto}.review-overview__summary{min-height:12rem;padding:var(--space-md)}.review-overview__summary h2{font-size:var(--text-base)}.review-metrics{grid-template-columns:minmax(0,1fr)}.review-metrics article{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;min-height:68px;padding:var(--space-md);box-shadow:inset 0 -1px var(--color-rule)}.review-metrics article:last-child{box-shadow:none}.review-metrics svg{margin:0 var(--space-sm) 0 0}.review-metrics strong{display:flex;align-items:baseline;gap:var(--space-xs);margin:0}.review-suggestion{grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}.review-suggestion .button{justify-self:start}}.learning-vow{display:grid;gap:.42rem;max-width:46rem;margin-top:1.05rem;padding:.72rem .88rem .78rem;background:color-mix(in oklch,var(--color-accent) 8%,var(--color-surface));border-left:2px solid var(--color-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.learning-vow__label{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-accent-text);font-size:.65rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.learning-vow p{color:var(--color-ink-2);font-size:.88rem;line-height:1.55;text-wrap:pretty}.learning-vow--compact{max-width:34rem;margin-top:.68rem;padding-block:.5rem .56rem;background:color-mix(in oklch,var(--color-accent) 9%,transparent)}.ai-chat__session-goal{display:block;margin-top:.38rem;color:var(--color-muted);font-size:.78rem;line-height:1.5}.ai-chat__header .learning-vow p{color:var(--color-ink-2);font-size:.78rem}.dashboard-insight-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(19rem,.8fr);gap:clamp(1rem,1.7vw,1.55rem)}.dashboard-phase,.dashboard-achievements{min-width:0;padding:clamp(1.2rem,2vw,1.8rem);background:color-mix(in oklch,var(--color-surface) 92%,transparent);border:1px solid color-mix(in oklch,var(--color-rule) 78%,transparent);border-radius:1.15rem;box-shadow:var(--shadow-whisper)}.dashboard-phase--build{border-color:color-mix(in oklch,var(--color-accent) 32%,var(--color-rule))}.dashboard-phase--sprint{border-color:color-mix(in oklch,var(--color-success) 32%,var(--color-rule))}.dashboard-phase .section-heading,.dashboard-achievements .section-heading{margin-bottom:1rem}.dashboard-phase__eyebrow,.review-vow__eyebrow{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-accent-text);font-size:.65rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.dashboard-phase h2,.review-vow h2{display:flex;align-items:center;gap:.48rem;margin-top:.42rem}.dashboard-phase h2 svg,.review-vow h2 svg{color:var(--color-accent-text)}.dashboard-phase__narrative{max-width:42rem;color:var(--color-ink-2);font-size:.88rem;line-height:1.65}.dashboard-phase__metrics,.review-vow__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.25rem 0 0;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule)}.dashboard-phase__metrics>div,.review-vow__facts>div{display:grid;gap:.25rem;min-width:0;padding:.82rem .75rem .82rem 0;border-right:1px solid var(--color-rule)}.dashboard-phase__metrics>div+div,.review-vow__facts>div+div{padding-left:.75rem}.dashboard-phase__metrics>div:last-child,.review-vow__facts>div:last-child{border-right:0}.dashboard-phase__metrics dt,.review-vow__facts dt{color:var(--color-muted);font-size:.66rem}.dashboard-phase__metrics dd,.review-vow__facts dd{color:var(--color-ink);font-family:var(--font-display);font-size:1.25rem;font-variant-numeric:tabular-nums}.dashboard-phase__metrics dd small,.review-vow__facts dd small{margin-left:.2rem;color:var(--color-muted);font-family:var(--font-body);font-size:.66rem;font-weight:500}.dashboard-phase__evidence,.review-vow__evidence{margin-top:.75rem;color:var(--color-muted);font-size:.7rem;line-height:1.5}.achievement-list{display:grid;gap:.85rem;padding:0;list-style:none}.achievement-list li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;min-width:0}.achievement-list__icon{display:grid;width:2rem;height:2rem;place-items:center;color:var(--color-accent-text);background:var(--color-accent-soft);border-radius:.65rem}.achievement-list strong{font-size:.86rem}.achievement-list p{margin-top:.18rem;color:var(--color-ink-2);font-size:.78rem;line-height:1.5}.achievement-list small{display:block;margin-top:.22rem;color:var(--color-muted);font-size:.68rem;line-height:1.45}.achievement-empty{display:flex;align-items:flex-start;gap:.65rem;color:var(--color-muted);font-size:.78rem;line-height:1.6}.achievement-empty svg{flex:0 0 auto;color:var(--color-accent-text)}.review-vow{background:color-mix(in oklch,var(--color-accent) 6%,var(--color-surface));border-color:color-mix(in oklch,var(--color-accent) 26%,var(--color-rule))}.review-vow--sprint{background:color-mix(in oklch,var(--color-success) 5%,var(--color-surface));border-color:color-mix(in oklch,var(--color-success) 26%,var(--color-rule))}.review-vow .section-heading{margin-bottom:.85rem}.review-vow__statement{max-width:68rem;color:var(--color-ink-2);font-size:.94rem;line-height:1.72;text-wrap:pretty}.review-vow__facts{max-width:38rem;margin-top:1.1rem}.review-climb,.dashboard-climb{overflow:hidden}.climb-chart{min-width:0}.climb-chart .chart{min-height:250px}.climb-chart--empty,.climb-chart__empty-note{color:var(--color-muted);font-size:.8rem;line-height:1.6}.climb-chart__nodes{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.55rem 1rem;margin:.2rem 0 0;padding:.75rem 0 0;list-style:none;border-top:1px solid var(--color-rule)}.climb-chart__nodes li{display:grid;gap:.16rem;min-width:0}.climb-chart__nodes span,.climb-chart__nodes small{color:var(--color-muted);font-size:.68rem}.climb-chart__nodes strong{overflow:hidden;color:var(--color-ink-2);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 760px){.learning-vow{margin-top:.8rem}.learning-vow p{font-size:.82rem}.dashboard-insight-grid{grid-template-columns:minmax(0,1fr)}.dashboard-phase,.dashboard-achievements{border-radius:1rem}.dashboard-phase__metrics dd,.review-vow__facts dd{font-size:1.08rem}}@media (max-width: 480px){.topbar__actions>.icon-button:nth-of-type(1){display:none}.page-heading__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading__actions>.button,.page-heading__actions>.segmented{width:100%}.page-heading__actions>.segmented{grid-column:1 / -1}.plan-summary>div,.records-summary>div{padding:var(--space-md)}.task-row{grid-template-columns:auto minmax(0,1fr)}.task-row>.button{grid-column:2;justify-self:start}.heatmap{gap:4px}.heatmap__cell{min-width:0}.toast{grid-template-columns:auto minmax(0,1fr) auto}.toast .button{grid-column:2;justify-self:start}.ai-mode-note{align-items:flex-start;flex-wrap:wrap}.ai-composer__toolbar{align-items:flex-end}.ai-composer__toolbar>div:first-child{flex:1}.ai-composer__toolbar>.button{min-width:72px}.settings-actions{align-items:stretch;flex-direction:column}.settings-actions .button{width:100%}.onboarding-mode__option{grid-template-columns:auto minmax(0,1fr)}.onboarding-mode__option>input{position:absolute;top:var(--space-sm);right:var(--space-sm)}.onboarding-mode__option>span:last-child{grid-column:2}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}[data-motion=reduced] *,[data-motion=reduced] *:before,[data-motion=reduced] *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}@media print{.sidebar,.topbar,.mobile-nav,.focus-timer,.toast-stack,.page-heading__actions{display:none!important}.app-shell{display:block}.page{width:100%;padding:0}.surface-section{break-inside:avoid;box-shadow:inset 0 0 0 1px var(--color-rule)}}html{background:var(--color-paper)}body{background:linear-gradient(90deg,color-mix(in oklch,var(--color-rule) 20%,transparent) 1px,transparent 1px) 0 0 / 56px 56px,linear-gradient(color-mix(in oklch,var(--color-rule) 16%,transparent) 1px,transparent 1px) 0 0 / 56px 56px,var(--color-paper)}.app-shell{grid-template-columns:var(--sidebar-wide) minmax(0,1fr);background:transparent}.sidebar{isolation:isolate;padding:1.75rem 1rem 1.25rem;color:var(--color-on-graphite);background:linear-gradient(160deg,color-mix(in oklch,var(--color-graphite-2) 42%,transparent),transparent 42%),var(--color-graphite);border-right:1px solid color-mix(in oklch,var(--color-on-graphite) 10%,transparent);box-shadow:14px 0 38px color-mix(in oklch,var(--color-graphite) 13%,transparent)}.sidebar:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,transparent 0 70%,color-mix(in oklch,var(--color-accent) 9%,transparent));content:"";pointer-events:none}.sidebar__top{gap:2.4rem}.brand{min-height:48px;gap:.7rem;padding-inline:.35rem}.brand__mark{flex-basis:44px;width:44px;height:44px;color:var(--color-accent-ink);background:var(--color-accent);border-radius:14px;box-shadow:inset 0 1px #ffffff73,0 10px 22px color-mix(in oklch,var(--color-accent) 20%,transparent)}.brand__copy strong{font-size:1.05rem;font-weight:720;letter-spacing:.04em}.brand__copy small{margin-top:.12rem;color:color-mix(in oklch,var(--color-on-graphite) 56%,transparent);font-size:.69rem;letter-spacing:.05em}.wheel-nav{position:relative;width:100%;height:min(56dvh,35rem);min-height:25rem;margin-inline:-.1rem;outline:none}.wheel-nav__viewport{position:relative;height:100%;overflow:hidden;padding-block:.7rem}.wheel-nav__axis,.wheel-nav__axis-glow{position:absolute;top:6%;right:.3rem;bottom:6%;width:1px;pointer-events:none}.wheel-nav__axis{z-index:1;background:linear-gradient(180deg,transparent,color-mix(in oklch,var(--color-on-graphite) 24%,transparent) 18%,color-mix(in oklch,var(--color-accent) 72%,transparent) 50%,color-mix(in oklch,var(--color-on-graphite) 24%,transparent) 82%,transparent)}.wheel-nav__axis-glow{z-index:0;width:.55rem;right:.05rem;background:linear-gradient(180deg,transparent,color-mix(in oklch,var(--color-accent) 25%,transparent) 50%,transparent);filter:blur(10px)}.wheel-nav__item{position:absolute;top:calc(50% - 29px);right:0;z-index:2;display:flex;align-items:center;width:calc(100% - .25rem);min-height:58px;gap:.7rem;padding:.55rem .5rem .55rem .6rem;color:color-mix(in oklch,var(--color-on-graphite) 54%,transparent);border:1px solid transparent;border-radius:15px;transform-origin:right center;will-change:transform,opacity,filter;transition:color .22s var(--ease-out),background-color .22s var(--ease-out),border-color .22s var(--ease-out),box-shadow .22s var(--ease-out)}.wheel-nav__item:hover,.wheel-nav__item:focus-visible{color:var(--color-on-graphite);background:color-mix(in oklch,var(--color-on-graphite) 7%,transparent);border-color:color-mix(in oklch,var(--color-on-graphite) 12%,transparent)}.wheel-nav__item.is-active{color:var(--color-accent-ink);background:var(--color-accent);border-color:color-mix(in oklch,var(--color-accent) 80%,white);box-shadow:0 12px 26px color-mix(in oklch,var(--color-accent) 24%,transparent),inset 0 1px #ffffff61}.wheel-nav__item.is-active:after{position:absolute;top:50%;right:-.68rem;width:.34rem;height:.34rem;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 5px color-mix(in oklch,var(--color-accent) 18%,transparent),0 0 18px color-mix(in oklch,var(--color-accent) 72%,transparent);content:"";transform:translateY(-50%)}.wheel-nav__item-icon{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;color:currentColor;border:1px solid color-mix(in oklch,currentColor 20%,transparent);border-radius:10px}.wheel-nav__item-label{min-width:0;overflow:hidden;font-size:.9rem;font-weight:650;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}.wheel-nav__item-index{margin-left:auto;color:color-mix(in oklch,currentColor 52%,transparent);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em}.wheel-nav__item.is-active .wheel-nav__item-icon{border-color:color-mix(in oklch,var(--color-accent-ink) 24%,transparent)}.sidebar__bottom{gap:.65rem}.sidebar__status{min-height:66px;gap:.7rem;padding:.75rem .85rem;color:color-mix(in oklch,var(--color-on-graphite) 72%,transparent);background:color-mix(in oklch,var(--color-on-graphite) 6%,transparent);border:1px solid color-mix(in oklch,var(--color-on-graphite) 9%,transparent);border-radius:14px;transition:background-color .22s var(--ease-out),border-color .22s var(--ease-out),transform .22s var(--ease-out)}.sidebar__status:hover,.sidebar__status:focus-visible{color:var(--color-on-graphite);background:color-mix(in oklch,var(--color-on-graphite) 10%,transparent);border-color:color-mix(in oklch,var(--color-on-graphite) 16%,transparent)}.sidebar__status>span{gap:.12rem}.sidebar__status strong{color:var(--color-on-graphite);font-size:.78rem;font-weight:650}.sidebar__status small{color:color-mix(in oklch,var(--color-on-graphite) 52%,transparent);font-size:.68rem}.topbar{min-height:var(--topbar-height);padding:.9rem clamp(1.25rem,3vw,3.6rem);background:color-mix(in oklch,var(--color-paper) 78%,transparent);border-bottom:1px solid color-mix(in oklch,var(--color-rule) 80%,transparent);box-shadow:0 8px 28px color-mix(in oklch,var(--color-ink) 3%,transparent);-webkit-backdrop-filter:blur(20px) saturate(125%);backdrop-filter:blur(20px) saturate(125%)}.topbar__title{gap:.08rem}.topbar__title span{color:var(--color-accent-text);font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.topbar__title strong{font-size:1.05rem;font-weight:700;letter-spacing:.01em}.topbar__actions{gap:.5rem}.search-trigger{min-width:13.5rem;min-height:42px;padding-inline:.75rem;background:color-mix(in oklch,var(--color-surface) 68%,transparent);border:1px solid var(--color-rule);border-radius:999px;box-shadow:none}.search-trigger:hover{background:var(--color-surface);border-color:var(--color-rule-2);box-shadow:0 8px 20px color-mix(in oklch,var(--color-ink) 5%,transparent)}.avatar-button{width:42px;height:42px;flex-basis:42px;color:var(--color-accent-ink);background:var(--color-accent);box-shadow:0 8px 18px color-mix(in oklch,var(--color-accent) 18%,transparent)}.main-content{position:relative}.page{width:min(100%,var(--content-max));gap:clamp(1.25rem,2.1vw,2rem);padding:clamp(1.25rem,2.7vw,3.1rem) clamp(1.25rem,4vw,4.5rem) 4.5rem}.page-heading{align-items:flex-start;gap:2rem;padding-block:.4rem .7rem}.page-heading>div:first-child{max-width:60rem}.page-heading__context{margin-bottom:.7rem;color:var(--color-accent-text);font-size:.69rem;font-weight:740;letter-spacing:.11em;text-transform:uppercase}.page-heading h1{max-width:60rem;font-size:clamp(2.1rem,4vw,4.4rem);font-weight:680;letter-spacing:-.02em;line-height:1.06}.page-heading h1+p{max-width:42rem;margin-top:.8rem;color:var(--color-muted);font-size:clamp(.94rem,1.3vw,1.1rem);line-height:1.65}.page-heading__actions{padding-top:.45rem}.surface-section{padding:clamp(1.2rem,2vw,1.8rem);background:color-mix(in oklch,var(--color-surface) 90%,transparent);border:1px solid color-mix(in oklch,var(--color-rule) 78%,transparent);border-radius:1.15rem;box-shadow:var(--shadow-whisper);transition:border-color .28s var(--ease-out),box-shadow .28s var(--ease-out),transform .28s var(--ease-out)}.surface-section:hover{border-color:color-mix(in oklch,var(--color-rule-2) 72%,transparent);box-shadow:0 16px 34px color-mix(in oklch,var(--color-ink) 7%,transparent);transform:translateY(-2px)}.section-heading{margin-bottom:1.35rem}.section-heading h2{font-size:clamp(1.05rem,1.4vw,1.3rem);font-weight:700;letter-spacing:-.01em}.section-heading p{margin-top:.35rem;color:var(--color-muted);font-size:.84rem}.section-heading>a,.section-heading>button{min-height:34px;color:var(--color-accent-text);border-radius:999px}.button{min-height:42px;padding-inline:1rem;border-radius:.78rem;font-size:.84rem;font-weight:700;letter-spacing:.01em}.button--sm{min-height:36px;padding-inline:.75rem;border-radius:.65rem;font-size:.75rem}.button--primary{color:var(--color-accent-ink);background:var(--color-accent);box-shadow:inset 0 1px #fff6,0 8px 18px color-mix(in oklch,var(--color-accent) 18%,transparent)}.button--primary:hover{background:var(--color-accent-hover);box-shadow:inset 0 1px #fff6,0 12px 24px color-mix(in oklch,var(--color-accent) 24%,transparent);transform:translateY(-1px)}.button--secondary{background:color-mix(in oklch,var(--color-surface-raised) 72%,transparent);border:1px solid var(--color-rule-2);box-shadow:none}.button--secondary:hover{background:var(--color-surface-raised);border-color:var(--color-ink)}.icon-button{width:42px;height:42px;border-radius:50%}.icon-button:hover,.icon-button.is-active{color:var(--color-ink);background:color-mix(in oklch,var(--color-surface) 78%,transparent);box-shadow:0 8px 18px color-mix(in oklch,var(--color-ink) 7%,transparent)}.status-badge{min-height:25px;padding-inline:.62rem;border-radius:999px;font-size:.69rem;letter-spacing:.02em}.dashboard-summary{grid-template-columns:minmax(0,1.32fr) minmax(24rem,.68fr);border:1px solid color-mix(in oklch,var(--color-rule) 80%,transparent);border-radius:1.2rem;box-shadow:0 18px 38px color-mix(in oklch,var(--color-ink) 8%,transparent)}.dashboard-summary__focus{min-height:17rem;padding:clamp(1.4rem,3vw,2.5rem);background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 12%,transparent),transparent 42%),var(--color-graphite)}.dashboard-summary__focus>span,.ai-quick-panel__content>span{color:color-mix(in oklch,var(--color-on-graphite) 58%,transparent);font-size:.66rem;letter-spacing:.11em}.dashboard-summary__focus h2{max-width:48rem;margin-top:1.1rem;font-size:clamp(1.65rem,3vw,2.7rem);font-weight:650;letter-spacing:-.02em;line-height:1.14}.dashboard-summary__focus>p{max-width:45rem;margin-top:.8rem;color:color-mix(in oklch,var(--color-on-graphite) 63%,transparent);font-size:.92rem}.dashboard-summary__focus-meta{margin-top:1.55rem}.dashboard-summary__focus-meta>span{color:var(--color-on-graphite);font-size:.83rem}.metric-strip{background:color-mix(in oklch,var(--color-surface) 86%,transparent)}.metric-strip>div{min-height:8.5rem;padding:1.35rem;box-shadow:inset 1px 0 var(--color-rule),inset 0 -1px var(--color-rule)}.metric-strip svg{margin-bottom:.75rem;color:var(--color-accent-text)}.metric-strip span,.plan-summary span,.records-summary span,.record-detail__stats span{font-size:.68rem;letter-spacing:.04em}.metric-strip strong,.plan-summary strong,.records-summary strong{margin-top:.25rem;font-size:clamp(1.45rem,2.2vw,2.1rem);font-weight:680}.dashboard-grid,.records-grid{gap:clamp(1rem,1.7vw,1.55rem)}.dashboard-grid--primary{grid-template-columns:minmax(0,1.36fr) minmax(19rem,.64fr)}.dashboard-grid--secondary,.records-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task-row{min-height:68px;padding-block:.7rem;border-bottom:1px solid color-mix(in oklch,var(--color-rule) 78%,transparent);box-shadow:none}.task-row:last-child{border-bottom:0}.task-check{width:34px;height:34px;border-radius:10px;background:var(--color-surface-raised);border:1px solid var(--color-rule-2);box-shadow:none}.task-check:hover{color:var(--color-accent-ink);background:var(--color-accent);border-color:var(--color-accent)}.task-row__body strong{font-size:.9rem;font-weight:680}.task-row__body span{margin-top:.14rem;font-size:.7rem}.ai-quick-panel{background:color-mix(in oklch,var(--color-chart-2) 8%,var(--color-surface));border-color:color-mix(in oklch,var(--color-chart-2) 22%,var(--color-rule))}.ai-quick-panel__content{gap:.72rem}.ai-quick-panel__content>span{color:var(--color-muted)}.ai-quick-panel__content h3{font-size:clamp(1.2rem,1.8vw,1.55rem);font-weight:700}.ai-quick-panel__content p,.ai-quick-panel__content li{font-size:.82rem;line-height:1.65}.activity-list{gap:1.15rem}.activity-list li{gap:.8rem}.activity-list__dot{width:8px;height:8px;margin-top:.4rem;background:var(--color-chart-2);box-shadow:0 0 0 4px color-mix(in oklch,var(--color-chart-2) 15%,transparent)}.activity-list strong{margin-block:.15rem;font-size:.8rem;font-weight:650}.mobile-nav{border-top:1px solid color-mix(in oklch,var(--color-rule) 82%,transparent);background:color-mix(in oklch,var(--color-paper) 86%,transparent);box-shadow:0 -12px 30px color-mix(in oklch,var(--color-ink) 8%,transparent);-webkit-backdrop-filter:blur(20px) saturate(125%);backdrop-filter:blur(20px) saturate(125%)}.mobile-nav a{min-height:3.8rem;color:var(--color-muted)}.mobile-nav a.is-active{color:var(--color-accent-text);background:color-mix(in oklch,var(--color-accent) 12%,transparent)}@media (max-width: 1180px) and (min-width: 761px){.app-shell{grid-template-columns:var(--sidebar-compact) minmax(0,1fr)}.sidebar{align-items:center;padding-inline:.65rem}.brand{justify-content:center;padding-inline:0}.brand__copy,.sidebar__status>span,.wheel-nav__item-label,.wheel-nav__item-index{display:none}.wheel-nav{height:min(52dvh,30rem);min-height:22rem;margin-inline:0}.wheel-nav__item{right:0;width:3.1rem;justify-content:center;padding:.45rem}.wheel-nav__item-icon{flex-basis:34px}.wheel-nav__axis{right:.1rem}.sidebar__status{justify-content:center;width:3.75rem;min-height:3.75rem;padding:.6rem}.topbar{padding-inline:clamp(1.1rem,3vw,2.5rem)}}@media (max-width: 900px) and (min-width: 761px){.page{padding-inline:clamp(1rem,3vw,2rem)}.page-heading h1{font-size:clamp(2rem,4.5vw,3.1rem)}}@media (max-width: 760px){body{background:var(--color-paper)}.topbar{background:color-mix(in oklch,var(--color-paper) 90%,transparent)}.page-heading h1{font-size:clamp(2rem,9vw,2.75rem);line-height:1.08}.page-heading h1+p{font-size:.9rem}.surface-section,.dashboard-summary{border-radius:1rem}.dashboard-summary__focus{min-height:14.5rem}.dashboard-summary__focus h2{font-size:clamp(1.45rem,7vw,2rem)}}@media (prefers-reduced-motion: reduce){.wheel-nav__item,.surface-section,.button,.icon-button,.sidebar__status{transition:none}}[data-motion=reduced] .wheel-nav__item,[data-motion=reduced] .surface-section,[data-motion=reduced] .button,[data-motion=reduced] .icon-button,[data-motion=reduced] .sidebar__status{transition:none}@media (min-width: 1181px){.app-shell{grid-template-columns:var(--sidebar-wide) minmax(0,1fr)}.sidebar{padding:clamp(1.9rem,3.2vw,2.8rem) clamp(1.2rem,2vw,2rem) 1.55rem;background:radial-gradient(circle at 14% 5%,color-mix(in oklch,var(--color-accent) 13%,transparent),transparent 31%),radial-gradient(circle at 92% 78%,color-mix(in oklch,var(--color-accent) 8%,transparent),transparent 36%),linear-gradient(180deg,color-mix(in oklch,var(--color-graphite) 94%,var(--color-accent) 6%),var(--color-graphite));border-right-color:color-mix(in oklch,var(--color-on-graphite) 14%,transparent);box-shadow:18px 0 46px color-mix(in oklch,var(--color-graphite) 20%,transparent)}.sidebar__top{gap:clamp(2.8rem,6dvh,4.6rem)}.brand{min-height:58px;gap:.95rem;padding-inline:.45rem}.brand__mark{flex-basis:50px;width:50px;height:50px;border-radius:16px}.brand__copy strong{font-size:1.22rem;letter-spacing:.025em}.brand__copy small{margin-top:.2rem;font-size:.72rem;letter-spacing:.075em}.wheel-nav{height:min(66dvh,44rem);min-height:31rem;margin-inline:0}.wheel-nav__viewport{padding-block:1rem}.wheel-nav__axis,.wheel-nav__axis-glow{right:.65rem}.wheel-nav__axis-glow{right:.4rem}.wheel-nav__item{width:calc(100% - .75rem);min-height:66px;gap:.85rem;padding:.7rem .75rem .7rem .8rem;border-radius:17px}.wheel-nav__item-icon{flex-basis:40px;width:40px;height:40px;border-radius:12px}.wheel-nav__item-label{font-size:.98rem;font-weight:680}.wheel-nav__item-index{font-size:.66rem}.sidebar__status{min-height:76px;gap:.8rem;padding:.95rem 1.05rem;border-radius:17px}.sidebar__status strong{font-size:.84rem}.sidebar__status small{font-size:.71rem}}@media (max-width: 1180px) and (min-width: 761px){.dashboard-summary,.dashboard-grid--primary{grid-template-columns:minmax(0,1fr)}.dashboard-summary__focus{min-height:16rem}.metric-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-strip>div{min-height:7rem}}@media (min-width: 1181px) and (max-width: 1360px){.review-controls{grid-template-columns:minmax(12rem,.72fr) minmax(20rem,1fr) minmax(12rem,.68fr);gap:1rem}}.markdown-image,.markdown-diagram{display:block;margin:var(--space-md) 0;overflow:hidden;background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-md)}.markdown-image img{display:block;width:100%;max-height:32rem;object-fit:contain;background:var(--color-paper-3)}.markdown-image__caption,.markdown-diagram figcaption{display:block;padding:.6rem .8rem .72rem;color:var(--color-muted);font-size:var(--text-xs)}.markdown-image-fallback{display:inline-flex;align-items:center;min-height:2.5rem;padding:.55rem .75rem;color:var(--color-warning-text);background:var(--color-warning-soft);border:1px solid color-mix(in oklch,var(--color-warning) 34%,var(--color-rule));border-radius:var(--radius-sm);font-size:var(--text-xs)}.markdown-diagram{background:radial-gradient(circle at 12% 0%,color-mix(in oklch,var(--color-accent) 13%,transparent),transparent 40%),var(--color-graphite);border-color:color-mix(in oklch,var(--color-accent) 24%,var(--color-graphite-2));box-shadow:inset 0 1px #ffffff14,var(--shadow-whisper)}.markdown-diagram__header{display:flex;align-items:center;justify-content:space-between;min-height:2.65rem;padding:.45rem .65rem .45rem .85rem;color:color-mix(in oklch,var(--color-on-graphite) 72%,transparent);border-bottom:1px solid color-mix(in oklch,var(--color-on-graphite) 13%,transparent);font-size:var(--text-xs);font-weight:650}.markdown-diagram__header .code-block__copy{position:static;min-height:30px;color:color-mix(in oklch,var(--color-on-graphite) 70%,transparent);background:color-mix(in oklch,var(--color-on-graphite) 9%,transparent)}.markdown-diagram pre{max-height:30rem;margin:0;padding:1rem;overflow:auto}.markdown-diagram code{color:var(--color-on-graphite);font-family:var(--font-mono);font-size:.78rem;line-height:1.75}.ai-quick-actions button{flex:0 0 auto}body{background:linear-gradient(118deg,color-mix(in oklch,var(--color-graphite) 34%,transparent),transparent 38%),linear-gradient(294deg,color-mix(in oklch,var(--color-accent) 4%,transparent),transparent 42%),linear-gradient(90deg,color-mix(in oklch,var(--color-rule) 20%,transparent) 1px,transparent 1px) 0 0 / 56px 56px,linear-gradient(color-mix(in oklch,var(--color-rule) 16%,transparent) 1px,transparent 1px) 0 0 / 56px 56px,var(--color-paper)}.app-shell__content{min-height:100dvh;background:linear-gradient(145deg,color-mix(in oklch,var(--color-paper-2) 24%,transparent),transparent 28%),color-mix(in oklch,var(--color-paper) 84%,transparent)}.main-content{min-height:calc(100dvh - var(--topbar-height))}.page-heading h1,.dashboard-summary__focus h2,.section-heading h2,.ai-panel-heading h1,.ai-panel-heading h2{text-wrap:balance}.surface-section,.dashboard-summary,.plan-summary,.records-summary,.records-toolbar,.ai-workbench{background-color:color-mix(in oklch,var(--color-surface) 92%,transparent)}.surface-section:hover{background-color:color-mix(in oklch,var(--color-surface-raised) 82%,transparent)}.topbar,.mobile-nav,.ai-composer-wrap{background-color:color-mix(in oklch,var(--color-paper) 82%,transparent)}@media (max-width: 760px){.app-shell__content{min-height:calc(100dvh - var(--mobile-nav-height))}.main-content{min-height:calc(100dvh - var(--mobile-topbar-height) - var(--mobile-nav-height))}.dashboard-summary,.dashboard-grid--primary,.dashboard-grid--secondary,.records-grid{grid-template-columns:minmax(0,1fr)}.dashboard-summary__focus{min-height:14.5rem}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-strip>div{min-height:6.6rem}}@media (min-width: 1181px) and (max-height: 720px){.sidebar{padding-top:1.25rem;padding-bottom:1rem}.sidebar__top{min-height:0;flex:1 1 auto;gap:1.25rem}.wheel-nav{min-height:0;height:auto;flex:1 1 auto}}@media (max-width: 1180px) and (min-width: 761px) and (max-height: 560px){.sidebar{padding-top:1rem;padding-bottom:.75rem}.sidebar__top{min-height:0;flex:1 1 auto;gap:1rem}.wheel-nav{min-height:0;height:auto;flex:1 1 auto}}@media (max-width: 760px){.topbar{height:var(--mobile-topbar-height);min-height:var(--mobile-topbar-height);padding:var(--space-xs) var(--space-sm)}.mobile-nav{height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));min-height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));padding:var(--space-2xs) var(--space-xs) calc(var(--space-2xs) + env(safe-area-inset-bottom))}.mobile-nav a{height:100%;min-height:0}.ai-page{width:100%;height:calc(100dvh - var(--mobile-topbar-height) - var(--mobile-nav-height) - env(safe-area-inset-bottom));min-height:0;gap:0;padding:0}.offline-banner~.topbar+.main-content .ai-page{height:calc(100dvh - var(--mobile-topbar-height) - 38px - var(--mobile-nav-height) - env(safe-area-inset-bottom))}.ai-workbench,.ai-chat,.ai-message-scroll,.ai-composer-wrap{min-height:0}.ai-workbench{height:100%}.ai-mobile-toolbar{height:52px;min-height:52px;padding:var(--space-2xs) var(--space-xs)}.ai-mobile-toolbar>div>span{display:none}.ai-mode-note{min-height:36px;padding:var(--space-2xs) var(--space-xs)}.ai-mode-note>.button{display:none}.ai-composer-wrap{gap:var(--space-2xs);padding:var(--space-2xs)}.ai-plan-coach{align-items:center;padding:var(--space-2xs) var(--space-xs)}.ai-plan-coach__copy p{display:none}.ai-plan-coach>.button,.ai-composer__toolbar>.button,.ai-composer__toolbar .icon-button{min-height:36px}.ai-quick-actions{padding-block:0}.ai-composer textarea{height:44px;min-height:44px;padding:.375rem}.ai-composer__toolbar .icon-button{width:36px;height:36px}}
