/* PURSUE Release 01 — dossier + map theme
   Shared by index, browse, tour, dive, guide */

:root{
  --bg:#0c0c0c; --paper:#14110d; --line:#2a2620;
  --text:#d6cfb8; --dim:#8a8270; --faint:#544f43;
  --stamp:#c8362a; --amber:#d49b3a; --hot:#ff7a1a;
  --redact:#000;
  /* heat */
  --p-cold:#5a4a32; --p-cool:#8a6a3a; --p-med:#d49b3a; --p-warm:#ff7a1a; --p-hot:#c8362a;
  /* agencies */
  --a-dow:#ff7a1a; --a-fbi:#c8362a; --a-nasa:#7aa9d4; --a-dos:#a78bfa; --a-nara:#d49b3a;
}

*{box-sizing:border-box; margin:0; padding:0}
html,body{
  background:var(--bg); color:var(--text);
  font-family:'Inter',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased; min-height:100vh;
}
body{
  background-image:
    radial-gradient(circle at 80% 15%, rgba(212,155,58,.06) 0, transparent 40%),
    radial-gradient(circle at 15% 85%, rgba(200,54,42,.04) 0, transparent 50%);
}
[data-lang="zh"] body{font-family:'Noto Serif TC','Inter',serif}
.tw{font-family:'Special Elite',monospace}
.serif{font-family:'Newsreader',serif}
[data-lang="zh"] .serif{font-family:'Noto Serif TC',serif}
.mono{font-family:'JetBrains Mono',monospace}

a{color:inherit; text-decoration:none}

/* === Lang toggle (every page) === */
.lang-toggle{
  position:fixed; top:60px; right:32px; z-index:80;
  display:flex; border:1px solid var(--stamp); background:rgba(12,12,12,.92);
  font-family:'Special Elite',monospace; font-size:11px; letter-spacing:.12em;
}
.lang-toggle button{background:transparent; color:var(--dim); border:none; padding:5px 12px; cursor:pointer; font:inherit; letter-spacing:inherit}
.lang-toggle button.on{background:var(--stamp); color:#fff}
.lang-toggle button:hover:not(.on){color:var(--text)}

/* === Top rule (every page) === */
.top-rule{
  padding:14px 32px; border-bottom:1px solid var(--amber);
  display:flex; justify-content:space-between; align-items:center;
  background:var(--bg); position:sticky; top:0; z-index:50;
}
.top-rule .seal{font-family:'Special Elite',monospace; font-size:12px; color:var(--amber); letter-spacing:.3em}
.top-rule .nav{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--dim); display:flex; gap:22px}
.top-rule .nav a{color:var(--dim); transition:color .15s}
[data-lang="zh"] .top-rule .nav{font-family:'Noto Serif TC',serif; font-size:13px; letter-spacing:.15em}
.top-rule .nav a:hover{color:var(--text)}
.top-rule .nav a.active{color:var(--amber); border-bottom:1px solid var(--amber); padding-bottom:2px}

/* === Page hero === */
.hero{position:relative; padding:56px 32px 40px; overflow:hidden}
.redact-corner{position:absolute; opacity:.35; background:var(--redact)}
.redact-corner.tl{top:24px; left:32px; width:140px; height:14px}
.redact-corner.tl2{top:48px; left:32px; width:80px; height:14px}
.redact-corner.br{bottom:24px; right:32px; width:200px; height:14px}
.redact-corner.br2{bottom:48px; right:32px; width:120px; height:14px}
.hero-tag{font-family:'Special Elite',monospace; font-size:11px; color:var(--dim); letter-spacing:.2em; margin-bottom:16px; max-width:520px; line-height:1.6}
[data-lang="zh"] .hero-tag{font-family:'Noto Serif TC',serif; font-size:13px; letter-spacing:.1em}
.title-block{
  display:flex; align-items:flex-start; gap:48px; flex-wrap:wrap;
}
h1.hero-title{
  font-family:'Special Elite',monospace; font-size:78px; line-height:1; letter-spacing:.02em;
  color:var(--text); font-weight:400;
}
h1.hero-title .a{display:block; font-size:32px; color:var(--amber); letter-spacing:.4em; margin-bottom:10px}
[data-lang="zh"] h1.hero-title{font-family:'Noto Serif TC',serif; font-weight:700; font-size:72px}
.declassified-stamp{
  align-self:center;
  transform:rotate(-8deg) translateY(20px);
  border:5px solid var(--stamp); padding:14px 22px;
  font-family:'Special Elite',monospace; font-weight:700;
  color:var(--stamp); font-size:38px; letter-spacing:.08em;
  box-shadow:inset 0 0 0 2px var(--stamp); opacity:.92;
  flex-shrink:0;
}
.declassified-stamp .sub{display:block; font-size:11px; letter-spacing:.3em; margin-top:4px; text-align:center}
.subtitle{font-family:'Newsreader',serif; font-style:italic; font-size:22px; color:var(--text); margin:28px 0 6px; max-width:740px; line-height:1.4}
[data-lang="zh"] .subtitle{font-family:'Noto Serif TC',serif; font-size:22px; line-height:1.55; font-style:normal}
.meta-line{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--dim); letter-spacing:.05em}
.meta-line b{color:var(--amber); font-weight:500}
[data-lang="zh"] .meta-line{font-family:'Noto Serif TC',serif; font-size:14px}

/* === Map === */
.map-section{padding:0 32px 48px; margin-top:32px}
.map-h{display:flex; justify-content:space-between; align-items:end; padding-bottom:12px; border-bottom:2px solid var(--amber); margin-bottom:0}
.map-h .label{font-family:'Special Elite',monospace; font-size:16px; letter-spacing:.18em; color:var(--text)}
[data-lang="zh"] .map-h .label{font-family:'Noto Serif TC',serif; font-weight:700; font-size:20px; letter-spacing:.05em}
.map-h .label em{color:var(--amber); font-style:normal; margin-left:14px; font-size:.7em; letter-spacing:.3em}
.map-h .seal-small{
  transform:rotate(8deg); border:3px double var(--stamp); padding:4px 12px;
  font-family:'Special Elite',monospace; font-size:11px; color:var(--stamp);
  letter-spacing:.18em; opacity:.85;
}
.map-wrap{
  position:relative; height:420px; margin-top:14px;
  background:linear-gradient(to bottom, #16120d 0%, #0a0807 100%);
  border:1px solid var(--line); overflow:hidden;
}
.map-wrap::before, .map-wrap::after,
.map-wrap .c-tr, .map-wrap .c-bl{content:''; position:absolute; width:18px; height:18px; border-color:var(--amber); border-style:solid; opacity:.7}
.map-wrap::before{top:0; left:0; border-width:2px 0 0 2px}
.map-wrap::after{bottom:0; right:0; border-width:0 2px 2px 0}
.map-wrap .c-tr{top:0; right:0; border-width:2px 2px 0 0}
.map-wrap .c-bl{bottom:0; left:0; border-width:0 0 2px 2px}
.map-wrap svg{position:absolute; inset:0; width:100%; height:100%}
.pin{position:absolute; transform:translate(-50%,-50%); width:14px; height:14px; border-radius:50%; box-shadow:0 0 20px 6px currentColor; opacity:.95; cursor:pointer; transition:transform .15s}
.pin:hover{transform:translate(-50%,-50%) scale(1.4)}
.pin::after{content:attr(data-label); position:absolute; left:18px; top:-2px; font-family:'Special Elite',monospace; font-size:11px; letter-spacing:.06em; white-space:nowrap; color:var(--text); padding:3px 8px; background:rgba(20,17,13,.88); border:1px solid var(--line)}
[data-lang="zh"] .pin::after{font-family:'Noto Serif TC',serif; font-size:12px; letter-spacing:.04em}
.pin.hot{background:var(--p-hot); color:var(--p-hot)}
.pin.warm{background:var(--p-warm); color:var(--p-warm)}
.pin.med{background:var(--p-med); color:var(--p-med)}
.pin.cool{background:var(--p-cool); color:var(--p-cool)}
.pin.cold{background:var(--p-cold); color:var(--p-cold)}
.legend{position:absolute; bottom:14px; left:14px; padding:9px 14px; background:rgba(20,17,13,.85); border:1px solid var(--line); display:flex; align-items:center; gap:10px}
.legend .scale{display:inline-block; height:8px; width:220px; background:linear-gradient(to right, var(--p-cold), var(--p-cool), var(--p-med), var(--p-warm), var(--p-hot))}
.legend .lbl{font-family:'Special Elite',monospace; font-size:11px; color:var(--text); letter-spacing:.1em}
[data-lang="zh"] .legend .lbl{font-family:'Noto Serif TC',serif; letter-spacing:.04em}
.map-foot{display:flex; gap:18px; padding:10px 0 0; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--dim)}
.map-foot b{color:var(--amber); font-weight:500}

/* === Stats / drawers === */
.stats{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; padding:0 32px; margin:0 0 36px}
.drawer{background:#1a160f; border:1px solid var(--line); border-top:none; position:relative; padding:18px 16px 16px}
.drawer .tab{position:absolute; top:-14px; left:14px; padding:3px 12px; background:#1a160f; border:1px solid var(--line); border-bottom:none; font-family:'Special Elite',monospace; font-size:10px; color:var(--amber); letter-spacing:.2em}
[data-lang="zh"] .drawer .tab{font-family:'Noto Serif TC',serif; font-size:11px; letter-spacing:.1em}
.drawer .num{font-family:'Newsreader',serif; font-weight:700; font-size:42px; color:var(--text); line-height:1}
.drawer .lbl{font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--dim); letter-spacing:.1em; margin-top:4px; text-transform:uppercase}
[data-lang="zh"] .drawer .lbl{font-family:'Noto Serif TC',serif; text-transform:none; font-size:11px}

/* === Entry stamps === */
.entries{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding:0 32px 40px}
.entry{border:3px double var(--text); padding:22px 26px; text-align:center; cursor:pointer; transition:all .15s; transform:rotate(-1deg); display:block; color:inherit}
.entry:nth-child(2){transform:rotate(.6deg)}
.entry:nth-child(3){transform:rotate(-.4deg)}
.entry:hover{border-color:var(--stamp); color:var(--stamp); background:rgba(200,54,42,.05); transform:rotate(0) scale(1.02)}
.entry .k{font-family:'Special Elite',monospace; font-size:11px; color:var(--amber); letter-spacing:.2em; margin-bottom:6px}
.entry .t{font-family:'Special Elite',monospace; font-size:24px; letter-spacing:.18em}
[data-lang="zh"] .entry .t{font-family:'Noto Serif TC',serif; letter-spacing:.3em; font-weight:700}
.entry .d{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--dim); margin-top:8px; letter-spacing:.05em}
[data-lang="zh"] .entry .d{font-family:'Noto Serif TC',serif; font-size:13px; letter-spacing:.02em}

/* === Index cards / catalog rows === */
.cards{padding:0 32px 56px}
.cards-h{display:flex; align-items:baseline; justify-content:space-between; padding-bottom:12px; border-bottom:2px solid var(--amber)}
.cards-h .title{font-family:'Newsreader',serif; font-size:24px; font-weight:700}
[data-lang="zh"] .cards-h .title{font-family:'Noto Serif TC',serif}
.cards-h .meta{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--dim)}
[data-lang="zh"] .cards-h .meta{font-family:'Noto Serif TC',serif; font-size:13px}
.card-row{display:grid; grid-template-columns:120px 1fr 110px 100px 50px 80px; gap:18px; align-items:center; padding:16px 0; border-bottom:1px dashed var(--line); cursor:pointer}
.card-row:hover{background:rgba(212,155,58,.04)}
.card-row .id{font-family:'Special Elite',monospace; font-size:11px; color:var(--amber); letter-spacing:.05em}
.card-row .name{font-family:'Newsreader',serif; font-size:16px; color:var(--text); line-height:1.3}
[data-lang="zh"] .card-row .name{font-family:'Noto Serif TC',serif}
.card-row .name small{display:block; font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--faint); margin-top:3px; word-break:break-all}
.card-row .agency-tag{font-family:'Special Elite',monospace; font-size:10px; letter-spacing:.15em; padding:3px 8px; border:1px solid currentColor; display:inline-block}
.a-dow{color:var(--a-dow)} .a-fbi{color:var(--a-fbi)} .a-nasa{color:var(--a-nasa)} .a-dos{color:var(--a-dos)} .a-nara{color:var(--a-nara)}
.card-row .date{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--dim)}
.card-row .fmt{font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--faint); text-align:center; padding:2px 5px; border:1px solid var(--line); display:inline-block}
.card-row .size{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--dim); text-align:right}

/* === Browse page layout === */
.browse-layout{display:grid; grid-template-columns:260px 1fr; gap:0; min-height:calc(100vh - 60px)}
.filter-rail{padding:24px 20px; border-right:1px solid var(--line); position:sticky; top:60px; align-self:start; max-height:calc(100vh - 60px); overflow-y:auto}
.filter-rail h3{font-family:'Special Elite',monospace; font-size:11px; color:var(--amber); letter-spacing:.2em; margin:24px 0 10px; padding-bottom:6px; border-bottom:1px dashed var(--line)}
[data-lang="zh"] .filter-rail h3{font-family:'Noto Serif TC',serif; letter-spacing:.1em; font-size:13px; font-weight:700}
.filter-rail h3:first-child{margin-top:0}
.chip{
  display:inline-flex; align-items:center; gap:6px; padding:5px 10px; margin:3px 4px 3px 0;
  background:#0a0807; border:1px solid var(--line);
  font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--text);
  cursor:pointer; transition:all .15s; user-select:none;
}
[data-lang="zh"] .chip{font-family:'Noto Serif TC',serif}
.chip:hover{border-color:var(--amber); color:var(--amber)}
.chip .n{color:var(--dim); font-size:10px; font-family:'JetBrains Mono',monospace}
.chip.on{background:rgba(212,155,58,.12); border-color:var(--amber); color:var(--amber)}
.search-box{
  width:100%; padding:8px 12px; background:#0a0807; border:1px solid var(--line);
  color:var(--text); font:inherit; margin-bottom:12px;
  font-family:'JetBrains Mono',monospace; font-size:13px;
}
.search-box:focus{outline:none; border-color:var(--amber)}
.clear-btn{
  width:100%; padding:6px; background:transparent; border:1px dashed var(--line);
  color:var(--dim); cursor:pointer; font:inherit; margin-top:14px;
  font-family:'Special Elite',monospace; font-size:11px; letter-spacing:.15em;
}
[data-lang="zh"] .clear-btn{font-family:'Noto Serif TC',serif}
.clear-btn:hover{border-color:var(--stamp); color:var(--stamp)}

.catalog-area{padding:24px 32px}
.catalog-head{display:flex; align-items:center; justify-content:space-between; padding-bottom:12px; border-bottom:1px solid var(--amber); margin-bottom:16px}
.catalog-head .count{font-family:'Newsreader',serif; font-size:20px; font-weight:700}
[data-lang="zh"] .catalog-head .count{font-family:'Noto Serif TC',serif}
.catalog-head .count b{color:var(--amber)}
.catalog-head .sort{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--dim)}
.catalog-head .sort select{background:transparent; border:1px solid var(--line); color:var(--text); font:inherit; padding:3px 6px; cursor:pointer; font-family:'JetBrains Mono',monospace}
[data-lang="zh"] .catalog-head .sort,[data-lang="zh"] .catalog-head .sort select{font-family:'Noto Serif TC',serif; font-size:13px}

.empty-state{padding:60px 20px; text-align:center; color:var(--dim); font-family:'Newsreader',serif; font-style:italic; font-size:18px}
[data-lang="zh"] .empty-state{font-family:'Noto Serif TC',serif; font-style:normal}

/* === Modal (file preview) === */
.modal-backdrop{
  position:fixed; inset:0; z-index:200; background:rgba(0,0,0,.85);
  display:none; align-items:flex-start; justify-content:center;
  padding:32px; backdrop-filter:blur(4px);
}
.modal-backdrop.open{display:flex}
.modal{
  background:var(--paper); border:1px solid var(--amber);
  width:100%; max-width:1100px; max-height:calc(100vh - 64px);
  display:flex; flex-direction:column; box-shadow:0 0 40px rgba(212,155,58,.15);
}
.modal-head{
  padding:16px 22px; border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between;
}
.modal-title{font-family:'Newsreader',serif; font-size:18px; color:var(--text); line-height:1.3}
[data-lang="zh"] .modal-title{font-family:'Noto Serif TC',serif}
.modal-title small{display:block; font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--faint); margin-top:3px}
.modal-actions{display:flex; gap:8px}
.modal-actions a, .modal-actions button{
  padding:5px 10px; background:transparent; border:1px solid var(--line);
  color:var(--dim); font-family:'JetBrains Mono',monospace; font-size:10px;
  letter-spacing:.08em; cursor:pointer; text-decoration:none;
}
.modal-actions a:hover, .modal-actions button:hover{color:var(--amber); border-color:var(--amber)}
.modal-desc{padding:14px 22px; border-bottom:1px solid var(--line); background:rgba(212,155,58,.04)}
.modal-desc:empty{display:none}
.modal-desc .desc-body{}
.modal-desc .desc-h{font-family:'Special Elite',monospace; font-size:11px; color:var(--amber); letter-spacing:.2em; margin-bottom:8px; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap}
[data-lang="zh"] .modal-desc .desc-h{font-family:'Noto Serif TC',serif; letter-spacing:.1em; font-size:13px; font-weight:700}
.modal-desc .desc-badge{font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.05em; padding:2px 8px; border:1px solid currentColor; border-radius:1px}
[data-lang="zh"] .modal-desc .desc-badge{font-family:'Noto Serif TC',serif; font-size:11px; font-weight:500}
.modal-desc .desc-badge.ocr{color:var(--p-warm); background:rgba(255,122,26,.08)}
.modal-desc .desc-badge.meta{color:var(--dim); background:rgba(138,130,112,.06)}
.modal-desc .desc-summary{font-family:'Newsreader',serif; font-size:16px; line-height:1.6; color:var(--text); margin-bottom:6px}
[data-lang="zh"] .modal-desc .desc-summary{font-family:'Noto Serif TC',serif; font-size:15px; line-height:1.75}
.modal-desc .desc-look{font-family:'Newsreader',serif; font-size:14px; line-height:1.55; color:var(--dim); margin-top:4px}
[data-lang="zh"] .modal-desc .desc-look{font-family:'Noto Serif TC',serif; font-size:14px; line-height:1.7}
.modal-desc .desc-look em{color:var(--text); font-style:normal}
.modal-desc .desc-video-tech{
  display:flex; gap:14px; flex-wrap:wrap; margin-top:10px; padding-top:10px;
  border-top:1px dashed var(--line); font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--dim);
}
[data-lang="zh"] .modal-desc .desc-video-tech{font-family:'Noto Serif TC',serif; font-size:13px}
.modal-desc .desc-video-tech b{color:var(--text); font-weight:500}
.modal-desc .desc-video-tech .vid-note{color:var(--amber); flex-basis:100%; margin-top:4px; font-style:italic}
.modal-body{flex:1; overflow:auto; background:#0a0807}
.modal-body embed, .modal-body img, .modal-body video{display:block; width:100%; max-height:75vh; margin:0 auto; background:#000}
.modal-body embed{height:75vh}
.modal-meta{padding:14px 22px; border-top:1px solid var(--line); font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--dim); display:flex; gap:16px; flex-wrap:wrap}
[data-lang="zh"] .modal-meta{font-family:'Noto Serif TC',serif; font-size:13px}
.modal-meta b{color:var(--text); font-weight:500}

/* === Tour === */
.tour-shell{max-width:1200px; margin:0 auto; padding:24px 32px 60px}
.tour-progress{display:flex; gap:6px; margin-bottom:24px}
.tour-progress .seg{flex:1; height:4px; background:var(--line)}
.tour-progress .seg.on{background:var(--amber)}
.tour-progress .seg.done{background:var(--stamp)}
.tour-step{display:grid; grid-template-columns:1.4fr 1fr; gap:32px; align-items:start}
@media(max-width:900px){.tour-step{grid-template-columns:1fr}}
.tour-step .preview{background:#0a0807; border:1px solid var(--line); padding:0; min-height:420px; position:relative}
.tour-step .preview embed, .tour-step .preview img, .tour-step .preview video{display:block; width:100%; max-height:70vh}
.tour-step .preview embed{height:70vh}
.tour-step .body h2{font-family:'Special Elite',monospace; font-size:14px; color:var(--amber); letter-spacing:.2em; margin-bottom:10px}
[data-lang="zh"] .tour-step .body h2{font-family:'Noto Serif TC',serif; letter-spacing:.1em; font-size:16px}
.tour-step .body h1{font-family:'Newsreader',serif; font-size:32px; font-weight:700; line-height:1.2; margin-bottom:16px}
[data-lang="zh"] .tour-step .body h1{font-family:'Noto Serif TC',serif}
.tour-step .body .lede{font-family:'Newsreader',serif; font-style:italic; font-size:18px; color:var(--text); margin-bottom:18px; line-height:1.55}
[data-lang="zh"] .tour-step .body .lede{font-family:'Noto Serif TC',serif; font-style:normal}
.tour-step .body p{font-family:'Newsreader',serif; font-size:16px; color:var(--text); line-height:1.7; margin-bottom:14px}
[data-lang="zh"] .tour-step .body p{font-family:'Noto Serif TC',serif; font-size:15px; line-height:1.85}
.tour-step .body .filename{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--dim); background:#0a0807; border:1px solid var(--line); padding:8px 12px; margin:14px 0}
.tour-nav{display:flex; justify-content:space-between; align-items:center; margin-top:36px; padding-top:24px; border-top:1px solid var(--line)}
.tour-nav button{
  padding:10px 22px; background:transparent; border:2px solid var(--text);
  font-family:'Special Elite',monospace; font-size:14px; letter-spacing:.15em; color:var(--text);
  cursor:pointer; transition:all .15s;
}
[data-lang="zh"] .tour-nav button{font-family:'Noto Serif TC',serif; letter-spacing:.2em}
.tour-nav button:hover{border-color:var(--amber); color:var(--amber)}
.tour-nav button:disabled{opacity:.3; cursor:not-allowed}
.tour-nav .pos{font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--dim)}

/* === Dive === */
.dive-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; padding:32px}
.dive-card{
  background:var(--paper); border:1px solid var(--line);
  padding:28px; cursor:pointer; transition:all .2s; display:block; color:inherit;
}
.dive-card:hover{border-color:var(--amber); transform:translateY(-2px)}
.dive-card .num{font-family:'Special Elite',monospace; font-size:14px; color:var(--amber); letter-spacing:.3em; margin-bottom:14px}
.dive-card h2{font-family:'Newsreader',serif; font-size:28px; font-weight:700; margin-bottom:10px; line-height:1.2}
[data-lang="zh"] .dive-card h2{font-family:'Noto Serif TC',serif}
.dive-card p{font-family:'Newsreader',serif; font-size:15px; color:var(--dim); line-height:1.6; margin-bottom:14px}
[data-lang="zh"] .dive-card p{font-family:'Noto Serif TC',serif; line-height:1.75}
.dive-card .meta{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--faint); letter-spacing:.05em}

/* === Guide article view (markdown rendered) === */
.guide-article{max-width:780px; margin:0 auto; padding:32px}
.guide-article h1{font-family:'Newsreader',serif; font-weight:700; font-size:42px; line-height:1.1; margin-bottom:24px}
[data-lang="zh"] .guide-article h1{font-family:'Noto Serif TC',serif}
.guide-article h2{font-family:'Newsreader',serif; font-weight:700; font-size:26px; margin:42px 0 14px; padding-bottom:8px; border-bottom:1px solid var(--line)}
[data-lang="zh"] .guide-article h2{font-family:'Noto Serif TC',serif}
.guide-article h3{font-family:'Newsreader',serif; font-weight:700; font-size:20px; margin:28px 0 10px}
[data-lang="zh"] .guide-article h3{font-family:'Noto Serif TC',serif}
.guide-article p{font-family:'Newsreader',serif; font-size:17px; line-height:1.75; margin-bottom:14px; color:var(--text)}
[data-lang="zh"] .guide-article p{font-family:'Noto Serif TC',serif; font-size:16px; line-height:1.9}
.guide-article ul, .guide-article ol{padding-left:24px; margin-bottom:14px}
.guide-article li{font-family:'Newsreader',serif; font-size:17px; line-height:1.75; margin-bottom:6px}
[data-lang="zh"] .guide-article li{font-family:'Noto Serif TC',serif; font-size:16px; line-height:1.85}
.guide-article a{color:var(--amber); text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:3px}
.guide-article a:hover{text-decoration-color:var(--amber)}
.guide-article a.file-link{
  display:inline-block; padding:1px 6px; background:rgba(212,155,58,.08);
  border:1px solid var(--line); font-family:'JetBrains Mono',monospace; font-size:.85em;
  color:var(--text); text-decoration:none;
}
.guide-article a.file-link:hover{border-color:var(--amber); color:var(--amber); background:rgba(212,155,58,.15)}
.guide-article code{font-family:'JetBrains Mono',monospace; font-size:.88em; background:#0a0807; padding:2px 6px; border:1px solid var(--line); color:var(--amber)}
.guide-article pre{background:#0a0807; border:1px solid var(--line); padding:14px; overflow-x:auto; margin-bottom:14px}
.guide-article pre code{border:none; padding:0; background:transparent}
.guide-article table{width:100%; border-collapse:collapse; margin-bottom:18px; font-family:'JetBrains Mono',monospace; font-size:13px}
[data-lang="zh"] .guide-article table{font-family:'Noto Serif TC',serif; font-size:14px}
.guide-article th, .guide-article td{padding:8px 12px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top}
.guide-article th{color:var(--amber); font-weight:500; border-bottom:1px solid var(--amber); letter-spacing:.05em}
.guide-article blockquote{border-left:3px solid var(--stamp); padding:8px 0 8px 18px; margin:18px 0; font-style:italic; color:var(--dim)}
.guide-article hr{border:none; border-top:1px dashed var(--line); margin:32px 0}

.dive-back{display:inline-block; margin-bottom:24px; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--dim); letter-spacing:.1em}
[data-lang="zh"] .dive-back{font-family:'Noto Serif TC',serif; font-size:13px}
.dive-back:hover{color:var(--amber)}

/* === Page section heads === */
.section-head{padding:24px 32px 0}
.section-head h2{font-family:'Newsreader',serif; font-weight:700; font-size:32px; letter-spacing:-.01em; margin-bottom:6px}
[data-lang="zh"] .section-head h2{font-family:'Noto Serif TC',serif}
.section-head p{font-family:'Newsreader',serif; font-size:16px; color:var(--dim); margin-bottom:18px}
[data-lang="zh"] .section-head p{font-family:'Noto Serif TC',serif}

/* === Loading state === */
.loading{padding:80px 20px; text-align:center; color:var(--dim); font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.1em}

/* === Footer === */
.footer{padding:32px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--faint)}
.footer a{color:var(--dim)}
.footer a:hover{color:var(--amber)}
[data-lang="zh"] .footer{font-family:'Noto Serif TC',serif; font-size:13px}

/* === Responsive === */

/* Tablet+ (768-1100): drawers go 3-col, hero shrinks */
@media(max-width:1100px){
  h1.hero-title{font-size:62px}
  [data-lang="zh"] h1.hero-title{font-size:56px}
  .declassified-stamp{font-size:30px; padding:10px 16px; transform:rotate(-8deg) translateY(14px)}
  .title-block{gap:36px}
  .browse-layout{grid-template-columns:220px 1fr}
  .stats{grid-template-columns:repeat(3,1fr)}
  .stats .drawer:nth-child(4),
  .stats .drawer:nth-child(5){grid-column:span 1}
  /* Map English em hides earlier */
  .map-h .label em{font-size:.6em; display:block; margin-left:0; margin-top:4px; letter-spacing:.2em}
}

/* Tablet narrow (768-920): drawers 2 columns; map heading stacks */
@media(max-width:920px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .stats .drawer:last-child{grid-column:1 / -1}
  .map-h{flex-direction:column; align-items:flex-start; gap:10px}
  .map-h .seal-small{transform:rotate(4deg)}
}

/* Mobile (≤780): single-column, stamp moves below title */
@media(max-width:780px){
  .top-rule{padding:12px 16px; flex-direction:column; gap:8px; align-items:flex-start}
  .top-rule .seal{font-size:10px; letter-spacing:.15em}
  .hero{padding:32px 16px 24px}
  h1.hero-title{font-size:42px}
  [data-lang="zh"] h1.hero-title{font-size:36px}
  .declassified-stamp{transform:rotate(-4deg); margin:18px 0 0; display:inline-block; font-size:24px; padding:8px 14px}
  .title-block{gap:0; flex-direction:column}
  .stats{grid-template-columns:repeat(2,1fr); padding:0 16px}
  .stats .drawer:last-child{grid-column:1 / -1}
  .map-section, .cards{padding:0 16px 32px}
  .map-wrap{height:300px}
  .pin{width:11px; height:11px}
  .pin::after{font-size:9px; padding:2px 5px}
  .legend{padding:6px 9px; gap:6px}
  .legend .scale{width:120px; height:6px}
  .legend .lbl{font-size:9px; letter-spacing:.04em}
  .map-foot{flex-direction:column; gap:6px; font-size:11px}
  .entries{grid-template-columns:1fr; padding:0 16px 32px}
  .entry{transform:rotate(0) !important}
  .browse-layout{grid-template-columns:1fr}
  .filter-rail{position:static; max-height:none; border-right:none; border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:0 16px}
  .filter-rail h3{grid-column:1/-1}
  .filter-rail .search-box{grid-column:1/-1}
  .filter-rail .clear-btn{grid-column:1/-1}
  .filter-rail #f-agency,.filter-rail #f-decade,.filter-rail #f-format,.filter-rail #f-location,.filter-rail #f-doctype{grid-column:1/-1}
  .catalog-area{padding:18px 16px}
  .card-row{grid-template-columns:1fr; gap:4px; padding:14px 0}
  .card-row .id{font-size:10px}
  .dive-grid{grid-template-columns:1fr; padding:16px; gap:14px}
  .dive-card{padding:20px}
  .dive-card h2{font-size:22px}
  .tour-step{grid-template-columns:1fr; gap:18px}
  .tour-step .preview{min-height:280px}
  .tour-step .preview embed{height:50vh}
  .tour-step .body h1{font-size:24px}
  .tour-shell{padding:18px 16px 40px}
  .tour-nav button{padding:8px 14px; font-size:12px}
  .lang-toggle{top:14px; right:14px}
  .guide-article{padding:18px 16px 40px}
  .guide-article h1{font-size:30px}
  .modal-backdrop{padding:12px}
}
