:root {
  color-scheme: dark;
  --bg: #1b1a17;
  --panel: #24231f;
  --ink: #f4f0e7;
  --muted: #b9b4a9;
  --line: #3b3931;
  --accent: #ff874f;
  --soft: #2c251f;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 16px/1.75 Arial, "PingFang TC", "Microsoft JhengHei", sans-serif; -webkit-font-smoothing: antialiased; }
::selection { background: var(--accent); color: var(--bg); }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
a, button, summary { -webkit-tap-highlight-color: transparent; transition: color .16s ease, background-color .16s ease, border-color .16s ease; }
a:hover, button:hover { color: var(--accent); }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, [tabindex="0"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
img { max-width: 100%; }
figure, dl { margin: 0; }
figure { min-width: 0; }
p { margin: 0 0 20px; color: var(--muted); font-size: 15px; line-height: 1.85; }
h1, h2, h3, h4 { margin: 0; font-weight: 700; }
h2 { font-size: clamp(28px, 2.65vw, 38px); line-height: 1.25; letter-spacing: -.9px; text-wrap: balance; }
h3 { font-size: 20px; line-height: 1.4; letter-spacing: -.35px; }
h4 { font-size: 17px; line-height: 1.5; }
header.site-header, main, footer { width: 100%; max-width: 1400px; margin-inline: auto; padding-inline: 64px; }
.site-header { height: 80px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { font-size: 30px; font-weight: 900; letter-spacing: -1.7px; line-height: 1; }
.brand span { color: var(--accent); }
.back-link { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; font-size: 12px; color: var(--muted); }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 13px; padding: 24px 0 16px; color: var(--muted); font-size: 11px; }
.breadcrumb [aria-current] { color: var(--ink); }
.eyebrow { margin: 0 0 18px; color: var(--accent); font: 11px/1.5 monospace; letter-spacing: 1.25px; }
.reader-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); grid-template-areas: "copy visual"; align-items: center; gap: 48px; min-height: 510px; padding: 22px 0 28px; }
.hero-copy { grid-area: copy; min-width: 0; }
.hero-visual { grid-area: visual; align-self: stretch; position: relative; min-height: 420px; overflow: hidden; background: var(--panel); }
.hero-visual img { display: block; width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 42% center; }
.hero-title { margin: 0 0 21px; }
.hero-keyword { display: block; margin-bottom: 14px; color: var(--accent); font-size: 29px; line-height: 1.05; letter-spacing: -1.2px; font-weight: 800; }
.hero-question { display: block; max-width: 15ch; font-size: clamp(40px, 4.1vw, 56px); line-height: 1.08; letter-spacing: -1.8px; font-weight: 800; text-wrap: balance; }
.intro { max-width: 48ch; margin: 0; font-size: 15px; line-height: 1.8; }
.quick-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 23px 0 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.quick-facts div { min-width: 0; }
.quick-facts dt { color: var(--muted); font-size: 10px; line-height: 1.5; letter-spacing: .35px; }
.quick-facts dd { margin: 6px 0 0; color: var(--ink); font-size: 14px; line-height: 1.55; font-weight: 700; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; }
.actions a { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 49px; font-size: 13px; line-height: 1.45; font-weight: 700; }
.button { padding: 13px 21px; background: var(--accent); color: #251b14; }
.button:hover { background: #ffa372; color: #251b14; }
.text-button { border-bottom: 1px solid var(--line); }
.text-button:hover { border-color: var(--accent); }
.hero-meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 28px; padding: 0 0 24px; }
.hero-meta > *, .byline, .hero-meta figcaption { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.byline time { margin-left: 5px; }
figcaption { margin-top: 10px; color: var(--muted); font-size: 10px; line-height: 1.7; }
.section-nav { position: sticky; z-index: 10; top: 0; display: flex; gap: 30px; overflow-x: auto; min-height: 64px; background: var(--bg); border-block: 1px solid var(--line); scrollbar-width: thin; scrollbar-color: var(--line) transparent; }
.section-nav a { position: relative; display: flex; flex: 0 0 auto; align-items: center; min-height: 62px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.section-nav a::after { position: absolute; inset: auto 0 0; height: 2px; background: var(--accent); content: ""; opacity: 0; }
.section-nav a:hover, .section-nav a[aria-current] { color: var(--accent); }
.section-nav a[aria-current]::after { opacity: 1; }
#article, .article-layout { min-width: 0; width: 100%; }
.reader-section, .reference-shelf, .source-directory { padding: 64px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 84px; }
.section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: end; gap: 36px; margin-bottom: 34px; }
.section-heading h2 { max-width: 24ch; }
.section-heading p { max-width: 60ch; margin: 0; font-size: 14px; }
.reader-section > p, .reference-content > p, .subsection > p { max-width: 68ch; }
.ordinal, .index { color: var(--accent); font: 12px/1.7 monospace; }
.comeback-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: 60px; }
.comeback-copy > p { max-width: 55ch; }
.comeback-items article { position: relative; padding: 19px 0 19px 43px; border-top: 1px solid var(--line); }
.comeback-items .ordinal { position: absolute; top: 22px; left: 0; }
.comeback-items h3 { margin-bottom: 8px; font-size: 19px; }
.comeback-items p { max-width: 55ch; margin: 0; font-size: 14px; line-height: 1.8; }
.comeback-visual img { display: block; width: 100%; height: 380px; object-fit: cover; background: var(--panel); }
.comeback-shot { position: relative; display: block; width: 100%; aspect-ratio: 1.7; overflow: hidden; background: var(--panel); }
.comeback-visual .comeback-shot img { position: absolute; top: 0; right: 0; width: 140%; height: auto; max-width: none; }
.route-tabs { display: flex; max-width: 900px; gap: 10px; margin-bottom: 0; }
.route-tabs button { flex: 1 1 0; min-width: 0; min-height: 58px; padding: 15px 19px; border: 1px solid var(--line); background: transparent; color: var(--muted); text-align: left; font-size: 15px; line-height: 1.5; font-weight: 700; }
.route-tabs button[aria-selected="true"], .route-tabs button[aria-pressed="true"] { color: var(--bg); background: var(--accent); border-color: var(--accent); }
.route-panel { padding: 30px 0 0; }
.route-panel + .route-panel { margin-top: 30px; padding-top: 30px; border-top: 1px solid var(--line); }
.route-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); align-items: baseline; gap: 32px; margin-bottom: 29px; }
.route-intro h3 { font-size: 23px; }
.route-intro p { max-width: 68ch; margin: 0; font-size: 14px; }
.route-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; list-style: none; padding: 0; margin: 0 0 23px; }
.route-steps li { min-width: 0; border-top: 1px solid var(--line); padding-top: 18px; }
.route-steps .ordinal { display: block; margin-bottom: 13px; }
.route-steps h4 { margin: 0 0 10px; font-size: 18px; }
.route-steps p { max-width: 52ch; margin: 0; font-size: 14px; }
.inline-link, .map-source { display: inline-flex; align-items: center; gap: 18px; min-height: 42px; color: var(--accent); font-size: 12px; line-height: 1.7; }
.inline-link:hover, .map-source:hover, .source-note a:hover { text-decoration: underline; text-underline-offset: 4px; }
.stakes-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; }
.stakes-grid article { min-width: 0; border-top: 2px solid var(--line); padding-top: 21px; }
.stakes-grid .ordinal { display: block; margin-bottom: 13px; }
.stakes-grid h3 { margin-bottom: 12px; font-size: 22px; }
.stakes-grid p { max-width: 48ch; margin: 0; font-size: 14px; }
.map-tabs, .map-choices { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; }
.map-tabs > .map-choices { grid-column: 1 / -1; margin-bottom: 0; }
.map-tabs button, .map-choices button { display: flex; flex-direction: column; min-width: 0; padding: 0; border: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; }
.map-tabs button img, .map-choices button img { display: block; width: 100%; height: 120px; object-fit: cover; background: var(--panel); }
.map-shot { position: relative; display: block; width: 100%; height: 130px; overflow: hidden; background: var(--panel); }
.map-tabs .map-shot img, .map-choices .map-shot img { position: absolute; top: 0; right: 0; width: 140%; height: auto; max-width: none; }
.map-choice-copy { display: block; width: 100%; padding: 15px 16px; }
.map-choice-copy strong { display: block; font-size: 15px; line-height: 1.45; font-weight: 700; }
.map-choice-copy small { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.map-tabs button:hover, .map-choices button:hover { border-color: #8b7663; }
.map-tabs button[aria-selected="true"], .map-choices button[aria-selected="true"] { border-color: var(--accent); box-shadow: inset 0 -3px 0 var(--accent); background: var(--soft); }
.map-tabs button[aria-selected="true"] strong, .map-choices button[aria-selected="true"] strong { color: var(--accent); }
.map-tabs .compact-map, .map-choices .compact-map { justify-content: center; min-height: 91px; }
.map-panel { padding: 28px; background: var(--panel); }
.map-panel + .map-panel { margin-top: 18px; }
.map-tabs:not([hidden]) + .map-panels .map-panel { margin-top: 0; }
.map-panel h3 { margin-bottom: 12px; font-size: 29px; letter-spacing: -.65px; }
.map-panel > p { max-width: 68ch; margin-bottom: 20px; font-size: 15px; }
.map-detail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin: 23px 0 18px; }
.map-detail > div { padding-top: 16px; border-top: 1px solid var(--line); }
.map-detail dt { margin-bottom: 7px; color: var(--accent); font-size: 12px; font-weight: 700; }
.map-detail dd { max-width: 60ch; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.85; }
.loadout-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.loadout { display: grid; grid-template-columns: minmax(135px, .7fr) minmax(0, 1.3fr); gap: 25px; padding: 23px 0; border-top: 1px solid var(--line); }
.loadout:first-child { padding-top: 0; border-top: 0; }
.loadout h3 { font-size: 18px; }
.loadout h3 small { display: block; margin-top: 8px; color: var(--accent); font-size: 11px; line-height: 1.6; font-weight: 400; }
.loadout p { max-width: 60ch; margin: 0; font-size: 14px; }
.access-note { padding: 24px 26px; background: var(--panel); border-top: 2px solid var(--accent); }
.access-note h3 { margin-bottom: 14px; font-size: 22px; }
.access-note p { max-width: 54ch; margin: 0; font-size: 14px; }
.loadout-note { margin-top: 19px; }
.loadout-note p { max-width: 68ch; font-size: 13px; }
.extraction-tips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; margin: 0 0 36px; }
.extraction-tips article { min-width: 0; border-top: 1px solid var(--line); padding-top: 19px; }
.extraction-tips h3 { margin-bottom: 12px; font-size: 19px; }
.extraction-tips p { max-width: 50ch; margin: 0; font-size: 14px; }
.checklist { max-width: 850px; margin: 0; padding: 4px 25px 12px; border: 1px solid var(--line); min-width: 0; }
.checklist legend { margin-left: -10px; padding: 0 10px; font-size: 19px; font-weight: 700; }
.check-row { display: flex; align-items: flex-start; gap: 14px; min-height: 56px; padding: 16px 0; cursor: pointer; font-size: 14px; line-height: 1.7; }
.check-row + .check-row { border-top: 1px solid var(--line); }
.check-row input { flex: 0 0 auto; width: 19px; height: 19px; margin: 3px 0 0; accent-color: var(--accent); }
.check-row:has(input:checked) { color: var(--accent); }
.check-tools { display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: 850px; margin-top: 12px; }
.check-tools p, .check-tools button { margin: 0; font-size: 12px; }
.check-tools button { min-height: 44px; border: 0; padding: 9px 0 9px 12px; color: var(--muted); background: none; }
.check-tools button:hover { color: var(--accent); }
.save-note { margin: 2px 0 0; font-size: 11px; }
.reference-shelf { padding-bottom: 44px; }
.reference-block { border-top: 1px solid var(--line); scroll-margin-top: 85px; }
summary { list-style: none; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
.reference-block > summary { display: grid; grid-template-columns: 34px minmax(0, 1fr) 24px; align-items: baseline; gap: 18px; min-height: 94px; padding: 25px 0; }
.reference-block > summary > span:not(.index):not(.plus) { color: var(--ink); font-size: 20px; line-height: 1.5; font-weight: 700; }
.reference-block > summary strong { display: block; font-size: 20px; line-height: 1.5; font-weight: 700; }
.reference-block > summary h3 { margin: 0; font-size: 20px; line-height: 1.5; }
.reference-block > summary p { max-width: 68ch; margin: 4px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; font-weight: 400; }
.reference-block > summary small { display: block; max-width: 68ch; margin-top: 4px; color: var(--muted); font-size: 13px; line-height: 1.7; font-weight: 400; }
.plus { color: var(--accent); font: 25px/1 monospace; text-align: center; transition: transform .16s ease; }
details[open] > summary > .plus { transform: rotate(45deg); }
.reference-block[open] > summary { color: var(--accent); }
.reference-block[open] > summary strong { color: var(--accent); }
.reference-content { padding: 5px 0 34px 52px; }
.reference-content h2 { max-width: 28ch; margin: 0 0 20px; font-size: 27px; }
.reference-content h3, .subsection-title { max-width: 58ch; margin: 0 0 15px; font-size: 21px; line-height: 1.45; }
.reference-content h4 { margin: 0 0 8px; }
.subsection { margin-top: 34px; }
.subsection > p, .reference-content > p { font-size: 14px; }
.source-note { max-width: 80ch; margin: 18px 0 0; font-size: 11px; line-height: 1.8; }
.source-note a { color: var(--accent); overflow-wrap: anywhere; }
.guide-table { margin: 23px 0; max-width: 100%; }
.guide-table table { width: 100%; border-collapse: collapse; table-layout: fixed; text-align: left; font-size: 13px; line-height: 1.8; }
.guide-table th, .guide-table td { padding: 18px 21px 18px 0; vertical-align: top; overflow-wrap: anywhere; }
.guide-table thead { border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.guide-table thead th { padding-block: 11px; font-weight: 400; }
.guide-table tbody th { font-weight: 700; }
.guide-table tbody tr + tr { border-top: 1px solid var(--line); }
.guide-table td { color: var(--muted); }
.guide-table th:first-child { width: 24%; }
.guide-table th:last-child, .guide-table td:last-child { padding-right: 0; }
.inventory-rules, .threat-tips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 34px; margin-top: 24px; }
.inventory-rules h4, .threat-tips h4 { font-size: 16px; }
.inventory-rules p, .threat-tips p { max-width: 60ch; margin: 0; font-size: 14px; }
.access-steps { max-width: 68ch; margin: 22px 0; padding-left: 22px; color: var(--muted); font-size: 14px; }
.access-steps li { padding-left: 8px; margin-bottom: 13px; }
.access-steps li::marker { color: var(--accent); }
.article-visual { margin: 27px 0; max-width: 850px; }
.article-visual img { display: block; width: 100%; height: auto; background: var(--panel); }
.faq { max-width: 980px; }
.faq details { border-top: 1px solid var(--line); }
.faq summary { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; min-height: 69px; padding: 22px 0; color: var(--ink); font-size: 16px; line-height: 1.6; font-weight: 700; }
.faq summary > span { flex: 0 0 auto; width: 22px; color: var(--accent); font: 23px/1 monospace; text-align: center; transition: transform .16s ease; }
.faq details[open] > summary { color: var(--accent); }
.faq details[open] > summary > span { transform: rotate(45deg); }
.faq details > p { max-width: 68ch; padding-right: 30px; margin: 0 0 23px; font-size: 14px; }
.faq details > .source-note { padding: 0; margin: -5px 0 22px; font-size: 11px; }
.troubleshooting { margin-top: 20px; }
.troubleshooting summary { font-size: 14px; }
.source-directory { padding: 35px 0; }
.source-directory > details > summary, .source-directory > summary { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 44px; color: var(--ink); font-size: 18px; font-weight: 700; }
.source-directory > details > summary > span:last-child, .source-directory > summary > span:last-child { color: var(--accent); }
.source-directory details[open] > summary .plus { transform: rotate(45deg); }
.source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 34px; margin-top: 23px; }
.resource-link { display: block; padding: 18px 0; border-top: 1px solid var(--line); }
.resource-link > span { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; font-size: 13px; line-height: 1.6; }
.resource-link b { color: var(--accent); font-weight: 400; }
.resource-link small { display: block; margin-top: 7px; color: var(--muted); font-size: 10px; line-height: 1.7; }
.independent { max-width: 85ch; margin: 19px 0 0; color: var(--muted); font-size: 11px; }
.end-navigation { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.end-navigation a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
footer { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 21px 30px; padding-block: 34px; }
footer p { margin: 0; font-size: 12px; }
footer nav { display: flex; gap: 22px; font-size: 12px; }
footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
footer nav [aria-current] { color: var(--accent); }
footer small { grid-column: 1 / -1; color: var(--muted); font-size: 10px; }
.skip { position: absolute; top: -100px; left: 24px; z-index: 30; padding: 12px 18px; background: var(--accent); color: var(--bg); }
.skip:focus { top: 12px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 1100px) and (min-width: 761px) {
  header.site-header, main, footer { padding-inline: 36px; }
  .reader-hero { gap: 30px; grid-template-columns: 1.1fr .9fr; }
  .hero-question { font-size: 44px; }
  .hero-keyword { font-size: 26px; }
  .quick-facts { gap: 13px; }
  .quick-facts dd { font-size: 12px; }
  .actions { gap: 17px; }
  .actions a { gap: 15px; font-size: 12px; }
  .button { padding-inline: 17px; }
  .comeback-layout { gap: 35px; }
  .comeback-visual img { height: 365px; }
  .route-steps, .stakes-grid, .extraction-tips { gap: 24px; }
  .loadout-layout { gap: 30px; }
  .loadout { grid-template-columns: 120px minmax(0, 1fr); gap: 18px; }
  .map-choice-copy { padding: 13px; }
  .map-choice-copy strong { font-size: 13px; }
  .section-nav { gap: 24px; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 76px; }
  header.site-header, main, footer { padding-inline: 24px; }
  .site-header { height: 68px; }
  .brand { font-size: 27px; }
  .back-link { font-size: 11px; }
  .breadcrumb { padding: 18px 0 13px; font-size: 10px; gap: 11px; }
  .reader-hero { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "visual"; gap: 24px; min-height: 0; padding: 13px 0 14px; }
  .eyebrow { margin-bottom: 14px; font-size: 10px; letter-spacing: 1px; }
  .hero-title { margin-bottom: 17px; }
  .hero-keyword { margin-bottom: 11px; font-size: 26px; letter-spacing: -.9px; }
  .hero-question { max-width: 17ch; font-size: clamp(35px, 10.4vw, 43px); line-height: 1.1; letter-spacing: -1.15px; }
  .intro { max-width: 46ch; font-size: 14px; line-height: 1.8; }
  .quick-facts { gap: 14px; margin: 18px 0; padding-top: 15px; }
  .quick-facts dt { font-size: 9px; letter-spacing: .05px; }
  .quick-facts dd { margin-top: 5px; font-size: 12px; line-height: 1.6; }
  .actions { gap: 19px; }
  .actions a { min-height: 48px; gap: 17px; font-size: 12px; }
  .button { padding: 12px 17px; }
  .hero-visual { min-height: 0; height: 170px; }
  .hero-visual img { height: 170px; object-position: center 48%; }
  .hero-meta { align-items: flex-start; gap: 5px; padding-bottom: 21px; }
  .hero-meta > *, .byline, .hero-meta figcaption { font-size: 9px; }
  .section-nav { min-height: 57px; gap: 24px; }
  .section-nav a { min-height: 55px; font-size: 11px; }
  .reader-section, .reference-shelf { padding: 40px 0; scroll-margin-top: 76px; }
  .section-heading { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-bottom: 25px; }
  .section-heading h2 { max-width: 24ch; font-size: 29px; line-height: 1.3; letter-spacing: -.6px; }
  .section-heading p { font-size: 14px; line-height: 1.85; }
  .comeback-layout { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .comeback-items article { padding: 18px 0 18px 34px; }
  .comeback-items .ordinal { top: 21px; }
  .comeback-items h3 { font-size: 18px; }
  .comeback-items p { font-size: 14px; }
  .comeback-visual img { height: 220px; }
  .route-tabs { gap: 7px; }
  .route-tabs button { min-height: 57px; padding: 12px 9px; font-size: 12px; text-align: center; }
  .route-panel { padding-top: 24px; }
  .route-intro { grid-template-columns: minmax(0, 1fr); gap: 11px; margin-bottom: 23px; }
  .route-intro h3 { font-size: 22px; }
  .route-steps { grid-template-columns: minmax(0, 1fr); gap: 0; margin-bottom: 13px; }
  .route-steps li { position: relative; padding: 19px 0 21px 36px; }
  .route-steps .ordinal { position: absolute; top: 22px; left: 0; margin: 0; }
  .route-steps h4 { margin-bottom: 8px; font-size: 17px; }
  .route-steps p { font-size: 14px; }
  .stakes-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .stakes-grid article { position: relative; padding: 18px 0 0 36px; }
  .stakes-grid .ordinal { position: absolute; top: 20px; left: 0; margin: 0; }
  .stakes-grid h3 { margin-bottom: 9px; font-size: 20px; }
  .map-tabs, .map-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 19px; }
  .map-tabs button img, .map-choices button img { height: 95px; }
  .map-shot { height: 95px; }
  .map-tabs .map-shot img, .map-choices .map-shot img, .comeback-visual .comeback-shot img { height: auto; }
  .map-choice-copy { padding: 12px; }
  .map-choice-copy strong { font-size: 13px; line-height: 1.45; }
  .map-choice-copy small { margin-top: 5px; font-size: 10px; line-height: 1.6; }
  .map-tabs .compact-map, .map-choices .compact-map { min-height: 83px; }
  .map-panel { padding: 23px; }
  .map-panel h3 { font-size: 25px; line-height: 1.3; }
  .map-panel > p { font-size: 14px; }
  .map-detail { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-block: 20px 13px; }
  .map-detail dd { font-size: 14px; }
  .loadout-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .loadout { grid-template-columns: minmax(0, 1fr); gap: 10px; padding-block: 21px; }
  .loadout h3 { font-size: 18px; }
  .loadout h3 small { margin-top: 5px; font-size: 11px; }
  .access-note { padding: 23px; }
  .access-note h3 { font-size: 22px; }
  .extraction-tips { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-bottom: 30px; }
  .extraction-tips h3 { font-size: 18px; margin-bottom: 9px; }
  .checklist { padding-inline: 18px; }
  .checklist legend { font-size: 18px; }
  .check-row { gap: 12px; font-size: 13px; }
  .check-tools { gap: 12px; }
  .check-tools p, .check-tools button { font-size: 11px; }
  .save-note { font-size: 10px; }
  .reference-shelf { padding-bottom: 25px; }
  .reference-block { scroll-margin-top: 76px; }
  .reference-block > summary { grid-template-columns: 25px minmax(0, 1fr) 19px; gap: 12px; min-height: 88px; padding-block: 22px; }
  .reference-block > summary strong, .reference-block > summary > span:not(.index):not(.plus) { font-size: 18px; }
  .reference-block > summary h3 { font-size: 18px; }
  .reference-block > summary p { font-size: 12px; line-height: 1.75; }
  .reference-block > summary small { margin-top: 5px; font-size: 12px; line-height: 1.75; }
  .reference-content { padding: 6px 0 26px; }
  .reference-content h2 { margin-bottom: 17px; font-size: 25px; }
  .reference-content h3, .subsection-title { margin-bottom: 13px; font-size: 21px; }
  .subsection { margin-top: 29px; }
  .guide-table { margin-block: 20px; }
  .guide-table table, .guide-table tbody, .guide-table tr, .guide-table th, .guide-table td { display: block; width: 100%; }
  .guide-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .guide-table th:first-child { width: 100%; }
  .guide-table tbody tr { padding: 18px 0; }
  .guide-table tbody th { padding: 0 0 9px; font-size: 15px; }
  .guide-table td { padding: 7px 0; font-size: 13px; }
  .guide-table td::before { display: block; margin-bottom: 4px; color: var(--accent); font-size: 10px; content: attr(data-label); }
  .guide-table td:last-child { padding-bottom: 0; }
  .inventory-rules, .threat-tips { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .inventory-rules h4, .threat-tips h4 { font-size: 17px; }
  .article-visual { margin-block: 23px; }
  .faq summary { gap: 20px; min-height: 70px; padding-block: 21px; font-size: 15px; }
  .faq details > p { padding-right: 6px; font-size: 14px; }
  .faq details > .source-note { margin-bottom: 20px; font-size: 11px; }
  .source-directory { padding: 27px 0; }
  .source-directory > details > summary, .source-directory > summary { font-size: 17px; }
  .source-grid { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 16px; }
  .resource-link { padding-block: 16px; }
  .resource-link > span { font-size: 13px; }
  .independent { font-size: 10px; }
  .end-navigation { padding-block: 15px; gap: 16px; }
  .end-navigation a { font-size: 11px; }
  footer { grid-template-columns: minmax(0, 1fr) auto; gap: 16px 20px; padding-block: 28px; }
  footer p { grid-column: 1 / -1; grid-row: 2; font-size: 11px; }
  footer nav { gap: 16px; font-size: 11px; }
}
@media (max-width: 360px) {
  header.site-header, main, footer { padding-inline: 20px; }
  .hero-question { font-size: 35px; }
  .quick-facts { gap: 10px; }
  .quick-facts dd { font-size: 11px; }
  .actions { gap: 14px; }
  .actions a { gap: 12px; font-size: 11px; }
  .button { padding-inline: 14px; }
  .map-choice-copy { padding: 11px; }
  .map-choice-copy strong { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
/* Keep headlines and their explanations in one reading column. */
.section-heading{display:block}.section-heading h2{max-width:34ch;margin-bottom:14px}.section-heading p{max-width:68ch}.route-intro{display:block}.route-intro h3{margin-bottom:10px}.hero-question{max-width:20ch}
@media(max-width:760px){.section-heading h2{max-width:none}.quick-facts{grid-template-columns:1fr;gap:9px}.quick-facts>div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;align-items:baseline}.quick-facts dt{font-size:11px}.quick-facts dd{margin:0;font-size:12px;font-weight:600}.hero-question{max-width:20ch}}
.reader-section,.reference-shelf,.source-directory,.reference-block{scroll-margin-top:0}
.reference-block>summary:not(:has(.index)){grid-template-columns:minmax(0,1fr)24px}.reference-block:not(:has(>summary .index))>.reference-content{padding-left:0}
@media(max-width:760px){.reference-block>summary:not(:has(.index)){grid-template-columns:minmax(0,1fr)19px}.stakes-grid article{padding-left:0}.stakes-grid .ordinal{position:static;margin-bottom:9px;display:block}}
/* Selection should read immediately after a click or keyboard move. */
.route-tabs button,.map-tabs button{transition:none}
