@font-face {
  font-display: swap;
  font-family: "Aaros Editorial";
  font-style: normal;
  font-weight: 600;
  src: url("fonts/source-serif-4-semibold.woff2") format("woff2");
}

@layer reset, tokens, foundations, components, responsive;

@layer tokens {
  :root {
    color-scheme: light;
    --primitive-limestone: #eee9dd;
    --primitive-parchment: #f8f4ea;
    --primitive-forest: #183b32;
    --primitive-forest-deep: #102a24;
    --primitive-oxblood: #7b2f35;
    --primitive-charcoal: #0f1518;
    --primitive-ink: #292824;
    --primitive-brass: #a38346;
    --primitive-white: #fffdf7;
    --primitive-error: #9f2f2f;

    --color-canvas: var(--primitive-limestone);
    --color-sheet: var(--primitive-parchment);
    --color-sheet-raised: var(--primitive-white);
    --color-nav: var(--primitive-forest);
    --color-nav-deep: var(--primitive-forest-deep);
    --color-reasoning: var(--primitive-oxblood);
    --color-evidence: var(--primitive-charcoal);
    --color-text: var(--primitive-ink);
    --color-text-muted: #5f5b51;
    --color-text-on-dark: #f6f1e7;
    --color-text-on-dark-muted: #c4c3bb;
    --color-pending: #72591f;
    --color-success: #27684d;
    --color-error: var(--primitive-error);
    --color-rule: #c9c0ad;
    --color-rule-strong: #9f947f;
    --color-focus: #b56c32;
    --color-selection: #d9c894;
    --color-selection-text: #1c241f;
    --color-reasoning-wash: rgba(123, 47, 53, 0.06);
    --color-status-reasoning-bg: #ead5d4;
    --color-status-reasoning-text: #612127;
    --color-status-pending-bg: #eadfbd;
    --color-status-pending-text: #624b18;
    --color-status-success-bg: #d5e5dc;
    --color-status-success-text: #1b563e;
    --color-nav-link: #d8e3de;
    --color-nav-link-hover: #ffffff;
    --color-nav-hover: rgba(255, 255, 255, 0.08);
    --color-nav-border: rgba(255, 255, 255, 0.35);
    --color-nav-muted: #bed0c7;
    --color-evidence-rule: #3b4549;
    --color-evidence-success: #96d6b7;
    --color-evidence-output-bg: #080c0e;
    --color-evidence-output-rule: #2d363a;
    --color-evidence-output-text: #dce6e1;
    --color-evidence-heading-muted: #b8c7c0;
    --color-evidence-link: #dbe8e2;
    --color-code-warm-bg: #ece5d7;
    --color-mechanism-code-bg: rgba(0, 0, 0, 0.2);
    --color-mechanism-marker: #8ec7ad;
    --color-overlay: rgba(15, 21, 24, 0.46);
    --color-activity-empty: #d8d1c1;
    --color-activity-1: #b7cdbd;
    --color-activity-2: #7fac8d;
    --color-activity-3: #46805f;
    --color-activity-4: #1f563f;
    --color-activity-selected: var(--primitive-oxblood);

    --font-display: "Aaros Editorial", Georgia, serif;
    --font-reading: Candara, Optima, "Segoe UI", sans-serif;
    --font-technical: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    --paper: var(--color-sheet-raised);
    --rule: var(--color-rule);
    --forest: var(--primitive-forest);
    --oxblood: var(--primitive-oxblood);
    --charcoal: var(--primitive-charcoal);
    --brass: var(--primitive-brass);
    --muted: var(--color-text-muted);
    --font-mono: var(--font-technical);
    --font-serif: var(--font-display);
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 3rem;
    --space-8: 4.5rem;
    --radius-control: 0.5rem;
    --radius-sheet: 0.875rem;
    --shadow-overlay: 0 1.25rem 3.5rem rgba(15, 21, 24, 0.24);
    --shadow-reasoning: 0 1.4rem 3.5rem rgba(65, 53, 38, 0.12);
    --shadow-fixture-reasoning: 0 1.2rem 3rem rgba(65, 53, 38, 0.1);
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --rail-width: 12.5rem;
  }

  [data-theme="cool-study"] {
    --color-canvas: #e8ecea;
    --color-sheet: #f6f8f6;
    --color-nav: #20384a;
    --color-nav-deep: #152838;
    --color-reasoning: #5d365b;
    --color-rule: #bcc6c2;
    --color-rule-strong: #879891;
    --color-selection: #b9d5d2;
    --color-reasoning-wash: rgba(93, 54, 91, 0.07);
    --color-status-reasoning-bg: #e6dbe5;
    --color-status-reasoning-text: #512f50;
    --color-status-pending-bg: #e8e1c6;
    --color-status-pending-text: #5c4d1d;
    --color-status-success-bg: #d2e4dc;
    --color-status-success-text: #1c533e;
    --color-nav-link: #dbe5ec;
    --color-nav-muted: #bfd0dc;
    --color-code-warm-bg: #e3e8e5;
    --color-activity-empty: #d1d9d6;
    --color-activity-1: #b8ccca;
    --color-activity-2: #80aaa4;
    --color-activity-3: #477d76;
    --color-activity-4: #23544f;
    --color-activity-selected: var(--color-reasoning);
    --shadow-reasoning: 0 1.4rem 3.5rem rgba(32, 56, 74, 0.12);
    --shadow-fixture-reasoning: 0 1.2rem 3rem rgba(32, 56, 74, 0.1);
  }
}

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  [hidden] { display: none !important; }
  html { scroll-behavior: smooth; }
  body { margin: 0; }
  button, input, textarea, select { font: inherit; }
  button, a { -webkit-tap-highlight-color: transparent; }
  img, svg { display: block; max-width: 100%; }
  ::selection { background: var(--color-selection); color: var(--color-selection-text); }
  :focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
  :target { scroll-margin-top: var(--space-6); }
  * { scrollbar-color: var(--color-rule-strong) var(--color-canvas); scrollbar-width: thin; }
}

@layer foundations {
  body {
    background: var(--color-canvas);
    color: var(--color-text);
    font-family: var(--font-reading);
    font-size: 1rem;
    line-height: 1.55;
    min-width: min(20rem, 100%);
  }

  a { color: inherit; text-decoration-color: currentColor; text-decoration-thickness: 1px; text-underline-offset: 0.24em; }
  button { cursor: pointer; }
  button:disabled { cursor: not-allowed; opacity: 0.48; }
  h1, h2, h3, p { margin-block-start: 0; }
  h1, h2 { font-family: var(--font-display); font-weight: 600; text-wrap: balance; }
  h1 { font-size: clamp(2.55rem, 5.8vw, 5.25rem); letter-spacing: -0.035em; line-height: 0.98; }
  h2 { font-size: clamp(1.65rem, 3vw, 2.65rem); letter-spacing: -0.025em; line-height: 1.05; }
  h3 { font-size: 0.82rem; letter-spacing: 0.06em; line-height: 1.3; text-transform: uppercase; }
  p { max-width: 72ch; }
  code, pre, time, dd, .sequence, .position-mark { font-variant-numeric: tabular-nums; }

  .skip-link {
    background: var(--color-sheet-raised);
    left: var(--space-4);
    padding: var(--space-3) var(--space-4);
    position: fixed;
    top: -5rem;
    z-index: 30;
  }
  .skip-link:focus { top: var(--space-4); }

  .button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--radius-control);
    display: inline-flex;
    font-weight: 700;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.7rem 1rem;
  }
  .button-primary { background: var(--color-nav); color: var(--color-text-on-dark); }
  .button-primary:hover { background: var(--color-nav-deep); }
  .button-quiet { background: transparent; border-color: var(--color-rule-strong); color: var(--color-text); }
  .button-quiet:hover { background: var(--color-reasoning-wash); border-color: var(--color-reasoning); }

  .status {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 750;
    min-height: 1.75rem;
    padding: 0.2rem 0.65rem;
  }
  .status-oxblood { background: var(--color-status-reasoning-bg); color: var(--color-status-reasoning-text); }
}

@layer components {
  .aaros-shell { display: grid; grid-template-columns: var(--rail-width) minmax(0, 1fr); min-height: 100svh; }

  .primary-rail {
    align-self: start;
    background: var(--color-nav);
    color: var(--color-text-on-dark);
    display: flex;
    flex-direction: column;
    height: 100svh;
    min-height: 100svh;
    padding: var(--space-5);
    position: sticky;
    top: 0;
  }
  .wordmark { align-items: center; display: flex; font-family: var(--font-display); font-size: 1.25rem; gap: var(--space-3); line-height: 0.95; text-decoration: none; }
  .wordmark svg { height: 2.25rem; stroke: currentColor; stroke-linecap: square; stroke-width: 1.6; width: 2.25rem; }
  .primary-rail nav { display: grid; gap: var(--space-1); margin-top: var(--space-8); }
  .primary-rail nav a { border-radius: var(--radius-control); color: var(--color-nav-link); min-height: 2.75rem; padding: 0.65rem 0.8rem; text-decoration: none; }
  .primary-rail nav a:hover { background: var(--color-nav-hover); color: var(--color-nav-link-hover); }
  .primary-rail nav a[aria-current="page"] { background: var(--color-sheet); color: var(--color-nav-deep); font-weight: 750; }
  .teacher-trigger { align-items: center; background: transparent; border: 1px solid var(--color-nav-border); border-radius: var(--radius-control); color: inherit; display: flex; justify-content: space-between; margin-top: auto; min-height: 2.75rem; padding: 0.65rem 0.8rem; }
  .teacher-trigger small { color: var(--color-nav-muted); }

  main { min-width: 0; padding: 0 clamp(1.25rem, 4vw, 4.5rem) var(--space-8); }
  .utility-bar { align-items: center; border-bottom: 1px solid var(--color-rule); display: flex; gap: var(--space-5); justify-content: flex-end; min-height: 4.25rem; }
  .utility-bar a { color: var(--color-text-muted); font-size: 0.86rem; }
  .utility-signout { background: transparent; border: 0; border-bottom: 1px solid currentColor; color: var(--color-text-muted); cursor: pointer; font: inherit; font-size: 0.82rem; padding: 0.2rem 0; }
  .utility-signout:hover { color: var(--color-text); }
  .mobile-brand, .mobile-teacher { display: none; }
  .fixture-disclosure { color: var(--color-text-muted); font-size: 0.78rem; margin: 0 auto 0 0; }
  .persistence-status { align-items: center; color: var(--color-success); display: flex; font-size: 0.86rem; gap: var(--space-2); margin: 0; }
  .persistence-status span:first-child { background: currentColor; border-radius: 50%; flex: 0 0 0.48rem; height: 0.48rem; width: 0.48rem; }
  .persistence-status span:last-child { min-width: 0; }
  .persistence-status time { color: var(--color-text-muted); }

  .today-heading { align-items: end; display: grid; gap: var(--space-6); grid-template-columns: minmax(0, 1fr) auto; padding: var(--space-7) 0 var(--space-6); }
  .today-heading h1 { font-size: clamp(2.55rem, 5vw, 4.65rem); margin-bottom: var(--space-5); max-width: 16ch; }
  .today-heading p { color: var(--color-text-muted); font-size: 1.08rem; margin: 0; max-width: 60ch; }
  .position-mark { display: flex; margin: 0; }
  .position-mark div { border-left: 1px solid var(--color-rule-strong); min-width: 4.6rem; padding-left: var(--space-3); }
  .position-mark dt { color: var(--color-text-muted); font-size: 0.7rem; text-transform: uppercase; }
  .position-mark dd { font-family: var(--font-display); font-size: 1.45rem; margin: 0; }
  .mobile-context { display: none; }

  .section-drawing { display: grid; grid-template-columns: minmax(9.5rem, 0.6fr) minmax(25rem, 1.65fr) minmax(17rem, 0.9fr); min-height: 37rem; position: relative; }
  .resume-context { border-block: 1px solid var(--color-rule-strong); padding: var(--space-6) var(--space-5) var(--space-6) 0; }
  .resume-context h2 { font-family: var(--font-reading); font-size: 0.8rem; letter-spacing: 0.06em; margin-bottom: var(--space-6); text-transform: uppercase; }
  .resume-context dl { display: grid; gap: var(--space-5); margin: 0; }
  .resume-context dt { color: var(--color-text-muted); font-size: 0.72rem; text-transform: uppercase; }
  .resume-context dd { line-height: 1.35; margin: var(--space-1) 0 0; }

  .reasoning-sheet { background: var(--color-sheet); border-top: 1px solid var(--color-rule-strong); box-shadow: var(--shadow-reasoning); display: flex; flex-direction: column; min-width: 0; padding: clamp(1.75rem, 4vw, 3.5rem); position: relative; z-index: 2; }
  .reasoning-sheet::before { background: var(--color-reasoning); content: ""; height: 1px; left: -2.5rem; position: absolute; top: 4.25rem; width: 4.25rem; }
  .sheet-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: var(--space-7); }
  .sequence { color: var(--color-text-muted); font-family: var(--font-technical); font-size: 0.76rem; }
  .reasoning-sheet h2 { font-size: clamp(2.1rem, 3.3vw, 3.25rem); margin-bottom: var(--space-5); max-width: 16ch; order: 1; }
  .sheet-heading { order: 0; }
  .action-reason { order: 2; }
  .sheet-actions { order: 3; }
  .causal-comparison { order: 4; }
  .annotation { order: 5; }
  .action-reason { color: var(--color-text-muted); font-size: 1.03rem; }
  .causal-comparison { display: grid; gap: var(--space-4); grid-template-columns: minmax(0, 1fr) 2.5rem minmax(0, 1fr); margin-top: var(--space-6); }
  .causal-comparison section { border-top: 1px solid var(--color-rule-strong); padding-top: var(--space-3); }
  .causal-comparison h3 { color: var(--color-reasoning); margin-bottom: var(--space-2); }
  .causal-comparison p { font-size: 0.94rem; margin: 0; }
  .causal-arrow { align-items: center; display: flex; }
  .causal-arrow span { background: var(--color-reasoning); display: block; height: 1px; position: relative; width: 100%; }
  .causal-arrow span::after { border-right: 1px solid var(--color-reasoning); border-top: 1px solid var(--color-reasoning); content: ""; height: 0.4rem; position: absolute; right: 0; top: -0.2rem; transform: rotate(45deg); width: 0.4rem; }
  .annotation { color: var(--color-reasoning); font-family: var(--font-display); font-size: 1.05rem; margin: var(--space-6) 0 0; transform: rotate(-1deg); }
  .sheet-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: 0; padding: var(--space-4) 0 var(--space-5); }
  .diagnosis-entry { border-top: 1px solid var(--color-rule-strong); order: 4; padding-top: var(--space-5); }
  .diagnosis-entry[hidden] { display: none; }
  .diagnosis-entry label { display: block; font-weight: 750; margin-bottom: var(--space-2); }
  .diagnosis-entry textarea { background: var(--color-sheet-raised); border: 1px solid var(--color-rule-strong); border-radius: var(--radius-control); color: var(--color-text); padding: var(--space-3); resize: vertical; width: 100%; }
  .diagnosis-entry p { color: var(--color-text-muted); font-size: 0.82rem; margin: var(--space-2) 0 0; }

  .evidence-instrument { background: var(--color-evidence); border-radius: 0 var(--radius-sheet) var(--radius-sheet) 0; color: var(--color-text-on-dark); min-width: 0; overflow: hidden; padding: var(--space-6); position: relative; }
  .instrument-heading { align-items: baseline; border-bottom: 1px solid var(--color-evidence-rule); display: flex; justify-content: space-between; padding-bottom: var(--space-4); }
  .instrument-heading h2 { font-family: var(--font-reading); font-size: 0.84rem; letter-spacing: 0.06em; margin: 0; text-transform: uppercase; }
  .proof-state { color: var(--color-evidence-success); font-size: 0.78rem; font-weight: 750; }
  .proof-metadata { display: grid; gap: var(--space-2); grid-template-columns: repeat(3, minmax(0, 1fr)); margin: var(--space-5) 0; }
  .proof-metadata dt { color: var(--color-text-on-dark-muted); font-size: 0.67rem; text-transform: uppercase; }
  .proof-metadata dd { font-family: var(--font-technical); font-size: 0.73rem; margin: 0.15rem 0 0; overflow-wrap: anywhere; }
  .evidence-instrument pre { background: var(--color-evidence-output-bg); border: 1px solid var(--color-evidence-output-rule); border-radius: var(--radius-control); color: var(--color-evidence-output-text); font-family: var(--font-technical); font-size: 0.78rem; line-height: 1.6; margin: 0; overflow: auto; padding: var(--space-4); }
  .proof-limits { margin-top: var(--space-6); }
  .proof-limits h3 { color: var(--color-evidence-heading-muted); margin: var(--space-5) 0 var(--space-2); }
  .proof-limits p { color: var(--color-text-on-dark-muted); font-size: 0.88rem; margin: 0; }
  .instrument-return { background: transparent; border: 0; color: var(--color-evidence-link); display: none; margin-top: var(--space-6); padding: 0; text-decoration: underline; text-underline-offset: 0.24em; }

  .learning-position { border-top: 1px solid var(--color-rule-strong); display: grid; gap: var(--space-7); grid-template-columns: minmax(16rem, 0.75fr) minmax(25rem, 1.5fr); margin-top: var(--space-8); padding-top: var(--space-7); }
  .learning-position header h2 { margin-bottom: var(--space-4); max-width: 15ch; }
  .learning-position header p { color: var(--color-text-muted); margin: 0; }
  .gate-list { list-style: none; margin: 0; padding: 0; }
  .gate-list li { align-items: center; border-top: 1px solid var(--color-rule); display: flex; justify-content: space-between; min-height: 3.5rem; padding: var(--space-3) 0; }
  .gate-list li:last-child { border-bottom: 1px solid var(--color-rule); }
  .gate-list strong { color: var(--color-text-muted); font-size: 0.76rem; text-transform: uppercase; }
  .gate-list [data-state="complete"] strong { color: var(--color-success); }
  .gate-list [data-state="current"] { color: var(--color-reasoning); font-weight: 750; }
  .gate-list [data-state="current"] strong { color: inherit; }
  .earned-library { border-top: 1px solid var(--color-rule); color: var(--color-text-muted); display: flex; gap: var(--space-4); margin-top: var(--space-8); padding-top: var(--space-4); }
  .earned-library strong { color: var(--color-text); }

  .teacher-dialog { background: var(--color-sheet); border: 0; border-radius: var(--radius-sheet) var(--radius-sheet) 0 0; box-shadow: var(--shadow-overlay); color: var(--color-text); margin: auto 0 0 auto; max-height: 90svh; max-width: 31rem; padding: var(--space-7); width: min(100%, 31rem); }
  .teacher-dialog::backdrop { background: var(--color-overlay); }
  .teacher-dialog h2 { margin: var(--space-7) 0 var(--space-4); }
  .teacher-dialog p { color: var(--color-text-muted); }
  .dialog-close { background: transparent; border: 0; float: right; padding: var(--space-2); text-decoration: underline; text-underline-offset: 0.24em; }
  .teacher-levels { display: grid; gap: var(--space-3); margin: var(--space-5) 0; }
  .teacher-levels .button { align-items: baseline; justify-content: space-between; text-align: left; }
  .teacher-levels small { color: var(--color-text-muted); font-weight: 400; }
  .dialog-link { background: transparent; border: 0; color: var(--color-text-muted); padding: var(--space-2) 0; text-decoration: underline; text-underline-offset: 0.24em; }
  .teacher-effect { border-top: 1px solid var(--color-rule); font-size: 0.84rem; padding-top: var(--space-4); }

  .eyebrow { color: var(--color-reasoning); font-size: 0.75rem; font-weight: 750; letter-spacing: 0.08em; margin-bottom: var(--space-3); text-transform: uppercase; }
  .golden-heading h1 { max-width: 18ch; }
  .golden-context { border-block: 1px solid var(--color-rule-strong); display: grid; grid-template-columns: 1fr 1fr; }
  .golden-context div { display: grid; gap: var(--space-3); grid-template-columns: 5rem 1fr; padding: var(--space-4) 0; }
  .golden-context div + div { border-left: 1px solid var(--color-rule); padding-left: var(--space-5); }
  .golden-context strong { color: var(--color-reasoning); font-size: 0.74rem; letter-spacing: 0.06em; text-transform: uppercase; }
  .golden-context span { color: var(--color-text-muted); font-size: 0.9rem; }
  .stage-path { margin: var(--space-7) 0 var(--space-5); }
  .stage-path ol { border-bottom: 1px solid var(--color-rule-strong); display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; margin: 0; padding: 0; }
  .stage-path li { border-top: 3px solid var(--color-rule); color: var(--color-text-muted); min-height: 4rem; padding: var(--space-3); }
  .stage-path li span { display: block; font-family: var(--font-technical); font-size: 0.68rem; }
  .stage-path li strong { display: block; font-size: 0.68rem; font-weight: 500; margin-top: var(--space-1); }
  .stage-path li[data-state="complete"] { border-color: var(--color-success); color: var(--color-success); }
  .stage-path li[aria-current] { border-color: var(--color-reasoning); color: var(--color-reasoning); font-weight: 750; }
  .stage-path > button { background: transparent; border: 0; border-top: 3px solid var(--color-rule); color: var(--color-text-muted); min-height: 4rem; padding: var(--space-3); text-align: left; }
  .stage-path > button span { display: block; font-family: var(--font-technical); font-size: 0.68rem; }
  .stage-path > button[aria-current] { border-color: var(--color-reasoning); color: var(--color-reasoning); font-weight: 750; }
  .golden-workspace { display: grid; grid-template-columns: minmax(10rem, 0.55fr) minmax(25rem, 1.55fr) minmax(17rem, 0.9fr); min-height: 39rem; }
  .golden-workspace[data-build-active="true"] { grid-template-columns: minmax(0, 1fr); }
  .golden-workspace[data-build-active="true"] .golden-position { display: none; }
  .golden-workspace[data-build-active="true"] .golden-action,
  .golden-workspace[data-build-active="true"] .golden-evidence { grid-column: 1; }
  .golden-workspace[data-build-active="true"] .golden-evidence { margin-top: var(--space-4); min-height: 0; }
  .golden-position { border-block: 1px solid var(--color-rule-strong); padding: var(--space-6) var(--space-5) var(--space-6) 0; }
  .golden-position dl { display: grid; gap: var(--space-5); margin: var(--space-6) 0 0; }
  .golden-position dt { color: var(--color-text-muted); font-size: 0.7rem; text-transform: uppercase; }
  .golden-position dd { margin: var(--space-1) 0 0; overflow-wrap: anywhere; }
  .golden-action { background: var(--color-sheet); border-top: 1px solid var(--color-rule-strong); box-shadow: var(--shadow-reasoning); min-width: 0; padding: clamp(1.75rem, 4vw, 3.5rem); }
  .golden-action h2 { font-size: clamp(2rem, 3.2vw, 3.2rem); max-width: 17ch; }
  .golden-action .action-reason { color: var(--color-text-muted); font-size: 1.02rem; }
  .golden-action form { display: grid; gap: var(--space-3); margin-top: var(--space-6); }
  .golden-action label { font-size: 0.82rem; font-weight: 750; margin-top: var(--space-2); }
  .golden-action textarea, .golden-action input:not([type="checkbox"]):not([type="radio"]) { background: var(--color-sheet-raised); border: 1px solid var(--color-rule-strong); border-radius: var(--radius-control); color: var(--color-text); padding: var(--space-3); width: 100%; }
  .golden-action textarea { min-height: 6rem; resize: vertical; }
  .golden-action pre { background: var(--color-code-warm-bg); border-block: 1px solid var(--color-rule-strong); font-family: var(--font-technical); font-size: 0.78rem; overflow: auto; padding: var(--space-4); white-space: pre-wrap; }
  .golden-action form .button { justify-self: start; margin-top: var(--space-3); }
  .golden-action fieldset { border: 0; display: grid; gap: var(--space-3); margin: var(--space-3) 0; padding: 0; }
  .golden-action legend { font-family: var(--font-display); font-size: 1.2rem; margin-bottom: var(--space-3); }
  .check-row { align-items: start; display: flex; gap: var(--space-2); }
  .check-row input { margin-top: 0.3rem; }
  .golden-evidence { border-radius: 0 var(--radius-sheet) var(--radius-sheet) 0; }
  .golden-evidence > div > p { color: var(--color-text-on-dark-muted); font-size: 0.9rem; }
  .golden-gates { margin-top: var(--space-8); }
  .earned-library a { margin-left: auto; }
  .earned-library a.is-disabled { opacity: 0.5; pointer-events: none; }
  .persistence-error { color: var(--primitive-error); }
  .persistence-pending { color: var(--color-pending); }
  .failure-state { border-block: 1px solid var(--primitive-error); padding-block: var(--space-6); }
  .field-error { color: var(--primitive-error); font-weight: 700; margin: 0; }
  .pilot-orientation { border-block: 1px solid var(--color-rule-strong); display: grid; gap: var(--space-3); margin-block: var(--space-5); padding-block: var(--space-4); }
  .pilot-orientation p { margin: 0; }
  .golden-shell[data-session-ready="false"] .stage-path,
  .golden-shell[data-session-ready="false"] .golden-position,
  .golden-shell[data-session-ready="false"] .golden-evidence,
  .golden-shell[data-session-ready="false"] .golden-gates,
  .golden-shell[data-session-ready="false"] .earned-library { display: none; }
  .golden-shell[data-session-ready="false"] .golden-workspace { grid-template-columns: minmax(0, 45rem); justify-content: center; min-height: 26rem; }
  .golden-shell[data-session-ready="false"] .golden-action { border-bottom: 1px solid var(--color-rule-strong); }

  .entry-shell { background: var(--color-nav); }
  .entry-shell main { background: var(--color-canvas); }
  .lesson-entry { background: var(--color-sheet); border-radius: var(--radius-sheet); box-shadow: var(--shadow-reasoning); display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(20rem, 0.72fr); margin-top: var(--space-7); overflow: hidden; }
  .entry-sheet { display: flex; flex-direction: column; padding: clamp(2.2rem, 4vw, 4.25rem); }
  .entry-sheet h1 { font-size: clamp(3rem, 5.4vw, 5.1rem); margin-bottom: var(--space-5); max-width: 11ch; }
  .entry-reason { color: var(--color-text-muted); font-size: 1.05rem; margin: 0; max-width: 58ch; }
  .entry-actions { align-items: center; display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-5); }
  .entry-primary-action { min-width: 13.5rem; text-decoration: none; }
  .entry-details { color: var(--color-text-muted); font-size: 0.86rem; }
  .entry-details summary { cursor: pointer; min-height: 2.75rem; padding: 0.7rem 0; }
  .entry-details dl { border-top: 1px solid var(--color-rule); display: grid; gap: var(--space-3); margin: var(--space-2) 0 0; padding-top: var(--space-3); }
  .entry-details dt { color: var(--color-text); font-weight: 700; }
  .entry-details dd { margin: var(--space-1) 0 0; }
  .entry-capability { border-top: 1px solid var(--color-rule); display: grid; gap: var(--space-5); grid-template-columns: 7.25rem minmax(0, 1fr); margin-top: auto; padding-top: var(--space-5); }
  .entry-capability h2 { color: var(--color-reasoning); font-family: var(--font-display); font-size: 1.35rem; margin: 0; }
  .entry-capability p { margin: 0; }
  .entry-mechanism { background: var(--color-nav-deep); color: var(--color-text-on-dark); padding: clamp(2rem, 3.5vw, 3.25rem); }
  .entry-mechanism h2 { font-size: clamp(1.9rem, 2.8vw, 2.7rem); margin-bottom: var(--space-5); max-width: 12ch; }
  .entry-mechanism pre { background: var(--color-mechanism-code-bg); border: 1px solid var(--color-nav-border); border-radius: var(--radius-control); color: var(--color-text-on-dark); font-family: var(--font-technical); font-size: 0.75rem; line-height: 1.65; margin: 0 0 var(--space-5); overflow: auto; padding: var(--space-3); white-space: pre-wrap; }
  .entry-mechanism-definition { color: var(--color-nav-muted); font-size: 0.82rem; margin: calc(-1 * var(--space-2)) 0 var(--space-5); }
  .entry-mechanism-definition strong { color: var(--color-text-on-dark); }
  .entry-mechanism ol { display: grid; gap: var(--space-4); list-style: none; margin: 0; padding: 0; }
  .entry-mechanism li { display: grid; gap: 0.1rem var(--space-3); grid-template-columns: 0.7rem minmax(0, 1fr); }
  .entry-mechanism li::before { border: 1px solid var(--color-mechanism-marker); border-radius: 50%; content: ""; height: 0.55rem; margin-top: 0.42rem; width: 0.55rem; }
  .entry-mechanism li strong, .entry-mechanism li span { grid-column: 2; }
  .entry-mechanism li strong { font-size: 0.86rem; }
  .entry-mechanism li span { color: var(--color-nav-muted); font-size: 0.78rem; line-height: 1.4; }
  .entry-mechanism li code { color: var(--color-text-on-dark); font-family: var(--font-technical); font-size: 0.92em; }
  .entry-limit { border-top: 1px solid var(--color-nav-border); color: var(--color-nav-muted); font-size: 0.78rem; margin: var(--space-6) 0 0; padding-top: var(--space-4); }
  .entry-limit p { margin: 0; }
  .entry-limit p + p { margin-top: var(--space-2); }
  .entry-limit strong { color: var(--color-text-on-dark); }
  .next-lesson-status { align-items: start; background: var(--color-sheet); border-block: 1px solid var(--color-rule-strong); display: grid; gap: var(--space-6); grid-template-columns: minmax(8rem, 0.34fr) minmax(0, 1fr) minmax(10rem, auto); margin-top: var(--space-6); padding: var(--space-6); }
  .next-lesson-status-heading { align-items: center; display: flex; gap: var(--space-2); }
  .next-lesson-status-heading p { color: var(--color-text-muted); font-size: 0.82rem; font-weight: 750; letter-spacing: 0.06em; margin: 0; text-transform: uppercase; }
  .next-lesson-status-marker { background: var(--color-pending); border-radius: 50%; box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-pending) 16%, transparent); height: 0.62rem; width: 0.62rem; }
  .next-lesson-status[data-state="ready"] .next-lesson-status-marker { background: var(--color-success); box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-success) 16%, transparent); }
  .next-lesson-status[data-state="blocked"] .next-lesson-status-marker { background: var(--primitive-error); box-shadow: 0 0 0 4px color-mix(in srgb, var(--primitive-error) 14%, transparent); }
  .next-lesson-status[data-state="not_applicable"] .next-lesson-status-marker { background: var(--color-text-muted); box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-text-muted) 14%, transparent); }
  .next-lesson-status-copy h2 { font-size: clamp(1.65rem, 3vw, 2.65rem); margin: 0; max-width: 30ch; }
  .next-lesson-status-copy > p { color: var(--color-text-muted); margin: var(--space-2) 0 0; max-width: 68ch; }
  .next-lesson-status-copy .next-lesson-status-limit { border-top: 1px solid var(--color-rule); font-size: 1rem; margin-top: var(--space-4); padding-top: var(--space-3); }
  .next-lesson-status-actions { align-items: start; display: grid; gap: var(--space-3); justify-items: start; }
  .next-lesson-status-actions .button { min-height: 3rem; white-space: nowrap; }
  .next-lesson-status-command { display: grid; gap: var(--space-1); margin: 0; }
  .next-lesson-status-command span { color: var(--color-text-muted); font-size: 0.82rem; font-weight: 750; text-transform: uppercase; }
  .next-lesson-status-command code { background: var(--color-code-warm-bg); border-radius: var(--radius-control); font-family: var(--font-technical); font-size: 0.78rem; overflow-wrap: anywhere; padding: var(--space-2); }
  .entry-outcomes { border-bottom: 1px solid var(--color-rule-strong); padding-block: var(--space-7); }
  .entry-outcomes header { align-items: end; display: grid; gap: var(--space-6); grid-template-columns: minmax(16rem, 0.8fr) minmax(0, 1.2fr); }
  .entry-outcomes h2 { font-size: clamp(1.9rem, 3vw, 2.65rem); margin: 0; max-width: 19ch; }
  .entry-outcomes header p { color: var(--color-text-muted); margin: 0; }
  .entry-outcomes ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: var(--space-6) 0 0; padding: 0; }
  .entry-outcomes li { border-top: 1px solid var(--color-rule-strong); display: grid; gap: var(--space-2); padding: var(--space-4) var(--space-4) 0 0; }
  .entry-outcomes li + li { border-left: 1px solid var(--color-rule); padding-left: var(--space-4); }
  .entry-outcomes li strong { color: var(--color-reasoning); font-family: var(--font-display); font-size: 1.18rem; }
  .entry-outcomes li span { color: var(--color-text-muted); font-size: 0.86rem; }
  .entry-stage-path { border-block: 1px solid var(--color-rule-strong); padding-block: var(--space-4); }
  .entry-stage-path h2 { font-family: var(--font-reading); font-size: 0.78rem; letter-spacing: 0.06em; margin-bottom: var(--space-3); text-transform: uppercase; }
  .entry-stage-path ol { align-items: start; display: grid; grid-template-columns: repeat(5, minmax(5rem, 1fr)); list-style: none; margin: 0; padding: 0; }
  .entry-stage-path li { align-items: center; color: var(--color-text-muted); display: grid; gap: var(--space-1); justify-items: center; min-width: 0; position: relative; text-align: center; text-transform: uppercase; }
  .entry-stage-path li:not(:last-child)::before { background: var(--color-rule-strong); content: ""; height: 1px; left: calc(50% + 1.8rem); position: absolute; top: 1.72rem; width: calc(100% - 3.6rem); }
  .entry-stage-path li:not(:last-child)::after { border-right: 1px solid var(--color-rule-strong); border-top: 1px solid var(--color-rule-strong); content: ""; height: 0.35rem; position: absolute; right: calc(-50% + 1.8rem); top: 1.54rem; transform: rotate(45deg); width: 0.35rem; }
  .entry-stage-path strong { font-size: 0.75rem; letter-spacing: 0.06em; }
  .entry-stage-path li > span { background: var(--color-rule); border: 1px solid var(--color-canvas); border-radius: 50%; box-shadow: 0 0 0 1px var(--color-rule); height: 0.72rem; position: relative; width: 0.72rem; z-index: 1; }
  .entry-stage-path li[data-state="complete"] { color: var(--color-success); }
  .entry-stage-path li[data-state="complete"] > span { background: var(--color-success); box-shadow: 0 0 0 1px var(--color-success); }
  .entry-stage-path li[aria-current] { color: var(--color-success); }
  .entry-stage-path li[aria-current] > span { background: var(--color-success); box-shadow: 0 0 0 1px var(--color-success); }
  .entry-stage-path > p { color: var(--color-text-muted); font-size: 0.78rem; margin: var(--space-2) 0 0; }
  .entry-rationale { border-bottom: 1px solid var(--color-rule-strong); display: grid; gap: var(--space-8); grid-template-columns: minmax(14rem, 0.6fr) minmax(0, 1.4fr); padding-block: var(--space-7); }
  .entry-rationale h2, .entry-authority h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); max-width: 18ch; }
  .entry-rationale p { max-width: 66ch; }
  .entry-rationale p:last-of-type { margin-bottom: var(--space-5); }
  .entry-secondary-link { display: inline-block; }
  .entry-authority { padding-block: var(--space-7) var(--space-8); }
  .entry-authority dl { display: grid; gap: var(--space-4); grid-template-columns: repeat(3, 1fr); }
  .entry-authority dl div { border-top: 1px solid var(--color-reasoning); padding-top: var(--space-4); }
  .entry-authority dt { font-family: var(--font-display); font-size: 1.35rem; font-weight: 600; }
  .entry-authority dd { color: var(--color-text-muted); margin: var(--space-2) 0 0; }
  .committed-prediction, .proof-comparison { border-top: 1px solid var(--color-rule); display: grid; gap: var(--space-2); padding-top: var(--space-4); }
  .committed-prediction strong { color: var(--color-reasoning); }
  .proof-comparison strong { color: var(--color-success); }
  .completion-summary { border-block: 1px solid var(--color-rule); margin: var(--space-6) 0; }
  .completion-summary div { display: grid; gap: var(--space-4); grid-template-columns: 8rem 1fr; padding: var(--space-3) 0; }
  .completion-summary div + div { border-top: 1px solid var(--color-rule); }
  .completion-summary dt { color: var(--color-text-muted); font-size: 0.72rem; text-transform: uppercase; }
  .completion-summary dd { margin: 0; }

  .section-drawing[data-view-state="evidence"] .reasoning-sheet { opacity: 0; pointer-events: none; transform: translateX(-1.5rem); visibility: hidden; }
  .section-drawing[data-view-state="evidence"] .evidence-instrument { border-radius: var(--radius-sheet); grid-column: 2 / 4; grid-row: 1; transform: translateX(0); z-index: 4; }
  .section-drawing[data-view-state="evidence"] .instrument-return { display: inline-block; }
  .reasoning-sheet, .evidence-instrument { transition: opacity 360ms var(--ease-out), transform 520ms var(--ease-out), border-radius 360ms var(--ease-out); }

  .fixture-page { margin: 0 auto; max-width: 78rem; padding: var(--space-6) clamp(1rem, 5vw, 4.5rem) var(--space-8); }
  .fixture-back { align-items: center; border-bottom: 1px solid var(--color-rule); display: flex; justify-content: space-between; min-height: 3.5rem; }
  .fixture-back span { color: var(--color-text-muted); font-size: 0.8rem; }
  .fixture-heading { padding: var(--space-8) 0; }
  .fixture-heading h1 { max-width: 14ch; }
  .fixture-heading p { color: var(--color-text-muted); font-size: 1.08rem; }
  .fixture-section { border-top: 1px solid var(--color-rule-strong); padding: var(--space-7) 0; }
  .fixture-section > h2 { margin-bottom: var(--space-6); }
  .fixture-row { align-items: center; display: flex; flex-wrap: wrap; gap: var(--space-3); }
  .fixture-pending { background: var(--color-status-pending-bg); color: var(--color-status-pending-text); }
  .fixture-success { background: var(--color-status-success-bg); color: var(--color-status-success-text); }
  .notice-stack { display: grid; }
  .notice { align-items: center; border-top: 1px solid var(--color-rule); display: grid; gap: var(--space-3); grid-template-columns: minmax(10rem, 0.45fr) minmax(15rem, 1fr) auto; padding: var(--space-4) 0; }
  .notice:last-child { border-bottom: 1px solid var(--color-rule); }
  .notice p { color: var(--color-text-muted); margin: 0; }
  .notice-error strong { color: var(--primitive-error); }
  .notice-conflict strong { color: var(--color-pending); }
  .fixture-split { display: grid; gap: var(--space-5); grid-template-columns: 0.7fr 1.3fr 0.9fr; }
  .fixture-split h2 { margin-bottom: var(--space-4); }
  .fixture-split > div > p { color: var(--color-text-muted); }
  .fixture-reasoning { background: var(--color-sheet); box-shadow: var(--shadow-fixture-reasoning); padding: var(--space-6); }
  .fixture-reasoning h3 { color: var(--color-reasoning); }
  .fixture-reasoning label { display: block; font-size: 0.8rem; font-weight: 750; margin: var(--space-5) 0 var(--space-2); }
  .fixture-reasoning textarea { background: var(--color-sheet-raised); border: 1px solid var(--color-rule-strong); border-radius: var(--radius-control); color: var(--color-text); padding: var(--space-3); resize: vertical; width: 100%; }
  .fixture-evidence { background: var(--color-evidence); border-radius: 0 var(--radius-sheet) var(--radius-sheet) 0; color: var(--color-text-on-dark); padding: var(--space-6); }
  .fixture-evidence dl { margin: var(--space-5) 0; }
  .fixture-evidence dl div { border-top: 1px solid var(--color-evidence-rule); display: flex; justify-content: space-between; padding: var(--space-2) 0; }
  .fixture-evidence dt { color: var(--color-text-on-dark-muted); }
  .fixture-evidence dd { font-family: var(--font-technical); margin: 0; }
  .fixture-evidence p { color: var(--color-text-on-dark-muted); }
  .table-wrap { overflow-x: auto; }
  table { border-collapse: collapse; min-width: 43rem; width: 100%; }
  th, td { border-bottom: 1px solid var(--color-rule); padding: var(--space-3); text-align: left; }
  th { color: var(--color-text-muted); font-size: 0.76rem; text-transform: uppercase; }
}

@layer responsive {
  .capsule-content pre {
    max-width: 100%;
    margin: 0;
    padding: var(--space-5);
    overflow-wrap: anywhere;
    white-space: pre-wrap;
    background: var(--color-sheet);
    border: 1px solid var(--color-rule);
    border-radius: var(--radius-sheet);
  }

  .capsule-workspace code { overflow-wrap: anywhere; }

  @media (max-width: 74rem) {
    :root { --rail-width: 9.5rem; }
    .section-drawing { grid-template-columns: minmax(8rem, 0.5fr) minmax(22rem, 1.55fr) minmax(15rem, 0.85fr); }
    .primary-rail { padding-inline: var(--space-4); }
  }

  @media (max-width: 58rem) {
    .aaros-shell { display: block; }
    .primary-rail { bottom: 0; height: auto; min-height: auto; padding: 0.4rem max(0.5rem, env(safe-area-inset-right)) max(0.4rem, env(safe-area-inset-bottom)) max(0.5rem, env(safe-area-inset-left)); position: fixed; top: auto; width: 100%; z-index: 20; }
    .wordmark, .teacher-trigger { display: none; }
    .primary-rail nav { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; }
    .primary-rail nav a { font-size: 0.73rem; justify-content: center; min-height: 2.75rem; min-width: 0; padding: 0.5rem 0.2rem; text-align: center; }
    .primary-rail nav a span { min-width: 0; overflow-wrap: anywhere; }
    main { padding: 0 1.25rem 6rem; }
    .mobile-brand { display: block; font-family: var(--font-display); font-size: 1.05rem; margin-right: auto; }
    .mobile-teacher { background: transparent; border: 1px solid var(--color-rule-strong); border-radius: var(--radius-control); display: block; min-height: 2.75rem; padding-inline: var(--space-3); }
    .fixture-disclosure { display: none; }
    .today-heading { align-items: start; grid-template-columns: 1fr; padding-top: var(--space-7); }
    .position-mark { justify-content: flex-start; }
    .section-drawing { grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.7fr); }
    .resume-context { display: none; }
    .reasoning-sheet { grid-column: 1; }
    .evidence-instrument { grid-column: 2; }
    .section-drawing[data-view-state="evidence"] .evidence-instrument { grid-column: 1 / 3; grid-row: 1; transform: translateX(0); }
    .mobile-context { border-block: 1px solid var(--color-rule); display: block; margin-bottom: var(--space-4); padding: var(--space-3) 0; }
    .mobile-context summary { cursor: pointer; font-weight: 750; min-height: 2.75rem; padding-top: 0.55rem; }
    .mobile-context div { display: flex; flex-direction: column; padding: var(--space-2) 0; }
    .mobile-context span { color: var(--color-text-muted); }
    .learning-position { grid-template-columns: 1fr; }
    .fixture-split { grid-template-columns: 1fr; }
    .fixture-evidence { border-radius: var(--radius-sheet); }
    .notice { align-items: start; grid-template-columns: 1fr; }
    .notice .button { justify-self: start; }
    .golden-workspace { grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.75fr); }
    .golden-position { display: none; }
    .golden-action { grid-column: 1; }
    .golden-evidence { grid-column: 2; }
    .lesson-entry { grid-template-columns: 1fr; }
    .next-lesson-status { grid-template-columns: minmax(8rem, 0.34fr) minmax(0, 1fr); }
    .next-lesson-status-actions { grid-column: 2; }
    .entry-mechanism { border-radius: 0 0 var(--radius-sheet) var(--radius-sheet); }
    .entry-outcomes header { grid-template-columns: 1fr; }
    .entry-outcomes ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .entry-outcomes li:nth-child(3) { border-left: 0; padding-left: 0; }
    .entry-outcomes li:nth-child(n + 3) { margin-top: var(--space-5); }
  }

  @media (max-width: 40rem) {
    main { padding-inline: 1rem; }
    .utility-bar { gap: 0.75rem; min-height: 3.75rem; }
    .persistence-status { font-size: 0.75rem; white-space: nowrap; }
    .persistence-status time { display: none; }
    .today-heading { gap: var(--space-4); padding: 1.25rem 0 1rem; }
    .today-heading h1 { font-size: clamp(2rem, 10vw, 2.85rem); margin-bottom: var(--space-3); }
    .today-heading p { font-size: 0.92rem; line-height: 1.45; }
    .lesson-entry { margin-top: var(--space-5); }
    .next-lesson-status { gap: var(--space-4); grid-template-columns: 1fr; padding: var(--space-5); }
    .next-lesson-status-actions { grid-column: 1; }
    .next-lesson-status-actions .button { width: 100%; }
    .entry-sheet { padding: 1.6rem; }
    .entry-sheet h1 { font-size: clamp(2.65rem, 13vw, 3.45rem); margin-bottom: var(--space-5); }
    .entry-reason { font-size: 1rem; }
    .entry-actions { align-items: stretch; flex-direction: column; }
    .entry-primary-action { width: 100%; }
    .entry-details summary { min-height: 2.75rem; }
    .entry-capability { grid-template-columns: 1fr; }
    .entry-mechanism { padding: 1.6rem; }
    .entry-outcomes { padding-block: var(--space-6); }
    .entry-outcomes ul { grid-template-columns: 1fr; }
    .entry-outcomes li + li { border-left: 0; margin-top: var(--space-4); padding-left: 0; }
    .entry-outcomes li:nth-child(n + 3) { margin-top: var(--space-4); }
    .entry-stage-path { overflow: visible; }
    .entry-stage-path ol { grid-template-columns: repeat(5, minmax(0, 1fr)); min-width: 0; }
    .entry-stage-path > p { min-width: 0; }
    .entry-stage-path li { min-width: 0; }
    .entry-stage-path strong { font-size: 0.62rem; letter-spacing: 0.03em; }
    .position-mark { width: 100%; }
    .position-mark div { flex: 1 1 0; min-width: 0; }
    .position-mark dd { overflow-wrap: anywhere; }
    .section-drawing { display: block; min-height: 0; }
    .reasoning-sheet { border-radius: var(--radius-sheet); min-height: 31rem; padding: 1.3rem; }
    .reasoning-sheet::before { display: none; }
    .sheet-heading { margin-bottom: var(--space-6); }
    .reasoning-sheet h2 { font-size: 1.9rem; margin-bottom: var(--space-3); }
    .action-reason { font-size: 0.92rem; margin-bottom: 0; }
    .sheet-heading { margin-bottom: var(--space-5); }
    .causal-comparison { grid-template-columns: 1fr; }
    .causal-arrow { height: 1.25rem; justify-content: center; }
    .causal-arrow span { height: 100%; width: 1px; }
    .causal-arrow span::after { bottom: 0; right: -0.2rem; top: auto; transform: rotate(135deg); }
    .sheet-actions { align-items: stretch; flex-direction: column; }
    .sheet-actions [data-focus-evidence] { background: var(--color-evidence); border-color: var(--color-evidence); color: var(--color-text-on-dark); }
    .evidence-instrument { border-radius: var(--radius-sheet); display: none; margin-top: var(--space-4); min-height: 34rem; }
    .section-drawing[data-view-state="evidence"] .reasoning-sheet { display: none; }
    .section-drawing[data-view-state="evidence"] .evidence-instrument { display: block; transform: none; }
    .proof-metadata { grid-template-columns: 1fr; }
    .learning-position { margin-top: var(--space-7); }
    .primary-rail nav a { font-size: 0.72rem; }
    .golden-context { grid-template-columns: 1fr; }
    .golden-context div { grid-template-columns: 4.5rem 1fr; }
    .golden-context div + div { border-left: 0; border-top: 1px solid var(--color-rule); padding-left: 0; }
    .stage-path { margin-top: var(--space-5); overflow-x: auto; }
    .stage-path ol { min-width: 29rem; }
    .stage-path li { min-width: 5rem; padding-inline: var(--space-2); }
    .golden-workspace { display: block; }
    .entry-rationale, .entry-authority dl { grid-template-columns: 1fr; }
    .entry-rationale { gap: var(--space-4); }
    .entry-secondary-link { display: inline-block; }
    .golden-action { border-radius: var(--radius-sheet); min-height: 32rem; padding: 1.3rem; }
    .golden-evidence { margin-top: var(--space-4); min-height: auto; }
    .earned-library { align-items: start; flex-direction: column; }
    .earned-library a { margin-left: 0; }
    .authority-table { min-width: 0; }
    .authority-table thead { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
    .authority-table tbody, .authority-table tr, .authority-table td { display: block; width: 100%; }
    .authority-table tr { border-top: 1px solid var(--color-rule-strong); padding-block: var(--space-3); }
    .authority-table td { border: 0; display: grid; gap: var(--space-3); grid-template-columns: minmax(6.75rem, 0.8fr) minmax(0, 1.2fr); overflow-wrap: anywhere; padding: var(--space-2) 0; }
    .authority-table td::before { color: var(--color-text-muted); content: attr(data-label); font-size: 0.76rem; font-weight: 750; letter-spacing: 0.04em; text-transform: uppercase; }
  }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  }

  @media print {
    .primary-rail, .utility-bar, .sheet-actions, .teacher-dialog { display: none !important; }
    .aaros-shell, .section-drawing, .learning-position { display: block; }
    main { padding: 0; }
    .reasoning-sheet, .evidence-instrument { break-inside: avoid; box-shadow: none; margin-bottom: 1.5rem; }
    .evidence-instrument { color-adjust: exact; print-color-adjust: exact; }
  }
}

/* Preserve the existing journey rows when adding native navigation buttons. */
.stage-path li,.build-map li{position:relative}.journey-link{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit}.journey-link>span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}.journey-link:disabled{opacity:1}.journey-link:focus-visible{outline-offset:-4px}
