:root{
  /* ===== Palette. GUIDE.palette in p1.js overrides the first six at runtime. ===== */
  /* Neutral ink & paper base */
  --ink:#111317; --paper:#f4f2ed;
  /* ONE accent, used semantically for the regime / its services / its agents */
  --accent:#c8102e; --accent-text:#9b0d23; --accent-on-dark:#ff6b6b;
  /* Optional counter color for the opposing side (investigators, dissidents). Neutral slate if unused. */
  --counter:#2f5d8a;
  /* Derived (do not set by hand) */
  --ink-2:color-mix(in srgb,var(--ink) 92%,#fff); --ink-3:color-mix(in srgb,var(--ink) 84%,#fff);
  --paper-2:color-mix(in srgb,var(--paper) 94%,#000); --paper-ink:#1c1e22; --card:#fcfbf8;
  --accent-deep:color-mix(in srgb,var(--accent) 45%,#000);
  --accent-tint:color-mix(in srgb,var(--accent) 12%,#fff); --accent-tint-ink:var(--accent-text); --accent-line:color-mix(in srgb,var(--accent) 30%,#fff);
  --counter-ink:color-mix(in srgb,var(--counter) 75%,#000); --counter-tint:color-mix(in srgb,var(--counter) 12%,#fff); --counter-line:color-mix(in srgb,var(--counter) 30%,#fff);
  --ivory:#eeeae2; --stone:#a3a29d; --stone-ink:#5f6066; --link:#2c3340; --slate-glow:#d9d4c7; --slate-tint:#e6e5e1; --slate-tint-ink:#33373f;
  --cleared:#245236; --cleared-tint:#e3efe6; --cleared-line:#b6d3bf;
  --f-display:"Playfair Display", Georgia, "Times New Roman", serif;
  --f-serif:"Source Serif 4", Georgia, "Times New Roman", serif;
  --f-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--ink);color:#e6e5e1;font-family:var(--f-serif);font-size:1.06rem;line-height:1.7}
section{scroll-margin-top:68px}
.font-display,h1,h2,h3,.section-title,.modal-title{font-family:var(--f-display)}
.text-stone{color:var(--stone)!important}.text-red{color:var(--accent-text)!important}
.text-accent-dark{color:var(--accent-on-dark)!important}.text-muted-k{color:var(--stone-ink)!important}
.link-ivory{color:var(--ivory);text-decoration:none}.link-ivory:hover{color:#fff;text-decoration:underline}
.kicker{font-family:var(--f-sans);text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:700;margin-bottom:.5rem}
.section{padding:6rem 0}
.section-title{font-size:clamp(2rem,3.6vw,3rem);font-weight:700;line-height:1.1;margin-bottom:1rem}
.lede{font-size:1.2rem;color:inherit;opacity:.9}
.paper{background:var(--paper);color:var(--paper-ink)}
.paper-alt{background:var(--paper-2);color:var(--paper-ink)}
.ink{background:radial-gradient(1200px 500px at 10% 0%,color-mix(in srgb,var(--counter) 25%,var(--ink)) 0%,transparent 60%),var(--ink)}
.paper .text-body-secondary,.paper-alt .text-body-secondary{color:#5f6066!important}

/* Nav */
.site-nav{background:rgba(17,19,23,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08);transition:background .3s}
.site-nav.scrolled{background:rgba(17,19,23,.95)}
.site-nav .nav-link{font-family:var(--f-sans);font-size:.85rem;font-weight:500;color:#c9c9c6;letter-spacing:.02em}
.site-nav .nav-link:hover{color:#fff}
.site-nav .nav-link.active{color:#fff;box-shadow:inset 0 -2px 0 var(--accent)}
.brand{font-family:var(--f-display);font-weight:700;color:#eeeae2!important;letter-spacing:.01em}
.brand-seal{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;background:var(--accent);color:#fff;border-radius:.3rem;font-family:serif;font-size:1rem;margin-right:.4rem;box-shadow:inset 0 0 0 2px rgba(255,255,255,.15)}
.brand-seal.sm{width:1.4rem;height:1.4rem;font-size:.8rem}

/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;color:#fff}
.hero-bg{position:absolute;inset:-4%;background-size:cover;background-position:center 35%;transform:scale(1.05);animation:slowzoom 30s ease-in-out infinite alternate;filter:saturate(.85) contrast(1.05)}
@keyframes slowzoom{to{transform:scale(1.14) translateY(-1%)}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,13,16,.94) 0%,rgba(12,13,16,.78) 45%,color-mix(in srgb,var(--accent) 30%,transparent) 100%),linear-gradient(0deg,rgba(17,19,23,1) 0%,transparent 30%)}
.hero-inner{position:relative;z-index:2;padding-top:6rem;padding-bottom:4rem}
.hero-title{font-size:clamp(3rem,8vw,6.5rem);font-weight:900;line-height:.95;letter-spacing:-.01em;margin-bottom:1.2rem}
.hero-sub{font-size:clamp(1.1rem,1.6vw,1.35rem);max-width:44rem;color:#e3e2de;margin-bottom:2rem}
.hero-stats{display:flex;flex-wrap:wrap;gap:2.5rem;margin-top:3rem;font-family:var(--f-sans)}
.hero-stats .n{font-family:var(--f-display);font-size:2.4rem;color:var(--ivory);line-height:1}
.hero-stats .l{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:#b3b3b0}
.hero-credit{position:absolute;right:1rem;bottom:.8rem;z-index:2;font-family:var(--f-sans);font-size:.7rem;color:#9d9d9a;max-width:40rem;text-align:right}
.hero-credit a{color:#c4c4c0}
.btn-ivory{background:var(--ivory);border-color:var(--ivory);color:#111317;font-family:var(--f-sans);font-weight:600}
.btn-ivory:hover,.btn-ivory:focus-visible{background:#fff;border-color:#fff;color:#111317}
.btn-outline-ivory{border-color:rgba(238,234,226,.55);color:var(--ivory)}.btn-outline-ivory:hover{background:var(--ivory);border-color:var(--ivory);color:#111317}
.btn-lg{font-family:var(--f-sans);font-size:1rem}

/* Intro */
.dropcap p:first-child::first-letter{float:left;font-family:var(--f-display);font-size:4.6rem;line-height:.8;padding:.35rem .6rem 0 0;color:var(--paper-ink);font-weight:900}
.legend{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.take-chip{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--f-sans);font-size:.78rem;font-weight:600;background:var(--accent-text);color:#fff;padding:.1rem .5rem;border-radius:2rem;white-space:nowrap}

/* Status badges */
.st{font-family:var(--f-sans);font-size:.68rem;font-weight:600;letter-spacing:.03em;padding:.25rem .55rem;border-radius:2rem;display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap;border:1px solid transparent}
.st::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:currentColor}
.st-history{background:#e7e4dd;color:#4d4a44;border-color:#c8c4ba}
.st-official{background:#dfe7f1;color:#22446e;border-color:#b9cbe0}
.st-convicted{background:var(--accent-tint);color:#8b1518;border-color:#e7b2b2}
.st-mixed{background:#e6e3ee;color:#4a4560;border-color:#cbc6da}
.st-cleared{background:#dcefe2;color:#1d6a3a;border-color:#b4dbc1}
.st-alleged{background:#ece3f3;color:#5c2f80;border-color:#d4c0e5}
.st-pending{background:#fff;color:#4e4740;border-color:#9a948a;border-style:dashed}
.st-debated{background:#e7e4df;color:#4e4740;border-color:#cfc8bf}

/* Central theme section */
.central{background:linear-gradient(135deg,var(--accent-deep) 0%,#111317 60%,#15171b 100%);position:relative;overflow:hidden}
.central::before{content:attr(data-mark);position:absolute;right:-1rem;top:-4rem;font-size:22rem;font-family:serif;color:var(--accent-tint);line-height:1;pointer-events:none}
.lm-portraits{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:.75rem;height:460px}
.lm-portraits figure{margin:0;position:relative;overflow:hidden;border-radius:.4rem;cursor:pointer}
.lm-portraits figure:first-child{grid-row:span 2}
.lm-portraits img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .4s,transform .6s}
.lm-portraits figure:hover img{filter:grayscale(0);transform:scale(1.04)}
.lm-portraits figcaption{position:absolute;left:0;right:0;bottom:0;padding:.5rem .7rem;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);font-family:var(--f-sans);font-size:.75rem;color:#eee}
.lm-origin{font-style:italic;color:#d0cfca;border-left:3px solid var(--accent);padding-left:1rem}
.lm-chip{font-family:var(--f-sans);font-size:.8rem;border:1px solid var(--accent);color:#f6eaea;background:var(--accent-tint);border-radius:2rem;padding:.3rem .8rem;transition:all .2s}
.lm-chip:hover,.lm-chip:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff}

/* Take boxes */
.take-box{border-left:4px solid var(--accent);background:#faf6f4;color:#1f2126;padding:1rem 1.2rem;border-radius:0 .4rem .4rem 0;position:relative}
.take-box p:last-child{margin-bottom:0}
.take-dark{background:rgba(204,0,0,.10);color:#eadfcd;border-left-color:var(--accent)}
.take-label{font-family:var(--f-sans);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:700;color:var(--accent-text);margin-bottom:.4rem}
.take-dark .take-label{color:var(--accent-on-dark)}
.record-label{font-family:var(--f-sans);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:700;color:#6b7c8f;margin-bottom:.4rem;display:flex;align-items:center;gap:.4rem}

/* Timeline */
.tl-wrap{position:relative;margin-bottom:2.5rem}
.tl-line{position:absolute;left:0;right:0;top:45px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--accent) 5%,var(--accent) 95%,transparent);opacity:.9;box-shadow:0 0 10px transparent}
.tl-track{list-style:none;padding:0 0 1rem;margin:0;display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}
.tl-track li{flex:1 0 128px;scroll-snap-align:center}
.tl-node{background:none;border:0;width:100%;color:#c6c6c3;text-align:center;padding:0;cursor:pointer}
.tl-node .dot{width:92px;height:92px;border-radius:50%;margin:0 auto .6rem;background-size:cover;background-position:center;border:3px solid #353a44;box-shadow:0 0 0 4px var(--ink);filter:grayscale(.85) brightness(.75);transition:all .35s cubic-bezier(.2,.8,.2,1)}
.tl-node .yr{font-family:var(--f-sans);font-size:.72rem;letter-spacing:.08em;color:var(--stone)}
.tl-node .nm{font-family:var(--f-display);font-size:.98rem;line-height:1.2;display:block;margin-top:.15rem}
.tl-node:hover .dot{filter:none;transform:translateY(-3px)}
.tl-node[aria-selected="true"] .dot{filter:none;border-color:var(--accent);transform:scale(1.12);box-shadow:0 0 0 4px var(--ink),0 0 28px var(--accent)}
.tl-node[aria-selected="true"] .yr{color:var(--accent-on-dark)}
.tl-node[aria-selected="true"] .nm{color:#fff}
.tl-node:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:.5rem}

.era-panel{animation:fadeUp .5s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.era-hero{position:relative;border-radius:.6rem;overflow:hidden;min-height:300px;display:flex;align-items:flex-end;margin-bottom:2rem;background:#000}
.era-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;filter:sepia(.25)}
.era-hero .ov{position:relative;padding:2rem;background:linear-gradient(0deg,rgba(8,9,12,.95),rgba(8,9,12,.2) 80%,transparent);width:100%}
.era-hero h3{font-size:clamp(1.8rem,3.5vw,2.8rem);color:#fff;margin:0}
.era-hero .yrs{font-family:var(--f-sans);letter-spacing:.2em;color:#d0d0cc;font-size:.8rem;text-transform:uppercase}
.era-hero p{max-width:52rem;color:#dddcd7;margin:.6rem 0 0}
.era-hero .credit{position:absolute;top:.6rem;right:.8rem;font-family:var(--f-sans);font-size:.65rem;color:#bbb;background:rgba(0,0,0,.5);padding:.1rem .45rem;border-radius:.3rem}
.group-title{font-family:var(--f-sans);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--stone);border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:.5rem;margin:1.6rem 0 1rem;display:flex;align-items:center;gap:.5rem}
.group-title .cnt{color:#86878c}

/* Entry cards */
.ecard{display:flex;flex-direction:column;height:100%;background:var(--ink-2);border:1px solid #2a2e36;border-radius:.5rem;overflow:hidden;cursor:pointer;transition:transform .25s,box-shadow .25s,border-color .25s;text-align:left;color:inherit;padding:0;width:100%}
.ecard:hover,.ecard:focus-visible{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.45);border-color:#85868c}
.ecard .thumb{aspect-ratio:16/10;background:#000;overflow:hidden;position:relative}
.ecard .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s;filter:sepia(.15)}
.ecard:hover .thumb img{transform:scale(1.06)}
.ecard .thumb .typ{position:absolute;left:.5rem;top:.5rem;font-family:var(--f-sans);font-size:.65rem;background:rgba(0,0,0,.7);color:#eceae5;padding:.15rem .5rem;border-radius:2rem}
.ecard .thumb .typ[data-side="accent"]{background:var(--accent-text);color:#fff}
.ecard .body{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.ecard h4{font-family:var(--f-display);font-size:1.12rem;line-height:1.25;margin:0;color:#eeebe4}
.ecard .dt{font-family:var(--f-sans);font-size:.72rem;color:var(--stone)}
.ecard .sm{font-size:.9rem;color:#b3b3b0;line-height:1.5;margin:0}
.ecard .foot{margin-top:auto;padding-top:.4rem}
.paper .ecard,.paper-alt .ecard{background:#fcfbf8;border-color:#dcd9d1}
.paper .ecard h4,.paper-alt .ecard h4{color:var(--paper-ink)}
.paper-alt .ecard .sm{color:#55575d}
.paper-alt .ecard .dt{color:var(--stone-ink)}

/* Themes */
.tcard{height:100%;background:#fcfbf8;border:1px solid #dcd9d1;border-radius:.5rem;padding:1.3rem;cursor:pointer;transition:all .25s;text-align:left;width:100%;color:inherit}
.tcard:hover,.tcard:focus-visible{border-color:#85868c;transform:translateY(-3px);box-shadow:0 10px 24px rgba(20,24,32,.12)}
.tcard i.ic{font-size:1.6rem;color:var(--paper-ink)}
.tcard h3{font-size:1.2rem;margin:.6rem 0 .3rem}
.tcard p{font-size:.92rem;color:#55575d;margin:0 0 .6rem}
.tcard .cnt{font-family:var(--f-sans);font-size:.75rem;color:var(--stone-ink);font-weight:600}
.tcard.featured{background:linear-gradient(135deg,var(--ink),var(--ink-3));color:#fff;border-color:var(--ink-3)}
.tcard.featured i.ic,.tcard.featured .cnt{color:#fff}
.tcard.featured p{color:#d6d4cf}

/* Filter */
.filter-bar{background:#fcfbf8;border:1px solid #dcd9d1;border-radius:.6rem;padding:1rem;position:sticky;top:64px;z-index:5;box-shadow:0 6px 18px rgba(20,24,32,.06)}
.filter-bar .form-control,.filter-bar .form-select,.filter-bar .input-group-text{background:#fff;color:#222;border-color:#cfcbc2}
mark{background:var(--accent-tint);padding:0 .1em;color:inherit}

/* Sources */
.method-text{color:#cfcfcb}
.source-list{list-style:none;padding:0}
.source-list li{padding:.45rem 0;border-bottom:1px dashed rgba(255,255,255,.12)}
.source-list a{color:#d9e6f5;text-decoration:none;border-bottom:1px solid rgba(232,220,200,.3)}.source-list a:hover{text-decoration:underline}

/* Credits */
.ccard{display:flex;gap:.8rem;background:#fcfbf8;border:1px solid #dcd9d1;border-radius:.45rem;padding:.6rem;height:100%;font-family:var(--f-sans);font-size:.75rem;color:#45474d}
.ccard img{width:72px;height:72px;object-fit:cover;border-radius:.3rem;flex-shrink:0;background:#ddd}
.ccard a{color:var(--link)}

/* Modal */
.entry-modal{background:#f6f4ef;color:var(--paper-ink);border:0}
.entry-modal .modal-header{border-bottom:1px solid #d7d3ca;align-items:flex-start}
.entry-modal .modal-title{font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.15}
.entry-modal .modal-footer{border-top:1px solid #d7d3ca}
.entry-modal .btn-close{filter:none}
.m-figure{margin:0 0 1rem;background:#111;border-radius:.4rem;overflow:hidden}
.m-figure img{width:100%;max-height:440px;object-fit:contain;background:#111;display:block}
.m-figure figcaption{background:#191b20;color:#d0d0cc;font-family:var(--f-sans);font-size:.75rem;padding:.55rem .8rem}
.m-figure figcaption a{color:#d9e6f5}
.carousel-indicators [data-bs-target]{background-color:#fff}
.m-body p{font-size:1.07rem}
.m-side{background:#fcfbf8;border:1px solid #dcd9d1;border-radius:.45rem;padding:1rem}
.m-side h6{font-family:var(--f-sans);text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;color:var(--stone-ink);font-weight:700}
.kd{list-style:none;padding:0;margin:0;border-left:2px solid #c8c4ba;padding-left:.9rem}
.kd li{position:relative;margin-bottom:.6rem;font-size:.9rem;line-height:1.4}
.kd li::before{content:"";position:absolute;left:-1.27rem;top:.35rem;width:.6rem;height:.6rem;border-radius:50%;background:#85868c;border:2px solid #fcfbf8}
.kd b{font-family:var(--f-sans);font-size:.75rem;display:block;color:#4a4c52}
.srcs{padding-left:1.1rem;font-size:.9rem}
.srcs a{color:var(--link);word-break:break-word}
.chip{font-family:var(--f-sans);font-size:.7rem;background:#e8e5de;color:#4a4c52;padding:.2rem .55rem;border-radius:2rem;border:0;cursor:pointer}
.chip:hover{background:#dad6cd}

/* Footer */
.site-footer{background:#0b0c0f;color:#8f9095;font-family:var(--f-sans);font-size:.8rem;padding:2rem 0;border-top:1px solid #23262d}

/* Reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero-bg{animation:none}html{scroll-behavior:auto}}
@media (max-width:991px){.section{padding:4rem 0}.lm-portraits{height:340px}.filter-bar{position:static}}
.paper,.paper-alt,.entry-modal{--bs-body-color:#1c1e22;--bs-secondary-color:#5f6066;--bs-emphasis-color:#000;--bs-border-color:#cfcbc2;--bs-body-bg:#fcfbf8;--bs-secondary-bg:#e9e6df;--bs-tertiary-bg:#eeeae2}
.paper .btn-outline-secondary,.paper-alt .btn-outline-secondary,.entry-modal .btn-outline-secondary{--bs-btn-color:#4a4c52;--bs-btn-border-color:#b5b2aa;--bs-btn-hover-bg:#4a4c52;--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:#4a4c52}
.legend-dark .st{opacity:.95}
.tl-node .dot{display:block;flex-shrink:0}
.tl-node .yr{display:block}
.m-figure + .carousel-indicators,.carousel .carousel-indicators{bottom:auto;top:.4rem;margin-bottom:0}
.carousel-control-prev,.carousel-control-next{width:10%}
.rel-link{background:none;border:0;padding:.2rem 0;text-align:left;color:var(--link);font-size:.88rem;line-height:1.35;cursor:pointer}
.rel-link:hover{text-decoration:underline}
/* Named Spies */
.tgroups{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .8rem}
.tgroup{font-family:var(--f-sans);font-size:.72rem;letter-spacing:.02em;padding:.25rem .55rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--accent);color:#ebeae6}
.tgroup b{color:var(--accent-on-dark);margin-left:.2rem}
.tcard:not(.featured) .tgroup{background:#eeebe4;color:#55575d}
.sg-tag{display:inline-block;font-family:var(--f-sans);font-size:.68rem;padding:.15rem .45rem;border-radius:.25rem;background:var(--accent-tint);color:var(--accent-tint-ink);margin-left:.25rem;vertical-align:middle}


/* ===== Semantic color: accent = regime / spies, counter = opposing side, everything else neutral ===== */
.hero-bg{background-image:url("../images/hero.jpg")}
.accent-word{color:var(--accent);position:relative;display:inline-block;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.accent-word::after{content:"";position:absolute;left:.06em;bottom:-.16em;width:100vw;height:5px;border-radius:4px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent) 55%,transparent 100%);pointer-events:none}
.accent-word::before{content:attr(data-mark);position:absolute;left:-.02em;bottom:-.62em;font-size:.32em;line-height:1;color:var(--ivory);pointer-events:none}
.hero-title{position:relative;margin-bottom:2rem}
.feat-chip{background:rgba(255,255,255,.92)!important;color:#111317!important}
.tcard.featured[data-side="accent"]{background:linear-gradient(135deg,var(--ink),var(--ink-3));border-color:var(--ink-3);box-shadow:inset 4px 0 0 var(--accent)}
.tcard.featured[data-side="accent"] .feat-chip{background:var(--accent-text)!important;color:#fff!important}
.tcard[data-side="accent"]:not(.featured){box-shadow:inset 0 3px 0 var(--accent)}
.tcard[data-side="accent"]:not(.featured) i.ic,.tcard[data-side="accent"]:not(.featured) .cnt{color:var(--accent-text)}
.tcard[data-side="counter"]:not(.featured){box-shadow:inset 0 3px 0 var(--counter)}
.tcard[data-side="counter"]:not(.featured) i.ic,.tcard[data-side="counter"]:not(.featured) .cnt{color:var(--counter-ink)}
.chip[data-side="accent"]{background:var(--accent-tint);color:var(--accent-tint-ink);box-shadow:inset 0 0 0 1px var(--accent-line)}
.chip[data-side="counter"]{background:var(--counter-tint);color:var(--counter-ink);box-shadow:inset 0 0 0 1px var(--counter-line)}
.chip[data-static]{cursor:default}
.chip[data-goto-theme]:hover{filter:brightness(.96)}
.carousel-control-prev,.carousel-control-next{height:70%}
.paper a:not(.btn),.paper-alt a:not(.btn){color:var(--link);text-decoration:underline;text-decoration-color:rgba(44,51,64,.35)}
.method-text a,.ink a:not(.btn):not(.nav-link){color:var(--slate-glow);text-decoration:underline;text-decoration-color:rgba(217,212,199,.45)}
.tl-node .yr{color:var(--slate-glow)}
@media (max-width:575px){.hero-title{line-height:1.08}.accent-word::after{height:3px;bottom:-.04em;width:calc(100vw - 2rem)}.accent-word::before{bottom:-.5em}}

/* ===== Status badges (fixed key set) ===== */
.st-convicted{background:var(--accent-tint);color:var(--accent-tint-ink);border-color:var(--accent-line)}
.st-official{background:var(--slate-tint);color:var(--slate-tint-ink);border-color:#c9c6bf}
.st-archives{background:var(--accent-deep);color:#fff;border-color:var(--accent-deep)}
.st-discredited{background:#ece9e3;color:#5a5650;border-color:#c9c3b8;text-decoration:line-through;text-decoration-color:rgba(90,86,80,.5)}

/* ===== Role / roster-category badge tones (set by `tone` in p1.js) ===== */
.rl{display:inline-flex;align-items:center;gap:.25rem;font-family:var(--f-sans);font-size:.66rem;font-weight:600;padding:.12rem .45rem;border-radius:.25rem;border:1px solid transparent;white-space:nowrap;vertical-align:middle;letter-spacing:.01em}
.tone-accent{background:var(--accent);color:#fff}
.tone-accent-dark{background:var(--accent-text);color:#fff}
.tone-accent-tint{background:var(--accent-tint);color:var(--accent-tint-ink);border-color:var(--accent-line)}
.tone-accent-dashed{background:#fff;color:var(--accent-text);border-color:var(--accent);border-style:dashed}
.tone-counter{background:var(--counter);color:#fff}
.tone-counter-tint{background:var(--counter-tint);color:var(--counter-ink);border-color:var(--counter-line)}
.tone-neutral{background:#efece6;color:#4a4740;border-color:#d4cfc5}
.tone-muted{background:#eeeae2;color:#5a5650;border-color:#d1cbc0;font-style:italic}
.tone-dashed{background:#fff;color:#5c5f66;border-color:#b9bbc1;border-style:dashed}
.tone-cleared{background:var(--cleared-tint);color:var(--cleared);border-color:var(--cleared-line)}
.legend .rl{font-size:.72rem;margin:.15rem .2rem .15rem 0}
.ecard .foot{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}

/* Then vs. Now */
.hind-box{border:1px solid #d8d3c9;border-radius:.45rem;background:#fcfbf8;padding:1rem 1.1rem}
.hind-label{font-family:var(--f-sans);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:700;color:var(--counter-ink);margin-bottom:.6rem;display:flex;gap:.4rem;align-items:center}
.hind-then,.hind-now{height:100%;padding:.7rem .85rem;border-radius:.35rem;font-size:.95rem;line-height:1.55}
.hind-then{background:#efece6;color:#45464b;border-left:3px solid #a9a59c}
.hind-now{background:var(--accent-tint);color:#2a1c1c;border-left:3px solid var(--accent)}
.hind-then h6,.hind-now h6{font-family:var(--f-sans);font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;margin:0 0 .3rem}
.hind-now h6{color:var(--accent-text)}.hind-then h6{color:#6d6a63}
.hind-then p,.hind-now p{margin:0}
.hind-via{margin-top:.7rem;font-family:var(--f-sans);font-size:.75rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.hind-via span{color:#6d6a63;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;font-weight:700}
.entry-modal a.via{display:inline-flex;gap:.25rem;align-items:center;background:var(--accent-deep);color:#fff!important;text-decoration:none!important;padding:.12rem .5rem;border-radius:2rem}
.entry-modal a.via:hover{background:var(--accent)}

/* The Roster */
.rcats{display:flex;flex-wrap:wrap;gap:.4rem}
.rcat{font-family:var(--f-sans);font-size:.78rem;font-weight:600;border:1px solid #cfcac0;background:#fff;color:#2a2c31;border-radius:2rem;padding:.25rem .7rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}
.rcat b{font-weight:700;opacity:.7}
.rcat .sw{width:.7rem;height:.7rem;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.15)}
.rcat[aria-pressed="true"]{background:var(--paper-ink);color:#fff;border-color:var(--paper-ink)}
.rdeb{display:inline-flex;align-items:center;gap:.2rem;font-family:var(--f-sans);font-size:.66rem;font-weight:600;padding:.1rem .4rem;border-radius:.25rem;background:#fff;color:#4b4e55;border:1px solid #8d9098;font-style:normal}
.rlist{display:flex;flex-direction:column;gap:.45rem}
.rrow{background:#fff;border:1px solid #ddd8ce;border-left:4px solid #b9b4aa;border-radius:.4rem;color:var(--paper-ink)}
.rrow summary{list-style:none;cursor:pointer;padding:.6rem .9rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .8rem;align-items:start}
.rrow summary::-webkit-details-marker{display:none}
.rrow summary:focus-visible{outline:2px solid var(--counter);outline-offset:2px}
.rrow .rn{font-family:var(--f-display);font-weight:700;font-size:1.08rem;line-height:1.25}
.rrow .rcv{font-family:var(--f-sans);font-size:.74rem;color:var(--accent-text);font-weight:600;letter-spacing:.03em}
.rrow .rmeta{font-family:var(--f-sans);font-size:.76rem;color:#5f6066;grid-column:1/-1}
.rrow .rone{font-size:.93rem;grid-column:1/-1;color:#2f3137}
.rrow .rtags{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end;align-items:center}
.rrow .rchev{transition:transform .2s;color:#8d9098}
.rrow[open] .rchev{transform:rotate(180deg)}
.rbody{padding:0 .9rem .9rem;border-top:1px solid #eee9df;font-size:.95rem}
.rbody h6{font-family:var(--f-sans);text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;font-weight:700;color:#5f6066;margin:.8rem 0 .25rem}
.rbody p{margin-bottom:.3rem}
.rbody .rthen{border-left:3px solid #c9c4ba;padding-left:.6rem}
.rbody .rnow{border-left:3px solid var(--counter);padding-left:.6rem}
.rbody .rsrc{padding-left:1.1rem;margin:0;font-size:.85rem;word-break:break-word}
.rbody .rev{display:inline-block;font-family:var(--f-sans);font-size:.7rem;background:var(--paper);border:1px solid #ddd8ce;border-radius:.25rem;padding:.05rem .4rem;margin:0 .25rem .25rem 0}
.rbody .rentry{font-family:var(--f-sans);font-size:.8rem}
@media (max-width:575.98px){.rrow summary{grid-template-columns:1fr}.rrow .rtags{justify-content:flex-start}}

.rrow[data-tone="accent"],.rrow[data-tone="accent-dark"]{border-left-color:var(--accent)}
.rrow[data-tone="accent-tint"],.rrow[data-tone="accent-dashed"]{border-left-color:var(--accent-line)}
.rrow[data-tone="counter"],.rrow[data-tone="counter-tint"]{border-left-color:var(--counter)}
.rrow[data-tone="cleared"]{border-left-color:#6f9c7f}
.rrow[data-tone="dashed"]{border-left-style:dashed;border-left-color:#8d9098}
/* Form switches on paper backgrounds (page runs in Bootstrap's dark mode, sections are light) */
.paper .form-check-input,.paper-alt .form-check-input{background-color:#fff;border-color:#b5b2aa}
.paper .form-switch .form-check-input:not(:checked),.paper-alt .form-switch .form-check-input:not(:checked){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%2860,60,66,.55%29'/%3e%3c/svg%3e")}
.form-check-input:checked{background-color:var(--paper-ink);border-color:var(--paper-ink)}

/* ===== Watergate guide additions ===== */
:root{--accent:#a3231a;--accent-text:#8a1c14;--accent-on-dark:#ff8a7a;--counter:#2f5d8a}
html:not(.js) .js-only{display:none!important}
.reveal{opacity:1;transform:none}
.hero{min-height:92vh}
img.hero-bg{width:108%;height:108%;object-fit:cover;object-position:center 40%;background:none;left:-4%;top:-4%}
.hero-title{font-size:clamp(2.8rem,7vw,5.6rem);font-weight:800;line-height:1;margin:.2rem 0 1.2rem;color:#fff}
.hero-hook{font-size:clamp(1.12rem,1.6vw,1.38rem);line-height:1.6;max-width:46rem;color:#f1efe9}
.hero-sub{font-size:1.05rem;max-width:44rem;color:#cfccc4}
.hero-stats{display:flex;flex-wrap:wrap;gap:1.6rem;margin:2.2rem 0 0;padding:0}
.hero-stats li{display:flex;flex-direction:column}
.hero-credit{position:absolute;right:.8rem;bottom:.4rem;z-index:2;font-family:var(--f-sans);font-size:.65rem;color:#aaa;max-width:60%;text-align:right;margin:0}
/* story */
.story .story-head{max-width:52rem;margin-bottom:2.5rem}
.ch-toc{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.2rem}
.ch-toc a{font-family:var(--f-sans);font-size:.78rem;text-decoration:none;color:#3b3e45;background:#e9e6df;border-radius:2rem;padding:.3rem .75rem .3rem .35rem;display:inline-flex;gap:.4rem;align-items:center}
.ch-toc a span{background:var(--accent);color:#fff;border-radius:50%;width:1.4rem;height:1.4rem;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}
.ch-toc a:hover{background:#dcd8cf}
.chapter{padding:2.5rem 0;border-top:1px solid #dcd8cf;scroll-margin-top:110px}
.chapter p{font-size:1.1rem;max-width:42rem}
.ch-num{font-family:var(--f-sans);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:var(--accent-text);margin:0 0 .3rem}
.ch-title{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:1rem}
.chapter:first-of-type .col-lg-7 > p:first-of-type::first-letter{font-family:var(--f-display);font-size:3.6rem;float:left;line-height:.9;padding:.3rem .5rem 0 0;color:var(--accent)}
.ch-fig{margin:0;position:sticky;top:110px}
.ch-fig img{width:100%;height:auto;border-radius:.4rem;box-shadow:0 18px 40px -20px rgba(0,0,0,.5);filter:sepia(.1)}
.ch-fig figcaption,.m-figure figcaption{font-family:var(--f-sans);font-size:.75rem;color:#5f6066;margin-top:.5rem}
.cr{display:block;font-size:.68rem;opacity:.8}
.xlink{color:var(--accent-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ink .xlink{color:var(--accent-on-dark)}
.ref{font-family:var(--f-sans);font-size:.7rem;text-decoration:none;color:var(--accent-text)}
.story-src{margin-top:2rem;font-family:var(--f-sans);font-size:.85rem}
.story-src summary,.legend-box summary{cursor:pointer;font-weight:600}
/* explorer */
.nojs{background:#1c1f25;border-left:4px solid var(--accent);padding:1rem 1.2rem}
.kinds{display:flex;flex-wrap:wrap;gap:.4rem}
.kind,.pcat,.rchip{font-family:var(--f-sans);font-size:.78rem;border-radius:2rem;padding:.3rem .8rem;border:1px solid #444a55;background:transparent;color:#cfcdc6}
.kind[aria-pressed="true"]{background:#e6e3dc;color:#15171b;border-color:#e6e3dc}
.paper .pcat{border-color:#c9c5bc;color:#3b3e45}
.pcat[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.pcat b,.rchip b{font-weight:600;opacity:.7;margin-left:.2rem}
.rc{font-family:var(--f-sans);font-size:.85rem;color:#a3a29d;margin:1rem 0}
.paper .rc{color:#5f6066}
.era-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.6rem;margin-bottom:1.6rem}
.era-tab{position:relative;aspect-ratio:3/4;border:2px solid transparent;border-radius:.5rem;overflow:hidden;padding:0;background:#000;text-align:left;color:#fff;cursor:pointer}
.era-tab img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:opacity .3s,transform .5s;filter:grayscale(.4)}
.era-tab:hover img{opacity:.75;transform:scale(1.04)}
.era-tab[aria-selected="true"]{border-color:var(--accent-on-dark)}
.era-tab[aria-selected="true"] img{opacity:.85;filter:none}
.et-ov{position:absolute;inset:auto 0 0 0;padding:.6rem;background:linear-gradient(0deg,rgba(0,0,0,.9),transparent);display:flex;flex-direction:column}
.et-y{font-family:var(--f-sans);font-size:.62rem;letter-spacing:.1em;color:#ddd}
.et-t{font-family:var(--f-display);font-size:1rem;line-height:1.15;font-weight:700}
.et-n{font-family:var(--f-sans);font-size:.62rem;color:#bbb}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-bottom:2rem}
.group-title{font-size:1.35rem;margin:1.6rem 0 .8rem;color:#fff}
.group-title .cnt{display:block;font-family:var(--f-serif);font-size:.95rem;font-weight:400;color:#a3a29d;margin-top:.2rem}
.ecard .typ{position:absolute;left:.5rem;top:.5rem;font-family:var(--f-sans);font-size:.65rem;background:rgba(0,0,0,.7);color:#fff;padding:.15rem .5rem;border-radius:2rem}
.ecard .typ-steel{background:rgba(70,40,110,.85)}
.ecard .typ-question{background:rgba(30,60,100,.85)}
.ecard .body{display:flex;flex-direction:column;gap:.35rem;padding:.9rem 1rem 1rem;flex:1}
.ecard h4{font-size:1.08rem;margin:0;line-height:1.25}
.ecard .sm{font-size:.88rem;color:#c3c1ba;line-height:1.45}
.ecard .foot{margin-top:auto;padding-top:.4rem}
.ecard .dt{font-family:var(--f-sans);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#a3a29d}
.rh{font-size:1.3rem;margin:1.6rem 0 .8rem;color:#fff}.rh span{font-family:var(--f-sans);font-size:.8rem;color:#a3a29d}
.rpeople{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem}
.rperson,.rclaim{display:flex;gap:.7rem;align-items:center;text-align:left;background:#1c1f25;border:1px solid #2c3038;border-radius:.45rem;padding:.5rem;color:inherit;width:100%}
.rperson img,.rperson .pinit{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}
.rperson small,.rclaim small{display:block;color:#a3a29d;font-size:.8rem;line-height:1.4}
.rclaims{display:flex;flex-direction:column;gap:.5rem}
.rclaim{align-items:flex-start;padding:.7rem}
.more{margin:-1rem 0 1.5rem}
.empty{color:#cfccc4}
mark{background:#ffe1a8;color:#111;padding:0 .1em}
/* ratings */
.st-documented{background:#dcefe2;color:#1d5a34;border-color:#a9d2b7}
.st-partly{background:#f6e2d6;color:#8a3d12;border-color:#e2bba2}
.st-mixed{background:#e3e7ef;color:#33456a;border-color:#bcc6da}
.st-disputed{background:#ece3f3;color:#5c2f80;border-color:#d4c0e5}
.st-unproven{background:#eceae6;color:#4e4a44;border-color:#a8a299;border-style:dashed}
.st-false{background:#f8dcdc;color:#8b1518;border-color:#e7b2b2}
/* threads */
.tcard h3{font-size:1.25rem;margin:.5rem 0}
.tcard i.ic{font-size:1.6rem;color:var(--accent)}
.tcard .cnt{font-family:var(--f-sans);font-size:.78rem;color:var(--accent-text);font-weight:600}
/* people */
.pcats{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.4rem}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem;align-items:start}
.pcard{background:#fcfbf8;border:1px solid #dcd9d1;border-radius:.5rem;overflow:hidden;transition:box-shadow .3s}
.pcard[open]{box-shadow:0 12px 30px -18px rgba(0,0,0,.4)}
.pcard summary{list-style:none;display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto;column-gap:.8rem;align-items:center;padding:.6rem;cursor:pointer}
.pcard summary::-webkit-details-marker{display:none}
.pph{grid-row:1/3;width:72px;height:72px;border-radius:50%;overflow:hidden;background:#d9d5cc;display:flex;align-items:center;justify-content:center}
.pph img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:grayscale(.2)}
.pinit{font-family:var(--f-display);font-weight:700;font-size:1.4rem;color:#6a6760;background:#d9d5cc;display:inline-flex;align-items:center;justify-content:center}
.pnm{font-family:var(--f-display);font-weight:700;font-size:1.1rem;line-height:1.15;align-self:end}
.prl{font-family:var(--f-sans);font-size:.75rem;color:#5f6066;align-self:start;line-height:1.35}
.pbody{padding:0 1rem 1rem;font-size:.95rem}
.pbody h6,.claim h6,.m-side h6{font-family:var(--f-sans);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700;color:#5f6066;margin:.8rem 0 .4rem}
.pbody .chip,.m-side .chip{margin:0 .3rem .3rem 0;text-align:left}
.flash{outline:3px solid var(--accent);outline-offset:2px;transition:outline-color 1.2s}
/* timeline list */
.tl-filter{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.4rem}
.tl-list{list-style:none;padding:0;margin:0 0 1.5rem;border-left:2px solid #3a3f49;margin-left:.4rem}
.tl-ev{position:relative;display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.7rem 0 .7rem 1.2rem}
.tl-ev::before{content:"";position:absolute;left:-.45rem;top:1.05rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--accent-on-dark);border:2px solid var(--ink)}
.tl-d{font-family:var(--f-sans);font-size:.8rem;font-weight:600;color:#e6e3dc;padding-top:.15rem}
.tl-c{font-size:.98rem;color:#cfccc4}.tl-c b{color:#fff}
.tl-meta{display:block;font-family:var(--f-sans);font-size:.72rem;color:#8f8e89;margin-top:.2rem}
.tl-meta a{color:#b9b7b0}
/* now */
.now-card{background:#fcfbf8;border:1px solid #dcd9d1;border-radius:.5rem;overflow:hidden;height:100%;display:flex;flex-direction:column}
.now-img{aspect-ratio:16/9;overflow:hidden;background:#222}.now-img img{width:100%;height:100%;object-fit:cover;filter:sepia(.1)}
.now-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1}
.now-date{font-family:var(--f-sans);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.now-card h3{font-size:1.25rem;margin:.3rem 0 .5rem}.now-card p{font-size:.95rem;margin-bottom:.6rem}
.now-src{font-family:var(--f-sans);font-size:.72rem;color:#5f6066}.now-src a{color:#5f6066}
.now-more{margin-top:auto;font-family:var(--f-sans);font-size:.85rem;font-weight:600}
/* claims */
.legend-box{font-family:var(--f-sans);font-size:.85rem;margin-bottom:1.2rem}
.legend li{margin:.4rem 0}
.claim-bar{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:.6rem;margin-bottom:.4rem}
.claim-bar .rchips{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.4rem}
.paper .rchip{border-color:#c9c5bc;color:#3b3e45;padding:.2rem .5rem}
.rchip[aria-pressed="true"]{background:#2a2d33;border-color:#2a2d33;color:#fff}
.claims{display:flex;flex-direction:column;gap:.5rem}
.claim{background:#fcfbf8;border:1px solid #dcd9d1;border-radius:.45rem}
.claim summary{list-style:none;display:flex;gap:.7rem;align-items:baseline;padding:.75rem 1rem;cursor:pointer;flex-wrap:wrap}
.claim summary::-webkit-details-marker{display:none}
.cl-t{flex:1 1 20rem;font-weight:600;line-height:1.4}
.cl-top{font-family:var(--f-sans);font-size:.68rem;color:#7a7b80}
.cl-b{padding:0 1rem 1rem;font-size:.95rem}
.cl-b ul{padding-left:1.1rem;margin:0}
/* modal */
.m-thumbs{display:flex;gap:.4rem;margin:.6rem 0 1rem;flex-wrap:wrap}
.m-thumbs button{padding:0;border:2px solid transparent;border-radius:.3rem;overflow:hidden;width:64px;height:48px;background:#000}
.m-thumbs button.on{border-color:var(--accent)}
.m-thumbs img{width:100%;height:100%;object-fit:cover}
.m-lede{font-size:1.2rem;font-weight:600;margin:1rem 0}
.limits-box{border-left:4px solid #8a8780;background:#efede8;color:#1f2126;padding:1rem 1.2rem;border-radius:0 .4rem .4rem 0;margin-top:1rem}
.take-box{margin-top:1.2rem}
.take-label{font-family:var(--f-sans);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;display:flex;gap:.5rem;align-items:center}
.srcs small{display:block;font-size:.72rem;color:#6a6b70;line-height:1.4}
.srcs li{margin-bottom:.4rem}
.site-footer{background:#0c0d10;color:#8f8e89;padding:2rem 0;font-family:var(--f-sans);font-size:.85rem}
@media (max-width:991px){
  .era-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.4rem}
  .era-tab{flex:0 0 42%;scroll-snap-align:start;aspect-ratio:4/3}
  .ch-fig{position:static}
  .tl-ev{grid-template-columns:1fr;gap:.1rem}
  .claim-bar{grid-template-columns:1fr}
  .hero-credit{max-width:90%}
  .hero{min-height:auto}
}
/* fixes */
.chapter:first-of-type .col-lg-7 > p:first-of-type::first-letter{all:unset}
.chapter:first-of-type .ch-title + p::first-letter{font-family:var(--f-display);font-size:3.6rem;float:left;line-height:.9;padding:.3rem .5rem 0 0;color:var(--accent)}
#explore .filter-bar{background:#1a1d23;border:1px solid #2c3038;color:#e6e5e1}
#explore .filter-bar .form-control,#explore .filter-bar .form-select,#explore .filter-bar .input-group-text{background-color:#111317;color:#e6e5e1;border-color:#3a3f49}
#explore .filter-bar .form-control::placeholder{color:#8f8e89}
#explore .filter-bar .btn-outline-ivory{color:#e6e5e1;border-color:#5a5f69}
@media (max-width:991px){.ch-fig img{max-height:300px;object-fit:cover;object-position:center 25%}}

/* ---------- theories (generic: any topic; relabel via topic.labels) ---------- */
.t-list{display:flex;flex-direction:column;gap:1.6rem}
.theory{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:0 1.6rem;background:#16181d;border:1px solid #2c3038;border-radius:.6rem;overflow:hidden}
.theory .t-fig{grid-row:1 / span 2;margin:0;background:#0f1114;position:relative}
.theory .t-fig img{width:100%;height:100%;min-height:240px;max-height:420px;object-fit:cover;display:block;filter:grayscale(.15) contrast(1.05)}
.theory .t-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:.5rem .7rem;font-size:.7rem;line-height:1.35;color:#d9d4c7;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.theory .t-fig .cr{display:block;opacity:.75}
.t-head{padding:1.4rem 1.4rem .4rem 0}
.t-head h3{font-family:var(--f-display);font-size:clamp(1.35rem,2.4vw,1.9rem);margin:.55rem 0 .4rem;color:#f4efe4}
.t-sum{color:#c9c4b8;font-size:1.05rem;margin:0}
.t-file{padding:0 1.4rem 1.2rem 0}
.t-file>summary{list-style:none;cursor:pointer;display:inline-flex;gap:.4rem;align-items:center;font-family:var(--f-sans);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-on-dark);border:1px solid rgba(217,212,199,.35);border-radius:2rem;padding:.35rem .9rem;margin-top:.6rem}
.t-file>summary::-webkit-details-marker{display:none}
.t-file[open]>summary i{transform:rotate(180deg)}
.t-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.4rem;margin-top:1.1rem}
.t-blk h6{font-family:var(--f-sans);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#a3a29d;margin-bottom:.4rem}
.t-blk p,.t-blk li{font-size:.95rem;color:#e6e1d6}
.t-wide{grid-column:1 / -1}
.t-who{padding-left:1.1rem;margin-bottom:.6rem}.t-src{font-size:.8rem;color:#a3a29d}
.t-none{font-style:italic;color:#a3a29d!important}
.t-true{border-left:3px solid #5aa874;padding-left:.8rem}.t-false{border-left:3px solid #c8574d;padding-left:.8rem}
.t-note{font-size:.85rem;color:#a3a29d;font-style:italic;margin:0}
.t-rel .chip{display:inline-block;margin:0 .35rem .35rem 0;text-decoration:none!important;color:#1f2126!important}
.theory .srcs{font-size:.85rem}
.theory.flash,.mcard.flash{outline:2px solid var(--accent-on-dark);outline-offset:3px}
@media (max-width:767.98px){
  .theory{grid-template-columns:1fr}
  .theory .t-fig{grid-row:auto}.theory .t-fig img{max-height:260px;min-height:0}
  .theory .t-fig figcaption{position:static;background:#0f1114;padding:.45rem 1.1rem}
  .t-head,.t-file{padding-left:1.1rem;padding-right:1.1rem}
  .t-grid{grid-template-columns:1fr}
}
.rtheory .rt-img{width:64px;height:64px;object-fit:cover;border-radius:.3rem;flex:0 0 auto}
.rtheory b,.rmedia b{display:block;margin-top:.25rem}
.rm-k{flex:0 0 auto;font-family:var(--f-sans);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#a3a29d;width:7.5rem}

/* ---------- media: picture cards when a free image exists, typographic cards otherwise ---------- */
.mcats{margin-bottom:1.4rem}.mcats a.pcat{text-decoration:none}
.m-cat{margin-top:2rem;scroll-margin-top:90px}
.m-cat-t{font-family:var(--f-display);font-size:1.5rem;border-bottom:1px solid #dcd9d1;padding-bottom:.4rem;margin-bottom:1rem}
.m-cat-t span{font-family:var(--f-sans);font-size:.8rem;color:#7a7c82;vertical-align:middle}
.m-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}
.mcard{display:flex;flex-direction:column;background:#fcfbf8;border:1px solid #dcd9d1;border-radius:.5rem;overflow:hidden;color:#1f2126;text-decoration:none;transition:transform .15s,box-shadow .15s;scroll-margin-top:110px}
.mcard:hover,.mcard:focus{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.12);color:#1f2126}
.mc-type{display:flex;flex-direction:column;justify-content:flex-end;height:120px;padding:.8rem 1rem;background:linear-gradient(135deg,#22252c,#3a3530);color:#f4efe4}
.m-cat:nth-of-type(2) .mc-type{background:linear-gradient(135deg,#2a1f1d,#5a2f28)}
.m-cat:nth-of-type(3) .mc-type{background:linear-gradient(135deg,#1d2a26,#2f4a40)}
.mc-y{font-family:var(--f-display);font-size:2.2rem;line-height:1}
.mc-k{font-family:var(--f-sans);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;opacity:.8;margin-top:.3rem}
.mc-img{position:relative;height:120px;overflow:hidden;background:#111}
.mc-img img{width:100%;height:100%;object-fit:cover;display:block}
.mc-img .cr{position:absolute;right:0;bottom:0;font-size:.6rem;background:rgba(0,0,0,.6);color:#ddd;padding:.1rem .35rem}
.mc-b{display:flex;flex-direction:column;padding:.8rem 1rem 1rem;flex:1}
.mc-kind{font-family:var(--f-sans);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#7a7c82}
.mc-b b{font-family:var(--f-display);font-size:1.12rem;line-height:1.25;margin:.25rem 0 .2rem}
.mc-cr{font-size:.85rem;color:#4a4c52}
.mc-n{font-size:.88rem;color:#33353a;margin-top:.45rem;flex:1}
.mc-go{font-family:var(--f-sans);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-text,#8a2b20);margin-top:.6rem}
.mcard,.mcard:hover{text-decoration:none!important}
/* ===== Nav dropdowns (Bootstrap JS; CSS fallback with JS off) ===== */
.site-nav .dropdown-menu{background:#16181d;border:1px solid #2c3038;border-radius:.5rem;padding:.35rem 0;font-family:var(--f-sans);font-size:.85rem}
.site-nav .dropdown-item{color:#d9d6ce;padding:.4rem 1rem}
.site-nav .dropdown-item:hover,.site-nav .dropdown-item:focus{background:#23262d;color:#fff}
@media (min-width:992px){html:not(.js) .site-nav .dropdown:hover>.dropdown-menu,html:not(.js) .site-nav .dropdown:focus-within>.dropdown-menu{display:block;margin-top:0}}
@media (max-width:991.98px){.site-nav .dropdown-menu{border:0;background:transparent;padding:0 0 .3rem .8rem}}
/* ===== Critical path ===== */
.cp-chain{list-style:none;margin:0;padding:.3rem 0 .6rem;display:flex;gap:.35rem;overflow-x:auto;max-width:100%;scrollbar-width:thin}
.cp-step{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;min-width:5.6rem;max-width:7.5rem;padding:.35rem .5rem;border:1px solid #3a3e47;border-radius:.4rem;background:#1c1f25;color:#d9d6ce;font-family:var(--f-sans);font-size:.7rem;line-height:1.25;position:relative}
.cp-step+.cp-step::before{content:"";position:absolute;left:-.4rem;top:50%;width:.35rem;border-top:1px solid #555a64}
.cp-n{font-weight:700;color:#8d919a;font-size:.65rem}
.cp-l{font-weight:600}
.cp-x{margin-top:.2rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.cp-deny{background:#3a1512;border-color:#e0574a;color:#ffd9d3}.cp-deny .cp-x{color:#ff8a7a}
.cp-reinterpret{background:#33280f;border-color:#d9a32b;color:#ffe8b3}.cp-reinterpret .cp-x{color:#f2c25c}
.cp-support{background:#12301f;border-color:#3fae6c;color:#cff3dd}
.cp-add{border-style:dashed;background:transparent;border-color:#9aa0aa}.cp-add .cp-x{color:#c9ccd2}
.cp-add.cp-ev-none{border-color:#e0574a}.cp-add.cp-ev-thin{border-color:#d9a32b}
.cp-tiny .cp-step{min-width:0;max-width:none;padding:.15rem .4rem}.cp-tiny .cp-l,.cp-tiny .cp-x{display:none}.cp-tiny{padding:.6rem 0 0;gap:.25rem}
.cp-tiny .cp-add .cp-n::after{content:" missing";font-weight:400}
.paper .cp-step,.paper-alt .cp-step{background:#fff;border-color:#cfcac0;color:#2a2c31}
.paper .cp-deny,.paper-alt .cp-deny{background:#fbe3df;border-color:#c0392b;color:#6e1a12}
.paper .cp-support,.paper-alt .cp-support{background:#e1f3e8;border-color:#2f8a55;color:#174a2c}
.paper .cp-add,.paper-alt .cp-add{background:transparent}
.cpx-list{list-style:none;padding:0;margin:0 0 1.2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem;counter-reset:none}
.cpx{display:flex;gap:.8rem;background:#fcfbf8;border:1px solid #dcd9d1;border-left:4px solid var(--accent);border-radius:.4rem;padding:.8rem .9rem;scroll-margin-top:110px}
.cpx-n{flex:0 0 2rem;height:2rem;border-radius:50%;background:var(--accent);color:#fff;font:700 .85rem/2rem var(--f-sans);text-align:center}
.cpx-d{display:block;font-family:var(--f-sans);font-size:.72rem;color:#7a7c82;text-transform:uppercase;letter-spacing:.04em}
.cpx b{font-family:var(--f-display);font-size:1.05rem}
.cpx p{margin:.2rem 0 .3rem;font-size:.92rem}
.cpx-t{font-family:var(--f-sans);font-size:.75rem}
.srcbox{margin-top:.6rem;font-size:.9rem}.srcbox summary{cursor:pointer;font-family:var(--f-sans);font-weight:600}
/* theory path block */
.t-path{border-top:1px solid #2c3038;padding-top:.8rem}
.t-pnote{font-size:.92rem;color:#cfccc4}
.t-pgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.t-pgrid ul{padding-left:1.1rem;font-size:.9rem}.t-pgrid li{margin-bottom:.5rem}
.t-how,.t-ev{display:inline-block;font:700 .62rem/1.4 var(--f-sans);text-transform:uppercase;letter-spacing:.05em;padding:.05rem .4rem;border-radius:1rem;margin:0 .2rem}
.t-how-deny,.t-ev-none{background:#5a1c16;color:#ffd0c9}.t-how-reinterpret,.t-ev-thin{background:#4d3a0d;color:#ffe2a0}.t-ev-disputed{background:#3a3e47;color:#e6e3da}.t-ev-some{background:#164029;color:#c8f0d8}
.t-mbw{display:block;font-size:.82rem;color:#b8b4aa;margin-top:.15rem}
.t-fake{font-size:.9rem;padding-left:1.1rem}
@media (max-width:767.98px){.t-pgrid{grid-template-columns:1fr}}
/* media analysis */
.mcard.has-an{cursor:default}
.mc-an{margin:.5rem 0;font-size:.85rem;border-top:1px solid #e6e2d9;padding-top:.4rem}
.mc-an summary{cursor:pointer;font-family:var(--f-sans);font-weight:700;color:var(--accent-text);list-style:none}
.mc-an summary::-webkit-details-marker{display:none}
.mc-an[open] summary .bi{transform:rotate(180deg);display:inline-block}
.mc-an dl{margin:.4rem 0}.mc-an dt{font-family:var(--f-sans);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#7a7c82;margin-top:.35rem}.mc-an dd{margin:0}
.mc-th .chip{text-decoration:none!important;color:#1f2126!important;margin:.15rem .2rem 0 0;display:inline-block}
/* open questions */
.oq-wrap{margin-top:3rem;padding-top:2rem;border-top:1px solid #2c3038;scroll-margin-top:90px}
.oq-list{display:flex;flex-direction:column;gap:.7rem}
.oq{background:#16181d;border:1px solid #2c3038;border-left:4px solid #8d919a;border-radius:.5rem;scroll-margin-top:110px}
.oq-unknown{border-left-color:#b48cf0}.oq-known{border-left-color:#3fae6c}.oq-partial{border-left-color:#d9a32b}
.oq summary{display:flex;gap:.8rem;align-items:center;padding:.8rem 1rem;cursor:pointer;list-style:none}
.oq summary::-webkit-details-marker{display:none}
.oq-st{flex:0 0 auto;font:700 .65rem/1.3 var(--f-sans);text-transform:uppercase;letter-spacing:.05em;padding:.2rem .5rem;border-radius:1rem;background:#2c2340;color:#e2d4ff}
.oq-known .oq-st{background:#164029;color:#c8f0d8}.oq-partial .oq-st{background:#4d3a0d;color:#ffe2a0}
.oq-t{flex:1;font-family:var(--f-display);font-size:1.1rem;color:#f1efe9}
.oq[open] summary .bi{transform:rotate(180deg)}
.oq-b{padding:0 1rem 1rem}
.oq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;font-size:.92rem}
.oq-grid ul{padding-left:1.1rem}
.oq h6{font-family:var(--f-sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#a9a59b;margin-top:.6rem}
@media (max-width:767.98px){.oq-grid{grid-template-columns:1fr}.oq summary{flex-wrap:wrap}}
/* public memory timeline */
.mem-list{list-style:none;margin:0 0 1rem;padding:0 0 0 1.4rem;border-left:2px solid #3a3e47}
.mem{position:relative;margin-bottom:1.4rem;scroll-margin-top:110px}
.mem-dot{position:absolute;left:-1.4rem;top:1rem;width:1rem;height:1rem;border-radius:50%;background:#8d919a;transform:translateX(-50%);margin-left:-1px;border:3px solid var(--ink)}
.mem-consistent .mem-dot{background:#3fae6c}.mem-fractured .mem-dot{background:#e0574a}.mem-converged .mem-dot{background:#d9a32b}
.mem-card{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:1.2rem;background:#16181d;border:1px solid #2c3038;border-radius:.5rem;overflow:hidden}
.mem-fig{margin:0;background:#0f1114}.mem-fig img{width:100%;height:100%;max-height:300px;object-fit:cover;display:block}
.mem-fig figcaption{font-size:.65rem;color:#a9a59b;padding:.3rem .5rem}
.mem-b{padding:1rem 1rem 1rem 0;font-size:.92rem;min-width:0}
.mem-b h3{font-family:var(--f-display);font-size:1.3rem;margin:.2rem 0 .5rem;color:#f1efe9}
.mem-d{font-family:var(--f-sans);font-weight:700;font-size:.78rem;color:var(--accent-on-dark)}
.mem-sh{font:700 .62rem/1.4 var(--f-sans);text-transform:uppercase;letter-spacing:.05em;padding:.1rem .45rem;border-radius:1rem;background:#2c3038;color:#e6e3da}
.mem-fractured .mem-sh{background:#5a1c16;color:#ffd0c9}.mem-converged .mem-sh{background:#4d3a0d;color:#ffe2a0}.mem-consistent .mem-sh{background:#164029;color:#c8f0d8}
.mem-b ul{padding-left:1.1rem}.mem-b h6{font-family:var(--f-sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#a9a59b;margin-top:.5rem}
@media (max-width:767.98px){.mem-card{grid-template-columns:1fr}.mem-fig img{max-height:200px}.mem-b{padding:0 1rem 1rem}.mem-list{padding-left:1rem}.mem-dot{left:-1rem}}
/* lasting impact */
.lg-grp{margin-bottom:2.4rem;scroll-margin-top:90px}
.lg-lede{color:#55575d;margin:-.4rem 0 1rem}
.lg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.lg-card{display:flex;flex-direction:column;background:#fcfbf8;border:1px solid #dcd9d1;border-radius:.5rem;overflow:hidden;scroll-margin-top:110px;min-width:0}
.lg-fig{margin:0;position:relative;background:#1c1f25}
.lg-fig img{width:100%;height:170px;object-fit:cover;display:block;filter:grayscale(.1)}
.lg-fig figcaption{position:absolute;right:0;bottom:0;font-size:.6rem;color:#e6e3da;background:rgba(0,0,0,.6);padding:.1rem .4rem;max-width:100%}
.lg-b{padding:.9rem 1rem 1rem;font-size:.9rem;min-width:0}
.lg-top{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.lg-y{font:700 .78rem/1 var(--f-sans);color:var(--accent-text)}
.lg-st{font:700 .62rem/1.4 var(--f-sans);text-transform:uppercase;letter-spacing:.05em;padding:.1rem .45rem;border-radius:1rem;background:#e1f3e8;color:#174a2c}
.lg-partly-lapsed,.lg-lapsed{background:#fbe3df;color:#6e1a12}.lg-amended{background:#e3ecf7;color:#1d3d61}.lg-specific{background:#ece8df;color:#4a4c52}
.lg-card h4{font-family:var(--f-display);font-size:1.2rem;margin:.35rem 0 .4rem}
.lg-what{margin-bottom:.5rem}
.lg-ba{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #dcd9d1;border-radius:.4rem;overflow:hidden;margin:.4rem 0 .6rem}
.lg-ba>div{padding:.5rem .6rem}.lg-ba span{display:block;font:700 .62rem/1.4 var(--f-sans);text-transform:uppercase;letter-spacing:.06em}
.lg-before{background:#efece5}.lg-before span{color:#6b6d72}
.lg-after{background:#fff;border-left:1px solid #dcd9d1}.lg-after span{color:var(--accent-text)}
.lg-ba p{margin:0;font-size:.85rem}
.lg-card h6{font-family:var(--f-sans);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#7a7c82;margin:.5rem 0 .25rem}
.lg-ev,.lg-camps{padding-left:1.05rem;margin-bottom:.4rem}
.lg-debate{font-size:.86rem;background:#f3f0e9;border-radius:.35rem;padding:.45rem .6rem;margin:.4rem 0}
.lg-card .t-rel{margin-top:.3rem}
@media (max-width:420px){.lg-grid{grid-template-columns:1fr}.lg-ba{grid-template-columns:1fr}.lg-after{border-left:0;border-top:1px solid #dcd9d1}}
/* keep wide chains from stretching grid tracks */
.theory>*,.t-grid>*,.t-pgrid>*,.mc-b,.mcard{min-width:0}
.t-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.t-pgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:767.98px){.t-grid,.t-pgrid{grid-template-columns:minmax(0,1fr)}}
.kinds-l{font-family:var(--f-sans);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#9a978f;margin-right:.5rem}
/* chapter label, e.g. "Debated" (story.md: <!-- tag: ... -->) */
.ch-tag{display:inline-block;margin-left:.5rem;padding:.1rem .5rem;border:1px solid currentColor;border-radius:999px;font-size:.72em;letter-spacing:.06em;text-transform:uppercase;vertical-align:.1em;color:#7a4a00;background:#fbecd0;border-color:#d9a857}

/* ---------- plain reading edition (READING.html) ---------- */
.reading .r-wrap{max-width:880px}
.reading .r-title{font-family:var(--f-serif,Georgia,serif);font-size:clamp(2rem,4vw,3rem);margin:.25rem 0 1rem}
.reading .r-toc{background:#fcfbf8;border:1px solid #dcd9d1;border-radius:.5rem;padding:1.25rem 1.5rem;margin:2rem 0 3rem}
.reading .r-toc-t{font-size:1.1rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.75rem}
.reading .r-toc-era h3{font-size:1rem;margin:1rem 0 .35rem}.reading .r-toc-era h3 span,.reading .r-toc-era li span,.reading .r-era span{opacity:.65;font-weight:400}
.reading .r-toc-era ul{margin:0 0 .25rem;padding-left:1.1rem}
.reading .r-era{font-size:1.6rem;margin:3.5rem 0 1rem;padding-top:1rem;border-top:3px solid currentColor}
.reading .r-group{margin:2rem 0 2.5rem}.reading .r-gt{font-size:1.35rem;margin-bottom:.25rem}.reading .r-gs{opacity:.8;font-style:italic}
.reading .r-entry{border-top:1px solid #dcd9d1;padding:1.5rem 0}.reading .r-et{font-size:1.2rem;margin-bottom:.35rem}
.reading .r-meta{font-size:.85rem;opacity:.85}.reading .r-sum{font-weight:600}
.reading .r-fig{margin:.5rem 0 1rem;max-width:520px}.reading .r-fig img{max-width:100%;height:auto;border-radius:.35rem}
.reading .r-fig figcaption{font-size:.8rem;opacity:.8;margin-top:.35rem}
.reading .r-sh{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;margin-top:1rem}.reading .r-top{font-size:.85rem;margin-top:.75rem}
.reading a{color:#7a2a12}
