:root{--bg:#f4f7fb;--paper:#fff;--ink:#172033;--muted:#64748b;--line:#dbe3ef;--accent:#2457a7;--accent2:#12376f;--good:#16794b;--warn:#9a6700;--danger:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1180px;margin:auto;padding:28px 20px}.narrow{max-width:760px}.brand{display:flex;gap:12px;align-items:baseline;margin:10px 0 24px}.brand strong{font-size:24px}.brand span{color:var(--muted)}.topbar{background:#fff;border-bottom:1px solid var(--line)}.topbar .inner{max-width:1180px;margin:auto;padding:14px 20px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.topbar nav{display:flex;gap:16px;flex-wrap:wrap;margin-left:auto}.hero{padding:38px 0 22px}.hero h1{font-size:38px;line-height:1.1;margin:0 0 12px;max-width:800px}.hero p{font-size:19px;color:var(--muted);max-width:820px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.card h2,.card h3{margin-top:0}.stat{font-size:32px;font-weight:700}.muted{color:var(--muted)}label{display:block;font-weight:650;margin:14px 0}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #b9c5d6;border-radius:8px;background:#fff;font:inherit;margin-top:6px}textarea{min-height:120px}button,.button{display:inline-block;border:0;border-radius:8px;background:var(--accent);color:white;padding:10px 15px;font-weight:700;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:var(--accent2);text-decoration:none}.button.secondary{background:#e8eef7;color:#20314b}.actions{display:flex;gap:9px;flex-wrap:wrap}.error,.success,.notice{padding:12px 14px;border-radius:8px;margin:12px 0}.error{background:#fee4e2;color:var(--danger)}.success{background:#dcfae6;color:var(--good)}.notice{background:#fff3d6;color:var(--warn)}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:13px;color:var(--muted);text-transform:uppercase}.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#edf2f7;font-size:12px}.searchbar{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end}.searchbar label{margin:0}.flag{width:28px;height:20px;object-fit:cover;border:1px solid #ddd;vertical-align:middle;margin-right:8px}.admin-layout{display:grid;grid-template-columns:220px 1fr;gap:22px}.sidebar{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;height:max-content}.sidebar a{display:block;padding:9px 10px;border-radius:7px}.sidebar a:hover{background:#eef3fa;text-decoration:none}.kicker{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:760px){.hero h1{font-size:30px}.searchbar,.two,.admin-layout{grid-template-columns:1fr}.topbar nav{margin-left:0}.sidebar{display:flex;overflow:auto;gap:4px}.sidebar a{white-space:nowrap}}

/* v0.2.4 — mapa-múndi como entrada geográfica principal */
.lead{font-size:18px;color:var(--muted);max-width:900px}.map-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 1px 2px rgba(0,0,0,.03);overflow:hidden}.world-map{display:block;width:100%;height:auto;max-height:620px}.world-map-ocean{fill:#eef5fb}.world-map-gridline{stroke:#dce7f2;stroke-width:1;vector-effect:non-scaling-stroke}.world-map-country{fill:#fafaf3;stroke:#fff;stroke-width:.7;vector-effect:non-scaling-stroke;transition:fill .12s ease,stroke .12s ease}.world-map-country-link:hover .world-map-country,.world-map-country-link:focus .world-map-country{stroke:#244d87;stroke-width:1.5;filter:brightness(.92)}.world-map-marker{fill:#fafaf3;stroke:#fff;stroke-width:1.6;vector-effect:non-scaling-stroke;transition:r .12s ease,fill .12s ease}.world-map-marker-link:hover .world-map-marker,.world-map-marker-link:focus .world-map-marker{stroke:#244d87;stroke-width:2.4;filter:brightness(.9);r:6px}.map-help{font-size:13px;color:var(--muted);padding:8px 5px 0}.home-map-section{margin:8px 0 24px}.home-map-intro{margin-top:-4px}.map-card-home{padding:10px}.map-card-home .world-map{max-height:470px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:10px}.section-heading h2{margin:2px 0 0}.home-primary-grid{margin-top:22px}.countries-directory{margin-top:28px}.country-search{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:end}.country-search label{margin:0}.country-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.country-card{padding:18px}.country-card h3{display:flex;align-items:center;gap:2px}@media(max-width:760px){.map-card{padding:6px}.world-map-marker{r:5px}.country-search{grid-template-columns:1fr}.section-heading{align-items:flex-start}.map-help{padding:8px}.home-map-section{margin-top:0}}


/* v0.2.7 — cores históricas atenuadas + ficha de país com bandeira */
.map-card{position:relative}
.world-map-country[style*="fill:"]{fill-opacity:.34;transition:fill-opacity .14s ease,stroke .12s ease}
.world-map-country-link:hover .world-map-country[style*="fill:"],
.world-map-country-link:focus .world-map-country[style*="fill:"],
.world-map-country-link:focus-visible .world-map-country[style*="fill:"]{fill-opacity:1;filter:none;stroke:#244d87;stroke-width:1.5}
.map-tooltip{position:absolute;z-index:30;display:none;min-width:112px;max-width:190px;padding:7px 9px;background:#fff;border:1px solid #4b5563;border-radius:2px;box-shadow:0 4px 12px rgba(0,0,0,.22);pointer-events:none;color:#172033;font-size:13px;line-height:1.25}
.map-tooltip.is-visible{display:block}
.map-tooltip-name{font-weight:650;margin-bottom:6px;white-space:normal}
.map-tooltip-flag{display:block;width:64px;max-height:48px;height:auto;object-fit:contain;border:1px solid #d8dee8;background:#fff}
.map-tooltip-code{font-size:11px;color:var(--muted);margin-left:4px;font-weight:500}
@media(max-width:760px){.world-map-country[style*="fill:"]{fill-opacity:.42}.map-tooltip{min-width:100px}.map-tooltip-flag{width:56px;max-height:42px}}


/* v0.2.8 — códigos ISO2 sobre cada país/território */
.world-map-code{
  fill:#111827;
  stroke:rgba(255,255,255,.78);
  stroke-width:.65px;
  paint-order:stroke fill;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:600;
  text-anchor:middle;
  dominant-baseline:central;
  pointer-events:none;
  user-select:none;
  transition:fill .12s ease,stroke .12s ease;
}
.world-map-country-link:hover .world-map-code,
.world-map-country-link:focus .world-map-code,
.world-map-country-link:focus-visible .world-map-code,
.world-map-marker-link:hover .world-map-code,
.world-map-marker-link:focus .world-map-code,
.world-map-marker-link:focus-visible .world-map-code{
  fill:#fff;
  stroke:rgba(17,24,39,.7);
}
/* Países sem cor histórica continuam neutros em repouso, mas ganham fundo
   azul somente durante hover/foco para que o código branco continue legível. */
.world-map-country-link:hover .world-map-country:not([style*="fill:"]),
.world-map-country-link:focus .world-map-country:not([style*="fill:"]),
.world-map-country-link:focus-visible .world-map-country:not([style*="fill:"]){
  fill:#2457a7;
  filter:none;
}
.world-map-marker-link:hover .world-map-marker,
.world-map-marker-link:focus .world-map-marker,
.world-map-marker-link:focus-visible .world-map-marker{
  fill:#2457a7;
  filter:none;
}

/* v0.2.9 — códigos ISO gravados no SVG + tooltip compacto + responsividade móvel */
.map-tooltip{
  position:fixed;
  z-index:9999;
  display:none;
  min-width:0;
  width:max-content;
  max-width:min(190px,calc(100vw - 20px));
  padding:0;
  overflow:hidden;
  background:#fff;
  border:1px solid #4b5563;
  border-radius:2px;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
  pointer-events:none;
  color:#172033;
  font-size:13px;
  line-height:1.2;
}
.map-tooltip.is-visible{display:block}
.map-tooltip-name{
  display:block;
  margin:0;
  padding:4px 6px;
  font-weight:650;
  white-space:normal;
}
.map-tooltip-flag{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  object-fit:contain;
  background:transparent;
}
.world-map-code{
  fill:#111827;
  stroke:rgba(255,255,255,.82);
  stroke-width:.65px;
  paint-order:stroke fill;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:600;
  text-anchor:middle;
  dominant-baseline:central;
  pointer-events:none;
  user-select:none;
  transition:fill .12s ease,stroke .12s ease;
}
.world-map-country-link:hover .world-map-code,
.world-map-country-link:focus .world-map-code,
.world-map-country-link:focus-visible .world-map-code,
.world-map-marker-link:hover .world-map-code,
.world-map-marker-link:focus .world-map-code,
.world-map-marker-link:focus-visible .world-map-code{
  fill:#fff;
  stroke:rgba(17,24,39,.7);
}
@media(max-width:760px){
  .map-card{
    padding:4px;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
  .map-card .world-map{
    width:720px;
    min-width:720px;
    max-width:none;
    height:auto;
    touch-action:pan-x pan-y;
  }
  .map-card-home .world-map{max-height:none}
  .map-tooltip{max-width:min(160px,calc(100vw - 16px));font-size:12px}
  .map-tooltip-name{padding:3px 5px}
}
@media(max-width:430px){
  .map-card .world-map{width:680px;min-width:680px}
  .container{padding-left:12px;padding-right:12px}
  .topbar .inner{padding-left:12px;padding-right:12px}
}


/* v0.2.10 — bandeira sem margem branca interna do PNG 64x64 */
.map-tooltip{
  min-width:0;
  width:max-content;
}
.map-tooltip-name{
  box-sizing:border-box;
  min-width:64px;
}
.map-tooltip-flag-crop{
  position:relative;
  display:block;
  width:64px;
  height:42px;
  margin:0;
  padding:0;
  overflow:hidden;
  background:transparent;
  border:0;
}
.map-tooltip-flag{
  position:absolute;
  left:50%;
  top:50%;
  display:block;
  width:82px;
  height:82px;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  object-fit:contain;
  object-position:center;
  transform:translate(-50%,-50%);
  background:transparent;
}
@media(max-width:760px){
  .map-tooltip-name{min-width:58px}
  .map-tooltip-flag-crop{width:58px;height:38px}
  .map-tooltip-flag{width:75px;height:75px}
}


/* v0.2.11 — Antártida + centralização visual dos ISO + ficha centralizada */
.map-tooltip-name{
  width:100%;
  text-align:center;
}
.map-tooltip-flag-crop{
  margin-left:auto;
  margin-right:auto;
}
/* Os códigos ISO dos países com área geográfica são posicionados no centro
   do principal corpo territorial diretamente no SVG. */
.world-map-country-link .world-map-code{
  text-anchor:middle;
  dominant-baseline:central;
}

/* v0.2.12 — página central de país */
.country-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;margin:4px 0 18px}.country-identity{display:flex;align-items:center;gap:16px}.country-identity h1{margin:2px 0 2px;font-size:38px;line-height:1.08}.country-iso{margin:4px 0 0;color:var(--muted)}.country-hero-flag{position:relative;display:block;width:72px;height:48px;overflow:hidden;border-radius:5px;box-shadow:0 0 0 1px var(--line);background:#fff;flex:0 0 auto}.country-hero-flag img{position:absolute;left:50%;top:50%;width:94px;height:94px;max-width:none;object-fit:contain;transform:translate(-50%,-50%)}.country-hero-actions{justify-content:flex-end}.country-nav{display:flex;gap:8px;overflow-x:auto;padding:8px 0 14px;margin-bottom:14px;scrollbar-width:thin}.country-nav a{white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:13px;color:#28415f}.country-nav a:hover{background:#eef3fa;text-decoration:none}.country-overview{margin:8px 0 24px}.country-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.country-summary-card{display:flex;flex-direction:column;gap:3px;color:var(--ink);text-decoration:none;min-height:140px}.country-summary-card:hover{text-decoration:none;border-color:#b8c8df;box-shadow:0 3px 10px rgba(36,87,167,.08)}.country-summary-card .stat{line-height:1}.country-summary-card small{color:var(--muted)}.country-sections{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.country-section{scroll-margin-top:18px}.country-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:8px}.country-section-head h2{font-size:22px;margin:0 0 4px}.country-section-head p{margin:0;color:var(--muted);font-size:14px}.country-count{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:999px;background:#edf2f7;font-weight:700;color:#334155;flex:0 0 auto}.country-list{list-style:none;margin:0;padding:0}.country-list li{padding:11px 0;border-bottom:1px solid #edf1f6}.country-list li:last-child{border-bottom:0}.country-list h3{margin:0}.country-item-meta{font-size:13px;color:var(--muted);margin-top:2px}.country-empty{margin:12px 0 3px;padding:14px;border-radius:9px;background:#f7f9fc;color:var(--muted);font-size:14px}.country-org-list{margin-top:4px}.country-pol-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.country-pol-meta>div{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fafcff}.country-pol-meta span,.country-pol-meta strong{display:block}.country-language-row{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.country-section h3{margin:18px 0 6px;font-size:16px}.country-section h3:first-child{margin-top:8px}
@media(max-width:900px){.country-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.country-sections{grid-template-columns:1fr}}
@media(max-width:600px){.country-identity{align-items:flex-start}.country-identity h1{font-size:31px}.country-hero-flag{width:62px;height:42px}.country-hero-flag img{width:82px;height:82px}.country-hero-actions{width:100%}.country-hero-actions .button{flex:1;text-align:center}.country-summary-grid{grid-template-columns:1fr 1fr}.country-summary-card{padding:16px;min-height:122px}.country-summary-card .stat{font-size:28px}.country-section{padding:17px}.country-section-head h2{font-size:20px}.country-pol-meta{grid-template-columns:1fr}.country-nav{margin-left:-4px;margin-right:-4px}}
@media(max-width:390px){.country-summary-grid{grid-template-columns:1fr}.country-hero-actions{display:grid;grid-template-columns:1fr}.country-identity{gap:11px}.country-hero-flag{width:56px;height:38px}}
.notice{padding:12px 14px;border-radius:10px;margin:0 0 16px;border:1px solid #cfd9e8;background:#fff}.notice.success{background:#eef9f0;border-color:#b9dfc1;color:#174c23}.notice.error{background:#fff0f0;border-color:#e4b4b4;color:#7a1e1e}.snapshot-history-item{padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid #e1e7ef}.snapshot-history-item:last-child{border-bottom:0;margin-bottom:0}

/* v0.2.14 — migração Link Library */
.legacy-id-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.legacy-id-form label{flex:1 1 260px;margin:0}.legacy-preview-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.legacy-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.legacy-compare>div{min-width:0}.legacy-dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px 14px}.legacy-dl dt{font-weight:700}.legacy-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}.legacy-term{display:inline-block;padding:3px 7px;border:1px solid #d5dfed;border-radius:999px;margin:2px 4px 2px 0;background:#f7f9fc;font-size:.88rem}.legacy-snapshot-preview{margin-top:10px;max-width:460px;border:1px solid #d5dfed;background:white;padding:8px}.legacy-snapshot-preview img{display:block;max-width:100%;height:auto;margin:auto}.legacy-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.legacy-candidate{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #d5dfed;border-radius:8px;text-decoration:none;background:#fff}.legacy-candidate span{white-space:nowrap;color:#5b6b82}.checkline{display:flex;align-items:center;gap:8px}.checkline input{width:auto}.notice.subtle{background:#f7f9fc;color:inherit;border-color:#d5dfed}
@media(max-width:760px){.legacy-compare{grid-template-columns:1fr}.legacy-candidates{grid-template-columns:1fr}.legacy-dl{grid-template-columns:1fr}.legacy-dl dt{margin-top:8px}.legacy-preview-head{display:block}}

/* v0.2.15 — migração em massa segura */
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bulk-form small{display:block;margin-top:4px;font-weight:400}.migration-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.migration-stats .stat{font-size:1rem;border:1px solid var(--line);border-radius:10px;padding:14px;background:#fafcff}.migration-stats .stat strong{display:block;font-size:28px;line-height:1.1}.migration-stats .stat span{display:block;margin-top:5px;color:var(--muted);font-size:13px}.table-scroll{overflow:auto;max-width:100%}.legacy-categories-summary{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.bulk-migration details{margin-top:16px}.bulk-migration summary{cursor:pointer}.bulk-migration code{overflow-wrap:anywhere}
@media(max-width:760px){.three,.migration-stats{grid-template-columns:1fr}.table-scroll table{min-width:720px}}


/* v0.2.16 layout categories */
.category-guide{margin:1rem 0}
.category-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.category-guide-grid div{border:1px solid #dbe4f0;border-radius:12px;padding:12px;background:#fff}
.category-guide-grid small{display:block;color:#315da8;margin-top:4px}
@media(max-width:700px){
 .category-guide-grid{grid-template-columns:1fr}
}
.resource-preview-snapshot img{max-width:180px;height:auto;border-radius:8px}

.resource-title-head{display:flex;align-items:center;gap:14px}
.resource-flag{width:42px;height:auto}
.tag{display:inline-block;border:1px solid #d6e0ef;border-radius:14px;padding:4px 9px;margin:2px;font-size:.9em;background:#f5f8fc}
.snapshot-card{margin-bottom:18px}
.snapshot-preview{max-width:220px;max-height:140px;display:block;margin:10px 0;border:1px solid #ddd}
@media(max-width:700px){.resource-title-head{align-items:flex-start}.snapshot-preview{max-width:100%}}

.country-layout{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start}
.country-sidebar{padding:16px;position:sticky;top:20px}
.country-sidebar h3{margin-top:0}
.country-sidebar a{display:block;padding:8px 10px;margin:5px 0;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px}
.country-category{padding:18px;margin-bottom:18px}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.resource-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;min-height:120px}
.resource-card h3{margin:0 0 8px;font-size:16px}
.resource-card p{margin:0;color:var(--muted);font-size:14px}
@media(max-width:800px){.country-layout{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr}.country-sidebar{position:static}}

/* ========================================================================== 
   v0.2.30 — RESTAURAÇÃO PROTEGIDA DO LAYOUT VALIDADO
   Regras finais: página inicial limpa, catálogo por categoria em fila única,
   sidebar moderna com rolagem, tooltip do mapa com 5 macrocategorias e
   barra superior interativa. Este bloco deve permanecer por último.
   ========================================================================== */

/* Barra superior: compacta, visível no carregamento e recolhida só ao descer. */
.topbar{position:sticky;top:0;z-index:1000;background:#fff;transform:translateY(0);transition:transform .18s ease;will-change:transform}
.topbar.topbar--hidden{transform:translateY(calc(-100% - 2px))}
.topbar .inner{max-width:1320px;padding:12px 22px;min-height:56px;flex-wrap:nowrap}
.topbar .brand{margin:0;white-space:nowrap}
.topbar .brand strong{font-size:24px}
.topbar .brand span{font-size:15px}
.topbar-reveal-zone{position:fixed;left:0;right:0;top:0;height:12px;z-index:999;pointer-events:auto;background:transparent}
@media(max-width:760px){.topbar{transform:none!important}.topbar-reveal-zone{display:none}.topbar .inner{flex-wrap:wrap;padding:10px 14px}.topbar .brand span{display:none}}

/* Homepage: somente a instrução pedida e o mapa, aproveitando toda a largura. */
.home-clean{background:#f4f7fb}
.home-clean>main.container{max-width:1340px;padding:14px 20px 24px}
.home-map-clean{margin:0;padding:0}
.home-map-instruction{margin:0 0 10px;text-align:center;font-size:24px;font-weight:650;line-height:1.3;color:var(--ink)}
.home-clean .map-card-home{margin:0;padding:4px;border-radius:12px;overflow:hidden}
.home-clean .map-card-home .world-map{display:block;width:100%;height:auto;max-height:none}
@media(max-width:760px){.home-clean>main.container{padding:10px 8px 18px}.home-map-instruction{font-size:18px;margin-bottom:8px}.home-clean .map-card-home{padding:2px}}

/* Tooltip clicável com as cinco macrocategorias. */
.map-tooltip{position:fixed!important;z-index:9999!important;display:none!important;width:250px!important;max-width:min(250px,calc(100vw - 18px))!important;min-width:210px!important;padding:8px!important;overflow:visible!important;background:#fff!important;border:1px solid #8a98aa!important;border-radius:9px!important;box-shadow:0 8px 24px rgba(15,23,42,.20)!important;pointer-events:auto!important;color:#172033!important;font-size:13px!important;line-height:1.2!important}
.map-tooltip.is-visible{display:block!important}
.map-tooltip-name{display:block!important;width:100%!important;min-width:0!important;margin:0 0 7px!important;padding:0!important;text-align:center!important;font-weight:750!important;font-size:14px!important;white-space:normal!important}
.map-tooltip-flag-crop{position:relative!important;width:70px!important;height:46px!important;margin:0 auto 8px!important;overflow:hidden!important;border:1px solid #d8dee8!important;border-radius:5px!important;background:#fff!important}
.map-tooltip-flag{position:absolute!important;left:50%!important;top:50%!important;display:block!important;width:92px!important;height:92px!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;object-fit:contain!important;transform:translate(-50%,-50%)!important;background:transparent!important}
.map-tooltip-macro-menu{display:grid;gap:4px;margin-top:4px;padding-top:7px;border-top:1px solid #e0e7f0}
.map-tooltip-macro-menu a{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;padding:6px 8px;border:1px solid #d9e2ef;border-radius:7px;background:#f8fbff;color:#174f9c;text-decoration:none;font-size:12px;line-height:1.15}
.map-tooltip-macro-menu a:hover,.map-tooltip-macro-menu a:focus-visible{background:#eaf3ff;border-color:#8fb1df;outline:none;text-decoration:none}
.map-tooltip-macro-menu a strong{font-size:13px;font-weight:800}
.map-tooltip-macro-menu a span{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.map-tooltip{width:220px!important;min-width:190px!important}.map-tooltip-macro-menu a{padding:5px 7px;font-size:11px}}

/* Página de país: identidade + categorias à esquerda, conteúdo completo à direita. */
.country-page>main.container{max-width:1320px;padding:14px 22px 28px}
.country-layout-restored{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:start}
.country-layout-restored .country-sidebar{position:sticky;top:70px;padding:12px;max-height:calc(100vh - 84px);overflow:hidden;border-radius:12px}
.country-sidebar-identity{display:flex;align-items:center;gap:10px;padding:8px 0 12px;border-bottom:1px solid var(--line)}
.country-sidebar-identity h1{margin:0;font-size:32px;line-height:1.05}
.country-sidebar-identity p{margin:5px 0 0;color:var(--muted);font-size:14px}
.country-sidebar-flag{position:relative;display:block;width:72px;height:48px;overflow:hidden;border-radius:5px;box-shadow:0 0 0 1px var(--line);background:#fff;flex:0 0 auto}
.country-sidebar-flag img{position:absolute;left:50%;top:50%;width:94px;height:94px;max-width:none;object-fit:contain;transform:translate(-50%,-50%)}
.country-category-links{--country-menu-font-size:13px;margin-top:10px;max-height:calc(100vh - 190px);overflow-y:auto;overflow-x:hidden;padding-right:6px;scrollbar-width:thin;scrollbar-color:#8f9db0 #eef2f7;scrollbar-gutter:stable;overscroll-behavior:contain}
.country-category-links::-webkit-scrollbar{width:8px}
.country-category-links::-webkit-scrollbar-track{background:#eef2f7;border-radius:999px}
.country-category-links::-webkit-scrollbar-thumb{background:#8f9db0;border-radius:999px;border:2px solid #eef2f7;min-height:42px}
.country-category-links::-webkit-scrollbar-thumb:hover{background:#69798f}
.country-macro-menu{margin:0 0 12px}
.country-macro-heading{margin:0 0 8px!important;font-size:calc(var(--country-menu-font-size) * 1.3)!important;font-weight:750!important;line-height:1.25!important}
.country-macro-heading>a{display:block!important;margin:0!important;padding:7px 8px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;color:#2457a7!important;white-space:normal!important;overflow-wrap:anywhere!important}
.country-macro-menu.is-empty .country-macro-heading>a{opacity:.58}
.country-subcategory-links{display:grid;gap:9px;margin-top:9px}
.country-subcategory-links>a{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:start;margin:0!important;padding:6px 7px!important;border:1px solid #dce4ef!important;border-radius:8px!important;background:#fff!important;font-size:var(--country-menu-font-size)!important;line-height:1.35!important;color:#2457a7!important;text-decoration:none!important;white-space:normal!important}
.country-subcategory-links>a:hover{background:#f5f8fd!important;border-color:#b9c9df!important}
.country-subcategory-name{min-width:0;overflow-wrap:anywhere}
.country-subcategory-count{white-space:nowrap;color:#315da8}

.country-catalog{min-width:0;width:100%}
.country-macro-anchor{height:0;scroll-margin-top:74px}
.country-category{width:100%;max-width:none;margin:0 0 16px;padding:12px;scroll-margin-top:74px}
.country-category-title{display:flex;align-items:flex-start;gap:9px;margin:0 0 10px!important;font-size:24px!important;line-height:1.3!important;color:#101828;overflow-wrap:anywhere}
.country-category-icon{flex:0 0 auto;color:#a0a9b8;font-size:22px;line-height:1.35}
.resource-grid-single{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;width:100%!important}
.resource-card-horizontal{display:grid!important;grid-template-columns:200px minmax(0,1fr)!important;gap:14px!important;width:100%!important;min-width:0!important;min-height:164px!important;padding:10px!important;border-radius:11px!important;background:#fff!important}
.resource-card-snapshot{min-width:0}
.resource-card-snapshot>a{display:flex;width:100%;height:146px;align-items:center;justify-content:center;overflow:hidden;border:1px solid #d9e2ef;border-radius:10px;background:#fafcff;text-decoration:none}
.resource-card-snapshot img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.resource-snapshot-empty{font-size:12px;color:#98a2b3}
.resource-card-content{display:flex;min-width:0;flex-direction:column;align-items:flex-start}
.resource-category-chip{display:inline-block;max-width:100%;margin:0 0 5px;padding:3px 8px;border:1px solid #d7e1ef;border-radius:7px;background:#f5f8fc;color:#2457a7;font-size:12px;line-height:1.35;overflow-wrap:anywhere;text-decoration:none}
.resource-category-chip:hover{background:#edf4fe;text-decoration:none}
.resource-card-horizontal h3{width:100%;margin:0 0 6px!important;padding:4px 8px;border:1px solid #d7e1ef;border-radius:7px;background:#f4f7fb;font-size:16px!important;line-height:1.35!important;overflow-wrap:anywhere}
.resource-card-horizontal h3 a{text-decoration:none}.resource-card-horizontal h3 a:hover{text-decoration:underline}
.resource-card-description{margin:0!important;color:#60708a!important;font-size:14px!important;line-height:1.5!important;overflow-wrap:anywhere}
.resource-card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.resource-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid #d6e0ef;border-radius:7px;background:#f7f9fc;color:#2457a7;font-size:13px;line-height:1.25}
.resource-tag-flag{position:relative;display:inline-block;width:25px;height:17px;overflow:hidden;border-radius:2px;background:#fff}
.resource-tag-flag img{position:absolute;left:50%;top:50%;width:34px;height:34px;max-width:none;object-fit:contain;transform:translate(-50%,-50%)}

.country-extra-block{margin-top:24px;padding-top:8px;border-top:1px solid var(--line)}
.country-extra-block>h2{font-size:22px;margin:0 0 12px}
.country-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.country-extra-grid>.card{padding:16px}.country-extra-grid h3{margin:0 0 8px}
.country-polpub-card{grid-column:1/-1}
.country-bottom-actions{display:flex;gap:16px;flex-wrap:wrap;padding:14px 2px 0;font-size:14px}

@media(max-width:900px){
  .country-page>main.container{padding:12px}
  .country-layout-restored{grid-template-columns:210px minmax(0,1fr);gap:12px}
  .resource-card-horizontal{grid-template-columns:170px minmax(0,1fr)!important}
  .resource-card-snapshot>a{height:130px}
  .country-sidebar-identity h1{font-size:27px}
}
@media(max-width:760px){
  .country-layout-restored{grid-template-columns:1fr}
  .country-layout-restored .country-sidebar{position:static;max-height:none;overflow:hidden}
  .country-category-links{max-height:52vh}
  .resource-card-horizontal{grid-template-columns:130px minmax(0,1fr)!important;gap:10px!important}
  .resource-card-snapshot>a{height:110px}
  .country-category-title{font-size:20px!important}
  .country-extra-grid{grid-template-columns:1fr}.country-polpub-card{grid-column:auto}
}
@media(max-width:520px){
  .resource-card-horizontal{grid-template-columns:1fr!important}
  .resource-card-snapshot>a{height:180px}
  .country-sidebar-identity h1{font-size:26px}
}

/* v0.2.31 — mapa seguro/compacto, largura fluida e correcoes de regressao. */
.home-clean .topbar .inner,
.country-page .topbar .inner{max-width:none;width:100%;padding-left:clamp(14px,2vw,30px);padding-right:clamp(14px,2vw,30px)}
.home-clean>main.container,
.country-page>main.container{max-width:none;width:100%;margin:0;padding-left:clamp(12px,1.7vw,28px);padding-right:clamp(12px,1.7vw,28px)}

/* Pais sem ficha publicada: neutro, sem hover, sem clique e sem tooltip. */
.world-map-country-link.is-inactive,
.world-map-marker-link.is-inactive{pointer-events:none;cursor:default}
.world-map-country-link.is-inactive .world-map-country,
.world-map-marker-link.is-inactive .world-map-marker{fill:#fafaf3!important;fill-opacity:1!important;stroke:#e5e7eb!important;filter:none!important}
.world-map-country-link.is-inactive .world-map-code,
.world-map-marker-link.is-inactive .world-map-code{fill:#b8c0cb!important;opacity:.72!important}
.world-map-country-link.is-active .world-map-country[style*="fill:"],
.world-map-marker-link.is-active .world-map-marker[style*="fill:"]{fill-opacity:.72!important}
.world-map-country-link.is-active:hover .world-map-country,
.world-map-country-link.is-active:focus .world-map-country,
.world-map-marker-link.is-active:hover .world-map-marker,
.world-map-marker-link.is-active:focus .world-map-marker{fill-opacity:1!important;stroke:#244d87!important;filter:none!important}

/* Tooltip: sem grande coluna vazia, tudo alinhado a esquerda. */
.map-tooltip{width:216px!important;min-width:0!important;max-width:calc(100vw - 16px)!important;padding:6px!important;border-radius:8px!important;font-size:12px!important;line-height:1.15!important}
.map-tooltip-head{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;gap:7px!important;align-items:center!important;margin:0 0 5px!important}
.map-tooltip-name{margin:0!important;padding:0!important;text-align:left!important;font-size:13px!important;line-height:1.15!important;overflow-wrap:anywhere!important}
.map-tooltip-flag-crop{width:54px!important;height:36px!important;margin:0!important;border-radius:4px!important}
.map-tooltip-flag{width:72px!important;height:72px!important}
.map-tooltip-macro-menu{display:grid!important;gap:2px!important;margin:0!important;padding:5px 0 0!important;border-top:1px solid #e3e8ef!important}
.map-tooltip-macro-menu a{display:grid!important;grid-template-columns:25px minmax(0,1fr)!important;gap:5px!important;align-items:center!important;margin:0!important;padding:4px 5px!important;border:1px solid #dce4ef!important;border-radius:5px!important;background:#fff!important;font-size:11px!important;line-height:1.1!important;text-align:left!important}
.map-tooltip-macro-menu a strong{font-size:11px!important;line-height:1.1!important;text-align:left!important}
.map-tooltip-macro-menu a span{min-width:0!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important}
.map-tooltip-macro-menu .map-tooltip-all{grid-template-columns:1fr!important;background:#eef5ff!important;padding:5px 6px!important}
.map-tooltip-macro-menu .map-tooltip-all strong{font-size:12px!important}
@media(max-width:760px){.map-tooltip{width:202px!important}.map-tooltip-macro-menu a{padding:4px 5px!important}}

/* Menu de areas especiais recuperado do repertorio antigo, agora abaixo do mapa. */
.special-map-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;width:100%;margin:8px 0 0;padding:0}
.special-map-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:7px;align-items:center;min-width:0;padding:7px 9px;border:1px solid #d8e1ed;border-radius:8px;background:#fff;color:#2457a7;text-decoration:none;font-size:12px;line-height:1.2}
a.special-map-item:hover{background:#f4f8fd;border-color:#afc0d8;text-decoration:none}
.special-map-icon{display:grid;place-items:center;min-width:28px;height:24px;border-radius:5px;background:#eef3fa;color:#234f91;font-size:11px;font-weight:800}
.special-map-label{min-width:0;overflow-wrap:anywhere}
.special-map-count{font-size:11px;color:#65758b}
.special-map-item.is-disabled{color:#98a2b3;background:#f8fafc;border-color:#e7ebf1;cursor:default}
.special-map-item.is-disabled .special-map-icon{background:#f0f2f5;color:#a6adb8}
@media(max-width:600px){.special-map-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.special-map-item{grid-template-columns:25px minmax(0,1fr);padding:6px}.special-map-count{display:none}}

/* Pagina do pais: aproveita toda a largura disponivel em qualquer zoom. */
.country-layout-restored{grid-template-columns:clamp(235px,19vw,305px) minmax(0,1fr);gap:clamp(12px,1.4vw,22px);width:100%;max-width:none}
.country-layout-restored .country-sidebar{width:100%;max-width:none}
.country-catalog{width:100%;max-width:none}
.country-category{width:100%;max-width:none;padding:10px 11px}
.country-category-title{font-size:20px!important;line-height:1.25!important;margin-bottom:8px!important}
.country-category-icon{font-size:18px!important}
.resource-card-horizontal{grid-template-columns:clamp(185px,17vw,235px) minmax(0,1fr)!important;gap:12px!important;min-height:154px!important}
.resource-card-snapshot>a{height:138px}
.resource-card-horizontal h3{font-size:16px!important}
.country-macro-heading>span{display:block;margin:0;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#f7f9fc;color:#8b96a8;font-size:inherit;font-weight:inherit;line-height:inherit;white-space:normal;overflow-wrap:anywhere}
.country-macro-menu.is-empty .country-macro-heading>a{pointer-events:none}

/* Mantem a coluna lateral legivel mesmo em zoom muito afastado. */
@media(min-width:1500px){
  .country-page>main.container{padding-left:18px;padding-right:18px}
  .country-layout-restored{grid-template-columns:275px minmax(0,1fr);gap:16px}
  .resource-card-horizontal{grid-template-columns:220px minmax(0,1fr)!important}
}
@media(max-width:900px){
  .country-layout-restored{grid-template-columns:210px minmax(0,1fr)}
  .resource-card-horizontal{grid-template-columns:160px minmax(0,1fr)!important}
  .resource-card-snapshot>a{height:124px}
}
@media(max-width:760px){
  .country-layout-restored{grid-template-columns:1fr}
  .resource-card-horizontal{grid-template-columns:130px minmax(0,1fr)!important}
}
@media(max-width:520px){.resource-card-horizontal{grid-template-columns:1fr!important}}


/* v0.2.32 — tooltip do mapa ainda mais compacto, sem coluna branca lateral. */
.map-tooltip{
  width:max-content!important;
  min-width:154px!important;
  max-width:min(180px,calc(100vw - 16px))!important;
  padding:5px!important;
  border-radius:7px!important;
}
.map-tooltip-head{
  grid-template-columns:46px auto!important;
  gap:6px!important;
  justify-content:start!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 3px!important;
}
.map-tooltip-flag-crop{
  width:46px!important;
  height:31px!important;
  margin:0!important;
}
.map-tooltip-flag{width:64px!important;height:64px!important}
.map-tooltip-name{
  width:auto!important;
  max-width:112px!important;
  font-size:12px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.map-tooltip-macro-menu{
  width:max-content!important;
  min-width:100%!important;
  max-width:100%!important;
  gap:2px!important;
  padding:3px 0 0!important;
}
.map-tooltip-macro-menu a{
  grid-template-columns:22px auto!important;
  gap:4px!important;
  width:100%!important;
  padding:3px 4px!important;
  border-radius:4px!important;
  font-size:10.5px!important;
  line-height:1.05!important;
}
.map-tooltip-macro-menu a strong{font-size:10.5px!important;line-height:1.05!important}
.map-tooltip-macro-menu a span{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.map-tooltip-macro-menu .map-tooltip-all{
  grid-template-columns:auto!important;
  padding:4px!important;
}
.map-tooltip-macro-menu .map-tooltip-all strong{
  font-size:11px!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .map-tooltip{width:max-content!important;min-width:150px!important;max-width:min(176px,calc(100vw - 12px))!important}
}


/* v0.2.34 — tooltip ultra-compacto, sem faixa branca lateral. */
.map-tooltip{
  width:fit-content!important;
  min-width:142px!important;
  max-width:min(164px,calc(100vw - 12px))!important;
  padding:4px!important;
  border-radius:6px!important;
}
.map-tooltip-head{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  align-items:center!important;
  gap:5px!important;
  width:auto!important;
  margin:0 0 3px!important;
}
.map-tooltip-flag-crop{width:40px!important;height:27px!important;border-radius:3px!important}
.map-tooltip-flag{width:56px!important;height:56px!important}
.map-tooltip-name{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:100px!important;
  margin:0!important;
  font-size:11.5px!important;
  line-height:1.05!important;
  font-weight:750!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.map-tooltip-macro-menu{
  display:grid!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  gap:1px!important;
  margin:0!important;
  padding:3px 0 0!important;
}
.map-tooltip-macro-menu a{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:center!important;
  width:auto!important;
  min-width:0!important;
  gap:4px!important;
  margin:0!important;
  padding:3px 4px!important;
  border-radius:4px!important;
  font-size:10px!important;
  line-height:1.02!important;
}
.map-tooltip-macro-menu a strong{font-size:10.5px!important;line-height:1.02!important}
.map-tooltip-macro-menu a span{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.map-tooltip-macro-menu .map-tooltip-all{
  grid-template-columns:minmax(0,1fr)!important;
  width:auto!important;
  padding:4px 5px!important;
  text-align:left!important;
}
.map-tooltip-macro-menu .map-tooltip-all strong{
  display:block!important;
  font-size:10.75px!important;
  line-height:1.05!important;
  white-space:normal!important;
}
@media(max-width:760px){
  .map-tooltip{max-width:min(156px,calc(100vw - 10px))!important}
}
\n\n/* v0.2.35 — ícones visuais nos atalhos especiais + 2px a menos de padding nos botões do tooltip. */
.special-map-icon{
  display:grid!important;
  place-items:center!important;
  min-width:30px!important;
  width:30px!important;
  height:26px!important;
  padding:0!important;
  border:1px solid #e0e7f0!important;
  border-radius:5px!important;
  background:#f8fbff!important;
  color:#234f91!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:800!important;
  font-family:system-ui,-apple-system,"Segoe UI Emoji","Noto Color Emoji","Apple Color Emoji",sans-serif!important;
  overflow:hidden!important;
}
.special-map-icon-world{font-size:18px!important}
.special-map-icon-autistan{background:#eef4ff!important;color:#285da7!important;font-size:19px!important}
.special-map-icon-un,.special-map-icon-europe,.special-map-icon-im{font-size:18px!important;background:#fff!important}
.special-map-icon-g20{font-size:9px!important;letter-spacing:-.4px!important;background:#eaf2ff!important}
.special-map-icon-africa,.special-map-icon-asean{font-size:18px!important;background:#fff!important}

/* v0.2.34 usava 3px 4px; agora são exatamente 2px a menos em cada eixo. */
.map-tooltip-macro-menu a{padding:1px 2px!important}
.map-tooltip-macro-menu .map-tooltip-all{padding:2px 3px!important}


/* v0.2.37 — emojis históricos das 5 macrocategorias. */
.country-macro-emoji,.country-category-emoji,.resource-category-emoji{display:inline-block;vertical-align:-.08em;line-height:1;margin-right:5px;font-style:normal}
.country-macro-emoji{min-width:1.1em;text-align:center}
.country-category-emoji{margin-right:4px}
.resource-category-emoji{margin-right:4px}
.country-category-icon{color:inherit!important;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}


/* v0.2.38 — ícones oficiais das áreas especiais, a partir dos URLs históricos fornecidos. */
.special-map-icon{
  padding:1px!important;
  background:#fff!important;
}
.special-map-icon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
.special-map-icon-world img{object-fit:contain!important}
.special-map-icon-g20 img{object-fit:contain!important}


/* v0.2.39 — coluna de categorias ligeiramente mais larga, sem alterar o restante do layout. */

/* v0.2.40 — coluna lateral ampliada o suficiente para manter as macrocategorias em uma linha. */
.country-layout-restored{
  grid-template-columns:clamp(285px,22vw,335px) minmax(0,1fr)!important;
}
.country-macro-heading>a,
.country-macro-heading>span{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
@media(min-width:1500px){
  .country-layout-restored{grid-template-columns:315px minmax(0,1fr)!important}
}
@media(max-width:900px) and (min-width:761px){
  .country-layout-restored{grid-template-columns:280px minmax(0,1fr)!important}
}
@media(max-width:760px){
  .country-layout-restored{grid-template-columns:1fr!important}
}

/* v0.2.41 — largura efetiva da barra lateral: macrocategorias em uma unica linha. */
@media (min-width:761px){
  .country-layout-restored{
    grid-template-columns:340px minmax(0,1fr)!important;
  }
  .country-layout-restored .country-sidebar{
    min-width:0!important;
  }
  .country-category-links{
    padding-right:4px!important;
  }
  .country-macro-heading>a,
  .country-macro-heading>span{
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .country-macro-emoji{
    flex:0 0 auto!important;
  }
}
@media (min-width:1500px){
  .country-layout-restored{
    grid-template-columns:360px minmax(0,1fr)!important;
  }
}

/* v0.2.43 — atalhos especiais com ícones no porte das bandeiras do tooltip + macros vazias realmente ocultas. */
.map-tooltip-macro-menu a[hidden]{display:none!important}
.special-map-item{
  grid-template-columns:40px minmax(0,1fr) auto!important;
}
.special-map-icon{
  min-width:40px!important;
  width:40px!important;
  height:27px!important;
  padding:0!important;
  border-radius:4px!important;
}
.special-map-icon img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
@media(max-width:600px){
  .special-map-item{grid-template-columns:40px minmax(0,1fr)!important}
}

/* v0.2.45 — logo, seletor de idioma, tema claro/escuro e bandeiras sem corte. */
.sr-only{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}
.topbar .inner{gap:14px}
.brand{display:flex;align-items:center;gap:10px;margin:0;text-decoration:none;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand-logo-wrap{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:10px;padding:2px;background:rgba(255,255,255,.92);box-shadow:0 0 0 1px rgba(36,87,167,.10)}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;line-height:1.08}
.brand-copy strong{font-size:23px}
.brand-copy>span{font-size:13px;color:var(--muted);margin-top:3px}
.ui-controls{display:flex;align-items:center;gap:7px;margin-left:2px}
.ui-language{margin:0!important}
.ui-language select{width:auto;min-width:78px;margin:0;padding:7px 26px 7px 9px;border-radius:8px;background:var(--paper);color:var(--ink);border-color:var(--line);font-size:12px;font-weight:700}
.theme-toggle{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:12px;line-height:1}
.theme-toggle:hover{background:#eef3fa;color:var(--ink)}
.flag{width:30px;height:21px;object-fit:contain;border:0;background:transparent;margin-right:6px}
.country-sidebar-flag{display:grid!important;place-items:center!important;width:72px!important;height:48px!important;overflow:visible!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}
.country-sidebar-flag img{position:static!important;display:block!important;width:72px!important;height:48px!important;max-width:100%!important;object-fit:contain!important;transform:none!important}
.resource-tag-flag{display:grid!important;place-items:center!important;width:28px!important;height:20px!important;overflow:visible!important;background:transparent!important;border-radius:0!important}
.resource-tag-flag img{position:static!important;display:block!important;width:28px!important;height:20px!important;max-width:100%!important;object-fit:contain!important;transform:none!important}
.map-tooltip-flag-crop{display:grid!important;place-items:center!important;width:42px!important;height:29px!important;overflow:visible!important;border:0!important;background:transparent!important}
.map-tooltip-flag{position:static!important;display:block!important;width:42px!important;height:29px!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;transform:none!important;background:transparent!important}
.resource-title-head .resource-flag{display:block;width:52px;height:36px;object-fit:contain;border:0;background:transparent;margin:0}
.resource-title-flag-link{display:inline-grid;place-items:center;flex:0 0 auto;border-radius:4px}
.resource-tag{cursor:pointer;text-decoration:none}
a.resource-tag:hover{background:#edf4ff;text-decoration:none;border-color:#9ab8dd}

html[data-theme="dark"]{--bg:#0e141c;--paper:#17212c;--ink:#e7edf4;--muted:#9aa9bb;--line:#314153;--accent:#79aefe;--accent2:#a8c9ff;--good:#63d49b;--warn:#f3c86a;--danger:#ff8a82;color-scheme:dark}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .card,html[data-theme="dark"] .sidebar,html[data-theme="dark"] table,html[data-theme="dark"] .map-card,html[data-theme="dark"] .special-map-item,html[data-theme="dark"] .country-sidebar a,html[data-theme="dark"] .resource-tag,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:var(--paper);color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] th,html[data-theme="dark"] td{border-color:var(--line)}
html[data-theme="dark"] .button.secondary{background:#26374a;color:#e7edf4}
html[data-theme="dark"] .notice{background:#3a321c;color:#f4d483}
html[data-theme="dark"] .error{background:#422321;color:#ffaaa3}
html[data-theme="dark"] .success{background:#173529;color:#83ddb0}
html[data-theme="dark"] .theme-toggle:hover,html[data-theme="dark"] .sidebar a:hover,html[data-theme="dark"] a.resource-tag:hover{background:#233246}
html[data-theme="dark"] .brand-logo-wrap{background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 2px 14px rgba(0,0,0,.25)}
html[data-theme="dark"] .world-map-ocean{fill:#162330}
html[data-theme="dark"] .world-map-gridline{stroke:#304253}
html[data-theme="dark"] .world-map-country-link.is-inactive .world-map-country,html[data-theme="dark"] .world-map-marker-link.is-inactive .world-map-marker{fill:#252d34!important;stroke:#394653!important}
html[data-theme="dark"] .map-tooltip{background:#16212d!important;color:#edf3fb!important;border-color:#53677c!important;box-shadow:0 8px 24px rgba(0,0,0,.42)!important}
html[data-theme="dark"] .map-tooltip-macro-menu a{background:#1b2938!important;border-color:#3b4d61!important;color:#9dc5ff!important}
html[data-theme="dark"] .map-tooltip-macro-menu .map-tooltip-all{background:#223754!important}
html[data-theme="dark"] .map-tooltip-macro-menu{border-top-color:#3b4d61!important}
html[data-theme="dark"] .special-map-item{color:#8bbcff}
html[data-theme="dark"] .special-map-icon{background:#fff!important}
@media(max-width:900px){.topbar .inner{flex-wrap:wrap}.ui-controls{margin-left:auto}.brand-copy>span{display:none}}
@media(max-width:600px){.brand-logo-wrap{width:38px;height:38px;flex-basis:38px}.brand-copy strong{font-size:20px}.theme-toggle [data-theme-label]{display:none}.ui-language select{min-width:66px}.topbar nav{order:3;width:100%;justify-content:center}}

/* v0.2.45 final — bandeiras sempre completas, sem recorte. */
.country-sidebar-flag{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  width:auto!important;height:auto!important;min-width:0!important;overflow:visible!important;
  background:transparent!important;box-shadow:none!important;border:0!important;
}
.country-sidebar-flag img{
  position:static!important;display:block!important;width:84px!important;height:auto!important;
  max-width:84px!important;max-height:none!important;object-fit:contain!important;transform:none!important;
  margin:0!important;padding:0!important;border:0!important;background:transparent!important;
}
.resource-title-head .resource-flag{display:block!important;width:56px!important;height:auto!important;max-height:none!important;object-fit:contain!important;margin:0!important;border:0!important;background:transparent!important}
.resource-tag-flag{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;overflow:visible!important;background:transparent!important}
.resource-tag-flag img{position:static!important;display:block!important;width:28px!important;height:auto!important;max-width:28px!important;max-height:none!important;object-fit:contain!important;transform:none!important;margin:0!important;padding:0!important;border:0!important}
.flag{object-fit:contain!important;overflow:visible!important}

/* Conteúdo traduzido: editor simples no Gerenciar. */
.translation-editor{margin-top:18px}.translation-editor summary{cursor:pointer;color:var(--accent)}.translation-editor h3{margin:16px 0 6px}


/* v0.2.46 — bandeiras inteiras sem moldura/recorte + logo pequeno (56 px). */
/* Remove completamente a "caixa" intermediária da bandeira da página do país. */
.country-sidebar-flag{
  display:contents!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.country-sidebar-flag img{
  position:static!important;
  display:block!important;
  width:auto!important;
  height:56px!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
/* Todas as demais bandeiras usam a proporção original e nunca são cortadas. */
.flag,.resource-title-head .resource-flag,.resource-tag-flag img,.map-tooltip-flag{
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
/* Logo discreto no cabeçalho, com tamanho visual fixo de 56 px. */
.brand-logo-wrap{
  display:grid!important;
  place-items:center!important;
  width:56px!important;
  height:56px!important;
  flex:0 0 56px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.brand-logo{
  display:block!important;
  width:56px!important;
  height:56px!important;
  max-width:56px!important;
  max-height:56px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  object-fit:contain!important;
  background:transparent!important;
}
html[data-theme="dark"] .brand-logo-wrap{
  background:transparent!important;
  box-shadow:none!important;
}
@media(max-width:600px){
  .brand-logo-wrap{width:52px!important;height:52px!important;flex-basis:52px!important}
  .brand-logo{width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important}
  .country-sidebar-flag img{height:50px!important}
}


/* v0.2.47 — idiomas no estilo compacto do Autismology.org: FR EN ES PT-BR RU. */
.ui-controls{display:flex;align-items:center;gap:8px;margin-left:2px}
.ui-language-links{
  display:flex!important;
  align-items:center!important;
  gap:2px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  white-space:nowrap!important;
}
.ui-language-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:30px!important;
  height:30px!important;
  padding:0 7px!important;
  margin:0!important;
  border:1px solid transparent!important;
  border-radius:6px!important;
  background:transparent!important;
  color:var(--accent)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  text-decoration:none!important;
}
.ui-language-link:hover,
.ui-language-link:focus-visible{
  background:#eef4fc!important;
  border-color:#c9d8eb!important;
  text-decoration:none!important;
  outline:none!important;
}
.ui-language-link.is-active,
.ui-language-link[aria-current="page"]{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#fff!important;
  cursor:default!important;
}
html[data-theme="dark"] .ui-language-link{color:#9dc5ff!important}
html[data-theme="dark"] .ui-language-link:hover,
html[data-theme="dark"] .ui-language-link:focus-visible{background:#233246!important;border-color:#465c74!important}
html[data-theme="dark"] .ui-language-link.is-active,
html[data-theme="dark"] .ui-language-link[aria-current="page"]{background:#356fb9!important;border-color:#5b91d4!important;color:#fff!important}
@media(max-width:900px){
  .ui-controls{width:auto;gap:5px}
  .ui-language-links{gap:1px!important}
  .ui-language-link{min-width:28px!important;height:28px!important;padding:0 5px!important;font-size:11px!important}
}
@media(max-width:600px){
  .topbar .inner{row-gap:7px}
  .ui-controls{order:2;margin-left:auto}
  .ui-language-links{flex-wrap:nowrap!important}
  .ui-language-link{min-width:26px!important;height:26px!important;padding:0 4px!important;font-size:10.5px!important}
  .theme-toggle{height:28px;padding:5px 7px!important}
  .topbar nav:not(.ui-language-links){order:3;width:100%;justify-content:center}
}

/* v0.2.48 — barra superior ~30% menor + tema escuro com contraste corrigido. */
@media (min-width:901px){
  .topbar .inner{
    min-height:0!important;
    padding-top:3px!important;
    padding-bottom:3px!important;
    gap:10px!important;
  }
  .brand{gap:8px!important}
  .brand-logo-wrap{
    width:50px!important;
    height:50px!important;
    flex-basis:50px!important;
  }
  .brand-logo{
    width:50px!important;
    height:50px!important;
    max-width:50px!important;
    max-height:50px!important;
  }
  .brand-copy strong{font-size:20px!important;line-height:1.02!important}
  .brand-copy>span{font-size:12px!important;margin-top:2px!important}
  .topbar nav:not(.ui-language-links){gap:12px!important}
  .topbar nav:not(.ui-language-links)>a{font-size:14px!important;line-height:1.1!important}
  .ui-controls{gap:5px!important}
  .ui-language-link{height:26px!important;min-width:27px!important;padding:0 5px!important;font-size:11px!important}
  .theme-toggle{height:28px!important;padding:5px 7px!important;font-size:11px!important}
  .country-layout-restored .country-sidebar{top:58px!important;max-height:calc(100vh - 70px)!important}
  .country-category-links{max-height:calc(100vh - 174px)!important}
  .country-macro-anchor,.country-category{scroll-margin-top:62px!important}
}

/* Tema escuro: caixas realmente escuras e tipografia clara em todos os níveis. */
html[data-theme="dark"]{
  --bg:#0a1018;
  --paper:#121c27;
  --ink:#f1f5f9;
  --muted:#b7c2cf;
  --line:#2c3b4c;
  --accent:#8fc1ff;
  --accent2:#b8d5ff;
}
html[data-theme="dark"] body,
html[data-theme="dark"] main,
html[data-theme="dark"] .country-catalog,
html[data-theme="dark"] .country-extra-block{color:var(--ink)!important}
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] strong{color:#f8fafc!important}
html[data-theme="dark"] .topbar{
  background:#0f1823!important;
  border-bottom-color:#2a394a!important;
}
html[data-theme="dark"] .brand,
html[data-theme="dark"] .brand-copy strong{color:#f4f7fb!important}
html[data-theme="dark"] .brand-copy>span{color:#b5c0cd!important}
html[data-theme="dark"] .country-sidebar.card,
html[data-theme="dark"] .country-category.card,
html[data-theme="dark"] .country-extra-grid>.card,
html[data-theme="dark"] .resource-card-horizontal{
  background:#121c27!important;
  border-color:#2c3b4c!important;
  color:#eef3f8!important;
}
html[data-theme="dark"] .country-sidebar-identity{border-bottom-color:#304052!important}
html[data-theme="dark"] .country-sidebar-identity h1{color:#f8fafc!important}
html[data-theme="dark"] .country-sidebar-identity p,
html[data-theme="dark"] .country-iso,
html[data-theme="dark"] .muted{color:#b7c2cf!important}
html[data-theme="dark"] .country-macro-heading>a,
html[data-theme="dark"] .country-macro-heading>span{
  background:#1a2633!important;
  color:#dcecff!important;
  border-color:#3a4a5c!important;
}
html[data-theme="dark"] .country-subcategory-links>a{
  background:#16212d!important;
  color:#cfe4ff!important;
  border-color:#334457!important;
}
html[data-theme="dark"] .country-subcategory-links>a:hover{
  background:#203044!important;
  border-color:#59718c!important;
}
html[data-theme="dark"] .country-subcategory-count{color:#9fc7ff!important}
html[data-theme="dark"] .country-category-title{
  color:#f5f8fc!important;
  border-color:#334457!important;
}
html[data-theme="dark"] .resource-card-snapshot>a{
  background:#0e1721!important;
  border-color:#334457!important;
}
html[data-theme="dark"] .resource-card-snapshot img{background:#0e1721!important}
html[data-theme="dark"] .resource-snapshot-empty{color:#aebbc9!important}
html[data-theme="dark"] .resource-category-chip{
  background:#1a2938!important;
  color:#b9d8ff!important;
  border-color:#3a4f65!important;
}
html[data-theme="dark"] .resource-category-chip:hover{background:#22364a!important}
html[data-theme="dark"] .resource-card-horizontal h3{
  background:#182635!important;
  color:#f7fafc!important;
  border-color:#3a4d61!important;
}
html[data-theme="dark"] .resource-card-horizontal h3 a{color:#dcecff!important}
html[data-theme="dark"] .resource-card-horizontal h3 a:hover{color:#ffffff!important}
html[data-theme="dark"] .resource-card-description,
html[data-theme="dark"] .country-item-meta,
html[data-theme="dark"] .country-section-head p{
  color:#c3ced9!important;
}
html[data-theme="dark"] .resource-tag{
  background:#172534!important;
  color:#d6e9ff!important;
  border-color:#3a4c60!important;
}
html[data-theme="dark"] a.resource-tag:hover{
  background:#22364a!important;
  color:#fff!important;
  border-color:#607d9c!important;
}
html[data-theme="dark"] .country-empty{
  background:#16212d!important;
  color:#b7c2cf!important;
}
html[data-theme="dark"] .country-pol-meta>div,
html[data-theme="dark"] .badge{
  background:#182635!important;
  color:#dfe8f2!important;
  border-color:#3a4d61!important;
}
html[data-theme="dark"] .country-extra-block{border-top-color:#2c3b4c!important}
html[data-theme="dark"] .country-category-links{
  scrollbar-color:#6f8196 #15202b!important;
}
html[data-theme="dark"] .country-category-links::-webkit-scrollbar-track{background:#15202b!important}
html[data-theme="dark"] .country-category-links::-webkit-scrollbar-thumb{background:#6f8196!important;border-color:#15202b!important}
html[data-theme="dark"] .theme-toggle{
  background:#1a2938!important;
  color:#edf3f8!important;
  border-color:#3a4c60!important;
}
html[data-theme="dark"] .theme-toggle:hover{background:#24384d!important;color:#fff!important}

/* v0.2.49 — alinhamento uniforme dos ícones especiais + fichas realmente escuras. */
.special-map-item{
  align-items:center!important;
  min-height:50px!important;
}
.special-map-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  justify-self:center!important;
  width:44px!important;
  min-width:44px!important;
  height:34px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
  line-height:0!important;
}
.special-map-icon img{
  display:block!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  max-width:40px!important;
  max-height:30px!important;
  margin:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  object-fit:contain!important;
  object-position:center center!important;
  vertical-align:middle!important;
  transform:none!important;
}
/* Ícones quadrados ficam centralizados; bandeiras horizontais usam a caixa toda. */
.special-map-icon-world img,
.special-map-icon-autistan img,
.special-map-icon-un img{max-width:30px!important;max-height:30px!important}
.special-map-icon-g20 img,
.special-map-icon-europe img,
.special-map-icon-africa img,
.special-map-icon-asean img,
.special-map-icon-im img{max-width:40px!important;max-height:28px!important}
.special-map-label{align-self:center!important}
.special-map-count{align-self:center!important}
html[data-theme="dark"] .special-map-icon{background:transparent!important}

/* Tema escuro: nenhum bloco interno das fichas deve permanecer branco. */
html[data-theme="dark"] .country-category,
html[data-theme="dark"] .resource-grid,
html[data-theme="dark"] .resource-grid-single,
html[data-theme="dark"] .resource-card,
html[data-theme="dark"] .resource-card-horizontal,
html[data-theme="dark"] .resource-card-content{
  background:#101923!important;
  color:#e8eef5!important;
  border-color:#2c3b4c!important;
}
html[data-theme="dark"] .resource-card-horizontal h3{
  background:#172432!important;
  color:#f5f8fb!important;
  border-color:#3a4b5e!important;
}
html[data-theme="dark"] .resource-card-horizontal h3 a{color:#e7f1ff!important}
html[data-theme="dark"] .resource-card-description{color:#c7d1dc!important}
html[data-theme="dark"] .resource-category-chip{
  background:#172432!important;
  color:#b9d8ff!important;
  border-color:#3a4b5e!important;
}
html[data-theme="dark"] .resource-card-snapshot,
html[data-theme="dark"] .resource-card-snapshot>a{
  background:#0b131c!important;
  border-color:#2f4052!important;
}
html[data-theme="dark"] .country-category-title{color:#f5f8fb!important}


/* v0.2.50 — ícones/bandeiras dos países especiais sem caixa branca e centralizados corretamente. */
.special-map-item{
  grid-template-columns:34px minmax(0,1fr) auto!important;
  align-items:center!important;
}
.special-map-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  min-width:34px!important;
  height:24px!important;
  padding:0!important;
  margin:0 auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.special-map-icon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:3px!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}
/* Ícones mais quadrados preservam melhor a composição sem parecer deslocados. */
.special-map-icon-world,
.special-map-icon-autistan,
.special-map-icon-un,
.special-map-icon-africa,
.special-map-icon-asean{
  width:26px!important;
  min-width:26px!important;
  height:26px!important;
}
.special-map-icon-world img,
.special-map-icon-autistan img,
.special-map-icon-un img,
.special-map-icon-africa img,
.special-map-icon-asean img{
  border-radius:4px!important;
  object-fit:cover!important;
}
/* Logos/bandeiras horizontais usam toda a largura útil, sem fundo branco aparente. */
.special-map-icon-g20,
.special-map-icon-europe,
.special-map-icon-im{
  width:34px!important;
  min-width:34px!important;
  height:24px!important;
}
.special-map-icon-g20 img,
.special-map-icon-europe img,
.special-map-icon-im img{
  object-fit:cover!important;
}
html[data-theme="dark"] .special-map-icon,
html[data-theme="dark"] .special-map-icon img{
  background:transparent!important;
  box-shadow:none!important;
}

/* v0.2.51 — página da ficha reorganizada + botão miniatura do mapa no cabeçalho. */
.brand-cluster{display:flex;align-items:center;gap:8px;min-width:0}
.brand-cluster .brand{min-width:0}
.brand-map-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:58px!important;
  height:40px!important;
  flex:0 0 58px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:#eaf2fb!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.brand-map-button:hover{border-color:#8fb1df!important;background:#dfeafb!important;text-decoration:none!important}
.brand-map-button img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;border:0!important;margin:0!important;padding:0!important}
#map{scroll-margin-top:68px}
html[data-theme="dark"] .brand-map-button{background:#152435!important;border-color:#3a4d61!important}
html[data-theme="dark"] .brand-map-button:hover{background:#1d3046!important;border-color:#5e7896!important}

.resource-page .container{max-width:1320px}
.resource-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:18px;align-items:stretch}
.resource-detail-main,.resource-detail-snapshot{min-width:0;padding:20px}
.resource-detail-main{display:flex;flex-direction:column;gap:12px}
.resource-detail-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.resource-detail-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.resource-detail-field-label{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.resource-detail-chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.resource-detail-title{margin:0;font-size:clamp(25px,2.4vw,38px);line-height:1.13}
.resource-detail-description-block{flex:1;min-height:180px}
.resource-detail-description{font-size:16px;line-height:1.6;min-height:180px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.resource-detail-source{margin-top:auto;padding-top:2px}
.resource-detail-category,.resource-detail-tag{margin:0!important;text-decoration:none!important}
.resource-detail-category:hover,.resource-detail-tag:hover{text-decoration:none!important}
.resource-detail-snapshot{display:flex;flex-direction:column}
.resource-detail-snapshot h2{margin:0 0 12px}
.resource-primary-snapshot{flex:1;display:flex;flex-direction:column;min-height:360px}
.resource-primary-snapshot-link{flex:1;display:flex;align-items:center;justify-content:center;min-height:300px;border:1px solid var(--line);border-radius:10px;background:var(--bg);overflow:hidden;padding:10px}
.resource-primary-snapshot-img{display:block;width:100%;height:100%;max-height:520px;object-fit:contain;object-position:center;border:0!important;background:transparent!important}
.resource-primary-snapshot-meta,.resource-primary-snapshot-empty{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:10px;font-size:13px;color:var(--muted)}
.resource-identification-secondary{margin-top:18px}
.resource-identification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 22px}
.resource-identification-grid p{margin:4px 0}
.resource-secondary-snapshots{margin-top:18px}
.resource-secondary-snapshot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}

/* Tema escuro: categorias/tags e todos os blocos da ficha ficam realmente escuros. */
html[data-theme="dark"] .resource-detail-main,
html[data-theme="dark"] .resource-detail-snapshot,
html[data-theme="dark"] .resource-identification-secondary,
html[data-theme="dark"] .resource-secondary-snapshots,
html[data-theme="dark"] .resource-detail-description,
html[data-theme="dark"] .resource-primary-snapshot-link{
  background:#111c27!important;
  color:#e8eef5!important;
  border-color:#314356!important;
}
html[data-theme="dark"] .resource-detail-field-label,
html[data-theme="dark"] .resource-detail-kicker,
html[data-theme="dark"] .resource-primary-snapshot-meta,
html[data-theme="dark"] .resource-primary-snapshot-empty{color:#aebdcc!important}
html[data-theme="dark"] .resource-detail-title,
html[data-theme="dark"] .resource-detail-main h1,
html[data-theme="dark"] .resource-detail-snapshot h2,
html[data-theme="dark"] .resource-identification-secondary h2{color:#f6f8fb!important}
html[data-theme="dark"] .tag,
html[data-theme="dark"] .resource-detail-category,
html[data-theme="dark"] .resource-detail-tag{
  background:#182838!important;
  color:#dfeaff!important;
  border-color:#3a526a!important;
}
html[data-theme="dark"] a.tag:hover,
html[data-theme="dark"] a.resource-detail-category:hover,
html[data-theme="dark"] a.resource-detail-tag:hover{background:#223a52!important;color:#fff!important;border-color:#55799d!important}

@media(max-width:900px){
  .resource-detail-layout{grid-template-columns:1fr}
  .resource-primary-snapshot{min-height:280px}
  .resource-identification-grid{grid-template-columns:1fr 1fr}
  .brand-map-button{width:52px!important;height:36px!important;flex-basis:52px!important}
}
@media(max-width:600px){
  .resource-identification-grid{grid-template-columns:1fr}
  .resource-detail-main,.resource-detail-snapshot{padding:14px}
  .brand-cluster{gap:5px}
  .brand-map-button{width:46px!important;height:34px!important;flex-basis:46px!important}
}


/* v0.2.52 — 2px de margem vertical no logotipo do cabeçalho. */
.brand-logo-wrap{
  margin-top:2px!important;
  margin-bottom:2px!important;
}


/* v0.2.53 — snapshots verticais: zoom automático para preencher toda a área disponível. */
.resource-primary-snapshot-link.snapshot-is-vertical{
  padding:0!important;
  overflow:hidden!important;
}
.resource-primary-snapshot-img.snapshot-is-vertical{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:transparent!important;
}
.resource-card-snapshot>a.snapshot-is-vertical{
  padding:0!important;
  overflow:hidden!important;
}
.resource-card-snapshot>a.snapshot-is-vertical img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.snapshot-preview.snapshot-is-vertical{
  width:220px!important;
  height:140px!important;
  max-width:100%!important;
  max-height:140px!important;
  object-fit:cover!important;
  object-position:center center!important;
}
html[data-theme="dark"] .resource-primary-snapshot-img.snapshot-is-vertical,
html[data-theme="dark"] .resource-card-snapshot>a.snapshot-is-vertical img,
html[data-theme="dark"] .snapshot-preview.snapshot-is-vertical{
  background:#0e1721!important;
}


/* v0.2.54 — navegação superior como botões modernos + bandeiras de idioma. */
.topbar-primary-nav{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-left:auto!important;
  flex-wrap:nowrap!important;
}
.topbar-primary-nav .topbar-nav-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  padding:5px 10px!important;
  border:1px solid #cbd8e8!important;
  border-radius:9px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f4f7fb 100%)!important;
  color:#2457a7!important;
  box-shadow:0 1px 2px rgba(15,23,42,.04)!important;
  font-size:13px!important;
  font-weight:650!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.topbar-primary-nav .topbar-nav-button:hover,
.topbar-primary-nav .topbar-nav-button:focus-visible{
  background:#eaf2fd!important;
  border-color:#8fb1df!important;
  color:#173f7b!important;
  box-shadow:0 3px 10px rgba(36,87,167,.12)!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}
.ui-language-links{gap:4px!important}
.ui-language-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:32px!important;
  min-width:32px!important;
  height:27px!important;
  padding:3px!important;
  border:1px solid transparent!important;
  border-radius:7px!important;
  background:transparent!important;
  overflow:hidden!important;
}
.ui-language-flag{
  display:block!important;
  width:23px!important;
  height:16px!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:2px!important;
  object-fit:cover!important;
  object-position:center!important;
  box-shadow:0 0 0 1px rgba(15,23,42,.10)!important;
}
.ui-language-link:hover,.ui-language-link:focus-visible{
  background:#eaf2fd!important;
  border-color:#9db9df!important;
  outline:none!important;
  text-decoration:none!important;
}
.ui-language-link.is-active,.ui-language-link[aria-current="page"]{
  background:#d9e9ff!important;
  border-color:#4b83c8!important;
  box-shadow:0 0 0 1px rgba(36,87,167,.08)!important;
}
html[data-theme="dark"] .topbar-primary-nav .topbar-nav-button{
  background:linear-gradient(180deg,#172738 0%,#132130 100%)!important;
  color:#d7e9ff!important;
  border-color:#334b63!important;
  box-shadow:0 1px 2px rgba(0,0,0,.20)!important;
}
html[data-theme="dark"] .topbar-primary-nav .topbar-nav-button:hover,
html[data-theme="dark"] .topbar-primary-nav .topbar-nav-button:focus-visible{
  background:#20364d!important;
  border-color:#5d7fa2!important;
  color:#fff!important;
  box-shadow:0 4px 12px rgba(0,0,0,.22)!important;
}
html[data-theme="dark"] .ui-language-link{background:transparent!important;border-color:transparent!important}
html[data-theme="dark"] .ui-language-link:hover,
html[data-theme="dark"] .ui-language-link:focus-visible{background:#20364d!important;border-color:#4c6782!important}
html[data-theme="dark"] .ui-language-link.is-active,
html[data-theme="dark"] .ui-language-link[aria-current="page"]{background:#2f5f9d!important;border-color:#6994c8!important}
html[data-theme="dark"] .ui-language-flag{box-shadow:0 0 0 1px rgba(255,255,255,.18)!important}

/* Snapshot vertical: o foco vertical calculado pelo analisador de texto controla o recorte. */
.resource-primary-snapshot-img.snapshot-is-vertical,
.resource-card-snapshot>a.snapshot-is-vertical img,
.snapshot-preview.snapshot-is-vertical{
  object-position:center var(--snapshot-focus-y,38%)!important;
}
@media(max-width:900px){
  .topbar-primary-nav{gap:5px!important}
  .topbar-primary-nav .topbar-nav-button{padding:5px 8px!important;font-size:12px!important}
  .ui-language-links{gap:2px!important}
}
@media(max-width:600px){
  .topbar-primary-nav{width:100%!important;justify-content:center!important;order:3!important;flex-wrap:wrap!important}
  .topbar-primary-nav .topbar-nav-button{min-height:28px!important;padding:4px 8px!important;font-size:11.5px!important}
  .ui-language-link{width:29px!important;min-width:29px!important;height:25px!important;padding:2px!important}
  .ui-language-flag{width:22px!important;height:15px!important}
}


/* v0.2.55 — fichas como cartões expansíveis no catálogo, sem página intermediária. */
.resource-card-expandable{
  position:relative!important;
  grid-template-columns:clamp(300px,25vw,380px) minmax(0,1fr)!important;
  gap:14px!important;
  min-height:228px!important;
  cursor:pointer!important;
  transition:min-height .22s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.resource-card-expandable:focus-visible{
  outline:2px solid #4f87d3!important;
  outline-offset:2px!important;
}
.resource-card-snapshot-frame{
  display:flex!important;
  width:100%!important;
  height:210px!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border:1px solid #d9e2ef!important;
  border-radius:10px!important;
  background:#fafcff!important;
  transition:height .24s ease,border-color .18s ease!important;
}
.resource-card-snapshot-frame img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  transition:object-position .2s ease!important;
}
.resource-card-snapshot-frame.snapshot-is-vertical{padding:0!important}
.resource-card-snapshot-frame.snapshot-is-vertical img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center var(--snapshot-focus-y,38%)!important;
}
.resource-card-expandable .resource-card-description{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
}
.resource-card-expanded-only{
  display:none!important;
}
.resource-card-expandable.is-expanded{
  grid-template-columns:minmax(430px,44%) minmax(0,1fr)!important;
  min-height:360px!important;
  box-shadow:0 8px 26px rgba(25,48,78,.10)!important;
}
.resource-card-expandable.is-expanded .resource-card-snapshot-frame{
  height:340px!important;
}
.resource-card-expandable.is-expanded .resource-card-description{
  display:block!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
}
.resource-card-expandable.is-expanded .resource-card-expanded-only{
  display:block!important;
}
.resource-card-expandable.is-expanded .resource-card-tags .resource-card-expanded-only{
  display:inline-flex!important;
}
.resource-card-expanded-details{
  width:100%!important;
  margin-top:12px!important;
  padding-top:10px!important;
  border-top:1px solid var(--line)!important;
}
.resource-card-expanded-details dl{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px 16px!important;
  margin:0 0 10px!important;
}
.resource-card-expanded-details dl>div{min-width:0!important}
.resource-card-expanded-details dt{
  margin:0 0 2px!important;
  color:var(--muted)!important;
  font-size:11px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.03em!important;
}
.resource-card-expanded-details dd{
  margin:0!important;
  color:var(--ink)!important;
  font-size:13px!important;
  overflow-wrap:anywhere!important;
}
.resource-card-open-source{
  display:inline-flex!important;
  margin-top:2px!important;
}
.resource-direct-link{font-weight:750!important}
.resource-card-expand-hint{
  position:absolute!important;
  right:8px!important;
  bottom:8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  height:24px!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:var(--paper)!important;
  color:var(--muted)!important;
  pointer-events:none!important;
  opacity:.82!important;
}
.resource-card-expand-icon{font-size:16px!important;line-height:1!important}
.resource-card-expandable:hover .resource-card-expand-hint{opacity:1!important;color:#2457a7!important;border-color:#8fb1df!important}
html[data-theme="dark"] .resource-card-snapshot-frame{
  background:#0d1721!important;
  border-color:#314356!important;
}
html[data-theme="dark"] .resource-card-expandable.is-expanded{
  box-shadow:0 10px 30px rgba(0,0,0,.28)!important;
}
html[data-theme="dark"] .resource-card-expanded-details{border-top-color:#314356!important}
html[data-theme="dark"] .resource-card-expanded-details dt{color:#9fb0c2!important}
html[data-theme="dark"] .resource-card-expanded-details dd{color:#e6edf5!important}
html[data-theme="dark"] .resource-card-expand-hint{
  background:#172635!important;
  color:#b7c8da!important;
  border-color:#3a5268!important;
}
html[data-theme="dark"] .resource-card-expandable:hover .resource-card-expand-hint{color:#fff!important;border-color:#6b8fb2!important}
@media(max-width:1150px){
  .resource-card-expandable{grid-template-columns:280px minmax(0,1fr)!important}
  .resource-card-snapshot-frame{height:190px!important}
  .resource-card-expandable.is-expanded{grid-template-columns:340px minmax(0,1fr)!important}
  .resource-card-expandable.is-expanded .resource-card-snapshot-frame{height:290px!important}
}
@media(max-width:760px){
  .resource-card-expandable,.resource-card-expandable.is-expanded{grid-template-columns:1fr!important}
  .resource-card-snapshot-frame{height:210px!important}
  .resource-card-expandable.is-expanded .resource-card-snapshot-frame{height:340px!important}
  .resource-card-expanded-details dl{grid-template-columns:1fr!important}
}


/* v0.2.56 — bandeiras oficiais de idioma fornecidas pelo projeto, sem recorte. */
.ui-language-link{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  padding:3px!important;
  border-radius:8px!important;
}
.ui-language-flag{
  display:block!important;
  width:25px!important;
  height:25px!important;
  max-width:25px!important;
  max-height:25px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:contain!important;
  object-position:center!important;
}
html[data-theme="dark"] .ui-language-flag{
  background:transparent!important;
  box-shadow:none!important;
}
@media(max-width:600px){
  .ui-language-link{width:29px!important;min-width:29px!important;height:29px!important;padding:2px!important}
  .ui-language-flag{width:23px!important;height:23px!important;max-width:23px!important;max-height:23px!important}
}


/* v0.2.59 — maior lado do snapshot dos cartões limitado a 300px.
   Horizontal: 300x210 no cartão normal.
   Vertical: largura em 70% do padrão (210px) e altura de 300px.
   No cartão expandido, o snapshot continua limitado a 300px no lado maior. */
.resource-card-expandable{
  grid-template-columns:300px minmax(0,1fr)!important;
}
.resource-card-snapshot{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
}
.resource-card-snapshot-frame{
  width:300px!important;
  max-width:100%!important;
  height:210px!important;
  flex:0 0 auto!important;
}
.resource-card-expandable.is-expanded{
  grid-template-columns:300px minmax(0,1fr)!important;
}
.resource-card-expandable.is-expanded .resource-card-snapshot-frame{
  height:300px!important;
}
.resource-card-expandable.has-vertical-snapshot{
  grid-template-columns:210px minmax(0,1fr)!important;
}
.resource-card-expandable.has-vertical-snapshot .resource-card-snapshot-frame{
  width:210px!important;
  height:300px!important;
  margin-left:0!important;
  margin-right:0!important;
}
.resource-card-expandable.has-vertical-snapshot.is-expanded{
  grid-template-columns:210px minmax(0,1fr)!important;
}
.resource-card-expandable.has-vertical-snapshot.is-expanded .resource-card-snapshot-frame{
  width:210px!important;
  height:300px!important;
}
@media(max-width:1150px){
  .resource-card-expandable,
  .resource-card-expandable.is-expanded{
    grid-template-columns:300px minmax(0,1fr)!important;
  }
  .resource-card-expandable.has-vertical-snapshot,
  .resource-card-expandable.has-vertical-snapshot.is-expanded{
    grid-template-columns:210px minmax(0,1fr)!important;
  }
  .resource-card-snapshot-frame{width:300px!important;height:210px!important;}
  .resource-card-expandable.is-expanded .resource-card-snapshot-frame{height:300px!important;}
  .resource-card-expandable.has-vertical-snapshot .resource-card-snapshot-frame,
  .resource-card-expandable.has-vertical-snapshot.is-expanded .resource-card-snapshot-frame{width:210px!important;height:300px!important;}
}
@media(max-width:760px){
  .resource-card-expandable,
  .resource-card-expandable.is-expanded,
  .resource-card-expandable.has-vertical-snapshot,
  .resource-card-expandable.has-vertical-snapshot.is-expanded{
    grid-template-columns:1fr!important;
  }
  .resource-card-snapshot-frame{width:min(100%,300px)!important;height:210px!important;}
  .resource-card-expandable.is-expanded .resource-card-snapshot-frame{height:300px!important;}
  .resource-card-expandable.has-vertical-snapshot .resource-card-snapshot-frame,
  .resource-card-expandable.has-vertical-snapshot.is-expanded .resource-card-snapshot-frame{width:min(100%,210px)!important;height:300px!important;}
}


/* v0.2.60 — modo mobile dedicado: cartões, snapshots, categorias e cabeçalho. */
.country-mobile-category-toggle{display:none!important}
@media(max-width:760px){
  html,body{max-width:100%!important;overflow-x:hidden!important}
  body{font-size:14px!important}
  .container,.country-page>main.container,.home-clean>main.container{
    width:100%!important;max-width:100%!important;padding-left:8px!important;padding-right:8px!important
  }
  .topbar .inner{
    width:100%!important;max-width:100%!important;padding:5px 8px!important;gap:5px!important;row-gap:5px!important;align-items:center!important
  }
  .brand-cluster{order:1!important;gap:5px!important;min-width:0!important}
  .brand{gap:5px!important;min-width:0!important}
  .brand-logo-wrap{width:42px!important;height:42px!important;flex:0 0 42px!important;margin-top:2px!important;margin-bottom:2px!important}
  .brand-logo{width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important}
  .brand-copy{min-width:0!important}
  .brand-copy strong{font-size:18px!important;line-height:1!important;white-space:nowrap!important}
  .brand-copy>span{display:none!important}
  .brand-map-button{width:40px!important;height:30px!important;flex:0 0 40px!important;border-radius:7px!important}
  .ui-controls{order:2!important;margin-left:auto!important;gap:2px!important;min-width:0!important}
  .ui-language-links{gap:1px!important;flex-wrap:nowrap!important}
  .ui-language-link{width:27px!important;min-width:27px!important;height:27px!important;padding:2px!important;border-radius:6px!important}
  .ui-language-flag{width:21px!important;height:21px!important;max-width:21px!important;max-height:21px!important}
  .theme-toggle{width:29px!important;height:27px!important;min-width:29px!important;padding:0!important;justify-content:center!important;border-radius:7px!important}
  .theme-toggle [data-theme-label]{display:none!important}
  .topbar-primary-nav{order:3!important;width:100%!important;margin:0!important;justify-content:center!important;gap:4px!important;flex-wrap:nowrap!important}
  .topbar-primary-nav .topbar-nav-button{
    min-height:27px!important;padding:4px 7px!important;border-radius:7px!important;font-size:11px!important;line-height:1!important;flex:0 1 auto!important
  }

  /* Mapa: cabe na tela, sem largura fixa de desktop. */
  .map-card{overflow:hidden!important;padding:2px!important}
  .map-card .world-map,.map-card-home .world-map{width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;touch-action:auto!important}
  .special-map-menu{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important}
  .special-map-item{min-height:42px!important;padding:5px 6px!important;gap:5px!important;font-size:10.5px!important}

  /* Página do país: identidade compacta e categorias recolhíveis. */
  .country-layout-restored{grid-template-columns:1fr!important;gap:8px!important}
  .country-layout-restored .country-sidebar{position:static!important;max-height:none!important;padding:9px!important;border-radius:10px!important}
  .country-sidebar-identity{gap:8px!important;padding-bottom:8px!important;margin-bottom:7px!important}
  .country-sidebar-flag{width:54px!important;height:36px!important}
  .country-sidebar-flag img{width:54px!important;height:36px!important}
  .country-sidebar-identity h1{font-size:23px!important;line-height:1.05!important;margin:0!important}
  .country-sidebar-identity p{font-size:11px!important;margin-top:3px!important}
  .country-mobile-category-toggle{
    display:flex!important;width:100%!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;
    min-height:36px!important;margin:0!important;padding:7px 9px!important;border:1px solid var(--line)!important;border-radius:8px!important;
    background:var(--paper)!important;color:var(--ink)!important;font-size:13px!important;font-weight:800!important
  }
  .country-mobile-category-toggle-icon{font-size:17px!important;line-height:1!important}
  .country-category-links{
    display:none!important;max-height:44vh!important;margin-top:6px!important;padding-right:3px!important;overflow-y:auto!important;overscroll-behavior:contain!important
  }
  .country-category-links.is-mobile-open{display:block!important}
  .country-macro-heading>a,.country-macro-heading>span{padding:6px 7px!important;font-size:15px!important}
  .country-subcategory-links>a{padding:5px 6px!important;font-size:12px!important}

  /* Cartões: uma coluna e snapshots dimensionados para celular. */
  .country-category{padding:8px!important;margin-bottom:8px!important;border-radius:10px!important}
  .country-category-title{font-size:17px!important;line-height:1.2!important;margin-bottom:7px!important}
  .resource-grid-single{gap:8px!important}
  .resource-card-expandable,.resource-card-expandable.is-expanded,
  .resource-card-expandable.has-vertical-snapshot,.resource-card-expandable.has-vertical-snapshot.is-expanded{
    grid-template-columns:1fr!important;gap:8px!important;min-height:0!important;padding:8px!important
  }
  .resource-card-snapshot{width:100%!important;justify-content:center!important;align-items:center!important}
  .resource-card-snapshot-frame,
  .resource-card-expandable.is-expanded .resource-card-snapshot-frame{
    width:min(100%,300px)!important;height:180px!important;max-width:300px!important;margin:0 auto!important
  }
  .resource-card-expandable.has-vertical-snapshot .resource-card-snapshot-frame,
  .resource-card-expandable.has-vertical-snapshot.is-expanded .resource-card-snapshot-frame{
    width:170px!important;height:240px!important;max-width:170px!important;margin:0 auto!important
  }
  .resource-card-content{width:100%!important}
  .resource-category-chip{font-size:11px!important;padding:2px 6px!important;margin-bottom:4px!important}
  .resource-card-horizontal h3{font-size:14px!important;padding:4px 6px!important;margin-bottom:5px!important}
  .resource-card-description{font-size:12.5px!important;line-height:1.4!important}
  .resource-card-tags{gap:4px!important;padding-top:6px!important}
  .resource-tag{font-size:11.5px!important;padding:3px 6px!important}
  .resource-card-expanded-details dl{grid-template-columns:1fr!important;gap:5px!important}
  .resource-card-expand-hint{width:22px!important;height:22px!important;right:6px!important;bottom:6px!important}

  /* Página individual da ficha também respeita a tela móvel. */
  .resource-detail-grid{grid-template-columns:1fr!important;gap:10px!important}
  .resource-detail-main,.resource-detail-snapshot{padding:12px!important}
  .resource-primary-snapshot{min-height:0!important}
  .resource-primary-snapshot-link{min-height:0!important;height:auto!important;padding:6px!important}
  .resource-primary-snapshot-img{width:auto!important;height:auto!important;max-width:100%!important;max-height:320px!important}
  .resource-primary-snapshot-link.snapshot-is-vertical{width:min(100%,180px)!important;height:250px!important;margin:0 auto!important}
  .resource-primary-snapshot-img.snapshot-is-vertical{width:100%!important;height:100%!important;max-height:none!important}

  .country-extra-grid{grid-template-columns:1fr!important;gap:8px!important}
  .country-bottom-actions{gap:8px!important;padding-top:10px!important}
}
@media(max-width:520px){
  .container,.country-page>main.container,.home-clean>main.container{padding-left:6px!important;padding-right:6px!important}
  .brand-logo-wrap{width:38px!important;height:38px!important;flex-basis:38px!important}
  .brand-logo{width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important}
  .brand-copy strong{font-size:16px!important}
  .brand-map-button{width:36px!important;height:28px!important;flex-basis:36px!important}
  .ui-language-link{width:25px!important;min-width:25px!important;height:25px!important;padding:2px!important}
  .ui-language-flag{width:19px!important;height:19px!important;max-width:19px!important;max-height:19px!important}
  .theme-toggle{width:27px!important;height:25px!important;min-width:27px!important}
  .topbar-primary-nav .topbar-nav-button{font-size:10.5px!important;padding:4px 6px!important}
  .resource-card-snapshot-frame,.resource-card-expandable.is-expanded .resource-card-snapshot-frame{width:min(100%,280px)!important;height:165px!important}
  .resource-card-expandable.has-vertical-snapshot .resource-card-snapshot-frame,
  .resource-card-expandable.has-vertical-snapshot.is-expanded .resource-card-snapshot-frame{width:160px!important;height:220px!important;max-width:160px!important}
  .resource-primary-snapshot-link.snapshot-is-vertical{width:min(100%,165px)!important;height:225px!important}
  .special-map-menu{grid-template-columns:1fr 1fr!important}
}


/* v0.2.61 — mobile: tema separado dos idiomas e posicionado abaixo, à direita. */
@media(max-width:760px){
  .topbar .inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    column-gap:6px!important;
    row-gap:5px!important;
    position:relative!important;
  }
  .brand-cluster{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
  }
  .ui-controls{
    display:contents!important;
  }
  .ui-language-links{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
  }
  .topbar-primary-nav{
    grid-column:1 / -1!important;
    grid-row:2!important;
    justify-self:center!important;
    align-self:center!important;
    width:auto!important;
    max-width:calc(100% - 46px)!important;
    margin:0!important;
  }
  .theme-toggle{
    grid-column:2!important;
    grid-row:2!important;
    justify-self:end!important;
    align-self:center!important;
    width:34px!important;
    min-width:34px!important;
    height:30px!important;
    padding:0!important;
    margin:0!important;
    border-radius:9px!important;
    background:var(--paper)!important;
    border:1px solid var(--line)!important;
    color:var(--ink)!important;
    box-shadow:0 1px 2px rgba(0,0,0,.08)!important;
    z-index:3!important;
  }
  .theme-toggle [data-theme-icon]{
    display:block!important;
    font-family:system-ui,-apple-system,"Segoe UI Symbol",sans-serif!important;
    font-size:20px!important;
    line-height:1!important;
    font-weight:500!important;
    transform:translateY(-.5px)!important;
  }
  .theme-toggle [data-theme-label]{display:none!important}
  .theme-toggle:hover,.theme-toggle:focus-visible{
    background:#eaf2fd!important;
    border-color:#8fb1df!important;
    outline:none!important;
  }
  html[data-theme="dark"] .theme-toggle{
    background:#172635!important;
    border-color:#3a5268!important;
    color:#eaf1f8!important;
  }
  html[data-theme="dark"] .theme-toggle:hover,
  html[data-theme="dark"] .theme-toggle:focus-visible{
    background:#20364d!important;
    border-color:#6386a9!important;
    color:#fff!important;
  }
}
@media(max-width:520px){
  .topbar-primary-nav{
    max-width:calc(100% - 40px)!important;
    gap:3px!important;
  }
  .theme-toggle{
    width:30px!important;
    min-width:30px!important;
    height:28px!important;
    border-radius:8px!important;
  }
  .theme-toggle [data-theme-icon]{font-size:18px!important}
}

/* v0.2.62 — a marca Autistan.wiki permanece sempre visível no celular. */
@media(max-width:760px){
  /* Corrige a regra legada `.topbar .brand span{display:none}` sem reexibir o subtítulo. */
  .topbar .brand .brand-copy{
    display:flex!important;
    flex-direction:column!important;
    flex:0 1 auto!important;
    min-width:78px!important;
    max-width:clamp(78px,26vw,145px)!important;
    overflow:visible!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .topbar .brand .brand-copy strong{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    font-size:clamp(13px,4vw,18px)!important;
    line-height:1!important;
    letter-spacing:-.02em!important;
    white-space:nowrap!important;
  }
  .topbar .brand .brand-copy>span{
    display:none!important;
  }
}
@media(max-width:520px){
  .topbar .brand .brand-copy{
    min-width:74px!important;
    max-width:clamp(74px,25vw,118px)!important;
  }
  .topbar .brand .brand-copy strong{
    font-size:clamp(12px,3.8vw,15px)!important;
  }
}
@media(max-width:360px){
  .brand-logo-wrap{width:34px!important;height:34px!important;flex-basis:34px!important}
  .brand-logo{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important}
  .brand-map-button{width:32px!important;height:26px!important;flex-basis:32px!important}
  .topbar .brand .brand-copy{
    min-width:70px!important;
    max-width:92px!important;
  }
  .topbar .brand .brand-copy strong{
    font-size:12px!important;
  }
}


/* v0.2.63 — mobile: tema novamente ao lado direito dos idiomas, mantendo o mesmo ícone. */
@media(max-width:760px){
  .topbar .inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    column-gap:6px!important;
    row-gap:5px!important;
  }
  .brand-cluster{
    grid-column:1!important;
    grid-row:1!important;
  }
  .ui-controls{
    display:flex!important;
    grid-column:2!important;
    grid-row:1!important;
    align-items:center!important;
    justify-content:flex-end!important;
    justify-self:end!important;
    align-self:center!important;
    gap:4px!important;
    margin:0!important;
  }
  .ui-language-links{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:1px!important;
    margin:0!important;
  }
  .theme-toggle{
    flex:0 0 auto!important;
    width:30px!important;
    min-width:30px!important;
    height:28px!important;
    padding:0!important;
    margin:0 0 0 3px!important;
    border-radius:8px!important;
  }
  .theme-toggle [data-theme-icon]{
    font-size:18px!important;
  }
  .topbar-primary-nav{
    grid-column:1 / -1!important;
    grid-row:2!important;
    justify-self:center!important;
    max-width:100%!important;
  }
}
@media(max-width:520px){
  .ui-controls{gap:2px!important}
  .ui-language-links{gap:0!important}
  .theme-toggle{
    width:28px!important;
    min-width:28px!important;
    height:26px!important;
    margin-left:1px!important;
  }
  .theme-toggle [data-theme-icon]{font-size:17px!important}
}


/* v0.2.64 — botão de tema estruturalmente preso ao fim da fila de idiomas. */
.ui-language-links > .theme-toggle{
  flex:0 0 auto!important;
  order:99!important;
  margin-left:3px!important;
}
@media(max-width:760px){
  .topbar .inner{
    grid-template-columns:minmax(0,1fr) max-content!important;
  }
  .ui-controls{
    display:block!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    width:max-content!important;
    max-width:none!important;
    min-width:max-content!important;
    margin:0!important;
  }
  .ui-language-links{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    width:max-content!important;
    max-width:none!important;
    min-width:max-content!important;
    gap:1px!important;
    margin:0!important;
  }
  .ui-language-links > .ui-language-link{flex:0 0 auto!important}
  .ui-language-links > .theme-toggle{
    position:static!important;
    display:inline-flex!important;
    flex:0 0 auto!important;
    order:99!important;
    align-items:center!important;
    justify-content:center!important;
    width:30px!important;
    min-width:30px!important;
    height:28px!important;
    margin:0 0 0 3px!important;
    padding:0!important;
  }
}
@media(max-width:520px){
  .ui-language-links{gap:0!important}
  .ui-language-links > .theme-toggle{
    width:28px!important;
    min-width:28px!important;
    height:26px!important;
    margin-left:2px!important;
  }
}
@media(max-width:380px){
  .ui-language-link{width:23px!important;min-width:23px!important;height:23px!important;padding:1px!important}
  .ui-language-flag{width:19px!important;height:19px!important;max-width:19px!important;max-height:19px!important}
  .ui-language-links > .theme-toggle{width:25px!important;min-width:25px!important;height:23px!important;margin-left:1px!important}
  .ui-language-links > .theme-toggle [data-theme-icon]{font-size:16px!important}
}

/* v0.2.65 — ícones maiores sem alterar as dimensões dos botões. */
.ui-language-flag{
  transform:scale(1.2)!important;
  transform-origin:center center!important;
}
.theme-toggle [data-theme-icon]{
  transform:translateY(-.5px) scale(1.5)!important;
  transform-origin:center center!important;
}


/* v0.2.67 — botão da fonte sob o snapshot + hover claro nos atalhos especiais. */
.resource-card-snapshot{
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:8px!important;
}
.resource-card-snapshot-action{
  margin:0!important;
  align-self:flex-start!important;
}
.resource-card-expandable.is-expanded .resource-card-snapshot .resource-card-snapshot-action{
  display:inline-flex!important;
}

/* Destaca os países/áreas especiais com mouse e teclado, inclusive no tema escuro. */
a.special-map-item{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
a.special-map-item:hover,
a.special-map-item:focus-visible{
  background:#eaf3ff!important;
  border-color:#6d9ed8!important;
  color:#123f79!important;
  box-shadow:0 5px 14px rgba(36,87,167,.16)!important;
  transform:translateY(-2px)!important;
  text-decoration:none!important;
  outline:none!important;
}
a.special-map-item:hover .special-map-icon,
a.special-map-item:focus-visible .special-map-icon{
  transform:scale(1.08)!important;
}
.special-map-icon{
  transition:transform .16s ease!important;
}
html[data-theme="dark"] a.special-map-item:hover,
html[data-theme="dark"] a.special-map-item:focus-visible{
  background:#1c3449!important;
  border-color:#6b97c4!important;
  color:#f2f7fc!important;
  box-shadow:0 6px 18px rgba(0,0,0,.32)!important;
}


/* v0.2.68 — o botão da fonte original só aparece depois de expandir a ficha. */
.resource-card-expandable:not(.is-expanded) .resource-card-open-source{
  display:none!important;
}
.resource-card-expandable.is-expanded .resource-card-open-source{
  display:inline-flex!important;
}


/* v0.2.69 — retorno aos cartões estáticos: sem expandir/recolher e sem botões auxiliares. */
.resource-card-horizontal{
  cursor:default!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  min-height:228px!important;
}
.resource-card-horizontal .resource-card-snapshot{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
}
.resource-card-horizontal .resource-card-snapshot-frame{
  width:300px!important;
  max-width:100%!important;
  height:210px!important;
  flex:0 0 auto!important;
}
.resource-card-horizontal.has-vertical-snapshot{
  grid-template-columns:210px minmax(0,1fr)!important;
}
.resource-card-horizontal.has-vertical-snapshot .resource-card-snapshot-frame{
  width:210px!important;
  height:300px!important;
}
.resource-card-horizontal .resource-card-description{
  display:block!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
}
.resource-card-open-source,
.resource-card-expand-hint,
.resource-card-expanded-details,
.resource-card-expanded-only{display:none!important}
@media(max-width:1150px) and (min-width:761px){
  .resource-card-horizontal{grid-template-columns:300px minmax(0,1fr)!important}
  .resource-card-horizontal.has-vertical-snapshot{grid-template-columns:210px minmax(0,1fr)!important}
}
@media(max-width:760px){
  .resource-card-horizontal,
  .resource-card-horizontal.has-vertical-snapshot{grid-template-columns:1fr!important}
  .resource-card-horizontal .resource-card-snapshot{justify-content:center!important}
  .resource-card-horizontal .resource-card-snapshot-frame{width:min(100%,280px)!important;height:165px!important}
  .resource-card-horizontal.has-vertical-snapshot .resource-card-snapshot-frame{width:170px!important;height:240px!important;max-width:170px!important}
}
@media(max-width:520px){
  .resource-card-horizontal .resource-card-snapshot-frame{width:min(100%,260px)!important;height:155px!important}
  .resource-card-horizontal.has-vertical-snapshot .resource-card-snapshot-frame{width:160px!important;height:220px!important;max-width:160px!important}
}


/* v0.2.70 — cartões estáticos inteiros clicáveis para o URL original. */
.resource-card-clickable{
  cursor:pointer!important;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
.resource-card-clickable .resource-card-snapshot,
.resource-card-clickable .resource-card-snapshot-frame{cursor:pointer!important}
.resource-card-clickable:hover{
  border-color:#8fb1df!important;
  box-shadow:0 4px 16px rgba(36,87,167,.10)!important;
}
.resource-card-clickable:focus-visible{
  outline:2px solid #4f87d3!important;
  outline-offset:2px!important;
  border-color:#78a0d5!important;
}
html[data-theme="dark"] .resource-card-clickable:hover{
  border-color:#5f82a5!important;
  box-shadow:0 5px 18px rgba(0,0,0,.28)!important;
}
html[data-theme="dark"] .resource-card-clickable:focus-visible{outline-color:#79a9df!important}


/* v0.2.71 — miniatura do mapa acompanha automaticamente o tema ativo. */
.brand-map-button .brand-map-icon-light{display:block!important}
.brand-map-button .brand-map-icon-dark{display:none!important}
html[data-theme="dark"] .brand-map-button .brand-map-icon-light{display:none!important}
html[data-theme="dark"] .brand-map-button .brand-map-icon-dark{display:block!important}

/* v0.2.72 — Gerenciar > Importação: estatísticas legíveis no tema escuro. */
html[data-theme="dark"] .migration-stats .stat{
  background:#101c28!important;
  color:#e9f1f8!important;
  border-color:#33485c!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
html[data-theme="dark"] .migration-stats .stat strong{
  color:#f8fbff!important;
  background:transparent!important;
  text-shadow:none!important;
}
html[data-theme="dark"] .migration-stats .stat span{
  color:#b8c8d8!important;
  background:transparent!important;
}
html[data-theme="dark"] .migration-stats .stat:hover{
  background:#142332!important;
  border-color:#45617b!important;
}


/* v0.2.74 — tooltip do mapa: espaçamento padronizado em 5px. */
.map-tooltip{padding:5px!important;}
.map-tooltip-head{gap:5px!important;margin:0 0 5px!important;padding:0!important;}
.map-tooltip-flag-crop,.map-tooltip-name{margin:0!important;padding:0!important;}
.map-tooltip-macro-menu{padding:5px 0 0!important;margin:0!important;}
.map-tooltip-macro-menu a,.map-tooltip-macro-menu .map-tooltip-all{padding:5px!important;}

/* v0.2.75 — navegação por idioma de conteúdo. */
.language-directory{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:10px;
  margin:14px 0 22px;
}
.language-directory-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:66px;
  padding:14px 16px;
  text-decoration:none!important;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.language-directory-card strong{font-size:17px;line-height:1.25}
.language-directory-card span{font-size:12px;color:var(--muted);white-space:nowrap}
.language-directory-card:hover,.language-directory-card:focus-visible{
  transform:translateY(-1px);
  border-color:#6f9bd4;
  box-shadow:0 5px 16px rgba(36,87,167,.10);
  outline:none;
}
.language-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.language-page-heading h1{margin-bottom:3px}
.language-page-heading p{margin:0}
.resource-language-tag.is-current-language{font-weight:800;border-color:#6f9bd4!important}
html[data-theme="dark"] .language-directory-card:hover,
html[data-theme="dark"] .language-directory-card:focus-visible{background:#182837!important;border-color:#6489ad!important;box-shadow:0 7px 20px rgba(0,0,0,.24)}
html[data-theme="dark"] .language-directory-card span{color:#aebdcc}
@media(max-width:600px){
  .language-directory{grid-template-columns:1fr;gap:7px}
  .language-directory-card{min-height:54px;padding:11px 12px}
  .language-page-heading{align-items:flex-start}
}


/* v0.2.76 — botão do mapa sem margem/padding interno ou externo. */
.brand-map-button{
  margin:0!important;
  padding:0!important;
}

/* v0.2.77 — tooltip do mapa: bandeira e nome alinhados à esquerda com folga máxima de 5px. */
.map-tooltip-head{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:5px!important;
  margin:0 0 5px!important;
  padding:0!important;
  align-items:center!important;
  justify-items:start!important;
}
.map-tooltip-flag-crop{
  margin:0!important;
  padding:0!important;
  justify-self:start!important;
  align-self:center!important;
}
.map-tooltip-name{
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  justify-self:start!important;
  align-self:center!important;
}

/* v0.2.78 — correção definitiva: mapa sem moldura interna e tooltip alinhado a 5px. */
.brand-map-button{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:0!important;
  overflow:hidden!important;
}
.brand-map-button:hover,
html[data-theme="dark"] .brand-map-button,
html[data-theme="dark"] .brand-map-button:hover{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.brand-map-button img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:8px!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.map-tooltip{
  padding:5px!important;
}
.map-tooltip-head{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:100%!important;
  margin:0 0 5px!important;
  padding:0!important;
}
.map-tooltip-flag-crop{
  position:relative!important;
  display:block!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:29px!important;
  min-width:42px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:3px!important;
  background:transparent!important;
}
.map-tooltip-flag{
  position:absolute!important;
  left:0!important;
  top:0!important;
  display:block!important;
  width:42px!important;
  height:29px!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  object-fit:cover!important;
  object-position:left center!important;
  transform:none!important;
}
.map-tooltip-name{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  justify-self:auto!important;
  align-self:center!important;
}

/* v0.2.79 — cache corrigido + alinhamento visual real do tooltip. */
.map-tooltip{
  padding:5px!important;
}
.map-tooltip-head{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:100%!important;
  margin:0 0 5px!important;
  padding:0!important;
}
.map-tooltip-flag-crop{
  position:relative!important;
  display:block!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:29px!important;
  min-width:42px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:3px!important;
  background:transparent!important;
}
/* Os PNGs de bandeira são quadrados (64x64) e trazem folga interna. O recorte
   abaixo amplia o canvas e desloca-o para que a bandeira visível comece no
   limite esquerdo do crop, ou seja, nos mesmos 5px de padding do tooltip. */
.map-tooltip-flag{
  position:absolute!important;
  left:-8px!important;
  top:-15px!important;
  display:block!important;
  width:58px!important;
  height:58px!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.map-tooltip-name{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
.brand-map-button{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  line-height:0!important;
}
.brand-map-button img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:inherit!important;
  object-fit:cover!important;
}

/* v0.2.80 — barra de áreas especiais compacta/interativa + mapa sem Antártida. */
.home-clean .map-card-home .world-map{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
}
.special-map-menu{
  position:sticky!important;
  bottom:0!important;
  z-index:80!important;
  display:grid!important;
  grid-template-columns:repeat(9,minmax(0,1fr))!important;
  gap:4px!important;
  width:100%!important;
  margin:5px 0 0!important;
  padding:4px 0!important;
  background:var(--bg)!important;
  border-top:1px solid transparent!important;
  transform:translateY(0)!important;
  opacity:1!important;
  transition:transform .18s ease,opacity .18s ease!important;
  will-change:transform!important;
}
.special-map-menu.special-map-menu--hidden{
  transform:translateY(calc(100% + 8px))!important;
  opacity:0!important;
  pointer-events:none!important;
}
.special-map-reveal-zone{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:12px!important;
  z-index:79!important;
  background:transparent!important;
  pointer-events:auto!important;
}
.special-map-item{
  grid-template-columns:46px minmax(0,1fr) 12px!important;
  gap:4px!important;
  min-height:38px!important;
  margin:0!important;
  padding:3px 5px!important;
  border-radius:7px!important;
  font-size:11px!important;
  line-height:1.1!important;
}
.special-map-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:start!important;
  width:44px!important;
  min-width:44px!important;
  height:31px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:transparent!important;
}
.special-map-icon img{
  display:block!important;
  width:44px!important;
  height:31px!important;
  max-width:44px!important;
  max-height:31px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  object-fit:contain!important;
  object-position:center!important;
}
.special-map-icon-world,
.special-map-icon-autistan,
.special-map-icon-un,
.special-map-icon-africa,
.special-map-icon-asean{
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
}
.special-map-icon-world img,
.special-map-icon-autistan img,
.special-map-icon-un img,
.special-map-icon-africa img,
.special-map-icon-asean img{
  width:34px!important;
  height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
}
.special-map-icon-antarctica img{
  width:44px!important;
  height:31px!important;
  object-fit:cover!important;
}
.special-map-label{min-width:0!important;line-height:1.1!important;}
.special-map-count{font-size:10px!important;}
html[data-theme="dark"] .special-map-menu{background:var(--bg)!important;}
@media(max-width:1100px){
  .special-map-menu{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .special-map-menu{
    position:static!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    transform:none!important;
    opacity:1!important;
    padding:3px 0!important;
  }
  .special-map-menu.special-map-menu--hidden{transform:none!important;opacity:1!important;pointer-events:auto!important;}
  .special-map-reveal-zone{display:none!important;}
  .special-map-item{min-height:36px!important;padding:3px 4px!important;}
}

/* v0.2.81 — Antártida AQ.png, ícones especiais +30% e mapa levemente mais largo. */
@media(min-width:761px){
  .home-clean>main.container{
    padding-left:clamp(8px,1vw,16px)!important;
    padding-right:clamp(8px,1vw,16px)!important;
  }
  .home-clean .map-card-home{
    padding-left:2px!important;
    padding-right:2px!important;
  }
}
.special-map-item{
  grid-template-columns:59px minmax(0,1fr) 12px!important;
  min-height:46px!important;
}
.special-map-icon{
  width:57px!important;
  min-width:57px!important;
  height:40px!important;
}
.special-map-icon img{
  width:57px!important;
  height:40px!important;
  max-width:57px!important;
  max-height:40px!important;
  object-fit:contain!important;
  object-position:center!important;
}
.special-map-icon-world,
.special-map-icon-autistan,
.special-map-icon-un,
.special-map-icon-africa,
.special-map-icon-asean{
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
}
.special-map-icon-world img,
.special-map-icon-autistan img,
.special-map-icon-un img,
.special-map-icon-africa img,
.special-map-icon-asean img{
  width:44px!important;
  height:44px!important;
  max-width:44px!important;
  max-height:44px!important;
}
.special-map-icon-antarctica{
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  overflow:visible!important;
}
.special-map-icon-antarctica img{
  width:44px!important;
  height:44px!important;
  max-width:44px!important;
  max-height:44px!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:760px){
  .special-map-item{
    grid-template-columns:59px minmax(0,1fr)!important;
    min-height:46px!important;
  }
}


/* v0.2.82 — editor e exibição de keywords de conteúdo */
.keyword-editor-card{margin-top:16px}
.keyword-auto-block{margin:10px 0 16px;padding:10px 12px;border:1px solid var(--border,#d6e0ef);border-radius:10px}
.keyword-auto-block small{display:block;margin-top:6px}
.keyword-editor-list{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.keyword-editor-row{display:grid;grid-template-columns:minmax(150px,220px) minmax(220px,1fr) auto;gap:8px;align-items:center}
.keyword-editor-row select,.keyword-editor-row input{margin:0}
.keyword-remove{min-width:42px;padding-left:12px;padding-right:12px}
.keyword-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid #d6e0ef;border-radius:14px;background:#f5f8fc;color:#2457a7;text-decoration:none;font-size:.9em}
.keyword-chip:hover{text-decoration:none;background:#edf4fe}
.keyword-chip-type{font-size:.78em;opacity:.72}
.keyword-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.keyword-directory-item{display:block;text-decoration:none}
.keyword-directory-item strong{display:block}
.keyword-directory-item span{display:block;margin-top:4px}
[data-theme="dark"] .keyword-chip{background:#1b2738;border-color:#344861;color:#d9e9ff}
@media(max-width:760px){.keyword-editor-row{grid-template-columns:1fr}.keyword-remove{width:100%}}
.searchbar-with-keywords{grid-template-columns:minmax(190px,1.8fr) minmax(130px,.9fr) minmax(130px,.9fr) minmax(155px,1fr) minmax(150px,1fr) auto}
.searchbar-with-keywords select{min-width:0}
@media(max-width:980px){.searchbar-with-keywords{grid-template-columns:1fr 1fr 1fr}.searchbar-with-keywords button{align-self:end}}
@media(max-width:760px){.searchbar-with-keywords{grid-template-columns:1fr}}

/* v0.2.86 — navegação superior sem caixas: texto + feixe vertical luminoso. */
.topbar-primary-nav .topbar-nav-button{
  position:relative!important;
  min-height:32px!important;
  padding:6px 10px 6px 18px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#294e7c!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:isolate!important;
  transition:color .18s ease,transform .18s ease,text-shadow .18s ease!important;
}
.topbar-primary-nav .topbar-nav-button::before{
  content:"";
  position:absolute;
  left:7px;
  top:50%;
  width:2px;
  height:58%;
  border-radius:999px;
  transform:translateY(-50%);
  background:linear-gradient(180deg,rgba(79,156,255,0),#4f9cff 24%,#7bc7ff 52%,#4f9cff 78%,rgba(79,156,255,0));
  box-shadow:0 0 4px rgba(79,156,255,.45),0 0 9px rgba(79,156,255,.18);
  opacity:.72;
  transition:height .18s ease,opacity .18s ease,box-shadow .18s ease,width .18s ease!important;
}
.topbar-primary-nav .topbar-nav-button::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:2px;
  right:0;
  top:3px;
  bottom:3px;
  border-radius:12px;
  background:radial-gradient(ellipse at 16% 50%,rgba(79,156,255,.10),transparent 62%);
  opacity:0;
  transition:opacity .18s ease!important;
}
.topbar-primary-nav .topbar-nav-button:hover,
.topbar-primary-nav .topbar-nav-button:focus-visible{
  background:transparent!important;
  border:0!important;
  color:#153f78!important;
  box-shadow:none!important;
  transform:translateY(-1px)!important;
  text-shadow:0 0 12px rgba(79,156,255,.20)!important;
  text-decoration:none!important;
  outline:none!important;
}
.topbar-primary-nav .topbar-nav-button:hover::before,
.topbar-primary-nav .topbar-nav-button:focus-visible::before{
  width:3px;
  height:82%;
  opacity:1;
  box-shadow:0 0 5px rgba(79,156,255,.8),0 0 13px rgba(79,156,255,.42),0 0 22px rgba(79,156,255,.20);
}
.topbar-primary-nav .topbar-nav-button:hover::after,
.topbar-primary-nav .topbar-nav-button:focus-visible::after{opacity:1}
html[data-theme="dark"] .topbar-primary-nav .topbar-nav-button{
  background:transparent!important;
  border:0!important;
  color:#d8e8f8!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .topbar-primary-nav .topbar-nav-button::before{
  background:linear-gradient(180deg,rgba(92,189,255,0),#5cbdff 22%,#a5e1ff 50%,#5cbdff 78%,rgba(92,189,255,0));
  box-shadow:0 0 5px rgba(92,189,255,.58),0 0 12px rgba(92,189,255,.26);
}
html[data-theme="dark"] .topbar-primary-nav .topbar-nav-button::after{
  background:radial-gradient(ellipse at 16% 50%,rgba(92,189,255,.14),transparent 62%);
}
html[data-theme="dark"] .topbar-primary-nav .topbar-nav-button:hover,
html[data-theme="dark"] .topbar-primary-nav .topbar-nav-button:focus-visible{
  background:transparent!important;
  border:0!important;
  color:#fff!important;
  box-shadow:none!important;
  text-shadow:0 0 13px rgba(92,189,255,.42)!important;
}
@media(max-width:760px){
  .topbar-primary-nav .topbar-nav-button{padding:4px 6px 4px 12px!important;border-radius:0!important}
  .topbar-primary-nav .topbar-nav-button::before{left:4px;height:52%}
}

/* v0.2.86 — painel de cobertura da tradução. */
.translation-coverage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.translation-coverage-item{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.translation-coverage-item strong{font-size:14px}.translation-coverage-item>span{font-weight:800}.translation-coverage-item small{grid-column:1/-1;color:var(--muted)}
.translation-progress{grid-column:1/-1;height:5px;border-radius:999px;background:#e8eef6;overflow:hidden;margin-top:4px}.translation-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5b9df5,#7cc8ff)}
.translation-run-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,.6fr) auto;gap:10px;align-items:end}.translation-run-form label{margin:0}.translation-run-form .actions{align-items:center;padding-bottom:1px}
html[data-theme="dark"] .translation-progress{background:#1b2b3a}
@media(max-width:900px){.translation-coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.translation-run-form{grid-template-columns:1fr 1fr}.translation-run-form .actions{grid-column:1/-1}}
@media(max-width:560px){.translation-coverage-grid,.translation-run-form{grid-template-columns:1fr}.translation-run-form .actions{grid-column:auto}}

/* v0.2.88 — auditoria de descrições e cartões clicáveis */
a.translation-coverage-item{color:inherit;text-decoration:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
a.translation-coverage-item:hover,a.translation-coverage-item:focus-visible{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 5px 16px rgba(20,80,140,.12);outline:none}
.description-audit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.description-audit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.description-audit-grid{grid-template-columns:1fr}}

/* v0.2.88: confirmação manual do idioma original das descrições incertas. */
.inline-confirm-language{display:flex;align-items:center;gap:6px;min-width:240px}
.inline-confirm-language input{min-width:110px;margin:0}
.inline-confirm-language .button{margin:0;white-space:nowrap}
@media (max-width:760px){.inline-confirm-language{min-width:200px;flex-wrap:wrap}}

/* v0.2.90 — barra de países/áreas especiais sem quebra de palavras.
   Preserva bandeiras, altura, sticky/hide e aparência dos botões; somente evita
   esmagamento de nomes longos. Quando não cabe, a barra rola horizontalmente. */
.special-map-menu{
  display:grid!important;
  grid-template-columns:none!important;
  grid-auto-flow:column!important;
  grid-auto-columns:max-content!important;
  align-items:stretch!important;
  justify-content:start!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain!important;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.special-map-item{
  width:max-content!important;
  min-width:134px!important;
  max-width:none!important;
  grid-template-columns:59px max-content 12px!important;
}
.special-map-label{
  min-width:max-content!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
@media(max-width:760px){
  .special-map-menu{
    position:static!important;
    display:grid!important;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:max-content!important;
    justify-content:start!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  .special-map-menu.special-map-menu--hidden{transform:none!important;opacity:1!important;pointer-events:auto!important;}
  .special-map-reveal-zone{display:none!important;}
  .special-map-item{
    width:max-content!important;
    min-width:128px!important;
    grid-template-columns:59px max-content!important;
  }
  .special-map-count{display:none!important;}
  .special-map-label{
    min-width:max-content!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
}

/* v0.2.92 — propostas públicas de fichas + moderação segura */
.proposal-shell{max-width:900px;margin:0 auto;padding-bottom:24px}.proposal-hero{padding:30px 0 14px}.proposal-hero h1{margin:4px 0 8px;font-size:36px;line-height:1.15}.proposal-hero p{max-width:760px;color:var(--muted);font-size:18px}.proposal-security-note{display:inline-flex;gap:7px;align-items:center;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:13px}.proposal-form{position:relative}.proposal-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important}.proposal-fieldset,.proposal-taxonomy-block,.proposal-keyword-block{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.proposal-fieldset legend{font-weight:700;padding:0 7px}.proposal-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px 12px;margin-top:8px}.proposal-check{display:flex;align-items:center;gap:8px;margin:0;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font-weight:500}.proposal-check input{width:auto;margin:0}.proposal-check small{color:var(--muted)}.proposal-taxonomy-block>label{margin:0 0 3px}.proposal-taxonomy-block>small{display:block;color:var(--muted);margin-bottom:8px}.proposal-taxonomy-block select{min-height:170px}.proposal-keyword-block h2{margin:0 0 4px;font-size:18px}.proposal-keyword-search-wrap{position:relative}.proposal-keyword-results{display:grid;gap:5px;margin-top:6px}.proposal-keyword-result{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:var(--paper);color:var(--ink);border:1px solid var(--line);font-weight:600}.proposal-keyword-result:hover{background:var(--bg);color:var(--ink)}.proposal-keyword-result small{color:var(--muted);font-weight:500}.proposal-keyword-new{border-style:dashed}.proposal-keyword-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.proposal-keyword-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 7px 5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg)}.proposal-keyword-chip small{color:var(--muted)}.proposal-keyword-chip button{padding:1px 7px;border-radius:999px;line-height:1.4}.proposal-privacy{font-size:13px}.proposal-challenge{padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.proposal-success code{font-weight:700}.proposal-duplicate-note{margin-bottom:0}.required{color:var(--danger)}.proposal-admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:15px 0}.proposal-admin-stats .card{display:flex;flex-direction:column;padding:14px;text-decoration:none}.proposal-admin-stats strong{font-size:28px;color:var(--ink)}.proposal-admin-stats span{color:var(--muted)}.proposal-review-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:18px;align-items:start}.proposal-review-side{display:grid;gap:14px}.proposal-review-side .card{margin:0}.proposal-meta-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.proposal-keyword-moderation-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(135px,.8fr) minmax(180px,1fr) minmax(135px,.7fr);gap:10px;align-items:end;padding:12px 0;border-top:1px solid var(--line)}.proposal-keyword-moderation-row:first-of-type{border-top:0}.proposal-keyword-moderation-row>div small{display:block;color:var(--muted)}.proposal-keyword-moderation-row label{margin:0}.proposal-audit{display:grid;grid-template-columns:auto 1fr;gap:6px 10px}.proposal-audit dt{font-weight:700}.proposal-audit dd{margin:0;overflow-wrap:anywhere}.proposal-risk{display:inline-block;min-width:36px;text-align:center;padding:3px 7px;border-radius:999px;background:var(--bg);font-weight:700}.proposal-risk-mid{color:var(--warn)}.proposal-risk-high{color:var(--danger)}.button.danger,button.danger{background:var(--danger);color:#fff}.table-wrap{overflow:auto}footer a{font-weight:650}
@media(max-width:900px){.proposal-review-grid{grid-template-columns:1fr}.proposal-keyword-moderation-row{grid-template-columns:1fr 1fr}.proposal-review-side{order:-1}}
@media(max-width:600px){.proposal-hero h1{font-size:30px}.proposal-checkbox-grid,.proposal-keyword-moderation-row{grid-template-columns:1fr}.proposal-fieldset,.proposal-taxonomy-block,.proposal-keyword-block{padding:12px}.proposal-keyword-result{align-items:flex-start;flex-direction:column;gap:2px}}

/* v0.2.95 — seletor de idioma da administração */
.admin-language-select{display:inline-flex;align-items:center;margin:0}
.admin-language-select select{height:30px;min-width:72px;padding:3px 24px 3px 8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;font-size:12px;line-height:1.1}
@media(max-width:600px){.admin-language-select select{min-width:62px;height:27px;padding-top:2px;padding-bottom:2px;font-size:11px}}
/* v0.3.07 — multiple country selection in proposal review */
.proposal-country-multi{min-width:0}.proposal-country-options{max-height:300px;overflow:auto;border:1px solid var(--border,#33495d);border-radius:10px;padding:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px}.proposal-country-options .proposal-check{margin:0;padding:6px 8px}.proposal-country-international{grid-column:1/-1;border-bottom:1px solid var(--border,#33495d);padding-bottom:10px!important;margin-bottom:4px!important}.proposal-country-multi>input[type=search]{margin-bottom:8px}


/* v0.3.22 — restauração real dos ícones de idioma em forma de balão.
   Importante: os PNG originais são 64x48 e possuem transparência + cauda.
   Regras antigas forçavam 25x25 e overflow:hidden, deformando/cortando os ícones. */
.ui-language-links{gap:2px!important;overflow:visible!important}
.ui-language-link{
  width:36px!important;
  min-width:36px!important;
  height:32px!important;
  padding:0!important;
  overflow:visible!important;
  border-radius:8px!important;
}
.ui-language-flag{
  display:block!important;
  width:42px!important;
  height:32px!important;
  max-width:42px!important;
  max-height:32px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  transform-origin:center center!important;
}
html[data-theme="dark"] .ui-language-flag{background:transparent!important;box-shadow:none!important}
@media(max-width:600px){
  .ui-language-link{width:32px!important;min-width:32px!important;height:29px!important;padding:0!important;overflow:visible!important}
  .ui-language-flag{width:37px!important;height:28px!important;max-width:37px!important;max-height:28px!important;transform:none!important}
}
@media(max-width:380px){
  .ui-language-link{width:29px!important;min-width:29px!important;height:27px!important;padding:0!important;overflow:visible!important}
  .ui-language-flag{width:34px!important;height:26px!important;max-width:34px!important;max-height:26px!important;transform:none!important}
}


/* v0.3.24 — barra de países/áreas especiais mais compacta.
   Nomes com mais de uma palavra são renderizados em duas linhas pelo PHP.
   O espaço entre ícone e nome é reduzido para cerca de metade do anterior. */
.special-map-item{
  grid-template-columns:max-content max-content 10px!important;
  column-gap:2px!important;
  row-gap:0!important;
  min-width:104px!important;
  width:max-content!important;
  padding-left:3px!important;
  padding-right:3px!important;
}
.special-map-label{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  min-width:0!important;
  white-space:normal!important;
  line-height:1.02!important;
}
.special-map-label-line{display:block!important;white-space:nowrap!important;line-height:1.02!important}
@media(max-width:760px){
  .special-map-item{grid-template-columns:max-content max-content!important;column-gap:2px!important;min-width:100px!important;}
}


/* v0.3.25 — pesquisa compacta dentro das páginas de país */
.country-inline-search{display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(135px,.9fr) minmax(125px,.75fr) minmax(135px,.85fr) auto auto auto;gap:6px;align-items:center;margin:0 0 10px;padding:7px 9px;border:1px solid var(--line);border-radius:11px;background:var(--paper);box-shadow:0 1px 2px rgba(0,0,0,.03)}
.country-inline-search-field{display:block;min-width:0;margin:0!important}
.country-inline-search input,.country-inline-search select{height:34px;min-width:0;margin:0!important;padding:5px 8px;border-radius:7px;font-size:12px;line-height:1.15}
.country-inline-search input[type=search]{padding-left:10px}
.country-inline-search-submit{height:34px;margin:0;padding:5px 12px;border-radius:7px;font-size:12px;white-space:nowrap}
.country-inline-search-clear{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--ink);font-size:20px;line-height:1;text-decoration:none!important}
.country-inline-search-clear:hover{background:var(--paper)}
.country-inline-search-count{display:grid;place-items:center;min-width:27px;height:27px;padding:0 6px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--muted);font-size:11px;font-weight:700}
.country-search-empty{margin-bottom:10px;padding:14px!important}
.country-search-empty p{margin:0 0 9px}
@media(max-width:1050px){.country-inline-search{grid-template-columns:minmax(180px,1.4fr) minmax(130px,1fr) minmax(120px,.8fr) minmax(130px,1fr) auto auto}.country-inline-search-count{display:none}}
@media(max-width:760px){.country-inline-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:5px;padding:6px}.country-inline-search-query{grid-column:1/-1}.country-inline-search-submit{grid-column:auto}.country-inline-search-count{display:grid}}
@media(max-width:480px){.country-inline-search{grid-template-columns:minmax(0,1fr) auto}.country-inline-search-field:not(.country-inline-search-query){grid-column:1/-1}.country-inline-search-submit{grid-column:1}.country-inline-search-count{display:none}}

/* v0.3.26 — barra especial sempre ajustada à largura disponível.
   Os nove botões dividem igualmente toda a largura em telas grandes.
   Em telas menores a barra pode quebrar em linhas, mas cada linha continua
   ocupando 100% da largura, inclusive a última. */
.special-map-menu{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  gap:4px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overflow-y:hidden!important;
}
.special-map-item{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  justify-self:stretch!important;
  grid-template-columns:max-content minmax(0,1fr) 10px!important;
  box-sizing:border-box!important;
}
.special-map-label{
  width:100%!important;
  min-width:0!important;
}
@media(max-width:850px){
  .special-map-menu{
    flex-wrap:wrap!important;
    overflow-x:hidden!important;
  }
  .special-map-item{
    flex:1 1 145px!important;
    min-width:120px!important;
  }
}
@media(max-width:480px){
  .special-map-item{
    flex:1 1 125px!important;
    min-width:105px!important;
  }
}

/* v0.3.27 — keywords relevantes logo após a descrição das fichas */
.resource-card-keywords{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;margin-bottom:2px}
.resource-card-keywords .resource-keyword-tag{font-size:10px;padding:1px 6px;border-radius:999px;background:rgba(75,132,194,.08)}
.resource-card-keywords .resource-keyword-tag:hover{background:rgba(75,132,194,.16)}
html[data-theme="dark"] .resource-card-keywords .resource-keyword-tag{background:#19283a;border-color:#39516b;color:#d9e9ff}
html[data-theme="dark"] .resource-card-keywords .resource-keyword-tag:hover{background:#233851}
@media(max-width:720px){.resource-card-keywords{gap:4px}.resource-card-keywords .resource-keyword-tag{font-size:9.5px;padding:1px 4px}}


/* v0.3.31 — pesquisa alinhada ao catálogo e coluna do país encostada na barra superior.
   A pesquisa deixa de ocupar a largura da coluna lateral e começa exatamente na
   coluna das fichas. A página do país elimina o respiro superior para que a caixa
   de identidade/categorias e a pesquisa encostem visualmente na barra superior. */
.country-page>main.container{
  padding-top:0!important;
}
.country-page .country-layout-restored{
  margin-top:0!important;
}
.country-page .country-catalog>.country-inline-search{
  width:100%!important;
  margin-top:0!important;
  margin-bottom:10px!important;
}
@media(max-width:760px){
  .country-page>main.container{padding-top:0!important}
  .country-page .country-layout-restored{gap:8px!important}
  .country-page .country-catalog>.country-inline-search{margin-top:0!important}
}


/* v0.3.32 — pesquisa mais compacta e respiro sob a barra superior.
   Reduz em 2 px o padding interno da caixa de pesquisa e restaura um pequeno
   espaço entre a barra superior e as caixas da página do país. */
.country-page>main.container{
  padding-top:8px!important;
}
.country-page .country-catalog>.country-inline-search{
  padding:5px 7px!important;
}
@media(max-width:760px){
  .country-page>main.container{padding-top:8px!important}
  .country-page .country-catalog>.country-inline-search{padding:4px!important}
}


/* v0.3.39 — pesquisa pública autoexplicativa sem perder compactação.
   Cada filtro passa a ter um rótulo visível; o campo livre deixa de parecer
   a mesma coisa que o seletor de keywords; contador e ação de limpar ganham texto. */
.country-inline-search{
  grid-template-columns:minmax(210px,1.45fr) minmax(155px,.95fr) minmax(125px,.72fr) minmax(145px,.82fr) auto auto auto!important;
  align-items:end!important;
  gap:7px!important;
}
.country-inline-search-field{display:flex!important;flex-direction:column!important;gap:3px!important}
.country-inline-search-label{display:block;color:var(--muted);font-size:10px;font-weight:700;line-height:1.05;padding-left:2px;white-space:nowrap}
.country-inline-search input,.country-inline-search select{height:31px!important;padding-top:4px!important;padding-bottom:4px!important}
.country-inline-search-submit{height:31px!important;padding:4px 11px!important}
.country-inline-search-clear{display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:48px!important;height:31px!important;padding:0 9px!important;font-size:11px!important;font-weight:700!important;white-space:nowrap!important}
.country-inline-search-count{width:auto!important;min-width:58px!important;height:31px!important;padding:0 9px!important;border-radius:8px!important;white-space:nowrap!important}
@media(max-width:1050px){
  .country-inline-search{grid-template-columns:minmax(180px,1.3fr) minmax(145px,1fr) minmax(120px,.8fr) minmax(135px,.9fr) auto auto!important}
  .country-inline-search-count{display:none!important}
}
@media(max-width:760px){
  .country-inline-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;align-items:end!important}
  .country-inline-search-query{grid-column:1/-1!important}
  .country-inline-search-count{display:flex!important}
}
@media(max-width:480px){
  .country-inline-search{grid-template-columns:minmax(0,1fr) auto!important}
  .country-inline-search-field:not(.country-inline-search-query){grid-column:1/-1!important}
  .country-inline-search-label{font-size:10px!important}
  .country-inline-search-count{display:none!important}
}

/* v0.3.45 — margens horizontais mínimas na página de país + macros seguras em traduções longas.
   Objetivo: aproximar os blocos a no máximo 2 px nas áreas destacadas e impedir
   que rótulos traduzidos (especialmente RU) ultrapassem a largura da barra lateral. */
@media (min-width:761px){
  .country-page>main.container{
    padding-left:2px!important;
    padding-right:2px!important;
  }
  .country-page .country-layout-restored{
    gap:2px!important;
  }
  .country-layout-restored .country-sidebar{
    padding-left:2px!important;
    padding-right:2px!important;
  }
  .country-category-links{
    padding-left:0!important;
    padding-right:2px!important;
  }
  .country-page .country-catalog>.country-inline-search{
    padding-left:2px!important;
    padding-right:2px!important;
  }
  .country-page .country-category{
    padding-left:2px!important;
    padding-right:2px!important;
  }
}

/* Macrocategorias: texto menor, quebra segura e nunca fora do botão. */
.country-macro-heading{
  font-size:14px!important;
  line-height:1.16!important;
  min-width:0!important;
}
.country-macro-heading>a,
.country-macro-heading>span{
  min-width:0!important;
  max-width:100%!important;
  padding-left:4px!important;
  padding-right:4px!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.16!important;
}
.country-macro-heading>a>*:not(.country-macro-emoji),
.country-macro-heading>span>*:not(.country-macro-emoji){min-width:0!important}
html[lang^="ru"] .country-macro-heading{
  font-size:12.5px!important;
  line-height:1.12!important;
}

/* Proteções gerais para traduções longas na coluna lateral e na barra de pesquisa. */
.country-sidebar,
.country-sidebar-identity,
.country-sidebar-identity>div,
.country-category-links,
.country-macro-menu,
.country-subcategory-links,
.country-subcategory-links>a,
.country-subcategory-name,
.country-catalog,
.country-inline-search,
.country-inline-search>*{
  min-width:0!important;
  max-width:100%!important;
}
.country-sidebar-identity h1,
.country-subcategory-name,
.country-inline-search-label{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.country-inline-search-label{
  white-space:normal!important;
}
.country-inline-search input,
.country-inline-search select,
.country-inline-search button,
.country-inline-search a,
.country-inline-search-count{
  max-width:100%!important;
  min-width:0!important;
}

@media(max-width:760px){
  .country-macro-heading{font-size:13px!important;line-height:1.14!important}
  html[lang^="ru"] .country-macro-heading{font-size:12px!important}
  .country-macro-heading>a,.country-macro-heading>span{padding-left:4px!important;padding-right:4px!important}
}


/* v0.3.47 — setas Voltar/Avançar verticais + respiro maior entre caixas. */
.history-nav-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  flex:0 0 auto!important;
  margin:0 0 0 3px!important;
  padding:0!important;
  min-width:0!important;
}
.history-nav-button{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:32px!important;
  height:46px!important;
  min-width:32px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#65758a!important;
  box-shadow:none!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:color .15s ease,background .15s ease,transform .15s ease!important;
}
.history-nav-button svg{
  display:block!important;
  width:24px!important;
  height:34px!important;
  margin:0!important;
  padding:0!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.35!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
.history-nav-button:hover,
.history-nav-button:focus-visible{
  color:#2457a7!important;
  background:rgba(79,156,255,.10)!important;
  outline:none!important;
  transform:translateY(-1px)!important;
}
html[data-theme="dark"] .history-nav-button{color:#8b98aa!important}
html[data-theme="dark"] .history-nav-button:hover,
html[data-theme="dark"] .history-nav-button:focus-visible{
  color:#d9ecff!important;
  background:rgba(92,189,255,.10)!important;
}
@media(max-width:760px){
  .history-nav-controls{gap:1px!important;margin-left:1px!important}
  .history-nav-button{width:28px!important;min-width:28px!important;height:40px!important}
  .history-nav-button svg{width:20px!important;height:31px!important;stroke-width:2.2!important}
}
@media(max-width:430px){
  .history-nav-button{width:25px!important;min-width:25px!important;height:36px!important}
  .history-nav-button svg{width:18px!important;height:28px!important}
}

/* v0.3.48 — central simples de Segurança e backups. */
.security-overview h1{margin-bottom:4px}
.security-state{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.security-state strong{white-space:nowrap}
.security-state span{color:var(--muted)}
.security-state-protected{border-color:#8ac6a5;background:#eefaf2}
.security-state-attention{border-color:#d9bc6c;background:#fff8df}
.security-state-action{border-color:#e1a29d;background:#fff0ef}
.security-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.security-summary-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.security-summary-card h2{margin:0 0 6px;font-size:17px}
.security-summary-card p{margin:5px 0;color:var(--muted)}
.security-summary-card .actions{margin-top:10px}
.security-summary-card form{margin:0}
.security-main-actions{margin-top:12px;align-items:center}
.security-events summary,.security-advanced>summary{cursor:pointer;padding:2px 0}
.security-events[open]>summary,.security-advanced[open]>summary{margin-bottom:12px}
.security-advanced>section,.security-advanced>.grid{margin-top:12px}
html[data-theme="dark"] .security-state-protected{background:#173529;border-color:#376b50}
html[data-theme="dark"] .security-state-attention{background:#3a321c;border-color:#7a672a}
html[data-theme="dark"] .security-state-action{background:#422321;border-color:#7c4540}
html[data-theme="dark"] .security-summary-card{background:#101923;border-color:#2c3b4c}
@media(max-width:760px){.security-summary-grid{grid-template-columns:1fr}.security-state{flex-direction:column;gap:4px}.security-state strong{white-space:normal}.security-overview table,.security-events table{display:block;overflow-x:auto}}
