/* ==========================================================================
   Severe Weather History — design system
   "Meteorolojik enstrüman, sakin otorite": soğuk grafit-mavi zemin + sıcak amber
   marka + radar-yansıması şiddet skalası (veri kodlaması). Public Sans (gov) + Archivo.
   ========================================================================== */

/* ---- Fonts (self-hosted, same-origin) ---- */
@font-face { font-family:"Public Sans"; font-weight:400; font-display:swap; font-style:normal;
  src:url(../fonts/public-sans-400.woff2) format("woff2"); }
@font-face { font-family:"Public Sans"; font-weight:600; font-display:swap; font-style:normal;
  src:url(../fonts/public-sans-600.woff2) format("woff2"); }
@font-face { font-family:"Public Sans"; font-weight:700; font-display:swap; font-style:normal;
  src:url(../fonts/public-sans-700.woff2) format("woff2"); }
@font-face { font-family:"Archivo"; font-weight:700; font-display:swap; font-style:normal;
  src:url(../fonts/archivo-700.woff2) format("woff2"); }
@font-face { font-family:"Archivo"; font-weight:800; font-display:swap; font-style:normal;
  src:url(../fonts/archivo-800.woff2) format("woff2"); }

/* ---- Tokens ---- */
:root{
  --font-body:"Public Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display:"Archivo", var(--font-body);
  --font-mono:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, monospace;

  /* neutral — cool graphite-blue (storm sky), light theme */
  --bg:        #eef1f5;
  --surface:   #ffffff;
  --surface-2: #f5f7fa;
  --border:    #d9dfe7;
  --border-strong:#c3ccd8;
  --ink:       #131922;
  --ink-2:     #384454;
  --ink-3:     #647085;
  --brand:     #d9700c;   /* warm amber — severe-weather warning */
  --brand-ink: #b85a00;   /* amber text on light */
  --brand-soft:#fbe9d3;
  --info:      #1f6aa8;   /* flood blue */
  --info-soft: #dcecf7;

  /* severity scale — radar reflectivity / warning levels (data encoding) */
  --sev-0:#5a6675;  /* none/na */
  --sev-1:#2f9e57;  /* low   green */
  --sev-2:#e0b91d;  /* mod   yellow */
  --sev-3:#e07d1a;  /* high  orange */
  --sev-4:#d23b3b;  /* severe red */
  --sev-5:#9c33a0;  /* extreme magenta */

  --ok:#2f9e57; --warn:#e0b91d; --danger:#d23b3b;

  --radius:14px; --radius-sm:9px; --radius-lg:20px;
  --shadow:0 1px 2px rgba(19,25,34,.06), 0 4px 16px rgba(19,25,34,.06);
  --shadow-lg:0 8px 40px rgba(19,25,34,.12);
  --maxw:1180px; --gutter:clamp(16px,4vw,32px);
  --focus:#1f6aa8;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0c1016; --surface:#141a23; --surface-2:#1b2330; --border:#28313f; --border-strong:#38445600;
    --border-strong:#39465a;
    --ink:#e7ecf3; --ink-2:#aeb9c8; --ink-3:#7c899b;
    --brand:#f59a3c; --brand-ink:#f7ad5c; --brand-soft:#3a2914; --info:#5aa9e0; --info-soft:#16283a;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 6px 22px rgba(0,0,0,.35);
    --shadow-lg:0 10px 44px rgba(0,0,0,.5);
  }
}
:root[data-theme="light"]{
  --bg:#eef1f5; --surface:#fff; --surface-2:#f5f7fa; --border:#d9dfe7; --border-strong:#c3ccd8;
  --ink:#131922; --ink-2:#384454; --ink-3:#647085; --brand:#d9700c; --brand-ink:#b85a00;
  --brand-soft:#fbe9d3; --info:#1f6aa8; --info-soft:#dcecf7;
  --shadow:0 1px 2px rgba(19,25,34,.06), 0 4px 16px rgba(19,25,34,.06);
}
:root[data-theme="dark"]{
  --bg:#0c1016; --surface:#141a23; --surface-2:#1b2330; --border:#28313f; --border-strong:#39465a;
  --ink:#e7ecf3; --ink-2:#aeb9c8; --ink-3:#7c899b; --brand:#f59a3c; --brand-ink:#f7ad5c;
  --brand-soft:#3a2914; --info:#5aa9e0; --info-soft:#16283a;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 6px 22px rgba(0,0,0,.35);
}

/* ---- Reset-ish ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--brand-ink);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1.12;letter-spacing:-.02em;
  margin:0;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(1.9rem,4.4vw,3rem)}
h2{font-size:clamp(1.4rem,2.6vw,1.9rem);letter-spacing:-.015em}
h3{font-size:1.2rem;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
.tnum{font-variant-numeric:tabular-nums}

/* ---- Layout ---- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.wrap-narrow{max-width:820px;margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(32px,5vw,64px)}
.stack>*+*{margin-top:var(--s,16px)}
.grid{display:grid;gap:20px}
.muted{color:var(--ink-3)}
.eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;
  font-size:.72rem;font-weight:700;color:var(--brand-ink)}

/* ---- Header ---- */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--surface) 88%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.site-header__in{display:flex;align-items:center;gap:20px;height:62px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;
  font-size:1.05rem;letter-spacing:-.02em;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand__mark{width:26px;height:26px;flex:none}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav a{color:var(--ink-2);font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:8px}
.nav a:hover{color:var(--ink);background:var(--surface-2);text-decoration:none}
.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--ink-2);
  width:38px;height:38px;border-radius:9px;cursor:pointer;display:grid;place-items:center}
.theme-toggle:hover{color:var(--brand-ink);border-color:var(--brand)}
.nav-toggle{display:none}

/* ---- Search ---- */
.search{position:relative}
.search input{width:100%;font:inherit;font-size:1.05rem;padding:15px 18px 15px 48px;border-radius:var(--radius);
  border:1.5px solid var(--border-strong);background:var(--surface);color:var(--ink)}
.search input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 4px var(--brand-soft)}
.search__icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}
.search__results{position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;z-index:20}
.search__results a{display:flex;justify-content:space-between;gap:12px;padding:11px 16px;color:var(--ink);
  border-bottom:1px solid var(--border)}
.search__results a:last-child{border-bottom:0}
.search__results a:hover{background:var(--surface-2);text-decoration:none}
.search__results .kind{font-size:.78rem;color:var(--ink-3);font-weight:600}

/* ---- Hero (homepage) ---- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border);
  background:radial-gradient(1200px 400px at 78% -10%, color-mix(in srgb,var(--brand) 16%,transparent), transparent 60%),
             linear-gradient(180deg, var(--surface) 0%, var(--bg) 100%)}
.hero__in{padding-block:clamp(44px,7vw,86px);text-align:center}
.hero h1{max-width:15ch;margin-inline:auto}
.hero p.lede{font-size:clamp(1.05rem,2vw,1.28rem);color:var(--ink-2);max-width:52ch;margin:16px auto 30px}
.hero .search{max-width:620px;margin-inline:auto}
.hero__stats{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;margin-top:34px}
.hero__stat b{font-family:var(--font-display);font-size:1.7rem;display:block;color:var(--ink)}
.hero__stat span{font-size:.82rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}

/* ---- Cards ---- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow)}
.card__pad{padding:clamp(18px,3vw,26px)}
.card h2,.card h3{margin-bottom:.5em}

/* ---- Stat readout (instrument panel) ---- */
.readout{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;
  background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.readout__cell{background:var(--surface);padding:18px 20px}
.readout__cell .n{font-family:var(--font-mono);font-weight:600;font-size:1.7rem;color:var(--ink);
  line-height:1.1;letter-spacing:-.02em}
.readout__cell .l{font-size:.78rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}
.readout__cell.accent .n{color:var(--brand-ink)}

/* ---- Rank badge ---- */
.rankbadge{display:inline-flex;align-items:center;gap:10px;background:var(--brand-soft);
  border:1px solid color-mix(in srgb,var(--brand) 40%,transparent);border-radius:999px;
  padding:7px 16px 7px 12px;font-weight:700;color:var(--brand-ink);font-size:.95rem}
.rankbadge .hash{font-family:var(--font-display);font-size:1.15rem}

/* ---- Chips / severity ---- */
.chip{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;
  padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border)}
.chip--sev{color:#fff}
.sev-1{background:var(--sev-1)} .sev-2{background:var(--sev-2);color:#3a2e00}
.sev-3{background:var(--sev-3)} .sev-4{background:var(--sev-4)} .sev-5{background:var(--sev-5)}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block}

/* ---- Live warnings banner ---- */
.livewarn{border-radius:var(--radius);padding:16px 20px;display:flex;gap:14px;align-items:flex-start;
  border:1px solid var(--border)}
.livewarn--active{background:color-mix(in srgb,var(--danger) 12%,var(--surface));
  border-color:color-mix(in srgb,var(--danger) 45%,transparent)}
.livewarn--clear{background:color-mix(in srgb,var(--ok) 10%,var(--surface));
  border-color:color-mix(in srgb,var(--ok) 35%,transparent)}
.livewarn .pulse{width:11px;height:11px;border-radius:50%;margin-top:6px;flex:none}
.livewarn--active .pulse{background:var(--danger);box-shadow:0 0 0 0 color-mix(in srgb,var(--danger) 60%,transparent);
  animation:pulse 2s infinite}
.livewarn--clear .pulse{background:var(--ok)}
@keyframes pulse{70%{box-shadow:0 0 0 12px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.livewarn--active .pulse{animation:none}}

/* ---- Data tables ---- */
.tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}
table.data{width:100%;border-collapse:collapse;font-size:.94rem}
table.data th,table.data td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}
table.data th{font-family:var(--font-display);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;
  color:var(--ink-3);font-weight:700;background:var(--surface-2);position:sticky;top:0}
table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}
table.data tbody tr:hover{background:var(--surface-2)}
table.data td.wrap{white-space:normal;min-width:220px;color:var(--ink-2);font-size:.9rem}

/* ---- Hazard section ---- */
.hazard{border-left:3px solid var(--hz,var(--brand));padding-left:16px}
.hazard__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.hazard__head h3{margin:0}
.hazard__count{font-family:var(--font-mono);color:var(--ink-3);font-size:.9rem}

/* ---- FAQ ---- */
.faq details{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-bottom:10px}
.faq summary{cursor:pointer;padding:15px 18px;font-weight:700;font-family:var(--font-display);
  list-style:none;display:flex;justify-content:space-between;gap:12px;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brand-ink);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq .faq__a{padding:0 18px 16px;color:var(--ink-2)}

/* ---- Breadcrumb ---- */
.crumbs{font-size:.85rem;color:var(--ink-3);padding:14px 0;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.crumbs a{color:var(--ink-3)} .crumbs a:hover{color:var(--brand-ink)}
.crumbs .sep{opacity:.5}

/* ---- Buttons / pills ---- */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;
  padding:11px 20px;border-radius:10px;border:1.5px solid transparent;cursor:pointer;font-size:.95rem}
.btn--primary{background:var(--brand);color:#fff}
.btn--primary:hover{background:var(--brand-ink);text-decoration:none}
.btn--ghost{border-color:var(--border-strong);color:var(--ink);background:var(--surface)}
.btn--ghost:hover{border-color:var(--brand);color:var(--brand-ink);text-decoration:none}

/* ---- Browse grids (states / hazards) ---- */
.tilegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.tile{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink)}
.tile:hover{border-color:var(--brand);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-1px)}
.tile b{font-family:var(--font-display);font-weight:700}
.tile span{font-size:.8rem;color:var(--ink-3);font-variant-numeric:tabular-nums}

/* ---- Charts (inline SVG) ---- */
.chart{width:100%;height:auto;overflow:visible}
.chart .bar{fill:var(--brand);opacity:.85}
.chart .bar:hover{opacity:1}
.chart .axis{stroke:var(--border);stroke-width:1}
.chart .lbl{fill:var(--ink-3);font-size:10px;font-family:var(--font-mono)}

/* ---- Source / footer note ---- */
.sources{font-size:.82rem;color:var(--ink-3);border-top:1px solid var(--border);padding-top:16px;margin-top:8px}
.updated{font-size:.82rem;color:var(--ink-3)}

/* ---- Footer ---- */
.site-footer{border-top:1px solid var(--border);background:var(--surface);margin-top:48px}
.site-footer__in{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:32px;padding-block:44px}
.site-footer h4{font-family:var(--font-display);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;
  color:var(--ink-3);margin-bottom:12px}
.site-footer a{color:var(--ink-2);display:block;padding:3px 0;font-size:.92rem}
.site-footer a:hover{color:var(--brand-ink)}
.site-footer__legal{border-top:1px solid var(--border);padding-block:20px;font-size:.82rem;color:var(--ink-3)}

/* ---- Disclaimer ---- */
.disclaimer{background:var(--info-soft);border:1px solid color-mix(in srgb,var(--info) 30%,transparent);
  border-radius:var(--radius-sm);padding:12px 16px;font-size:.86rem;color:var(--ink-2)}

/* ---- Responsive ---- */
@media (max-width:860px){
  .site-footer__in{grid-template-columns:1fr 1fr}
  .nav{display:none}
  .nav--open{display:flex;position:absolute;top:62px;left:0;right:0;flex-direction:column;
    background:var(--surface);border-bottom:1px solid var(--border);padding:12px var(--gutter)}
  .nav-toggle{display:grid;place-items:center;margin-left:auto;width:38px;height:38px;
    border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--ink)}
}
@media (max-width:520px){
  body{font-size:16px}
  .site-footer__in{grid-template-columns:1fr}
  .readout__cell .n{font-size:1.4rem}
}

/* ==========================================================================
   Faydalı etkileşimler (ui.js) — sıralama, genişleme, paylaş, reveal, print
   ========================================================================== */

/* Sıralanabilir başlık */
table.sortable th.th-sort{cursor:pointer;user-select:none;position:relative;padding-right:22px}
table.sortable th.th-sort:hover{color:var(--brand-ink)}
table.sortable th.th-sort::after{content:"";position:absolute;right:8px;top:50%;transform:translateY(-50%);
  border:4px solid transparent;opacity:.3}
table.sortable th.th-sort::after{border-top-color:currentColor;margin-top:2px}
table.sortable th[aria-sort="ascending"]::after{border-top-color:transparent;border-bottom-color:var(--brand);opacity:1;margin-top:-2px}
table.sortable th[aria-sort="descending"]::after{border-top-color:var(--brand);opacity:1}
table.sortable th[aria-sort]{color:var(--brand-ink)}

/* Sticky başlık — uzun tablolar kendi içinde kayar */
.tablewrap.scroll{max-height:520px;overflow:auto}
.tablewrap.scroll table.data th{position:sticky;top:0;z-index:2}

/* Genişleyen olay satırı */
tr.ev-row{cursor:pointer}
tr.ev-row:hover{background:var(--surface-2)}
tr.ev-row.is-open{background:var(--brand-soft)}
tr.ev-row td:first-child{position:relative;padding-left:26px}
tr.ev-row td:first-child::before{content:"▸";position:absolute;left:10px;color:var(--ink-3);transition:transform .15s}
tr.ev-row.is-open td:first-child::before{transform:rotate(90deg);color:var(--brand-ink)}
tr.ev-detail>td{background:var(--surface-2);padding:14px 18px 18px;white-space:normal;font-size:.92rem;color:var(--ink-2);line-height:1.6}
tr.ev-detail .meta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px;font-family:var(--font-mono);font-size:.8rem;color:var(--ink-3)}

/* Days-since sayaç kartı */
.since{display:flex;align-items:baseline;gap:12px;background:var(--surface);border:1px solid var(--border);
  border-left:3px solid var(--brand);border-radius:var(--radius);padding:16px 20px}
.since b{font-family:var(--font-mono);font-size:2rem;color:var(--brand-ink);line-height:1;font-variant-numeric:tabular-nums}
.since span{color:var(--ink-2);font-size:.95rem}

/* Paylaş butonu + toast */
.sharebtn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:1px solid var(--border-strong);
  background:var(--surface);color:var(--ink-2);border-radius:8px;padding:6px 12px;font:inherit;font-size:.85rem;font-weight:600}
.sharebtn:hover{border-color:var(--brand);color:var(--brand-ink)}
.swh-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--ink);color:var(--surface);
  padding:11px 20px;border-radius:999px;font-size:.9rem;font-weight:600;box-shadow:var(--shadow-lg);opacity:0;
  transition:opacity .25s,transform .25s;z-index:200;pointer-events:none}
.swh-toast.in{opacity:1;transform:translate(-50%,0)}

/* Chart hover readout */
[data-chart-readout]{font-family:var(--font-mono);font-size:.82rem;color:var(--ink-3);min-height:1.2em;transition:color .1s}
[data-chart-readout].active{color:var(--brand-ink);font-weight:600}
.chart .bar{transition:opacity .1s}

/* Scroll reveal */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
  .reveal.is-in{opacity:1;transform:none}
}

/* Print — temiz county raporu (sigorta/başvuru) */
@media print{
  .site-header,.site-footer,.nav,.theme-toggle,.livewarn,.sharebtn,.search,[data-chart-readout]{display:none!important}
  body{background:#fff;color:#000;font-size:12pt}
  .card,.readout,.tablewrap{box-shadow:none;border-color:#ccc}
  a{color:#000;text-decoration:none}
  .wrap,.wrap-narrow{max-width:100%}
  table.data th{background:#f0f0f0!important}
  .section{padding-block:12px}
  tr.ev-detail{display:table-row!important}
}

/* ==========================================================================
   Mobil & responsive sertleştirme (WS1)
   ========================================================================== */
html{scroll-padding-top:74px}                          /* sticky header altında anchor zıplaması yok */
body.nav-lock{overflow:hidden;touch-action:none}       /* menü açıkken arka plan kaymaz */

/* Güvenli alan (çentikli cihaz) */
.wrap{padding-inline:max(var(--gutter), env(safe-area-inset-left), env(safe-area-inset-right))}
.swh-toast{bottom:calc(28px + env(safe-area-inset-bottom))}

@media (max-width:860px){
  /* Açık menü: temiz overlay dropdown (sticky header'a takılmaz) */
  .nav--open{box-shadow:var(--shadow-lg);gap:4px;max-height:calc(100dvh - 62px);overflow-y:auto;
    padding-bottom:calc(14px + env(safe-area-inset-bottom))}
  .nav--open a{padding:12px 10px;border-radius:8px}
  .nav--open a:not(:last-child){border-bottom:1px solid var(--border)}
  /* Dokunma hedefleri ≥44px */
  .nav-toggle,.theme-toggle{width:44px;height:44px}
  .sharebtn{min-height:44px;padding:9px 14px}
  table.sortable th.th-sort{padding-top:14px;padding-bottom:14px}
  .rankbadge{padding:9px 16px}
}

/* Sortable başlık: dokunmatikte keşfedilebilir + geri bildirim */
table.sortable th.th-sort::after{opacity:.5}
table.sortable th.th-sort{-webkit-tap-highlight-color:color-mix(in srgb,var(--brand) 22%,transparent)}
@media (hover:none){
  table.sortable th.th-sort:active{background:var(--brand-soft);color:var(--brand-ink)}
}

/* Homepage live warning strip */
.warnstrip{display:flex;align-items:center;gap:12px;max-width:var(--maxw);margin:16px auto 0;
  padding:12px max(var(--gutter),env(safe-area-inset-left));background:color-mix(in srgb,var(--danger) 12%,var(--surface));
  border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);border-radius:var(--radius);
  color:var(--ink);font-weight:600;font-size:.95rem;text-decoration:none;width:calc(100% - 2*var(--gutter))}
.warnstrip:hover{text-decoration:none;border-color:var(--danger)}
.warnstrip__pulse{width:11px;height:11px;border-radius:50%;background:var(--danger);flex:none;
  box-shadow:0 0 0 0 color-mix(in srgb,var(--danger) 60%,transparent);animation:pulse 2s infinite}
.warnstrip__cta{margin-left:auto;color:var(--brand-ink);font-weight:700;white-space:nowrap}
@media (prefers-reduced-motion:reduce){.warnstrip__pulse{animation:none}}
@media (max-width:640px){.warnstrip__cta{display:none}}

/* Eyalet kartogramı (tile-grid choropleth) */
.cartogram{display:grid;grid-template-columns:repeat(12,1fr);gap:5px;max-width:660px}
.carto-cell{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:5px;
  font-family:var(--font-mono);font-weight:700;font-size:.62rem;text-decoration:none;transition:outline .1s}
.carto-cell:hover{outline:2px solid var(--brand-ink);text-decoration:none;position:relative;z-index:1}
.carto-empty{background:transparent}
.carto-legend{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:.8rem;color:var(--ink-3)}
.carto-legend .swatches{display:flex;gap:3px}
.carto-legend .sw{width:22px;height:14px;border-radius:3px}
@media (max-width:520px){.carto-cell{font-size:.5rem;border-radius:3px}.cartogram{gap:3px}}
