/*
Theme Name: Histriphy
Theme URI: https://histriphy.com
Author: Syed Shah Saud
Description: GeoJSON map library theme for Histriphy, built for the GeoTube creator community.
Version: 19.20.4
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: histriphy
*/

/* ================= TOKENS ================= */
:root{
  --bg: #0a0e18;
  --bg-raised: #10162a;
  --bg-card: #131a30;
  --border: #212a44;
  --border-soft: #1a2138;
  --ink: #eef1f8;
  --ink-dim: #a9b2c9;
  --ink-faint: #6d7692;
  --gold: #d4a24e;
  --gold-soft: #e8c98a;
  --map-line: #7f93c9;
  --map-fill: #2f4070;

  --font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'IBM Plex Mono', ui-monospace, monospace;

  --radius: 6px;
  --container: 1240px;
}

/* ========================================================================== 
   THEME 19.18.0: unified legal documents
   ========================================================================== */
.legal-page{background:#0a101b;color:var(--ink)}
.legal-reading-shell{max-width:940px}
.legal-masthead{padding:92px 0 62px;border-bottom:1px solid #202a3d;background:#090f19}
.legal-kicker{margin:0 0 18px;color:var(--gold);font:700 .68rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.legal-masthead h1{max-width:820px;margin:0;color:#f5f7fb;font-size:clamp(2.65rem,5vw,4.3rem);font-weight:780;letter-spacing:-.045em;line-height:1.02}
.legal-intro{max-width:760px;margin:22px 0 0;color:#aeb8cb;font-size:1.08rem;line-height:1.7}
.legal-masthead .legal-meta{margin-top:27px;gap:9px 28px;color:#738097;font-size:.66rem;letter-spacing:.06em}
.legal-document-section{padding:52px 0 96px;background:#0a101b}
.legal-summary{margin:0 0 32px;padding:22px 24px;border:0;border-left:3px solid var(--gold);border-radius:0;background:#101827;box-shadow:none}
.legal-summary strong{display:block;margin:0 0 6px;color:#edc67f;font-size:.92rem;font-weight:750}
.legal-summary p{margin:0;color:#b5bfd0;font-size:.96rem;line-height:1.7}
.legal-index{margin:0 0 22px;border-top:1px solid #273249;border-bottom:1px solid #273249;background:transparent}
.legal-index summary{display:flex;align-items:center;justify-content:space-between;padding:16px 0;color:#e5e9f1;font-size:.84rem;font-weight:750;cursor:pointer;list-style:none}
.legal-index summary::-webkit-details-marker{display:none}
.legal-index summary::after{content:'+';color:var(--gold);font-size:1.08rem;font-weight:500}
.legal-index[open] summary::after{content:'−'}
.legal-index nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;padding:2px 0 19px}
.legal-index a{padding:7px 0;color:#929db1;font-size:.83rem;line-height:1.45;text-decoration:none}
.legal-index a:hover,.legal-index a:focus-visible{color:var(--gold-soft);text-decoration:underline;text-underline-offset:4px}
.legal-document{max-width:none;margin:0;min-width:0}
.legal-document>section{position:static;margin:0;padding:42px 0 44px;border:0;border-top:1px solid #253047;border-radius:0;background:transparent;box-shadow:none;scroll-margin-top:100px}
.legal-document>section:first-of-type{border-radius:0}
.legal-document>section:last-child{border-bottom:1px solid #253047;border-radius:0}
.legal-document h2{max-width:760px;margin:0 0 18px;color:#eef1f7;font-size:1.55rem;font-weight:740;letter-spacing:-.022em;line-height:1.25}
.legal-document h3{margin:26px 0 8px;color:#dfe4ee;font-size:1rem;font-weight:720}
.legal-document p{max-width:820px;margin:0 0 15px;color:#aeb8ca;font-size:1rem;line-height:1.82}
.legal-document p:last-child{margin-bottom:0}
.legal-document ul{display:block;max-width:800px;margin:16px 0 2px;padding-left:23px;color:#aeb8ca;font-size:.98rem;line-height:1.72}
.legal-document li{margin:0 0 9px;padding-left:4px}
.legal-document li::marker{color:var(--gold)}
.legal-document a{color:#e6bc70;text-decoration:underline;text-decoration-color:rgba(230,188,112,.45);text-underline-offset:4px}
.legal-document a:hover,.legal-document a:focus-visible{color:#f2d196;text-decoration-color:currentColor}
.legal-definition-list{margin:8px 0 0;border-top:1px solid #29344b}
.legal-definition-list>div{display:grid;grid-template-columns:190px minmax(0,1fr);gap:30px;padding:19px 0;border-bottom:1px solid #29344b}
.legal-definition-list dt{color:#e4e8f0;font-size:.91rem;font-weight:720;line-height:1.5}
.legal-definition-list dd{margin:0;color:#a6b1c4;font-size:.92rem;line-height:1.7}
.legal-rights-notice{max-width:820px;margin:22px 0;padding:17px 20px;border-left:3px solid #526584;background:#0e1624}
.legal-rights-notice strong{display:block;margin-bottom:5px;color:#e8ebf2;font-size:.91rem}
.legal-rights-notice p{margin:0;font-size:.91rem;line-height:1.68}
.legal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.legal-actions .button{min-height:43px}
.legal-related{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;margin-top:34px;padding:25px 0;border-top:1px solid #2a354b;border-bottom:1px solid #2a354b}
.legal-related strong{margin-right:auto;color:#e8ecf3;font-size:.87rem}
.legal-related a{color:#98a4b8;font-size:.84rem;text-decoration:none}
.legal-related a:hover,.legal-related a:focus-visible{color:var(--gold-soft)}
.legal-license-summary{display:flex;align-items:center;justify-content:space-between;gap:24px}
.legal-license-summary>div p{color:#e9edf4;font-weight:650}
.legal-copy-button{flex:0 0 auto;min-height:40px;padding:0 16px;border:1px solid rgba(212,162,78,.48);border-radius:7px;background:rgba(212,162,78,.08);color:#ecc77f;font:700 .76rem var(--font-display);cursor:pointer}
.legal-copy-button:hover,.legal-copy-button:focus-visible,.legal-copy-button.is-copied{border-color:var(--gold);background:var(--gold);color:#08101b}

@media(max-width:700px){
  .legal-masthead{padding:58px 0 43px}
  .legal-masthead h1{font-size:2.65rem}
  .legal-intro{margin-top:17px;font-size:.98rem;line-height:1.62}
  .legal-masthead .legal-meta{align-items:flex-start;flex-direction:column;gap:6px;margin-top:22px}
  .legal-document-section{padding:32px 0 66px}
  .legal-summary{margin-bottom:24px;padding:18px 17px}
  .legal-index nav{grid-template-columns:1fr;padding-bottom:15px}
  .legal-index a{padding:7px 0;font-size:.86rem}
  .legal-document>section{padding:32px 0 34px}
  .legal-document h2{font-size:1.3rem}
  .legal-document p{font-size:.95rem;line-height:1.74}
  .legal-document ul{font-size:.94rem;line-height:1.67}
  .legal-definition-list>div{grid-template-columns:1fr;gap:5px;padding:16px 0}
  .legal-license-summary{align-items:flex-start;flex-direction:column;gap:14px}
  .legal-related{align-items:flex-start;flex-direction:column;gap:11px;padding:21px 0}
  .legal-related strong{margin:0 0 3px}
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family: inherit; cursor:pointer; }
:focus-visible{ outline: 2px solid var(--gold); outline-offset: 2px; }

.site-shell{ max-width: 100%; overflow-x: hidden; }
.section-inner, .header-inner, .footer-inner{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
}

/* ================= HEADER ================= */
.site-header{
  position: sticky; top:0; z-index: 50;
  background: rgba(10,14,24,0.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--border-soft);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  height: 76px;
}
.brand{ display:flex; align-items:center; gap:10px; }
.brand-mark{
  width:32px; height:32px; border-radius:50%;
  background: var(--gold);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.brand-mark svg{ width:18px; height:18px; stroke: var(--bg); fill:none; stroke-width:2; }
.brand-mark.small{ width:26px; height:26px; }
.brand-mark.small svg{ width:15px; height:15px; }
.brand-name{ font-family: var(--font-display); font-weight:700; font-size:1.25rem; color:var(--ink); }

.desktop-nav{ display:flex; gap:36px; align-items:center; }
.desktop-nav a{
  font-size:0.925rem; color: var(--ink-dim); font-weight:500; transition: color .15s;
}
.desktop-nav a:hover{ color: var(--ink); }

.nav-dropdown{ position:relative; }
.nav-dropdown-label{
  display:inline-flex; align-items:center; gap:5px; font-size:0.925rem; color: var(--ink-dim);
  font-weight:500; cursor:pointer; transition: color .15s;
}
.nav-dropdown-label svg{ width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2; transition: transform .15s; }
.nav-dropdown.is-open .nav-dropdown-label{ color: var(--ink); }
.nav-dropdown-menu{
  position:absolute; top:100%; left:50%; transform:translateX(-50%);
  margin-top:14px; background: var(--bg-card); border:1px solid var(--border); border-radius:8px;
  padding:8px; min-width:190px; display:flex; flex-direction:column; gap:2px;
  opacity:0; visibility:hidden; transition: opacity .15s;
  box-shadow: 0 12px 24px rgba(0,0,0,0.35);
  z-index:20;
}
.nav-dropdown.is-open .nav-dropdown-menu{ opacity:1; visibility:visible; }
.nav-dropdown.is-open .nav-dropdown-label svg{ transform: rotate(180deg); }
.nav-dropdown-menu a{
  padding:9px 12px; border-radius:5px; font-size:0.9rem; white-space:nowrap;
}
.nav-dropdown-menu a:hover{ background: rgba(212,162,78,0.1); color: var(--gold); }

.header-actions{ display:flex; align-items:center; gap:20px; }
.submit-link{
  display:inline-flex; align-items:center; gap:8px;
  background: var(--gold);
  color: var(--bg);
  font-weight:600; font-size:0.9rem;
  padding: 10px 20px;
  border-radius: var(--radius);
  transition: background .15s;
}
.submit-link:hover{ background: var(--gold-soft); }

.menu-toggle{ display:none; }
.menu-button{ display:none; cursor:pointer; }
.mobile-nav{ display:none; }

/* ================= HERO ================= */
.hero{
  display:grid;
  grid-template-columns: 1fr 1fr;
  align-items:stretch;
  min-height: 640px;
}
.hero-copy{ display:flex; align-items:center; padding: 64px 0; }
.hero-copy-inner{ max-width: 560px; padding-left: 32px; }

.kicker{
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid var(--border);
  color: var(--gold);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 999px;
  margin-bottom: 28px;
}
.kicker svg{ width:13px; height:13px; stroke: var(--gold); fill:none; stroke-width:2; }

h1{
  font-family: var(--font-display);
  font-size: 3.4rem;
  line-height: 1.1;
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 24px;
  letter-spacing: -0.01em;
}
.hero-text{
  color: var(--ink-dim);
  font-size: 1.05rem;
  line-height: 1.7;
  margin: 0 0 32px;
  max-width: 480px;
}

.hero-buttons{ display:flex; gap:14px; margin-bottom: 24px; }
.button{
  display:inline-flex; align-items:center; gap:9px;
  font-weight:600; font-size:0.92rem;
  padding: 13px 22px;
  border-radius: var(--radius);
  border: 1px solid transparent;
  transition: transform .15s, background .15s, border-color .15s;
}
.button svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; }
.button:hover{ transform: translateY(-1px); }
.button-primary{ background: var(--gold); color: var(--bg); }
.button-primary:hover{ background: var(--gold-soft); }
.button-secondary{ background: var(--bg-raised); color: var(--ink); border-color: var(--border); }
.button-secondary:hover{ border-color: var(--gold); }
.button-outline{ background:transparent; color:var(--ink); border-color: var(--border); }
.button-outline:hover{ border-color: var(--gold); color: var(--gold); }

.browse-link{
  display:inline-flex; align-items:center; gap:6px;
  color: var(--ink-dim); font-size:0.9rem; font-weight:500;
  padding-bottom: 32px; border-bottom: 1px solid var(--border-soft);
  margin-bottom: 32px; width: fit-content;
}
.browse-link svg{ width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2; transition: transform .15s; }
.browse-link:hover svg{ transform: translateX(3px); }

.stats{ display:flex; gap:44px; }
.stats > div{ display:flex; flex-direction:column; gap:4px; }
.stats strong{ font-family: var(--font-display); font-size:1.6rem; color: var(--gold); font-weight:700; }
.stats span{ font-family: var(--font-mono); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color: var(--ink-faint); }

.hero-map{
  position: relative;
  background: linear-gradient(180deg, #0c1120 0%, #0a0e18 100%);
  overflow:hidden;
  border-left: 1px solid var(--border-soft);
}
.map-grid{
  position:absolute; inset:0;
  background-image: linear-gradient(var(--border-soft) 1px, transparent 1px), linear-gradient(90deg, var(--border-soft) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.35;
}
.lat-line{ position:absolute; left:0; right:0; height:1px; background: var(--border-soft); opacity:0.5; }
.lat-line.line-20{ top:20%; } .lat-line.line-40{ top:40%; } .lat-line.line-60{ top:60%; } .lat-line.line-80{ top:80%; }
.world-map{ position:relative; width:100%; height:100%; display:block; }
.world-map path{ fill: var(--map-fill); stroke: var(--map-line); stroke-width:0.8; transition: fill .15s; cursor: pointer; }
.world-map path.is-hovered{ fill: var(--gold); stroke: var(--gold-soft); }
.world-map-tooltip{
  position: fixed;
  pointer-events: none;
  background: var(--bg-raised);
  border: 1px solid var(--border);
  color: var(--ink);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  padding: 5px 10px;
  border-radius: 4px;
  opacity: 0;
  transition: opacity .1s;
  z-index: 999;
  white-space: nowrap;
}
.map-label{
  position:absolute; bottom:20px; right:28px;
  font-family: var(--font-mono); font-size:0.68rem; letter-spacing:0.06em;
  color: var(--ink-faint);
}

/* ================= SECTIONS ================= */
.section{ padding: 88px 0; border-top: 1px solid var(--border-soft); }
.section-heading{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:44px; }
.section-heading p{ font-family: var(--font-mono); font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color: var(--gold); margin:0 0 10px; }
.section-heading h2{ font-family: var(--font-display); font-size:2rem; margin:0; color:var(--ink); font-weight:700; }
.view-all{ display:inline-flex; align-items:center; gap:6px; color: var(--ink-dim); font-size:0.9rem; font-weight:500; }
.view-all svg{ width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2; }
.view-all:hover{ color: var(--gold); }

/* ---- map cards ---- */
.map-cards{ display:grid; grid-template-columns: repeat(3, 1fr); gap:28px; }
.map-card{
  position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow:hidden;
  transition: border-color .15s, transform .15s;
}
.card-stretched-link{ position:absolute; inset:0; z-index:1; }
.map-card .card-foot button{ position:relative; z-index:2; }
.map-card:hover{ border-color: var(--gold); transform: translateY(-3px); }
.map-card .preview{
  position:relative; height:180px;
  background: linear-gradient(135deg, #142040 0%, #0d1226 100%);
  display:flex; align-items:center; justify-content:center;
}
.map-card .preview-glow{
  position:absolute; inset:0;
  background: radial-gradient(circle at 30% 30%, rgba(212,162,78,0.18), transparent 60%);
}
.map-card .preview > svg.map-preview-fallback{ width:56px; height:56px; stroke: var(--border); fill:none; stroke-width:1.4; }
.map-card .year{
  position:absolute; top:14px; left:14px;
  font-family: var(--font-mono); font-size:0.72rem; color: var(--gold);
  background: rgba(10,14,24,0.7); padding:4px 10px; border-radius:999px; border:1px solid var(--border);
}
.map-card .category{
  position:absolute; bottom:14px; left:14px; right:14px;
  font-family: var(--font-mono); font-size:0.65rem; text-transform:uppercase; letter-spacing:0.06em;
  color: var(--ink-dim);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.card-body{ padding:22px; }
.card-body h3{ font-family: var(--font-display); font-size:1.15rem; margin:0 0 10px; color:var(--ink); }
.card-body p{ color: var(--ink-dim); font-size:0.9rem; line-height:1.6; margin:0 0 20px; }
.card-foot{ display:flex; align-items:center; justify-content:space-between; }
.card-foot span{ display:flex; align-items:center; gap:6px; font-family: var(--font-mono); font-size:0.72rem; color: var(--ink-faint); }
.card-foot span svg{ width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2; }
.card-foot button, .card-foot a.download-btn{
  background: transparent; color: var(--gold); border:1px solid var(--border);
  padding:7px 16px; border-radius: var(--radius); font-size:0.82rem; font-weight:600;
  transition: background .15s, color .15s;
}
.card-foot button:hover, .card-foot a.download-btn:hover{ background: var(--gold); color: var(--bg); }

/* ---- categories ---- */
.categories-heading{ text-align:center; margin-bottom:44px; }
.categories-heading p{ font-family: var(--font-mono); font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color: var(--gold); margin:0 0 10px; }
.categories-heading h2{ font-family: var(--font-display); font-size:2rem; margin:0; color:var(--ink); }
.categories{ display:grid; grid-template-columns: repeat(auto-fit, minmax(170px, 200px)); justify-content:center; gap:18px; }
.categories a{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  background: var(--bg-card); border:1px solid var(--border); border-radius: var(--radius);
  padding: 28px 12px; text-align:center; transition: border-color .15s, transform .15s;
}
.categories a:hover{ border-color: var(--gold); transform: translateY(-2px); }
.categories a span{ font-size:1.6rem; }
.categories a strong{ font-size:0.9rem; color: var(--ink); }
.categories a small{ font-family: var(--font-mono); font-size:0.7rem; color: var(--ink-faint); }

/* ---- CTA ---- */
.cta-section{ padding-bottom: 100px; }
.cta-card{
  background: linear-gradient(135deg, var(--bg-raised), var(--bg-card));
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 56px;
  display:flex; align-items:center; justify-content:space-between; gap:40px;
}
.cta-card h2{ font-family: var(--font-display); font-size:1.7rem; margin:0 0 10px; color:var(--ink); }
.cta-card p{ color: var(--ink-dim); margin:0; max-width:440px; }
.cta-actions{ display:flex; gap:14px; flex-shrink:0; }

/* ================= FOOTER ================= */
.site-footer{ border-top:1px solid var(--border-soft); padding: 36px 0; }
.footer-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.footer-brand{ display:flex; align-items:center; gap:8px; font-family: var(--font-display); font-weight:700; }
.footer-nav{ display:flex; gap:24px; flex-wrap:wrap; }
.footer-nav a{ color: var(--ink-dim); font-size:0.88rem; }
.footer-nav a:hover{ color: var(--gold); }
.site-footer p{ color: var(--ink-faint); font-size:0.85rem; margin:0; }

/* ================= CATEGORY PICKER (submit form) ================= */
.category-picker{ display:flex; flex-wrap:wrap; gap:10px; }
.category-chip{ cursor:pointer; }
.category-chip input{
  position:absolute; opacity:0; width:0; height:0;
}
.category-chip span{
  display:inline-flex; align-items:center;
  padding:9px 18px;
  border-radius:999px;
  border:1px solid var(--border);
  background: var(--bg-card);
  color: var(--ink-dim);
  font-size:0.85rem;
  font-weight:500;
  transition: all .15s;
  user-select:none;
}
.category-chip:hover span{ border-color: var(--gold); color: var(--ink); }
.category-chip input:checked + span{
  background: var(--gold);
  border-color: var(--gold);
  color: var(--bg);
  font-weight:600;
}
.category-chip input:focus-visible + span{ outline: 2px solid var(--gold); outline-offset: 2px; }

/* ================= MAP PREVIEW (cards + detail page) ================= */
.map-preview-svg{ display:none; position:absolute; inset:0; width:100%; height:100%; }
.map-preview.is-ready .map-preview-svg{ display:block; }
.map-preview.is-ready .map-preview-fallback{ display:none; }
.map-preview-fallback{ width:56px; height:56px; stroke: var(--border); fill:none; stroke-width:1.4; }

.map-preview-svg .base-countries path{ fill: var(--map-fill); stroke: var(--map-line); stroke-width:0.8; }
.map-preview-svg .highlight-region path{
  fill: var(--gold);
  fill-opacity:0.88;
  stroke: var(--gold-soft);
  stroke-width:1;
  filter: drop-shadow(0 2px 8px rgba(212,162,78,0.35));
}
.preview-vignette{
  position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(ellipse at center, transparent 45%, rgba(10,14,24,0.55) 100%);
}

.map-detail-preview{
  position: relative;
  height: 420px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--border);
  background: linear-gradient(135deg, #142040 0%, #0d1226 100%);
  display:flex; align-items:center; justify-content:center;
}
.map-detail-preview .map-preview-svg .highlight-region path{ stroke-width:1.6; }
.map-detail-preview .map-preview-fallback{ width:72px; height:72px; }

.preview-label-text{ font-family: var(--font-mono); font-size:13px; fill: var(--ink); }
.preview-label-bg{ fill: var(--bg-raised); stroke: var(--border); stroke-width:1; opacity:0.95; }

/* ================= FILE UPLOAD (submit form) ================= */
.file-upload{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:10px 14px;
  background: var(--bg-card);
  border:1px solid var(--border);
  border-radius:6px;
}
.file-upload-input{
  position:absolute; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.file-upload-btn{
  display:inline-flex; align-items:center;
  padding:9px 18px;
  border-radius:6px;
  background: var(--gold);
  color: var(--bg);
  font-weight:600; font-size:0.85rem;
  cursor:pointer;
  transition: background .15s;
  white-space:nowrap;
}
.file-upload-btn:hover{ background: var(--gold-soft); }
.file-upload-input:focus-visible + .file-upload-btn{ outline:2px solid var(--gold); outline-offset:2px; }
.file-upload-name{ color: var(--ink-dim); font-size:0.85rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ================= ACCOUNT DASHBOARD ================= */
.account-layout{ display:grid; grid-template-columns:220px 1fr; gap:40px; align-items:start; }
.account-sidebar{
  background: var(--bg-card); border:1px solid var(--border); border-radius: var(--radius);
  padding:20px; position:sticky; top:96px;
}
.account-sidebar-name{
  font-family: var(--font-display); font-weight:700; color:var(--ink);
  padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid var(--border-soft);
  word-break:break-word;
}
.account-nav{ display:flex; flex-direction:column; gap:4px; }
.account-nav a{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px; border-radius:6px;
  color:var(--ink-dim); font-size:0.9rem; font-weight:500;
  transition: background .15s, color .15s;
}
.account-nav a svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; flex-shrink:0; }
.account-nav a:hover{ background: var(--bg-raised); color:var(--ink); }
.account-nav a.is-active{ background: var(--gold); color: var(--bg); }
.account-logout{
  display:flex; align-items:center; gap:10px; width:100%;
  padding:10px 12px; border-radius:6px; margin-top:8px;
  background:transparent; border:none; text-align:left; cursor:pointer;
  color:var(--ink-faint); font-size:0.9rem; font-family:var(--font-body); font-weight:500;
  transition: background .15s, color .15s;
}
.account-logout svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; }
.account-logout:hover{ background: var(--bg-raised); color:#c96b5c; }
.account-content h2{ font-family: var(--font-display); font-size:1.8rem; color:var(--ink); margin:0 0 8px; }
.account-content h3{ font-family: var(--font-display); font-size:1.1rem; color:var(--ink); margin:0 0 16px; }

.dashboard-charts{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:8px; }
.dashboard-chart-card{
  background: var(--bg-card); border:1px solid var(--border); border-radius: var(--radius);
  padding:20px;
}

@media (max-width: 780px){
  .account-layout{ grid-template-columns:1fr; }
  .account-sidebar{ position:static; }
  .dashboard-charts{ grid-template-columns:1fr; }
}

/* ================= YEAR RANGE SLIDER ================= */
.year-range{
  display:flex; flex-direction:column; gap:10px; min-width:240px;
  background: var(--bg-card); border:1px solid var(--border); border-radius:6px;
  padding:10px 14px;
}
.year-range-hint{ display:none; }
.year-range-inputs{ display:flex; align-items:flex-start; gap:12px; }
.year-range-field{ display:flex; flex-direction:column; align-items:center; gap:4px; }
.year-range-inputs input{
  width:76px; padding:7px 6px; background:var(--bg); border:1px solid var(--border-soft);
  border-radius:5px; color:var(--ink); font-family:var(--font-mono); font-size:0.85rem; font-weight:600;
  text-align:center; appearance: textfield; -moz-appearance: textfield;
  transition: border-color .15s;
}
.year-range-inputs input:hover, .year-range-inputs input:focus{ border-color: var(--gold); outline:none; }
.year-range-inputs input::-webkit-outer-spin-button,
.year-range-inputs input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.year-range-bce-label{
  font-family: var(--font-mono); font-size:0.62rem; text-transform:uppercase; letter-spacing:0.04em;
  color: var(--gold); height:12px;
}
.year-range-sep{ color: var(--ink-faint); font-size:0.8rem; flex-shrink:0; margin-top:8px; }
.year-range-track{ position:relative; height:20px; display:flex; align-items:center; }
.year-range-fill{
  position:absolute; height:4px; border-radius:2px;
  background: var(--gold);
  left:0; right:0; top:50%; transform:translateY(-50%);
}
.year-range-track::before{
  content:''; position:absolute; left:0; right:0; top:50%; transform:translateY(-50%);
  height:4px; border-radius:2px; background: var(--border);
}
.year-range-input{
  position:absolute; left:0; right:0; top:0;
  width:100%; height:22px; margin:0;
  -webkit-appearance:none; appearance:none;
  background:transparent; pointer-events:none;
}
.year-range-input::-webkit-slider-thumb{
  -webkit-appearance:none; pointer-events:auto;
  width:16px; height:16px; border-radius:50%;
  background: var(--gold); border:2px solid var(--bg);
  cursor:pointer; box-shadow:0 1px 4px rgba(0,0,0,0.4);
}
.year-range-input::-moz-range-thumb{
  pointer-events:auto; width:16px; height:16px; border-radius:50%;
  background: var(--gold); border:2px solid var(--bg); cursor:pointer;
}
.year-range-input::-webkit-slider-runnable-track{ background:transparent; }
.year-range-input::-moz-range-track{ background:transparent; }

/* ================= DOWNLOAD LICENSE MODAL ================= */
body.histriphy-modal-open{ overflow:hidden; }
.license-modal-overlay{
  position:fixed; inset:0; z-index:300;
  display:flex; align-items:center; justify-content:center;
  padding:28px;
  background:
    radial-gradient(circle at 50% 115%, rgba(212,162,78,.16), transparent 38%),
    rgba(2,5,11,.84);
  -webkit-backdrop-filter: blur(14px) saturate(112%);
  backdrop-filter: blur(14px) saturate(112%);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
}
.license-modal-overlay.is-open{
  opacity:1; visibility:visible; pointer-events:auto;
}
.license-modal-box{
  position:relative; isolation:isolate; overflow:hidden;
  width:min(690px,100%); max-height:calc(100vh - 56px); overflow-y:auto;
  padding:34px;
  background:
    linear-gradient(145deg, rgba(20,27,47,.98), rgba(9,14,26,.98));
  border:1px solid rgba(125,145,190,.24);
  border-radius:22px;
  box-shadow:
    0 34px 90px rgba(0,0,0,.62),
    0 0 0 1px rgba(255,255,255,.02) inset,
    0 22px 65px rgba(212,162,78,.08);
  opacity:0;
  transform:translateY(38px) scale(.985);
  transition:transform .42s cubic-bezier(.2,.8,.2,1), opacity .3s ease;
  scrollbar-width:thin;
  scrollbar-color:rgba(212,162,78,.45) transparent;
}
.license-modal-overlay.is-open .license-modal-box{
  opacity:1; transform:translateY(0) scale(1);
}
.license-modal-box::-webkit-scrollbar{ width:7px; }
.license-modal-box::-webkit-scrollbar-track{ background:transparent; }
.license-modal-box::-webkit-scrollbar-thumb{ background:rgba(212,162,78,.42); border-radius:99px; }
.license-modal-glow{
  position:absolute; z-index:-1; width:380px; height:380px; right:-185px; top:-220px;
  border-radius:50%; background:rgba(212,162,78,.2); filter:blur(75px); pointer-events:none;
}
.license-modal-close{
  position:absolute; z-index:3; top:19px; right:19px;
  width:38px; height:38px; display:grid; place-items:center;
  border:1px solid rgba(125,145,190,.22); border-radius:11px;
  color:var(--ink-dim); background:rgba(7,11,21,.52);
  transition:color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}
.license-modal-close:hover{ color:var(--ink); border-color:rgba(212,162,78,.48); background:rgba(212,162,78,.08); transform:rotate(3deg); }
.license-modal-close svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.license-modal-kicker{
  display:flex; align-items:center; gap:9px; padding-right:48px;
  color:var(--gold-soft); font-family:var(--font-mono); font-size:.68rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.15em;
}
.license-modal-kicker span{
  width:7px; height:7px; border-radius:50%; background:var(--gold);
  box-shadow:0 0 0 5px rgba(212,162,78,.1), 0 0 20px rgba(212,162,78,.58);
}
.license-modal-intro{
  display:grid; grid-template-columns:auto 1fr; align-items:center; gap:18px;
  margin:24px 0 26px;
}
.license-modal-icon{
  width:60px; height:60px; display:grid; place-items:center; border-radius:17px;
  color:var(--gold-soft); border:1px solid rgba(212,162,78,.32);
  background:linear-gradient(145deg, rgba(212,162,78,.16), rgba(212,162,78,.04));
  box-shadow:0 12px 28px rgba(0,0,0,.22), 0 0 34px rgba(212,162,78,.08);
}
.license-modal-icon svg{ width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.license-modal-box h3{
  margin:0; color:var(--ink); font-family:var(--font-display); font-size:clamp(1.65rem,3vw,2.05rem);
  line-height:1.1; letter-spacing:-.035em;
}
.license-modal-intro p{
  margin:8px 0 0; max-width:520px; color:var(--ink-dim); font-size:.93rem; line-height:1.65;
}
.license-modal-benefits{
  display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-bottom:15px;
}
.license-benefit-item{
  min-height:112px; display:grid; grid-template-columns:auto 1fr; gap:13px; align-items:flex-start;
  padding:17px; border:1px solid rgba(125,145,190,.17); border-radius:15px;
  background:linear-gradient(145deg, rgba(255,255,255,.032), rgba(255,255,255,.012));
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.license-benefit-item:hover{ transform:translateY(-2px); border-color:rgba(212,162,78,.28); background:rgba(255,255,255,.038); }
.license-benefit-item.is-restricted{ grid-column:1/-1; min-height:auto; background:linear-gradient(145deg, rgba(222,107,91,.055), rgba(255,255,255,.012)); }
.license-benefit-icon{
  width:34px; height:34px; display:grid; place-items:center; border-radius:10px; flex:0 0 auto;
  border:1px solid rgba(125,145,190,.22); background:rgba(11,17,30,.78);
}
.license-benefit-icon svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.license-benefit-icon.is-allowed{ color:#71d7a1; border-color:rgba(113,215,161,.25); background:rgba(113,215,161,.07); }
.license-benefit-icon.is-credit{ color:#8fb3ff; border-color:rgba(143,179,255,.25); background:rgba(143,179,255,.07); }
.license-benefit-icon.is-restricted{ color:#ef988d; border-color:rgba(239,152,141,.25); background:rgba(239,152,141,.07); }
.license-benefit-item strong{ display:block; margin:1px 0 5px; color:var(--ink); font-size:.88rem; }
.license-benefit-item span:not(.license-benefit-icon){ display:block; color:var(--ink-faint); font-size:.75rem; line-height:1.55; }
.license-credit-box{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  margin:0 0 17px; padding:15px 16px;
  border:1px solid rgba(212,162,78,.27); border-radius:14px;
  background:linear-gradient(90deg, rgba(212,162,78,.105), rgba(212,162,78,.025));
}
.license-credit-box > div{ min-width:0; }
.license-credit-box span{ display:block; margin-bottom:3px; color:var(--ink-faint); font-family:var(--font-mono); font-size:.59rem; letter-spacing:.12em; text-transform:uppercase; }
.license-credit-box strong{ display:block; color:var(--gold-soft); font-size:.88rem; overflow-wrap:anywhere; }
.license-credit-copy{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:7px;
  padding:9px 11px; color:var(--ink-dim); border:1px solid rgba(212,162,78,.24);
  border-radius:10px; background:rgba(6,10,19,.5); font-size:.72rem; font-weight:600;
  transition:color .18s ease, border-color .18s ease, background .18s ease;
}
.license-credit-copy:hover,.license-credit-copy.is-copied{ color:var(--gold-soft); border-color:rgba(212,162,78,.52); background:rgba(212,162,78,.08); }
.license-credit-copy svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.license-modal-meta-row{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:3px 1px 21px;
}
.license-modal-link{ color:var(--gold); font-size:.75rem; font-weight:600; transition:color .15s ease; }
.license-modal-link:hover{ color:var(--gold-soft); }
.license-modal-checkbox{
  display:inline-flex; align-items:center; gap:9px; margin:0; cursor:pointer;
  color:var(--ink-dim); font-size:.75rem; user-select:none;
}
.license-modal-checkbox input{
  width:17px; height:17px; margin:0; accent-color:var(--gold); cursor:pointer;
}
.license-modal-actions{
  display:flex; gap:11px; justify-content:flex-end;
  padding-top:20px; border-top:1px solid rgba(125,145,190,.15);
}
.license-modal-actions .button{ min-height:48px; justify-content:center; border-radius:12px; }
.license-modal-actions .button-outline{ min-width:112px; background:rgba(7,11,21,.3); }
.license-confirm-button{
  min-width:220px;
  box-shadow:0 10px 30px rgba(212,162,78,.18), 0 0 0 1px rgba(255,255,255,.08) inset;
}
.license-confirm-button svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .18s ease; }
.license-confirm-button:hover svg{ transform:translateY(2px); }

/* Premium surface polish inspired by modern creative tools. This deliberately
   changes depth and atmosphere without changing any page structure. */
body{
  background:
    radial-gradient(900px 520px at 72% -180px, rgba(63,88,145,.13), transparent 66%),
    radial-gradient(700px 420px at 15% 18%, rgba(212,162,78,.045), transparent 72%),
    var(--bg);
  background-attachment:fixed;
}
.site-header{
  background:rgba(7,11,20,.82);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  backdrop-filter:blur(18px) saturate(125%);
  box-shadow:0 10px 34px rgba(0,0,0,.14);
}
.button-primary{
  box-shadow:0 8px 24px rgba(212,162,78,.14), 0 0 0 1px rgba(255,255,255,.07) inset;
}
.map-card,.map-card-library,.library-stat-card,.map-search-form,.map-library-tabs-wrap,
.map-detail-preview,.map-facts-card-v19,.map-download-card-v19,.map-technical-details,
.map-coming-soon,.map-compare-controls,.map-compare-stage,.map-related-card{
  box-shadow:0 18px 50px rgba(0,0,0,.10), 0 1px 0 rgba(255,255,255,.015) inset;
}

@media (prefers-reduced-motion:reduce){
  .license-modal-overlay,.license-modal-box,.license-benefit-item,.license-modal-close,.license-confirm-button svg{ transition:none!important; }
}

@media (max-width:700px){
  .license-modal-overlay{ align-items:flex-end; padding:12px; }
  .license-modal-box{
    width:100%; max-height:calc(100vh - 24px); padding:25px 20px 20px;
    border-radius:20px 20px 14px 14px;
    transform:translateY(62px) scale(.99);
  }
  .license-modal-close{ top:14px; right:14px; width:36px; height:36px; }
  .license-modal-intro{ grid-template-columns:1fr; gap:14px; margin:21px 0 22px; padding-right:28px; }
  .license-modal-icon{ width:52px; height:52px; border-radius:15px; }
  .license-modal-icon svg{ width:27px; height:27px; }
  .license-modal-box h3{ font-size:1.62rem; }
  .license-modal-intro p{ font-size:.84rem; }
  .license-modal-benefits{ grid-template-columns:1fr; }
  .license-benefit-item,.license-benefit-item.is-restricted{ grid-column:auto; min-height:auto; padding:15px; }
  .license-credit-box{ align-items:flex-start; }
  .license-modal-meta-row{ align-items:flex-start; flex-direction:column; gap:13px; }
  .license-modal-actions{ display:grid; grid-template-columns:1fr 1.55fr; }
  .license-modal-actions .button,.license-modal-actions .button-outline,.license-confirm-button{ min-width:0; width:100%; padding-left:13px; padding-right:13px; }
}
@media (max-width:430px){
  .license-modal-actions{ grid-template-columns:1fr; }
  .license-confirm-button{ grid-row:1; }
  .license-modal-actions .button-outline{ grid-row:2; }
}

/* ================= RESPONSIVE ================= */
@media (max-width: 980px){
  .hero{ grid-template-columns:1fr; }
  .hero-map{ height:340px; border-left:none; border-top:1px solid var(--border-soft); order:-1; }
  .hero-copy{ padding: 48px 0; }
  .hero-copy-inner{ padding: 0 24px; max-width:100%; }
  h1{ font-size:2.4rem; }
  .map-cards{ grid-template-columns:1fr; }
  .map-detail-preview{ height: 280px; }
  .cta-card{ flex-direction:column; align-items:flex-start; padding:36px; }
  .desktop-nav{ display:none; }
  .header-actions .submit-link{ display:none; }
  .menu-button{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; }
  .menu-icon, .close-icon{ width:20px; height:20px; stroke: var(--ink); fill:none; stroke-width:2; }
  .close-icon{ display:none; }
  .menu-toggle:checked ~ .mobile-nav{ display:flex; }
  .site-header:has(.menu-toggle:checked) .mobile-nav,.histriphy-mobile-menu-open .mobile-nav{ display:flex; }
  .menu-toggle:checked + .menu-button .menu-icon{ display:none; }
  .menu-toggle:checked + .menu-button .close-icon{ display:block; }
  .mobile-nav{
    display:none; flex-direction:column; gap:2px;
    padding: 8px 24px 20px;
    border-top: 1px solid var(--border-soft);
  }
  .mobile-nav a{ padding:12px 0; color: var(--ink-dim); border-bottom:1px solid var(--border-soft); }
  .mobile-submit{ color: var(--gold) !important; font-weight:600; }
  .mobile-nav .nav-dropdown{ border-bottom:1px solid var(--border-soft); }
  .mobile-nav .nav-dropdown-label{ padding:12px 0; width:100%; justify-content:space-between; }
  .mobile-nav .nav-dropdown-menu{
    position:static; transform:none; opacity:1; visibility:visible;
    display:none; box-shadow:none; border:none; background:transparent;
    padding:0 0 8px 16px; margin:0;
  }
  .mobile-nav .nav-dropdown-menu a{ border-bottom:none; padding:8px 0; }
  .mobile-nav .nav-dropdown.is-open .nav-dropdown-menu{ display:flex; }
}
@media (max-width: 640px){
  .categories{ grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
  .stats{ gap:28px; flex-wrap:wrap; }
  .section{ padding: 56px 0; }
}

/* ========================================================================== 
   MAP LIBRARY  -  Explore Maps / Official Uploads / Community Uploads
   The controls use a wider canvas while the result cards retain the site's
   established content width.
   ========================================================================== */
.screen-reader-text{
  position:absolute!important; width:1px!important; height:1px!important;
  padding:0!important; margin:-1px!important; overflow:hidden!important;
  clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}
.map-library-page{
  --library-wide: 1480px;
  background:
    radial-gradient(circle at 42% 3%, rgba(37,55,91,.16), transparent 28%),
    var(--bg);
}
.map-library-hero{
  position:relative;
  padding:38px 0 0;
  border-bottom:1px solid var(--border-soft);
  overflow:hidden;
}
.map-library-hero::before{
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.18;
  background-image:
    linear-gradient(rgba(81,101,143,.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(81,101,143,.16) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom, #000, transparent 72%);
}
.map-library-hero::after{
  content:''; position:absolute; width:290px; height:290px; left:33%; top:-98px;
  border:1px solid rgba(212,162,78,.08); border-radius:50%; pointer-events:none;
  box-shadow:0 0 0 34px rgba(212,162,78,.025), 0 0 0 68px rgba(212,162,78,.018);
}
.map-library-wide{
  position:relative; z-index:1;
  width:min(calc(100% - 56px), var(--library-wide));
  margin:0 auto;
}
.map-library-heading-row{
  display:grid; grid-template-columns:minmax(420px, 1fr) minmax(670px, 1.6fr);
  gap:44px; align-items:center; margin-bottom:30px;
}
.map-library-heading{ max-width:610px; }
.map-library-eyebrow{
  display:flex; align-items:center; gap:9px; margin:0 0 9px;
  color:var(--gold); font-family:var(--font-mono); font-weight:700;
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
}
.map-library-eyebrow span{ width:14px; height:1px; background:var(--gold); opacity:.75; }
.map-library-heading h1{
  margin:0 0 9px; font-family:Georgia, 'Times New Roman', serif;
  font-size:2.75rem; line-height:1.08; font-weight:700; letter-spacing:-.02em;
}
.map-library-description{
  max-width:620px; margin:0; color:var(--ink-dim); font-size:.95rem; line-height:1.55;
}
.map-library-stats{
  display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px;
}
.library-stat-card{
  min-height:98px; display:flex; align-items:center; justify-content:center; gap:14px;
  padding:18px 14px; border:1px solid var(--border); border-radius:9px;
  background:linear-gradient(145deg, rgba(17,24,42,.94), rgba(9,14,25,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
.library-stat-card > svg{
  width:28px; height:28px; flex:0 0 auto; stroke:var(--gold); fill:none; stroke-width:1.7;
}
.library-stat-card div{ min-width:0; }
.library-stat-card strong{
  display:block; color:var(--ink); font-family:Georgia, 'Times New Roman', serif;
  font-size:1.45rem; line-height:1.05; font-weight:700; white-space:nowrap;
}
.library-stat-card span{
  display:block; margin-top:6px; color:var(--ink-dim); font-size:.75rem; white-space:nowrap;
}

/* Filter panel */
.map-library-page .map-search-form{
  display:grid;
  grid-template-columns:minmax(270px, 1.45fr) minmax(170px, .72fr) minmax(255px, 1fr) minmax(150px, .62fr) auto;
  gap:16px; align-items:end; margin:0 0 14px; padding:17px 18px;
  border:1px solid var(--border); border-radius:9px;
  background:rgba(13,19,33,.94); box-shadow:0 12px 36px rgba(0,0,0,.12);
}
.map-filter-field{ min-width:0; }
.map-filter-field > label{
  display:block; margin:0 0 7px; color:var(--ink-dim); font-size:.72rem; font-weight:600;
}
.map-filter-control{
  position:relative; height:42px; border:1px solid var(--border); border-radius:6px;
  background:#0d1423; transition:border-color .15s, box-shadow .15s;
}
.map-filter-control:focus-within{
  border-color:rgba(212,162,78,.72); box-shadow:0 0 0 3px rgba(212,162,78,.08);
}
.map-filter-control.has-icon > svg{
  position:absolute; left:12px; top:50%; width:16px; height:16px; transform:translateY(-50%);
  stroke:var(--ink-faint); fill:none; stroke-width:2; pointer-events:none;
}
.map-filter-control input,
.map-filter-control select{
  width:100%; height:100%; margin:0; border:0; outline:0; background:transparent;
  color:var(--ink); font:500 .78rem var(--font-body);
}
.map-filter-control input{ padding:0 12px 0 38px; }
.map-filter-control input::placeholder{ color:#778099; }
.map-filter-control select{
  appearance:none; -webkit-appearance:none; padding:0 36px 0 12px; cursor:pointer;
}
.map-filter-control select option{ background:var(--bg-raised); color:var(--ink); }
.select-control > svg{
  position:absolute; right:11px; top:50%; width:15px; height:15px; transform:translateY(-50%);
  stroke:var(--ink-dim); fill:none; stroke-width:2; pointer-events:none;
}
.map-library-page .year-range{
  min-width:0; height:42px; display:grid; grid-template-columns:auto 1fr; align-items:center;
  gap:13px; padding:5px 11px; border:1px solid var(--border); border-radius:6px;
  background:#0d1423;
}
.map-library-page .year-range-inputs{ align-items:center; gap:6px; }
.map-library-page .year-range-field{ position:relative; display:block; }
.map-library-page .year-range-inputs input{
  width:70px; height:30px; padding:4px 5px; border:0; background:transparent;
  font-size:.72rem; text-align:center;
}
.map-library-page .year-range-bce-label{
  position:absolute; left:50%; bottom:-2px; transform:translateX(-50%);
  height:auto; font-size:.46rem; line-height:1; letter-spacing:.02em; white-space:nowrap;
}
.map-library-page .year-range-sep{ margin:0; color:var(--ink-faint); }
.map-library-page .year-range-track{ min-width:92px; height:20px; }
.map-library-page .year-range-track::before{ height:3px; z-index:0; }
.map-library-page .year-range-fill{ height:3px; z-index:1; }
.map-library-page .year-range-input{ z-index:2; }
.map-library-page .year-range-input::-webkit-slider-thumb{ width:13px; height:13px; border-width:2px; }
.map-library-page .year-range-input::-moz-range-thumb{ width:13px; height:13px; border-width:2px; }
.map-filter-actions{ display:flex; gap:9px; align-items:center; }
.map-filter-actions .button{
  height:42px; justify-content:center; padding:0 17px; border-radius:6px; white-space:nowrap;
  font-size:.78rem;
}
.map-filter-actions .button svg{ width:15px; height:15px; }
.map-search-submit{ min-width:112px; }
.map-search-reset{ min-width:126px; }

/* Tabs */
.map-library-tabs-wrap{
  display:flex; align-items:stretch; min-height:47px; border:1px solid var(--border);
  border-radius:8px 8px 0 0; background:rgba(11,17,29,.92); overflow:hidden;
}
.map-library-tabs{
  min-width:0; display:flex; align-items:stretch; flex:1; overflow-x:auto;
  scrollbar-width:thin; scrollbar-color:var(--border) transparent;
}
.map-library-tab{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  flex:0 0 auto; min-width:max-content; padding:0 22px; border-right:1px solid var(--border-soft);
  color:var(--ink-dim); font-size:.76rem; font-weight:600; transition:color .15s, background .15s;
}
.map-library-tab svg{ width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:1.8; }
.map-library-tab:hover{ color:var(--ink); background:rgba(255,255,255,.018); }
.map-library-tab.is-active{
  color:var(--gold); background:rgba(212,162,78,.055);
  box-shadow:inset 0 -2px 0 var(--gold);
}
.map-library-tab-divider{ width:1px; margin:10px 0; background:var(--border); flex:0 0 auto; }
.map-library-clear{
  display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; padding:0 18px;
  color:var(--ink-dim); font-size:.75rem; border-left:1px solid var(--border);
}
.map-library-clear span{ font-size:1.18rem; line-height:1; }
.map-library-clear:hover{ color:var(--gold); }

/* Results retain the original site width */
.map-library-results{ padding:18px 0 72px; }
.map-library-grid{ gap:14px; }
.map-card-library{
  border-radius:9px; background:#0d1423; border-color:#253047;
  box-shadow:0 9px 26px rgba(0,0,0,.13);
}
.map-card-library:hover{ transform:translateY(-2px); border-color:rgba(212,162,78,.72); }
.map-card-library .preview{ height:142px; background:linear-gradient(135deg, #111d34, #09101d); }
.map-card-library .preview-glow{
  background:
    radial-gradient(circle at 42% 54%, rgba(212,162,78,.22), transparent 42%),
    linear-gradient(90deg, rgba(31,48,79,.15), transparent 45%);
}
.map-card-library .year{
  top:10px; left:10px; padding:4px 8px; border-radius:4px;
  border-color:rgba(212,162,78,.35); color:var(--gold); background:rgba(7,12,21,.88);
  font-size:.65rem; font-weight:700;
}
.map-source-badge{
  position:absolute; top:10px; right:10px; z-index:2;
  display:inline-flex; align-items:center; gap:5px; padding:4px 8px;
  border:1px solid var(--border); border-radius:4px; background:rgba(7,12,21,.88);
  color:var(--ink-dim); font-size:.61rem; font-weight:600;
}
.map-source-badge svg{ width:12px; height:12px; stroke:var(--gold); fill:none; stroke-width:2; }
.map-source-badge.is-official{ color:var(--gold); border-color:rgba(212,162,78,.32); }
.source-dot{ width:6px; height:6px; border-radius:50%; background:#4b9cff; box-shadow:0 0 8px rgba(75,156,255,.55); }
.map-card-library .card-body{ padding:13px 14px 12px; }
.map-card-type{
  margin:0 0 5px!important; color:var(--ink-faint)!important; font-family:var(--font-mono);
  font-size:.57rem!important; line-height:1.2!important; letter-spacing:.055em; text-transform:uppercase;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.map-card-library .card-body h3{
  min-height:27px; display:flex; align-items:flex-start; margin:0 0 12px;
  font-family:Georgia, 'Times New Roman', serif; font-size:1.08rem; line-height:1.24;
}
.map-card-library .card-foot{ gap:9px; }
.map-card-library .map-download-total{ white-space:nowrap; font-size:.62rem; }
.map-card-library .map-download-total svg{ width:12px; height:12px; }
.map-card-actions{ position:relative; z-index:2; display:flex; align-items:center; gap:7px; margin-left:auto; }
.map-card-library .map-details-btn,
.map-card-library .card-foot button{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  height:32px; padding:0 12px; border-radius:5px; font-size:.66rem; font-weight:600;
  border:1px solid var(--border); transition:background .15s, color .15s, border-color .15s;
}
.map-card-library .map-details-btn{ color:var(--ink-dim); background:#0a111e; }
.map-card-library .map-details-btn:hover{ color:var(--ink); border-color:#43506a; }
.map-card-library .card-foot button{
  color:#111722; background:linear-gradient(180deg, #e6b65e, #d39a39); border-color:#d9a447;
}
.map-card-library .card-foot button:hover{ color:#111722; background:var(--gold-soft); }
.map-card-library .card-foot button svg{ width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2; }
.map-card-library .card-foot button:disabled{ opacity:.65; cursor:wait; }
.map-results-footer{
  display:grid; grid-template-columns:minmax(220px,1fr) auto;
  align-items:center; gap:22px; min-height:68px; margin:18px 0 0; padding:13px 18px;
  border:1px solid var(--border); border-radius:9px;
  background:linear-gradient(145deg, rgba(13,20,35,.97), rgba(8,14,25,.97));
  box-shadow:0 10px 30px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.015);
}
.map-results-footer-summary{ min-width:0; }
.map-results-footer-summary p{ margin:0; color:var(--ink-dim); font-size:.69rem; white-space:nowrap; }
.map-pagination{
  display:flex; justify-content:center; align-items:center; gap:7px; margin:0;
}
.map-pagination .page-numbers,
.map-pagination .page-arrow{
  display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px;
  padding:0 10px; border:1px solid var(--border); border-radius:5px; background:#0a111e;
  color:var(--ink-dim); font-size:.7rem; line-height:1; transition:border-color .15s, color .15s, background .15s;
}
.map-pagination .page-arrow{ width:34px; padding:0; }
.map-pagination .page-arrow svg{
  width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.8;
  stroke-linecap:round; stroke-linejoin:round;
}
.map-pagination a.page-numbers:hover,
.map-pagination a.page-arrow:hover{ border-color:rgba(212,162,78,.75); color:var(--gold); }
.map-pagination .page-numbers.current{
  background:linear-gradient(180deg, #e7b85f, #d69b39); border-color:#d9a447;
  color:#111722; font-weight:700; box-shadow:0 4px 12px rgba(212,162,78,.16);
}
.map-pagination .page-numbers.dots{
  min-width:20px; height:34px; padding:0; border:0; background:transparent;
  color:var(--ink-faint); pointer-events:none; letter-spacing:.08em;
}
.map-pagination .page-arrow.is-disabled{ opacity:.42; }
.map-pagination-empty{ min-width:34px; }
.map-empty-state{
  grid-column:1/-1; min-height:280px; display:flex; flex-direction:column; align-items:center;
  justify-content:center; padding:42px; text-align:center; border:1px dashed var(--border);
  border-radius:9px; background:rgba(13,20,35,.5);
}
.map-empty-state > svg{ width:36px; height:36px; stroke:var(--gold); fill:none; stroke-width:1.5; }
.map-empty-state h2{ margin:14px 0 5px; font-size:1.25rem; }
.map-empty-state p{ margin:0 0 18px; color:var(--ink-dim); }

@media (max-width: 1320px){
  .map-library-heading-row{ grid-template-columns:minmax(330px,.8fr) minmax(620px,1.4fr); gap:28px; }
  .library-stat-card{ gap:10px; padding:15px 10px; }
  .library-stat-card strong{ font-size:1.25rem; }
  .map-library-page .map-search-form{
    grid-template-columns:minmax(250px,1.3fr) minmax(165px,.65fr) minmax(245px,1fr) minmax(145px,.55fr);
  }
  .map-filter-actions{ grid-column:1/-1; justify-content:flex-end; }
}
@media (max-width: 1080px){
  .map-library-wide{ width:min(calc(100% - 40px), var(--library-wide)); }
  .map-library-heading-row{ grid-template-columns:1fr; }
  .map-library-heading{ max-width:720px; }
  .map-library-stats{ grid-template-columns:repeat(4,1fr); }
  .map-library-page .map-search-form{ grid-template-columns:1.2fr .8fr 1fr; }
  .map-filter-sort{ grid-column:auto; }
  .map-filter-actions{ grid-column:1/-1; }
  .map-library-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px){
  .map-library-hero{ padding-top:28px; }
  .map-results-footer{ grid-template-columns:1fr; gap:14px; padding:14px; }
  .map-results-footer-summary{ text-align:center; }
  .map-pagination{ justify-content:center; }
  .map-library-wide{ width:calc(100% - 28px); }
  .map-library-heading h1{ font-size:2.15rem; }
  .map-library-description{ font-size:.88rem; }
  .map-library-stats{ grid-template-columns:repeat(2,1fr); }
  .library-stat-card{ min-height:84px; justify-content:flex-start; }
  .map-library-page .map-search-form{ grid-template-columns:1fr; gap:12px; padding:14px; }
  .map-filter-actions{ grid-column:auto; display:grid; grid-template-columns:1fr 1fr; }
  .map-filter-actions .button{ min-width:0; padding:0 10px; }
  .map-library-tabs-wrap{ border-radius:8px 8px 0 0; }
  .map-library-clear{ display:none; }
  .map-library-tab{ padding:0 17px; }
  .map-library-results{ padding-top:14px; }
  .map-library-grid{ grid-template-columns:1fr; }
}
@media (max-width: 430px){
  .map-library-stats{ grid-template-columns:1fr; }
  .map-results-footer{ grid-template-columns:1fr; }
  .map-pagination{ justify-content:center; flex-wrap:wrap; }
  .library-stat-card{ min-height:70px; }
  .map-library-page .year-range{ grid-template-columns:1fr; height:auto; gap:3px; }
  .map-library-page .year-range-inputs{ justify-content:center; }
  .map-library-page .year-range-track{ width:100%; }
  .map-filter-actions{ grid-template-columns:1fr; }
  .map-card-library .card-foot{ align-items:flex-start; flex-direction:column; }
  .map-card-actions{ width:100%; margin-left:0; }
  .map-card-library .map-details-btn,
  .map-card-library .card-foot button{ flex:1; }
}
.map-card-library .download-count{ display:inline; font:inherit; color:inherit; }

/* ========================================================================== 
   THEME 8.0  -  simplified 1240px map library and navigation refinements
   ========================================================================== */

/* Keep normal wheel/touch scrolling while removing the intrusive visible
   browser/nested scrollbars requested for the public site. */
html, body{ scrollbar-width:none; -ms-overflow-style:none; }
html::-webkit-scrollbar, body::-webkit-scrollbar{ width:0; height:0; display:none; }

/* Main navigation: Uploads is a stable hover/focus dropdown, not a page. */
.nav-dropdown-label{
  appearance:none; -webkit-appearance:none; border:0; background:transparent;
  padding:0; margin:0; font-family:inherit;
}
.desktop-nav .nav-dropdown{ position:relative; display:flex; align-items:center; height:76px; }
.desktop-nav .nav-dropdown::after{
  content:''; position:absolute; top:100%; left:-18px; right:-18px; height:18px;
}
.desktop-nav .nav-dropdown-menu{
  top:calc(100% - 2px); margin-top:0;
  transition:opacity .14s ease, transform .14s ease, visibility 0s linear .22s;
  transform:translate(-50%, 5px);
}
.desktop-nav .nav-dropdown:hover .nav-dropdown-menu,
.desktop-nav .nav-dropdown:focus-within .nav-dropdown-menu,
.desktop-nav .nav-dropdown.is-open .nav-dropdown-menu{
  opacity:1; visibility:visible; transform:translate(-50%, 0);
  transition-delay:0s;
}
.desktop-nav .nav-dropdown:hover .nav-dropdown-label,
.desktop-nav .nav-dropdown:focus-within .nav-dropdown-label,
.desktop-nav .nav-dropdown.is-open .nav-dropdown-label{ color:var(--ink); }
.desktop-nav .nav-dropdown:hover .nav-dropdown-label svg,
.desktop-nav .nav-dropdown:focus-within .nav-dropdown-label svg,
.desktop-nav .nav-dropdown.is-open .nav-dropdown-label svg{ transform:rotate(180deg); }

/* Also style a WordPress menu that has been configured with child items. */
.desktop-nav > li{ display:flex; align-items:center; height:76px; }
.desktop-nav .menu-item-has-children{ position:relative; }
.desktop-nav .menu-item-has-children > a::after{
  content:'⌄'; display:inline-block; margin-left:6px; font-size:.72em;
}
.desktop-nav .sub-menu{
  position:absolute; top:calc(100% - 2px); left:50%; z-index:20;
  min-width:190px; padding:8px; margin:0; display:flex; flex-direction:column; gap:2px;
  border:1px solid var(--border); border-radius:8px; background:var(--bg-card);
  box-shadow:0 12px 24px rgba(0,0,0,.35);
  opacity:0; visibility:hidden; transform:translate(-50%, 5px);
  transition:opacity .14s ease, transform .14s ease, visibility 0s linear .22s;
}
.desktop-nav .menu-item-has-children::after{
  content:''; position:absolute; top:100%; left:-18px; right:-18px; height:18px;
}
.desktop-nav .menu-item-has-children:hover > .sub-menu,
.desktop-nav .menu-item-has-children:focus-within > .sub-menu{
  opacity:1; visibility:visible; transform:translate(-50%, 0); transition-delay:0s;
}
.desktop-nav .sub-menu a{ display:block; padding:9px 12px; border-radius:5px; white-space:nowrap; }
.desktop-nav .sub-menu a:hover{ color:var(--gold); background:rgba(212,162,78,.1); }

/* The three main library pages use the reference serif display face only for
   their page heading. Other website headings keep the normal brand font. */
.map-library-heading h1{ font-family:var(--font-display); }
.map-library-page-core .map-library-heading h1{
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:700; letter-spacing:-.025em;
}

/* Match the header/footer/results width: one centered 1240px website canvas. */
.map-library-page{ --library-wide:var(--container); background:var(--bg); }
.map-library-wide{
  width:100%; max-width:var(--container); margin:0 auto; padding:0 32px;
}
.map-library-hero{ padding:28px 0 0; overflow:hidden; }
.map-library-hero::before{
  opacity:.13;
  background-image:
    linear-gradient(rgba(81,101,143,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(81,101,143,.12) 1px, transparent 1px);
  background-size:76px 76px;
}
/* Replace the old outlined circle with a soft atmospheric glow. */
.map-library-hero::after{
  content:''; position:absolute; pointer-events:none;
  width:760px; height:360px; left:30%; top:-190px; border:0; border-radius:50%;
  background:
    radial-gradient(ellipse at center, rgba(212,162,78,.13) 0%, rgba(63,84,128,.09) 36%, rgba(20,31,52,.035) 58%, transparent 74%);
  filter:blur(12px); box-shadow:none;
}
.map-library-heading-row{
  grid-template-columns:minmax(330px,.82fr) minmax(620px,1.35fr);
  gap:26px; align-items:center; margin-bottom:22px;
}
.map-library-heading{ max-width:470px; }
.map-library-heading h1{ font-size:2.45rem; margin-bottom:8px; }
.map-library-description{ max-width:480px; font-size:.82rem; line-height:1.55; }
.map-library-eyebrow{ margin-bottom:6px; font-size:.61rem; }

/* One clean statistics panel, with internal dividers instead of four boxes. */
.map-library-stats{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0;
  min-height:104px; padding:0 8px;
  border:1px solid var(--border); border-radius:8px;
  background:linear-gradient(145deg, rgba(12,19,32,.96), rgba(7,13,23,.96));
  box-shadow:0 16px 42px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.015);
}
.library-stat-card{
  min-height:102px; padding:16px 13px; gap:12px;
  border:0; border-radius:0; background:transparent; box-shadow:none;
}
.library-stat-card + .library-stat-card{ border-left:1px solid var(--border-soft); }
.library-stat-card > svg{ width:24px; height:24px; }
.library-stat-card strong{ font-size:1.32rem; }
.library-stat-card span{ margin-top:5px; font-size:.68rem; }

/* Simple search/category/period/sort row from the approved layout. */
.map-library-page .map-search-form{
  grid-template-columns:minmax(270px,1.45fr) minmax(160px,.72fr) minmax(175px,.78fr) minmax(140px,.62fr) auto;
  gap:18px; align-items:end; margin:0 0 12px; padding:14px 16px 16px;
  border-radius:8px; background:rgba(11,18,31,.94);
}
.map-filter-field > label{ margin-bottom:6px; font-size:.66rem; }
.map-filter-control{ height:40px; }
.map-filter-control input,
.map-filter-control select{ font-size:.72rem; }
.map-filter-actions{ display:flex; align-items:flex-end; grid-column:auto; }
.map-filter-actions .button{ height:40px; min-width:106px; padding:0 18px; }

/* Tabs wrap instead of creating any horizontal/nested sliding bar. */
.map-library-tabs-wrap{ min-height:45px; border-radius:7px 7px 0 0; overflow:visible; }
.map-library-tabs{
  display:flex; flex-wrap:wrap; align-items:stretch; overflow:visible;
  scrollbar-width:none;
}
.map-library-tabs::-webkit-scrollbar{ display:none; }
.map-library-tab{ min-height:44px; padding:0 20px; font-size:.69rem; }

/* Brighter gold region, softer world-map context and a proper map glow. */
.map-card-library .preview{
  background:
    radial-gradient(ellipse at 50% 48%, rgba(30,49,82,.38), transparent 62%),
    linear-gradient(135deg, #0d1729, #070d17);
}
.map-card-library .preview-glow{
  background:
    radial-gradient(ellipse at 50% 48%, rgba(232,173,69,.23) 0%, rgba(212,162,78,.09) 27%, transparent 58%),
    linear-gradient(180deg, transparent 58%, rgba(5,9,16,.42) 100%);
}
.map-card-library .map-preview-svg .base-countries path{
  fill:#26385f; fill-opacity:.27;
  stroke:#7890c2; stroke-opacity:.34; stroke-width:.72;
}
.map-card-library .map-preview-svg .highlight-region path{
  fill:#e0aa45; fill-opacity:.97; stroke:#ffd37b; stroke-width:1.05;
  filter:
    drop-shadow(0 0 3px rgba(255,218,137,.82))
    drop-shadow(0 0 10px rgba(224,170,69,.62))
    drop-shadow(0 0 22px rgba(212,162,78,.34));
}
.map-card-library:hover .map-preview-svg .highlight-region path{
  filter:
    drop-shadow(0 0 4px rgba(255,225,154,.9))
    drop-shadow(0 0 13px rgba(224,170,69,.72))
    drop-shadow(0 0 28px rgba(212,162,78,.42));
}

@media (max-width:1080px){
  .map-library-heading-row{ grid-template-columns:1fr; }
  .map-library-heading{ max-width:650px; }
  .map-library-stats{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .map-library-page .map-search-form{ grid-template-columns:1.2fr .8fr .8fr; }
  .map-filter-sort{ grid-column:auto; }
  .map-filter-actions{ grid-column:auto; }
}
@media (max-width:760px){
  .map-library-wide{ padding:0 14px; }
  .map-library-heading h1{ font-size:2.05rem; }
  .map-library-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; }
  .library-stat-card:nth-child(3){ border-left:0; border-top:1px solid var(--border-soft); }
  .library-stat-card:nth-child(4){ border-top:1px solid var(--border-soft); }
  .map-library-page .map-search-form{ grid-template-columns:1fr; gap:11px; }
  .map-filter-actions{ grid-column:auto; }
  .map-filter-actions .button{ width:100%; }
  .map-library-tab{ flex:1 1 50%; min-width:0; padding:0 12px; }
}
@media (max-width:430px){
  .map-library-stats{ grid-template-columns:1fr; }
  .library-stat-card + .library-stat-card{ border-left:0; border-top:1px solid var(--border-soft); }
  .map-library-tab{ flex-basis:100%; }
}

/* =====================================================================
   ACCOUNT DASHBOARD V2 + COMMUNITY CREATOR IDENTITY
   ===================================================================== */
.histriphy-avatar{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  flex:0 0 auto; overflow:hidden; border-radius:50%;
  background:linear-gradient(145deg, var(--gold-soft), var(--gold));
  color:#101521; font-weight:800; letter-spacing:.02em;
  border:1px solid rgba(232,201,138,.7);
  box-shadow:0 0 0 4px rgba(212,162,78,.08), 0 12px 28px rgba(0,0,0,.26);
}
.histriphy-avatar img{ width:100%; height:100%; object-fit:cover; }
.histriphy-avatar.is-initials{ line-height:1; }
.account-hero-avatar{ width:76px; height:76px; font-size:1.35rem; }
.account-sidebar-avatar{ width:46px; height:46px; font-size:.9rem; box-shadow:0 0 0 3px rgba(212,162,78,.07); }
.account-settings-avatar{ width:92px; height:92px; font-size:1.6rem; }
.community-uploader-avatar{ width:68px; height:68px; font-size:1.2rem; }

.account-dashboard-page{
  min-height:calc(100vh - 76px);
  background:
    radial-gradient(circle at 18% 2%, rgba(212,162,78,.075), transparent 26%),
    radial-gradient(circle at 88% 16%, rgba(49,76,128,.08), transparent 25%),
    var(--bg);
}
.account-dashboard-shell{ padding:38px 0 82px; }
.account-hero-panel{
  display:flex; align-items:center; justify-content:space-between; gap:28px;
  margin-bottom:26px; padding:28px 30px;
  border:1px solid var(--border); border-radius:12px;
  background:
    linear-gradient(115deg, rgba(20,28,49,.97), rgba(10,16,28,.95)),
    radial-gradient(circle at 18% 50%, rgba(212,162,78,.12), transparent 34%);
  box-shadow:0 18px 54px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.018);
}
.account-hero-profile{ display:flex; align-items:center; gap:20px; min-width:0; }
.account-kicker{
  margin:0 0 5px; color:var(--gold); font:600 .66rem var(--font-mono);
  letter-spacing:.14em; text-transform:uppercase;
}
.account-hero-profile h1{
  margin:0; color:var(--ink); font-size:1.9rem; line-height:1.15; letter-spacing:-.025em;
}
.account-hero-profile p:last-child{ margin:8px 0 0; max-width:650px; color:var(--ink-dim); font-size:.88rem; }
.account-hero-actions{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.account-hero-actions .button{ min-height:42px; padding:0 17px; }

.account-layout-v2{ grid-template-columns:245px minmax(0,1fr); gap:26px; }
.account-sidebar-v2{
  padding:18px; border-radius:10px; top:98px;
  background:linear-gradient(180deg, rgba(18,25,44,.98), rgba(12,18,31,.98));
  box-shadow:0 14px 36px rgba(0,0,0,.16);
}
.account-sidebar-profile{
  display:flex; align-items:center; gap:12px; padding:2px 2px 17px;
  margin-bottom:12px; border-bottom:1px solid var(--border-soft);
}
.account-sidebar-profile div{ min-width:0; }
.account-sidebar-profile strong{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); font-size:.9rem; }
.account-sidebar-profile span{ display:block; margin-top:3px; color:var(--ink-faint); font-size:.67rem; }
.account-sidebar-v2 .account-nav a,
.account-sidebar-v2 .account-logout{ min-height:42px; border:1px solid transparent; }
.account-sidebar-v2 .account-nav a.is-active{
  color:var(--gold-soft); background:rgba(212,162,78,.08); border-color:rgba(212,162,78,.22);
}
.account-sidebar-v2 .account-nav a.is-active svg{ stroke:var(--gold); }
.account-content-v2{ min-width:0; }

.account-section-heading{
  display:flex; align-items:flex-end; justify-content:space-between; gap:28px;
  margin-bottom:22px;
}
.account-section-heading h2{ margin:0; font-size:1.75rem; }
.account-section-heading > p{ max-width:460px; margin:0; color:var(--ink-dim); font-size:.82rem; text-align:right; }
.account-dashboard-heading{ margin-bottom:20px; }

.account-stat-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.account-stat-card{
  min-height:108px; display:flex; align-items:center; gap:13px; padding:18px;
  border:1px solid var(--border); border-radius:9px;
  background:linear-gradient(145deg, rgba(18,26,45,.97), rgba(11,17,30,.97));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
  transition:border-color .18s, transform .18s;
}
.account-stat-card:hover{ transform:translateY(-2px); border-color:rgba(212,162,78,.44); }
.account-stat-icon{
  width:39px; height:39px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:9px; background:rgba(212,162,78,.08); border:1px solid rgba(212,162,78,.2);
}
.account-stat-icon svg{ width:21px; height:21px; fill:none; stroke:var(--gold); stroke-width:1.8; }
.account-stat-card strong{ display:block; color:var(--ink); font-size:1.42rem; line-height:1; }
.account-stat-card div > span{ display:block; margin-top:7px; color:var(--ink-dim); font-size:.68rem; white-space:nowrap; }

.dashboard-chart-card-v2{
  min-height:310px; margin-bottom:28px; padding:20px 22px 18px;
  border-radius:10px; background:linear-gradient(180deg, rgba(16,23,40,.98), rgba(10,16,28,.98));
  box-shadow:0 12px 34px rgba(0,0,0,.13);
}
.dashboard-chart-card-v2 > div:first-child{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:14px; }
.dashboard-chart-card-v2 h3{ margin:0 0 3px; }
.dashboard-chart-card-v2 p{ margin:0; color:var(--ink-faint); font-size:.72rem; }
.dashboard-chart-card-v2 canvas{ width:100% !important; height:230px !important; }

.account-maps-heading{
  display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:0 0 14px;
}
.account-maps-heading h3{ margin:0 0 3px; font-size:1.12rem; }
.account-maps-heading p{ margin:0; color:var(--ink-faint); font-size:.72rem; }
.account-maps-heading > a{ color:var(--gold); font-size:.76rem; font-weight:600; }
.account-maps-heading > a:hover{ color:var(--gold-soft); }

.account-map-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.account-map-card{
  min-width:0; overflow:hidden; border:1px solid var(--border); border-radius:9px;
  background:linear-gradient(180deg, rgba(18,26,45,.97), rgba(12,18,31,.98));
  transition:transform .18s, border-color .18s, box-shadow .18s;
}
.account-map-card:hover{
  transform:translateY(-3px); border-color:rgba(212,162,78,.66);
  box-shadow:0 16px 35px rgba(0,0,0,.2), 0 0 28px rgba(212,162,78,.05);
}
.account-map-preview{
  position:relative; height:132px; display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:radial-gradient(ellipse at 50% 48%, rgba(30,49,82,.38), transparent 62%), linear-gradient(135deg,#0d1729,#070d17);
  border-bottom:1px solid var(--border-soft);
}
.account-map-preview > img{ width:100%; height:100%; object-fit:cover; }
.account-map-preview .preview-glow{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(ellipse at 50% 48%, rgba(232,173,69,.2), rgba(212,162,78,.07) 30%, transparent 61%);
}
.account-map-preview .map-preview-svg{ z-index:0; }
.account-map-preview .map-preview-fallback{ width:45px; height:45px; stroke:var(--border); fill:none; stroke-width:1.4; }
.account-map-preview .map-preview-svg .base-countries path{ fill:#26385f; fill-opacity:.27; stroke:#7890c2; stroke-opacity:.34; stroke-width:.72; }
.account-map-preview .map-preview-svg .highlight-region path{
  fill:#e0aa45; fill-opacity:.97; stroke:#ffd37b; stroke-width:1.05;
  filter:drop-shadow(0 0 3px rgba(255,218,137,.82)) drop-shadow(0 0 10px rgba(224,170,69,.58));
}
.account-status-badge{
  display:inline-flex; align-items:center; min-height:25px; padding:0 9px; border-radius:5px;
  font:600 .58rem var(--font-mono); letter-spacing:.08em; text-transform:uppercase;
}
.account-map-preview .account-status-badge{ position:absolute; top:10px; right:10px; z-index:3; }
.account-status-badge.status-publish{ color:#dfbf79; background:rgba(15,22,37,.9); border:1px solid rgba(212,162,78,.56); }
.account-status-badge.status-pending{ color:#9ec7ff; background:rgba(14,29,51,.92); border:1px solid rgba(78,139,216,.45); }
.account-status-badge.status-draft{ color:#b4bccd; background:rgba(16,22,35,.92); border:1px solid #3a4359; }
.account-map-year{
  position:absolute; left:10px; top:10px; z-index:3; padding:5px 8px; border-radius:5px;
  color:var(--gold-soft); background:rgba(7,12,21,.9); border:1px solid rgba(212,162,78,.42);
  font:600 .6rem var(--font-mono);
}
.account-map-card-body{ padding:14px 15px 13px; }
.account-map-card-body > p{
  min-height:17px; margin:0 0 5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:var(--ink-faint); font:.56rem var(--font-mono); letter-spacing:.08em; text-transform:uppercase;
}
.account-map-card-body h3{
  margin:0 0 14px; min-height:43px; color:var(--ink); font-size:.92rem; line-height:1.35;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.account-map-card-body > div{ display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--ink-faint); font-size:.64rem; }
.account-map-card-body > div span{ display:inline-flex; align-items:center; gap:5px; }
.account-map-card-body svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.8; }
.account-open-label{ color:var(--gold); font-weight:600; }
.account-map-card:hover .account-open-label{ color:var(--gold-soft); }

.account-notice{ margin-bottom:16px; padding:13px 15px; border-radius:7px; font-size:.8rem; }
.account-notice.is-success{ color:#d9c58e; background:rgba(212,162,78,.07); border:1px solid rgba(212,162,78,.35); }
.account-notice.is-error{ color:#e6aaa4; background:rgba(192,82,74,.08); border:1px solid rgba(192,82,74,.4); }
.account-settings-form{
  overflow:hidden; border:1px solid var(--border); border-radius:10px;
  background:linear-gradient(180deg, rgba(18,25,43,.98), rgba(11,17,29,.98));
}
.account-profile-photo-card{
  display:flex; align-items:center; gap:22px; padding:24px;
  border-bottom:1px solid var(--border-soft); background:rgba(255,255,255,.008);
}
.account-profile-photo-card > div{ min-width:0; }
.account-profile-photo-card h3{ margin:0 0 4px; }
.account-profile-photo-card p{ margin:0 0 13px; color:var(--ink-dim); font-size:.76rem; }
.account-photo-upload{ max-width:470px; background:#0c1322; }
.account-remove-photo{ display:inline-flex; align-items:center; gap:7px; margin-top:10px; color:var(--ink-faint); font-size:.7rem; cursor:pointer; }
.account-remove-photo input{ accent-color:var(--gold); }
.account-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:24px; }
.account-field{ min-width:0; }
.account-field-full{ grid-column:1/-1; }
.account-field label{ display:block; margin-bottom:7px; color:var(--ink-dim); font-size:.72rem; font-weight:600; }
.account-field label span{ color:var(--ink-faint); font-weight:400; }
.account-field input,
.account-field textarea{
  width:100%; border:1px solid var(--border); border-radius:7px; background:#0c1322;
  color:var(--ink); font:500 .82rem var(--font-body); outline:0;
  transition:border-color .15s, box-shadow .15s;
}
.account-field input{ height:44px; padding:0 13px; }
.account-field textarea{ padding:12px 13px; resize:vertical; min-height:102px; }
.account-field input:focus,
.account-field textarea:focus{ border-color:rgba(212,162,78,.65); box-shadow:0 0 0 3px rgba(212,162,78,.07); }
.account-form-actions{ display:flex; justify-content:flex-end; padding:0 24px 24px; }
.account-form-actions .button{ min-width:145px; justify-content:center; }

.account-back-link{
  display:inline-flex; align-items:center; gap:6px; margin-bottom:17px; color:var(--ink-dim); font-size:.74rem;
}
.account-back-link:hover{ color:var(--gold); }
.account-back-link svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; }
.account-submission-header{
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px;
}
.account-submission-header h2{ margin:10px 0 4px; font-size:1.8rem; }
.account-submission-header p{ margin:0; color:var(--ink-faint); font-size:.72rem; }
.account-submission-preview{
  height:420px; overflow:hidden; margin-bottom:16px; border:1px solid var(--border); border-radius:10px;
  background:#0b1220;
}
.account-submission-preview > img{ width:100%; height:100%; object-fit:cover; }
.account-submission-facts{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.account-submission-facts > div{ padding:15px; border:1px solid var(--border); border-radius:8px; background:var(--bg-card); }
.account-submission-facts span{ display:block; margin-bottom:5px; color:var(--ink-faint); font-size:.62rem; text-transform:uppercase; letter-spacing:.07em; }
.account-submission-facts strong{ display:block; overflow:hidden; text-overflow:ellipsis; color:var(--ink); font-size:.82rem; }
.account-submission-note,
.account-empty-panel{ padding:22px; border:1px solid var(--border); border-radius:9px; background:linear-gradient(145deg, rgba(18,25,43,.97), rgba(11,17,29,.98)); }
.account-submission-note h3{ margin:0 0 6px; }
.account-submission-note p{ margin:0; color:var(--ink-dim); font-size:.8rem; line-height:1.65; }
.account-empty-panel{ text-align:center; padding:46px 24px; }
.account-empty-panel h2,
.account-empty-panel h3{ margin:0 0 7px; }
.account-empty-panel p{ margin:0 auto 18px; max-width:480px; color:var(--ink-dim); font-size:.82rem; }
.account-empty-icon{ width:46px; height:46px; display:inline-flex; align-items:center; justify-content:center; margin-bottom:14px; border:1px solid rgba(212,162,78,.35); border-radius:50%; color:var(--gold); font-size:1.4rem; }

/* Public identity shown on every Community Upload detail page. */
.single-uploader-name{ color:var(--ink); font-weight:600; }
.community-uploader-card{
  display:flex; align-items:center; gap:18px; margin:0 0 30px; padding:20px 22px;
  border:1px solid rgba(212,162,78,.25); border-radius:10px;
  background:
    radial-gradient(circle at 8% 50%, rgba(212,162,78,.08), transparent 28%),
    linear-gradient(145deg, rgba(18,25,43,.97), rgba(10,16,28,.98));
}
.community-uploader-copy{ min-width:0; }
.community-uploader-copy > p{ margin:0 0 2px; color:var(--gold); font:600 .59rem var(--font-mono); letter-spacing:.12em; text-transform:uppercase; }
.community-uploader-copy h3{ margin:0 0 5px; color:var(--ink); font-size:1rem; }
.community-uploader-bio{ color:var(--ink-dim); font-size:.76rem; line-height:1.55; }
.community-uploader-meta{ display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:9px; color:var(--ink-faint); font-size:.65rem; }
.community-uploader-meta span{ position:relative; }
.community-uploader-meta span + span::before{ content:'•'; position:absolute; left:-10px; color:var(--gold); }

/* Filter dropdowns now apply immediately; this small state prevents double clicks. */
.map-search-form.is-filtering{ opacity:.78; pointer-events:none; }
.map-search-form.is-filtering .map-filter-control{ border-color:rgba(212,162,78,.5); }

@media (max-width:1100px){
  .account-stat-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .account-map-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .account-submission-facts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:860px){
  .account-hero-panel{ align-items:flex-start; flex-direction:column; }
  .account-hero-actions{ width:100%; }
  .account-hero-actions .button{ flex:1; justify-content:center; }
  .account-layout-v2{ grid-template-columns:1fr; }
  .account-sidebar-v2{ position:static; }
  .account-sidebar-v2 .account-nav{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .account-sidebar-v2 .account-nav form{ grid-column:1/-1; }
  .account-section-heading{ align-items:flex-start; flex-direction:column; gap:8px; }
  .account-section-heading > p{ max-width:650px; text-align:left; }
}
@media (max-width:620px){
  .account-dashboard-shell{ padding-top:20px; }
  .account-hero-panel{ padding:20px; }
  .account-hero-profile{ align-items:flex-start; }
  .account-hero-avatar{ width:60px; height:60px; }
  .account-hero-profile h1{ font-size:1.45rem; }
  .account-hero-actions{ flex-direction:column; align-items:stretch; }
  .account-stat-grid,
  .account-map-grid,
  .account-submission-facts,
  .account-form-grid{ grid-template-columns:1fr; }
  .account-field-full{ grid-column:auto; }
  .account-sidebar-v2 .account-nav{ grid-template-columns:1fr; }
  .account-profile-photo-card{ align-items:flex-start; flex-direction:column; }
  .account-submission-header{ flex-direction:column; }
  .account-submission-preview{ height:280px; }
  .community-uploader-card{ align-items:flex-start; }
}


/* Histriphy Platform 1.0 */
.map-protection-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--border-soft);border:1px solid var(--border-soft);border-radius:10px;overflow:hidden;margin:0 0 32px}.map-protection-panel>div{background:var(--surface);padding:16px 18px}.map-protection-panel span{display:block;color:var(--ink-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:6px}.map-protection-panel strong{color:var(--ink);font-size:.9rem}.account-download-allowance{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin-bottom:24px;border:1px solid rgba(224,169,66,.35);border-radius:10px;background:linear-gradient(135deg,rgba(224,169,66,.09),rgba(12,20,36,.25))}.account-download-allowance span{display:block;color:var(--ink-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.account-download-allowance strong{display:block;color:var(--gold);margin-top:4px}.account-download-allowance p{margin:0;color:var(--ink-dim);font-size:.82rem}@media(max-width:700px){.account-download-allowance{align-items:flex-start;flex-direction:column}}

/* =========================================================
   HISTRIPHY MAP EXPERIENCE  -  THEME 19
   ========================================================= */
.single-histriphy_map .site-shell{
  background:
    radial-gradient(circle at 78% 8%, rgba(212,162,78,.07), transparent 25%),
    radial-gradient(circle at 16% 26%, rgba(47,64,112,.11), transparent 30%),
    var(--bg);
}
.map-experience{ min-height:70vh; }
.map-hero-v19{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--border-soft);
  background:
    linear-gradient(105deg, rgba(9,14,25,.99) 0%, rgba(10,16,29,.98) 48%, rgba(11,19,34,.96) 100%);
}
.map-hero-v19::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.34;
  background-image:
    linear-gradient(rgba(112,132,179,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(112,132,179,.045) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(90deg, transparent, #000 30%, #000 100%);
}
.map-hero-inner-v19{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(500px,1.18fr);
  align-items:center;
  gap:58px;
  min-height:590px;
  padding-top:64px;
  padding-bottom:64px;
}
.map-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin-bottom:24px;
  color:var(--ink-faint);
  font-size:.76rem;
}
.map-breadcrumb a{ color:var(--ink-dim); transition:color .18s; }
.map-breadcrumb a:hover{ color:var(--gold); }
.map-badge-row{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.map-origin-badge,.map-period-badge{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 11px;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(14,21,37,.72);
  color:var(--ink-dim);
  font-size:.69rem;
  font-weight:700;
  letter-spacing:.035em;
}
.map-origin-badge.is-official{ color:var(--gold-soft); border-color:rgba(212,162,78,.36); background:rgba(212,162,78,.07); }
.map-origin-badge.is-community{ color:#a9c9ff; border-color:rgba(87,142,238,.36); background:rgba(87,142,238,.07); }
.map-origin-dot{ width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 12px currentColor; }
.map-period-badge{ font-family:var(--font-mono); color:var(--ink); }
.map-hero-copy-v19 h1{
  max-width:660px;
  margin:0 0 18px;
  font-size:clamp(2.65rem,4.2vw,4.65rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
.map-hero-summary{
  max-width:620px;
  margin:0;
  color:var(--ink-dim);
  font-size:1rem;
  line-height:1.75;
}
.map-primary-actions{ display:flex; align-items:center; flex-wrap:wrap; gap:11px; margin-top:30px; }
.map-primary-actions .button{ min-height:47px; }
.map-primary-actions .button svg{ fill:none; stroke:currentColor; stroke-width:1.9; }
.map-text-button{ padding-left:8px; padding-right:8px; color:var(--ink-dim); }
.map-text-button:hover{ color:var(--gold-soft); }
.map-quick-stats{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin-top:34px;
  padding-top:24px;
  border-top:1px solid var(--border-soft);
}
.map-quick-stats > div{ min-width:118px; padding:0 24px; border-left:1px solid var(--border-soft); }
.map-quick-stats > div:first-child{ padding-left:0; border-left:0; }
.map-quick-stats strong{ display:block; color:var(--ink); font-size:1rem; }
.map-quick-stats span{ display:block; margin-top:3px; color:var(--ink-faint); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }
.map-hero-visual-v19{ min-width:0; }
.map-hero-preview{
  height:460px;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(100,121,166,.28);
  border-radius:14px;
  background:
    radial-gradient(circle at 50% 50%, rgba(212,162,78,.1), transparent 28%),
    linear-gradient(145deg, rgba(18,28,49,.95), rgba(7,12,22,.99));
  box-shadow:0 30px 80px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.025);
}
.map-hero-preview::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.015), transparent 22%, rgba(0,0,0,.18));
}
.map-hero-preview .preview-glow{
  position:absolute;
  inset:19% 20%;
  border-radius:50%;
  background:rgba(212,162,78,.13);
  filter:blur(54px);
  z-index:0;
}
.map-hero-preview .map-preview-svg .base-countries path,
.map-compare-preview .map-preview-svg .base-countries path{
  fill:#1c2a49;
  fill-opacity:.35;
  stroke:#7890c2;
  stroke-opacity:.36;
  stroke-width:.8;
}
.map-hero-preview .map-preview-svg .highlight-region path,
.map-compare-preview .map-preview-svg .highlight-region path{
  fill:#d8a347;
  fill-opacity:.92;
  stroke:#f0bd5e;
  stroke-width:1.5;
  filter:drop-shadow(0 0 5px rgba(229,174,77,.86)) drop-shadow(0 0 16px rgba(212,162,78,.46));
}
.map-preview-caption{ display:flex; justify-content:space-between; gap:18px; padding:11px 4px 0; color:var(--ink-faint); font-size:.67rem; }
.map-body-v19{ padding:58px 0 90px; }
.map-body-grid-v19{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:30px; align-items:start; }
.map-main-column-v19{ min-width:0; display:flex; flex-direction:column; gap:22px; }
.map-content-section{
  padding:30px;
  border:1px solid var(--border-soft);
  border-radius:12px;
  background:linear-gradient(145deg, rgba(15,22,39,.95), rgba(10,16,28,.95));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
.map-section-heading{ margin-bottom:22px; }
.map-section-heading > span,.map-section-heading > div > span{
  display:block;
  margin-bottom:7px;
  color:var(--gold);
  font:600 .64rem var(--font-mono);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.map-section-heading h2{ margin:0; color:var(--ink); font-size:1.72rem; letter-spacing:-.025em; }
.map-section-heading-split{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.map-section-heading-split > p{ max-width:340px; margin:0; color:var(--ink-faint); font-size:.78rem; text-align:right; }
.map-section-heading-split > a{ color:var(--gold-soft); font-size:.78rem; }
.map-description-copy{ color:var(--ink-dim); line-height:1.85; }
.map-description-copy > :first-child{ margin-top:0; }
.map-description-copy > :last-child{ margin-bottom:0; }
.map-context-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.map-context-group{ min-height:112px; padding:17px; border:1px solid var(--border-soft); border-radius:9px; background:rgba(9,15,27,.48); }
.map-context-group h3{ margin:0 0 12px; color:var(--ink-faint); font-size:.65rem; text-transform:uppercase; letter-spacing:.09em; }
.map-chip-list{ display:flex; flex-wrap:wrap; gap:7px; }
.map-chip-list span{ padding:6px 9px; border:1px solid rgba(107,126,169,.22); border-radius:999px; background:rgba(38,52,87,.23); color:var(--ink-dim); font-size:.71rem; }
.map-timeline{ position:relative; display:flex; gap:0; overflow-x:auto; padding:16px 4px 6px; scrollbar-width:thin; scrollbar-color:var(--border) transparent; }
.map-timeline::before{ content:""; position:absolute; top:58px; left:22px; right:22px; height:1px; background:linear-gradient(90deg, transparent, var(--border), var(--border), transparent); }
.map-timeline-item{ position:relative; z-index:1; min-width:155px; flex:1 0 155px; padding:0 12px; text-align:center; color:var(--ink-faint); }
.map-timeline-year{ display:block; min-height:25px; color:var(--ink-dim); font:600 .68rem var(--font-mono); }
.map-timeline-node{ display:block; width:12px; height:12px; margin:12px auto 13px; border:3px solid var(--bg-card); border-radius:50%; background:#536182; box-shadow:0 0 0 1px #536182; }
.map-timeline-item strong{ display:block; color:var(--ink-dim); font-size:.77rem; line-height:1.35; }
.map-timeline-item:hover strong{ color:var(--ink); }
.map-timeline-item.is-current .map-timeline-year,.map-timeline-item.is-current strong{ color:var(--gold-soft); }
.map-timeline-item.is-current .map-timeline-node{ background:var(--gold); box-shadow:0 0 0 1px var(--gold),0 0 16px rgba(212,162,78,.5); }
.map-compare-form{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:17px; border:1px solid var(--border-soft); border-radius:9px; background:rgba(7,13,24,.45); }
.map-compare-form label{ display:block; color:var(--ink-dim); font-size:.76rem; }
.map-compare-controls{ display:flex; align-items:center; gap:9px; width:min(520px,65%); }
.map-compare-controls select{ min-width:0; flex:1; height:44px; padding:0 38px 0 13px; border:1px solid var(--border); border-radius:7px; background:#0d1526; color:var(--ink); }
.map-compare-controls .button{ min-height:44px; padding:0 18px; }
.map-compare-stage{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:16px; }
.map-compare-pane{ min-width:0; border:1px solid var(--border-soft); border-radius:10px; overflow:hidden; background:#0b1220; }
.map-compare-label{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid var(--border-soft); }
.map-compare-label span{ color:var(--ink-faint); font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; }
.map-compare-label strong{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); font-size:.76rem; }
.map-compare-preview{ height:300px; margin:0; border:0; border-radius:0; background:radial-gradient(circle at 50% 50%, rgba(212,162,78,.08), transparent 33%),#0b1322; }
.map-empty-state{ padding:24px; border:1px dashed var(--border); border-radius:9px; color:var(--ink-faint); text-align:center; }
.map-related-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.map-related-card{ min-width:0; overflow:hidden; border:1px solid var(--border-soft); border-radius:10px; background:rgba(10,17,30,.78); transition:transform .18s,border-color .18s,box-shadow .18s; }
.map-related-card:hover{ transform:translateY(-3px); border-color:rgba(212,162,78,.42); box-shadow:0 14px 34px rgba(0,0,0,.22); }
.map-related-preview{ position:relative; height:128px; overflow:hidden; background:linear-gradient(145deg,#101b31,#09101c); }
.map-related-preview .preview-glow{ position:absolute; inset:35% 25%; background:rgba(212,162,78,.1); filter:blur(24px); }
.map-related-preview .map-preview-svg .base-countries path{ fill:#25365c; fill-opacity:.32; stroke:#7086b7; stroke-opacity:.32; }
.map-related-preview .map-preview-svg .highlight-region path{ fill:#d6a146; stroke:#eeb95a; filter:drop-shadow(0 0 8px rgba(212,162,78,.55)); }
.map-related-copy{ padding:14px; }
.map-related-copy > span{ display:block; min-height:18px; overflow:hidden; color:var(--ink-faint); font:500 .58rem var(--font-mono); text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; text-overflow:ellipsis; }
.map-related-copy strong{ display:block; min-height:42px; margin-top:5px; color:var(--ink); font-size:.87rem; line-height:1.35; }
.map-related-copy small{ display:block; margin-top:10px; color:var(--gold-soft); font-size:.68rem; }
.map-sidebar-v19{ position:sticky; top:98px; display:flex; flex-direction:column; gap:15px; }
.map-download-card-v19,.map-facts-card-v19,.map-technical-details{
  border:1px solid var(--border-soft);
  border-radius:11px;
  background:linear-gradient(145deg, rgba(18,27,47,.97), rgba(10,16,28,.98));
  box-shadow:0 16px 36px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.02);
}
.map-download-card-v19{ padding:21px; border-color:rgba(212,162,78,.25); }
.map-download-card-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:15px; padding-bottom:16px; margin-bottom:17px; border-bottom:1px solid var(--border-soft); }
.map-download-card-head span{ color:var(--ink-faint); font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; }
.map-download-card-head strong{ color:var(--gold-soft); font-size:.76rem; }
.guest-meter-copy{ display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--ink-dim); font-size:.74rem; }
.guest-meter-copy strong{ color:var(--ink); }
.guest-meter-dots{ display:grid; grid-template-columns:repeat(5,1fr); gap:7px; margin:12px 0 10px; }
.guest-meter-dots span{ height:7px; border-radius:999px; background:var(--gold); box-shadow:0 0 9px rgba(212,162,78,.25); }
.guest-meter-dots span.is-used{ background:#29334d; box-shadow:none; }
.guest-download-meter p{ margin:0; color:var(--ink-faint); font-size:.69rem; }
.member-allowance-copy{ display:flex; align-items:flex-end; gap:8px; margin-bottom:16px; }
.member-allowance-copy strong{ color:var(--gold-soft); font-size:1.65rem; line-height:1; }
.member-allowance-copy span{ color:var(--ink-faint); font-size:.69rem; }
.map-sidebar-primary{ width:100%; justify-content:center; margin-top:17px; text-align:center; }
.map-sidebar-login{ display:block; margin-top:11px; color:var(--ink-dim); font-size:.73rem; text-align:center; }
.map-sidebar-login:hover{ color:var(--gold-soft); }
.map-license-note{ margin:16px 0 0; color:var(--ink-faint); font-size:.68rem; line-height:1.6; }
.map-license-link{ display:inline-block; margin-top:10px; color:var(--gold-soft); font-size:.7rem; }
.map-facts-card-v19{ padding:20px; }
.map-facts-card-v19 h2{ margin:0 0 13px; font-size:.92rem; }
.map-facts-card-v19 dl,.map-technical-details dl{ margin:0; }
.map-facts-card-v19 dl > div,.map-technical-details dl > div{ display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:11px 0; border-top:1px solid var(--border-soft); }
.map-facts-card-v19 dt,.map-technical-details dt{ color:var(--ink-faint); font-size:.68rem; }
.map-facts-card-v19 dd,.map-technical-details dd{ margin:0; max-width:58%; color:var(--ink-dim); font-size:.7rem; text-align:right; }
.map-uploader-sidebar{ padding:18px; margin:0; border-radius:11px; }
.map-uploader-sidebar .community-uploader-avatar{ width:48px; height:48px; }
.map-uploader-sidebar .community-uploader-copy h3{ font-size:.9rem; }
.map-uploader-sidebar .community-uploader-bio{ font-size:.69rem; }
.map-technical-details{ overflow:hidden; }
.map-technical-details summary{ padding:16px 18px; color:var(--ink-dim); font-size:.76rem; cursor:pointer; list-style:none; }
.map-technical-details summary::-webkit-details-marker{ display:none; }
.map-technical-details summary::after{ content:"+"; float:right; color:var(--gold); font-size:1rem; }
.map-technical-details[open] summary::after{ content:"−"; }
.map-technical-details dl{ padding:0 18px 15px; }
.map-technical-details code{ color:var(--ink-dim); font-size:.62rem; }

/* Registration prompt shown when both lifetime guest downloads are used. */
.guest-limit-modal-overlay{
  position:fixed; inset:0; z-index:10020; display:none; align-items:center; justify-content:center;
  padding:24px; background:rgba(3,7,15,.82); backdrop-filter:blur(10px);
}
.guest-limit-modal-overlay.is-open{display:flex}
.guest-limit-modal{
  position:relative; width:min(560px,100%); padding:30px; overflow:hidden;
  border:1px solid rgba(212,162,78,.34); border-radius:20px;
  background:linear-gradient(145deg,#111a31 0%,#0d1427 58%,#0a1020 100%);
  box-shadow:0 28px 80px rgba(0,0,0,.5); color:var(--ink); text-align:left;
}
.guest-limit-modal:before{
  content:""; position:absolute; width:240px; height:240px; right:-95px; top:-120px;
  border-radius:50%; background:radial-gradient(circle,rgba(212,162,78,.16),transparent 68%); pointer-events:none;
}
.guest-limit-dismiss{
  position:absolute; z-index:2; top:16px; right:16px; width:34px; height:34px; display:grid; place-items:center;
  border:1px solid var(--border-soft); border-radius:10px; background:rgba(255,255,255,.025);
  color:var(--ink-dim); font-size:1.25rem; line-height:1; cursor:pointer;
}
.guest-limit-dismiss:hover,.guest-limit-dismiss:focus-visible{border-color:rgba(212,162,78,.45);color:var(--ink)}
.guest-limit-kicker{display:flex;align-items:center;gap:8px;margin:0 44px 20px 0;color:var(--gold-soft);font:600 .7rem/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase}
.guest-limit-kicker span{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(212,162,78,.1)}
.guest-limit-heading-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start}
.guest-limit-icon{width:56px;height:56px;display:grid;place-items:center;border:1px solid rgba(212,162,78,.35);border-radius:16px;background:rgba(212,162,78,.09);color:var(--gold)}
.guest-limit-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.guest-limit-modal h3{margin:1px 0 0;font-size:1.55rem;line-height:1.18;letter-spacing:-.025em}
.guest-limit-modal p{margin:9px 0 0;max-width:430px;color:var(--ink-dim);font-size:.86rem;line-height:1.65}
.guest-limit-plans{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 12px}
.guest-limit-plan{position:relative;padding:16px;border:1px solid var(--border-soft);border-radius:13px;background:rgba(255,255,255,.018)}
.guest-limit-plan.is-highlighted{border-color:rgba(212,162,78,.38);background:rgba(212,162,78,.065)}
.guest-limit-plan-label{display:block;min-height:28px;color:var(--ink-dim);font-size:.69rem;line-height:1.35}
.guest-limit-plan strong{display:block;margin:5px 0 2px;color:var(--ink);font-size:1.8rem;line-height:1}
.guest-limit-plan.is-highlighted strong{color:var(--gold-soft)}
.guest-limit-plan>span:last-child{color:var(--ink-faint);font-size:.68rem}
.guest-limit-note{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;border:1px solid var(--border-soft);border-radius:11px;background:rgba(255,255,255,.014);color:var(--ink-dim);font-size:.72rem;line-height:1.5}
.guest-limit-note svg{flex:0 0 auto;width:18px;height:18px;margin-top:1px;fill:none;stroke:var(--gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.guest-limit-actions{display:grid;grid-template-columns:1.05fr .95fr;gap:10px;margin-top:20px}
.guest-limit-actions .button{min-height:48px;justify-content:center;text-align:center}
@media(max-width:560px){
  .guest-limit-modal-overlay{padding:14px}
  .guest-limit-modal{padding:24px 19px;border-radius:17px}
  .guest-limit-heading-row{grid-template-columns:46px minmax(0,1fr);gap:12px}
  .guest-limit-icon{width:46px;height:46px;border-radius:13px}
  .guest-limit-modal h3{font-size:1.27rem}
  .guest-limit-plans,.guest-limit-actions{grid-template-columns:1fr}
  .guest-limit-plan-label{min-height:0}
}

@media(max-width:1100px){
  .map-hero-inner-v19{ grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr); gap:35px; }
  .map-hero-preview{ height:400px; }
  .map-body-grid-v19{ grid-template-columns:minmax(0,1fr) 310px; gap:22px; }
  .map-related-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px){
  .map-hero-inner-v19{ grid-template-columns:1fr; min-height:0; padding-top:44px; padding-bottom:46px; }
  .map-hero-copy-v19{ max-width:760px; }
  .map-hero-visual-v19{ width:100%; }
  .map-body-grid-v19{ grid-template-columns:1fr; }
  .map-sidebar-v19{ position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .map-download-card-v19{ grid-column:1/-1; }
  .map-uploader-sidebar,.map-technical-details{ grid-column:1/-1; }
}
@media(max-width:680px){
  .map-hero-inner-v19{ padding-top:32px; padding-bottom:34px; }
  .map-hero-copy-v19 h1{ font-size:2.55rem; }
  .map-hero-preview{ height:330px; border-radius:10px; }
  .map-preview-caption{ flex-direction:column; gap:2px; }
  .map-primary-actions{ align-items:stretch; }
  .map-primary-actions .button{ flex:1 1 100%; justify-content:center; }
  .map-quick-stats{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .map-quick-stats > div{ min-width:0; padding:0 10px; text-align:center; }
  .map-content-section{ padding:21px 17px; }
  .map-section-heading-split{ align-items:flex-start; flex-direction:column; gap:8px; }
  .map-section-heading-split > p{ text-align:left; }
  .map-context-grid,.map-compare-stage,.map-related-grid,.map-sidebar-v19{ grid-template-columns:1fr; }
  .map-compare-form{ align-items:stretch; flex-direction:column; }
  .map-compare-controls{ width:100%; }
  .map-compare-preview{ height:250px; }
}


/* =========================================================
   MAP EXPERIENCE REFINEMENTS  -  19.1
   ========================================================= */
.map-primary-actions .map-text-button small{
  margin-left:7px;
  color:var(--gold-soft);
  font:600 .58rem var(--font-mono);
  letter-spacing:.05em;
  text-transform:uppercase;
}
.map-quick-stats > div{ min-width:0; }
.map-quick-stats strong{
  display:block;
  max-width:155px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* The timeline remains intentionally honest until verified historical
   relationships are available. No unrelated same-year records are shown. */
.map-coming-soon{
  display:flex;
  align-items:center;
  gap:18px;
  min-height:126px;
  padding:24px;
  border:1px dashed rgba(212,162,78,.35);
  border-radius:10px;
  background:
    radial-gradient(circle at 9% 50%,rgba(212,162,78,.13),transparent 20%),
    rgba(8,14,25,.5);
}
.map-coming-soon-icon{
  display:grid;
  place-items:center;
  flex:0 0 50px;
  width:50px;
  height:50px;
  border:1px solid rgba(212,162,78,.4);
  border-radius:50%;
  background:rgba(212,162,78,.09);
  color:var(--gold-soft);
  font-size:1.25rem;
}
.map-coming-soon strong{ display:block; color:var(--ink); font-size:1rem; }
.map-coming-soon p{ max-width:680px; margin:5px 0 0; color:var(--ink-faint); font-size:.78rem; line-height:1.6; }

/* Full-library compare picker and information panels. */
.map-compare-form{
  align-items:center;
  padding:18px;
}
.map-compare-picker-copy{
  min-width:190px;
}
.map-compare-picker-copy strong{ display:block; color:var(--ink); font-size:.79rem; }
.map-compare-picker-copy span{ display:block; margin-top:3px; color:var(--ink-faint); font-size:.67rem; }
.map-compare-controls{
  display:grid;
  grid-template-columns:minmax(170px,.78fr) minmax(230px,1.35fr) auto;
  width:min(720px,72%);
}
.map-compare-search,
.map-compare-controls select{
  min-width:0;
  width:100%;
  height:44px;
  border:1px solid var(--border);
  border-radius:7px;
  background:#0d1526;
  color:var(--ink);
  font-size:.74rem;
}
.map-compare-search{ padding:0 13px; }
.map-compare-search::placeholder{ color:var(--ink-faint); }
.map-compare-search:focus,
.map-compare-controls select:focus{ border-color:var(--gold); outline:none; box-shadow:0 0 0 2px rgba(212,162,78,.1); }
.map-compare-pane{ display:flex; flex-direction:column; }
.map-compare-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  padding:5px 14px 14px;
  border-top:1px solid var(--border-soft);
}
.map-compare-facts > div{
  min-width:0;
  padding:12px 10px;
  border-bottom:1px solid var(--border-soft);
}
.map-compare-facts > div:nth-last-child(-n+2){ border-bottom:0; }
.map-compare-facts dt{
  color:var(--ink-faint);
  font:500 .56rem var(--font-mono);
  letter-spacing:.07em;
  text-transform:uppercase;
}
.map-compare-facts dd{
  margin:4px 0 0;
  overflow-wrap:anywhere;
  color:var(--ink);
  font-size:.72rem;
  line-height:1.45;
}
.map-compare-empty{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:16px;
  padding:22px;
  border:1px dashed var(--border);
  border-radius:9px;
  background:rgba(8,14,25,.42);
}
.map-compare-empty strong{ color:var(--ink); font-size:.82rem; }
.map-compare-empty span{ max-width:560px; color:var(--ink-faint); font-size:.72rem; text-align:right; }
.map-related-library-link{
  display:inline-flex;
  margin-top:18px;
  color:var(--gold-soft);
  font-size:.72rem;
  font-weight:600;
}

/* Labels drawn inside the SVG were easy to clip at the viewport edge. The
   page title already identifies the map, so previews now remain clean. */
.preview-label{ display:none!important; }

@media (max-width:1050px){
  .map-compare-form{ align-items:stretch; flex-direction:column; }
  .map-compare-controls{ width:100%; }
}
@media (max-width:720px){
  .map-coming-soon{ align-items:flex-start; padding:19px; }
  .map-compare-controls{ grid-template-columns:1fr; }
  .map-compare-controls .button{ width:100%; }
  .map-compare-facts{ grid-template-columns:1fr; }
  .map-compare-facts > div:nth-last-child(-n+2){ border-bottom:1px solid var(--border-soft); }
  .map-compare-facts > div:last-child{ border-bottom:0; }
  .map-compare-empty{ align-items:flex-start; flex-direction:column; }
  .map-compare-empty span{ text-align:left; }
  .map-quick-stats strong{ max-width:110px; font-size:.86rem; }
}

/* =========================================================
   MODERN COUNTRY COMPARISON  -  19.2
   ========================================================= */
.map-compare-launch-form{
  display:grid;
  grid-template-columns:minmax(210px,.8fr) minmax(280px,1.35fr) auto;
  align-items:end;
  gap:14px;
  padding:20px;
  border:1px solid var(--border);
  border-radius:10px;
  background:linear-gradient(145deg,rgba(17,25,43,.8),rgba(9,15,27,.78));
}
.map-compare-launch-form label{ min-width:0; }
.map-compare-launch-form label span{
  display:block;
  color:var(--ink);
  font-size:.78rem;
  font-weight:700;
  line-height:1.45;
}
.map-compare-launch-form select{
  width:100%;
  height:46px;
  min-width:0;
  padding:0 42px 0 14px;
  border:1px solid var(--border);
  border-radius:7px;
  background:#0d1526;
  color:var(--ink);
  font-size:.76rem;
}
.map-compare-launch-form select:focus{
  border-color:var(--gold);
  outline:none;
  box-shadow:0 0 0 2px rgba(212,162,78,.1);
}
.map-compare-launch-form .button{ min-height:46px; white-space:nowrap; }

.country-compare-page{ min-height:70vh; background:var(--bg); }
.country-compare-hero{
  padding:46px 0 34px;
  border-bottom:1px solid var(--border-soft);
  background:
    radial-gradient(circle at 24% 16%,rgba(212,162,78,.08),transparent 28%),
    linear-gradient(180deg,#0d1423 0%,#0a0e18 100%);
}
.country-compare-heading{
  display:flex;
  justify-content:space-between;
  gap:30px;
  margin-top:25px;
}
.country-compare-eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--gold);
  font:600 .65rem var(--font-mono);
  letter-spacing:.11em;
  text-transform:uppercase;
}
.country-compare-heading h1{
  margin:0;
  max-width:900px;
  font-size:clamp(2.25rem,4vw,4.25rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
.country-compare-heading p{
  max-width:700px;
  margin:16px 0 0;
  color:var(--ink-dim);
  font-size:.94rem;
  line-height:1.7;
}
.country-compare-picker{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) auto;
  align-items:end;
  gap:14px;
  margin-top:30px;
  padding:18px;
  border:1px solid var(--border);
  border-radius:11px;
  background:rgba(13,21,38,.82);
}
.country-picker-field label{
  display:block;
  margin-bottom:7px;
  color:var(--ink-faint);
  font:500 .62rem var(--font-mono);
  letter-spacing:.07em;
  text-transform:uppercase;
}
.country-picker-field select{
  width:100%;
  height:48px;
  padding:0 42px 0 14px;
  border:1px solid var(--border);
  border-radius:7px;
  background:#0a1221;
  color:var(--ink);
  font-size:.78rem;
}
.country-picker-field select:focus{
  border-color:var(--gold);
  outline:none;
  box-shadow:0 0 0 2px rgba(212,162,78,.1);
}
.country-picker-versus{
  display:grid;
  place-items:center;
  height:48px;
  color:var(--gold-soft);
  font:700 .68rem var(--font-mono);
  letter-spacing:.08em;
}
.country-compare-picker .button{ min-height:48px; white-space:nowrap; }
.country-compare-error{
  margin-top:12px;
  padding:11px 14px;
  border:1px solid rgba(217,95,95,.34);
  border-radius:7px;
  background:rgba(217,95,95,.07);
  color:#efb0b0;
  font-size:.74rem;
}
.country-compare-content{ padding:34px 0 72px; }
.country-map-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.country-map-panel{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:12px;
  background:#0d1424;
}
.country-map-panel-head{
  padding:17px 20px;
  border-bottom:1px solid var(--border-soft);
}
.country-map-panel-head span{
  display:block;
  color:var(--gold);
  font:600 .58rem var(--font-mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.country-map-panel-head h2{
  margin:5px 0 0;
  font-size:1.2rem;
  line-height:1.25;
}
.country-compare-preview{
  height:430px;
  border:0;
  border-radius:0;
  background:
    radial-gradient(circle at 50% 50%,rgba(212,162,78,.06),transparent 30%),
    #0b1220;
}
.country-data-comparison{
  margin-top:24px;
  padding:26px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#0d1424;
}
.country-data-heading span{
  color:var(--gold);
  font:600 .6rem var(--font-mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.country-data-heading h2{ margin:5px 0 20px; font-size:1.55rem; }
.country-data-table{
  overflow:hidden;
  border:1px solid var(--border-soft);
  border-radius:9px;
}
.country-data-row{
  display:grid;
  grid-template-columns:minmax(180px,.7fr) repeat(2,minmax(0,1fr));
  border-top:1px solid var(--border-soft);
}
.country-data-row:first-child{ border-top:0; }
.country-data-row > div{
  min-width:0;
  padding:17px 18px;
  border-left:1px solid var(--border-soft);
  color:var(--ink);
  font-size:.78rem;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.country-data-row > div:first-child{ border-left:0; }
.country-data-header{
  background:rgba(212,162,78,.065);
}
.country-data-header > div{
  color:var(--gold-soft);
  font-size:.73rem;
  font-weight:700;
}
.country-data-label{
  background:rgba(7,12,22,.38);
  color:var(--ink-dim)!important;
  font-weight:600;
}
.country-data-row small{
  display:block;
  margin-top:4px;
  color:var(--ink-faint);
  font:500 .55rem var(--font-mono);
}
.country-data-source-note{
  margin:14px 0 0;
  color:var(--ink-faint);
  font-size:.65rem;
  line-height:1.55;
}

@media(max-width:900px){
  .country-compare-picker{ grid-template-columns:1fr 34px 1fr; }
  .country-compare-picker .button{ grid-column:1/-1; width:100%; justify-content:center; }
  .country-map-grid{ grid-template-columns:1fr; }
  .country-compare-preview{ height:390px; }
}
@media(max-width:720px){
  .map-compare-launch-form{ grid-template-columns:1fr; align-items:stretch; }
  .map-compare-launch-form .button{ width:100%; justify-content:center; }
  .country-compare-hero{ padding-top:32px; }
  .country-compare-picker{ grid-template-columns:1fr; }
  .country-picker-versus{ height:auto; padding:2px 0; }
  .country-compare-picker .button{ grid-column:auto; }
  .country-compare-preview{ height:310px; }
  .country-data-comparison{ padding:17px; }
  .country-data-table{ border:0; overflow:visible; }
  .country-data-header{ display:none; }
  .country-data-row{
    grid-template-columns:1fr;
    margin-top:12px;
    border:1px solid var(--border-soft);
    border-radius:8px;
    overflow:hidden;
  }
  .country-data-row > div{
    border-left:0;
    border-top:1px solid var(--border-soft);
  }
  .country-data-row > div:first-child{ border-top:0; }
  .country-data-row > div:nth-child(2)::before,
  .country-data-row > div:nth-child(3)::before{
    display:block;
    margin-bottom:5px;
    color:var(--gold-soft);
    font:600 .55rem var(--font-mono);
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .country-data-row > div:nth-child(2)::before{ content:"Country one"; }
  .country-data-row > div:nth-child(3)::before{ content:"Country two"; }
}


/* ========================================================================== 
   THEME 19.12.6  -  consistent active navigation state
   ========================================================================== */
.desktop-nav > a.is-current,
.desktop-nav > li.current-menu-item > a,
.desktop-nav > li.current_page_item > a,
.desktop-nav > li.current-menu-ancestor > a,
.desktop-nav .histriphy-compare-nav-link.is-current,
.desktop-nav .histriphy-compare-menu-item.current-menu-item > a,
.mobile-nav > a.is-current,
.mobile-nav > li.current-menu-item > a,
.mobile-nav > li.current_page_item > a,
.mobile-nav .histriphy-compare-nav-link.is-current,
.mobile-nav .histriphy-compare-menu-item.current-menu-item > a{
  color:var(--gold);
}

.desktop-nav > a.is-current,
.desktop-nav > li.current-menu-item > a,
.desktop-nav > li.current_page_item > a,
.desktop-nav > li.current-menu-ancestor > a,
.desktop-nav .histriphy-compare-nav-link.is-current,
.desktop-nav .histriphy-compare-menu-item.current-menu-item > a{
  position:relative;
}

.desktop-nav > a.is-current::after,
.desktop-nav > li.current-menu-item > a::after,
.desktop-nav > li.current_page_item > a::after,
.desktop-nav > li.current-menu-ancestor > a::after,
.desktop-nav .histriphy-compare-nav-link.is-current::after,
.desktop-nav .histriphy-compare-menu-item.current-menu-item > a::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-11px;
  height:2px;
  border-radius:99px;
  background:var(--gold);
}

/* 19.4  -  robust country framing and island-safe previews */
.map-preview[aria-busy="true"] .map-preview-fallback{ opacity:.5; animation:histriphy-preview-pulse 1.15s ease-in-out infinite; }
.map-preview.has-preview-error .map-preview-fallback{ opacity:.72; }
.map-preview-svg{ overflow:hidden; }
@keyframes histriphy-preview-pulse{ 0%,100%{ opacity:.32; transform:scale(.96); } 50%{ opacity:.72; transform:scale(1); } }
@media (prefers-reduced-motion:reduce){ .map-preview[aria-busy="true"] .map-preview-fallback{ animation:none; } }


/* ========================================================================== 
   THEME 19.5  -  move Uploads out of the header and into one footer dropdown
   ========================================================================== */
.footer-nav{ align-items:center; }
.footer-nav .footer-upload-dropdown{
  display:inline-flex;
  align-items:center;
  position:relative;
}
.footer-nav .footer-upload-dropdown .nav-dropdown-label{
  color:var(--ink-dim);
  font-size:.88rem;
  line-height:1.4;
}
.footer-nav .footer-upload-dropdown .nav-dropdown-label:hover,
.footer-nav .footer-upload-dropdown.is-open .nav-dropdown-label,
.footer-nav .footer-upload-dropdown:focus-within .nav-dropdown-label{
  color:var(--gold);
}
.footer-nav .footer-upload-dropdown .nav-dropdown-menu{
  top:auto;
  bottom:calc(100% + 12px);
  left:50%;
  margin:0;
  min-width:190px;
  transform:translate(-50%, 5px);
}
.footer-nav .footer-upload-dropdown.is-open .nav-dropdown-menu,
.footer-nav .footer-upload-dropdown:hover .nav-dropdown-menu,
.footer-nav .footer-upload-dropdown:focus-within .nav-dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translate(-50%, 0);
}
.footer-nav .footer-upload-dropdown .nav-dropdown-menu::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:12px;
}
@media (max-width:700px){
  .footer-nav .footer-upload-dropdown .nav-dropdown-menu{
    left:0;
    transform:translate(0, 5px);
  }
  .footer-nav .footer-upload-dropdown.is-open .nav-dropdown-menu,
  .footer-nav .footer-upload-dropdown:hover .nav-dropdown-menu,
  .footer-nav .footer-upload-dropdown:focus-within .nav-dropdown-menu{
    transform:translate(0, 0);
  }
}


/* ========================================================================== 
   THEME 19.8  -  focused country zoom and compliant builder attribution
   ========================================================================== */
.map-hero-preview.is-country-zooming .map-preview-svg{
  display:block;
}
.map-hero-preview .map-zoom-target{
  fill:none;
  stroke:var(--gold-soft);
  stroke-width:2;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 7px rgba(230,177,80,.9));
  transform-box:fill-box;
  transform-origin:center;
  animation:histriphy-map-target-pulse .9s ease-in-out infinite;
  pointer-events:none;
}
@keyframes histriphy-map-target-pulse{
  0%,100%{ transform:scale(.72); stroke-opacity:.35; }
  50%{ transform:scale(1.45); stroke-opacity:1; }
}
@media (prefers-reduced-motion:reduce){
  .map-hero-preview .map-zoom-target{ animation:none; }
}

/* =========================================================
   ACCOUNT SECURITY & PROFESSIONAL AUTHENTICATION  -  v19.9
   ========================================================= */
.auth-page{
  position:relative;
  min-height:calc(100vh - 74px);
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 16% 16%, rgba(212,162,78,.10), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(72,99,168,.13), transparent 34%),
    linear-gradient(180deg,#0a0f1d 0%,#080c16 100%);
}
.auth-shell{ position:relative; width:min(1240px,calc(100% - 40px)); margin:0 auto; padding:58px 0 72px; }
.auth-atmosphere{
  position:absolute; inset:-80px -10vw auto; height:520px; z-index:-1; pointer-events:none;
  background:
    linear-gradient(rgba(111,133,191,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(111,133,191,.055) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 86%);
}
.auth-layout{
  display:grid; grid-template-columns:minmax(0,1.03fr) minmax(410px,.78fr);
  min-height:670px; overflow:hidden; border:1px solid rgba(105,127,184,.25); border-radius:20px;
  background:rgba(13,19,34,.88); box-shadow:0 35px 95px rgba(0,0,0,.43),inset 0 1px rgba(255,255,255,.03);
}
.auth-story-panel{
  position:relative; display:flex; flex-direction:column; justify-content:space-between; min-width:0; padding:58px 56px 34px;
  background:
    radial-gradient(circle at 70% 24%,rgba(224,171,76,.18),transparent 31%),
    linear-gradient(145deg,rgba(19,29,54,.96),rgba(10,15,29,.95));
  border-right:1px solid rgba(91,109,158,.22);
}
.auth-story-panel:before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.42;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.028) 50%,transparent 72%);
}
.auth-story-content,.auth-story-foot{ position:relative; z-index:1; }
.auth-eyebrow,.security-panel-kicker{
  display:inline-flex; align-items:center; gap:9px; color:var(--gold-soft); font:600 .69rem/1 var(--font-mono);
  letter-spacing:.14em; text-transform:uppercase;
}
.auth-eyebrow>span{ width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 16px rgba(212,162,78,.7); }
.auth-story-panel h1{ max-width:690px; margin:25px 0 19px; color:#f5f7fc; font-size:clamp(2.25rem,4vw,4rem); line-height:1.02; letter-spacing:-.055em; }
.auth-story-panel>div>p,.auth-story-content>p{ max-width:610px; margin:0; color:#aeb9d3; font-size:1rem; line-height:1.8; }
.auth-trust-list{ display:grid; gap:14px; margin-top:38px; max-width:650px; }
.auth-trust-list>div{ display:grid; grid-template-columns:42px 1fr; gap:14px; align-items:center; padding:14px 15px; border:1px solid rgba(93,114,168,.18); border-radius:12px; background:rgba(7,11,21,.32); }
.auth-trust-icon{ display:grid; place-items:center; width:42px;height:42px;border-radius:10px;background:rgba(212,162,78,.1);border:1px solid rgba(212,162,78,.2); }
.auth-trust-icon svg,.auth-step-icon svg,.auth-security-note svg,.session-device-icon svg,.security-status-icon svg{ width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.auth-trust-icon{ color:var(--gold-soft); }
.auth-trust-list strong{ display:block; color:#eef2fb; font-size:.88rem; }
.auth-trust-list small{ display:block; margin-top:4px; color:#7f8ba8; line-height:1.45; }
.auth-story-foot{ display:flex; flex-wrap:wrap; gap:9px 22px; padding-top:28px; border-top:1px solid rgba(96,115,164,.17); color:#77839f; font-size:.72rem; }
.auth-story-foot span:before{ content:"";display:inline-block;width:5px;height:5px;margin:0 8px 1px 0;border-radius:50%;background:var(--gold); }
.auth-form-panel{ display:flex; align-items:center; padding:44px; background:rgba(8,12,23,.84); }
.auth-form-card{ width:100%; max-width:470px; margin:auto; }
.auth-form-brand{ display:flex;align-items:center;gap:10px;margin-bottom:35px;color:#f4f6fb;font-weight:700; }
.auth-form-brand .brand-mark{ display:grid;place-items:center;width:34px;height:34px;border-radius:50%;overflow:hidden;background:var(--gold); }
.auth-form-brand img{ width:100%;height:100%;object-fit:cover; }
.auth-form-heading{ margin-bottom:25px; }
.auth-form-heading h1,.auth-form-heading h2{ margin:8px 0 8px; color:#f4f6fb; font-size:clamp(1.75rem,3vw,2.35rem); line-height:1.12; letter-spacing:-.04em; }
.auth-form-heading p{ margin:0; color:#8c98b5; line-height:1.65; }
.auth-kicker{ color:var(--gold); font:600 .68rem/1 var(--font-mono); letter-spacing:.14em; text-transform:uppercase; }
.auth-step-icon{ display:grid;place-items:center;width:46px;height:46px;margin-bottom:18px;border:1px solid rgba(212,162,78,.25);border-radius:12px;color:var(--gold-soft);background:rgba(212,162,78,.08); }
.auth-form{ display:grid; gap:17px; }
.auth-field{ min-width:0; }
.auth-field>label,.auth-label-row label{ display:block;margin-bottom:8px;color:#ced5e7;font-size:.78rem;font-weight:600; }
.auth-label-row{ display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px; }
.auth-label-row label{ margin:0; }
.auth-label-row>a,.auth-label-row>span{ color:#8996b5;font-size:.73rem; }
.auth-label-row>a:hover{ color:var(--gold-soft); }
.auth-input-wrap{ position:relative;display:flex;align-items:center; }
.auth-input-wrap input,.security-form input,.account-field input{
  width:100%; min-height:50px; border:1px solid #27324f; border-radius:10px; outline:none; color:#eef2fb;
  background:#0b1120; padding:0 46px; font:500 .88rem var(--font-body); transition:border-color .16s,box-shadow .16s,background .16s;
}
.auth-input-wrap input::placeholder,.security-form input::placeholder{ color:#57627c; }
.auth-input-wrap input:focus,.security-form input:focus,.account-field input:focus{ border-color:rgba(212,162,78,.72);box-shadow:0 0 0 3px rgba(212,162,78,.11);background:#0d1426; }
.auth-input-icon{ position:absolute;left:15px;z-index:1;display:grid;place-items:center;color:#667391;pointer-events:none; }
.auth-input-icon svg{ width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.auth-password-toggle{ position:absolute;right:8px;display:grid;place-items:center;width:35px;height:35px;padding:0;border:0;border-radius:8px;color:#7d89a5;background:transparent;cursor:pointer; }
.auth-password-toggle:hover,.auth-password-toggle.is-revealing{ color:var(--gold-soft);background:rgba(212,162,78,.08); }
.auth-password-toggle svg{ width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7; }
.auth-code-wrap input{ font-family:var(--font-mono);letter-spacing:.28em;font-size:1.08rem; }
.auth-check{ display:flex;align-items:flex-start;gap:10px;color:#9da9c3;font-size:.77rem;line-height:1.5;cursor:pointer; }
.auth-check input{ width:16px;height:16px;margin:2px 0 0;accent-color:var(--gold); }
.auth-check a{ color:var(--gold-soft); }
.auth-submit{ min-height:51px!important;border-radius:10px!important;display:flex!important;align-items:center;justify-content:center;gap:10px;font-weight:700!important; }
.auth-submit svg{ width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .15s; }
.auth-submit:hover svg{ transform:translateX(3px); }
.auth-submit.is-loading{ cursor:wait;opacity:.72; }
.auth-secondary-action{ width:100%;min-height:49px;display:flex!important;align-items:center;justify-content:center;border-radius:10px!important; }
.auth-form-divider{ display:flex;align-items:center;gap:12px;margin:22px 0;color:#64708b;font-size:.7rem; }
.auth-form-divider:before,.auth-form-divider:after{ content:"";height:1px;flex:1;background:#202a43; }
.auth-google-form{display:grid;gap:13px;margin:0}
.auth-google-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:51px;padding:0 18px;border:1px solid #35415d;border-radius:10px;background:#f7f8fa;color:#182033;font:700 .86rem var(--font-body);cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.16);transition:transform .15s,border-color .15s,box-shadow .15s,background .15s}
.auth-google-button:hover{transform:translateY(-1px);border-color:#63708a;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.22)}
.auth-google-button:focus-visible{outline:3px solid rgba(212,162,78,.32);outline-offset:2px}
.auth-google-icon{display:grid;place-items:center;width:21px;height:21px;flex:0 0 21px}
.auth-google-icon svg{display:block;width:21px;height:21px}
.auth-provider-divider{margin:18px 0}
.auth-google-register .auth-terms{margin-bottom:2px}
.auth-security-note{ display:flex;gap:9px;align-items:flex-start;margin:21px 0 0;color:#68748e;font-size:.69rem;line-height:1.55; }
.auth-security-note svg{ flex:0 0 auto;width:16px;height:16px;margin-top:1px;color:#8693af; }
.auth-back-link{ display:inline-block;margin-top:19px;color:#9aa6c0;font-size:.78rem; }
.auth-back-link:hover{ color:var(--gold-soft); }
.auth-notice{ display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:12px 13px;border:1px solid;border-radius:10px;font-size:.78rem;line-height:1.5; }
.auth-notice span{ flex:0 0 7px;width:7px;height:7px;margin-top:5px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor; }
.auth-notice p{ margin:0; }
.auth-notice.is-error{ color:#ff9b9b;border-color:rgba(255,109,109,.25);background:rgba(255,82,82,.07); }
.auth-notice.is-success{ color:#8fe2b2;border-color:rgba(89,210,142,.23);background:rgba(70,196,126,.07); }
.auth-notice.is-info{ color:#9bbef9;border-color:rgba(90,139,225,.24);background:rgba(74,119,199,.08); }
.auth-honeypot{ position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important; }
.auth-password-meter{ display:grid;grid-template-columns:repeat(4,1fr) auto;gap:5px;align-items:center;margin-top:9px; }
.auth-password-meter>span{ height:3px;border-radius:10px;background:#252f48;transition:background .18s,box-shadow .18s; }
.auth-password-meter strong{ min-width:65px;text-align:right;color:#78849e;font-size:.66rem;font-weight:600; }
.auth-password-meter[data-score="1"]>span:nth-child(-n+1){background:#d75d61}.auth-password-meter[data-score="1"] strong{color:#e78689}
.auth-password-meter[data-score="2"]>span:nth-child(-n+2){background:#d99349}.auth-password-meter[data-score="2"] strong{color:#e8ad70}
.auth-password-meter[data-score="3"]>span:nth-child(-n+3){background:#d4a24e}.auth-password-meter[data-score="3"] strong{color:var(--gold-soft)}
.auth-password-meter[data-score="4"]>span:nth-child(-n+4){background:#55bf87;box-shadow:0 0 8px rgba(85,191,135,.25)}.auth-password-meter[data-score="4"] strong{color:#7bd3a5}
.auth-password-rules{ display:grid;gap:5px;margin:10px 0 0;padding:0;list-style:none;color:#6f7a95;font-size:.68rem; }
.auth-password-rules li:before{ content:"○";margin-right:7px; }
.auth-password-rules li.is-met{ color:#69c797; }.auth-password-rules li.is-met:before{ content:"✓"; }
.auth-field-status{ display:block;min-height:17px;margin-top:6px;color:#78849f;font-size:.67rem; }
.auth-field-status.is-valid{ color:#69c797; }.auth-field-status.is-invalid{ color:#ee8b8e; }
.auth-benefit-grid{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:36px;max-width:610px; }
.auth-benefit-grid>div{ padding:16px;border:1px solid rgba(100,120,173,.18);border-radius:12px;background:rgba(5,9,18,.26); }
.auth-benefit-grid strong{ display:block;color:var(--gold-soft);font-size:1.28rem; }.auth-benefit-grid span{ display:block;margin-top:4px;color:#7f8aa5;font-size:.72rem; }
.auth-quote{ display:flex;gap:13px;align-items:flex-start;margin-top:22px;padding:17px 18px;border-left:2px solid var(--gold);background:rgba(212,162,78,.05); }
.auth-quote svg{ flex:0 0 auto;width:22px;height:22px;fill:var(--gold);opacity:.68; }.auth-quote p{ margin:0;color:#aab4ca!important;font-size:.82rem!important;line-height:1.55!important; }
.auth-compact-page{ display:grid;place-items:center; }
.auth-compact-layout{ display:grid;place-items:center;min-height:620px; }
.auth-compact-card{ max-width:520px;padding:38px;border:1px solid rgba(95,116,168,.24);border-radius:18px;background:rgba(12,18,33,.94);box-shadow:0 28px 80px rgba(0,0,0,.38); }

/* Account security area */
.account-security-intro{ display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-bottom:20px;padding:26px;border:1px solid rgba(212,162,78,.22);border-radius:15px;background:radial-gradient(circle at 90% 20%,rgba(212,162,78,.11),transparent 35%),#10172a; }
.account-security-intro h2{ margin:8px 0!important; }.account-security-intro p{ margin:0;color:var(--ink-dim);line-height:1.65; }
.security-score{ display:grid;place-items:center;width:112px;height:112px;border-radius:50%;border:1px solid rgba(212,162,78,.28);background:rgba(7,11,21,.52);box-shadow:inset 0 0 0 8px rgba(212,162,78,.035);text-align:center; }
.security-score strong{ display:block;color:var(--gold-soft);font-size:1.55rem; }.security-score span{color:#7d89a4;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}
.security-summary-grid{ display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px; }
.security-summary-card{ display:flex;gap:12px;align-items:center;padding:16px;border:1px solid #222d48;border-radius:12px;background:#0f1628; }
.security-summary-card strong{ display:block;color:#eef2fa;font-size:.82rem; }.security-summary-card span:not(.security-status-icon){display:block;margin-top:3px;color:#74809a;font-size:.67rem}
.security-status-icon{ display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:10px;color:#7a88a7;background:#151e34; }
.security-status-icon.is-good{ color:#6bd09a;background:rgba(68,190,126,.09); }.security-status-icon.is-warn{ color:#e8b86e;background:rgba(212,162,78,.09); }
.security-panel{ margin-top:16px;padding:24px;border:1px solid #222c46;border-radius:14px;background:#0f1628; }
.security-panel-head{ display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:21px; }
.security-panel-head h3{ margin:6px 0 7px!important;font-size:1.2rem!important; }.security-panel-head p{max-width:720px;margin:0;color:#7f8ba6;font-size:.76rem;line-height:1.6}
.security-state-badge{ flex:0 0 auto;padding:7px 10px;border:1px solid #2b3652;border-radius:100px;color:#8d99b4;background:#111a2f;font-size:.65rem;font-weight:700; }
.security-state-badge.is-enabled{ color:#70d39e;border-color:rgba(72,190,128,.28);background:rgba(65,180,120,.07); }
.security-form{ display:grid;gap:15px; }.security-form-grid{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px; }.security-form-grid .is-full{ grid-column:1/-1; }
.security-form label,.account-field label{ display:block;margin-bottom:7px;color:#bcc6dc;font-size:.73rem;font-weight:600; }
.account-form-actions{ display:flex;justify-content:flex-end;margin-top:18px; }
.two-factor-setup-steps{ display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:17px; }
.two-factor-setup-steps>div{ display:flex;gap:10px;padding:13px;border:1px solid #212b44;border-radius:11px;background:#0b1120; }
.two-factor-setup-steps>div>span{ display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:50%;color:#111827;background:var(--gold);font-size:.69rem;font-weight:800; }
.two-factor-setup-steps p{ margin:0;color:#74819c;font-size:.68rem;line-height:1.45; }.two-factor-setup-steps strong{ display:block;color:#dbe1ef;font-size:.72rem;margin-bottom:3px; }
.two-factor-secret{ display:flex;gap:9px;align-items:center;padding:13px;border:1px dashed rgba(212,162,78,.3);border-radius:11px;background:rgba(212,162,78,.045); }
.two-factor-secret>div{ flex:1;min-width:0; }.two-factor-secret span{display:block;color:#8f9ab3;font-size:.64rem}.two-factor-secret code{display:block;margin-top:4px;color:var(--gold-soft);font-size:.8rem;letter-spacing:.08em;word-break:break-all}
.inline-security-form{ grid-template-columns:1fr 1fr auto;align-items:end;margin-top:15px; }.compact-security-form{ padding:17px;border:1px solid #222d48;border-radius:12px;background:#0b1120; }.compact-security-form h4{margin:0;color:#e6eaf4}.compact-security-form p{margin:5px 0 10px;color:#74819b;font-size:.7rem}.compact-security-form.is-danger{border-color:rgba(216,91,95,.22)}
.two-factor-action-grid{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px; }.two-factor-enabled-summary{margin-bottom:15px}.two-factor-enabled-summary>div{display:flex;gap:12px;align-items:center}.two-factor-enabled-summary strong{color:#e8ecf6}.two-factor-enabled-summary p{margin:3px 0 0;color:#78849f;font-size:.72rem}
.recovery-code-panel{ border-color:rgba(212,162,78,.35);background:linear-gradient(145deg,rgba(212,162,78,.08),#0f1628 48%); }.recovery-codes{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0; }.recovery-codes code{padding:10px;border:1px solid #2a354f;border-radius:8px;background:#090f1d;color:#e8c98a;text-align:center;font-size:.75rem;letter-spacing:.08em}
.session-list,.security-activity-list{ display:grid;gap:9px; }.session-item,.security-activity-item{ display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid #202a43;border-radius:10px;background:#0b1120; }
.session-device-icon{ display:grid;place-items:center;width:38px;height:38px;border-radius:9px;color:#8491ae;background:#151e33; }.session-item strong,.security-activity-item strong{color:#dfe5f2;font-size:.76rem}.session-item p,.security-activity-item p{margin:3px 0 0;color:#6f7c98;font-size:.66rem}.session-item>span:last-child,.security-activity-item time{color:#69758f;font-size:.64rem;text-align:right}
.current-session-badge{display:inline-block;margin-left:7px;padding:3px 6px;border-radius:100px;color:#70d19d;background:rgba(67,184,123,.09);font-size:.55rem;text-transform:uppercase;letter-spacing:.07em}.revoke-sessions-form{display:flex;gap:12px;align-items:end;margin-top:15px}.revoke-sessions-form .account-field{flex:1}
.activity-dot{ width:8px;height:8px;border-radius:50%;background:#75819e }.activity-dot.is-success{background:#59c28b;box-shadow:0 0 10px rgba(89,194,139,.35)}.activity-dot.is-failed,.activity-dot.is-blocked{background:#dd6e72}.activity-dot.is-info{background:#6e9ae4}
.account-nav-security svg{ color:#9cabc9; }.account-nav-security.is-active svg{ color:var(--gold)!important; }

@media (prefers-reduced-motion:no-preference){
  .auth-layout,.auth-compact-card{ animation:histriphyAuthEnter .34s ease-out both; }
  @keyframes histriphyAuthEnter{from{opacity:0;transform:translateY(10px) scale(.994)}to{opacity:1;transform:none}}
}
@media (max-width:980px){
  .auth-layout{ grid-template-columns:1fr; }.auth-story-panel{ min-height:auto;padding:38px;border-right:0;border-bottom:1px solid rgba(91,109,158,.22) }.auth-story-panel h1{font-size:2.5rem}.auth-story-foot{display:none}.auth-form-panel{padding:38px}.security-summary-grid{grid-template-columns:1fr}.two-factor-setup-steps{grid-template-columns:1fr}.inline-security-form{grid-template-columns:1fr}.account-security-intro{grid-template-columns:1fr}.security-score{width:90px;height:90px}
}
@media (max-width:680px){
  .auth-shell{ width:min(100% - 22px,1240px);padding:22px 0 38px }.auth-layout{border-radius:14px}.auth-story-panel{padding:27px 23px}.auth-story-panel h1{font-size:2rem}.auth-trust-list{display:none}.auth-form-panel{padding:27px 21px}.auth-form-brand{margin-bottom:24px}.auth-benefit-grid{grid-template-columns:1fr 1fr}.auth-compact-layout{min-height:560px}.auth-compact-card{padding:25px 21px;border-radius:14px}.security-form-grid,.two-factor-action-grid,.recovery-codes{grid-template-columns:1fr}.security-panel{padding:18px}.security-panel-head{display:block}.security-state-badge{display:inline-block;margin-top:12px}.two-factor-secret{align-items:stretch;flex-direction:column}.session-item,.security-activity-item{grid-template-columns:auto 1fr}.session-item>span:last-child,.security-activity-item time{grid-column:2;text-align:left}.revoke-sessions-form{display:grid}.auth-check{font-size:.72rem}
}
/* Template compatibility aliases */
.security-overview-grid{ display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px; }
.security-overview-card{ display:flex;gap:12px;align-items:center;padding:16px;border:1px solid #222d48;border-radius:12px;background:#0f1628; }
.security-overview-card small{ display:block;color:#74809a;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em; }
.security-overview-card strong{ display:block;margin-top:3px;color:#eef2fa;font-size:.86rem; }
.security-overview-card p{ margin:4px 0 0;color:#74809a;font-size:.67rem;line-height:1.45; }
.recovery-codes-panel{ border-color:rgba(212,162,78,.35);background:linear-gradient(145deg,rgba(212,162,78,.08),#0f1628 48%); }
.recovery-code-grid{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px; }
.recovery-code-grid code{ padding:10px;border:1px solid #2a354f;border-radius:8px;background:#090f1d;color:#e8c98a;text-align:center;font-size:.75rem;letter-spacing:.08em; }
.security-password-wrap{ position:relative;display:flex;align-items:center; }
.security-password-wrap input{ padding-right:46px; }
.account-security-shortcut{ display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:18px;padding:15px;border:1px solid #222d48;border-radius:12px;background:#0f1628; }
.account-security-shortcut>div{ display:flex;align-items:center;gap:12px;min-width:0; }
.account-security-shortcut strong{ display:block;color:#e4e9f4;font-size:.78rem;overflow:hidden;text-overflow:ellipsis; }
.account-security-shortcut span:not(.security-status-icon){ display:block;margin-top:4px;color:#74809a;font-size:.66rem; }
@media (max-width:980px){.security-overview-grid{grid-template-columns:1fr}}
@media (max-width:680px){.recovery-code-grid{grid-template-columns:1fr}.account-security-shortcut{align-items:stretch;flex-direction:column}}

/* Authenticator setup repair */
.two-factor-refresh-form{display:inline-flex;margin:0;}
.two-factor-secret{flex-wrap:wrap;}
.two-factor-secret .two-factor-refresh-form .button{white-space:nowrap;}


/* Authenticator QR setup */
.authy-setup-grid{display:grid;grid-template-columns:minmax(270px,.82fr) minmax(0,1.18fr);gap:16px;margin-bottom:18px;}
.authy-qr-card,.authy-manual-card{border:1px solid #212b44;border-radius:14px;background:linear-gradient(145deg,#0b1120,#0d1425);padding:18px;}
.authy-qr-card{position:relative;overflow:hidden;}
.authy-qr-card:before{content:"";position:absolute;inset:-100px auto auto -80px;width:220px;height:220px;border-radius:50%;background:rgba(212,162,78,.10);filter:blur(45px);pointer-events:none;}
.authy-qr-heading{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;}
.authy-qr-heading span:first-child,.authy-manual-kicker{display:block;color:var(--gold);font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.authy-qr-heading strong{display:block;margin-top:3px;color:#eef2fa;font-size:1rem;}
.authy-qr-status{color:#75829e;font-size:.62rem;text-align:right;}
.authy-qr-status.is-ready{color:#8ccfa9;}
.authy-qr-status.is-error{color:#e4a6a6;}
.authy-qr-frame{position:relative;display:grid;place-items:center;width:min(100%,246px);aspect-ratio:1;margin:0 auto;padding:13px;border-radius:13px;background:#fff;box-shadow:0 14px 38px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.08);}
.authy-qr-frame canvas{display:block!important;width:220px!important;height:220px!important;max-width:100%!important;image-rendering:pixelated;}
.authy-qr-frame img{display:none!important;}
.authy-qr-frame svg{display:block;width:220px;height:220px;max-width:100%;}
.authy-qr-frame.is-error:after{content:"QR code could not be generated. Use the manual key instead.";display:grid;place-items:center;height:100%;padding:20px;color:#6e2730;background:#fff;text-align:center;font-size:.72rem;line-height:1.45;}
.authy-qr-warning{position:relative;margin:13px 0 0;color:#8c97ae;font-size:.66rem;line-height:1.5;text-align:center;}
.authy-manual-card h4{margin:5px 0 6px;color:#eef2fa;font-size:1rem;}
.authy-manual-card>p{margin:0 0 15px;color:#7c89a4;font-size:.7rem;line-height:1.55;}
.authy-manual-card .two-factor-secret{margin:0;align-items:center;}
.authy-setup-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;}
@media(max-width:800px){.authy-setup-grid{grid-template-columns:1fr}.authy-qr-frame{width:min(100%,230px)}}

/* Editorial About and License pages */
.editorial-hero{position:relative;overflow:hidden;border-top:0;border-bottom:1px solid var(--border-soft);padding:86px 0 70px;background:radial-gradient(circle at 78% 20%,rgba(221,166,67,.10),transparent 28%),linear-gradient(180deg,rgba(19,27,48,.42),rgba(10,14,24,0));}
.editorial-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(130,150,190,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(130,150,190,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#000,transparent 88%);}
.editorial-shell{position:relative;z-index:1;max-width:1120px;}
.editorial-eyebrow,.editorial-label{display:block;color:var(--gold);font-family:var(--font-mono);font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;}
.editorial-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:72px;align-items:end;margin-top:22px;}
.editorial-hero h1{max-width:760px;margin:0;color:var(--ink);font-family:var(--font-display);font-size:clamp(2.55rem,5.2vw,4.75rem);line-height:.98;letter-spacing:-.045em;}
.editorial-hero-grid>div:first-child>p{max-width:720px;margin:28px 0 0;color:var(--ink-dim);font-size:1.04rem;line-height:1.8;}
.editorial-hero-note{padding:24px 25px;border:1px solid rgba(221,166,67,.25);border-radius:16px;background:linear-gradient(145deg,rgba(221,166,67,.09),rgba(15,22,40,.86));box-shadow:0 22px 60px rgba(0,0,0,.22);}
.editorial-hero-note strong{display:block;color:var(--ink);font-size:.92rem;}
.editorial-hero-note p{margin:10px 0 0;color:var(--ink-dim);font-size:.83rem;line-height:1.65;}
.editorial-section{padding:76px 0 96px;}
.editorial-intro-grid{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:72px;padding-bottom:62px;}
.editorial-intro-grid h2,.editorial-process-panel h2,.editorial-cta h2,.license-content h2,.license-summary-card h2{margin:10px 0 0;color:var(--ink);font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.1;letter-spacing:-.025em;}
.editorial-copy{color:var(--ink-dim);font-size:.95rem;line-height:1.85;}
.editorial-copy p{margin:0 0 18px;}
.editorial-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:12px 0 68px;}
.editorial-value-card{position:relative;min-height:245px;padding:29px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(150deg,rgba(20,29,52,.96),rgba(12,18,33,.96));box-shadow:0 18px 45px rgba(0,0,0,.14);}
.editorial-card-number{display:block;color:rgba(221,166,67,.7);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;}
.editorial-value-card h3{margin:50px 0 12px;color:var(--ink);font-family:var(--font-display);font-size:1.2rem;}
.editorial-value-card p{margin:0;color:var(--ink-dim);font-size:.82rem;line-height:1.7;}
.editorial-process-panel{display:grid;grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);gap:70px;padding:38px;border:1px solid var(--border);border-radius:18px;background:radial-gradient(circle at 10% 10%,rgba(221,166,67,.08),transparent 34%),#0f1628;}
.editorial-process-list{display:grid;gap:0;margin:0;padding:0;list-style:none;}
.editorial-process-list li{display:grid;grid-template-columns:38px 1fr;gap:16px;padding:19px 0;border-bottom:1px solid rgba(129,147,183,.13);}
.editorial-process-list li:last-child{border-bottom:0;}
.editorial-process-list li>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(221,166,67,.4);border-radius:50%;color:var(--gold);font-family:var(--font-mono);font-size:.68rem;}
.editorial-process-list strong{display:block;color:var(--ink);font-size:.88rem;}
.editorial-process-list p{margin:5px 0 0;color:var(--ink-dim);font-size:.76rem;line-height:1.55;}
.editorial-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:28px;padding:34px 38px;border:1px solid rgba(221,166,67,.28);border-radius:18px;background:linear-gradient(105deg,rgba(221,166,67,.10),rgba(16,23,41,.94) 48%);}
.editorial-cta h2{font-size:1.75rem;}
.editorial-cta p{max-width:620px;margin:10px 0 0;color:var(--ink-dim);font-size:.84rem;line-height:1.65;}
.license-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:32px;align-items:start;}
.license-summary-card{position:sticky;top:110px;padding:28px;border:1px solid rgba(221,166,67,.26);border-radius:16px;background:linear-gradient(150deg,rgba(221,166,67,.09),#0f1628 48%);}
.license-summary-card h2{font-size:1.65rem;}
.license-summary-card p{margin:16px 0 0;color:var(--ink-dim);font-size:.78rem;line-height:1.7;}
.license-summary-card a{display:inline-block;margin-top:24px;color:var(--gold);font-size:.75rem;font-weight:700;}
.license-content{display:grid;gap:18px;}
.license-rule-card{display:grid;grid-template-columns:44px 1fr;gap:19px;padding:30px;border:1px solid var(--border);border-radius:16px;background:#10172a;}
.license-rule-card.is-allowed{border-color:rgba(82,190,133,.25);}
.license-rule-card.is-restricted{border-color:rgba(220,105,105,.24);}
.license-rule-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:rgba(82,190,133,.10);color:#75d7a2;font-size:1.1rem;font-weight:800;}
.license-rule-card.is-restricted .license-rule-icon{background:rgba(220,105,105,.10);color:#ef9b9b;}
.license-rule-card h2,.license-attribution-card h2{font-size:1.5rem;}
.license-rule-card ul{display:grid;gap:10px;margin:18px 0 0;padding-left:18px;color:var(--ink-dim);font-size:.78rem;line-height:1.65;}
.license-attribution-card{padding:32px;border:1px solid rgba(221,166,67,.28);border-radius:16px;background:radial-gradient(circle at 85% 0,rgba(221,166,67,.11),transparent 30%),#10172a;}
.license-attribution-card>p{max-width:720px;margin:13px 0 0;color:var(--ink-dim);font-size:.8rem;line-height:1.65;}
.license-credit-box{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:16px 18px;border:1px solid rgba(221,166,67,.28);border-radius:10px;background:#080e1a;}
.license-credit-box code{color:#f1d08c;font-family:var(--font-mono);font-size:.77rem;}
.license-copy-button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 13px;border:1px solid var(--border);border-radius:8px;background:#111a2e;color:var(--ink-dim);font:inherit;font-size:.7rem;font-weight:700;cursor:pointer;}
.license-copy-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;}
.license-copy-button:hover,.license-copy-button.is-copied{border-color:rgba(221,166,67,.55);color:var(--gold);}
.license-fine-print{font-size:.7rem!important;}
.license-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.license-detail-grid article{padding:25px;border:1px solid var(--border);border-radius:14px;background:#0f1628;}
.license-detail-grid h3{margin:10px 0 9px;color:var(--ink);font-size:.97rem;}
.license-detail-grid p{margin:0;color:var(--ink-dim);font-size:.75rem;line-height:1.65;}
.license-notice{display:grid;grid-template-columns:90px 1fr;gap:18px;padding:22px 25px;border:1px solid var(--border);border-radius:13px;background:rgba(10,15,28,.68);}
.license-notice strong{color:var(--ink);font-size:.78rem;}
.license-notice p{margin:0;color:var(--ink-dim);font-size:.72rem;line-height:1.6;}
.country-data-row small a{color:var(--gold);text-decoration:none;}
.country-data-row small a:hover{text-decoration:underline;}
.geo-builder-add-country-button{border-color:rgba(221,166,67,.42);color:#f0c66e;background:rgba(221,166,67,.07);}
.geo-builder-add-country-button:hover{border-color:rgba(221,166,67,.72)!important;background:rgba(221,166,67,.13)!important;}
@media(max-width:980px){
  .editorial-hero-grid,.editorial-intro-grid,.editorial-process-panel,.license-layout{grid-template-columns:1fr;gap:34px}.editorial-hero-note{max-width:520px}.editorial-value-grid{grid-template-columns:1fr}.editorial-value-card{min-height:0}.editorial-value-card h3{margin-top:28px}.license-summary-card{position:static}.license-detail-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .editorial-hero{padding:58px 0 48px}.editorial-section{padding:50px 0 70px}.editorial-hero h1{font-size:2.65rem}.editorial-process-panel,.editorial-cta,.license-rule-card,.license-attribution-card{padding:23px}.editorial-cta{align-items:flex-start;flex-direction:column}.license-rule-card{grid-template-columns:1fr}.license-credit-box{align-items:stretch;flex-direction:column}.license-copy-button{justify-content:center}.license-notice{grid-template-columns:1fr}
}

/* ========================================================================== 
   MOBILE QUALITY PASS 19.12
   Touch-first layout, responsive comparison tables, safer drawers, and
   performance-conscious map presentation for phones and small tablets.
   ========================================================================== */
html,body{max-width:100%;overflow-x:hidden;overflow-x:clip}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
@media (hover:none) and (pointer:coarse){
  .button,.submit-link,.mobile-nav a,.map-card-actions a,.map-card-actions button,.map-search-submit,.map-search-reset,.country-compare-picker button,.account-nav a,.account-logout{min-height:44px}
  .button:hover,.map-related-card:hover,.license-benefit-item:hover{transform:none}
}
@media (max-width:980px){
  body.histriphy-mobile-menu-open{overflow:hidden}
  .site-header{z-index:10001;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .header-inner{height:66px;padding-left:18px;padding-right:18px}
  .brand-name{font-size:1.08rem}
  .brand-mark{width:30px;height:30px}
  .menu-button{border:1px solid var(--border);border-radius:9px;background:rgba(16,22,42,.72)}
  .histriphy-mobile-menu-open .mobile-nav,.site-shell:has(#menu-toggle:checked)>.mobile-nav{display:flex}
  .mobile-nav{position:fixed;z-index:10000;left:0;right:0;top:66px;height:calc(var(--histriphy-mobile-vh,100dvh) - 66px);max-height:calc(var(--histriphy-mobile-vh,100dvh) - 66px);overflow-y:auto;overscroll-behavior:contain;padding:12px 20px calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--border-soft);background:#080c16;box-shadow:0 24px 70px rgba(0,0,0,.65);-webkit-overflow-scrolling:touch}
  .admin-bar .mobile-nav{top:98px;height:calc(var(--histriphy-mobile-vh,100dvh) - 98px);max-height:calc(var(--histriphy-mobile-vh,100dvh) - 98px)}
  .mobile-nav>a,.mobile-nav>li>a,.mobile-nav>.nav-dropdown>.nav-dropdown-label,.mobile-nav>li.nav-dropdown>.nav-dropdown-label{min-height:56px;display:flex;align-items:center;font-size:1.05rem}
  .mobile-nav>li{display:block;flex:0 0 auto;width:100%}
  .mobile-nav>li>a{padding:12px 0;color:var(--ink-dim);border-bottom:1px solid var(--border-soft)}
  .mobile-nav .sub-menu{display:grid;gap:2px;padding:4px 0 10px 16px;border-bottom:1px solid var(--border-soft)}
  .mobile-nav .sub-menu a{display:flex;align-items:center;min-height:44px;padding:8px 0;color:var(--ink-faint);font-size:.94rem}
  .mobile-nav .nav-dropdown-menu{padding:0 0 10px 14px}
  .mobile-nav .nav-dropdown-menu a{min-height:44px;display:flex;align-items:center}
  .mobile-account-link{color:var(--ink)!important;font-weight:700}
  .mobile-submit{margin-top:10px;border:1px solid rgba(212,162,78,.45)!important;border-radius:9px;padding:0 16px!important;justify-content:center;background:var(--gold);color:var(--bg)!important}
  .section-inner,.footer-inner{padding-left:20px;padding-right:20px}
}
@media (max-width:782px){.admin-bar .mobile-nav{top:112px;height:calc(var(--histriphy-mobile-vh,100dvh) - 112px);max-height:calc(var(--histriphy-mobile-vh,100dvh) - 112px)}}
@media (max-width:760px){
  body{font-size:15px}
  .section-inner,.footer-inner{padding-left:16px;padding-right:16px}
  .section-heading{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:28px}
  .hero{min-height:0}
  .hero-map{height:280px}
  .hero-copy{padding:36px 0 46px}
  .hero-copy-inner{padding:0 18px}
  .hero-buttons{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-buttons .button{justify-content:center;width:100%}
  .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .cta-card{padding:28px 22px}
  .cta-card .button{width:100%;justify-content:center}
}

/* Library and map cards */
@media (max-width:760px){
  .map-library-page{--library-wide:100%}
  .map-library-top-inner,.map-results-inner{padding-left:14px;padding-right:14px}
  .map-library-hero{padding-top:36px}
  .map-library-heading{font-size:clamp(2rem,11vw,3rem);line-height:1.02}
  .map-library-description{font-size:.86rem}
  .library-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .library-stat-card{min-height:82px;padding:13px 12px}
  .library-stat-card strong{font-size:1.05rem}
  .map-search-form{padding:14px}
  .map-filter-grid{grid-template-columns:1fr!important;gap:12px}
  .map-filter-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .map-filter-actions .button{width:100%;justify-content:center}
  .map-library-tabs{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .map-library-tabs::-webkit-scrollbar{display:none}
  .map-library-tab{scroll-snap-align:start;min-height:48px;white-space:nowrap}
  .map-cards,.map-results-grid{grid-template-columns:1fr!important;gap:12px}
  .map-card{min-height:0}
  .map-card-preview{height:210px}
  .map-card-body{padding:14px}
  .map-card-title{font-size:1.08rem}
  .map-card-actions{display:grid;grid-template-columns:1fr 1.12fr;gap:8px}
  .map-card-actions .button,.map-card-actions a{width:100%;min-width:0;justify-content:center;padding-left:10px;padding-right:10px}
  .map-results-footer{grid-template-columns:1fr;align-items:stretch;gap:13px}
  .map-results-footer-summary{width:100%;text-align:center}
  .map-pagination{width:100%;justify-content:center;overflow-x:auto;padding-bottom:3px}
}
@media (max-width:390px){
  .library-stat-grid{grid-template-columns:1fr}
  .map-filter-actions,.map-card-actions{grid-template-columns:1fr}
  .map-card-preview{height:190px}
}

/* Single map details */
@media (max-width:680px){
  .map-detail-hero-v19{padding:28px 0 36px}
  .map-detail-hero-grid-v19{gap:24px}
  .map-hero-copy-v19 h1{font-size:clamp(2.35rem,14vw,4rem);overflow-wrap:anywhere}
  .map-hero-actions-v19{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .map-hero-actions-v19 .button{width:100%;justify-content:center;padding-left:10px;padding-right:10px}
  .map-detail-preview{height:300px}
  .map-quick-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
  .map-quick-stats>div{padding:0 7px}
  .map-quick-stats strong{font-size:.82rem;overflow-wrap:anywhere}
  .map-section-card-v19{padding:21px 17px}
  .map-section-heading-split{align-items:flex-start;flex-direction:column;gap:6px}
  .map-section-heading-split>p{text-align:left;max-width:none}
  .map-context-grid,.map-related-grid,.map-compare-grid{grid-template-columns:1fr!important}
  .map-facts-card-v19 dt,.map-facts-card-v19 dd,.map-technical-details dt,.map-technical-details dd{max-width:none;text-align:left}
  .map-facts-card-v19>div,.map-technical-details>div{align-items:flex-start;flex-direction:column;gap:5px}
  .guest-limit-modal-box{width:calc(100% - 24px);padding:26px 19px;border-radius:16px}
}
@media (max-width:430px){
  .map-hero-actions-v19{grid-template-columns:1fr}
  .map-detail-preview{height:250px}
  .map-quick-stats{grid-template-columns:1fr;border-top:1px solid var(--border-soft)}
  .map-quick-stats>div{padding:12px 0;border-left:0;border-bottom:1px solid var(--border-soft);text-align:left}
}

/* Dedicated country comparison */
@media (max-width:720px){
  .country-compare-hero{padding:34px 0 26px}
  .country-compare-heading h1{font-size:clamp(2rem,10vw,3rem)}
  .country-compare-picker{grid-template-columns:1fr!important;gap:10px;padding:14px}
  .country-picker-versus{width:38px;height:38px;margin:auto;transform:none}
  .country-compare-picker .button{width:100%;justify-content:center}
  .country-map-grid{grid-template-columns:1fr!important;gap:14px}
  .country-map-panel-head{padding:15px}
  .country-compare-preview{height:250px}
  .country-data-comparison{padding:20px 14px}
  .country-data-table{display:block;border:0;background:transparent}
  .country-data-header{display:none!important}
  .country-data-row{display:block!important;margin-bottom:12px;padding:14px;border:1px solid var(--border-soft);border-radius:10px;background:#0e1628}
  .country-data-row:last-child{margin-bottom:0}
  .country-data-label{padding:0 0 10px!important;border:0!important;color:var(--gold)!important;font-size:.72rem!important}
  .country-data-row>div[role="cell"]{position:relative;display:block;padding:10px 0 10px 42%!important;border:0!important;border-top:1px solid rgba(129,147,183,.11)!important;min-height:45px;text-align:left!important;overflow-wrap:anywhere}
  .country-data-row>div[role="cell"]:before{content:attr(data-country);position:absolute;left:0;top:10px;width:38%;color:var(--ink-faint);font-size:.66rem;font-weight:700;line-height:1.35}
  .country-data-row small{display:block;margin-top:5px}
  .country-data-source-note{font-size:.68rem;line-height:1.55}
}

/* Account, forms, and security */
@media (max-width:680px){
  .account-page-v2{padding-top:20px}
  .account-hero-v2{padding:20px 16px}
  .account-hero-profile{align-items:flex-start;flex-direction:column}
  .account-layout-v2{gap:16px}
  .account-sidebar-v2{position:static;padding:10px;overflow-x:auto;scrollbar-width:none}
  .account-sidebar-v2::-webkit-scrollbar{display:none}
  .account-sidebar-v2 .account-nav{display:flex;flex-direction:row;gap:6px;min-width:max-content}
  .account-sidebar-v2 .account-nav a,.account-sidebar-v2 .account-nav form{flex:0 0 auto}
  .account-sidebar-v2 .account-nav a,.account-sidebar-v2 .account-logout{min-height:44px;padding:10px 13px;white-space:nowrap}
  .account-section-card{padding:20px 15px}
  .account-section-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .account-form-grid,.security-overview-grid,.security-panel-grid,.profile-settings-grid{grid-template-columns:1fr!important}
  .account-form-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .account-form-actions .button{width:100%;min-width:0;justify-content:center}
  .session-item{align-items:flex-start;grid-template-columns:auto 1fr!important}
  .session-item>span:last-child{grid-column:1/-1;width:100%;padding-left:46px;text-align:left!important}
  .auth-shell{min-height:0;grid-template-columns:1fr}
  .auth-story-panel{display:none}
  .auth-form-panel{min-height:calc(100dvh - 66px);padding:28px 16px calc(34px + env(safe-area-inset-bottom))}
  .auth-form-card,.auth-compact-card{max-width:none;padding:25px 18px;border-radius:15px}
  .auth-benefit-grid{grid-template-columns:1fr}
  .authy-setup-grid{gap:14px}
  .authy-qr-card,.authy-manual-card{padding:18px 14px}
  .authy-qr-frame{width:min(100%,220px)}
  .two-factor-secret{align-items:stretch;flex-direction:column}
  .two-factor-secret button{width:100%}
}

/* About, license, footer, and modals */
@media (max-width:680px){
  .editorial-shell{padding-left:16px;padding-right:16px}
  .editorial-hero-grid>div:first-child>p{font-size:.92rem;line-height:1.7}
  .editorial-hero-note{padding:19px}
  .editorial-value-card{padding:23px}
  .editorial-process-list li{grid-template-columns:32px 1fr;gap:12px}
  .license-modal-overlay{align-items:flex-end;padding:10px 10px 0}
  .license-modal-box{width:100%;max-height:92dvh;padding:27px 18px calc(22px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}
  .license-modal-intro{grid-template-columns:1fr;gap:12px}
  .license-modal-icon{width:50px;height:50px}
  .license-modal-actions{position:sticky;bottom:0;margin:18px -18px -22px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(9,14,26,.05),rgba(9,14,26,.98) 24%)}
  .footer-inner{align-items:flex-start;flex-direction:column;gap:24px}
  .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px 18px}
}

/* Avoid expensive overview animation and remote world-atlas work on small phones. */
@media (max-width:639px){.map-detail-preview[data-country-zoom="1"] .map-preview-svg{will-change:auto}}


/* ================= SIMPLE ABOUT AND SUBMIT PAGES ================= */
.simple-page-shell{max-width:960px}
.simple-page-hero{padding:88px 0 42px;border-bottom:1px solid var(--border-soft)}
.simple-page-hero .kicker,.simple-submit-header .kicker{margin-bottom:20px}
.simple-page-hero h1,.simple-submit-header h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 20px;max-width:760px}
.simple-page-hero p,.simple-submit-header p{font-size:1.12rem;color:var(--ink-dim);max-width:720px;margin:0;line-height:1.7}
.simple-about-content{padding:48px 0 88px}
.simple-about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.simple-about-grid article{padding:26px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(145deg,rgba(19,26,48,.96),rgba(13,19,34,.96))}
.simple-about-grid h2{font-size:1.12rem;margin:0 0 9px}
.simple-about-grid p{color:var(--ink-dim);font-size:.94rem;line-height:1.65;margin:0}
.simple-about-story{max-width:760px;padding:64px 0 48px}
.simple-about-story h2{font-size:1.8rem;margin:0 0 14px}
.simple-about-story p{color:var(--ink-dim);font-size:1.02rem;line-height:1.75;margin:0}
.simple-page-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px;border:1px solid rgba(212,162,78,.32);border-radius:12px;background:linear-gradient(135deg,rgba(212,162,78,.08),rgba(19,26,48,.96))}
.simple-page-cta h2{font-size:1.4rem;margin:0 0 6px}
.simple-page-cta p{color:var(--ink-dim);margin:0}
.simple-page-cta .button{flex:0 0 auto}

.simple-submit-section{padding:72px 0 96px}
.simple-submit-shell{max-width:760px}
.simple-submit-header{margin-bottom:34px}
.simple-submit-header h1{font-size:clamp(2.5rem,6vw,4rem)}
.simple-submit-card{padding:30px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(145deg,rgba(19,26,48,.98),rgba(13,19,34,.98));box-shadow:0 22px 60px rgba(0,0,0,.18)}
.simple-submit-login{text-align:center}
.simple-submit-login h2{margin:0 0 8px;font-size:1.35rem}
.simple-submit-login p{margin:0 0 24px;color:var(--ink-dim)}
.simple-submit-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.simple-submit-form{display:flex;flex-direction:column;gap:23px}
.simple-form-field label,.simple-form-fieldset legend{display:block;font-size:.84rem;font-weight:700;color:var(--ink);margin-bottom:8px}
.simple-form-field input[type=text]{width:100%;height:48px;padding:0 14px;border:1px solid var(--border);border-radius:8px;background:#0f1629;color:var(--ink);font:inherit;outline:none}
.simple-form-field input[type=text]:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,162,78,.09)}
.simple-form-field-small{max-width:320px}
.simple-form-field small,.simple-form-fieldset small{display:block;color:var(--ink-faint);font-size:.78rem;margin-top:7px}
.simple-form-fieldset{border:0;padding:0;margin:0;min-width:0}
.simple-category-picker{gap:9px}
.simple-category-picker .category-chip span{min-height:42px;padding:10px 15px}
.simple-file-upload{min-height:58px;border-radius:8px;background:#0f1629}
.simple-submit-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:7px}
.simple-submit-footer>span{color:var(--ink-dim);font-size:.86rem}
.simple-submit-footer strong{color:var(--ink)}
.simple-submit-footer .button{min-width:190px;justify-content:center}
.simple-form-notice{padding:14px 16px;border:1px solid rgba(81,197,141,.35);border-radius:9px;background:rgba(34,122,81,.1);color:#c9f6df;margin-bottom:18px}
.simple-form-notice.is-error{border-color:rgba(214,88,77,.4);background:rgba(214,88,77,.08);color:#ffd1ce}

@media(max-width:760px){
  .simple-page-hero,.simple-submit-section{padding-top:52px}
  .simple-page-hero h1,.simple-submit-header h1{font-size:2.55rem}
  .simple-about-grid{grid-template-columns:1fr}
  .simple-about-story{padding:46px 0 36px}
  .simple-page-cta{align-items:flex-start;flex-direction:column;padding:24px}
  .simple-page-cta .button{width:100%;justify-content:center}
  .simple-submit-card{padding:22px}
  .simple-submit-footer{align-items:stretch;flex-direction:column}
  .simple-submit-footer .button{width:100%}
  .simple-form-field-small{max-width:none}
}


/* Theme 19.12.2: simplified military comparison attribution */
.country-data-source-note .country-data-credit{
  display:inline;
  margin-left:.35em;
  color:inherit;
  opacity:.72;
  white-space:normal;
}
.country-data-source-note .country-data-credit a{
  color:inherit;
  text-decoration:underline;
  text-decoration-color:rgba(142,158,190,.35);
  text-underline-offset:2px;
}
.country-data-source-note .country-data-credit a:hover{
  color:var(--gold);
  text-decoration-color:currentColor;
}


/* Theme 19.12.3: expanded country comparison without duplicate rows */
.country-data-section-row{
  display:grid;
  grid-template-columns:1fr;
  background:linear-gradient(90deg,rgba(212,162,78,.13),rgba(212,162,78,.035));
  border-top:1px solid rgba(212,162,78,.22);
}
.country-data-section-row>div{
  grid-column:1/-1;
  padding:11px 16px;
  color:var(--gold-soft);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.country-data-section-row:first-of-type{border-top:0}
.country-data-row>div[role="cell"]{overflow-wrap:anywhere}
@media (max-width:700px){
  .country-data-section-row{display:block;margin:20px 0 8px;border:0;background:transparent}
  .country-data-section-row:first-of-type{margin-top:0}
  .country-data-section-row>div{padding:0 2px 7px;border-bottom:1px solid rgba(212,162,78,.22);font-size:.68rem}
}

/* Theme 19.12.4: stable detail and compare map rendering */
.map-detail-preview .map-preview-svg .base-countries path,
.country-compare-preview .map-preview-svg .base-countries path{
  fill:none;
  stroke:#65779f;
  stroke-opacity:.42;
  stroke-width:.85;
  vector-effect:non-scaling-stroke;
}
.map-detail-preview.is-ready .map-final-stage,
.country-compare-preview.is-ready .map-final-stage{
  animation:histriphy-final-map-reveal .38s ease-out both;
}
@keyframes histriphy-final-map-reveal{
  from{opacity:0}
  to{opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .map-detail-preview.is-ready .map-final-stage,
  .country-compare-preview.is-ready .map-final-stage{animation:none}
}
.map-detail-preview,
.country-compare-preview{
  background-color:#0b1220;
  background-image:
    radial-gradient(circle at 50% 48%,rgba(212,162,78,.10),transparent 34%),
    linear-gradient(rgba(112,134,183,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(112,134,183,.045) 1px,transparent 1px);
  background-size:auto,44px 44px,44px 44px;
}

/* Theme 19.12.5: focused polish and simpler public pages */
.home-submit-section{padding-top:34px;padding-bottom:82px}
.home-submit-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  padding:34px 40px;
  border:1px solid rgba(212,162,78,.42);
  border-radius:14px;
  background:
    radial-gradient(circle at 85% 45%,rgba(212,162,78,.09),transparent 28%),
    linear-gradient(145deg,rgba(17,25,43,.98),rgba(12,18,31,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 24px 70px rgba(0,0,0,.2);
}
.home-submit-card h2{margin:0 0 8px;font-size:1.45rem}
.home-submit-card p{margin:0;color:var(--ink-dim);font-size:1rem}
.home-submit-card .button{min-width:182px;justify-content:center}

.data-policy-simple{border-top:0;padding:72px 0 92px}
.data-policy-inner{max-width:920px}
.data-policy-inner>h1{margin:18px 0 14px;font-size:clamp(2.2rem,5vw,3.7rem);line-height:1.04;letter-spacing:-.045em}
.data-policy-lead{max-width:720px;margin:0;color:var(--ink-dim);font-size:1.05rem;line-height:1.75}
.data-policy-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:34px 0 24px}
.data-policy-cards article{padding:24px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(145deg,rgba(18,27,48,.96),rgba(13,20,35,.96))}
.data-policy-cards h2{margin:0 0 8px;font-size:1rem}
.data-policy-cards p{margin:0;color:var(--ink-dim);font-size:.9rem;line-height:1.65}
.data-policy-note{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 28px;border:1px solid rgba(212,162,78,.3);border-radius:12px;background:rgba(212,162,78,.04)}
.data-policy-note h2{margin:0 0 7px;font-size:1.25rem}
.data-policy-note p{margin:0;color:var(--ink-dim)}
.data-policy-actions{display:flex;gap:10px;flex:0 0 auto}

.map-hero-preview.is-country-zooming .map-overview-stage{opacity:1}
.map-hero-preview.is-country-zooming .map-final-stage{animation:none}

@media (max-width:760px){
  .home-submit-card{align-items:flex-start;flex-direction:column;padding:26px}
  .home-submit-card .button{width:100%}
  .data-policy-cards{grid-template-columns:1fr}
  .data-policy-note{align-items:flex-start;flex-direction:column}
  .data-policy-actions{width:100%;flex-direction:column}
  .data-policy-actions .button{width:100%;justify-content:center}
}

/* Theme 19.12.8: Custom map category support */
.simple-submit-shell-wide{max-width:1040px}
.submit-mode-switch{display:inline-flex;gap:5px;padding:5px;margin:0 0 18px;border:1px solid var(--border);border-radius:10px;background:#0d1426}
.submit-mode-button{min-height:42px;padding:0 20px;border:0;border-radius:7px;background:transparent;color:var(--ink-dim);font-weight:700}
.submit-mode-button:hover{color:var(--ink)}
.submit-mode-button.is-active{background:var(--gold);color:#111522;box-shadow:0 8px 24px rgba(212,162,78,.17)}
.submit-mode-panel{display:none}
.submit-mode-panel.is-active{display:block}
.submission-category-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:16px;align-items:start}
.submission-select{width:100%;min-height:48px;padding:0 40px 0 13px;border:1px solid var(--border);border-radius:8px;background:#0f1629;color:var(--ink);font:inherit;outline:none}
.submission-select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,162,78,.09)}
.submission-multi-select{position:relative;border:1px solid var(--border);border-radius:8px;background:#0f1629;color:var(--ink)}
.submission-multi-select[open]{border-color:rgba(212,162,78,.55);box-shadow:0 14px 40px rgba(0,0,0,.25)}
.submission-multi-select summary{display:flex;align-items:center;min-height:48px;padding:10px 38px 10px 13px;cursor:pointer;list-style:none;color:var(--ink-dim);font-size:.88rem;position:relative}
.submission-multi-select summary::-webkit-details-marker{display:none}
.submission-multi-select summary:after{content:'⌄';position:absolute;right:14px;top:50%;transform:translateY(-54%);color:var(--ink-faint);font-size:1rem}
.submission-multi-select[open] summary:after{transform:translateY(-44%) rotate(180deg)}
.submission-multi-options{display:grid;gap:8px;padding:11px 13px 13px;border-top:1px solid var(--border-soft);max-height:220px;overflow:auto}
.submission-multi-options label{display:flex;gap:9px;align-items:flex-start;margin:0;color:var(--ink-dim);font-size:.86rem;cursor:pointer}
.submission-multi-options label:hover{color:var(--ink)}
.submission-multi-options input{margin-top:2px;accent-color:var(--gold)}
.submission-multi-options input:disabled+span{opacity:.4}
.simple-form-notice.is-warning{border-color:rgba(212,162,78,.4);background:rgba(212,162,78,.08);color:#ffe4af}
.simple-form-notice>strong,.simple-form-notice>span{display:block}
.batch-result-errors{margin:10px 0 0;padding-left:18px;list-style:disc;color:inherit}
.batch-result-errors li{margin:4px 0}
.batch-submit-form{display:flex;flex-direction:column;gap:22px}
.batch-upload-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:24px;align-items:center}
.batch-upload-intro h2{margin:0 0 7px;font-size:1.25rem}
.batch-upload-intro p{margin:0;color:var(--ink-dim);font-size:.92rem;line-height:1.6}
.batch-file-upload{width:100%}
.batch-defaults{padding:20px;border:1px solid rgba(212,162,78,.24);border-radius:10px;background:rgba(212,162,78,.035)}
.batch-defaults-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:17px}
.batch-defaults-head strong,.batch-defaults-head span{display:block}
.batch-defaults-head strong{font-size:1rem}
.batch-defaults-head span{margin-top:3px;color:var(--ink-faint);font-size:.78rem}
.batch-defaults-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.3fr);gap:14px;align-items:start}
.batch-defaults-grid>label>span,.batch-defaults-grid>div>span,.batch-row-fields label>span,.batch-row-additional>span{display:block;margin-bottom:7px;color:var(--ink-dim);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
.batch-defaults-grid input:not([type="checkbox"]):not([type="radio"]),.batch-row-fields input:not([type="checkbox"]):not([type="radio"]){width:100%;min-height:46px;padding:0 13px;border:1px solid var(--border);border-radius:8px;background:#0f1629;color:var(--ink);font:inherit;outline:none}
.batch-defaults-grid input:not([type="checkbox"]):not([type="radio"]):focus,.batch-row-fields input:not([type="checkbox"]):not([type="radio"]):focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,162,78,.09)}
.batch-review-empty{display:flex;align-items:center;justify-content:center;min-height:160px;padding:28px;border:1px dashed var(--border);border-radius:10px;color:var(--ink-faint);text-align:center}
.batch-review-list{display:grid;gap:13px}
.batch-review-row{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#0d1425}
.batch-row-file{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 16px;border-bottom:1px solid var(--border-soft);background:rgba(255,255,255,.018)}
.batch-row-file>div{min-width:0}
.batch-row-file span,.batch-row-file strong,.batch-row-file small{display:block}
.batch-row-file span{color:var(--gold);font-family:var(--font-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}
.batch-row-file strong{margin-top:2px;overflow:hidden;color:var(--ink);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}
.batch-row-file small{margin-top:2px;color:var(--ink-faint);font-size:.7rem}
.batch-remove-file{min-height:36px;padding:0 11px;border:1px solid rgba(214,88,77,.3);border-radius:6px;background:transparent;color:#ef9d96;font-size:.75rem;font-weight:700}
.batch-remove-file:hover{background:rgba(214,88,77,.08)}
.batch-row-fields{display:grid;grid-template-columns:minmax(170px,1.25fr) minmax(130px,.65fr) minmax(160px,.85fr) minmax(220px,1.2fr);gap:13px;padding:16px;align-items:start}
.batch-row-additional{min-width:0}
.batch-row-fields .submission-select,.batch-row-fields .submission-multi-select summary{min-height:46px}
.batch-submit-footer{padding-top:2px}

@media(max-width:900px){
  .batch-upload-intro{grid-template-columns:1fr}
  .batch-defaults-grid{grid-template-columns:1fr 1fr}
  .batch-defaults-grid>div:last-child{grid-column:1/-1}
  .batch-row-fields{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .simple-submit-shell-wide{width:100%}
  .submit-mode-switch{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .submit-mode-button{padding:0 12px}
  .submission-category-grid,.batch-defaults-grid,.batch-row-fields{grid-template-columns:1fr}
  .batch-defaults-grid>div:last-child{grid-column:auto}
  .batch-defaults-head{align-items:stretch;flex-direction:column}
  .batch-defaults-head .button{width:100%;justify-content:center}
  .batch-row-file{align-items:flex-start}
  .batch-row-file strong{white-space:normal;word-break:break-word}
  .batch-submit-form.simple-submit-card{padding:18px}
}


/* Theme 19.12.9: clean file selection and compact multi-category controls */
.simple-submit-page .simple-file-upload.has-file .file-upload-btn{display:none}
.simple-submit-page .simple-file-upload.has-file .file-upload-name{color:var(--ink);font-weight:700;cursor:pointer;max-width:100%}
.simple-submit-page .simple-file-upload.has-file .file-upload-name:hover{color:var(--gold-soft)}
.submission-multi-options input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;max-width:17px!important;max-height:17px!important;padding:0!important;margin:1px 0 0!important;border:0!important;border-radius:3px!important;box-shadow:none!important;flex:0 0 17px!important;background:transparent!important}
.submission-multi-options label{min-height:28px;align-items:center;padding:4px 2px;line-height:1.3}
.submission-multi-options label span{min-width:0;overflow-wrap:anywhere}
.submission-multi-options{gap:3px}
.batch-row-additional .submission-multi-select{width:100%}


/* Theme 19.16.0: the main Histriphy theme is permanently dark. */
html[data-theme="dark"]{color-scheme:dark}
.header-actions{gap:12px}

/* Premium dark map context used on detail and comparison pages. */
.map-hero-preview,.map-detail-preview,.country-compare-preview,.map-card-library .map-preview,.map-related-preview,.account-map-preview{color-scheme:dark}
.map-detail-preview .map-preview-svg .base-countries path,
.country-compare-preview .map-preview-svg .base-countries path{
  fill:#26385f;fill-opacity:.34;stroke:#7186b4;stroke-opacity:.48;stroke-width:.78;vector-effect:non-scaling-stroke;
}
.map-hero-preview.is-country-zooming .map-overview-stage .base-countries path{
  fill:#26375c;fill-opacity:.48;stroke:#7d91bd;stroke-opacity:.48;stroke-width:.72;vector-effect:non-scaling-stroke;
}
.map-hero-preview.is-country-zooming .map-zoom-highlight path{
  fill:#d8a347;fill-opacity:.9;stroke:#f0bd5e;stroke-width:1.4;vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 5px rgba(229,174,77,.8)) drop-shadow(0 0 14px rgba(212,162,78,.35));
}
.map-hero-preview .map-zoom-target{fill:rgba(212,162,78,.18);stroke:var(--gold-soft);stroke-width:2.2;vector-effect:non-scaling-stroke}
.map-hero-preview.is-country-zooming::before{content:"Locating map";position:absolute;left:18px;bottom:16px;z-index:4;padding:6px 9px;border:1px solid rgba(212,162,78,.28);border-radius:999px;background:rgba(7,12,22,.72);color:#e9c77f;font:600 .58rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}
.map-hero-preview.has-completed-country-zoom::before{display:none}

/* ========================================================================== 
   THEME 19.16.0: homepage roadmap, support, legal pages and professional footer
   ========================================================================== */
.home-coming-soon{padding-top:72px;padding-bottom:48px;border-top:1px solid var(--border-soft)}
.home-coming-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.home-coming-heading p{margin:0 0 8px;color:var(--gold);font:700 .67rem var(--font-mono);letter-spacing:.13em;text-transform:uppercase}
.home-coming-heading h2{margin:0;font-size:2rem}
.home-coming-heading>span{max-width:320px;color:var(--ink-faint);font-size:.88rem;text-align:right}
.home-roadmap{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:620px;border:1px solid #26324e;border-radius:16px;overflow:hidden;background:#0a101c;box-shadow:0 24px 60px rgba(0,0,0,.2)}
.home-roadmap-tabs{display:flex;flex-direction:column;gap:5px;padding:22px;border-right:1px solid #26324e;background:#0b111e}
.home-roadmap-tab{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:center;width:100%;min-height:84px;padding:13px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;opacity:.38;transition:opacity .18s,background .18s,border-color .18s,transform .18s}
.home-roadmap-tab:hover,.home-roadmap-tab:focus-visible{opacity:.72;background:#101828;outline:none}
.home-roadmap-tab.is-active{opacity:1;border-color:#303c59;background:#121a2c;transform:translateX(3px)}
.home-roadmap-tab.is-milestone.is-active{border-color:rgba(212,162,78,.42)}
.home-roadmap-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(212,162,78,.31);border-radius:9px;background:rgba(212,162,78,.07);color:var(--gold-soft)}
.home-roadmap-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.home-roadmap-tab small{display:block;margin-bottom:4px;color:var(--gold);font:700 .53rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.home-roadmap-tab strong{display:block;color:#eef2f8;font-size:.89rem;line-height:1.25}
.home-roadmap-tab em{display:block;margin-top:4px;color:#78859f;font-size:.67rem;font-style:normal;line-height:1.35}
.home-roadmap-stage{position:relative;min-width:0;background:#0d1422}
.home-roadmap-toolbar{position:absolute;z-index:4;top:18px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#7b879e;font:700 .57rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.home-roadmap-toolbar>div{display:flex;align-items:center;gap:8px}
.home-roadmap-toolbar button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #2a354f;border-radius:8px;background:#121a2a;color:#c7cfdd;font-size:1.25rem;line-height:1;cursor:pointer}
.home-roadmap-toolbar button:hover,.home-roadmap-toolbar button:focus-visible{border-color:rgba(212,162,78,.55);color:var(--gold-soft);outline:none}
.home-roadmap-toolbar strong{min-width:37px;color:#e9edf5;font-size:.7rem;text-align:center;letter-spacing:0}
.home-roadmap-panels{height:100%}
.home-roadmap-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:24px;height:100%;padding:70px 36px 35px;animation:roadmap-panel-in .28s ease both}
.home-roadmap-panel[hidden]{display:none}
@keyframes roadmap-panel-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.roadmap-preview-copy{max-width:650px}
.roadmap-preview-copy>small{display:block;margin-bottom:6px;color:var(--gold);font:700 .58rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.roadmap-preview-copy h3{margin:0 0 8px;color:#f0f3f8;font-size:1.45rem;line-height:1.2}
.roadmap-preview-copy p{max-width:640px;margin:0;color:#8d99b1;font-size:.83rem;line-height:1.58}
.roadmap-window{align-self:stretch;min-height:350px;border:1px solid #2a354f;border-radius:13px;overflow:hidden;background:#0a101b;box-shadow:0 18px 36px rgba(0,0,0,.24)}
.roadmap-window-bar{display:flex;align-items:center;gap:10px;height:43px;padding:0 15px;border-bottom:1px solid #242f48;background:#101725}
.roadmap-window-bar>span{width:8px;height:8px;border-radius:50%;background:var(--gold)}
.roadmap-window-bar strong{color:#dfe4ee;font-size:.72rem}
.roadmap-window-bar em{margin-left:auto;color:#69768f;font:600 .54rem var(--font-mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.roadmap-chat{display:grid;gap:16px;padding:28px}
.roadmap-chat-user{justify-self:end;max-width:65%;padding:13px 16px;border:1px solid #35425f;border-radius:12px 12px 3px 12px;background:#151e31;color:#dce2ed;font-size:.8rem;line-height:1.5}
.roadmap-chat-answer{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;max-width:88%}
.roadmap-ai-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gold);color:#111827;font-weight:800}
.roadmap-chat-answer>div{padding:15px;border:1px solid #26324c;border-radius:3px 12px 12px;background:#101827}
.roadmap-chat-answer strong{color:#edf1f7;font-size:.8rem}
.roadmap-chat-answer p{margin:5px 0 12px;color:#8793aa;font-size:.71rem;line-height:1.5}
.roadmap-result-chips{display:flex;flex-wrap:wrap;gap:6px}
.roadmap-result-chips span,.roadmap-filter-row span{padding:6px 8px;border:1px solid rgba(212,162,78,.23);border-radius:6px;background:rgba(212,162,78,.06);color:#d8b872;font-size:.6rem}
.roadmap-search-demo{padding:27px}
.roadmap-search-query{display:grid;grid-template-columns:19px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px 10px 14px;border:1px solid #3a4764;border-radius:9px;background:#101827;color:#cfd6e3;font-size:.75rem}
.roadmap-search-query svg{width:18px;height:18px;fill:none;stroke:#77849e;stroke-width:1.8}
.roadmap-search-query b{padding:7px 11px;border-radius:6px;background:var(--gold);color:#111827;font-size:.63rem}
.roadmap-filter-row{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0 20px}
.roadmap-search-results{display:grid;gap:8px}
.roadmap-search-results>div{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid #232e47;border-radius:9px;background:#0e1624}
.roadmap-search-results i,.roadmap-map-thumb{display:block;width:50px;height:39px;border-radius:6px;background:linear-gradient(145deg,#23365c,#111b30);box-shadow:inset 0 0 0 1px #334463}
.roadmap-search-results i:after,.roadmap-map-thumb:after{content:"";display:block;width:24px;height:20px;margin:9px auto;background:var(--gold);clip-path:polygon(11% 20%,47% 0,91% 22%,80% 83%,45% 100%,0 72%)}
.roadmap-search-results strong,.roadmap-saved-list strong{display:block;color:#dce2ed;font-size:.7rem}
.roadmap-search-results small,.roadmap-saved-list small{display:block;margin-top:3px;color:#69768e;font-size:.58rem}
.roadmap-search-results em{color:#a7b2c6;font-size:.58rem;font-style:normal}
.roadmap-saved-list{display:grid;gap:8px;padding:24px}
.roadmap-saved-list>div{display:grid;grid-template-columns:62px minmax(0,1fr) 34px;gap:13px;align-items:center;padding:10px 13px;border:1px solid #222d45;border-radius:9px;background:#0e1624}
.roadmap-saved-list p{margin:0}
.roadmap-saved-list button{border:0;background:transparent;color:var(--gold);font-size:1rem}
.roadmap-map-thumb{width:62px;height:42px}.roadmap-map-thumb:after{margin-top:10px}.roadmap-map-thumb.is-two:after{clip-path:polygon(0 11%,70% 0,100% 47%,71% 100%,14% 81%)}.roadmap-map-thumb.is-three:after{clip-path:polygon(21% 0,87% 15%,100% 73%,51% 100%,0 72%)}
.roadmap-collection-demo{padding:24px}
.roadmap-folder-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:15px;align-items:center;padding:18px;border:1px solid rgba(212,162,78,.28);border-radius:10px;background:#121a2a}
.roadmap-folder-card>span{display:grid;place-items:center;width:52px;height:52px;border-radius:10px;background:rgba(212,162,78,.09);color:var(--gold-soft)}
.roadmap-folder-card svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6}
.roadmap-folder-card small{color:var(--gold);font:.54rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.roadmap-folder-card strong{display:block;margin:4px 0;color:#e4e9f1;font-size:.8rem}.roadmap-folder-card p{margin:0;color:#727f96;font-size:.62rem}
.roadmap-collection-stack{display:grid;gap:7px;margin:13px 0 0 24px;padding-left:18px;border-left:1px solid #34415b}
.roadmap-collection-stack span{padding:9px 12px;border:1px solid #222c43;border-radius:7px;background:#0e1522;color:#aab4c6;font-size:.67rem}.roadmap-collection-stack i{margin-right:10px;color:var(--gold);font:600 .55rem var(--font-mono);font-style:normal}
.roadmap-download-table{padding:22px 24px}
.roadmap-download-table>div{display:grid;grid-template-columns:minmax(0,1fr) 90px 104px;gap:12px;align-items:center;padding:11px 12px;border-bottom:1px solid #212b41;color:#a8b2c3;font-size:.65rem}
.roadmap-download-table .is-head{color:#66738b;font:600 .53rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.roadmap-download-table strong{display:block;color:#dbe1eb;font-size:.69rem}.roadmap-download-table small{display:block;margin-top:2px;color:#66728a;font-size:.55rem}.roadmap-download-table b{color:#b6c0d0;font-size:.59rem}.roadmap-download-table time{color:#7f8ba1}
.roadmap-replay-map{position:relative;height:245px;background-color:#0d1727;background-image:linear-gradient(rgba(76,94,126,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(76,94,126,.08) 1px,transparent 1px);background-size:34px 34px}
.roadmap-replay-map>svg{width:100%;height:100%}.replay-land{fill:#1a2a47;stroke:#4f6387;stroke-width:2}.replay-border{fill:none;stroke:#d4a24e;stroke-width:2}.roadmap-replay-map circle{fill:#f0bd5e;stroke:#fff0c4;stroke-width:2}
.roadmap-date-card{position:absolute;left:22px;bottom:20px;padding:11px 14px;border:1px solid rgba(212,162,78,.35);border-radius:8px;background:rgba(8,13,23,.9);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.roadmap-date-card small{display:block;color:#8b96a9;font:.49rem var(--font-mono);text-transform:uppercase}.roadmap-date-card strong{display:block;margin:2px 0;color:var(--gold-soft);font-size:1.2rem}.roadmap-date-card span{color:#b3bdcc;font-size:.62rem}
.roadmap-timeline{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:14px 18px;border-top:1px solid #253047;background:#101725}.roadmap-timeline button{width:30px;height:30px;border:1px solid rgba(212,162,78,.35);border-radius:50%;background:rgba(212,162,78,.08);color:var(--gold-soft);font-size:.6rem}.roadmap-timeline>div{position:relative;height:4px;border-radius:4px;background:#2b3650}.roadmap-timeline>div span{display:block;width:62%;height:100%;border-radius:inherit;background:var(--gold)}.roadmap-timeline>div i{position:absolute;top:50%;width:12px;height:12px;border:2px solid #0d1422;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%)}.roadmap-timeline strong{color:#77849a;font:600 .55rem var(--font-mono)}
.home-roadmap-progress{position:absolute;z-index:5;left:0;right:0;bottom:0;height:3px;background:#141d2e;overflow:hidden}.home-roadmap-progress span{display:block;width:0;height:100%;background:var(--gold)}.home-roadmap.is-running .home-roadmap-progress span{animation:roadmap-progress var(--roadmap-delay,4s) linear forwards}@keyframes roadmap-progress{from{width:0}to{width:100%}}

.simple-help-card{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 22px;padding:30px;border:1px solid var(--border);border-radius:12px;background:#10172a}
.simple-help-card>div>span{display:block;margin-bottom:7px;color:var(--gold);font:700 .62rem var(--font-mono);letter-spacing:.11em;text-transform:uppercase}
.simple-help-card h2{margin:0 0 7px;font-size:1.4rem}
.simple-help-card p{max-width:610px;margin:0;color:var(--ink-dim);line-height:1.65}
.simple-help-card .button{flex:0 0 auto}

.legal-simple-shell{max-width:900px}
.legal-simple-page .simple-page-hero small{display:block;margin-top:20px;color:var(--ink-faint);font:.66rem var(--font-mono);letter-spacing:.05em;text-transform:uppercase}
.legal-simple-content{padding:48px 0 88px}
.legal-simple-copy{display:grid;gap:14px}
.legal-simple-copy section{padding:25px 27px;border:1px solid var(--border);border-radius:11px;background:#10172a}
.legal-simple-copy h2{margin:0 0 9px;font-size:1.08rem}
.legal-simple-copy p{margin:0;color:var(--ink-dim);font-size:.94rem;line-height:1.72}
.legal-simple-copy a{color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px}

.legal-wide-shell{max-width:1160px}
.legal-hero{padding-bottom:58px}
.legal-hero h1{max-width:780px}
.legal-hero>div>p{max-width:760px}
.legal-meta{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px;color:var(--ink-faint);font:.68rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.legal-meta a{color:var(--gold-soft);text-transform:none}
.legal-document-section{padding:54px 0 96px}
.legal-document-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:46px;align-items:start}
.legal-toc{position:sticky;top:102px;padding:19px 18px;border:1px solid var(--border);border-radius:12px;background:#0d1424}
.legal-toc>strong{display:block;margin-bottom:12px;color:var(--gold);font:700 .62rem var(--font-mono);letter-spacing:.11em;text-transform:uppercase}
.legal-toc nav{display:grid;gap:2px}
.legal-toc a{padding:8px 9px;border-left:2px solid transparent;border-radius:0 6px 6px 0;color:var(--ink-faint);font-size:.76rem;line-height:1.35}
.legal-toc a:hover,.legal-toc a:focus-visible{border-left-color:var(--gold);background:rgba(212,162,78,.06);color:var(--ink)}
.legal-document{min-width:0}
.legal-summary{margin-bottom:16px;padding:24px 26px;border:1px solid rgba(212,162,78,.36);border-radius:12px;background:linear-gradient(135deg,rgba(212,162,78,.09),rgba(16,23,42,.96))}
.legal-summary strong{display:block;margin-bottom:7px;color:var(--gold-soft);font-size:.9rem}
.legal-summary p{margin:0;color:var(--ink-dim);line-height:1.68}
.legal-document>section{position:relative;padding:30px 31px 30px 72px;border:1px solid var(--border);border-bottom:0;background:#10172a;scroll-margin-top:110px}
.legal-document>section:first-of-type{border-radius:12px 12px 0 0}
.legal-document>section:last-child{border-bottom:1px solid var(--border);border-radius:0 0 12px 12px}
.legal-section-number{position:absolute;left:25px;top:34px;color:var(--gold);font:700 .62rem var(--font-mono);letter-spacing:.08em}
.legal-document h2{margin:0 0 13px;color:var(--ink);font-size:1.22rem;line-height:1.3}
.legal-document h3{margin:19px 0 7px;color:#dce2ef;font-size:.9rem}
.legal-document p{margin:0 0 13px;color:var(--ink-dim);font-size:.9rem;line-height:1.78}
.legal-document p:last-child{margin-bottom:0}
.legal-document ul{display:grid;gap:8px;margin:13px 0;padding-left:20px;color:var(--ink-dim);font-size:.88rem;line-height:1.65}
.legal-document li::marker{color:var(--gold)}
.legal-document a{color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px}
.legal-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:17px}
.legal-data-grid>div{padding:17px 18px;border:1px solid #28334e;border-radius:9px;background:#0c1424}
.legal-data-grid h3{margin:0 0 6px;color:#e1e6f0;font-size:.83rem}
.legal-data-grid p{margin:0;font-size:.78rem;line-height:1.62}
.legal-contact-section{background:linear-gradient(135deg,#121b30,#10172a)!important}

@media(max-width:900px){
  .legal-document-layout{grid-template-columns:1fr;gap:20px}
  .legal-toc{position:static}
  .legal-toc nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
}
@media(max-width:620px){
  .legal-hero{padding-bottom:42px}
  .legal-document-section{padding:32px 0 64px}
  .legal-meta{align-items:flex-start;flex-direction:column;gap:7px}
  .legal-toc{padding:15px}
  .legal-toc nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
  .legal-toc a{flex:0 0 auto;padding:8px 10px;border:1px solid var(--border);border-radius:7px;white-space:nowrap}
  .legal-document>section{padding:25px 20px 25px 52px}
  .legal-section-number{left:18px;top:29px}
  .legal-data-grid{grid-template-columns:1fr}
  .legal-summary{padding:21px}
}

.site-footer{padding:0;background:#080d17}
.site-footer>.footer-inner{display:block;padding-top:54px;padding-bottom:24px}
.footer-main{display:grid;grid-template-columns:minmax(240px,1fr) minmax(540px,1.7fr);gap:70px;padding-bottom:42px}
.footer-intro{max-width:330px}
.footer-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-family:var(--font-display);font-weight:800;font-size:1.08rem}
.footer-brand .brand-mark{width:34px;height:34px}
.footer-brand img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.footer-intro p{margin:17px 0 13px;color:var(--ink-dim);font-size:.87rem;line-height:1.65}
.footer-email{color:var(--gold-soft);font-size:.86rem;font-weight:700}
.footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.footer-columns section{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-columns h2{margin:0 0 5px;color:var(--ink);font:700 .68rem var(--font-mono);letter-spacing:.11em;text-transform:uppercase}
.footer-columns a{color:var(--ink-dim);font-size:.84rem;line-height:1.45}
.footer-columns a:hover,.footer-email:hover{color:var(--gold-soft)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;border-top:1px solid var(--border-soft)}
.site-footer .footer-bottom p{margin:0;color:var(--ink-faint);font-size:.76rem}
.footer-bottom>div{display:flex;flex-wrap:wrap;gap:18px}
.footer-bottom a{color:var(--ink-faint);font-size:.76rem}
.footer-bottom a:hover{color:var(--ink-dim)}

/* Cookie preferences remain available from the footer without a floating widget. */
.cky-btn-revisit-wrapper,.cookieadmin_reconsent,.cookieadmin-reconsent,.ca-reconsent-icon{display:none!important}

@media(max-width:900px){
  .home-roadmap{grid-template-columns:1fr;min-height:0}
  .home-roadmap-tabs{flex-direction:row;overflow-x:auto;padding:14px;border-right:0;border-bottom:1px solid #26324e;scrollbar-width:thin}
  .home-roadmap-tab{flex:0 0 235px;min-height:76px}
  .home-roadmap-tab.is-active{transform:none}
  .home-roadmap-stage{min-height:560px}
  .footer-main{grid-template-columns:1fr;gap:36px}
  .footer-intro{max-width:520px}
}
@media(max-width:680px){
  .home-coming-soon{padding-top:52px;padding-bottom:34px}
  .home-coming-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .home-coming-heading h2{font-size:1.65rem}
  .home-coming-heading>span{text-align:left}
  .home-roadmap{border-radius:13px}
  .home-roadmap-tabs{padding:10px}
  .home-roadmap-tab{flex-basis:205px;grid-template-columns:37px minmax(0,1fr);min-height:69px;padding:10px}
  .home-roadmap-icon{width:37px;height:37px}
  .home-roadmap-tab em{display:none}
  .home-roadmap-stage{min-height:520px}
  .home-roadmap-toolbar{top:14px;left:16px;right:16px}
  .home-roadmap-panel{gap:17px;padding:60px 16px 22px}
  .roadmap-preview-copy h3{font-size:1.17rem}
  .roadmap-preview-copy p{font-size:.75rem}
  .roadmap-window{min-height:330px}
  .roadmap-chat,.roadmap-search-demo{padding:18px}
  .roadmap-chat-user{max-width:84%}
  .roadmap-search-results>div{grid-template-columns:42px minmax(0,1fr)}
  .roadmap-search-results i{width:42px}
  .roadmap-search-results em{display:none}
  .roadmap-download-table{padding:13px}
  .roadmap-download-table>div{grid-template-columns:minmax(0,1fr) 72px;padding:10px 6px}
  .roadmap-download-table>div>*:last-child{display:none}
  .simple-help-card{align-items:flex-start;flex-direction:column;padding:24px}
  .simple-help-card .button{width:100%;justify-content:center}
  .legal-simple-content{padding:34px 0 62px}
  .legal-simple-copy section{padding:21px}
  .site-footer>.footer-inner{padding-top:42px;padding-bottom:22px}
  .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:12px}
}
@media(max-width:430px){
  .home-roadmap-stage{min-height:535px}
  .roadmap-window-bar{padding:0 11px}
  .roadmap-window-bar em{display:none}
  .roadmap-saved-list,.roadmap-collection-demo{padding:14px}
  .roadmap-saved-list>div{grid-template-columns:48px minmax(0,1fr) 25px;padding:9px}
  .roadmap-map-thumb{width:48px}
  .roadmap-folder-card{grid-template-columns:42px minmax(0,1fr);padding:13px}
  .roadmap-folder-card>span{width:42px;height:42px}
  .footer-columns{grid-template-columns:1fr}
}

/* ========================================================================== 
   THEME 19.16.8: refined legal reading pages and product roadmap
   ========================================================================== */

/* Legal pages use a full-width contents panel so the document has no dead rail. */
.legal-wide-shell{max-width:1240px}
.legal-hero{padding-top:96px;padding-bottom:64px;background:radial-gradient(circle at 88% 20%,rgba(44,61,96,.18),transparent 34%)}
.legal-hero h1{max-width:860px;font-size:clamp(3rem,5.4vw,4.8rem);font-weight:800;letter-spacing:-.05em}
.legal-hero>div>p{max-width:800px;font-size:1.12rem;line-height:1.72}
.legal-meta{gap:12px 34px;margin-top:28px;font-size:.71rem}
.legal-document-section{padding:48px 0 108px;background:linear-gradient(180deg,rgba(13,19,33,.5),transparent 280px)}
.legal-document-layout{display:block}
.legal-toc{position:relative;top:auto;padding:22px 24px 24px;border-color:#2a3652;border-radius:14px;background:#0d1423;box-shadow:0 18px 48px rgba(0,0,0,.16)}
.legal-toc>strong{margin-bottom:15px;font-size:.67rem}
.legal-toc nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.legal-toc a{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border:1px solid #202b43;border-radius:8px;background:#101829;color:#aab4c8;font-size:.82rem;font-weight:600;line-height:1.3}
.legal-toc a span{flex:0 0 auto;color:var(--gold);font:700 .59rem var(--font-mono);letter-spacing:.07em}
.legal-toc a:hover,.legal-toc a:focus-visible{border:1px solid rgba(212,162,78,.48);background:#141d2f;color:#f1f3f8;transform:translateY(-1px)}
.legal-document{max-width:980px;margin:30px auto 0}
.legal-summary{margin-bottom:18px;padding:30px 34px;border-radius:14px;background:linear-gradient(135deg,rgba(212,162,78,.1),rgba(17,24,42,.97) 60%)}
.legal-summary strong{margin-bottom:9px;font-size:1rem}
.legal-summary p{font-size:1.02rem;line-height:1.74}
.legal-document>section{margin:0 0 14px;padding:38px 40px 38px 84px;border:1px solid #26314b;border-radius:14px;background:#10172a;box-shadow:0 12px 32px rgba(0,0,0,.1)}
.legal-document>section:first-of-type,.legal-document>section:last-child{border-radius:14px}
.legal-section-number{left:30px;top:43px;font-size:.66rem}
.legal-document h2{margin-bottom:16px;font-size:1.42rem;font-weight:750;letter-spacing:-.018em}
.legal-document h3{margin:22px 0 8px;font-size:.98rem}
.legal-document p{margin-bottom:15px;font-size:1rem;line-height:1.82}
.legal-document ul{gap:10px;margin:16px 0;padding-left:22px;font-size:.98rem;line-height:1.75}
.legal-data-grid{gap:13px;margin-top:21px}
.legal-data-grid>div{padding:21px 22px;border-color:#2c3854;border-radius:10px;background:#0c1424}
.legal-data-grid h3{font-size:.94rem}
.legal-data-grid p{font-size:.87rem;line-height:1.68}
.legal-contact-section{border-color:rgba(212,162,78,.34)!important;background:linear-gradient(135deg,rgba(212,162,78,.08),#10172a 52%)!important}

/* The roadmap reads as a real product preview, not a set of small wireframes. */
.home-coming-soon{padding-top:84px;padding-bottom:62px}
.home-coming-heading{margin-bottom:32px}
.home-coming-heading p{font-size:.72rem}
.home-coming-heading h2{font-size:clamp(2.05rem,3.4vw,2.65rem);letter-spacing:-.035em}
.home-coming-heading>span{max-width:370px;font-size:.96rem;line-height:1.55}
.home-roadmap{grid-template-columns:312px minmax(0,1fr);min-height:700px;border-color:#2b3856;border-radius:18px;background:#0a101c;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.home-roadmap-tabs{gap:7px;padding:20px;border-right-color:#2b3856}
.home-roadmap-tab{grid-template-columns:46px minmax(0,1fr);gap:14px;min-height:96px;padding:14px 15px;opacity:.62}
.home-roadmap-tab:hover,.home-roadmap-tab:focus-visible{opacity:.9}
.home-roadmap-tab.is-active{border-color:#3a4869;background:linear-gradient(135deg,#151f34,#111a2b);box-shadow:0 10px 24px rgba(0,0,0,.17);transform:translateX(3px)}
.home-roadmap-icon{width:46px;height:46px;border-radius:11px}
.home-roadmap-icon svg{width:22px;height:22px}
.home-roadmap-tab small{font-size:.57rem}
.home-roadmap-tab strong{font-size:.96rem}
.home-roadmap-tab em{margin-top:5px;font-size:.72rem;line-height:1.4}
.home-roadmap-stage{min-height:700px;background:linear-gradient(145deg,#0e1626,#0c1321)}
.home-roadmap-toolbar{top:22px;left:40px;right:40px;font-size:.61rem}
.home-roadmap-toolbar button{width:34px;height:34px;border-radius:9px}
.home-roadmap-toolbar strong{font-size:.76rem}
.home-roadmap-panel{gap:28px;padding:82px 40px 40px}
.roadmap-preview-copy{max-width:760px}
.roadmap-preview-copy>small{margin-bottom:8px;font-size:.63rem}
.roadmap-preview-copy h3{margin-bottom:10px;font-size:1.75rem;letter-spacing:-.028em}
.roadmap-preview-copy p{max-width:730px;font-size:.94rem;line-height:1.65}
.roadmap-window{min-height:410px;border-color:#303d5b;border-radius:14px;box-shadow:0 24px 48px rgba(0,0,0,.28)}
.roadmap-window-bar{height:50px;padding:0 18px;border-bottom-color:#2d3955}
.roadmap-window-bar>span{width:9px;height:9px;box-shadow:0 0 0 5px rgba(212,162,78,.08)}
.roadmap-window-bar strong{font-size:.8rem}
.roadmap-window-bar em{font-size:.58rem}
.roadmap-chat{gap:19px;padding:34px}
.roadmap-chat-user{padding:15px 18px;font-size:.88rem}
.roadmap-chat-answer{grid-template-columns:42px minmax(0,1fr);gap:14px}
.roadmap-ai-mark{width:42px;height:42px}
.roadmap-chat-answer>div{padding:18px}
.roadmap-chat-answer strong{font-size:.9rem}
.roadmap-chat-answer p{font-size:.79rem}
.roadmap-result-chips span,.roadmap-filter-row span{padding:7px 9px;font-size:.66rem}
.roadmap-chat-context{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #27334c;border-radius:10px;background:#0d1524}
.roadmap-chat-context small{display:block;margin-bottom:4px;color:#718099;font:.55rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.roadmap-chat-context strong{display:block;color:#dce2ec;font-size:.75rem}
.roadmap-chat-context>span{flex:0 0 auto;padding:6px 8px;border-radius:6px;background:rgba(57,140,97,.12);color:#7ed4a4;font-size:.61rem;font-weight:700}
.roadmap-chat-prompts{display:flex;flex-wrap:wrap;gap:7px}
.roadmap-chat-prompts span{padding:7px 10px;border:1px solid #27334d;border-radius:999px;color:#8794aa;font-size:.61rem}
.roadmap-search-demo{padding:34px}
.roadmap-search-query{grid-template-columns:21px minmax(0,1fr) auto;padding:13px 13px 13px 16px;font-size:.84rem}
.roadmap-search-query b{padding:8px 13px;font-size:.68rem}
.roadmap-filter-row{margin:15px 0 22px}
.roadmap-search-results>div{padding:13px}
.roadmap-search-results strong{font-size:.78rem}
.roadmap-search-results small{font-size:.64rem}
.roadmap-search-results em{font-size:.63rem}
.roadmap-search-results i.is-empires:after{clip-path:polygon(8% 31%,28% 8%,53% 18%,72% 3%,96% 30%,81% 53%,89% 83%,57% 95%,37% 72%,9% 84%,18% 53%)}
.roadmap-search-results i.is-balkans:after{clip-path:polygon(24% 0,74% 8%,96% 37%,73% 54%,84% 96%,45% 79%,14% 99%,5% 50%)}
.roadmap-folder-card{padding:22px}
.roadmap-folder-card strong{font-size:.91rem}
.roadmap-folder-card p{font-size:.7rem}
.roadmap-collection-stack span{padding:12px 14px;font-size:.75rem}
.roadmap-collection-stack b{float:right;color:#77849a;font:700 .52rem var(--font-mono);letter-spacing:.05em;text-transform:uppercase}
.roadmap-collection-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:13px;padding-left:43px}
.roadmap-collection-foot>span{color:#738097;font-size:.63rem}
.roadmap-collection-foot button{padding:8px 11px;border:1px solid rgba(212,162,78,.34);border-radius:7px;background:rgba(212,162,78,.08);color:var(--gold-soft);font-size:.63rem;font-weight:700}
.roadmap-download-table{padding:28px 30px}
.roadmap-download-table>div{grid-template-columns:minmax(0,1fr) 110px 126px;padding:14px;font-size:.73rem}
.roadmap-download-table .is-head{font-size:.58rem}
.roadmap-download-table strong{font-size:.78rem}
.roadmap-download-table small{font-size:.62rem}
.roadmap-download-table b{font-size:.67rem}
.roadmap-download-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 30px;border-bottom:1px solid #222d45;background:#0e1624}
.roadmap-download-summary div{display:flex;align-items:baseline;gap:9px}
.roadmap-download-summary small{color:#718099;font:.55rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.roadmap-download-summary strong{color:#e5e9f0;font-size:.9rem}
.roadmap-download-summary>span{color:#758198;font-size:.65rem}

/* Saved maps use large, recognisable map previews. */
.roadmap-saved-window{display:grid;grid-template-rows:50px auto minmax(0,1fr)}
.roadmap-saved-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid #222d45;background:#0e1624}
.roadmap-saved-toolbar div{display:flex;align-items:baseline;gap:10px}
.roadmap-saved-toolbar strong{color:#e1e6ef;font-size:.82rem}
.roadmap-saved-toolbar div span{color:#6f7c94;font-size:.67rem}
.roadmap-saved-toolbar button{padding:7px 10px;border:1px solid #2c3854;border-radius:7px;background:#121b2d;color:#9da8bb;font-size:.66rem}
.roadmap-saved-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:20px}
.roadmap-saved-grid article{position:relative;min-width:0;overflow:hidden;border:1px solid #26324c;border-radius:11px;background:#0e1624;transition:border-color .18s,transform .18s}
.roadmap-saved-grid article:hover{border-color:rgba(212,162,78,.45);transform:translateY(-2px)}
.roadmap-saved-map{position:relative;height:142px;overflow:hidden;border-bottom:1px solid #293652;background-color:#111c30;background-image:radial-gradient(circle at 26% 18%,rgba(73,95,137,.2),transparent 35%),linear-gradient(rgba(91,112,150,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(91,112,150,.07) 1px,transparent 1px);background-size:auto,22px 22px,22px 22px}
.roadmap-saved-map svg{display:block;width:100%;height:100%;padding:15px}
.roadmap-saved-map .map-coast,.roadmap-saved-map .map-context{fill:#263958;stroke:#60779e;stroke-width:1.2}
.roadmap-saved-map .map-focus{fill:rgba(212,162,78,.82);stroke:#f0bd5e;stroke-width:1.5}
.roadmap-saved-map .map-line{fill:none;stroke:#101a2c;stroke-width:1.2}
.roadmap-saved-map>span{position:absolute;left:10px;top:10px;padding:5px 7px;border:1px solid rgba(212,162,78,.3);border-radius:5px;background:rgba(8,13,23,.82);color:var(--gold-soft);font:700 .52rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.roadmap-saved-card-copy{padding:14px 42px 15px 14px}
.roadmap-saved-card-copy small{display:block;margin-bottom:5px;color:var(--gold);font:700 .57rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.roadmap-saved-card-copy strong{display:block;color:#e7ebf2;font-size:.82rem}
.roadmap-saved-card-copy p{margin:5px 0 0;color:#748199;font-size:.67rem;line-height:1.4}
.roadmap-saved-grid article>button{position:absolute;right:10px;bottom:15px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid rgba(212,162,78,.34);border-radius:7px;background:rgba(212,162,78,.08);color:var(--gold-soft)}
.roadmap-saved-grid article>button svg{width:14px;height:14px;fill:currentColor;stroke:none}

/* Map Replay uses geographic context and a staged historical timeline. */
.roadmap-replay-window{display:grid;grid-template-rows:50px minmax(0,1fr) 66px}
.roadmap-replay-map{position:relative;height:318px;overflow:hidden;background-color:#0b1727;background-image:radial-gradient(circle at 48% 48%,rgba(53,76,117,.2),transparent 46%),linear-gradient(rgba(76,94,126,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(76,94,126,.07) 1px,transparent 1px);background-size:auto,32px 32px,32px 32px}
.roadmap-replay-map>svg{display:block;width:100%;height:100%;padding:14px 34px 8px}
.roadmap-replay-map path{vector-effect:non-scaling-stroke;transition:fill .2s,opacity .2s}
.roadmap-replay-map path.is-context{fill:#172944;stroke:#65799d;stroke-width:1.1;opacity:.68}
.roadmap-replay-map path.is-india{fill:#314d74;stroke:#91a8ce;stroke-width:1.25}
.roadmap-replay-map path.is-pakistan{fill:#ca9843;stroke:#f0bd5e;stroke-width:1.45;filter:drop-shadow(0 4px 8px rgba(212,162,78,.17))}
.replay-place-labels text{fill:#cfdae9;font:700 12px var(--font-mono);letter-spacing:.12em;paint-order:stroke;stroke:#0b1727;stroke-width:4px;stroke-linejoin:round}
.replay-place-labels text.is-city{fill:#dbe3ef;font-size:10px;font-weight:600;letter-spacing:.02em;stroke-width:3px;text-transform:none}
.replay-place-labels circle{fill:#f4c76e;stroke:#0b1727;stroke-width:3}
.roadmap-map-controls{position:absolute;z-index:3;left:14px;top:14px;display:grid;border:1px solid #34415e;border-radius:8px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.28)}
.roadmap-map-controls button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-bottom:1px solid #34415e;background:rgba(12,20,34,.94);color:#d6deea;font-size:1rem}
.roadmap-map-controls button:last-child{border-bottom:0}
.roadmap-date-card{left:auto;right:18px;bottom:auto;top:18px;width:238px;padding:15px 16px;border-color:rgba(212,162,78,.46);border-radius:10px;background:rgba(7,13,23,.94);backdrop-filter:blur(10px)}
.roadmap-date-card small{font-size:.53rem;letter-spacing:.08em}
.roadmap-date-card strong{margin:3px 0 2px;font-size:1.65rem;line-height:1}
.roadmap-date-card span{display:block;color:#e4e9f1;font-size:.73rem;font-weight:700}
.roadmap-date-card p{margin:8px 0 0;color:#8290a7;font-size:.62rem;line-height:1.45}
.roadmap-replay-legend{position:absolute;right:15px;bottom:13px;display:flex;flex-wrap:wrap;gap:6px;padding:7px 9px;border:1px solid #2a3752;border-radius:7px;background:rgba(8,14,24,.88);backdrop-filter:blur(8px)}
.roadmap-replay-legend span{display:flex;align-items:center;gap:5px;color:#93a0b4;font-size:.55rem}
.roadmap-replay-legend i{display:block;width:9px;height:9px;border-radius:2px;background:#172944}
.roadmap-replay-legend i.is-pakistan{background:#ca9843}.roadmap-replay-legend i.is-india{background:#314d74}.roadmap-replay-legend i.is-context{background:#172944;border:1px solid #65799d}
.roadmap-timeline{grid-template-columns:36px minmax(0,1fr) auto;gap:15px;padding:13px 17px 15px;background:#0f1726}
.roadmap-timeline button{width:34px;height:34px;font-size:.65rem}
.roadmap-timeline-track{position:relative;height:4px;margin:0 20px;border-radius:4px;background:#303b54}
.roadmap-timeline-track span{display:block;width:68%;height:100%;border-radius:inherit;background:var(--gold)}
.roadmap-timeline-track i{position:absolute;top:50%;width:13px;height:13px;border:3px solid #111827;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%)}
.roadmap-timeline-track b{position:absolute;top:13px;color:#76839a;font:600 .51rem var(--font-mono);transform:translateX(-50%)}
.roadmap-timeline-track b:first-of-type{transform:none}.roadmap-timeline-track b:last-of-type{transform:translateX(-100%)}
.roadmap-timeline>strong{color:#8c98ab;font:700 .56rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase}

@media(max-width:960px){
  .legal-toc nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-roadmap{grid-template-columns:1fr;min-height:0}
  .home-roadmap-tabs{flex-direction:row;overflow-x:auto;padding:14px;border-right:0;border-bottom:1px solid #2b3856;scrollbar-width:thin}
  .home-roadmap-tab{flex:0 0 245px;min-height:82px}
  .home-roadmap-tab.is-active{transform:none}
  .home-roadmap-stage{min-height:680px}
}

@media(max-width:700px){
  .legal-hero{padding-top:58px;padding-bottom:44px}
  .legal-hero h1{font-size:2.7rem}
  .legal-hero>div>p{font-size:1rem}
  .legal-document-section{padding:28px 0 70px}
  .legal-toc{padding:17px}
  .legal-toc nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible;padding:0}
  .legal-toc a{min-width:0;white-space:normal;font-size:.74rem}
  .legal-document{margin-top:20px}
  .legal-summary{padding:23px 22px}
  .legal-summary p{font-size:.96rem}
  .legal-document>section{padding:29px 21px 29px 57px}
  .legal-section-number{left:20px;top:34px}
  .legal-document h2{font-size:1.22rem}
  .legal-document p,.legal-document ul{font-size:.95rem;line-height:1.75}
  .legal-data-grid{grid-template-columns:1fr}

  .home-coming-soon{padding-top:58px;padding-bottom:42px}
  .home-coming-heading{align-items:flex-start;flex-direction:column;gap:9px}
  .home-coming-heading h2{font-size:1.9rem}
  .home-coming-heading>span{text-align:left;font-size:.88rem}
  .home-roadmap{border-radius:14px}
  .home-roadmap-tabs{padding:10px}
  .home-roadmap-tab{flex-basis:218px;grid-template-columns:40px minmax(0,1fr);min-height:74px;padding:11px}
  .home-roadmap-icon{width:40px;height:40px}
  .home-roadmap-tab em{display:none}
  .home-roadmap-stage{min-height:660px}
  .home-roadmap-toolbar{top:15px;left:17px;right:17px}
  .home-roadmap-panel{gap:19px;padding:62px 16px 22px}
  .roadmap-preview-copy h3{font-size:1.35rem}
  .roadmap-preview-copy p{font-size:.83rem}
  .roadmap-window{min-height:400px}
  .roadmap-window-bar{height:46px;padding:0 12px}
  .roadmap-window-bar em{display:none}
  .roadmap-saved-window{grid-template-rows:46px auto minmax(0,1fr)}
  .roadmap-saved-toolbar{padding:13px 14px}
  .roadmap-saved-toolbar div span{display:none}
  .roadmap-saved-grid{display:flex;gap:10px;overflow-x:auto;padding:14px;scroll-snap-type:x mandatory}
  .roadmap-saved-grid article{flex:0 0 76%;scroll-snap-align:start}
  .roadmap-saved-map{height:150px}
  .roadmap-replay-window{grid-template-rows:46px minmax(0,1fr) 68px}
  .roadmap-replay-map{height:410px}
  .roadmap-replay-map>svg{position:absolute;left:0;right:0;top:48px;height:218px;padding:8px 22px}
  .roadmap-map-controls{left:10px;top:10px}
  .roadmap-date-card{left:12px;right:12px;top:auto;bottom:51px;width:auto;padding:12px 14px}
  .roadmap-date-card p{display:none}
  .roadmap-replay-legend{left:12px;right:auto;bottom:12px}
  .replay-place-labels text{font-size:10px}
  .replay-place-labels text.is-city,.replay-place-labels circle{display:none}
  .roadmap-timeline{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:12px}
  .roadmap-timeline-track{margin:0 5px}
  .roadmap-timeline>strong{display:none}
  .roadmap-chat-context{align-items:flex-start;flex-direction:column;gap:9px}
  .roadmap-chat-prompts span:last-child{display:none}
  .roadmap-collection-foot{padding-left:0}
  .roadmap-download-summary{align-items:flex-start;flex-direction:column;padding:13px;gap:5px}
  .roadmap-download-summary>span{font-size:.6rem}
}

@media(max-width:460px){
  .legal-toc a{min-height:40px}
  .legal-document>section{padding:26px 18px 26px 50px}
  .legal-section-number{left:17px;top:30px}
  .legal-data-grid>div{padding:18px}
  .home-roadmap-stage{min-height:680px}
  .roadmap-saved-grid article{flex-basis:88%}
  .roadmap-replay-map{height:430px}
  .roadmap-replay-map>svg{transform:scale(1.32);transform-origin:50% 48%}
  .roadmap-replay-legend span{font-size:.51rem}
}

/* ========================================================================== 
   THEME 19.16.9: Histriphy product tour and real account activity
   ========================================================================== */
.home-coming-soon{background:#090e18}
.home-coming-heading h2{max-width:720px;font-weight:680;line-height:1.06;letter-spacing:-.04em}
.home-coming-heading>span{color:#8e99ad}
.home-roadmap{grid-template-columns:286px minmax(0,1fr);min-height:720px;border-color:#2b3650;border-radius:10px;background:#0a111e;box-shadow:0 22px 60px rgba(0,0,0,.22)}
.home-roadmap-tabs{gap:0;padding:24px 0;border-right-color:#2b3650;background:#0a101b}
.home-roadmap-tab{grid-template-columns:38px minmax(0,1fr);gap:13px;min-height:92px;padding:17px 22px;border:0;border-left:2px solid transparent;border-radius:0;opacity:.48;transition:opacity .18s,background .18s,border-color .18s}
.home-roadmap-tab:hover,.home-roadmap-tab:focus-visible{opacity:.82;background:#0e1727}
.home-roadmap-tab.is-active{border-color:var(--gold);background:#111a2b;box-shadow:none;transform:none}
.home-roadmap-tab.is-milestone.is-active{border-color:var(--gold)}
.home-roadmap-index{align-self:start;padding-top:2px;color:#78859d;font:600 .62rem var(--font-mono);letter-spacing:.08em}
.home-roadmap-tab.is-active .home-roadmap-index{color:var(--gold)}
.home-roadmap-tab strong{font-size:.97rem;font-weight:650;letter-spacing:-.01em}
.home-roadmap-tab em{max-width:180px;margin-top:6px;font-size:.7rem;line-height:1.45}
.home-roadmap-stage{min-height:720px;background:#0d1422}
.home-roadmap-toolbar{top:24px;left:36px;right:36px;color:#758199;font-size:.58rem}
.home-roadmap-toolbar strong{color:#dbe1eb;font-size:.69rem;letter-spacing:.02em;text-transform:none}
.home-roadmap-panel{gap:24px;padding:82px 36px 36px}
.roadmap-preview-copy>small{font-size:.6rem;letter-spacing:.11em}
.roadmap-preview-copy h3{max-width:760px;font-size:1.72rem;font-weight:680;line-height:1.16;letter-spacing:-.032em}
.roadmap-preview-copy p{max-width:720px;color:#9aa5b8;font-size:.91rem;line-height:1.62}
.roadmap-window{min-height:420px;border-color:#2c3853;border-radius:8px;background:#0a111d;box-shadow:none}
.roadmap-window-bar{height:48px;background:#0f1726}
.roadmap-window-bar strong{font-weight:650}

/* The AI preview behaves like a map research workspace instead of a chat toy. */
.roadmap-ai-window{display:grid;grid-template-rows:48px auto minmax(0,1fr) auto}
.roadmap-research-query{display:flex;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid #27334d;background:#0c1422}
.roadmap-research-query small{flex:0 0 auto;color:#728097;font:600 .56rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.roadmap-research-query strong{color:#e9edf4;font-size:.8rem;font-weight:600}
.roadmap-research-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);min-height:255px}
.roadmap-research-answer{display:grid;grid-template-columns:34px minmax(0,1fr);gap:13px;padding:22px 24px;border-right:1px solid #27334d}
.roadmap-research-answer .roadmap-ai-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--gold);color:#0b111d;font-size:.76rem;font-weight:800}
.roadmap-research-answer strong{display:block;margin:3px 0 8px;color:#e5eaf2;font-size:.88rem}
.roadmap-research-answer p{margin:0;color:#95a1b5;font-size:.72rem;line-height:1.62}
.roadmap-research-answer ul{display:grid;gap:7px;margin:16px 0 0;padding:0;list-style:none}
.roadmap-research-answer li{display:flex;gap:10px;padding:7px 9px;border-left:2px solid #34425f;background:#0d1727;color:#aeb8c9;font-size:.66rem}
.roadmap-research-answer li b{min-width:34px;color:var(--gold-soft);font-family:var(--font-mono);font-size:.59rem}
.roadmap-research-map{display:grid;grid-template-rows:1fr auto;min-width:0;background:#101a2d}
.roadmap-research-map img{width:100%;height:100%;min-height:150px;padding:15px 20px;object-fit:contain}
.roadmap-research-map>div{padding:12px 14px;border-top:1px solid #293651;background:#0c1422}
.roadmap-research-map small,.roadmap-research-map span{display:block;color:#78859c;font-size:.58rem}
.roadmap-research-map small{margin-bottom:4px;color:var(--gold);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.roadmap-research-map strong{display:block;color:#e2e7ef;font-size:.72rem}
.roadmap-research-map span{margin-top:4px}
.roadmap-research-foot{display:flex;align-items:center;gap:22px;padding:11px 18px;border-top:1px solid #27334d;color:#7f8ba0;font-size:.59rem}
.roadmap-research-foot span{display:flex;align-items:center;gap:6px}
.roadmap-research-foot span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* Every miniature map now uses projected geography. */
.roadmap-result-map{display:grid;place-items:center;width:50px;height:38px;overflow:hidden;border:1px solid #33415f;border-radius:5px;background:#14213a}
.roadmap-result-map img{width:100%;height:100%;padding:3px;object-fit:contain}
.roadmap-search-results>div{grid-template-columns:50px minmax(0,1fr) auto}
.roadmap-saved-map img{display:block;width:100%;height:100%;padding:12px 14px;object-fit:contain}
.roadmap-saved-map>span{z-index:2}
.roadmap-saved-card-copy strong{font-family:Georgia,'Times New Roman',serif;font-size:.93rem;font-weight:600}
.roadmap-folder-map{width:96px!important;height:64px!important;border:1px solid #2e3c59!important;border-radius:6px!important;background:#111c30!important}
.roadmap-folder-map img{width:100%;height:100%;padding:5px;object-fit:contain}
.roadmap-folder-card{grid-template-columns:96px minmax(0,1fr)}

/* Map Replay has four real, selectable scenes. */
.roadmap-replay-window{grid-template-rows:48px minmax(0,1fr) 72px}
.roadmap-replay-map{height:340px;background-color:#0a1625;background-image:linear-gradient(rgba(82,100,132,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(82,100,132,.065) 1px,transparent 1px);background-size:32px 32px}
.roadmap-replay-map>svg,.roadmap-replay-mughal{transition:opacity .28s ease,transform .28s ease}
.roadmap-replay-mughal{position:absolute;inset:0;width:100%;height:100%;padding:12px 120px 8px 24px;object-fit:contain;opacity:0;pointer-events:none}
.roadmap-replay-map>svg{opacity:1}
.roadmap-replay-window[data-replay-stage="0"] .roadmap-replay-mughal{opacity:1}
.roadmap-replay-window[data-replay-stage="0"] .roadmap-replay-map>svg{opacity:0}
.roadmap-replay-window[data-replay-stage="1"] path.is-india,.roadmap-replay-window[data-replay-stage="1"] path.is-pakistan{fill:#756040;stroke:#dfb568}
.roadmap-replay-window[data-replay-stage="3"] path[data-country="Bangladesh"]{fill:#e6c477;stroke:#ffe0a0}
.roadmap-replay-window[data-replay-stage="0"] .roadmap-replay-map::after,.roadmap-replay-window[data-replay-stage="1"] .roadmap-replay-map::after{position:absolute;left:50%;top:52%;padding:5px 8px;border:1px solid rgba(212,162,78,.34);border-radius:4px;background:rgba(7,13,23,.84);color:#f0d397;font:700 .58rem var(--font-mono);letter-spacing:.08em;transform:translate(-50%,-50%)}
.roadmap-replay-window[data-replay-stage="0"] .roadmap-replay-map::after{content:"MUGHAL EMPIRE"}
.roadmap-replay-window[data-replay-stage="1"] .roadmap-replay-map::after{content:"BRITISH INDIA"}
.roadmap-replay-window[data-replay-stage="0"] .replay-place-labels,.roadmap-replay-window[data-replay-stage="1"] .replay-place-labels{opacity:0}
.replay-place-labels{transition:opacity .2s}
.roadmap-date-stack{position:absolute;z-index:4;right:18px;top:18px;width:248px}
.roadmap-date-stack .roadmap-date-card{position:relative;inset:auto;display:none;width:100%;padding:15px 16px;border:1px solid rgba(212,162,78,.45);border-radius:7px;background:rgba(7,13,23,.95);backdrop-filter:blur(10px)}
.roadmap-date-stack .roadmap-date-card.is-active{display:block;animation:roadmap-panel-in .25s ease both}
.roadmap-date-stack .roadmap-date-card strong{font-family:Georgia,'Times New Roman',serif;font-size:1.8rem;font-weight:600}
.roadmap-date-stack .roadmap-date-card span{font-size:.74rem}
.roadmap-date-stack .roadmap-date-card p{font-size:.62rem}
.roadmap-replay-legend{right:14px;bottom:12px;border-radius:5px}
.roadmap-timeline{grid-template-columns:36px minmax(0,1fr) 72px;gap:13px;padding:14px 16px 17px}
.roadmap-timeline-track{height:4px;margin:0 11px}
.roadmap-timeline-track>span{width:66.666%;transition:width .28s ease}
.roadmap-timeline-track>i{left:66.666%;transition:left .28s ease}
.roadmap-timeline-track>button{position:absolute;top:12px;width:auto;height:auto;padding:0;border:0;background:transparent;color:#748198;font:600 .51rem var(--font-mono);transform:translateX(-50%)}
.roadmap-timeline-track>button:nth-of-type(1){left:0;transform:none}
.roadmap-timeline-track>button:nth-of-type(2){left:33.333%}
.roadmap-timeline-track>button:nth-of-type(3){left:66.666%}
.roadmap-timeline-track>button:nth-of-type(4){left:100%;transform:translateX(-100%)}
.roadmap-timeline-track>button.is-active{color:var(--gold-soft)}

/* The account chart now explains a genuine zero and shows the real period total. */
.dashboard-chart-card-v2{position:relative}
.dashboard-chart-card-v2>.dashboard-chart-heading{align-items:center}
.dashboard-chart-heading>div{display:block!important;margin:0!important}
.dashboard-chart-heading>span{flex:0 0 auto;padding:7px 10px;border:1px solid #303c59;border-radius:999px;background:#10192a;color:#b6c0d0;font-size:.66rem;font-weight:600}
.dashboard-chart-empty{position:absolute;z-index:2;left:50%;top:55%;padding:8px 11px;border:1px solid #2a354f;border-radius:6px;background:rgba(9,15,26,.88);color:#8d99ad!important;transform:translate(-50%,-50%);white-space:nowrap}
.dashboard-chart-card.chart-unavailable canvas{display:none}
.dashboard-chart-card.chart-unavailable::after{content:"The activity chart could not load. Refresh the page to try again.";display:block;margin-top:42px;color:#9aa5b8;font-size:.82rem;text-align:center}

@media(max-width:960px){
  .home-roadmap{grid-template-columns:1fr}
  .home-roadmap-tabs{padding:0;border-right:0;border-bottom:1px solid #2b3650}
  .home-roadmap-tab{flex:0 0 240px;min-height:86px;border-left:0;border-bottom:2px solid transparent;padding:15px 18px}
  .home-roadmap-tab.is-active{border-bottom-color:var(--gold)}
}

@media(max-width:700px){
  .home-coming-heading h2{font-size:2rem}
  .home-roadmap{border-radius:8px}
  .home-roadmap-tab{flex-basis:224px;grid-template-columns:30px minmax(0,1fr);min-height:78px;padding:12px 14px}
  .home-roadmap-tab em{display:block;font-size:.64rem}
  .home-roadmap-stage{min-height:720px}
  .home-roadmap-panel{padding:62px 16px 20px}
  .roadmap-preview-copy h3{font-size:1.38rem}
  .roadmap-preview-copy p{font-size:.82rem}
  .roadmap-research-query{align-items:flex-start;flex-direction:column;gap:5px;padding:12px 14px}
  .roadmap-research-workspace{grid-template-columns:1fr}
  .roadmap-research-answer{padding:16px;border-right:0;border-bottom:1px solid #27334d}
  .roadmap-research-map{grid-template-columns:100px minmax(0,1fr);grid-template-rows:auto;min-height:112px}
  .roadmap-research-map img{min-height:110px;padding:10px}
  .roadmap-research-map>div{display:flex;flex-direction:column;justify-content:center;border-top:0;border-left:1px solid #293651}
  .roadmap-research-foot{flex-wrap:wrap;gap:8px 14px}
  .roadmap-search-results>div{grid-template-columns:46px minmax(0,1fr)}
  .roadmap-result-map{width:46px}
  .roadmap-folder-card{grid-template-columns:74px minmax(0,1fr)}
  .roadmap-folder-map{width:74px!important;height:58px!important}
  .roadmap-replay-map{height:450px}
  .roadmap-replay-map>svg,.roadmap-replay-mughal{position:absolute;left:0;right:0;top:48px;width:100%;height:220px;padding:8px 22px}
  .roadmap-replay-map>svg{transform:scale(1.28)}
  .roadmap-replay-mughal{transform:scale(1.08)}
  .roadmap-date-stack{left:12px;right:12px;top:auto;bottom:52px;width:auto}
  .roadmap-date-stack .roadmap-date-card{padding:12px 14px}
  .roadmap-date-stack .roadmap-date-card p{display:none}
  .roadmap-replay-legend{left:12px;right:auto;bottom:12px}
  .roadmap-timeline{grid-template-columns:34px minmax(0,1fr);gap:9px;padding:12px}
  .roadmap-timeline>strong{display:none}
  .dashboard-chart-heading{align-items:flex-start!important;flex-direction:column;gap:10px!important}
  .dashboard-chart-empty{max-width:82%;white-space:normal;text-align:center}
}

@media(max-width:460px){
  .home-roadmap-stage{min-height:750px}
  .roadmap-saved-grid article{flex-basis:90%}
  .roadmap-saved-map{height:164px}
  .roadmap-replay-map{height:470px}
  .roadmap-replay-map>svg,.roadmap-replay-mughal{top:55px;height:230px}
  .roadmap-replay-map>svg{transform:scale(1.4)}
}

/* Undated / conceptual map submission option */
.submission-no-year{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--ink-dim);font-size:.82rem;font-weight:500}.submission-no-year input{width:16px;height:16px;margin:0;accent-color:var(--gold)}input[aria-disabled="true"]{opacity:.48}

/* Homepage future roadmap, v19.20.3 */
.home-future-section{padding:78px 0 58px;border-top:1px solid var(--border-soft);background:linear-gradient(180deg,rgba(16,25,43,.36),rgba(8,13,23,0))}
.home-future-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}
.home-future-head p{margin:0 0 9px;color:var(--gold);font:700 .7rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
.home-future-head h2{max-width:720px;margin:0;font-size:clamp(1.9rem,3.3vw,2.55rem);line-height:1.08;letter-spacing:-.035em}
.home-future-head>span{max-width:390px;color:var(--ink-dim);font-size:.95rem;line-height:1.55;text-align:right}
.home-future-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home-future-card{display:flex;gap:18px;min-height:210px;padding:25px;border:1px solid var(--border);border-radius:14px;background:rgba(15,24,42,.72)}
.home-future-card-featured{border-color:rgba(225,171,66,.44);background:linear-gradient(135deg,rgba(225,171,66,.09),rgba(15,24,42,.82))}
.home-future-icon{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border:1px solid rgba(225,171,66,.34);border-radius:11px;background:rgba(225,171,66,.08);color:var(--gold)}
.home-future-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.home-future-label{display:block;margin:1px 0 9px;color:var(--gold);font:700 .67rem var(--font-mono);letter-spacing:.11em;text-transform:uppercase}
.home-future-card h3{margin:0 0 9px;font-size:1.2rem;line-height:1.25}
.home-future-card p{margin:0;color:var(--ink-dim);font-size:.94rem;line-height:1.65}
.home-format-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.home-format-list span{padding:6px 9px;border:1px solid var(--border);border-radius:999px;color:var(--ink-soft);font:600 .68rem var(--font-mono)}
.home-future-note{margin:18px 2px 0;color:var(--ink-faint);font-size:.83rem;line-height:1.6}
.home-future-note code{color:var(--gold);font-family:var(--font-mono)}
@media (max-width:820px){
  .home-future-section{padding:58px 0 44px}
  .home-future-head{align-items:flex-start;flex-direction:column;gap:9px}
  .home-future-head>span{text-align:left}
  .home-future-grid{grid-template-columns:1fr}
  .home-future-card{min-height:0}
}
@media (max-width:520px){
  .home-future-card{gap:14px;padding:20px}
  .home-future-icon{flex-basis:40px;width:40px;height:40px}
}
