/* Aevro product refinement: calm hierarchy, honest evidence, purposeful motion. */
:root {
  --bg:#0e1714; --bg-soft:#121e19; --surface:#192820; --surface-strong:#263b2f; --surface-muted:#15231c;
  --text:#f2f1e7; --muted:#b9c8be; --faint:#9caea1; --border:#435e4c; --border-soft:#2d4335;
  --teal:#a3c3ac; --blue:#a3c3ac; --green:#a3c3ac; --panel-bg:var(--surface); --sidebar-bg:var(--bg-soft);
  --input-bg:var(--bg); --track-bg:var(--border-soft); --brand-primary-blue:#a3c3ac; --brand-primary-blue-hover:#bed9c6;
  --product-accent:#b5d4af; --product-on-accent:#14251b; --product-wash:#263c2d;
  --control-border:#647f69; --product-shadow:#00000040; --product-highlight:#e1f6d60c; --code-bg:#0b130f; --modal-bg:#050e09bf;
  --danger:#ffabb0; --amber:#e8c991; --coral:#e9b49b; --page-glow:#6d946c0b;
  --text-primary:var(--text); --text-secondary:var(--muted); --text-muted:var(--faint); --panel-border:var(--border-soft);
}
:root[data-theme="light"] {
  --bg:#f7f6f0; --bg-soft:#f0f0e8; --surface:#fdfdf9; --surface-strong:#eeeee5; --surface-muted:#f1f2eb;
  --text:#27392f; --muted:#59695e; --faint:#606d63; --border:#c9d0c4; --border-soft:#dfe2d7;
  --teal:#325e49; --blue:#325e49; --green:#325e49; --panel-bg:var(--surface); --sidebar-bg:var(--bg-soft);
  --input-bg:var(--surface); --track-bg:#e3e8dc; --brand-primary-blue:#325e49; --brand-primary-blue-hover:#244b39;
  --product-accent:#325e49; --product-on-accent:#fff; --product-wash:#e9eee3;
  --control-border:#818e7d; --product-shadow:#213f2b12; --product-highlight:#fff9; --code-bg:#edf0e6; --modal-bg:#17251c80;
}
body {background:var(--bg);}
html {scrollbar-gutter:stable;}
body .app-shell {--brand-accent-cyan:var(--product-accent);}
body #content, body #content > *, body .native-money-workspace {min-width:0;}
body .money-section-tabs {position:sticky;top:0;z-index:10;min-width:0;max-width:100%;margin:0;padding:4px 0;background:var(--bg);scroll-padding-inline:8px;scroll-snap-type:none;overscroll-behavior-x:contain;overflow-anchor:none;}
body .money-section-tab {min-height:44px;font-size:14px;font-weight:550;flex-shrink:0;scroll-margin-inline:8px;}
body .money-section-tab.active {color:var(--product-accent);border-bottom-color:var(--product-accent);}
body .native-money-workspace {display:grid;gap:24px;}
body .money-command-strip.aevro-money-command-strip {margin:0;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface);box-shadow:none;}
body .native-money-workspace.aevro-money-gate6 {display:grid;gap:24px;}
body .aevro-money-gate6 .money-decision-shell {margin:0;}
body .aevro-money-gate6 .money-decision-position, body .aevro-money-gate6 .money-primary-decision {border:1px solid var(--border-soft);border-radius:14px;background:var(--surface);box-shadow:none;}
body .aevro-money-gate6 .money-decision-position {display:flex;flex-direction:column;align-items:stretch;gap:16px;}
body .aevro-money-gate6 .money-primary-decision {grid-column:auto;}
body .aevro-money-gate6 .money-position-breakdown {min-width:0;border:0;}
body .aevro-money-gate6 .money-position-actions {margin-top:auto;}
body .topbar > div:first-child {min-width:0;flex:1 1 auto;}
body .topbar-actions {width:auto;flex:0 0 auto;}
body #view-title {overflow-wrap:anywhere;}
body #view-title:focus:not(:focus-visible),body #money-panel:focus:not(:focus-visible) {outline:none;}
body #money-panel:focus-visible {outline:2px solid var(--product-accent);outline-offset:4px;}
body .money-section-tab:focus-visible {outline:2px solid var(--product-accent);outline-offset:-3px;}
body .app-shell {max-width:1600px; grid-template-columns:216px minmax(0,1fr); background:var(--bg); color:var(--text);}
body .sidebar {padding:28px 16px; background:var(--sidebar-bg); border-right:1px solid var(--border-soft); backdrop-filter:none;}
body .brand {margin-bottom:30px; gap:10px;}
body .brand strong {font-family:Georgia,'Times New Roman',serif; font-size:25px; font-weight:500; letter-spacing:-1px;}
body .brand small {font-size:11px; margin-top:5px;}
body .brand-mark {background:transparent; box-shadow:none; width:33px; height:40px; border:0;}
body .nav-list {gap:6px;}
body .nav-button {min-height:46px; padding:0 13px; border-radius:9px; border:1px solid transparent; color:var(--muted); font-size:14px; font-weight:500;}
body .nav-button svg {width:19px; height:19px;}
body .nav-button.is-active {background:var(--product-wash); color:var(--product-accent); border-color:transparent;}
body .main-panel {padding:0 clamp(20px,4vw,64px) 48px; max-width:1300px;}
body .topbar {min-height:84px; border-bottom:1px solid var(--border-soft);}
body .topbar h1 {font-size:14px; font-weight:550;}
body .topbar #today-label {display:none;}
body .topbar-actions {gap:14px;}
body .topbar button, body .account-menu>summary {min-height:44px;}
body .account-menu>summary {border:0; background:transparent; color:var(--muted); border-radius:8px;}
body .account-menu-panel {background:var(--surface); border:1px solid var(--border-soft); border-radius:12px; padding:10px; box-shadow:0 14px 40px #0002; z-index:100;}
body #content {display:grid; gap:26px; padding-top:32px; overflow:visible;}
body .app-shell .panel {padding:24px; border:1px solid var(--border-soft); border-radius:14px; background:var(--surface); box-shadow:none;}
body .app-shell .panel-header {gap:12px; margin-bottom:20px;}
body .app-shell .panel-header h2 {font-size:18px; font-weight:550; letter-spacing:-.4px;}
body .app-shell .panel p {line-height:1.6; color:var(--muted);}
body .app-shell .eyebrow {color:var(--faint); font-size:10px; letter-spacing:1.5px; font-weight:600; text-transform:uppercase;}
body .app-shell :is(.command-hero,.workspace-hero,.progress-hero) {background:transparent; border:0; box-shadow:none; padding:16px 0 14px; border-radius:0; min-height:0; gap:24px;}
body .app-shell :is(.command-hero,.workspace-hero,.progress-hero)::after {display:none;}
body .app-shell :is(.command-hero,.workspace-hero,.progress-hero) h2 {font-family:Georgia,'Times New Roman',serif; font-size:clamp(30px,3.6vw,48px); line-height:1.12; letter-spacing:-1.7px; font-weight:400; max-width:760px; color:var(--text);}
body .app-shell :is(.command-hero,.workspace-hero,.progress-hero) p:not(.eyebrow) {font-size:14px; color:var(--muted); max-width:640px; line-height:1.7; margin-top:14px;}
body .app-shell .aevro-orb {display:none;}
body .app-shell .command-context {gap:22px; padding:0; background:none; border:0;}
body .app-shell .command-context>span {background:none; border:0; padding:0;}
body .app-shell .command-context strong {font-size:20px; font-weight:500; color:var(--text);}
body .app-shell .command-context small {font-size:11px; margin-top:7px;}
body .app-shell :is(.primary-button, .secondary-button, .ghost-button, .icon-button),body .modal button {min-height:44px; border-radius:8px; font-size:12px; font-weight:550; box-shadow:none;}
body .app-shell .primary-button,body #quick-modal .primary-button {background:var(--product-accent); border-color:var(--product-accent); color:var(--product-on-accent);}
body .app-shell .primary-button:hover,body #quick-modal .primary-button:hover {background:var(--brand-primary-blue-hover);}
body .app-shell .secondary-button {background:var(--surface); border-color:var(--border); color:var(--text);}
body .app-shell .ghost-button {color:var(--muted);}
body .app-shell :is(input,select,textarea) {background:var(--input-bg); color:var(--text); border:1px solid var(--border); border-radius:8px; min-height:44px;}
body .app-shell .pill {background:var(--surface-muted); border:1px solid var(--border-soft); font-size:11px; color:var(--muted); border-radius:6px;}
body .app-shell .pill.accent {background:var(--product-wash); color:var(--product-accent);}
body .app-shell .command-focus-header {margin-bottom:16px;}
body .app-shell .command-focus-header h2 {font-size:18px; letter-spacing:-.5px;}
body .app-shell .command-action-list {display:grid; gap:10px;}
body .app-shell .command-action-card {display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:18px; align-items:center; border:1px solid var(--border-soft); background:var(--surface); border-radius:12px; padding:18px 22px; box-shadow:none;}
body .app-shell .command-action-card:first-child {background:var(--product-wash); border-color:var(--border); padding:28px 22px; box-shadow:none;}
body .app-shell .command-action-card:first-child .command-action-copy h3 {font-family:Georgia,'Times New Roman',serif; font-size:25px; font-weight:400; color:var(--text); letter-spacing:-.6px;}
body .app-shell .command-rank,body .app-shell .command-action-card:first-child .command-rank {background:none; border:0; color:var(--faint); font:14px Georgia,serif; padding:0;}
body .app-shell .command-action-copy h3 {font-size:15px; font-weight:550; color:var(--text);}
body .app-shell .command-action-copy p {font-size:12px; line-height:1.6; max-width:540px; color:var(--muted);}
body .app-shell .command-action-card>button {width:auto; min-width:104px;}
body .app-shell .today-secondary-grid {grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px;}
body .app-shell .product-progress-grid .panel-header {align-items:start;}
.product-text-link {display:flex; justify-content:space-between; align-items:center; width:100%; min-height:48px; padding:14px 0 0; background:none; border:0; border-top:1px solid var(--border-soft); color:var(--product-accent); font-size:13px; text-align:left; margin-top:18px;}
body .app-shell :is(.product-disclosure,.today-context-details) {border:1px solid var(--border-soft); border-radius:12px; background:transparent; padding:0;}
body .app-shell :is(.product-disclosure,.today-context-details)>summary {padding:18px 22px; color:var(--muted); cursor:pointer; font-size:13px; min-height:52px;}
body .app-shell .product-disclosure>div,body .app-shell .product-disclosure>section {margin:0 14px 14px;}
body .app-shell .mission-card-v1 {background:transparent; border:0; border-bottom:1px solid var(--border-soft); border-radius:0; padding:24px 0; box-shadow:none;}
body .app-shell .mission-card-v1:first-of-type {padding-top:0;}
body .app-shell .mission-card-heading h3 {font:26px/1.2 Georgia,serif; letter-spacing:-.6px; margin-top:10px;}
body .app-shell .mission-overall {font-size:26px; font-weight:400; color:var(--product-accent);}
.mission-overall small {display:block; font:10px/1.4 system-ui,sans-serif; color:var(--muted);}
body .app-shell .mission-progress-track {height:4px; background:var(--track-bg); margin:22px 0;}
body .app-shell .mission-progress-track span {background:var(--product-accent);}
.mission-milestones {padding:0; margin:20px 0; list-style:none; display:grid; gap:0;}
.mission-milestones li {display:flex; gap:12px; padding:0 0 18px; position:relative;}
.mission-milestones li:not(:last-child)::after {content:''; position:absolute; left:10px; top:23px; bottom:2px; width:1px; background:var(--border);}
.mission-milestones li>span {height:22px; width:22px; flex:none; border:1px solid var(--border); border-radius:50%; text-align:center; color:var(--muted); font-size:12px; line-height:20px;}
.mission-milestones .is-done>span {background:var(--product-accent); border-color:var(--product-accent); color:var(--product-on-accent);}
.mission-milestones strong {font-size:12px; font-weight:500;}
.mission-milestones small {display:block; color:var(--faint); font-size:10px; margin-top:3px;}
body .app-shell .mission-dimensions {border-top:1px solid var(--border-soft); padding-top:16px;}
.review-history-panel {min-width:0;}
.review-history-panel>.panel-header {align-items:flex-start;}
.review-status {display:grid; justify-items:end; gap:6px; max-width:210px; text-align:right;}
.review-status small {font-size:9px; line-height:1.35; color:var(--faint);}
.review-score-figure {margin:0 0 22px; padding:20px; border:1px solid var(--border-soft); border-radius:12px; background:var(--surface-muted);}
.review-score-figure figcaption {display:flex; justify-content:space-between; gap:16px; align-items:baseline; margin-bottom:18px;}
.review-score-figure figcaption strong {font-size:13px; font-weight:550;}
.review-score-figure figcaption span {font-size:10px; color:var(--faint);}
.review-score-chart {display:grid; grid-template-columns:repeat(auto-fit,minmax(42px,1fr)); gap:12px; min-height:148px; align-items:end;}
.review-score-point {display:grid; grid-template-rows:auto 100px auto; gap:7px; min-width:0; text-align:center;}
.review-score-value {font-size:11px; color:var(--text); font-variant-numeric:tabular-nums;}
.review-score-track {display:flex; align-items:flex-end; height:100px; max-width:28px; width:100%; margin:auto; overflow:hidden; border-radius:4px 4px 2px 2px; background:var(--track-bg);}
.review-score-track i {display:block; width:100%; min-height:2px; border-radius:4px 4px 0 0; background:var(--product-accent); transition:height 240ms ease;}
.review-score-point small {font-size:9px; color:var(--faint); font-variant-numeric:tabular-nums; overflow-wrap:anywhere;}
.review-record-list {display:grid; gap:8px;}
.review-record {border:1px solid var(--border-soft); border-radius:10px; background:var(--surface); overflow:hidden;}
.review-record>summary {display:flex; justify-content:space-between; align-items:center; gap:18px; min-height:54px; padding:12px 16px; cursor:pointer; color:var(--text);}
.review-record>summary>span:first-child {min-width:0;}
.review-record>summary strong {display:block; font-size:12px; font-weight:550;}
.review-record>summary small {display:block; margin-top:4px; color:var(--faint); font-size:9px;}
.review-record-score {flex:none; font-size:11px; color:var(--product-accent); font-variant-numeric:tabular-nums;}
.review-record dl {display:grid; gap:14px; margin:0; padding:16px; border-top:1px solid var(--border-soft);}
.review-record dl>div {display:grid; grid-template-columns:90px minmax(0,1fr); gap:16px;}
.review-record dt {font-size:10px; color:var(--faint);}
.review-record dd {margin:0; font-size:12px; line-height:1.6; color:var(--muted); overflow-wrap:anywhere;}
.compact-empty {padding:18px; margin-bottom:18px;}
body .app-shell .learn-command-grid {grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);}
.recall-card {min-width:0;}
.recall-card>[data-recall-reveal],.review-card>[data-recall-reveal] {margin:16px 0;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-muted);overflow:hidden;}
.recall-card>[data-recall-reveal]>summary,.review-card>[data-recall-reveal]>summary {display:flex;align-items:center;min-height:48px;padding:12px 15px;cursor:pointer;color:var(--product-accent);font-size:12px;font-weight:550;}
.recall-card>[data-recall-reveal]>p,.review-card>[data-recall-reveal]>p {margin:0;padding:0 15px 15px;color:var(--text);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;}
.recall-card [data-recall-grade]:disabled,.review-card [data-recall-grade]:disabled {opacity:.48;cursor:not-allowed;}
.mastery-history {margin-top:18px;border-top:1px solid var(--border-soft);}
.mastery-history>summary {display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:13px 0;cursor:pointer;color:var(--muted);font-size:12px;}
.mastery-history>summary strong {font-size:10px;color:var(--faint);font-weight:550;white-space:nowrap;}
.mastery-history-body {display:grid;gap:14px;padding:4px 0 8px;}
.mastery-attempt-list {display:grid;gap:8px;list-style:none;padding:0;margin:0;}
.mastery-attempt-list li {display:grid;gap:9px;padding:13px;border:1px solid var(--border-soft);border-radius:9px;background:var(--surface-muted);}
.mastery-attempt-list li>div {display:flex;justify-content:space-between;gap:16px;align-items:baseline;}
.mastery-attempt-list strong {font-size:12px;text-transform:capitalize;}
.mastery-attempt-list li>div span,.mastery-attempt-list p,.history-disclosure,.history-warning {font-size:10px;line-height:1.55;color:var(--faint);overflow-wrap:anywhere;}
.mastery-attempt-list p,.history-disclosure,.history-warning {margin:0;}
.mastery-attempt-list .pill {justify-self:start;}
.attempt-provenance {display:grid;gap:6px;margin:2px 0 0;padding-top:10px;border-top:1px solid var(--border-soft);}
.attempt-provenance>div {display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;font-size:9px;line-height:1.45;}
.attempt-provenance dt {color:var(--faint);}
.attempt-provenance dd {margin:0;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;}
.history-warning {color:var(--amber);}
body .app-shell .memory-entry {display:flex; justify-content:space-between; align-items:center; gap:25px; background:var(--product-wash);}
body .app-shell .memory-entry h2 {font:30px/1.2 Georgia,serif; letter-spacing:-.8px; margin:8px 0;}
.memory-entry button {flex-shrink:0;}
.memory-count {min-width:125px;}
.memory-count strong {display:block; font:38px/1.2 Georgia,serif;}
.memory-count span {color:var(--muted); display:block; font-size:11px; margin-top:5px;}
body .app-shell .memory-workspace {padding:0; overflow:hidden;}
.memory-toolbar {padding:16px 20px; display:flex; justify-content:space-between; align-items:center; gap:18px; border-bottom:1px solid var(--border-soft);}
.memory-tabs {display:flex; gap:4px; padding:4px; border:1px solid var(--border-soft); border-radius:9px; background:var(--bg-soft);}
.memory-tabs button {min-height:36px; border:0; border-radius:6px; background:transparent; padding:0 16px; font-size:12px; color:var(--muted);}
.memory-tabs [aria-pressed="true"] {background:var(--surface); color:var(--text); box-shadow:0 1px 4px #0001;}
body .memory-search input {width:230px; font-size:12px; background:transparent; border:0;}
.memory-columns {display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); min-height:420px;}
.memory-collection {min-width:0;}
.memory-columns>aside {border-left:1px solid var(--border-soft); padding:26px; min-width:0;}
.memory-list-heading {display:flex; justify-content:space-between; padding:24px 22px 12px; font-size:11px; color:var(--faint);}
.memory-items {padding:0 10px 16px;}
.memory-item {display:flex; width:100%; align-items:center; gap:12px; background:transparent; border:0; border-radius:8px; padding:16px 12px; text-align:left; color:var(--text); min-height:70px;}
.memory-item>span:nth-child(2) {flex:1; min-width:0;}
.memory-item strong {display:block; font-size:13px; font-weight:550; overflow-wrap:anywhere;}
.memory-item small {display:block; font-size:11px; color:var(--faint); margin-top:6px;}
.memory-item>span:last-child {color:var(--faint);}
.memory-item[aria-pressed="true"], .memory-item:hover {background:var(--product-wash);}
.idea-dot {width:8px; height:8px; background:var(--product-accent); border-radius:50%; flex:none;}
.memory-detail h3 {font:28px/1.2 Georgia,serif; letter-spacing:-.7px; margin:14px 0; overflow-wrap:anywhere;}
.memory-detail .memory-summary {white-space:pre-wrap; font-size:13px; overflow-wrap:anywhere;}
.memory-evidence {display:grid; gap:14px; padding:20px 0; margin:20px 0; border-top:1px solid var(--border-soft); border-bottom:1px solid var(--border-soft);}
.memory-evidence>div {display:flex; justify-content:space-between; gap:12px; font-size:11px;}
.memory-evidence dt {color:var(--faint);}
.memory-evidence dd {margin:0; text-transform:capitalize; text-align:right;}
.memory-detail h4 {font-size:11px; font-weight:600;}
.memory-detail h4 span {color:var(--faint); margin-left:8px;}
.memory-related {display:flex; justify-content:space-between; gap:12px; width:100%; padding:12px 0; min-height:44px; background:none; border:0; border-bottom:1px solid var(--border-soft); color:var(--text); text-align:left; font-size:12px;}
.memory-related small {color:var(--faint);}
.memory-map-controls {display:flex; align-items:center; justify-content:space-between; padding:8px 16px; gap:8px; font-size:10px; color:var(--muted);}
.memory-graph {height:420px; background:radial-gradient(circle,var(--border-soft) .7px,transparent .8px); background-size:22px 22px;}
.memory-map-index {border-top:1px solid var(--border-soft);}
.memory-map-index summary {padding:16px; cursor:pointer; font-size:11px; color:var(--muted);}
body .app-shell .memory-footnote {font-size:10px; line-height:1.6; color:var(--faint); padding:14px 22px; margin:0; border-top:1px solid var(--border-soft);}
.memory-history {max-width:650px; padding:30px;}
.memory-history h3 {font:30px Georgia,serif; letter-spacing:-.7px; margin:0 0 12px;}
.memory-history>p {font-size:12px;}
.memory-timeline {list-style:none; padding:0; margin:24px 0 0;}
.memory-timeline li {display:flex; gap:14px; position:relative; padding:0 0 23px;}
.memory-timeline li:not(:last-child)::after {content:''; position:absolute; top:13px; bottom:0; left:4px; width:1px; background:var(--border-soft);}
.timeline-dot {width:9px; height:9px; border:2px solid var(--product-accent); border-radius:50%; margin-top:4px; flex-shrink:0;}
.memory-timeline strong {font-size:12px; font-weight:550; overflow-wrap:anywhere;}
body .app-shell .memory-timeline p {font-size:10px; margin:5px 0 0;}
.memory-empty {padding:65px 25px; text-align:center; max-width:520px; margin:auto;}
.memory-empty>span {color:var(--product-accent); font-size:35px;}
.memory-empty h3 {font:30px Georgia,serif; letter-spacing:-.7px;}
.memory-empty p {font-size:13px;}
body .modal-panel {background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:16px; box-shadow:0 30px 100px #0004;}
body #quick-modal .modal-panel h2 {font:32px Georgia,serif; letter-spacing:-1px;}
body #quick-modal :is(input,select,textarea) {background:var(--input-bg); color:var(--text); border-color:var(--border);}
body #quick-modal .modal-backdrop {background:#0f201775; backdrop-filter:blur(5px);}
:where(button,input,select,textarea,summary,a):focus-visible {outline:2px solid var(--product-accent); outline-offset:4px;}
body .app-shell :is(button,a,summary) {transition:background-color 160ms ease, color 160ms ease, border-color 160ms ease;}
body .app-shell .mission-progress-track span {transition:width 240ms ease;}
@keyframes aevro-dialog-enter {from {opacity:0; transform:translateY(8px) scale(.99);} to {opacity:1; transform:none;}}
body #quick-modal:not([hidden]) .modal-panel {animation:aevro-dialog-enter 200ms ease-out;}
@media (max-width:1100px) {
  body .app-shell {grid-template-columns:180px minmax(0,1fr);}
  body .main-panel {padding-inline:24px;}
  body .app-shell .command-hero {display:block;}
  body .app-shell .command-context {margin-top:24px; justify-content:flex-start;}
  body .app-shell .mission-workspace-grid {grid-template-columns:1fr;}
  body .app-shell .mission-side-stack {display:grid; grid-template-columns:1fr 1fr;}
  .memory-columns {grid-template-columns:minmax(0,1fr) minmax(230px,1fr);}
}
@media (max-width:980px) {
  body .app-shell {display:block; padding-bottom:85px;}
  body .sidebar {display:none;}
  body .main-panel {padding-inline:24px;}
  body .mobile-nav {background:var(--surface); border:1px solid var(--border-soft); box-shadow:0 -5px 20px #00000005; backdrop-filter:none;}
  body .mobile-nav-button {color:var(--muted); border-radius:9px; min-height:52px;}
  body .mobile-nav-button.is-active {color:var(--product-accent); background:var(--product-wash);}
}
@media (max-width:720px) {
  body .main-panel {padding-inline:18px;}
  body .topbar {min-height:70px; justify-content:space-between;}
  body .topbar>div:first-child {display:block;}
  body .topbar #view-title {font-size:13px;}
  body .topbar-actions {gap:7px;}
  body .topbar #quick-capture-button {padding-inline:14px;}
  body .account-menu-panel :is(#install-button,#add-passkey-button,#account-button,#sign-out-button):not(.is-hidden) {display:flex !important;}
  body .account-menu-panel {right:-75px; max-width:calc(100vw - 36px);}
  body #content {gap:20px; padding-top:22px;}
  body .app-shell :is(.command-hero,.workspace-hero,.progress-hero) {display:block; padding:10px 0;}
  body .app-shell :is(.command-hero,.workspace-hero,.progress-hero) h2 {font-size:34px; letter-spacing:-1px;}
  body .app-shell :is(.command-hero,.workspace-hero,.progress-hero) p:not(.eyebrow) {font-size:12px;}
  body .app-shell .command-context {display:flex; flex-wrap:wrap; gap:25px; margin-top:23px;}
  body .app-shell .command-context strong {font-size:17px;}
  body .app-shell .command-context small {font-size:10px;}
  body .app-shell .command-action-card,body .app-shell .command-action-card:first-child {grid-template-columns:22px minmax(0,1fr); padding:20px 16px; gap:10px;}
  body .app-shell .command-action-card>button {grid-column:2; justify-self:start; width:auto; margin-top:6px;}
  body .app-shell .command-action-card:first-child .command-action-copy h3 {font-size:23px;}
  body .app-shell :is(.today-secondary-grid,.learn-command-grid,.mission-side-stack) {grid-template-columns:1fr;}
  body .app-shell .panel {padding:20px;}
  body .app-shell .panel-header h2 {font-size:17px;}
  body .app-shell .memory-entry {display:block;}
  .memory-entry button {margin-top:14px;}
  .memory-count {margin-top:20px; display:flex; align-items:baseline; gap:12px;}
  .memory-count strong {font-size:28px;}
  body .app-shell .memory-workspace {padding:0;}
  .memory-toolbar {flex-wrap:wrap; padding:12px; gap:8px;}
  .memory-tabs {width:100%;}
  .memory-tabs button {flex:1; min-height:44px; padding:0 12px;}
  .memory-search,body .memory-search input {width:100%;}
  .memory-columns {grid-template-columns:1fr;}
  .memory-columns>aside {border-left:0; border-top:1px solid var(--border-soft); padding:22px;}
  .memory-graph {height:330px;}
  .memory-items {max-height:350px; overflow:auto;}
  .memory-history {padding:22px;}
  .memory-history h3 {font-size:27px;}
  .memory-detail h3 {font-size:26px;}
  body .app-shell .memory-footnote {padding:14px 18px;}
  .review-score-figure {padding:16px 12px;}
  .review-status {justify-items:start; max-width:none; text-align:left;}
  .review-score-chart {gap:8px; overflow-x:auto; grid-template-columns:repeat(var(--review-count,8),minmax(38px,1fr));}
  .review-record>summary {padding:12px;}
  .review-record dl>div {grid-template-columns:1fr; gap:5px;}
}
@media (max-width:360px) {
  body .main-panel {padding-inline:14px;}
  body .app-shell .command-context {gap:17px;}
  body .app-shell .command-context small {font-size:9px;}
  body .app-shell .panel {padding:16px;}
  body .app-shell .memory-workspace {padding:0;}
  body .topbar-actions {gap:2px;}
}
@media (prefers-reduced-motion:reduce) {
  body .app-shell *,body .modal * {animation:none !important; transition:none !important; scroll-behavior:auto !important;}
}

.progress-basis {display:block; font-size:9px; font-weight:400; color:var(--faint); margin-top:4px;}

/* Supersede legacy ID-scoped ordering and decorative treatments. */
body #content[data-view="today"] > .product-progress-grid {order:3;}
body #content[data-view="today"] > .today-context-details {order:4;}
body #quick-capture-button {box-shadow:none;}
body .app-shell .mission-card-v1,body .app-shell .mission-card-v1:first-of-type {display:block; background:transparent;}
body .app-shell .mission-card-v1>.row-actions {margin-top:20px; justify-content:flex-start;}
body .app-shell .learn-command-grid>.panel:first-child {background:var(--surface); box-shadow:none; border-color:var(--border-soft);}
body .app-shell .learn-hero-metrics>span {background:none; border:0;}
.memory-search .sr-only {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;}

/* Market Lens: one data snapshot, an inspectable perspective, a saved decision trail. */
body .money-command-strip[hidden] {display:none!important;}
.market-lens {min-width:0; color:var(--text);}
.market-lens *, .market-lens *::before, .market-lens *::after {box-sizing:border-box;}
.market-lens p {line-height:1.65; color:var(--muted);}
.market-lens h3 {font:24px/1.2 Georgia,serif; font-weight:400; letter-spacing:-.5px; color:var(--text); margin:0 0 14px;}
.lens-heading {display:flex; justify-content:space-between; gap:20px; align-items:start; padding:8px 0 26px;}
body .app-shell .lens-heading h2 {font:44px/1.08 Georgia,serif; letter-spacing:-1.5px; margin:14px 0;}
.lens-heading h2 em {color:var(--product-accent);font-weight:400;}
.lens-heading>div>p:last-child {font-size:13px; margin:14px 0 0;}
.lens-badge {display:inline-flex; flex-shrink:0; max-width:100%; height:fit-content; padding:5px 8px; background:var(--product-wash); color:var(--product-accent); border:1px solid var(--border-soft); border-radius:5px; font-size:10px; line-height:1.4; letter-spacing:.15px;}
.lens-controls {display:flex; align-items:end; gap:12px; padding:18px 0; border-top:1px solid var(--border-soft);}
.lens-controls label {display:grid; gap:7px; font-size:11px; color:var(--muted);}
.lens-controls label:first-child {width:110px;}
.lens-controls label:nth-child(2) {width:240px;}
.lens-controls :is(input,select) {width:100%; font-size:13px; padding:10px 12px;}
.lens-controls .primary-button {margin-left:auto; padding:10px 20px;}
.lens-watchlist {display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:2px 0 20px;}
.lens-watchlist button {background:var(--surface); border:1px solid var(--border-soft); color:var(--text); border-radius:8px; min-height:44px; padding:8px 12px; text-align:left; font-size:12px;}
.lens-watchlist button[aria-pressed=true] {border-color:var(--product-accent); background:var(--product-wash);}
.lens-watchlist small {display:block; color:var(--muted); font-size:9px; margin-top:4px;}
.lens-watchlist>span {margin-left:auto; color:var(--faint); font-size:10px;}
.lens-feedback {font-size:12px;}
.lens-error {border-left:2px solid var(--muted); padding:10px 14px; background:var(--surface-muted);}
.lens-main-grid {display:grid; grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr); gap:18px; align-items:start;}
.lens-price-panel,.lens-ai-panel {border:1px solid var(--border-soft); border-radius:14px; background:var(--surface); padding:26px; min-width:0;}
.lens-ai-panel {background:var(--product-wash); padding:24px;}
.lens-panel-head {display:flex; align-items:start; justify-content:space-between; gap:12px; margin-bottom:20px;}
.lens-panel-head .eyebrow {margin:0 0 12px;}
.lens-panel-head .eyebrow span {letter-spacing:.5px; font-weight:400;}
.lens-price {font-size:40px; line-height:1.2; font-weight:400; letter-spacing:-1.5px; font-variant-numeric:tabular-nums;}
.lens-change {color:var(--product-accent); font-size:12px; margin-top:8px;}
.lens-change span {color:var(--muted); margin-left:5px; font-size:10px;}
.lens-ranges {display:flex; gap:2px;}
.lens-ranges button {background:transparent; color:var(--muted); border:0; border-radius:6px; min-width:42px; min-height:44px; font-size:11px;}
.lens-ranges button[aria-pressed=true] {color:var(--product-accent); background:var(--product-wash);}
.lens-chart-caption,.lens-date-axis {display:flex; justify-content:space-between; gap:10px; font-size:10px; color:var(--muted);}
.lens-chart-caption {margin:24px 0 6px;}
.lens-chart {stroke:none; cursor:crosshair; touch-action:pan-y; display:block; width:100%; height:auto; color:var(--product-accent); overflow:visible;}
.lens-gridline {stroke:var(--border-soft); stroke-width:1; stroke-dasharray:3 6;}
.lens-crosshair {stroke:var(--product-accent); stroke-width:1; stroke-dasharray:3 5; opacity:.5;}
.lens-axis {fill:var(--muted); font:10px system-ui;}
.lens-explorer {display:flex; align-items:center; gap:15px; font-size:10px; color:var(--muted); margin-top:12px;}
body .app-shell .lens-explorer input {min-width:0; width:100%; accent-color:var(--product-accent); min-height:44px; border:0; background:transparent; padding:0;}
.lens-explorer>span {flex:0 0 95px;}
.lens-chart-stats {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--border-soft); border-bottom:1px solid var(--border-soft); padding:18px 0; gap:12px;}
.lens-chart-stats small {display:block; color:var(--muted); font-size:10px; margin-bottom:8px;}
.lens-chart-stats strong {font-size:17px; font-weight:500;}
.lens-chart-stats strong span {font-size:10px; font-weight:400; color:var(--muted);}
.lens-provenance {margin-top:18px;}
.lens-provenance p {font-size:10px; margin:10px 0 0;}
.lens-ai-empty {padding:6px 0 20px;}
.lens-orbit {width:54px; height:54px; display:grid; place-items:center; border:1px solid var(--border); border-radius:50%; color:var(--product-accent); font-size:26px; margin:12px 0 26px; box-shadow:0 0 0 9px color-mix(in srgb,var(--surface) 50%,transparent);}
.lens-ai-empty p,.lens-brief-result p,.lens-reasons {font-size:12px;}
.lens-ai-panel>.primary-button {width:100%; padding:10px 14px; margin-top:12px;}
.market-lens button:disabled {opacity:.55; cursor:not-allowed;}
.lens-consent-note {font-size:10px; margin:12px 0 0;}
.lens-empty-chart {min-height:290px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:30px;}
.lens-empty-chart p {font-size:14px; max-width:280px;}
.lens-empty-chart small {color:var(--faint); line-height:1.7; font-size:11px; max-width:270px;}
.lens-bottom-grid {display:grid; grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr); gap:32px; padding:36px 0;}
.lens-news-list {list-style:none; margin:0; padding:0;}
.lens-news-list li {display:flex; gap:16px; padding-bottom:24px; position:relative;}
.lens-news-dot {width:7px; height:7px; background:var(--product-accent); border-radius:50%; flex:none; margin-top:7px;}
.lens-news-list li:not(:last-child)::after {content:''; position:absolute; width:1px; background:var(--border-soft); top:20px; bottom:6px; left:3px;}
.lens-news-list small {color:var(--muted); font-size:10px; display:block; margin-bottom:8px;}
.lens-news-list a {color:var(--text); font-size:14px; text-decoration:none; line-height:1.5; display:block;}
.lens-news-list a:hover {text-decoration:underline; text-underline-offset:4px;}
.lens-news-list a span {color:var(--product-accent);}
.lens-history {border-left:1px solid var(--border-soft); padding-left:26px;}
.lens-history p {font-size:12px;}
.lens-history ol {list-style:none; margin:24px 0 0; padding:0 0 0 14px; border-left:1px solid var(--border-soft);}
.lens-history li {position:relative;}
.lens-history li::before {content:''; position:absolute; width:7px; height:7px; border-radius:50%; background:var(--surface); border:2px solid var(--product-accent); left:-18px; top:24px;}
.lens-history button {display:grid; gap:7px; width:100%; min-height:58px; border:0; border-bottom:1px solid var(--border-soft); border-radius:0; padding:12px 4px; text-align:left; background:transparent; color:var(--text); font-size:12px;}
.lens-history button[aria-pressed=true] {color:var(--product-accent); background:var(--product-wash);}
.lens-history button small {font-size:10px; color:var(--muted);}
.lens-empty-note {font-size:12px; color:var(--faint);}
.lens-brief-meta {display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px;}
.lens-reasons {padding-left:18px; color:var(--text); line-height:1.65;}
.lens-reasons li {padding:7px 0;}
.lens-evidence-links {display:flex; flex-wrap:wrap; gap:10px;}
.lens-evidence-links a {font-size:10px; color:var(--product-accent); text-underline-offset:3px; padding:8px 0;}
.lens-next {border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:18px 0; margin:16px 0;}
.lens-next small {color:var(--product-accent); font-size:10px; text-transform:uppercase; letter-spacing:1px;}
.lens-next p {margin:8px 0 0; color:var(--text);}
.lens-brief-result details {font-size:11px; overflow-wrap:anywhere;}
.lens-brief-result summary {cursor:pointer; min-height:44px; padding:13px 0; line-height:1.5;}
.lens-brief-result details ul {padding-left:18px; line-height:1.7;}
.lens-source {border-top:1px solid var(--border); padding:14px 0 4px; scroll-margin-top:20px;}
.lens-source a {color:var(--product-accent); line-height:1.7;}
.lens-observations {border-top:1px solid var(--border); margin-top:14px; padding-top:18px;}
.lens-observations>header {display:flex; justify-content:space-between; gap:12px; align-items:start;}
.lens-observations h4 {font:18px/1.3 Georgia,serif; font-weight:400; margin:5px 0 0; color:var(--text);}
.lens-observations>header small,.lens-observations li time,.lens-observations li small {font-size:10px; color:var(--muted);}
.lens-observations>ol {list-style:none; padding:0; margin:15px 0;}
.lens-observations>ol li {border-left:2px solid var(--border); padding:4px 0 14px 12px;}
.lens-observations>ol li p {color:var(--text); margin:5px 0; white-space:pre-wrap; overflow-wrap:anywhere;}
.lens-observation-compose {border-top:1px solid var(--border);}
.lens-observation-compose form {padding:2px 0 12px;}
.lens-observation-compose fieldset {display:grid; gap:10px; min-width:0; margin:0; padding:0; border:0;}
.lens-observation-compose label {display:grid; gap:7px; color:var(--text); font-size:11px;}
.lens-observation-compose textarea {width:100%; min-height:88px; resize:vertical; padding:10px; font:inherit; color:var(--text); background:var(--surface); border:1px solid var(--control-border); border-radius:8px;}
.lens-observation-compose .secondary-button {justify-self:start; min-height:44px;}
.lens-observation-compose fieldset>p,.lens-trail-warning {font-size:10px;}
.lens-trail-warning {border-left:2px solid var(--muted); padding:9px 12px; background:var(--surface-muted);}
@media (prefers-reduced-motion:no-preference) {
 .lens-chart-wrap {animation:lens-reveal 240ms ease-out;}
 .market-lens button,.lens-news-list a {transition:background-color 160ms ease,color 160ms ease;}
 @keyframes lens-reveal {from {opacity:.3;transform:translateY(3px);} to {opacity:1;transform:none;}}
}
@media(max-width:1100px) {
 .lens-main-grid,.lens-bottom-grid {grid-template-columns:minmax(0,1fr);}
 .lens-history {padding:24px 0 0; border-left:0; border-top:1px solid var(--border-soft);}
 .lens-ai-empty {display:grid; grid-template-columns:60px 1fr; column-gap:22px; align-items:center; padding:0;}
 .lens-ai-empty .lens-orbit {grid-row:span 2;}
 .lens-ai-empty h3 {margin-bottom:0;}
}
@media(max-width:600px) {
 body .app-shell .lens-heading h2 {font-size:34px;}
 .lens-heading {display:block; padding-bottom:18px;}
 .lens-heading>.lens-badge {margin-top:16px;}
 .lens-controls {display:grid; grid-template-columns:80px minmax(0,1fr); gap:12px;}
 .lens-controls label:first-child,.lens-controls label:nth-child(2) {width:100%;}
 .lens-controls .primary-button {grid-column:1/-1; width:100%;}
 .lens-price-panel,.lens-ai-panel {padding:19px 15px;}
 .lens-price {font-size:34px;}
 .lens-ranges button {min-width:38px;}
 .lens-panel-head {gap:7px;}
 .lens-chart-caption {font-size:9px; align-items:center;}
 .lens-chart-caption>span:last-child {max-width:100px; text-align:right;}
 .lens-watchlist>span {margin-left:0; width:100%; margin-top:6px;}
 .lens-change span {display:block; margin:4px 0 0;}
 .lens-chart-stats {gap:7px;}
 .lens-chart-stats strong {font-size:15px;}
 .lens-bottom-grid {padding:28px 0; gap:22px;}
 .lens-ai-empty {display:block;}
}

/* Portfolio exposure: proportional value, source detail, deliberate motion. */
.exposure-map {min-width:0; color:var(--text);}
.exposure-map * {box-sizing:border-box;}
.exp-heading {display:flex;justify-content:space-between;align-items:start;gap:20px;padding:8px 0 30px;}
body .app-shell .exp-heading h2 {font:44px/1.08 Georgia,serif;letter-spacing:-1.5px;margin:14px 0;}
.exp-heading h2 em {color:var(--product-accent);font-weight:400;}
.exp-heading>div>p:last-child {font-size:13px;color:var(--muted);line-height:1.6;margin:14px 0 0;}
.exp-summary {display:grid;grid-template-columns:1.3fr 1fr 1fr;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);padding:25px 0;gap:24px;}
.exp-summary>div {display:grid;gap:10px;align-content:start;}
.exp-summary small,.exp-summary span {font-size:10px;color:var(--muted);line-height:1.6;}
.exp-summary strong {font-size:30px;letter-spacing:-.8px;font-weight:400;}
.exp-summary strong em {font-style:normal;font-size:19px;color:var(--muted);margin-left:5px;}
.exp-summary .exp-freshness {font-size:17px;letter-spacing:-.2px;line-height:1.6;}
.exp-toolbar {display:flex;align-items:center;gap:16px;padding:22px 0;}
.exp-toolbar>span {font-size:10px;color:var(--muted);margin-left:auto;}
.exp-switch {display:flex;background:var(--surface-muted);border-radius:8px;padding:3px;gap:3px;}
.exp-switch button {min-height:44px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);padding:0 18px;font-size:12px;}
.exp-switch button[aria-pressed=true] {background:var(--surface);border-color:var(--border-soft);color:var(--product-accent);}
.exp-currency {display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);}
.exp-currency select {padding:8px;}
.exp-layout {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(285px,1fr);gap:22px;align-items:start;}
.exp-map-panel {min-width:0;}
.exp-map-header {display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);margin:4px 0 17px;}
.exp-map-header p {margin:0;}
.exp-map-header span {font-size:10px;}
.exp-tiles {position:relative;width:100%;aspect-ratio:100/72;border-radius:14px;overflow:hidden;}
body .app-shell .exp-tile {position:absolute;min-height:0;min-width:0;padding:0;display:grid;place-items:center;border:3px solid var(--bg);border-radius:10px;color:#f4f7ee;cursor:pointer;box-shadow:none;line-height:1.3;overflow:hidden;}
.exp-tone-0 {background:#315f4c;}.exp-tone-1 {background:#467361;}.exp-tone-2 {background:#547559;}.exp-tone-3 {background:#476564;}.exp-tone-4 {background:#636c47;}.exp-tone-5 {background:#55685e;}
body .app-shell .exp-tile.is-selected {box-shadow:inset 0 0 0 2px #f3f5e7;}
.exp-tile>span {display:grid;gap:6px;padding:10px;max-width:100%;}
.exp-tile strong {font-size:clamp(13px,1.7vw,24px);font-weight:500;overflow-wrap:anywhere;}
.exp-tile small {font-size:clamp(12px,1.3vw,17px);font-variant-numeric:tabular-nums;}
.exp-tile em {font-size:11px;font-style:normal;opacity:1;margin-top:6px;}
.exp-map-note {font-size:10px;color:var(--muted);line-height:1.7;margin:15px 4px;}
.exp-detail {background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;padding:24px;min-width:0;}
.exp-detail .eyebrow {margin:0 0 17px;}
.exp-detail-title {display:flex;justify-content:space-between;gap:10px;align-items:center;}
.exp-detail h3 {font:31px/1.1 Georgia,serif;letter-spacing:-.6px;margin:0;overflow-wrap:anywhere;}
.exp-detail>p {font-size:12px;line-height:1.6;color:var(--muted);}
.exp-detail-value {display:grid;gap:9px;margin:26px 0;}
.exp-detail-value>strong {font-size:30px;font-weight:400;letter-spacing:-.7px;}
.exp-detail-value>span {font-size:11px;color:var(--muted);}
.exp-policy {padding:18px 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);}
.exp-policy>small {font-size:10px;color:var(--text);}
.exp-policy p {font-size:11px;line-height:1.65;color:var(--text);}
.exp-policy>span {font-size:10px;line-height:1.7;color:var(--muted);display:block;}
.exp-limit-track {position:relative;height:4px;background:var(--border-soft);margin:22px 0 18px;border-radius:2px;}
.exp-limit-track>span {height:100%;background:var(--product-accent);display:block;border-radius:2px;}
.exp-limit-track>i {position:absolute;top:-5px;width:2px;height:14px;background:var(--text);}
.exp-accounts {padding-top:22px;}
.exp-accounts>small {font-size:10px;color:var(--muted);}
.exp-accounts>div {display:flex;justify-content:space-between;gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid var(--border-soft);}
.exp-accounts strong,.exp-accounts b {font-size:11px;font-weight:500;line-height:1.5;}
.exp-accounts small {font-size:9px;color:var(--muted);display:block;margin-top:5px;line-height:1.7;}
.exp-source summary {min-height:44px;padding:15px 0;cursor:pointer;font-size:11px;}
.exp-source p {font-size:10px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere;}
.exp-market-link {width:100%;padding:12px;margin-top:10px;}
.exp-detail .exp-private-note {font-size:10px;color:var(--muted);margin:12px 0 0;}
.exp-holdings {padding:35px 0 25px;}
.exp-list-heading {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;}
.exp-list-heading h3 {font:25px/1.2 Georgia,serif;font-weight:400;letter-spacing:-.5px;}
.exp-list-heading input {padding:10px 13px;font-size:12px;max-width:230px;}
.exp-list {border-top:1px solid var(--border-soft);}
body .app-shell .exp-list button {display:grid;grid-template-columns:minmax(100px,1.2fr) minmax(50px,1.7fr) 55px 85px 16px;align-items:center;width:100%;gap:18px;min-height:72px;background:transparent;border:0;border-bottom:1px solid var(--border-soft);border-radius:0;text-align:left;color:var(--text);padding:13px 10px;font-size:12px;}
body .app-shell .exp-list button[aria-pressed=true] {background:var(--product-wash);}
.exp-list strong {font-weight:500;}.exp-list small {display:block;font-size:10px;color:var(--muted);margin-top:6px;}
.exp-list b {font-size:12px;font-weight:500;}.exp-list em {font-size:12px;font-style:normal;text-align:right;}
.exp-list-bar {height:4px;border-radius:2px;background:var(--border-soft);}
.exp-list-bar i {height:100%;background:var(--product-accent);display:block;border-radius:2px;}
.exp-no-results {font-size:12px;color:var(--muted);padding:24px 0;}
.exp-coverage {border:1px solid var(--border-soft);border-radius:12px;background:var(--surface);margin-bottom:22px;}
.exp-coverage>summary {padding:18px 20px;font-size:12px;min-height:52px;cursor:pointer;color:var(--text);}
.exp-coverage>div {padding:0 22px 18px;font-size:11px;color:var(--muted);line-height:1.8;}
.exp-coverage ul {padding-left:20px;}
.exp-empty {text-align:center;padding:55px 25px;background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;margin:5px 0 25px;}
.exp-empty>span {color:var(--product-accent);font-size:38px;}
.exp-empty h3 {font:27px/1.3 Georgia,serif;max-width:380px;margin:22px auto;}
.exp-empty p {font-size:13px;line-height:1.8;color:var(--muted);max-width:400px;margin:18px auto;}
.exp-empty button {padding:12px 18px;margin-top:10px;}
@media(prefers-reduced-motion:no-preference) {.exp-switch button,.exp-list button,.exp-tile {transition:background-color 160ms ease,box-shadow 160ms ease;}}
@media(max-width:1100px) {.exp-layout {grid-template-columns:minmax(0,1fr);}.exp-detail {max-width:none;}.exp-tile strong {font-size:24px;}.exp-tile small {font-size:17px;}}
@media(max-width:600px) {
 .exp-heading {display:block;padding-bottom:22px;}body .app-shell .exp-heading h2 {font-size:34px;}.exp-heading>.lens-badge {margin-top:18px;}
 .exp-summary {grid-template-columns:1fr 1fr;gap:25px 15px;padding:22px 0;}.exp-summary>div:last-child {grid-column:1/-1;}.exp-summary strong {font-size:26px;}.exp-summary strong em {font-size:15px;display:block;margin:6px 0 0;}
 .exp-toolbar {flex-wrap:wrap;gap:12px;}.exp-toolbar>span {margin-left:0;width:100%;}.exp-switch button {padding:0 15px;}
 .exp-detail {padding:22px 18px;}.exp-detail h3 {font-size:28px;}.exp-tile strong {font-size:15px;}.exp-tile small {font-size:12px;}.exp-tile em {font-size:9px;}body .app-shell .exp-tile {border-width:2px;border-radius:8px;}
 .exp-tile>span {gap:3px;padding:5px;}.exp-map-header {font-size:10px;}.exp-list-heading {display:block;}.exp-list-heading h3 {font-size:23px;}.exp-list-heading input {max-width:none;width:100%;}
 body .app-shell .exp-list button {grid-template-columns:minmax(85px,1fr) 45px 80px;gap:10px;padding:13px 8px;}.exp-list-bar,.exp-list button>span:last-child {display:none;}
}

.exposure-map .sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}

/* Depth comes from distinct surfaces and restrained edges, in both themes. */
:root[data-theme="dark"] body .app-shell .panel {background:linear-gradient(145deg,var(--surface),var(--surface-muted)); box-shadow:inset 0 1px 0 var(--product-highlight),0 8px 30px #00000012;}
:root[data-theme="dark"] body .sidebar {background:linear-gradient(180deg,#17271d,var(--bg-soft) 65%);}
:root[data-theme="dark"] body .app-shell .command-action-card:first-child {background:linear-gradient(125deg,#2b4531,#203829); border-color:#49694d;}
:root[data-theme="dark"] body .mobile-nav {background:linear-gradient(180deg,#213629,#15251c); box-shadow:0 -10px 35px #0003;}
:root[data-theme="dark"] body .modal-panel {background:linear-gradient(145deg,#22372a,var(--surface));}
body .account-menu-panel .appearance-picker {padding:6px; justify-content:space-between; border-bottom:1px solid var(--border-soft); margin-bottom:6px;}
body .account-menu-panel .appearance-picker select {width:auto; min-height:44px;}
body :is(input,select,textarea)::placeholder {color:var(--faint); opacity:1;}
body :is(button,input,select,textarea,summary) {touch-action:manipulation;}
body :is(.main-panel,#content,.panel,.panel-header,.topbar-actions,.modal-panel) {min-width:0;}
body .modal-panel {max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain;}
@media(max-width:760px) {
  body .app-shell :is(input,select,textarea),body .modal :is(input,select,textarea) {font-size:16px;}
  body .app-shell {padding-bottom:calc(100px + env(safe-area-inset-bottom));}
  body .main-panel {padding-left:max(18px,env(safe-area-inset-left)); padding-right:max(18px,env(safe-area-inset-right));}
  body .topbar {padding-top:env(safe-area-inset-top);}
  body .account-menu-panel {right:-75px; width:min(290px,calc(100vw - 36px));}
  body .app-shell :is(.memory-tabs button,.lens-range button,.exp-segment button,.theme-control button) {min-height:44px;}
  body .app-shell .panel-header {flex-wrap:wrap;}
  body .app-shell .exp-coverage summary {min-height:44px;}
  body .modal-panel {width:calc(100% - 24px); max-width:calc(100% - 24px); max-height:calc(100dvh - 24px - env(safe-area-inset-bottom)); margin:auto; padding:22px;}
  .mastery-history>summary,.mastery-attempt-list li>div {align-items:flex-start;flex-direction:column;gap:5px;}
}
@media(prefers-reduced-motion:reduce) {
  body .app-shell *,body .modal *,body .app-shell *::before,body .app-shell *::after {animation:none !important; transition:none !important; scroll-behavior:auto !important;}
}

body .app-shell :is(input,select,textarea),body .modal :is(input,select,textarea) {border-color:var(--control-border);}

@media(max-width:760px) {
  body .app-shell :is(.exp-map-note,.exp-private-note,.exp-policy>small,.exp-policy>span,.exp-source p,.exp-accounts small,.exp-accounts>small,.exp-detail-value>span,.exp-list small,.memory-footnote,.memory-item small,.memory-evidence,.memory-timeline p) {font-size:12px;}
  .exp-tile em {display:none;}
}

/* Recorded-value scenarios: comparison, not prediction or execution. */
.exp-view-switch {display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-bottom:1px solid var(--border-soft);padding-bottom:18px;margin-bottom:24px;}
.exp-view-switch button {min-height:44px;padding:10px 16px;background:transparent;border:1px solid var(--control-border);border-radius:8px;color:var(--muted);font-size:13px;}
.exp-view-switch button[aria-pressed="true"] {background:var(--product-accent);color:var(--product-on-accent);border-color:var(--product-accent);}
.exp-view-switch>span {margin-left:auto;color:var(--faint);font:italic 15px Georgia,serif;}
.scenario-explorer {min-width:0;}
.scn-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px;}
.scn-heading h2 {font:400 clamp(32px,3.4vw,48px)/1.12 Georgia,serif;letter-spacing:-1.6px;margin:12px 0 16px;color:var(--text);}
.scn-heading h2 em {font-weight:400;color:var(--product-accent);}
.scn-heading p:not(.eyebrow) {font-size:14px;line-height:1.7;color:var(--muted);max-width:540px;}
.scn-heading>.lens-badge {margin-top:5px;white-space:normal;}
.scn-source-note {border-left:3px solid var(--product-accent);padding:10px 16px;background:var(--product-wash);color:var(--muted);font-size:12px;line-height:1.65;margin-bottom:24px;border-radius:0 8px 8px 0;}
.scn-layout {display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.7fr);gap:24px;align-items:start;}
.scn-form,.scn-result {min-width:0;background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;padding:24px;}
.scn-form {display:grid;gap:14px;background:var(--surface-muted);}
.scn-form h3 {font:400 23px Georgia,serif;margin:0 0 4px;}
.scn-form label {display:grid;gap:8px;font-size:13px;line-height:1.5;color:var(--text);min-width:0;}
body .app-shell .scn-form :is(input,select) {width:100%;min-width:0;max-width:100%;font-size:16px;padding:10px 12px;}
.scn-form input:disabled {opacity:.65;cursor:not-allowed;}
.scn-field {display:grid;gap:8px;min-width:0;}
.scn-signed-input {display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;}
.scn-signed-input button {min-height:44px;padding:0;white-space:nowrap;line-height:1;border:1px solid var(--control-border);background:var(--surface);color:var(--text);border-radius:8px;font-size:16px;}
.scn-signed-input button:disabled {opacity:.65;cursor:not-allowed;}
.scenario-explorer .scn-help {font-size:12px;line-height:1.6;color:var(--muted);margin:-6px 0 0;}
.scn-presets {display:flex;gap:8px;margin-bottom:4px;}
.scn-presets button {flex:1;min-height:44px;font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:8px;}
.scn-presets button:hover {background:var(--product-wash);}
.scn-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.scn-actions .primary-button {flex:1;padding:12px 16px;}
.scn-status {font-size:12px;line-height:1.6;color:var(--product-accent);margin:0;}
.scn-status:empty {display:none;}
.scn-result-heading {display:flex;flex-wrap:wrap;gap:14px;align-items:start;justify-content:space-between;}
.scn-result-heading h3 {font:400 28px Georgia,serif;margin:8px 0 0;letter-spacing:-.6px;}
.scn-result-heading .lens-badge {font-size:11px;white-space:normal;max-width:100%;}
.scn-value-pair {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0 24px;}
.scn-value-pair>div {min-width:0;}
.scn-value-pair small {display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-bottom:9px;}
.scn-value-pair strong {font:400 clamp(24px,2.4vw,36px) Georgia,serif;letter-spacing:-1px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.scn-value-pair>div:last-child strong {color:var(--product-accent);}
.scn-comparison {display:grid;gap:12px;padding-bottom:24px;border-bottom:1px solid var(--border-soft);}
.scn-comparison>div {display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;align-items:center;}
.scn-comparison span {font-size:12px;color:var(--muted);}
.scn-comparison>div>div {height:16px;border-radius:4px;background:var(--track-bg);overflow:hidden;}
.scn-comparison i {display:block;height:100%;background:var(--faint);border-radius:4px;}
.scn-comparison i.scn-after {background:var(--product-accent);}
.scn-effects {display:grid;gap:14px;padding:20px 0;margin:0;}
.scn-effects>div {display:flex;justify-content:space-between;align-items:baseline;gap:20px;font-size:13px;}
.scn-effects dt {color:var(--muted);}
.scn-effects dd {margin:0;font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;}
.scn-effects>div:last-child {padding-top:14px;border-top:1px solid var(--border-soft);font-weight:600;}
.scn-concentration {padding:20px;background:var(--product-wash);border-radius:10px;}
.scn-concentration h4 {font-size:14px;font-weight:550;margin:0 0 16px;}
.scn-concentration>div {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.scn-concentration>div p {margin:0;}
.scn-concentration small {display:block;color:var(--muted);font-size:12px;margin-bottom:8px;}
.scn-concentration strong {font-size:15px;font-weight:550;overflow-wrap:anywhere;}
.scn-concentration>p,.scn-policy p {font-size:12px;line-height:1.65;color:var(--muted);margin:14px 0 0;}
.scenario-explorer summary {min-height:44px;padding:13px 0;font-size:13px;line-height:1.5;color:var(--text);cursor:pointer;}
.scn-policy {margin-top:12px;border-top:1px solid var(--border);}
.scn-holding-detail {margin-top:18px;border-bottom:1px solid var(--border-soft);}
.scn-table-wrap {overflow-x:auto;max-width:100%;padding-bottom:8px;}
.scn-table-wrap table {border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap;}
.scn-table-wrap caption {text-align:left;white-space:normal;color:var(--muted);line-height:1.6;margin-bottom:12px;}
.scn-table-wrap :is(th,td) {text-align:right;padding:12px 10px;border-bottom:1px solid var(--border-soft);font-variant-numeric:tabular-nums;}
.scn-table-wrap th:first-child {text-align:left;padding-left:0;}
.scn-table-wrap thead {color:var(--muted);}
.mission-task-details {margin:20px 0;border-block:1px solid var(--border-soft);}
.mission-task-details summary,.aev-secondary>summary {min-height:48px;padding:14px 0;cursor:pointer;font-size:14px;}
.mission-task-checklist {list-style:none;padding:0;margin:0 0 12px;}
.mission-task-toggle {display:flex;gap:12px;align-items:center;text-align:left;width:100%;min-height:52px;padding:12px;background:transparent;color:var(--text);border:0;border-radius:10px;}
.mission-task-toggle:hover {background:var(--surface-2);}
.mission-task-toggle>span:first-child {font-size:22px;color:var(--product-accent);}
.mission-task-toggle strong {display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere;}
.mission-task-toggle small {display:block;color:var(--muted);font-size:12px;line-height:1.5;}
.mission-task-toggle[aria-pressed=true] strong {text-decoration:line-through;}
.mission-task-toggle:focus-visible,.mission-task-details summary:focus-visible,.aev-secondary>summary:focus-visible {outline:2px solid var(--product-accent);outline-offset:2px;}
.aev-secondary.aev-workspace-hero {display:block;}
.aev-secondary>.aev-request-panel {padding-top:20px;}
#quick-form [data-quick-mission][hidden] {display:none;}
#quick-form select[name=missionId] {font-size:16px;min-height:44px;}
.scn-footnote {font-size:12px;line-height:1.65;color:var(--muted);margin:18px 0 0;}
.scn-boundaries {margin-top:24px;border-top:1px solid var(--border-soft);}
.scn-boundaries ul,.scn-error ul {font-size:13px;line-height:1.7;color:var(--muted);padding-left:20px;}
.scn-error h3 {color:var(--danger);font-size:18px;}
.scn-empty {border:1px dashed var(--control-border);border-radius:14px;padding:32px;}
.scn-empty p {font-size:14px;line-height:1.7;color:var(--muted);}
.scenario-explorer :focus-visible,.exp-view-switch button:focus-visible {outline:2px solid var(--product-accent);outline-offset:4px;}
@media(max-width:1000px) {
  .scn-layout {grid-template-columns:1fr;}
  .scn-form {grid-template-columns:repeat(2,minmax(0,1fr));}
  .scn-form>* {grid-column:1/-1;}
  .scn-value-pair strong {font-size:32px;}
}
@media(max-width:600px) {
  .exp-view-switch {gap:8px;}
  .exp-view-switch button {flex:1;padding:10px 8px;font-size:12px;}
  .exp-view-switch>span {display:none;}
  .scn-heading {display:block;}
  .scn-heading>.lens-badge {display:inline-block;margin-top:16px;}
  .scn-heading h2 {font-size:34px;letter-spacing:-1.2px;}
  .scn-layout {gap:18px;}
  .scn-form,.scn-result {padding:18px;}
  .scn-value-pair {grid-template-columns:1fr;gap:20px;margin:24px 0;}
  .scn-value-pair strong {font-size:34px;}
  .scn-concentration {padding:16px;}
  .scn-concentration>div {grid-template-columns:1fr;gap:18px;}
  .scn-effects>div {gap:12px;}
  .scn-effects dd {min-width:74px;}
  .scn-heading p:not(.eyebrow) {font-size:13px;}
}

/* Mission task history: exact saved events, never inferred productivity. */
.mission-history-panel {margin-top:24px;}
.mission-history-list {display:grid;gap:0;list-style:none;margin:0;padding:0;}
.mission-history-item {display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;position:relative;padding:0 0 16px;}
.mission-history-item:not(:last-child)::before {content:"";position:absolute;left:16px;top:34px;bottom:0;width:1px;background:var(--border-soft);}
.mission-history-marker {display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--product-wash);border:1px solid var(--border);color:var(--product-accent);font-weight:700;z-index:1;}
.mission-history-item.is-invalid .mission-history-marker {color:var(--danger);}
.mission-history-item details {min-width:0;border-bottom:1px solid var(--border-soft);padding-bottom:12px;}
.mission-history-item summary {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-height:44px;padding:5px 0;cursor:pointer;}
.mission-history-item summary>span {display:grid;gap:4px;min-width:0;}
.mission-history-item summary strong {font-size:14px;font-weight:650;color:var(--text);}
.mission-history-item summary small,.mission-history-item time {font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere;}
.mission-history-item time {white-space:nowrap;text-align:right;}
.mission-history-detail {display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 0 4px;}
.mission-history-detail>small {flex-basis:100%;color:var(--muted);font-size:12px;line-height:1.55;}
.mission-history-note {font-size:12px;color:var(--muted);margin:8px 0 0;}
@media(max-width:600px) {
  .mission-history-item {grid-template-columns:30px minmax(0,1fr);gap:10px;}
  .mission-history-marker {width:30px;height:30px;}
  .mission-history-item:not(:last-child)::before {left:14px;top:30px;}
  .mission-history-item summary {display:grid;gap:5px;}
  .mission-history-item time {text-align:left;white-space:normal;}
}

/* Learning sessions: exact self-recorded steps and append-only completion evidence. */
.learning-session-panel {margin-top:24px;}
.learning-session-progress {height:8px;margin:18px 0 20px;border-radius:999px;background:var(--track-bg);overflow:hidden;}
.learning-session-progress i {display:block;height:100%;border-radius:inherit;background:var(--product-accent);transition:width 180ms ease-out;}
.learning-session-steps {display:grid;gap:0;list-style:none;margin:0;padding:0;border-top:1px solid var(--border-soft);}
.learning-session-steps li {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--border-soft);}
.learning-session-steps li>span {display:grid;gap:4px;min-width:0;}
.learning-session-steps strong {font-size:14px;font-weight:650;color:var(--text);overflow-wrap:anywhere;}
.learning-session-steps strong.complete {text-decoration:line-through;text-decoration-thickness:1px;color:var(--muted);}
.learning-session-steps small {font-size:12px;color:var(--muted);text-transform:capitalize;}
.learning-session-history {margin-top:18px;border-top:1px solid var(--border);}
.learning-session-history>summary {display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px 0;cursor:pointer;}
.learning-session-history>summary>span:first-child {display:grid;gap:3px;}
.learning-session-history>summary strong {font-size:14px;color:var(--text);}
.learning-session-history>summary small,.learning-session-history-body>p {font-size:12px;line-height:1.6;color:var(--muted);}
.learning-session-history-list {display:grid;gap:0;list-style:none;margin:0;padding:8px 0 0;}
.learning-session-history-item {display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;position:relative;padding:0 0 18px;}
.learning-session-history-item:not(:last-child)::before {content:"";position:absolute;left:15px;top:32px;bottom:0;width:1px;background:var(--border-soft);}
.learning-session-history-marker {display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--product-wash);border:1px solid var(--border);color:var(--product-accent);font-weight:700;z-index:1;}
.learning-session-history-item.is-invalid .learning-session-history-marker {color:var(--danger);}
.learning-session-history-item>div {display:grid;gap:5px;min-width:0;padding-top:4px;}
.learning-session-history-item strong {font-size:13px;color:var(--text);overflow-wrap:anywhere;}
.learning-session-history-item small,.learning-session-history-item p,.learning-session-history-item time {font-size:12px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere;}
.learning-session-history-item p {margin:2px 0;}
.learning-session-history-item time {padding-top:4px;white-space:nowrap;text-align:right;}
.learning-session-history-note {font-size:12px;color:var(--muted);margin:8px 0 0;}
@media(max-width:600px) {
  .learning-session-steps li {align-items:flex-start;gap:12px;}
  .learning-session-steps button {flex:0 0 auto;min-width:72px;}
  .learning-session-history-item {grid-template-columns:30px minmax(0,1fr);gap:10px;}
  .learning-session-history-marker {width:30px;height:30px;}
  .learning-session-history-item:not(:last-child)::before {left:14px;top:30px;}
  .learning-session-history-item time {grid-column:2;text-align:left;white-space:normal;padding-top:0;}
}
@media(prefers-reduced-motion:reduce) {
  .learning-session-progress i {transition:none;}
}
