/* TravelStatsMan — modern data-broadsheet theme. Vanilla CSS, tsm- namespace. */
@import url('fonts.css');

:root{
  --tsm-newsprint:#f8f7f2;
  --tsm-panel:#efeee8;
  --tsm-ink:#1a1a1a;
  --tsm-ink-60:rgba(26,26,26,.62);
  --tsm-ink-20:rgba(26,26,26,.2);
  --tsm-spot:#d94311;
  --tsm-maxw:1400px;
  /* signature — motion personality: precise / inked (crisp, minimal glide) */
  --tsm-ease:cubic-bezier(.2,0,0,1);
  --tsm-dur:150ms;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'General Sans',system-ui,sans-serif;
  background:var(--tsm-newsprint);
  color:var(--tsm-ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

/* signature — cheap wins (Layer 0) */
::selection{background:var(--tsm-spot);color:var(--tsm-newsprint)}
::marker{color:var(--tsm-spot)}
:focus-visible{outline:2px solid var(--tsm-ink);outline-offset:2px}
html{accent-color:var(--tsm-spot);scrollbar-color:var(--tsm-ink) var(--tsm-newsprint)}

/* typography */
.tsm-serif{font-family:'Zodiak',Georgia,serif;font-weight:700;letter-spacing:-.02em;line-height:1.06}
.tsm-kicker{font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}
.tsm-dek{font-size:.9rem;color:var(--tsm-ink-60)}
.tsm-num{font-family:'Zodiak',Georgia,serif;font-weight:900;color:var(--tsm-spot);font-size:clamp(2.4rem,8vw,4.2rem);line-height:.9;font-variant-numeric:tabular-nums}
.tsm-src{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tsm-ink-60)}

/* layout scaffolding */
.tsm-wrap{max-width:var(--tsm-maxw);margin:0 auto;padding:0 1.5rem}
.tsm-rule{border-top:3px solid var(--tsm-ink);border-bottom:1px solid var(--tsm-ink);height:6px;margin:1rem 0}
.tsm-hairline{border:0;border-top:1px solid var(--tsm-ink-20);margin:0}
.tsm-col{border-right:1px solid var(--tsm-ink-20);padding-right:1.75rem}
@media(max-width:820px){.tsm-col{border-right:0;border-bottom:1px solid var(--tsm-ink-20);padding-right:0;padding-bottom:1.5rem}}

/* masthead */
.tsm-masthead{padding-top:2rem}
.tsm-strap{text-align:center;margin-bottom:1rem}
.tsm-strap span{border-bottom:1px solid var(--tsm-ink);padding:0 2rem .35rem;display:inline-block}
.tsm-brand{display:flex;align-items:center;justify-content:center;gap:.9rem}
.tsm-brand svg{width:52px;height:52px;flex:none}
.tsm-wordmark{font-family:'Bespoke Stencil','Zodiak',serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(1.5rem,7vw,6rem);letter-spacing:-.01em;line-height:1;color:var(--tsm-ink)}
.tsm-navbar{display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;align-items:center;
  padding:.5rem .25rem;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em}
.tsm-nav{display:flex;gap:1.75rem;flex-wrap:wrap}
.tsm-topline{border-bottom:3px solid var(--tsm-ink);margin-bottom:3rem}

/* signature — link treatment: ink underline draw (Layer 2) */
.tsm-nav a,.tsm-inklink{
  text-decoration:none;background-image:linear-gradient(var(--tsm-spot),var(--tsm-spot));
  background-repeat:no-repeat;background-position:0 100%;background-size:0% 2px;
  transition:background-size var(--tsm-dur) var(--tsm-ease);padding-bottom:2px;
}
.tsm-nav a:hover,.tsm-nav a:focus-visible,.tsm-inklink:hover,.tsm-inklink:focus-visible{background-size:100% 2px}

/* lead spread */
.tsm-lead{display:grid;grid-template-columns:2fr 1fr;gap:3rem;margin-bottom:4rem}
@media(max-width:820px){.tsm-lead{grid-template-columns:1fr;gap:2rem}}
.tsm-lead h2{font-size:clamp(2rem,4.5vw,4rem);margin:.4rem 0 1.5rem}
.tsm-leadgrid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media(max-width:640px){.tsm-leadgrid{grid-template-columns:1fr}}
.tsm-dropcap::first-letter{float:left;font-family:'Zodiak',serif;font-weight:900;font-size:4.2rem;line-height:.66;padding:.1rem .5rem 0 0;color:var(--tsm-ink)}
.tsm-panel{background:var(--tsm-panel);border:1px solid var(--tsm-ink);padding:1.5rem}
.tsm-panel h3{margin:.75rem 0 1rem;font-size:1.5rem}

/* site-specific kicker (replaces the AI-slop border-l-4 label) */
.tsm-tag{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.12em;font-size:.68rem;border-top:2px solid var(--tsm-ink);padding-top:.4rem}
.tsm-tag::before{content:"";width:.55rem;height:.55rem;background:var(--tsm-spot);flex:none}

/* side stories */
.tsm-side article{margin-bottom:1.75rem}
.tsm-side h3{font-size:1.6rem;margin:.6rem 0 .5rem}

/* data strip */
.tsm-strip{border-top:1px solid var(--tsm-ink);border-bottom:1px solid var(--tsm-ink);padding:2.5rem 0;margin-bottom:4rem}
/* Track floor must exceed the widest rendered number ink ($2.4bn = 251px at the 4.2rem clamp
   ceiling), otherwise the number overruns its track into the neighbouring tile. A 190px floor
   collided at 821/830/860/940/981/1024 (up to +58px). 260px verified spill-free and
   page-overflow-free at 17 widths, 460-1600. QA R4 2026-07-20. */
.tsm-stripgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2.5rem}
@media(max-width:820px){.tsm-stripgrid{grid-template-columns:repeat(2,1fr);gap:2rem}}
@media(max-width:460px){.tsm-stripgrid{grid-template-columns:1fr}}
.tsm-stat .tsm-label{font-size:.72rem;font-weight:600;text-transform:uppercase;margin-top:.5rem}

/* lower grid */
.tsm-lower{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2.5rem;margin-bottom:4rem}
@media(max-width:980px){.tsm-lower{grid-template-columns:1fr}}
.tsm-lower h4{font-family:'General Sans';font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1rem;margin-bottom:1rem}
.tsm-tools li{list-style:none;border-bottom:1px dotted var(--tsm-ink-20);padding:0 0 1rem;margin-bottom:1rem}
.tsm-tools a{font-family:'Zodiak',serif;font-weight:700;font-size:1.25rem;text-decoration:none}
.tsm-tools p{font-size:.8rem;color:var(--tsm-ink-60);margin-top:.35rem}
.tsm-method{columns:2;column-gap:1.5rem;font-size:.82rem;color:var(--tsm-ink-60)}
@media(max-width:560px){.tsm-method{columns:1}}
.tsm-method p{margin-bottom:.9rem}
.tsm-promo{border:1px solid var(--tsm-ink);padding:1.5rem;height:100%;display:flex;flex-direction:column;justify-content:center}
.tsm-promo h4{font-family:'Zodiak',serif;text-transform:none;font-size:1.5rem}

/* buttons — ink press feedback */
.tsm-btn{display:inline-block;background:var(--tsm-ink);color:var(--tsm-newsprint);text-decoration:none;
  padding:.6rem 1.2rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;
  transition:background var(--tsm-dur) var(--tsm-ease),transform var(--tsm-dur) var(--tsm-ease)}
.tsm-btn:hover{background:var(--tsm-spot)}
.tsm-btn:active{transform:translateY(1px)}

/* footer */
.tsm-footer{background:var(--tsm-ink);color:var(--tsm-newsprint);padding:3rem 0;margin-top:2rem}
.tsm-footer a{text-decoration:none;color:#cfcdc7}
.tsm-footer a:hover{color:var(--tsm-spot)}
.tsm-foottop{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2.5rem;
  border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:2.5rem;margin-bottom:2rem}
.tsm-foottop p{max-width:22rem;color:#a9a7a1;font-size:.8rem;line-height:1.7;margin-top:.75rem}
.tsm-footcols{display:flex;gap:3.5rem;flex-wrap:wrap}
.tsm-footcols h6{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#8a8781;margin-bottom:.9rem}
.tsm-footcols li{list-style:none;font-size:.72rem;text-transform:uppercase;font-weight:600;margin-bottom:.55rem}
.tsm-footbot{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#8a8781}

/* ---- article / story pages ---- */
.tsm-article{max-width:44rem;margin:0 auto;padding:1rem 0 2rem}
.tsm-article .tsm-tag{margin-bottom:1rem}
.tsm-article h1{font-family:'Zodiak',serif;font-weight:900;letter-spacing:-.02em;line-height:1.05;
  font-size:clamp(2rem,5vw,3.4rem);margin-bottom:1rem}
.tsm-byline{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--tsm-ink-60);
  border-top:1px solid var(--tsm-ink-20);border-bottom:1px solid var(--tsm-ink-20);padding:.6rem 0;margin-bottom:2rem}
.tsm-article h2{font-family:'Zodiak',serif;font-weight:700;font-size:1.9rem;margin:2.5rem 0 .9rem;line-height:1.15}
.tsm-article h3{font-family:'General Sans',sans-serif;font-weight:600;font-size:1.15rem;margin:1.5rem 0 .5rem}
.tsm-article p{margin-bottom:1.1rem;font-size:1.06rem}
.tsm-article p.tsm-lede{font-size:1.28rem;line-height:1.5}
.tsm-article a:not(.tsm-btn){color:var(--tsm-ink);text-decoration:underline;text-decoration-color:var(--tsm-spot);text-underline-offset:3px}
.tsm-article ul,.tsm-article ol{margin:0 0 1.1rem 1.25rem}
.tsm-article li{margin-bottom:.4rem}
.tsm-pull{border-left:0;border-top:3px solid var(--tsm-ink);padding-top:.75rem;margin:2rem 0;
  font-family:'Zodiak',serif;font-size:1.5rem;line-height:1.25}

/* figure / infographic */
.tsm-figure{margin:2.5rem 0;border:1px solid var(--tsm-ink)}
.tsm-figure figcaption{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--tsm-ink-60);
  padding:.75rem 1rem;border-top:1px solid var(--tsm-ink-20)}
.tsm-figure svg{display:block;width:100%;height:auto;background:var(--tsm-newsprint)}
.tsm-embed{margin-top:.75rem;font-size:.72rem}
.tsm-embed summary{cursor:pointer;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.tsm-embed textarea{width:100%;min-height:5.5rem;margin-top:.5rem;font-family:ui-monospace,monospace;font-size:.72rem;
  border:1px solid var(--tsm-ink-20);background:#fff;padding:.6rem}

/* FAQ accordions (H3 questions inside summary) */
.tsm-faq details{border-bottom:1px solid var(--tsm-ink-20)}
.tsm-faq summary{list-style:none;cursor:pointer;padding:1rem 2rem 1rem 0;position:relative}
.tsm-faq summary::-webkit-details-marker{display:none}
.tsm-faq summary h3{margin:0;font-size:1.1rem}
.tsm-faq summary::after{content:"+";position:absolute;right:.25rem;top:.9rem;font-size:1.4rem;
  transition:transform var(--tsm-dur) var(--tsm-ease)}
.tsm-faq details[open] summary::after{content:"\2212"}
.tsm-faq .tsm-faq-a{padding:0 0 1rem}

/* sources */
.tsm-sources{margin-top:2.5rem;border-top:3px solid var(--tsm-ink);padding-top:1rem;font-size:.82rem}
.tsm-sources li{margin-bottom:.4rem;word-break:break-word}

/* homepage intro + editorial threads */
.tsm-intro{max-width:62rem;margin:-.5rem 0 3.5rem}
.tsm-intro p{font-size:1.12rem;line-height:1.62;margin-bottom:1rem;color:var(--tsm-ink)}
.tsm-intro p:first-child{font-size:1.32rem;line-height:1.5}
.tsm-intro a{color:var(--tsm-ink);text-decoration:underline;text-decoration-color:var(--tsm-spot);text-underline-offset:3px;font-weight:600}
.tsm-threads{max-width:62rem;margin:0 auto 4rem}
.tsm-threads h2{font-family:'Zodiak',serif;font-weight:700;font-size:1.9rem;margin-bottom:1.1rem;line-height:1.15}
.tsm-threads p{font-size:1.06rem;line-height:1.66;margin-bottom:1.1rem}
.tsm-threads a{color:var(--tsm-ink);text-decoration:underline;text-decoration-color:var(--tsm-spot);text-underline-offset:3px}
.tsm-toolslead{font-size:.86rem;color:var(--tsm-ink-60);margin-bottom:1.1rem}

/* data strip — inked variant (second movement, differentiated from block 1) */
.tsm-strip--ink{background:var(--tsm-ink);color:var(--tsm-newsprint);border:0;padding:2.75rem 2rem;margin-bottom:4rem}
.tsm-strip--ink .tsm-kicker{color:var(--tsm-newsprint)}
.tsm-strip--ink .tsm-stat{border-right:1px solid rgba(255,255,255,.14);padding-right:1.5rem}
.tsm-strip--ink .tsm-stat:last-child{border-right:0}
@media(max-width:820px){.tsm-strip--ink .tsm-stat{border-right:0}}
.tsm-strip--ink .tsm-num{color:var(--tsm-newsprint)}
.tsm-strip--ink .tsm-num span:first-child,.tsm-strip--ink .tsm-num span:last-child{color:var(--tsm-spot)}
.tsm-strip--ink .tsm-label{color:#cfcdc7}
.tsm-strip--ink .tsm-src{color:#8a8781}

/* homepage FAQ block spacing */
.tsm-faqblock{max-width:52rem;margin:0 auto 4rem}
.tsm-faqblock > h2{font-family:'Zodiak',serif;font-weight:700;font-size:1.9rem;margin-bottom:.5rem}
.tsm-faqblock > p{font-size:.9rem;color:var(--tsm-ink-60);margin-bottom:1rem}

/* signature — scroll reveal (Layer 2). No-JS + reduced-motion safe: base state visible. */
@media(prefers-reduced-motion:no-preference){
  .js .tsm-reveal{opacity:0;transform:translateY(14px);transition:opacity .5s var(--tsm-ease),transform .5s var(--tsm-ease)}
  .js .tsm-reveal.tsm-in{opacity:1;transform:none}
}

/* related-statistics block (site-wide internal linking) */
.tsm-related{max-width:44rem;margin:2.5rem auto 0;border-top:3px solid var(--tsm-ink);padding-top:1rem}
.tsm-related h2{font-family:'Zodiak',serif;font-weight:700;font-size:1.3rem;margin:0 0 .8rem}
.tsm-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.45rem 1.75rem}
@media(max-width:600px){.tsm-related ul{grid-template-columns:1fr}}
.tsm-related li{border-bottom:1px dotted var(--tsm-ink-20);padding-bottom:.45rem}
.tsm-related li::marker{content:""}
.tsm-related a{text-decoration:none;color:var(--tsm-ink);font-weight:600;font-size:.9rem;line-height:1.3}
.tsm-related a:hover{color:var(--tsm-spot)}
.tsm-related-tools{margin-top:1.1rem;font-size:.82rem;color:var(--tsm-ink-60)}
.tsm-related-tools a{color:var(--tsm-ink);text-decoration:underline;text-decoration-color:var(--tsm-spot);text-underline-offset:3px;font-weight:600}

/* ================= DARK MODE — auto (prefers-color-scheme) + manual [data-theme] toggle ================= */
/* base palette: flips for dark-set devices (unless forced light) and for an explicit data-theme=dark */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --tsm-newsprint:#15140f; --tsm-panel:#201e17; --tsm-ink:#ece7d8;
    --tsm-ink-60:rgba(236,231,216,.60); --tsm-ink-20:rgba(236,231,216,.18); --tsm-spot:#f26a3f;
  }
}
:root[data-theme="dark"]{
  --tsm-newsprint:#15140f; --tsm-panel:#201e17; --tsm-ink:#ece7d8;
  --tsm-ink-60:rgba(236,231,216,.60); --tsm-ink-20:rgba(236,231,216,.18); --tsm-spot:#f26a3f;
}

/* logo follows the theme in BOTH modes (unchanged in light; light-inked in dark) — no per-page HTML edits */
.tsm-brand{color:var(--tsm-ink)}
.tsm-brand svg [stroke]{stroke:currentColor}
.tsm-brand svg [fill="#1a1a1a"]{fill:currentColor}
.tsm-brand svg [fill="#d94311"]{fill:var(--tsm-spot)}

/* the footer is a permanently-dark band: pin it so the flipped vars don't turn it light */
[data-theme="dark"] .tsm-footer{background:#100f0b;color:var(--tsm-ink)}
[data-theme="dark"] .tsm-footer .tsm-wordmark{color:var(--tsm-ink)}

/* hand-drawn infographics are built for a light ground — keep them on a light card in both themes */
.tsm-figure svg{background:#f8f7f2}

/* white input in dark */
[data-theme="dark"] .tsm-embed textarea{background:var(--tsm-panel);color:var(--tsm-ink)}

/* header theme toggle (moon shown in light, sun in dark) */
.tsm-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;
  margin-left:.5rem;padding:0;border:1px solid var(--tsm-ink-20);background:transparent;color:inherit;
  cursor:pointer;border-radius:0;vertical-align:middle;transition:border-color var(--tsm-dur) var(--tsm-ease),color var(--tsm-dur) var(--tsm-ease)}
.tsm-theme-toggle:hover{border-color:var(--tsm-spot);color:var(--tsm-spot)}
.tsm-theme-toggle svg{width:1rem;height:1rem}
.tsm-theme-toggle .tsm-theme-sun{display:none}
.tsm-theme-toggle .tsm-theme-moon{display:block}
[data-theme="dark"] .tsm-theme-toggle .tsm-theme-sun{display:block}
[data-theme="dark"] .tsm-theme-toggle .tsm-theme-moon{display:none}

/* homepage "Explore" tiles — line icon + vermillion accent bar + lift-on-hover */
.tsm-explore{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:0 0 2.9rem}
.tsm-explore a{position:relative;display:flex;flex-direction:column;gap:.55rem;
  padding:1.5rem 1.3rem 1.25rem;background:var(--tsm-newsprint);border:1px solid var(--tsm-ink-20);
  text-decoration:none;color:var(--tsm-ink);
  transition:transform var(--tsm-dur) var(--tsm-ease),box-shadow var(--tsm-dur) var(--tsm-ease),border-color var(--tsm-dur) var(--tsm-ease),background var(--tsm-dur) var(--tsm-ease)}
.tsm-explore a::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px;
  background:var(--tsm-spot);transform:scaleY(1);transform-origin:top;transition:height var(--tsm-dur) var(--tsm-ease)}
.tsm-explore a:hover,.tsm-explore a:focus-visible{transform:translateY(-4px);border-color:var(--tsm-ink);
  box-shadow:0 12px 26px rgba(26,26,26,.12)}
.tsm-explore a:hover::before{height:5px}
[data-theme="dark"] .tsm-explore a:hover,[data-theme="dark"] .tsm-explore a:focus-visible{box-shadow:0 12px 28px rgba(0,0,0,.55)}
.tsm-explore-icon{width:30px;height:30px;color:var(--tsm-spot);margin-bottom:.15rem}
.tsm-explore-icon svg{width:100%;height:100%;display:block}
.tsm-explore-k{font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;color:var(--tsm-ink-60)}
.tsm-explore-t{font-family:'Zodiak',Georgia,serif;font-weight:700;font-size:1.3rem;line-height:1.06;letter-spacing:-.01em}
.tsm-explore p{font-size:.83rem;color:var(--tsm-ink-60);line-height:1.5;margin:0;flex:1}
.tsm-explore-go{font-weight:700;font-size:.8rem;color:var(--tsm-spot);white-space:nowrap;margin-top:.15rem}
.tsm-explore-go span{display:inline-block;transition:transform var(--tsm-dur) var(--tsm-ease)}
.tsm-explore a:hover .tsm-explore-go span{transform:translateX(.35rem)}
@media(max-width:820px){.tsm-explore{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.tsm-explore{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.tsm-explore a,.tsm-explore a::before,.tsm-explore-go span{transition:none}
  .tsm-explore a:hover,.tsm-explore a:focus-visible{transform:none}}

/* ============ Newspaper page-turn between pages (View Transitions API — progressive, no JS) ============ */
/* Supported browsers animate every same-origin navigation as a 3D page turn; others just load normally. */
@view-transition{ navigation: auto; }
/* globe top-10 / bottom-10 list (updates with the dataset) */
.tsm-toplist{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 2rem;max-width:44rem;margin:1.25rem auto 0}
@media(max-width:520px){.tsm-toplist{grid-template-columns:1fr}}
.tsm-toplist h4{font-family:'General Sans',system-ui,sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;font-size:.66rem;color:var(--tsm-spot);margin:0 0 .5rem;border-bottom:2px solid var(--tsm-ink);padding-bottom:.3rem}
.tsm-toplist ol{list-style:none;margin:0;padding:0;counter-reset:tl}
.tsm-toplist li{counter-increment:tl;display:flex;justify-content:space-between;gap:.6rem;font-size:.83rem;
  padding:.28rem 0;border-bottom:1px dotted var(--tsm-ink-20)}
.tsm-toplist li::before{content:counter(tl)".";color:var(--tsm-ink-60);font-variant-numeric:tabular-nums;min-width:1.4rem}
.tsm-toplist .tl-name{flex:1}
.tsm-toplist .tl-val{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}

/* you-draw-it skin (broadsheet) — applies to any .tsm-ydi (guess + baggage pages) */
.tsm-ydi{--yd-bg:#f8f7f2;--yd-fg:#1a1a1a;--yd-muted:#6b6b6b;--yd-stage-bg:#fffdf9;--yd-zone:rgba(217,67,17,.07);
  --yd-grid:rgba(26,26,26,.14);--yd-known:#1a1a1a;--yd-guess:#4a4a4a;--yd-truth:#d94311;--yd-diff:rgba(217,67,17,.16);
  --yd-accent:#d94311;--yd-accent-fg:#f8f7f2;--yd-border:rgba(26,26,26,.18);--yd-radius:2px;
  --yd-font:'General Sans',system-ui,sans-serif;--yd-mono:'General Sans',system-ui,sans-serif;margin:1.6rem 0}
[data-theme="dark"] .tsm-ydi{--yd-bg:#201e17;--yd-fg:#ece7d8;--yd-muted:#9a958a;--yd-stage-bg:#1b1a14;
  --yd-zone:rgba(242,106,63,.10);--yd-grid:rgba(236,231,216,.14);--yd-known:#ece7d8;--yd-guess:#b8b3a6;
  --yd-truth:#f26a3f;--yd-diff:rgba(242,106,63,.20);--yd-accent:#f26a3f;--yd-accent-fg:#15140f;--yd-border:rgba(236,231,216,.20)}
.tsm-ydi .yd-title{font-family:'Zodiak','General Sans',Georgia,serif;font-size:1.2rem}

/* globe skin (broadsheet) — applies to any .tsm-map geo-globe (mobile-data + passport pages) */
.tsm-map geo-globe{
  --gg-space:transparent; --gg-ocean:#e7e3d6; --gg-nodata:#dcdcd6; --gg-border:#f8f7f2;
  --gg-graticule:rgba(26,26,26,0.07); --gg-outline:rgba(26,26,26,0.32); --gg-highlight:#d94311;
  --gg-ramp-low:#f6efe0; --gg-ramp-mid:#d9772e; --gg-ramp-high:#a02a0c;
  --gg-ui-bg:#efeee8; --gg-ui-fg:#1a1a1a; --gg-ui-muted:#6b6b6b;
  --gg-ui-line:rgba(26,26,26,0.2); --gg-ui-radius:0; --gg-focus:#d94311;
  font-family:'General Sans',system-ui,sans-serif; max-width:44rem; margin-inline:auto;
}
[data-theme="dark"] .tsm-map geo-globe{
  --gg-ocean:#1b2129; --gg-nodata:#2f2c23; --gg-border:#15140f;
  --gg-graticule:rgba(236,231,216,0.09); --gg-outline:rgba(236,231,216,0.32); --gg-highlight:#f26a3f;
  --gg-ramp-low:#5c3a20; --gg-ramp-mid:#cf6a2b; --gg-ramp-high:#f4a94e;
  --gg-ui-bg:#201e17; --gg-ui-fg:#ece7d8; --gg-ui-muted:#9a958a;
  --gg-ui-line:rgba(236,231,216,0.22); --gg-focus:#f26a3f;
}

/* dataset switcher on the interactive tools (globe / guess) */
.tsm-ds-switch{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:0 0 1rem;
  font-size:.82rem;color:var(--tsm-ink-60)}
.tsm-ds-switch label{font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:var(--tsm-ink-60)}
.tsm-ds-switch select{font:inherit;font-size:.9rem;font-weight:600;color:var(--tsm-ink);
  max-width:100%;min-width:0;
  background:var(--tsm-newsprint);border:1px solid var(--tsm-ink);border-radius:0;
  padding:.4rem 2rem .4rem .7rem;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--tsm-spot) 50%),linear-gradient(135deg,var(--tsm-spot) 50%,transparent 50%);
  background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;
  -webkit-appearance:none;appearance:none}
.tsm-ds-switch select:focus-visible{outline:2px solid var(--tsm-spot);outline-offset:2px}

/* homepage: primary-sources chip strip (fills the "how it's verified" column) */
.tsm-srcstrip{margin-top:1.9rem}
.tsm-srcstrip h5{font-family:'General Sans',system-ui,sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.12em;font-size:.68rem;color:var(--tsm-ink-60);margin-bottom:.8rem}
.tsm-srcstrip ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.tsm-srcstrip li{border:1px solid var(--tsm-ink-20);padding:.32rem .65rem;font-size:.72rem;font-weight:600;
  letter-spacing:.02em;color:var(--tsm-ink);white-space:nowrap}

/* homepage: right column = "desk in numbers" panel stacked above the promo (both fill the column) */
.tsm-col3{display:flex;flex-direction:column;gap:1.25rem;height:100%}
.tsm-deskstat{border:1px solid var(--tsm-ink-20);padding:1.2rem 1.3rem}
.tsm-deskstat ul{list-style:none;margin:.9rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.tsm-deskstat li{display:flex;align-items:baseline;gap:.75rem}
.tsm-deskstat li strong{font-family:'Zodiak',Georgia,serif;font-weight:900;font-size:1.75rem;line-height:1;
  color:var(--tsm-spot);min-width:3rem;font-variant-numeric:tabular-nums}
.tsm-deskstat li span{font-size:.82rem;color:var(--tsm-ink-60);line-height:1.3}
.tsm-deskstat p{margin:1rem 0 0;font-size:.78rem;color:var(--tsm-ink-60);line-height:1.5}
.tsm-col3 .tsm-promo{flex:1;height:auto}

@media (prefers-reduced-motion: no-preference){
  /* outgoing page swings away like a broadsheet leaf (hinged left) ON TOP; incoming page settles beneath */
  ::view-transition-old(root){
    z-index:2; transform-origin:left center; backface-visibility:hidden;
    animation: tsm-page-out 640ms cubic-bezier(.42,.02,.22,1) both;
  }
  ::view-transition-new(root){
    z-index:1; transform-origin:left center;
    animation: tsm-page-in 640ms cubic-bezier(.42,.02,.22,1) both;
  }
  @keyframes tsm-page-out{
    0%  { transform: perspective(2200px) rotateY(0deg);   filter: brightness(1); }
    100%{ transform: perspective(2200px) rotateY(-92deg); filter: brightness(.55); }
  }
  @keyframes tsm-page-in{
    0%  { transform: scale(.985); filter: brightness(.82); opacity:.7; }
    100%{ transform: scale(1);    filter: brightness(1);   opacity:1; }
  }
}
