.hero-actions a.button-quiet,
.hero-actions a.button-primary,
.page-actions a.button-primary,
.page-actions a.button-quiet,
.brief-panel a.button-primary,
.agent-heading a.button-quiet {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.how-section,
.agent-section,
.comparison-section {
  scroll-margin-top: 24px;
}

.comparison-section {
  margin: 0 0 42px;
  padding: 30px;
  border: 1px solid #3a615c;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(24, 59, 58, .78), rgba(16, 26, 39, .93) 57%);
}

.comparison-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
}

.comparison-head h2 {
  max-width: 690px;
  margin: 11px 0 0;
  font-size: clamp(26px, 3.3vw, 42px);
  letter-spacing: -.055em;
  line-height: 1.12;
}

.comparison-head > p {
  max-width: 370px;
  margin: 0;
  color: #b6c7ca;
  font-size: 13px;
  line-height: 1.6;
}

.comparison-tabs,
.graph-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.scope-banner {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 22px;
  padding: 13px 15px;
  border: 1px solid rgba(240, 211, 152, .42);
  border-radius: 12px;
  background: rgba(240, 211, 152, .08);
}

.scope-banner-icon {
  display: grid;
  flex: none;
  width: 22px;
  height: 22px;
  place-items: center;
  border: 1px solid rgba(240, 211, 152, .65);
  border-radius: 50%;
  color: #f0d398;
  font-size: 12px;
  font-weight: 850;
}

.scope-banner strong {
  color: #f0d398;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.scope-banner p {
  margin: 4px 0 0;
  color: #c7d1ca;
  font-size: 12px;
  line-height: 1.5;
}

.demo-path {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .9fr);
  gap: 24px;
  align-items: center;
  margin: 28px 0 52px;
  padding: clamp(22px, 4vw, 36px);
  border: 1px solid #3a615c;
  border-radius: 18px;
  background: linear-gradient(120deg, rgba(21, 58, 56, .9), rgba(16, 26, 39, .95));
}
.demo-path h2 { margin: 12px 0; font-size: clamp(23px, 3vw, 36px); letter-spacing: -.045em; }
.demo-path p { max-width: 530px; margin: 0; color: #b5c6c8; font-size: 13px; line-height: 1.7; }
.demo-path-links { display: grid; gap: 9px; }
.demo-path-links a { display: flex; align-items: center; gap: 14px; padding: 13px 16px; border: 1px solid #45615f; border-radius: 10px; background: rgba(10, 25, 32, .62); color: #ecf6ee; text-decoration: none; font-size: 13px; font-weight: 650; }
.demo-path-links a:hover, .demo-path-links a:focus-visible { border-color: var(--mint); background: rgba(25, 60, 59, .78); }
.demo-path-links span { color: var(--mint); font-size: 11px; }

.page-hero {
  padding: 72px 0 42px;
  border-bottom: 1px solid rgba(55, 75, 88, .7);
}

.page-hero h1 {
  max-width: 820px;
  margin: 14px 0 12px;
  font-size: clamp(38px, 5vw, 68px);
  letter-spacing: -.07em;
  line-height: 1.02;
}

.page-hero p {
  max-width: 680px;
  margin: 0;
  color: #a9bac3;
  font-size: 16px;
  line-height: 1.65;
}

.page-hero .page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.top-nav a.active {
  color: var(--mint);
}

.mobile-nav-toggle {
  display: none;
  border: 1px solid #344657;
  border-radius: 8px;
  background: transparent;
  color: #c2ced5;
  padding: 8px 10px;
  font: inherit;
  font-size: 16px;
}

.page-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(205px, 1fr));
  gap: 12px;
  margin: 36px 0 56px;
}

.page-link-card {
  display: flex;
  flex-direction: column;
  min-height: 170px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(18, 28, 40, .8);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.page-link-card:hover {
  transform: translateY(-3px);
  border-color: #4b6972;
  background: #162633;
}

.source-claim-list { margin: 12px 0 15px; padding: 0; list-style: none; }
.source-claim-list li { margin: 7px 0; color: #adbec4; font-size: 11px; line-height: 1.5; }
.source-claim-list a { color: var(--mint); text-decoration: none; }
.source-claim-list a:hover { text-decoration: underline; }

.page-link-card strong {
  margin: 22px 0 8px;
  color: #e5eeee;
  font-size: 17px;
  letter-spacing: -.03em;
}

.page-link-card p {
  margin: 0 0 16px;
  color: #91a4af;
  font-size: 12px;
  line-height: 1.55;
}

.page-link-card span:last-child {
  margin-top: auto;
  color: var(--mint);
  font-size: 11px;
  font-weight: 750;
}

.page-note {
  margin: 0 0 48px;
  padding: 20px 22px;
  border-left: 3px solid var(--gold);
  background: rgba(240, 211, 152, .07);
  color: #c7d2d2;
  font-size: 13px;
  line-height: 1.6;
}

.page-note strong { color: var(--gold); }

.page-loading {
  margin: 28px 0;
}

.page-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin: 30px 0 18px;
}

.page-toolbar h2 {
  margin: 10px 0 0;
  font-size: 28px;
  letter-spacing: -.05em;
}

.page-toolbar p { margin: 7px 0 0; color: #8ea1ad; font-size: 12px; }

.page-toolbar .search-box { min-width: 230px; }

.page-empty { padding: 30px; color: #98aab4; border: 1px dashed #405260; border-radius: 14px; }

.agent-page-grid {
  display: grid;
  grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
  gap: 16px;
  margin: 34px 0 54px;
}

.agent-page-intro,
.agent-console-wide { padding: 25px; }

.agent-page-intro { background: linear-gradient(145deg, rgba(22, 58, 58, .74), rgba(18, 28, 40, .9)); }
.agent-page-intro h2 { margin: 15px 0 11px; font-size: 28px; letter-spacing: -.05em; }
.agent-page-intro p { color: #b8c7ca; font-size: 13px; line-height: 1.6; }
.agent-console-wide { border-left: 1px solid var(--line); }

.comparison-page-card { margin: 34px 0 56px; }

@media (max-width: 900px) {
  .page-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agent-page-grid { grid-template-columns: 1fr; }
  .agent-console-wide { border-left: 0; border-top: 1px solid var(--line); }
}

@media (max-width: 1100px) {
  .mobile-nav-toggle { display: inline-flex; margin-left: auto; }
  .top-nav { display: none; position: absolute; top: 70px; left: 22px; right: 22px; flex-direction: column; gap: 0; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: #101a26; box-shadow: 0 18px 50px rgba(0,0,0,.3); }
  .top-nav.is-open { display: flex; }
  .top-nav a { padding: 12px; }
  .header-actions { margin-left: 0; }
}

@media (max-width: 760px) {
  .page-toolbar { align-items: start; flex-direction: column; }
  .page-toolbar .search-box { width: 100%; }
}

@media (max-width: 520px) {
  .header-actions span:last-child { display: none; }
  .page-links { grid-template-columns: 1fr; }
  .page-hero { padding-top: 48px; }
  .page-hero h1 { font-size: 43px; }
}

@media (max-width: 360px) {
  .header-inner { padding-inline: 14px; gap: 8px; }
  .brand strong { font-size: 11px; letter-spacing: .08em; }
}

.comparison-tabs { margin: 25px 0 14px; }
.graph-actions { margin: 12px 0 22px; }
.graph-actions[hidden] { display: none; }

.comparison-tabs button,
.comparison-run button {
  border: 1px solid #4a6770;
  border-radius: 9px;
  background: #142530;
  color: #d3e3e4;
  padding: 10px 14px;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}

.comparison-tabs button[aria-pressed="true"] {
  color: #102a26;
  background: var(--mint);
  border-color: var(--mint);
}

.comparison-tabs button:focus-visible,
.comparison-run button:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }

.comparison-card {
  display: grid;
  grid-template-columns: minmax(270px, .85fr) minmax(0, 1.15fr);
  overflow: hidden;
  border: 1px solid #344b54;
  border-radius: 14px;
  background: #101c28;
}

.comparison-prompt,
.comparison-result { padding: 25px; min-width: 0; }
.comparison-prompt { display: flex; flex-direction: column; border-right: 1px solid #344b54; }
.comparison-prompt h3 { font-size: clamp(21px, 2.2vw, 29px); line-height: 1.2; letter-spacing: -.04em; margin: 17px 0; }
.comparison-prompt > p,
.comparison-result > div > p { color: #b6c8ce; font-size: 13px; line-height: 1.6; }
.comparison-prompt > p { margin: 0 0 20px; }
.comparison-run { display: flex; flex-direction: column; align-items: start; gap: 10px; margin-top: auto; padding-top: 22px; border-top: 1px solid #334852; }
.comparison-run code { max-width: 100%; overflow-wrap: anywhere; color: #f0d398; font-size: 12px; }
.comparison-run small { min-height: 1em; color: var(--mint); }
.comparison-source { padding: 17px 0; border-top: 1px solid #30414f; }
.comparison-source:first-of-type { margin-top: 15px; }
.comparison-source-meta { color: var(--gold); font-size: 10px; letter-spacing: .08em; font-weight: 800; text-transform: uppercase; }
.comparison-source p { margin: 9px 0; font-size: 13px; line-height: 1.6; color: #dae6e6; }
.comparison-source a { color: var(--mint); font-size: 11px; font-weight: 750; overflow-wrap: anywhere; text-decoration: none; }
.comparison-source a:hover { text-decoration: underline; }
.disagreement-views { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 20px 0; }
.disagreement-view { padding: 17px; border: 1px solid #3a5454; border-radius: 11px; background: #132630; }
.disagreement-view:first-of-type { margin: 0; }
.disagreement-view.conflicts { border-color: #8c675b; }
.disagreement-view p { overflow-wrap: anywhere; }
.comparison-boundary { font-size: 17px !important; color: #e5eee9 !important; }
.comparison-aside { color: #a5bbc2 !important; }
.comparison-footnote { margin: 14px 0 0; color: #a1b8bf; font-size: 11px; line-height: 1.5; }

.how-section {
  margin-bottom: 46px;
}

.how-heading,
.agent-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 26px;
  margin-bottom: 18px;
}

.how-heading h2,
.agent-heading h2 {
  font-size: clamp(26px, 3vw, 38px);
  letter-spacing: -.055em;
  line-height: 1.1;
  margin: 11px 0 0;
}

.how-heading > p,
.agent-heading p {
  max-width: 430px;
  color: var(--soft);
  font-size: 13px;
  line-height: 1.55;
  margin: 0;
}

.agent-heading p {
  max-width: 620px;
  margin-top: 12px;
}

.how-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.how-card,
.agent-example {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(18, 28, 40, .82);
}

.how-card {
  display: flex;
  flex-direction: column;
  min-height: 205px;
  padding: 20px;
}

.how-number,
.example-label {
  color: var(--mint);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}

.how-card h3 {
  font-size: 19px;
  letter-spacing: -.035em;
  margin: 20px 0 7px;
}

.how-card p {
  color: #aab8c2;
  font-size: 12px;
  line-height: 1.55;
  margin: 0 0 20px;
}

.how-card a,
.answer-source a {
  color: var(--mint);
  font-size: 11px;
  font-weight: 750;
  margin-top: auto;
  text-decoration: none;
}

.how-card a:hover,
.answer-source a:hover {
  text-decoration: underline;
}

.agent-section {
  border-top: 1px solid var(--line);
  margin-top: 52px;
  padding-top: 38px;
}

.agent-heading a.button-quiet {
  flex: none;
}

.agent-example {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  overflow: hidden;
}

.agent-question,
.agent-answer {
  padding: 25px;
}

.agent-question {
  background: linear-gradient(145deg, rgba(22, 58, 58, .74), rgba(18, 28, 40, .9));
  border-right: 1px solid var(--line);
}

.agent-question p,
.agent-answer p {
  color: #e4edeb;
  font-size: 17px;
  line-height: 1.45;
  letter-spacing: -.015em;
  margin: 17px 0 24px;
}

.agent-answer p {
  color: #c7d6d8;
  font-size: 15px;
}

.tool-list,
.answer-source {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.tool-list span {
  background: rgba(131, 229, 197, .12);
  border: 1px solid rgba(131, 229, 197, .26);
  border-radius: 20px;
  color: var(--mint);
  font-size: 10px;
  padding: 6px 9px;
}

.answer-source {
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--line);
  padding-top: 15px;
}

.answer-source span,
.agent-limit {
  color: #8ea1ad;
  font-size: 11px;
  line-height: 1.5;
}

.agent-limit {
  margin: 13px 0 0;
}

.agent-console {
  border: 1px solid #476d65;
  border-radius: 14px;
  padding: 24px;
  background: linear-gradient(135deg, #15332f, #121c28 60%);
}

.agent-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.comparison-run button.button-primary { background: var(--mint); color: #092119; border-color: var(--mint); }
.agent-controls label { flex: 1 1 100%; color: var(--mint); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.agent-controls select { flex: 1 1 290px; min-width: 0; padding: 12px; background: #101c28; color: #e4edeb; border: 1px solid #59746f; border-radius: 9px; font: inherit; }
.agent-controls button, .comparison-run button.button-primary { cursor: pointer; }
.agent-controls button:disabled, .comparison-run button:disabled { opacity: .55; cursor: not-allowed; }
.agent-controls select:focus-visible, .agent-controls button:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }
.agent-custom { display: grid; gap: 9px; margin-top: 16px; }
.agent-custom[hidden] { display: none; }
.agent-custom label { color: var(--mint); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.agent-custom textarea { width: 100%; box-sizing: border-box; resize: vertical; border: 1px solid #59746f; border-radius: 9px; background: #101c28; color: #e4edeb; padding: 12px; font: inherit; line-height: 1.55; }
.agent-custom textarea:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.agent-custom small { color: #b5cac8; font-size: 12px; line-height: 1.5; }
.agent-status { margin: 15px 0 0; color: #bfd3d2; font-size: 13px; line-height: 1.55; }
.agent-result { margin-top: 20px; padding: 22px; border: 1px solid #435d56; border-radius: 11px; background: #0e1d25; }
.agent-result[hidden] { display: none; }
.agent-result > p { white-space: pre-wrap; overflow-wrap: anywhere; color: #e1e9e7; line-height: 1.68; font-size: 14px; }
.agent-receipts { padding-top: 16px; border-top: 1px solid #39534e; }
.agent-receipts .tool-list { margin-top: 12px; }
.agent-sources { display: flex; flex-direction: column; align-items: start; gap: 9px; margin-top: 17px; }
.agent-sources a { color: var(--mint); font-size: 12px; }
.agent-recorded { margin-top: 16px; }
.agent-recorded summary { cursor: pointer; color: #c6d9d4; font-size: 12px; padding: 9px 0; }
.agent-recorded .agent-example { margin-top: 8px; }

@media (max-width: 520px) {
  .agent-console { padding: 17px; }
  .agent-controls button { width: 100%; }
  .disagreement-views { grid-template-columns: 1fr; }
}

@media (max-width: 850px) {
  .demo-path { grid-template-columns: 1fr; }
  .comparison-head { align-items: start; flex-direction: column; gap: 10px; }
  .comparison-head > p { max-width: 680px; }
  .comparison-card { grid-template-columns: 1fr; }
  .comparison-prompt { border-right: 0; border-bottom: 1px solid #344b54; }
  .how-heading,
  .agent-heading {
    align-items: start;
    flex-direction: column;
    gap: 11px;
  }
  .how-grid {
    grid-template-columns: 1fr;
  }
  .how-card {
    min-height: 0;
  }
  .agent-example {
    grid-template-columns: 1fr;
  }
  .agent-question {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
}

@media (max-width: 520px) {
  .comparison-section { padding: 19px; }
  .comparison-prompt, .comparison-result { padding: 19px; }
  .comparison-tabs button { flex: 1 1 100%; }
  .hero-actions {
    flex-wrap: wrap;
  }
  .agent-heading a.button-quiet {
    width: 100%;
    justify-content: space-between;
  }
}
/* Reading scale: keep long evidence readable without enlarging decorative type. */
:root {
  font-size: 16px;
  line-height: 1.6;
  --muted: #b2c1ca;
  --soft: #d4dee3;
}

.hero h1,
.page-hero h1 {
  letter-spacing: -.045em;
}

.hero-lede,
.page-hero p {
  color: #d1dfe3;
  font-size: clamp(17px, 1.4vw, 19px);
  line-height: 1.65;
}

.section-kicker,
.eyebrow { font-size: 12px; letter-spacing: .13em; }
.top-nav a { font-size: 14px; }
.brand strong { font-size: 13px; }
.brand small { font-size: 12px; color: #b3c3c9; }
.header-actions, .site-footer { font-size: 12px; color: #b3c3c9; }
.hero-card-bottom, .hero-card-top .mono, .status-chip,
.demo-path-links span, .answer-source span { font-size: 12px; color: #c0d0d7; }
.status-chip { color: var(--mint); }
.search-box input::placeholder, .agent-custom textarea::placeholder {
  color: #b6c8d0;
  opacity: 1;
}
.button-primary, .button-quiet { font-size: 14px; line-height: 1.4; }

.question-panel > p,
.claim-text,
.brief-panel > p,
.page-note,
.page-link-card p,
.how-card p,
.demo-path p,
.comparison-head > p,
.comparison-prompt > p,
.comparison-result > div > p,
.comparison-source p,
.comparison-aside,
.agent-page-intro p,
.agent-answer p,
.agent-result > p,
.method-items p {
  color: #d1dde2;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: normal;
}

.claim-text { max-width: 70ch; }
.question-panel h2 { line-height: 1.3; }
.comparison-source p, .source-scope { overflow-wrap: anywhere; }
.source-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 335px), 1fr)); gap: 16px; }
.source-card { padding: 22px; }
.source-title { font-size: 19px; line-height: 1.35; letter-spacing: -.015em; }
.source-scope { color: #d1dde2; font-size: 15px; line-height: 1.65; margin: 12px 0; }
.source-claim-list li { color: #d4e0e3; font-size: 15px; line-height: 1.65; margin: 11px 0; }
.source-claim-list a, .comparison-source a, .how-card a, .answer-source a, .agent-sources a { font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.source-url { color: #aebfc9; font-size: 12px; line-height: 1.6; }

.review-callout, .scope-banner p, .brief-panel li, .page-toolbar p,
.page-link-card span:last-child, .page-empty, .loading-state, #error,
.agent-status, .agent-limit, .agent-custom small, .agent-recorded summary,
.how-heading > p, .agent-heading p,
.comparison-footnote, .agent-example .answer-source span {
  font-size: 14px;
  line-height: 1.65;
}

.question-panel label, .question-status, .question-meta span,
.balance-label, .date-control, #balance-text, .count-badge,
.stance-pill, .date-pill, .source-kind, .source-date,
.timeline-date, .timeline-label, .source-card-bottom,
.brief-status, .metric-label, .metric-note, .how-number,
.example-label, .tool-list span, .agent-controls label,
.agent-custom label, .comparison-source-meta {
  font-size: 12px;
  letter-spacing: .035em;
}

.question-meta span, .balance-label, .date-control, .timeline-label,
.metric-label, .metric-note, .source-card-bottom, .source-date,
.page-toolbar p { color: #b4c4cd; }
.question-meta strong, .timeline-content strong, .method-items strong,
.page-link-card strong { font-size: 15px; line-height: 1.5; }
.evidence-row-foot { color: #b4c4cd; font-size: 13px; line-height: 1.6; }
.timeline-item { grid-template-columns: minmax(95px, 115px) 13px minmax(0, 1fr); }
.comparison-tabs button, .comparison-run button,
.mode-toggle, select, .date-control input, .search-box input,
.agent-controls select, .agent-custom textarea { font-size: 15px; }
.search-box input { width: 100%; min-width: 0; }
.agent-result > p { max-width: 74ch; white-space: pre-wrap; }
.comparison-aside { color: #d1dde2 !important; }

@media (max-width: 760px) {
  .top-nav a { font-size: 16px; }
  .workspace { grid-template-columns: minmax(0, 1fr); }
  .question-panel, .evidence-panel, .timeline-panel, .brief-panel { padding: 21px; }
  .page-hero h1 { line-height: 1.1; }
  .source-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 420px) {
  .timeline-item { grid-template-columns: 88px 13px minmax(0, 1fr); gap: 8px; }
  .header-inner { gap: 10px; }
}

@media print {
  @page { size: A4; margin: 16mm; }
  html, body[data-page="atlas"] { width: auto; max-width: none; overflow: visible; background: #fff !important; color: #111 !important; }
  body[data-page="atlas"] > :not(main),
  body[data-page="atlas"] main > :not(#dossier-print-report) { display: none !important; }
  body[data-page="atlas"] main { width: auto; max-width: none; margin: 0; padding: 0; }
  body[data-page="atlas"] .dossier-print-report { display: block !important; color: #111; font: 11pt/1.5 Georgia, serif; overflow-wrap: anywhere; }
  .dossier-print-report h1 { font: bold 22pt/1.2 Georgia, serif; margin: 0 0 12pt; }
  .dossier-print-report h2 { font: bold 15pt/1.2 Georgia, serif; margin: 18pt 0 7pt; }
  .dossier-print-report h3 { font: bold 12pt/1.3 Georgia, serif; margin: 0 0 6pt; }
  .dossier-print-report p, .dossier-print-report blockquote { margin: 0 0 9pt; }
  .dossier-print-report .print-kicker { font: bold 9pt/1.2 Arial, sans-serif; letter-spacing: .1em; }
  .dossier-print-report .print-caution { border-left: 3pt solid #4d6f62; padding: 6pt 9pt; background: #edf3ef; }
  .dossier-print-report .print-claim { break-inside: avoid; border-top: 1px solid #aaa; padding: 10pt 0; }
  .dossier-print-report blockquote { padding-left: 9pt; border-left: 2pt solid #777; }
  .dossier-print-report .print-source { padding: 5pt 0; border-bottom: 1px solid #ddd; }
}

/* A receipt is a linked claim preview, never a purported quotation. */
.receipt-preview { position: relative; display: inline-block; margin: 7px 0 0; max-width: 100%; vertical-align: middle; }
.receipt-trigger { border: 1px solid #557b72; border-radius: 7px; padding: 7px 10px; background: #173b3c; color: #dcfff0; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.receipt-trigger:hover, .receipt-trigger:focus-visible { border-color: var(--mint); outline-offset: 2px; }
.receipt-card { display: none; position: absolute; z-index: 10; left: 0; top: calc(100% + 6px); width: min(390px, 85vw); padding: 15px; border: 1px solid #69a28f; border-radius: 10px; background: #102932; box-shadow: 0 15px 40px #030c12cc; color: #edf8f4; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.receipt-preview:hover .receipt-card, .receipt-preview:focus-within .receipt-card, .receipt-preview.is-open .receipt-card { display: grid; gap: 8px; }
.receipt-preview.is-open { display: block; }
.receipt-preview.is-open .receipt-card { position: static; width: min(100%, 620px); margin-top: 8px; box-shadow: none; }
.receipt-card strong { font-size: 13px; line-height: 1.4; }
.receipt-card p { margin: 0; color: #e3eae8; font-size: 14px; line-height: 1.5; }
.receipt-card blockquote { margin: 0; padding: 8px 10px; border-left: 2px solid var(--mint); color: #fff; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.receipt-card span { color: #bbd6d2; font-size: 12px; }
.receipt-card code { color: #c1d3dd; font-size: 11px; white-space: normal; }
.receipt-card a { font-size: 13px; color: var(--mint); }
.source-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.source-filters > label:not(.search-box) { display: grid; gap: 5px; color: #c7d8db; font-size: 12px; }
.source-filters select { min-width: 130px; min-height: 42px; font-size: 13px; }
.dossier-meta .button-quiet { width: fit-content; text-align: left; line-height: 1.4; }
.question-review-badge { display: inline-block; width: fit-content; padding: 8px 10px; border: 1px solid #8a713d; border-radius: 8px; background: #3b301f; color: #ffe3aa !important; font-size: 12px; font-weight: 700; }
.question-review-badge.approved { border-color: #438a71; background: #193d35; color: #c9f8e5 !important; }
.question-review-badge.rejected { border-color: #ab6764; background: #422727; color: #ffd3cd !important; }
.claim-review-note { display: inline-block; margin-left: 9px; color: #bdd7d4; font-size: 11px; letter-spacing: .03em; font-weight: 750; }
.claim-review-badge { display: inline-block; max-width: 100%; margin: 8px 6px 5px 0; padding: 5px 8px; border-radius: 7px; font-size: 12px; line-height: 1.4; font-weight: 700; overflow-wrap: anywhere; }
.claim-review-badge.checked { border: 1px solid #65a187; background: #183e37; color: #d1f9e6; }
.claim-review-badge.awaiting { border: 1px solid #a1814b; background: #392f22; color: #ffe1aa; }
.dossier-print-report { display: none; }
@media (max-width: 620px) {
  .source-filters, .source-filters .search-box { width: 100%; }
  .source-filters > label:not(.search-box) { flex: 1 1 125px; }
  .source-filters select { min-width: 0; }
  .receipt-preview { display: block; }
  .receipt-card { position: static; width: min(100%, 390px); margin-top: 8px; box-shadow: none; }
  .receipt-preview:not(.is-open):not(:focus-within) .receipt-card { display: none; }
}

/* Evidence atlas and long-form reading surfaces */
.atlas-feature, .atlas-next, .method-deep {
  margin: 30px 0 52px; padding: clamp(24px, 4vw, 40px);
  border: 1px solid #3e6861; border-radius: 18px;
  background: linear-gradient(125deg, #163c39, #14232f 67%, #111b27);
}
.atlas-feature h2, .atlas-next h2, .method-deep h2, .reader-guide h2,
.atlas-toolbar h2, .dossier-heading h2 { margin: 10px 0 14px; font-size: clamp(26px, 3vw, 39px); letter-spacing: -.04em; line-height: 1.18; }
.atlas-feature p, .atlas-next p, .method-deep p, .reader-guide p,
.atlas-intro p, .atlas-group-heading p, .dossier-heading p,
.dossier-body > p, .dossier-side > p {
  max-width: 70ch; color: #d1dfe3; font-size: 16px; line-height: 1.72;
}
.atlas-feature-links, .atlas-next-links { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 22px; }
.atlas-feature-links a { display: inline-flex; text-decoration: none; }
.atlas-next-links a, .reader-guide > a, .method-deep a {
  color: var(--mint); font-size: 15px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px;
}
.atlas-intro { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin: 46px 0 42px; }
.atlas-intro h2 { margin: 10px 0; font-size: clamp(28px, 3vw, 40px); line-height: 1.2; letter-spacing: -.04em; }
.atlas-legend { display: grid; gap: 10px; min-width: 225px; color: #d7e4e5; font-size: 14px; }
.atlas-legend span { display: flex; align-items: center; gap: 10px; }
.legend-mark { width: 10px; height: 10px; border-radius: 50%; background: var(--mint); }
.legend-mark.context { background: #f0d398; }.legend-mark.conflict { background: #eb9d95; }
.atlas-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 35px 0 22px; }
.atlas-toolbar p { color: #bdcdd3; font-size: 14px; }
.atlas-toolbar .search-box { min-width: min(100%, 290px); }
.atlas-groups { display: grid; gap: 36px; }
.atlas-more { display: block; margin: 30px auto 0; }
.atlas-group-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; border-bottom: 1px solid #39515b; margin-bottom: 17px; }
.atlas-group-heading h3 { margin: 0 0 14px; font-size: 24px; letter-spacing: -.025em; }
.atlas-group-heading p { max-width: 52ch; margin: 0 0 14px; font-size: 14px; }
.atlas-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 15px; }
.atlas-question { display: flex; min-width: 0; flex-direction: column; text-align: left; gap: 14px; min-height: 240px; padding: 23px; color: #e7f2f1; background: #172834; border: 1px solid #415a62; border-radius: 14px; cursor: pointer; font: inherit; transition: border-color .2s, transform .2s, background .2s; }
.atlas-question:hover, .atlas-question:focus-visible, .atlas-question[aria-pressed="true"] { border-color: var(--mint); background: #1b393c; transform: translateY(-2px); }
.atlas-question:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }
.atlas-card-meta { color: #c4d3d5; font-size: 13px; }
.atlas-question strong { font-size: 19px; line-height: 1.38; }
.atlas-card-summary { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; color: #d0dce0; font-size: 15px; line-height: 1.6; }
.atlas-card-action { margin-top: auto; color: var(--mint); font-size: 14px; font-weight: 750; }
.atlas-dossier { scroll-margin-top: 25px; margin: 55px 0; padding: clamp(24px, 4vw, 40px); border: 1px solid #4b756c; border-radius: 18px; background: #13252f; }
.dossier-heading { display: flex; justify-content: space-between; gap: 30px; padding-bottom: 25px; border-bottom: 1px solid #405962; }
.dossier-heading > div:first-child { max-width: 74ch; }
.dossier-meta { display: flex; flex: 0 0 180px; flex-direction: column; gap: 10px; color: #d3dfdf; font-size: 14px; }
.dossier-meta span:first-child { color: #f0d398; text-transform: capitalize; }
.dossier-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(270px, .85fr); gap: clamp(22px, 4vw, 48px); margin-top: 26px; }
.dossier-grid h3 { margin: 0 0 9px; font-size: 23px; }
.dossier-claim { margin: 18px 0; padding: 21px; border: 1px solid #47645f; border-left: 3px solid var(--mint); border-radius: 12px; background: #152d34; }
.dossier-claim.context { border-left-color: #f0d398; }.dossier-claim.conflicts { border-left-color: #eb9d95; }
.dossier-claim p { color: #e1e9e9; font-size: 16px; line-height: 1.72; overflow-wrap: anywhere; }
.dossier-claim a, .dossier-source a { color: var(--mint); font-size: 15px; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.dossier-side { padding: 24px; border-radius: 13px; background: #1a343b; align-self: start; }
.dossier-source { padding: 15px 0; border-top: 1px solid #44615e; }
.dossier-source span { display: block; margin-top: 6px; color: #b9cbd0; font-size: 13px; }
.dossier-source p { margin: 8px 0 0; color: #d0dce0; font-size: 14px; line-height: 1.68; }
.dossier-open { padding: 20px 0; border-top: 1px solid #44615e; }
.dossier-open p { color: #e2d5b6; font-size: 15px; line-height: 1.65; }
.dossier-side .button-primary { display: inline-flex; text-decoration: none; }
.atlas-next { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.atlas-next-links { display: grid; min-width: 225px; }
.reader-guide { margin: 52px 0; padding: 30px 0; border-top: 1px solid #415960; }
.reader-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 23px 0; }
.reader-guide-grid article { padding: 24px; border: 1px solid #405c5d; border-radius: 13px; background: #172831; }
.reader-guide-grid h3 { margin: 0 0 10px; color: #eef7f2; font-size: 20px; }
.reader-guide-grid p { margin: 0; font-size: 15px; }
.method-deep { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.method-deep h3 { margin: 0 0 12px; font-size: 24px; }
@media (max-width: 900px) {
  .atlas-intro, .atlas-next, .atlas-group-heading, .dossier-heading { align-items: start; flex-direction: column; }
  .dossier-meta { flex: auto; }
  .dossier-grid, .method-deep { grid-template-columns: minmax(0, 1fr); }
  .reader-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .atlas-toolbar { align-items: stretch; flex-direction: column; }
  .reader-guide-grid { grid-template-columns: minmax(0, 1fr); }
  .atlas-dossier { padding: 20px; }
  .dossier-side { padding: 18px; }
}

/* Keep the page itself inside a phone viewport; oversized glow artwork is decorative. */
html, body { max-width: 100%; overflow-x: clip; }
.page-glow-one { left: 0; width: min(240px, 100%); }
.page-glow-two { right: 0; width: min(300px, 100%); }
.hero-copy, .hero-card, .scope-banner > div, .atlas-intro > *,
.atlas-toolbar > *, .atlas-group-heading > *, .atlas-next > *,
.dossier-heading > *, .dossier-grid > *, .method-deep > *,
.comparison-head > *, .comparison-card > *, .agent-page-grid > *,
.page-toolbar > * { min-width: 0; }
.agent-sources a, .dossier-source a, .source-claim-list a,
.page-link-card, .page-note, .atlas-question strong { overflow-wrap: anywhere; }

@media (max-width: 760px) {
  .hero, .workspace, .lower-grid { grid-template-columns: minmax(0, 1fr); }
  .hero h1, .page-hero h1, .atlas-dossier h2 { overflow-wrap: anywhere; }
  .timeline-item { grid-template-columns: 92px 13px minmax(0, 1fr); }
}

@media (max-width: 420px) {
  .header-inner { gap: 8px; padding-inline: 14px; }
  .brand { min-width: 0; gap: 7px; }
  .brand-copy { min-width: 0; }
  .brand strong { font-size: 11px; letter-spacing: .055em; }
  .brand small { font-size: 10px; letter-spacing: 0; }
  .mobile-nav-toggle { flex: none; }
  .hero-card-top { flex-wrap: wrap; }
  .atlas-legend, .atlas-next-links { min-width: 0; }
  .timeline-item { grid-template-columns: 80px 11px minmax(0, 1fr); gap: 7px; }
}

/* Agent run progress */
.agent-progress { display: flex; align-items: center; gap: 0.75rem; margin: 0.5rem 0 1rem; font-size: 0.85rem; opacity: 0.85; }
.agent-progress[hidden] { display: none; }
.agent-progress-track { flex: 1; height: 6px; border-radius: 999px; background: rgba(255, 255, 255, 0.12); overflow: hidden; }
#agent-progress-bar { display: block; height: 100%; width: 0; border-radius: inherit; background: currentColor; transition: width 1s linear; }
#agent-elapsed { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) { #agent-progress-bar { transition: none; } }

/* Homepage audience line */
.hero-audience { max-width: 560px; margin: 14px 0 0; color: var(--muted, #91a1b1); font-size: 14px; line-height: 1.55; }

/* Editor-only review shortcut (hidden unless ?editor=1 was used) */
.editor-review-link { display: inline-block; margin: 8px 0 0 10px; padding: 5px 9px; border: 1px dashed #a1814b; border-radius: 7px; color: #ffe1aa; font-size: 12px; font-weight: 700; text-decoration: none; }
.editor-review-link:hover { background: #392f22; }

/* Sources page: compact cards, collapsible claims, clear spacing */
.source-grid { align-items: start; gap: 20px; }
.source-card { padding: 24px; gap: 0; }
.source-title { margin: 18px 0 10px; }
.source-url { margin: 0 0 14px; }
.source-scope { margin: 0 0 16px; }
.source-claims { margin: 4px 0 16px; border-top: 1px solid #2c3f4e; padding-top: 14px; }
.source-claims-summary { cursor: pointer; color: var(--mint); font-size: 14px; font-weight: 700; padding: 6px 0; list-style-position: inside; }
.source-claims-summary:hover { text-decoration: underline; }
.source-claims[open] .source-claims-summary { margin-bottom: 8px; }
.source-claim-list { margin: 0; }
.source-claim { margin: 0; padding: 16px 0; border-top: 1px solid #26384a; display: grid; gap: 10px; }
.source-claim:first-child { border-top: 0; }
.source-claim-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.source-claim-head .claim-review-badge { margin: 0; }
.source-claim-text { margin: 0; color: #d4e0e3; font-size: 15px; line-height: 1.6; }
.source-claim-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.source-claim-foot .receipt-preview { margin: 0; }
.source-claim-question { font-size: 14px; line-height: 1.5; }
.source-card-bottom { margin-top: auto; }
.page-toolbar { margin-bottom: 20px; }
.page-toolbar { background: rgba(10, 16, 25, 0.97); backdrop-filter: blur(14px); z-index: 20; }

/* Evidence ledger: keep claim content clear of the stance line */
.evidence-row { padding-left: 20px; }
.evidence-row + .evidence-row { margin-top: 2px; }
