/* ============================================================
   QuakeMap24 — Redesign preview "Modern Light" (v3)
   Activated only via ?redesign=3  -> body.theme-v4
   Pure reskin of existing markup. No JS / SEO / data changes.
   Modern, professional, fully responsive (mobile + desktop).
   ============================================================ */

body.theme-v4{
  --bg:#f5f7fa;
  --panel:#ffffff;
  --t:#0b1220;
  --t2:#334155;
  --muted:#64748b;
  --dim:#94a3b8;
  --line:#e7ebf1;
  --line-2:#dde3ec;
  --soft:#eef1f6;
  --accent:#2563eb;
  --accent-d:#1d4ed8;
  --accent-bg:#e7effe;
  --r-lg:18px;
  --r-md:14px;
  --r-sm:11px;
  --sh-1:0 1px 2px rgba(15,23,42,.05);
  --sh-2:0 1px 2px rgba(15,23,42,.05), 0 14px 30px -24px rgba(15,23,42,.4);
  --sh-3:0 2px 6px rgba(15,23,42,.06), 0 22px 48px -28px rgba(15,23,42,.5);
}

/* ---- Override forced white theme of the content pages ---- */
html:has(body.theme-v4){ background:var(--bg) !important; }
body.theme-v4{
  background:var(--bg) !important;
  color:var(--t) !important;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
body.theme-v4.qmk-region, body.theme-v4.qmk-region-light{ background:var(--bg) !important; color:var(--t) !important; }
body.theme-v4.qmk-region main, body.theme-v4.qmk-region .qmk-main, body.theme-v4.qmk-region .qmk-wrap,
body.theme-v4.qmk-region #app, body.theme-v4.qmk-region .app,
body.theme-v4.qmk-region footer, body.theme-v4.qmk-region .qmk-footer{ background:transparent !important; }

/* Container widths + rhythm */
body.theme-v4 .qmk-country,
body.theme-v4 .qmk-reg,
body.theme-v4 .qmk-event{
  max-width:1180px; margin:0 auto; padding:20px 18px 56px; color:var(--t);
}
@media (max-width:600px){
  body.theme-v4 .qmk-country,
  body.theme-v4 .qmk-reg,
  body.theme-v4 .qmk-event{ padding:14px 14px 44px; }
}

/* ---------------- Typography ---------------- */
body.theme-v4 .qmk-h1,
body.theme-v4 .qmk-event-h1{
  color:var(--t); font-weight:700; letter-spacing:-.025em; line-height:1.14;
  font-size:clamp(23px,4.2vw,34px); margin:0 0 6px;
}
body.theme-v4 .qmk-sub, body.theme-v4 .qmk-sub2,
body.theme-v4 .qmk-muted, body.theme-v4 .qmk-csub,
body.theme-v4 .qmk-section-sub, body.theme-v4 .qmk-country-intro{ color:var(--muted) !important; }
body.theme-v4 .card__title, body.theme-v4 .qmk-ctitle, body.theme-v4 .qmk-h3{
  color:var(--t); font-weight:600; font-size:15px; letter-spacing:-.01em;
}

/* Accent tab before section titles */
body.theme-v4 .card__title, body.theme-v4 .qmk-ctitle{ display:flex; align-items:center; gap:9px; }
body.theme-v4 .card__title::before, body.theme-v4 .qmk-ctitle::before{
  content:""; width:3px; height:1.05em; border-radius:2px; flex:0 0 auto; background:var(--accent);
}

/* ---------------- Breadcrumb ---------------- */
body.theme-v4 .qmk-bc{ color:var(--dim); font-size:13px; }
body.theme-v4 .qmk-bc__a{ color:var(--muted); border-bottom:none; }
body.theme-v4 .qmk-bc__a:hover{ color:var(--accent); }
body.theme-v4 .qmk-bc__cur{ color:var(--t2); }

/* ---------------- Cards ---------------- */
body.theme-v4 .card{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:16px 18px; box-shadow:var(--sh-2);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body.theme-v4 .card:hover{ box-shadow:var(--sh-3); }
body.theme-v4 .card__head{ margin-bottom:13px; }

/* ---------------- Buttons (comfortable tap targets) ---------------- */
body.theme-v4 .btn{
  min-height:40px; padding:9px 16px; border-radius:var(--r-sm); font-weight:500; font-size:13.5px;
  background:var(--panel); border:1px solid var(--line-2); color:var(--t); box-shadow:var(--sh-1);
  transition:background .15s ease, border-color .15s ease, transform .05s ease, color .15s ease;
}
body.theme-v4 .btn:hover{ background:var(--soft); border-color:var(--accent); color:var(--accent-d); }
body.theme-v4 .btn:active{ transform:translateY(1px); }
/* First (primary) action in headers = filled accent */
body.theme-v4 .qmk-country-actions .btn:first-child,
body.theme-v4 .card__actions .btn,
body.theme-v4 .qmk-history .btn,
body.theme-v4 .qmk-event-about + * .btn{ background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:0 6px 16px -8px rgba(37,99,235,.6); }
body.theme-v4 .qmk-country-actions .btn:first-child:hover,
body.theme-v4 .card__actions .btn:hover{ background:var(--accent-d); color:#fff; }
body.theme-v4 .btn--ghost{ background:transparent; box-shadow:none; }
body.theme-v4 .btn--mini{ min-height:34px; padding:7px 12px; font-size:12.5px; }

/* ---------------- HERO (country header as panel) ---------------- */
body.theme-v4 .qmk-country-head{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:20px; box-shadow:var(--sh-2); gap:14px; margin-bottom:16px;
}
body.theme-v4 .qmk-country-flag{
  width:54px; height:40px; border-radius:10px; border:1px solid var(--line-2);
  box-shadow:0 6px 16px -8px rgba(15,23,42,.35);
}
body.theme-v4 .qmk-country-actions{ gap:10px; }

/* TOC chips: horizontal scroll on mobile, hairline pills */
body.theme-v4 .qmk-toc{ gap:8px; }
body.theme-v4 .qmk-toc__a{
  min-height:36px; padding:7px 13px; border-radius:999px; font-size:12.5px;
  background:var(--panel); border:1px solid var(--line); color:var(--muted); box-shadow:var(--sh-1);
}
body.theme-v4 .qmk-toc__a:hover{ color:var(--accent); border-color:var(--accent); }
@media (max-width:760px){
  body.theme-v4 .qmk-toc{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:2px; }
  body.theme-v4 .qmk-toc::-webkit-scrollbar{ display:none; }
  body.theme-v4 .qmk-toc__a{ white-space:nowrap; flex:0 0 auto; }
}

/* ---------------- KPIs (premium stat tiles) ---------------- */
body.theme-v4 .qmk-kpis{ grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:0 0 16px; }
@media (max-width:560px){ body.theme-v4 .qmk-kpis{ grid-template-columns:1fr 1fr; gap:10px; } }
body.theme-v4 .qmk-kpi{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r-md);
  padding:14px 15px; box-shadow:var(--sh-1);
}
body.theme-v4 .qmk-kpi-k, body.theme-v4 .qmk-kpi__k{
  color:var(--dim); font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.07em;
}
body.theme-v4 .qmk-kpi-v, body.theme-v4 .qmk-kpi__v{
  color:var(--t); font-size:clamp(21px,3vw,27px); font-weight:700; letter-spacing:-.02em;
  margin-top:7px; font-variant-numeric:tabular-nums;
}
body.theme-v4 .qmk-kpi-s{ color:var(--dim); font-size:11.5px; margin-top:3px; }
body.theme-v4 .qmk-rowlink{ color:var(--muted); border-bottom:none; }
body.theme-v4 .qmk-rowlink:hover{ color:var(--accent); }

/* ---------------- Magnitude badges (softer, professional) ---------------- */
body.theme-v4 .qmk-mag{ font-weight:700; border-radius:9px; font-variant-numeric:tabular-nums; }
body.theme-v4 .qmk-mag--b{ background:#e7effe; color:#1f53c4; }
body.theme-v4 .qmk-mag--g{ background:#e3f7ee; color:#0a6c4d; }
body.theme-v4 .qmk-mag--y{ background:#fef4d8; color:#946200; }
body.theme-v4 .qmk-mag--r{ background:#fdeaea; color:#b42318; }
body.theme-v4 .qmk-mag--na{ background:var(--soft); color:var(--muted); }
body.theme-v4 .qmk-mag--lg{ border-radius:16px; padding:.4em .6em; }

/* About + infobox + pills */
body.theme-v4 .qmk-infobox{ border:1px solid var(--line); background:var(--soft); border-radius:var(--r-md); }
body.theme-v4 .qmk-infobox__k{ color:var(--muted); }
body.theme-v4 .qmk-infobox__v{ color:var(--t); }
body.theme-v4 .qmk-pill, body.theme-v4 .pill{ background:var(--soft); border:1px solid var(--line); color:var(--muted); border-radius:999px; }
body.theme-v4 .qmk-magbadge{ background:var(--accent-bg); border:1px solid #cfe0fd; color:var(--accent-d); }
body.theme-v4 .qmk-spotplace{ color:var(--t); }

/* ---------------- Recent quake cards (country) ---------------- */
body.theme-v4 .qmk-recent{ gap:11px; }
body.theme-v4 .qmk-qcard{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r-md);
  padding:14px; box-shadow:var(--sh-1);
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
body.theme-v4 .qmk-qcard:hover{ border-color:var(--accent); box-shadow:var(--sh-2); transform:translateY(-2px); }
body.theme-v4 .qmk-qcard__title{ color:var(--t); font-size:15px; font-weight:600; }
body.theme-v4 .qmk-meta{ background:var(--soft); border:1px solid var(--line); border-radius:10px; }
body.theme-v4 .qmk-meta__k{ color:var(--muted); }
body.theme-v4 .qmk-meta__v{ color:var(--t2); }

/* ---------------- Charts ---------------- */
body.theme-v4 .qmk-chart{ border:1px solid var(--line); background:var(--panel); border-radius:var(--r-md); box-shadow:var(--sh-1); }
body.theme-v4 .qmk-bar__lbl{ color:var(--muted); }
body.theme-v4 .qmk-bar__val{ color:var(--t); font-variant-numeric:tabular-nums; }
body.theme-v4 .qmk-bar__track{ background:var(--soft); height:9px; }
body.theme-v4 .qmk-bar__fill--b{ background:#2563eb; }
body.theme-v4 .qmk-bar__fill--g{ background:#1d9e75; }
body.theme-v4 .qmk-bar__fill--y{ background:#e0a106; }
body.theme-v4 .qmk-bar__fill--r{ background:#dc2626; }
body.theme-v4 .qmk-bar__fill--d, body.theme-v4 .qmk-bar__fill--m{ background:#94a3b8; }

/* ---------------- Top regions + region chips ---------------- */
body.theme-v4 .qmk-toplist__li{ background:var(--panel); border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--sh-1); }
body.theme-v4 .qmk-toplist__name{ color:var(--t); }
body.theme-v4 .qmk-region-link{ border:1px solid var(--line-2); background:var(--panel); color:var(--t); border-radius:999px; box-shadow:var(--sh-1); min-height:36px; }
body.theme-v4 .qmk-region-link:hover{ border-color:var(--accent); color:var(--accent-d); }
body.theme-v4 .qmk-region-count{ color:var(--dim); }

/* ---------------- FAQ ---------------- */
body.theme-v4 .qmk-country details, body.theme-v4 details{ background:var(--panel); border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--sh-1); }
body.theme-v4 summary, body.theme-v4 .qmk-country summary{ color:var(--t); }
body.theme-v4 .qmk-faq__a{ color:var(--muted); }

/* ---------------- Map ---------------- */
body.theme-v4 .qmk-map, body.theme-v4 .qmk-evmap{ background:#e8eef6; border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; }
body.theme-v4 .qmk-mapnote{ color:var(--muted); }

/* ============================================================
   REGION page
   ============================================================ */
body.theme-v4 .qmk-head{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:20px; box-shadow:var(--sh-2); margin-bottom:16px;
}
body.theme-v4 .qmk-reg-kpis.card{ background:transparent; border:none; box-shadow:none; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:16px; }
@media (max-width:560px){ body.theme-v4 .qmk-reg-kpis.card{ grid-template-columns:1fr 1fr; gap:10px; } }
body.theme-v4 .qmk-reg-kpis .qmk-kpi{ background:var(--panel); border:1px solid var(--line); border-radius:var(--r-md); padding:14px 15px; box-shadow:var(--sh-1); }
body.theme-v4 .qmk-ins p{ color:var(--t2); }
body.theme-v4 .qmk-dim{ color:var(--dim); }
body.theme-v4 .qmk-link{ color:var(--accent); text-decoration:none; font-weight:500; }
body.theme-v4 .qmk-link:hover{ color:var(--accent-d); text-decoration:underline; }
body.theme-v4 .qmk-hl{ border-left:3px solid var(--accent); padding-left:13px; border-radius:0; }
body.theme-v4 .qmk-hl__k{ color:var(--muted); }
body.theme-v4 .qmk-hl__v{ color:var(--t); }
/* Event list rows */
body.theme-v4 .qmk-list{ display:grid; gap:9px; }
body.theme-v4 .qmk-row{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r-md);
  padding:12px 14px; box-shadow:var(--sh-1); min-height:56px;
  transition:border-color .15s ease, box-shadow .15s ease, transform .12s ease;
}
body.theme-v4 .qmk-row:hover{ border-color:var(--accent); box-shadow:var(--sh-2); transform:translateX(2px); }
body.theme-v4 .qmk-row__t{ color:var(--t); font-weight:600; }
body.theme-v4 .qmk-chev{ color:var(--dim); }
body.theme-v4 .qmk-empty{ color:var(--dim); }

/* ============================================================
   EVENT page
   ============================================================ */
body.theme-v4 .qmk-event-hero{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:20px; box-shadow:var(--sh-2);
}
body.theme-v4 .qmk-event-hero__top{ margin-bottom:12px; }
body.theme-v4 .qmk-event-kicker{ display:flex; align-items:center; gap:13px; flex-wrap:wrap; }
body.theme-v4 .qmk-event-depth{ color:var(--muted); font-size:13px; }
body.theme-v4 .qmk-event-flagimg{ border-radius:9px; box-shadow:0 6px 16px -8px rgba(15,23,42,.35); }
body.theme-v4 .qmk-event-meta{ gap:8px; }
body.theme-v4 .qmk-event-meta .pill{ background:var(--soft); border:1px solid var(--line-2); color:var(--t2); border-radius:999px; padding:6px 12px; }
body.theme-v4 .qmk-event-meta .pill b{ color:var(--t); }
/* Details key/value */
body.theme-v4 .kv__row{ border-bottom:1px solid var(--line); }
body.theme-v4 .kv__k{ color:var(--muted); }
body.theme-v4 .kv__v{ color:var(--t); font-weight:600; }
body.theme-v4 .qmk-event-about__p{ color:var(--t2); }
body.theme-v4 .qmk-link, body.theme-v4 .qmk-event a.qmk-link{ color:var(--accent); }
/* Stats + recent */
body.theme-v4 .statsgrid{ gap:12px; }
body.theme-v4 .stat{ background:var(--soft); border:1px solid var(--line); border-radius:var(--r-md); }
body.theme-v4 .stat__k{ color:var(--muted); }
body.theme-v4 .stat__v{ color:var(--t); font-variant-numeric:tabular-nums; }
body.theme-v4 .stat__countryname{ color:var(--t2); }
body.theme-v4 .hcard{ background:var(--soft); border:1px solid var(--line); border-radius:var(--r-md); }
body.theme-v4 .hcard__k, body.theme-v4 .recenthead{ color:var(--muted); }
body.theme-v4 .recent a{ color:var(--t2); border-bottom:1px solid var(--line); }
body.theme-v4 .recent a:hover{ background:var(--soft); }
body.theme-v4 .recent .m{ color:var(--t); font-weight:700; }
body.theme-v4 .recent-empty{ color:var(--dim); }
body.theme-v4 .share__status{ color:var(--muted); }
/* Event grid responsive */
body.theme-v4 .qmk-event-grid{ display:grid; gap:14px; grid-template-columns:1fr 1fr; }
@media (max-width:760px){ body.theme-v4 .qmk-event-grid{ grid-template-columns:1fr; } }
body.theme-v4 .qmk-event-grid .card--full{ grid-column:1 / -1; }

/* ---------------- Footer ---------------- */
body.theme-v4 .qmk-footer{ background:transparent !important; border-top:1px solid var(--line); }
body.theme-v4 .qmk-footer__link{ color:var(--muted); }
body.theme-v4 .qmk-footer__link:hover{ color:var(--accent); }

/* ---------------- Focus ---------------- */
body.theme-v4 a:focus-visible, body.theme-v4 button:focus-visible, body.theme-v4 summary:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px; border-radius:8px;
}

/* ============================================================
   EXTENDED PAGES — Latest, Top 20, Country/Region ranking, Overview
   (override the white-forcing legacy CSS of each page)
   ============================================================ */
html:has(body.theme-v4.qmk-eqpage), html:has(body.theme-v4.qmk-earthquakes){ background:var(--bg) !important; }

/* Page wrappers → transparent so the modern page bg shows */
body.theme-v4 .qmk-latest,
body.theme-v4 .qmk-rank,
body.theme-v4 .qmk-regionrank,
body.theme-v4 .qmk-top20,
body.theme-v4 .qmk-eq{ background:transparent !important; color:var(--t); max-width:1180px; margin:0 auto; }
body.theme-v4 .qmk-top20{ padding:20px 18px 56px; }
@media (max-width:600px){ body.theme-v4 .qmk-top20{ padding:14px 14px 44px; } }

/* ---------------- Forms / filters (Latest + ranking search) ---------------- */
body.theme-v4 .qmk-in,
body.theme-v4 .qmk-rank__search input[type="search"],
body.theme-v4 .qmk-regionrank__search input[type="search"]{
  background:var(--panel) !important; border:1px solid var(--line-2) !important; color:var(--t) !important;
  border-radius:var(--r-sm); min-height:40px; padding:9px 12px; box-shadow:var(--sh-1);
}
body.theme-v4 .qmk-in:focus,
body.theme-v4 .qmk-rank__search input[type="search"]:focus,
body.theme-v4 .qmk-regionrank__search input[type="search"]:focus{
  border-color:var(--accent) !important; box-shadow:0 0 0 3px rgba(37,99,235,.15) !important;
}
body.theme-v4 .qmk-lbl{ color:var(--muted); font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.06em; }
body.theme-v4 .qmk-ftoggle{ background:var(--panel); border:1px solid var(--line-2); color:var(--t); border-radius:var(--r-sm); min-height:42px; }
body.theme-v4 .qmk-ftoggle:hover{ background:var(--soft); border-color:var(--accent); color:var(--accent-d); }
body.theme-v4 .qmk-rank__searchhint,
body.theme-v4 .qmk-regionrank__searchhint{ color:var(--dim); }

/* ============================================================
   LATEST earthquakes (CSS-grid "table")
   ============================================================ */
body.theme-v4 .qmk-latest .qmk-meta{ background:transparent; border:none; padding:0; border-radius:0; }
body.theme-v4 .qmk-table{ gap:8px; }
body.theme-v4 .qmk-tr{ background:var(--panel); border:1px solid var(--line); border-radius:12px; box-shadow:var(--sh-1); }
body.theme-v4 .qmk-tr:not(.qmk-th){ transition:border-color .14s ease, box-shadow .14s ease; }
body.theme-v4 .qmk-tr:not(.qmk-th):hover{ border-color:var(--accent); box-shadow:var(--sh-2); }
body.theme-v4 .qmk-th{ background:var(--soft); color:var(--muted); font-weight:600; box-shadow:none; }
body.theme-v4 .qmk-place{ color:var(--t); }
body.theme-v4 .qmk-coord, body.theme-v4 .qmk-local, body.theme-v4 .qmk-ago{ color:var(--t2); }
body.theme-v4 .qmk-mm__k{ color:var(--muted); }
body.theme-v4 .qmk-countrylink{ color:var(--t); border-bottom:none; }
body.theme-v4 .qmk-countrylink:hover{ color:var(--accent); }
body.theme-v4 .qmk-latest .qmk-mag{ background:var(--accent-bg); color:var(--accent-d); padding:3px 9px; border-radius:8px; font-weight:700; }
body.theme-v4 .qmk-flag{ border-color:var(--line-2); }
body.theme-v4 .qmk-pager{ gap:12px; }

/* ============================================================
   TOP 20 (cards)
   ============================================================ */
body.theme-v4 .qmk-top20-head{ max-width:none; }
body.theme-v4 .qmk-top20-h1{ color:var(--t); font-weight:700; letter-spacing:-.025em; font-size:clamp(23px,4.2vw,34px); }
body.theme-v4 .qmk-top20-sub, body.theme-v4 .qmk-top20-nodata{ color:var(--muted); }
body.theme-v4 .qmk-top20-list{ max-width:none; }
body.theme-v4 .qmk-top20-item{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-2);
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
body.theme-v4 .qmk-top20-item:hover{ border-color:var(--accent); box-shadow:var(--sh-3); transform:translateY(-2px); }
body.theme-v4 .qmk-top20-rank{ background:var(--accent-bg); color:var(--accent-d); border-radius:10px; font-weight:700; }
body.theme-v4 .qmk-top20-flag{ border-color:var(--line-2); }
body.theme-v4 .qmk-top20-title{ color:var(--t); font-weight:700; }
body.theme-v4 .qmk-top20-mag{ background:var(--accent-bg); color:var(--accent-d); font-weight:700; }
body.theme-v4 .qmk-top20-place{ color:var(--t2); }
body.theme-v4 .qmk-top20-time{ color:var(--dim); }
body.theme-v4 .qmk-top20-details{ border-top:1px solid var(--line); }
body.theme-v4 .qmk-top20-k{ color:var(--muted); }
body.theme-v4 .qmk-top20-v{ color:var(--t); }
body.theme-v4 .qmk-top20-link{ color:var(--accent); }
body.theme-v4 .qmk-top20-analysis{ color:var(--t2); }

/* ============================================================
   COUNTRY + REGION RANKING (shared classes)
   ============================================================ */
body.theme-v4 .qmk-rank__title, body.theme-v4 .qmk-regionrank__title{
  color:var(--t); font-weight:700; letter-spacing:-.025em; font-size:clamp(23px,4.2vw,34px);
}
body.theme-v4 .qmk-rank__sub, body.theme-v4 .qmk-regionrank__sub{ color:var(--muted); }

/* Tabs as segmented control */
body.theme-v4 .qmk-tab{
  background:var(--panel); border:1px solid var(--line-2); color:var(--muted);
  min-height:38px; padding:8px 14px; box-shadow:var(--sh-1); font-weight:500;
}
body.theme-v4 .qmk-tab:hover{ color:var(--accent-d); border-color:var(--accent); }
body.theme-v4 .qmk-tab.is-active{ background:var(--accent); border-color:var(--accent); color:#fff; }

/* Summary stat cards */
body.theme-v4 .qmk-sumcard{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--sh-1); padding:12px 14px;
}
body.theme-v4 .qmk-sumcard__k{ color:var(--dim); font-size:11px; text-transform:uppercase; letter-spacing:.06em; opacity:1; }
body.theme-v4 .qmk-sumcard__v{ color:var(--t); font-weight:700; font-variant-numeric:tabular-nums; }

/* Ranking cards */
body.theme-v4 .qmk-card{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-2);
  transition:border-color .15s ease, box-shadow .15s ease;
}
body.theme-v4 .qmk-card:hover{ border-color:var(--accent); box-shadow:var(--sh-3); }
body.theme-v4 .qmk-rankcard__pos, body.theme-v4 .qmk-regionrankcard__pos{ color:var(--accent-d); opacity:1; }
body.theme-v4 .qmk-cc{ color:var(--dim); opacity:1; }
body.theme-v4 .qmk-cn, body.theme-v4 .qmk-rn{ color:var(--t); }
body.theme-v4 .qmk-k{ color:var(--muted); opacity:1; }
body.theme-v4 .qmk-v{ color:var(--t); }

/* Ranking buttons */
body.theme-v4 .qmk-btn{
  background:var(--panel); border:1px solid var(--line-2); color:var(--t); border-radius:var(--r-sm);
  min-height:40px; font-weight:500; box-shadow:var(--sh-1);
}
body.theme-v4 .qmk-btn:hover{ background:var(--soft); border-color:var(--accent); color:var(--accent-d); }

/* Desktop ranking tables */
body.theme-v4 .qmk-rank__table, body.theme-v4 .qmk-regionrank__table{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-1);
}
body.theme-v4 .qmk-rank__table thead th, body.theme-v4 .qmk-regionrank__table thead th{
  background:var(--soft); color:var(--muted); opacity:1; border-bottom:1px solid var(--line);
  text-transform:uppercase; letter-spacing:.05em;
}
body.theme-v4 .qmk-rank__table tbody td, body.theme-v4 .qmk-regionrank__table tbody td{ border-bottom:1px solid var(--line); }
body.theme-v4 .qmk-rank__table tbody tr:hover, body.theme-v4 .qmk-regionrank__table tbody tr:hover{ background:var(--soft); }

/* A–Z box */
body.theme-v4 .qmk-azbox{ background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-1); }
body.theme-v4 .qmk-azbox__sum{ color:var(--t); }
body.theme-v4 .qmk-azletter{ color:var(--accent-d); opacity:1; }
body.theme-v4 .qmk-azlist a{ color:var(--t2); }
body.theme-v4 .qmk-azlist a:hover{ color:var(--accent); }
body.theme-v4 .qmk-azmeta, body.theme-v4 .qmk-aznote{ color:var(--dim); opacity:1; }

/* GSA mini widget (rank) */
body.theme-v4 .qmk-gsa-mini{ border:1px solid var(--line) !important; box-shadow:var(--sh-2) !important; border-radius:var(--r-lg) !important; }

/* ============================================================
   OVERVIEW (earthquakes)
   ============================================================ */
body.theme-v4 .qmk-eq-kpis{ padding:0; }
body.theme-v4 .qmk-eq-grid{ gap:14px; }
body.theme-v4 .qmk-cardhead{ border-bottom:1px solid var(--line); }
body.theme-v4 .qmk-csub{ color:var(--muted); }
body.theme-v4 .qmk-sigrow:hover, body.theme-v4 .qmk-crow:hover{ background:var(--soft); }
body.theme-v4 .qmk-sigrow__title, body.theme-v4 .qmk-crow__title{ color:var(--t); }
body.theme-v4 .qmk-sigrow__meta, body.theme-v4 .qmk-crow__meta{ color:var(--muted); }
body.theme-v4 .qmk-badge{ background:var(--accent-bg); color:var(--accent-d); border:1px solid #cfe0fd; font-weight:700; }
body.theme-v4 .qmk-trust{ border-top:1px solid var(--line); }
body.theme-v4 .qmk-trust__t{ color:var(--t); }
body.theme-v4 .qmk-trust__p{ color:var(--muted); }
body.theme-v4 .qmk-faq-item{ background:var(--panel); border:1px solid var(--line); border-radius:var(--r-md); box-shadow:var(--sh-1); }
body.theme-v4 .qmk-faq-item summary{ color:var(--t); }
body.theme-v4 .qmk-faq-a{ color:var(--muted); }
