/* Audit adaptation of styles.css: exact Aetis palette, rail breakpoints,
   12-column frame, 8px spacing family and section-intersection nodes. */
:root {
  --bg: #0a0a0a;
  --surface: #111;
  --raised: #161616;
  --ink: #f5f5f2;
  --muted: #a5a5a5;
  --orange: #FF481A;
  --line: rgba(255, 255, 255, .14);
  --rail-color: rgba(255, 255, 255, .08);
  --node-color: rgba(255, 255, 255, .55);
  --rail-x: 64px;
  --rail: var(--rail-x);
  --sp-8: 8px;
  --sp-16: 16px;
  --sp-24: 24px;
  --sp-32: 32px;
  --sp-48: 48px;
  --sp-64: 64px;
}
body::before, body::after {
  content: '';
  position: fixed;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--rail-color);
  pointer-events: none;
  z-index: 20;
}
body::before { left: var(--rail-x); }
body::after { right: var(--rail-x); }
.site-header, .hero, .report-layout, .site-footer {
  width: calc(100% - 2 * var(--rail-x));
  max-width: none;
  margin-inline: auto;
}
.site-header {
  height: 88px;
  padding: 16px 32px;
  gap: 32px;
  border-color: var(--rail-color);
}
.header-action {
  min-height: 48px;
  padding: 12px 16px;
  border: 1px solid var(--line);
}
.hero {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding: 64px 32px;
  gap: 0;
  min-height: 608px;
  position: relative;
}
.hero > div:first-child { grid-column: 1 / 8; padding-right: 48px; }
.hero-right { grid-column: 8 / 13; max-width: none; padding-left: 32px; }
.hero h1 { font-size: clamp(64px, 6.8vw, 112px); letter-spacing: -.04em; line-height: .96; }
.hero-note { margin-top: 32px; }
.hero-intro { font-size: clamp(24px, 2vw, 32px); }
.button { min-height: 48px; padding: 16px 24px; margin-block: 32px 24px; }
.button:hover { background: #ff7a3d; }
.report-layout { grid-template-columns: repeat(12, minmax(0, 1fr)); padding: 0; border-color: var(--rail-color); }
.contents { grid-column: 1 / 4; padding: 32px; }
.contents nav h2 { margin-bottom: 24px; }
.contents nav a {
  margin: 0;
  min-height: 48px;
  padding: 12px 16px;
  line-height: 1.5;
  font-size: 14px;
}
.contents nav a[aria-current] { background: var(--raised); box-shadow: inset 0 0 0 1px var(--line); }
.reading-tools { margin-top: 32px; }
.reading-tools button { margin-top: 8px; padding: 12px 16px; min-height: 48px; }
.report { grid-column: 4 / 13; padding: 0; max-width: none; border-color: var(--rail-color); }
.major { padding: 48px 32px; position: relative; border-top: 1px solid var(--rail-color); }
.major:first-child { border-top: 0; }
.hero::before, .hero::after, .major::before, .major::after {
  content: '';
  position: absolute;
  top: -2px;
  width: 5px;
  height: 5px;
  background: var(--node-color);
  pointer-events: none;
}
.hero::before, .major::before { left: -2px; }
.hero::after, .major::after { right: -2px; }
.summary-grid, .priority-list, .benchmark-pair, .question-grid, .method-grid, .glossary { gap: 32px; }
.benchmark-pair article, .note, .roadmap article, .verification { padding: 24px; }
.finding-tools { gap: 16px; }
.finding-tools input, .finding-tools select, .finding-tools button { padding: 12px 16px; min-height: 48px; }
.chapter { padding-block: 32px; }
.chapter + .chapter { margin-top: 16px; }
.chapter summary, .experiment summary { padding: 16px; min-height: 56px; background: var(--surface); }
.chapter details[open] > summary { background: var(--raised); }
.status { padding: 8px 12px; }
.chapter[data-status="Fix first"] .status { background: #26140e; color: #ff987d; }
.report-end { margin: 0; padding: 48px 32px; }
.site-footer { padding: 32px; border-top: 1px solid var(--rail-color); }
.capture, .concept-visual { margin: 32px 0; min-width: 0; }
.capture a, .concept-visual a { display: block; }
.capture img, .concept-visual img { display: block; width: 100%; height: auto; background: var(--surface); }
.capture img { border: 1px solid var(--line); }
.capture figcaption, .concept-visual figcaption { font-size: 12px; line-height: 1.6; color: var(--muted); margin-top: 12px; }
.capture figcaption strong, .concept-visual figcaption strong { color: var(--ink); }
.evidence-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 32px; }
.evidence-pair .capture { margin: 0; }
.capture.mobile-capture { max-width: 310px; margin-inline: auto; }
.evidence-pair .mobile-capture { max-width: 100%; }
.evidence-pair .mobile-capture img { max-height: 600px; width: auto; max-width: 100%; margin-inline: auto; }
.image-link { font-size: 12px; display: inline-block; padding-block: 8px; color: var(--orange); }
@media (min-width:1440px) { :root { --rail-x: 120px; } }
@media (max-width:1024px) {
  :root { --rail-x: 48px; }
  .hero { padding-block: 48px; }
  .hero > div:first-child { grid-column: 1 / 8; padding-right: 24px; }
  .hero-right { padding-left: 16px; }
  .hero h1 { font-size: clamp(52px, 6.6vw, 80px); }
  .contents { padding: 24px 16px; }
  .contents nav a { padding: 12px; font-size: 12px; }
  .reading-tools button { font-size: 12px; padding: 12px; }
  .major { padding: 48px 24px; }
  .report-end { padding: 48px 24px; }
}
@media (max-width:768px) {
  :root { --rail-x: 32px; }
  .site-header { padding: 16px 24px; gap: 16px; }
  .site-header > span { font-size: 11px; }
  .header-action { font-size: 12px; padding: 12px; }
  .hero { padding: 48px 24px; grid-template-columns: 1fr; gap: 32px; min-height: 0; }
  .hero > div:first-child, .hero-right { grid-column: 1; padding: 0; }
  .hero h1 { font-size: clamp(60px, 11vw, 80px); }
  .hero-right { max-width: 560px; }
  .contents { grid-column: 1 / -1; position: relative; max-height: none; padding: 24px; overflow: visible; }
  .contents nav { display: flex; flex-wrap: wrap; gap: 8px; }
  .contents nav h2 { flex-basis: 100%; margin-bottom: 8px; }
  .contents nav a { padding: 12px 16px; font-size: 13px; border: 1px solid var(--line); min-height: 48px; }
  .reading-tools { display: flex; gap: 8px; margin-top: 16px; }
  .reading-tools button { flex: 1; margin: 0; width: auto; }
  .aside-note { display: none; }
  .report { grid-column: 1 / -1; border-left: 0; }
  .major:first-child { border-top: 1px solid var(--rail-color); }
  .table-wrap { margin-right: 0; padding-right: 0; }
  .evidence-pair { grid-template-columns: 1fr; }
  .evidence-pair .mobile-capture { max-width: 310px; }
  .site-footer { padding: 24px; }
}
@media (max-width:540px) {
  :root { --rail-x: 24px; }
  .site-header { height: auto; min-height: 80px; padding: 16px; }
  .site-header > span { display: none; }
  .header-action { max-width: none; margin-left: auto; text-align: left; }
  .hero { padding: 40px 16px; }
  .hero h1 { font-size: clamp(46px, 11.8vw, 64px); }
  .hero-intro { font-size: 24px; }
  .contents { padding: 24px 16px; }
  .contents nav a { font-size: 12px; padding: 12px; }
  .major { padding: 40px 16px; }
  .major > h2 { font-size: 30px; }
  .chapter h2 { font-size: 24px; }
  .chapter summary { padding: 16px; font-size: 13px; }
  .finding-tools { gap: 12px; }
  .finding-tools select { width: 100%; }
  .report-end { padding: 40px 16px; }
  .site-footer { padding: 24px 16px; }
  .note, .roadmap article, .benchmark-pair article, .verification { padding: 20px; }
}
@media print {
  :root {
    color-scheme: light;
    --bg: #fafaf8;
    --ink: #22221f;
    --muted: #454540;
    --surface: #efefea;
    --raised: #e4e4de;
    --orange: #94381e;
    --line: #c8c8c0;
  }
  body::before, body::after, .hero::before, .hero::after, .major::before, .major::after { display: none; }
  .hero, .report-layout { width: 100%; padding: 0; display: block; }
  .hero > div:first-child, .hero-right { padding: 0; }
  .report { border: 0; }
  .major { padding: 24px 0; border: 0; }
  .report-end { padding: 24px; }
  .capture, .concept-visual { break-inside: avoid; }
}
