/* The Third Version of History (/third-version/): section front page,
   brief stories and special investigations. Loaded only by the section's
   pages, after shell.css, observatory.css and article.css; everything is
   scoped to body.tv so no other page changes. The archive accent is a warm
   paper tone, kept to rules, kickers and the front-page principles. */
.tv{--tv-archive:#8A6A3B;--tv-archive-soft:#F6F1E8;--tv-archive-line:#E4D8C4}

/* ---------------------------------------------------------------- front */
.tv .tv-hero::after{background:radial-gradient(700px 300px at 85% 0%,rgba(214,176,118,.14),transparent 60%)}
.tv .tv-hero .kicker{color:#D9BC8C}
.tv-front{display:grid;gap:44px}
.tv-block h2,.tv-method h2{font-family:var(--tp-sans);font-size:13px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--tp-muted);margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--tp-line)}
.tv .doc-card .kicker{color:var(--tv-archive)}
.tv-method{background:var(--tv-archive-soft);border:1px solid var(--tv-archive-line);border-left:3px solid var(--tv-archive);border-radius:3px;padding:22px 24px}
.tv-method h2{border-bottom-color:var(--tv-archive-line)}
.tv-method ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tv-method li{font-family:var(--tp-serif);font-size:16px;line-height:1.5;color:var(--tp-ink-2)}
.tv-method strong{display:block;font-family:var(--tp-sans);font-size:14.5px;color:var(--tp-ink);margin-bottom:4px}
@media (max-width:800px){
  .tv-front{gap:32px}
  .tv-method ul{grid-template-columns:1fr;gap:14px}
  .tv-method{padding:18px 16px}
}

/* ---------------------------------------------------------------- article */
/* The cover is a diptych (two portraits side by side): on narrow screens
   show it whole at the top instead of cropping one of the two faces. */
@media (max-width:900px){
  .tv .art-hero.is-cover .art-hero-media img{object-fit:contain;object-position:50% 0}
  .tv .art-hero.is-cover .wrap{padding-top:calc(52.5vw + 28px)}
}
.tv .prose{max-width:720px}
/* Discreet sources: smaller type, muted, in a ruled block. */
.tv .doc-section#sources h2{font-size:15px;font-family:var(--tp-sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--tp-muted)}
.tv .tp-references{font-size:13px;line-height:1.5;color:var(--tp-muted)}
.tv .tp-references a{color:var(--tp-ink-2)}
.tv .prose sup.cite a{color:var(--tv-archive)}
/* "What is documented / what is not": a quiet ledger instead of an alert box. */
.tv .doc-callout{border-left-color:var(--tv-archive);background:var(--tv-archive-soft)}
.tv .doc-pullquote{border-color:var(--tv-archive)}
/* Brief stories: one centred column, no contents rail. */
.tv-story .art-body{grid-template-columns:minmax(0,1fr);max-width:820px}
.tv-story .toc{display:none}
/* Kind of evidence (tv-doc / tv-test / tv-leg): documented fact, testimony
   and legendary element, used by tables, timelines and key figures. */
.tp-cert.cert-tv-doc{color:#fff;background:#1F4E5F;border-color:#1F4E5F}
.tp-cert.cert-tv-test{color:#6B4A12;background:#FBF1DC;border-color:#C9A15A}
.tp-cert.cert-tv-leg{color:#7A2E2E;background:#FBEDEA;border-color:#C98A80;border-style:dashed;font-style:italic}
/* Small archive originals (police photographs, record cards) are shown at
   their own size instead of being blown up to the column width. */
.tv .tp-figure:has(img[src$="/malloy-marino-1933.jpg"]){max-width:360px}
/* Route maps (Koivunen, 1944): documented places are solid, estimated or
   possible locations hollow and dashed; points with a source note open a
   card on tap, hover or keyboard focus. */
.tv .map-place.has-note{pointer-events:auto;cursor:pointer}
.tv .map-place.has-note .hit{fill:transparent!important;stroke:none!important}
.tv .map-place.has-note:focus{outline:none}
.tv .map-place.has-note:focus circle:not(.hit),.tv .map-place.is-active circle:not(.hit){stroke:#D6B076;stroke-dasharray:none}
.tv .map-place.kind-tv-sure circle:not(.hit){fill:#1F4E5F;stroke:#fff}
.tv .map-place.kind-tv-approx circle:not(.hit){fill:#fff;stroke:#8A6A3B;stroke-dasharray:.45 .3}
.tv .map-place.kind-tv-station circle:not(.hit){fill:#5B6573;stroke:#fff}
.tv .map-route.kind-estimated{stroke:#8A6A3B;opacity:.9}
.tv .lg-tv-sure::before{background:#1F4E5F!important}
.tv .lg-tv-approx::before{background:#fff!important;border:1.5px dashed #8A6A3B;box-sizing:border-box}
.tv .lg-tv-station::before{background:#5B6573!important}
.tv .lg-route-est::before{background:none!important;border-top:3px dotted #8A6A3B;height:0!important;border-radius:0!important;width:18px!important;vertical-align:3px}
.tv .mapcard-note{margin:8px 0 0;color:#D2DAE5;font-size:13px;line-height:1.45}
/* Historical maps (Israel and Palestine, Part I): filled areas classed by
   kind, armistice lines, two sequential scales for the choropleths and the
   1947/1949 comparison slider. Base countries are context only here. */
.tv .tp-mapfig[data-map^="ip-"] .map-country,.tv .tp-mapcompare .map-country{pointer-events:none;fill:#EEE8DC}
.tv .tp-mapfig[data-map^="ip-"] .map-country[data-iso="PAL"],.tv .tp-mapcompare .map-country[data-iso="PAL"]{fill:#F7F3EA;stroke:#5B6573}
.tv .tp-mapfig[data-map="ip-mandates-1923"] .map-country{stroke:none;fill:#EFEBE3}
.tv .map-area{stroke:#fff;stroke-linejoin:round}
.tv .map-area.has-note{cursor:pointer}
.tv .map-area.has-note:hover,.tv .map-area.has-note:focus,.tv .map-area.is-active{stroke:#111A28;outline:none;filter:brightness(1.06)}
.tv .map-area.kind-un-jewish,.tv .map-area.kind-peel-jewish,.tv .map-area.kind-a49-israel{fill:#4E86AE}
.tv .map-area.kind-un-arab,.tv .map-area.kind-peel-arab{fill:#D9A441}
.tv .map-area.kind-un-corpus{fill:#fff;stroke:#111A28;stroke-dasharray:.6 .4}
.tv .map-area.kind-peel-mandate{fill:#A7ADB6}
.tv .map-area.kind-a49-wb{fill:#9C8B5E}
.tv .map-area.kind-a49-gaza{fill:#B5703A}
.tv .map-area.kind-a49-nml,.tv .map-area.kind-a49-dmz{fill:#C9CDD3}
.tv .map-area.kind-faint{fill:#E4E7EB;stroke:#B8BEC6}
.tv .map-line.kind-armistice-line{stroke:#111A28;stroke-dasharray:1 .6;opacity:.6}
.tv .map-area.kind-ot-jer{fill:#B7865A}.tv .map-area.kind-ot-bei{fill:#D8C3A0}.tv .map-area.kind-ot-unc{fill:#ECE3D2}
.tv .map-area.kind-md-uk{fill:#C77D5B}.tv .map-area.kind-md-fr{fill:#6E8FB8}.tv .map-area.kind-md-other{fill:#E8E3DA}
.tv .map-area.kind-dist-a{fill:#C9B892}.tv .map-area.kind-dist-b{fill:#A9BFCF}.tv .map-area.kind-dist-c{fill:#D6C6A8}.tv .map-area.kind-dist-d{fill:#B9C7B0}.tv .map-area.kind-dist-e{fill:#D9B9A6}.tv .map-area.kind-dist-f{fill:#C8C1D6}
.tv .map-area.kind-ch-0{fill:#F1EEE6}.tv .map-area.kind-ch-1{fill:#C9DCEA}.tv .map-area.kind-ch-2{fill:#93BAD3}.tv .map-area.kind-ch-3{fill:#5C8FB3}.tv .map-area.kind-ch-4{fill:#2F5F80}
.tv .map-place.kind-ip-village circle{fill:#5B6573;stroke:none;opacity:.75}
.tv .map-place.kind-ip-unrwa circle{fill:#7A2E2E;stroke:#fff}
.tv .map-place.kind-ip-unrwa text{font-weight:800}
.tv .lg-un-jewish::before,.tv .lg-peel-jewish::before,.tv .lg-a49-israel::before{background:#4E86AE!important;border-radius:2px!important}
.tv .lg-un-arab::before,.tv .lg-peel-arab::before{background:#D9A441!important;border-radius:2px!important}
.tv .lg-un-corpus::before{background:#fff!important;border:1.5px dashed #111A28;box-sizing:border-box;border-radius:2px!important}
.tv .lg-peel-mandate::before{background:#A7ADB6!important;border-radius:2px!important}
.tv .lg-a49-wb::before{background:#9C8B5E!important;border-radius:2px!important}.tv .lg-a49-gaza::before{background:#B5703A!important;border-radius:2px!important}
.tv .lg-a49-nml::before{background:#C9CDD3!important;border-radius:2px!important}
.tv .lg-ot-jer::before{background:#B7865A!important;border-radius:2px!important}.tv .lg-ot-bei::before{background:#D8C3A0!important;border-radius:2px!important}.tv .lg-ot-unc::before{background:#ECE3D2!important;border:1px solid #ccc;box-sizing:border-box;border-radius:2px!important}
.tv .lg-md-uk::before{background:#C77D5B!important;border-radius:2px!important}.tv .lg-md-fr::before{background:#6E8FB8!important;border-radius:2px!important}
.tv .lg-ch-0::before{background:#F1EEE6!important;border:1px solid #ccc;box-sizing:border-box;border-radius:2px!important}.tv .lg-ch-1::before{background:#C9DCEA!important;border-radius:2px!important}.tv .lg-ch-2::before{background:#93BAD3!important;border-radius:2px!important}.tv .lg-ch-3::before{background:#5C8FB3!important;border-radius:2px!important}.tv .lg-ch-4::before{background:#2F5F80!important;border-radius:2px!important}
.tv .lg-ip-village::before{background:#5B6573!important;width:6px!important;height:6px!important}
.tv .lg-ip-unrwa::before{background:#7A2E2E!important}
/* Historical maps are tall: give them room but keep them inside the screen. */
.tv .tp-mapfig[data-map^="ip-"] .tp-map-box{max-width:min(100%,560px);margin:0 auto}
/* 1947/1949 comparison: the second map is revealed from the right. */
.tv .tp-mapcompare .mc-stage{--mc:50%;position:relative;max-width:min(100%,560px);margin:0 auto;touch-action:pan-y;user-select:none;cursor:ew-resize}
.tv .tp-mapcompare .mc-layer svg{display:block;width:100%;height:auto}
.tv .tp-mapcompare.is-live .mc-b{position:absolute;inset:0;clip-path:inset(0 0 0 var(--mc))}
.tv .tp-mapcompare:not(.is-live) .mc-b{margin-top:12px}
.tv .tp-mapcompare .mc-handle{display:none}
.tv .tp-mapcompare.is-live .mc-handle{display:block;position:absolute;top:0;bottom:0;left:var(--mc);width:3px;margin-left:-1.5px;background:#111A28;box-shadow:0 0 0 1px #fff}
.tv .tp-mapcompare.is-live .mc-handle::after{content:"⟷";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:#111A28;color:#fff;font:700 16px/34px var(--tp-sans);text-align:center}
.tv .tp-mapcompare .mc-tag{position:absolute;top:10px;padding:3px 9px;background:rgba(17,26,40,.86);color:#fff;font:700 12px var(--tp-sans);letter-spacing:.6px;border-radius:2px}
.tv .tp-mapcompare .mc-tag-a{left:10px}.tv .tp-mapcompare .mc-tag-b{right:10px}
.tv .tp-mapcompare:not(.is-live) .mc-tag,.tv .tp-mapcompare:not(.is-live) .mc-range{display:none}
.tv .tp-mapcompare .mc-range{display:block;width:min(100%,560px);margin:12px auto 4px;accent-color:#111A28}
.tv .tp-mapcompare .mc-legend{display:block;margin-top:8px;font-size:12px}
.tv .tp-mapcompare .mc-legend strong{display:block;font:700 11px var(--tp-sans);letter-spacing:1px;text-transform:uppercase;color:var(--tp-muted)}
.tv .tp-mapcompare .mc-note{display:block;margin-top:8px;font-size:12.5px;color:var(--tp-ink-2)}
/* Israel and Palestine, Part II (1949–2023): territories, settlements, barrier. */
.tv .map-area.kind-o67-occ{fill:#D9A95B}
.tv .map-area.kind-o67-annex{fill:#8E4F2E}
.tv .map-area.kind-o67-undof{fill:#E4E7EB;stroke:#5B6573;stroke-dasharray:.5 .35}
.tv .map-area.kind-o67-gaza05{fill:#F0D9B0;stroke:#8E4F2E;stroke-dasharray:.5 .35}
.tv .map-area.kind-wb-land{fill:#EFE3C8;stroke:#8A7A55}
.tv .map-area.kind-stl{fill:#2F5F80;stroke:none}
.tv .map-line.kind-bar-built{stroke:#7A2E2E;stroke-linecap:round}
.tv .map-line.kind-bar-uc{stroke:#7A2E2E;stroke-dasharray:1.2 .8;stroke-linecap:round}
.tv .map-line.kind-bar-plan{stroke:#7A2E2E;stroke-dasharray:.25 .7;stroke-linecap:round;opacity:.7}
.tv .map-place.kind-stl circle{fill:#2F5F80;stroke:#fff}
.tv .map-place.kind-stl-former circle{fill:#fff;stroke:#2F5F80}
.tv .map-place.kind-stl-former text{font-style:italic}
.tv .map-place.kind-crossing circle{fill:#111A28;stroke:#fff}
.tv .lg-o67-occ::before{background:#D9A95B!important;border-radius:2px!important}
.tv .lg-o67-annex::before{background:#8E4F2E!important;border-radius:2px!important}
.tv .lg-o67-undof::before{background:#E4E7EB!important;border:1px dashed #5B6573;box-sizing:border-box;border-radius:2px!important}
.tv .lg-o67-gaza05::before{background:#F0D9B0!important;border:1px dashed #8E4F2E;box-sizing:border-box;border-radius:2px!important}
.tv .lg-wb-land::before{background:#EFE3C8!important;border:1px solid #8A7A55;box-sizing:border-box;border-radius:2px!important}
.tv .lg-stl::before{background:#2F5F80!important;border-radius:2px!important}
.tv .lg-stl-pt::before{background:#2F5F80!important}
.tv .lg-stl-former::before{background:#fff!important;border:2px solid #2F5F80;box-sizing:border-box}
.tv .lg-crossing::before{background:#111A28!important}
.tv .lg-bar-built::before,.tv .lg-bar-uc::before,.tv .lg-bar-plan::before{background:none!important;height:0!important;border-radius:0!important;width:18px!important;vertical-align:3px}
.tv .lg-bar-built::before{border-top:3px solid #7A2E2E}
.tv .lg-bar-uc::before{border-top:3px dashed #7A2E2E}
.tv .lg-bar-plan::before{border-top:3px dotted #7A2E2E}
.tv .tp-mapfig[data-map^="ip2-"] .tp-map-box{max-width:min(100%,560px);margin:0 auto}
.tv .tp-mapfig[data-map^="ip2-"] .map-country,.tv .tp-mapsteps .map-country{pointer-events:none;fill:#EEE8DC}
.tv .tp-mapfig[data-map^="ip2-"] .map-country[data-iso="PAL"],.tv .tp-mapsteps .map-country[data-iso="PAL"]{fill:#F7F3EA;stroke:#5B6573}
/* Territorial comparator (mapsteps): one map per date on the same frame, switched by tabs. */
.tv .tp-mapsteps .ms-title{display:block;margin:0 auto 12px;max-width:620px;text-align:center;font:600 15px/1.4 var(--tp-sans);color:var(--tp-ink)}
.tv .tp-mapsteps .ms-tabs{display:none}
.tv .tp-mapsteps.is-live .ms-tabs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:0 auto 12px;max-width:620px}
.tv .tp-mapsteps .ms-tabs button{flex:1 1 auto;min-width:64px;min-height:40px;padding:6px 12px;border:1px solid #111A28;background:#fff;color:#111A28;font:700 13px var(--tp-sans);letter-spacing:.4px;border-radius:2px;cursor:pointer}
.tv .tp-mapsteps .ms-tabs button[aria-selected="true"]{background:#111A28;color:#fff}
.tv .tp-mapsteps .ms-tabs button:focus-visible{outline:3px solid #C9A227;outline-offset:2px}
.tv .tp-mapsteps .ms-stage{display:grid;max-width:min(100%,560px);margin:0 auto}
.tv .tp-mapsteps .ms-panel{margin-bottom:22px}
.tv .tp-mapsteps.is-live .ms-panel{grid-area:1/1;margin:0;visibility:hidden;opacity:0;transition:opacity .25s ease}
.tv .tp-mapsteps.is-live .ms-panel.is-on{visibility:visible;opacity:1}
.tv .tp-mapsteps .ms-map svg{display:block;width:100%;height:auto}
.tv .tp-mapsteps .ms-label{margin:0 0 6px;font:700 12px var(--tp-sans);letter-spacing:.8px;text-transform:uppercase;color:var(--tp-muted)}
.tv .tp-mapsteps .map-legend{margin-top:8px}
.tv .tp-mapsteps .ms-note{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--tp-ink-2)}
.tv .tp-mapsteps .credit{max-width:620px;margin:10px auto 0;font-size:12px;color:var(--tp-muted)}
@media (prefers-reduced-motion:reduce){.tv .tp-mapsteps.is-live .ms-panel{transition:none}}
.tp-cert.cert-tv-est{color:#2F4A3A;background:#E8F1EA;border-color:#7FA58B}
.tp-cert.cert-tv-int{color:#3D3270;background:#EEEBF8;border-color:#9A8FD0}
.tp-cert.cert-tv-disp{color:#5B6573;background:#F1F2F4;border-color:#9AA2AD;border-style:dashed}
.tv .tp-gallery-title{font:700 13px var(--tp-sans);letter-spacing:.4px;color:var(--tp-ink);margin:28px 0 10px}
/* Israel and Palestine, Part III (2023–2026): Gaza envelope, governorates, UNOSAT damage, corridors. */
.tv .map-area.kind-gz-gov{fill:#F7F3EA;stroke:#5B6573}
.tv .map-area.kind-dmg-1{fill:#E8B98A;stroke:none}
.tv .map-area.kind-dmg-2{fill:#C26A3A;stroke:none}
.tv .map-area.kind-dmg-3{fill:#6E1F17;stroke:none}
.tv .map-line.kind-corridor{stroke:#111A28;stroke-dasharray:1 .7;stroke-linecap:round;opacity:.85}
.tv .map-place.kind-attacked circle{fill:#B42318;stroke:#fff}
.tv .map-place.kind-nova circle{fill:#fff;stroke:#B42318}
.tv .map-place.kind-hospital circle{fill:#fff;stroke:#1F6F5B}
.tv .lg-gz-gov::before{background:#F7F3EA!important;border:1px solid #5B6573;box-sizing:border-box;border-radius:2px!important}
.tv .lg-dmg-1::before{background:#E8B98A!important;border-radius:2px!important}
.tv .lg-dmg-2::before{background:#C26A3A!important;border-radius:2px!important}
.tv .lg-dmg-3::before{background:#6E1F17!important;border-radius:2px!important}
.tv .lg-attacked::before{background:#B42318!important}
.tv .lg-nova::before{background:#fff!important;border:2px solid #B42318;box-sizing:border-box}
.tv .lg-hospital::before{background:#fff!important;border:2px solid #1F6F5B;box-sizing:border-box}
.tv .lg-corridor::before{background:none!important;height:0!important;border-radius:0!important;width:18px!important;vertical-align:3px;border-top:3px dashed #111A28}
.tv .tp-mapfig[data-map^="ip3-"] .tp-map-box{max-width:min(100%,560px);margin:0 auto}
.tv .tp-mapfig[data-map^="ip3-"] .map-country{pointer-events:none;fill:#EEE8DC}
.tv .tp-mapfig[data-map^="ip3-"] .map-country[data-iso="PAL"]{fill:#F7F3EA;stroke:#5B6573}
.tv .map-area.kind-isr-ctx{fill:#DCE3EA;stroke:#5B6573}
.tv .map-area.kind-gz-strip{fill:#F0D9B0;stroke:#8E4F2E}
.tv .lg-isr-ctx::before{background:#DCE3EA!important;border:1px solid #5B6573;box-sizing:border-box;border-radius:2px!important}
.tv .lg-gz-strip::before{background:#F0D9B0!important;border:1px solid #8E4F2E;box-sizing:border-box;border-radius:2px!important}
.tv .tp-mapfig[data-map^="ip3-"] .map-country[data-iso="PAL"]{fill:#D5E3EE;stroke:none}
