@layer reset, tokens, base, layout, components, states, responsive, print;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body, h1, h2, h3, p, ul, ol, dl, dd, blockquote, figure { margin: 0; }
  ul, ol { padding: 0; }
  button, input, select { font: inherit; }
  img, svg { display: block; max-width: 100%; }
}

@layer tokens {
  :root {
    color-scheme: dark;
    --di-bg: #06090d;
    --di-bg-soft: #0a1017;
    --di-surface: #101922;
    --di-surface-2: #14232c;
    --di-surface-3: #1c2a36;
    --di-ink: #f5efe4;
    --di-muted: #b8c5cf;
    --di-faint: #8da0ae;
    --di-line: #344b5d;
    --di-line-strong: #4d687c;
    --di-accent: #82e7d3;
    --di-accent-deep: #174b47;
    --di-gold: #efc778;
    --di-good: #87dda3;
    --di-warn: #f0c778;
    --di-bad: #ff958e;
    --di-disputed: #b5a7ff;
    --di-contained: #dd9cf5;
    --di-shadow: 0 24px 76px rgb(0 0 0 / .35);
    --di-radius: 1rem;
    --di-radius-small: .72rem;
    --di-serif: Georgia, "Times New Roman", serif;
    --di-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --di-mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  }
}

@layer base {
  body.di-page {
    min-width: 280px;
    background:
      radial-gradient(circle at 12% 6%, rgb(26 111 107 / .20), transparent 33rem),
      radial-gradient(circle at 88% 18%, rgb(112 67 145 / .13), transparent 31rem),
      var(--di-bg);
    color: var(--di-ink);
    font: 400 1rem/1.68 var(--di-sans);
    text-rendering: optimizeLegibility;
  }
  a { color: var(--di-accent); text-underline-offset: .19em; }
  a:hover { text-decoration-thickness: .15em; }
  h1, h2, h3 { font-family: var(--di-serif); letter-spacing: -.025em; }
  h1 { font-size: clamp(3rem, 7.5vw, 6.9rem); line-height: .9; }
  h2 { font-size: clamp(2rem, 4.2vw, 3.75rem); line-height: 1.02; }
  h3 { font-size: 1.3rem; line-height: 1.2; }
  p + p { margin-top: .8rem; }
  code, .di-hash, .di-code, .di-selector-id { font-family: var(--di-mono); }
  :focus-visible { outline: 3px solid var(--di-gold); outline-offset: 3px; }
}

@layer layout {
  .di-shell { width: min(1240px, calc(100% - 2rem)); margin-inline: auto; }
  .di-site-header {
    position: sticky;
    inset-block-start: 0;
    z-index: 30;
    border-bottom: 1px solid rgb(130 231 211 / .22);
    background: rgb(7 10 15 / .92);
    backdrop-filter: blur(18px);
  }
  .di-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 76px;
  }
  .di-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .18rem; }
  .di-main { padding: 0 0 5rem; }
  .di-hero { padding: clamp(3.3rem, 8vw, 7.1rem) 0 3.2rem; }
  .di-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .78fr);
    gap: 2rem;
    align-items: end;
  }
  .di-journey {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .42rem;
    margin-top: 2rem;
  }
  .di-question-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
  .di-selector-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
  .di-layout { display: grid; grid-template-columns: 258px minmax(0, 1fr); gap: 2rem; align-items: start; }
  .di-rail { position: sticky; top: 96px; }
  .di-content { min-width: 0; }
  .di-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .di-position-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .di-support-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .di-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
  .di-section { scroll-margin-top: 102px; margin: 0 0 4.25rem; }
  .di-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(260px, .78fr);
    gap: 1.35rem;
    align-items: end;
    margin-bottom: 1.25rem;
  }
  .di-controls {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    gap: .7rem;
    align-items: end;
    margin-bottom: 1.15rem;
  }
  .di-evidence-list, .di-obligation-list, .di-timeline { display: grid; gap: .78rem; }
  .di-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .58rem; }
  .di-footer { border-top: 1px solid var(--di-line); padding: 2rem 0; }
  .di-footer-inner { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
}

@layer components {
  .di-skip {
    position: fixed;
    left: -9999px;
    top: 1rem;
    z-index: 100;
    border-radius: .55rem;
    background: #fff;
    color: #000;
    padding: .75rem 1rem;
  }
  .di-skip:focus, .di-skip:focus-visible { left: 1rem; }
  .di-brand { color: var(--di-ink); text-decoration: none; font-weight: 850; letter-spacing: .02em; }
  .di-nav a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: .45rem .68rem;
    border-radius: .55rem;
    color: var(--di-muted);
    text-decoration: none;
  }
  .di-nav a:hover, .di-nav a[aria-current="page"] { background: var(--di-surface-2); color: var(--di-ink); }
  .di-reduced-mode { display: none; }
  .di-kicker, .di-label {
    color: var(--di-accent);
    font-size: .73rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .di-lede { max-width: 73ch; color: var(--di-muted); font-size: clamp(1.04rem, 1.7vw, 1.18rem); }
  .di-boundary {
    margin-top: 1.35rem;
    padding: 1.12rem 1.2rem;
    border-left: 4px solid var(--di-gold);
    border-radius: 0 .82rem .82rem 0;
    background: rgb(239 199 120 / .08);
    max-width: 79ch;
  }
  .di-hero-panel, .di-card, .di-overview, .di-controls, .di-rail, .di-details, .di-selector, .di-question, .di-contest {
    border: 1px solid var(--di-line);
    border-radius: var(--di-radius);
    background: linear-gradient(145deg, rgb(21 33 44 / .95), rgb(10 16 23 / .97));
    box-shadow: var(--di-shadow);
  }
  .di-hero-panel, .di-card, .di-overview, .di-controls, .di-rail, .di-contest { padding: 1.15rem; }
  .di-hero-panel { border-color: rgb(130 231 211 / .34); }
  .di-hero-panel h2 { font-size: clamp(1.65rem, 2.5vw, 2.45rem); max-width: 16ch; }
  .di-question { min-height: 118px; padding: 1rem; box-shadow: none; }
  .di-question strong { display: block; margin-bottom: .35rem; color: var(--di-accent); font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; }
  .di-question span { display: block; line-height: 1.42; }
  .di-journey span {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: .62rem .45rem;
    border: 1px solid var(--di-line);
    border-radius: .65rem;
    background: var(--di-surface);
    text-align: center;
    font-size: .73rem;
    line-height: 1.25;
  }
  .di-journey span:last-child { border-color: var(--di-accent); color: var(--di-accent); box-shadow: inset 0 0 0 1px rgb(130 231 211 / .18); }
  .di-field { min-width: 0; }
  .di-field label { display: block; margin-bottom: .26rem; color: var(--di-muted); font-size: .82rem; font-weight: 750; }
  .di-field select, .di-field input, .di-button {
    width: 100%;
    min-height: 46px;
    border: 1px solid var(--di-line-strong);
    border-radius: .66rem;
    background: var(--di-bg-soft);
    color: var(--di-ink);
    padding: .65rem .75rem;
  }
  .di-button {
    width: auto;
    cursor: pointer;
    border-color: var(--di-accent);
    background: var(--di-accent);
    color: #03130f;
    font-weight: 850;
  }
  .di-button:hover { filter: brightness(1.08); }
  .di-selector {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .8rem;
    align-items: center;
    padding: 1rem;
    color: var(--di-ink);
    text-decoration: none;
    box-shadow: none;
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
  }
  .di-selector:hover, .di-selector[aria-current="true"] { border-color: var(--di-accent); transform: translateY(-1px); }
  .di-selector[aria-current="true"] { box-shadow: 0 0 0 2px rgb(130 231 211 / .18); }
  .di-selector-index { color: var(--di-gold); font: 700 1.8rem/1 var(--di-serif); }
  .di-selector-id { color: var(--di-faint); font-size: .76rem; overflow-wrap: anywhere; }
  .di-selector-meta { color: var(--di-muted); font-size: .82rem; }
  .di-status {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: .25rem .56rem;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
    line-height: 1.25;
  }
  .di-rail strong { display: block; margin-bottom: .72rem; }
  .di-rail a { display: block; min-height: 40px; padding: .46rem .52rem; border-radius: .46rem; color: var(--di-muted); text-decoration: none; }
  .di-rail a:hover { background: var(--di-surface-2); color: var(--di-ink); }
  .di-overview-top, .di-evidence-top { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
  .di-summary { max-width: 78ch; margin: .8rem 0 1rem; color: var(--di-muted); }
  .di-fact { padding: .76rem; border: 1px solid var(--di-line); border-radius: .72rem; background: rgb(7 10 15 / .48); min-width: 0; overflow-wrap: anywhere; }
  .di-fact span { display: block; color: var(--di-muted); font-size: .71rem; letter-spacing: .08em; text-transform: uppercase; }
  .di-role-card { margin-top: 1rem; padding: 1rem; border: 1px solid rgb(130 231 211 / .36); border-radius: .82rem; background: rgb(130 231 211 / .06); }
  .di-pills { display: flex; flex-wrap: wrap; gap: .46rem; margin-top: .66rem; }
  .di-pill { display: inline-flex; padding: .31rem .57rem; border-radius: 999px; background: #243746; color: #dbeaf0; font-size: .75rem; line-height: 1.35; }
  .di-section-intro { color: var(--di-muted); max-width: 64ch; }
  .di-section-head h2 { max-width: 20ch; }
  .di-overview h2 { max-width: 23ch; }
  .di-card p + ul, .di-card h3 + p, .di-card strong + p, .di-card strong + div { margin-top: .56rem; }
  .di-list { padding-left: 1.15rem; }
  .di-list li + li { margin-top: .43rem; }
  .di-check-list { list-style: none; display: grid; gap: .48rem; }
  .di-check-list li { padding: .62rem .68rem; border: 1px solid var(--di-line); border-radius: .58rem; background: rgb(7 10 15 / .42); }
  .di-evidence, .di-obligation, .di-state, .di-position {
    padding: 1rem;
    border: 1px solid var(--di-line);
    border-radius: .82rem;
    background: rgb(7 10 15 / .52);
  }
  .di-position { border-left: 4px solid var(--di-accent); }
  .di-position:nth-child(2) { border-left-color: var(--di-disputed); }
  .di-position:nth-child(3) { border-left-color: var(--di-gold); }
  .di-evidence-top { align-items: center; }
  .di-hash { overflow-wrap: anywhere; color: #ced8df; font-size: .77rem; }
  .di-obligation { border-color: rgb(240 199 120 / .52); }
  .di-state { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: .8rem; align-items: start; }
  .di-state-index { color: var(--di-gold); font: 700 1.48rem/1 var(--di-serif); }
  .di-comparison-table { width: 100%; border-collapse: collapse; }
  .di-comparison-table th, .di-comparison-table td { padding: .76rem; border: 1px solid var(--di-line); text-align: left; vertical-align: top; }
  .di-table-wrap { overflow: auto; max-width: 100%; }
  .di-details { margin-top: 1rem; overflow: hidden; box-shadow: none; }
  .di-details summary { cursor: pointer; min-height: 48px; padding: 1rem; font-weight: 850; }
  .di-details > div { padding: 0 1rem 1rem; }
  .di-code { max-height: 34rem; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; padding: 1rem; border: 1px solid var(--di-line); border-radius: .72rem; background: #040609; color: #dce5ea; }
  .di-endpoint { display: block; padding: .52rem 0; overflow-wrap: anywhere; }
  .di-compare label { display: flex; align-items: flex-start; gap: .62rem; min-height: 48px; padding: .68rem; border: 1px solid var(--di-line); border-radius: .66rem; }
  .di-compare input[type="checkbox"] { width: 1.1rem; height: 1.1rem; margin-top: .2rem; flex: none; }
  .di-copy { min-height: 44px; margin-top: .62rem; padding: .53rem .72rem; border: 1px solid var(--di-line-strong); border-radius: .56rem; background: var(--di-bg-soft); color: var(--di-ink); cursor: pointer; }
  .di-live { margin-top: .68rem; color: var(--di-muted); }
  .di-none { padding: 1rem; border: 1px dashed var(--di-good); border-radius: .82rem; }
  .di-stack { margin-top: 1rem; }
  .di-contest { border-color: var(--di-accent); background: rgb(130 231 211 / .06); }
  .di-contest .di-support-grid { margin-top: 1rem; }
  .di-support-grid > div { padding: 1rem; border: 1px solid var(--di-line); border-radius: .72rem; background: rgb(7 10 15 / .38); }
}

@layer states {
  .di-status--good { color: var(--di-good); }
  .di-status--limited, .di-status--partial, .di-status--incomplete, .di-status--mandate { color: var(--di-warn); }
  .di-status--disputed { color: var(--di-disputed); }
  .di-status--contained, .di-status--capture, .di-status--retaliation { color: var(--di-contained); }
  .di-status--failed, .di-status--breached { color: var(--di-bad); }
  .di-card--good { border-color: rgb(135 221 163 / .5); }
  .di-card--warn { border-color: rgb(240 199 120 / .58); }
  .di-card--bad { border-color: rgb(255 149 142 / .66); }
  .di-card--contained { border-color: rgb(221 156 245 / .58); }
  [data-state="failed"], [data-state="breached"], [data-state="retaliation_detected"] { border-color: var(--di-bad); }
  [data-state="pending"], [data-state="partial"], [data-state="unobserved"] { border-color: var(--di-warn); }
  [data-state="passed"], [data-state="complete"] { border-color: var(--di-good); }
}

@layer responsive {
  @media (max-width: 1110px) {
    .di-journey { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .di-question-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .di-position-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .di-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .di-controls .di-button { align-self: end; }
    .di-layout { grid-template-columns: 1fr; }
    .di-rail { position: static; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; }
    .di-rail strong { grid-column: 1 / -1; }
    .di-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 760px) {
    .di-shell { width: min(100% - 1rem, 1240px); }
    .di-site-header { position: static; }
    .di-header-inner { align-items: flex-start; padding: .72rem 0; }
    .di-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .di-nav a { padding: .55rem; }
    .di-hero { padding-top: 2.6rem; }
    .di-hero-grid, .di-selector-grid, .di-grid, .di-position-grid, .di-section-head, .di-support-grid, .di-question-grid, .di-controls, .di-compare { grid-template-columns: 1fr; }
    .di-journey { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .di-facts { grid-template-columns: 1fr; }
    .di-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .di-selector { grid-template-columns: auto minmax(0, 1fr); }
    .di-selector .di-status { grid-column: 2; justify-self: start; }
    .di-overview-top { display: block; }
    .di-overview-top .di-status { margin-top: .75rem; }
    .di-button { width: 100%; }
    .di-section { margin-bottom: 3.25rem; }
  }
  @media (max-width: 380px) {
    .di-nav, .di-journey, .di-rail { grid-template-columns: 1fr; }
    h1 { font-size: 2.72rem; }
    .di-selector { grid-template-columns: 1fr; }
    .di-selector .di-status { grid-column: 1; }
    .di-card, .di-overview, .di-controls, .di-rail, .di-contest { padding: .9rem; }
  }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  }
  @media (forced-colors: active) {
    .di-status, .di-card, .di-selector, .di-overview, .di-controls, .di-rail, .di-details, .di-question, .di-contest, .di-position, .di-evidence, .di-obligation, .di-state {
      forced-color-adjust: auto;
      border: 1px solid CanvasText;
      background: Canvas;
      color: CanvasText;
    }
    .di-status { border-width: 2px; }
  }
}

@layer print {
  @media print {
    body.di-page { background: #fff; color: #000; font-size: 10pt; }
    .di-site-header, .di-controls, .di-selector-grid, .di-rail, .di-footer, .di-copy, .di-compare, .di-reduced-mode { display: none !important; }
    .di-shell { width: 100%; }
    .di-main, .di-hero { padding: 0; }
    .di-hero-grid, .di-layout, .di-grid, .di-position-grid, .di-section-head, .di-support-grid, .di-facts { display: block; }
    .di-card, .di-overview, .di-details, .di-evidence, .di-obligation, .di-state, .di-position, .di-contest {
      box-shadow: none;
      background: #fff;
      color: #000;
      border: 1px solid #444;
      break-inside: avoid;
      margin: .55rem 0;
    }
    .di-details > div, .di-details[open] > div { display: block; }
    .di-status { color: #000; }
    .di-code { max-height: none; background: #fff; color: #000; }
    .di-section { margin-bottom: 1.5rem; }
    a { color: #000; text-decoration: none; }
  }
}

/* Unlayered delivery-resilience rules intentionally supersede the inline critical fallback. */
.di-reduced-mode { display: none; }
.di-skip:focus, .di-skip:focus-visible { outline: 3px solid #efc778; outline-offset: 3px; }

/* R53-specific information architecture. */
@layer layout {
  .di-pathway-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .78rem; }
  .di-boundary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .di-funnel { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .65rem; list-style: none; }
  .di-faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .78rem; }
  .di-report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
  .di-support-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
}

@layer components {
  .di-pathway {
    display: grid;
    align-content: start;
    gap: .35rem;
    min-height: 148px;
    padding: 1rem;
    border: 1px solid var(--di-line);
    border-radius: var(--di-radius);
    background: linear-gradient(145deg, rgb(20 35 44 / .94), rgb(9 15 22 / .96));
    color: var(--di-ink);
    text-decoration: none;
  }
  .di-pathway:hover { border-color: var(--di-accent); transform: translateY(-1px); }
  .di-pathway strong { color: var(--di-accent); font-family: var(--di-serif); font-size: 1.25rem; }
  .di-pathway span { color: var(--di-muted); }
  .di-boundary-card { padding: 1.25rem; }
  .di-boundary-card h3 { margin-top: .48rem; font-size: clamp(1.5rem, 2.5vw, 2.1rem); }
  .di-field--search { min-width: 0; }
  .di-result-count { margin: -.25rem 0 1rem; color: var(--di-muted); }
  .di-selector small { display: block; margin-top: .25rem; color: var(--di-faint); }
  .di-position { border-left: 4px solid var(--di-accent); }
  .di-support-grid > div { padding: .85rem; border: 1px solid var(--di-line); border-radius: .72rem; background: rgb(6 9 13 / .42); }
  .di-card--limit { border-color: rgb(240 202 121 / .5); }
  .di-funnel-step {
    position: relative;
    min-height: 220px;
    padding: 1rem;
    border: 1px solid var(--di-line);
    border-radius: .9rem;
    background: linear-gradient(160deg, rgb(20 35 44 / .94), rgb(8 14 20 / .98));
  }
  .di-funnel-step:not(:last-child)::after {
    content: '→';
    position: absolute;
    z-index: 2;
    right: -.72rem;
    top: 50%;
    width: 1.4rem;
    height: 1.4rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--di-bg);
    color: var(--di-gold);
    font-weight: 900;
  }
  .di-funnel-step > span { color: var(--di-gold); font: 800 1.65rem/1 var(--di-serif); }
  .di-funnel-step > strong { display: block; margin: .6rem 0 .35rem; color: var(--di-ink); font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; }
  .di-funnel-step p { color: var(--di-muted); }
  .di-funnel-step--wall { border-color: var(--di-bad); box-shadow: inset 0 0 0 1px rgb(255 149 142 / .2); }
  .di-funnel-step--wall > strong { color: var(--di-bad); }
  .di-report-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .9rem;
    padding: 1rem;
    border: 1px solid var(--di-line);
    border-radius: .85rem;
    background: rgb(16 25 34 / .8);
  }
  .di-report-index { color: var(--di-gold); font: 800 1.8rem/1 var(--di-serif); }
  .di-report-card h3 { margin: .3rem 0 .42rem; }
  .di-report-card p:last-child { color: var(--di-muted); }
  .di-endpoints { display: grid; gap: .55rem; }
  .di-endpoint { display: block; padding: .7rem; border: 1px solid var(--di-line); border-radius: .58rem; overflow-wrap: anywhere; }
  .di-live { margin-top: .85rem; color: var(--di-muted); }
  .di-none { padding: .9rem; border: 1px dashed var(--di-line-strong); border-radius: .72rem; color: var(--di-muted); }
  .di-stack { margin-top: 1rem; }
  .di-section--wide { border-block: 1px solid rgb(130 231 211 / .14); padding-block: 4rem; background: rgb(11 18 25 / .68); }
  .di-comparison-table { width: 100%; border-collapse: collapse; min-width: 760px; }
  .di-comparison-table th, .di-comparison-table td { padding: .75rem; border: 1px solid var(--di-line); text-align: left; vertical-align: top; }
  .di-comparison-table thead th { background: var(--di-surface-2); }
}

@layer responsive {
  @media (max-width: 1100px) {
    .di-funnel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .di-funnel-step::after { display: none !important; }
  }
  @media (max-width: 980px) {
    .di-pathway-grid, .di-question-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 760px) {
    .di-boundary-grid, .di-faq-grid, .di-report-grid, .di-support-grid, .di-funnel { grid-template-columns: 1fr; }
  }
  @media (max-width: 680px) {
    .di-pathway-grid { grid-template-columns: 1fr; }
    .di-pathway { min-height: 0; }
  }
  @media (max-width: 380px) {
    .di-shell { width: calc(100% - .75rem); }
    h1 { font-size: clamp(2.65rem, 15vw, 4rem); overflow-wrap: anywhere; }
    .di-card, .di-overview, .di-controls, .di-rail, .di-boundary-card, .di-pathway, .di-report-card { padding: .85rem; }
    .di-selector { grid-template-columns: auto minmax(0, 1fr); }
    .di-selector > .di-status { grid-column: 1 / -1; justify-self: start; }
  }
}

@media print {
  .di-pathway-grid, .di-question-grid, .di-report-grid, .di-funnel, .di-boundary-grid, .di-faq-grid { display: block; }
  .di-pathway, .di-question, .di-report-card, .di-funnel-step, .di-boundary-card { margin-bottom: .6rem; break-inside: avoid; }
  .di-faq-grid details { display: block; }
  .di-faq-grid details > * { display: block; }
}

@media (forced-colors: active) {
  .di-card, .di-overview, .di-selector, .di-rail, .di-controls, .di-details, .di-pathway, .di-boundary-card, .di-funnel-step, .di-report-card { border: 2px solid CanvasText; background: Canvas; color: CanvasText; box-shadow: none; }
  .di-status, .di-pill { border: 1px solid CanvasText; background: Canvas; color: CanvasText; }
}

/* Unlayered on purpose: external full CSS must always hide critical-only warning. */
.di-reduced-mode { display: none !important; }

/* Print-width containment: machine records and comparison tables must never widen the printed page. */
@media print {
  html,
  body.di-page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow-x: hidden !important;
  }
  .di-shell,
  .di-main,
  .di-hero,
  .di-section,
  .di-card,
  .di-overview,
  .di-details,
  .di-evidence,
  .di-obligation,
  .di-state,
  .di-position,
  .di-contest,
  .di-code,
  pre,
  code {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
  .di-comparison-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
  }
  .di-comparison-table th,
  .di-comparison-table td {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
  .di-code,
  pre {
    white-space: pre-wrap !important;
  }
}
