/* Identidade de cartaz: vermelho, preto, papel e textura de impressão.
   Esta camada mantém a estrutura e os dados, com um único vermelho da identidade. */
@font-face {
  font-family: 'Salvador Condensed';
  src: url('/fonts/nimbus-sans-narrow-bold.otf') format('opentype');
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
}
@font-face {
  font-family: 'Salvador Condensed';
  src: url('/fonts/nimbus-sans-narrow-bold-oblique.otf') format('opentype');
  font-style: italic;
  font-weight: 700 900;
  font-display: swap;
}
:root {
  --blue: #30256c;
  --red: #e80504; /* Vermelho da ilustração de referência. */
  --signal: var(--red);
  --ink: #0d0d0d;
  --paper: #fbf7ef;
  --pink: var(--red);
  --yellow: #30256c;
  --sea: #eee8de;
  --orange: var(--red);
  --line: #c9c1b5;
  --muted: #59534e;
  --soft: #f0ebe2;
  --heading: 'Salvador Condensed', 'Arial Narrow', Arial, sans-serif;
}
html body {
  color: var(--ink);
  background: var(--paper);
  font-family: Arial, Helvetica, sans-serif;
}
body a { color: var(--red); }
body :focus-visible,
body #escuta :focus-visible,
body .participation-button:focus-visible,
body .escuta-invite .escuta-cta:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 4px;
}
body h1, body h2 {
  color: var(--ink);
  font-family: var(--heading);
  font-weight: 800;
  letter-spacing: -.02em;
  text-transform: uppercase;
}
body header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--signal);
  color: var(--ink);
  border-bottom: 0;
  padding-bottom: 48px;
}
body header:after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url('/cartaz-textura.svg') repeat;
  background-size: 180px 180px;
  opacity: .18;
}
body header:before {
  content: '';
  position: absolute;
  pointer-events: none;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 30px;
  background: url('/cartaz-recorte.svg') bottom center / 100% 100% no-repeat;
}
.brandline { border-color: #11111166; }
.brandline span:last-child {
  color: var(--paper);
  background: var(--blue);
  border: 1px solid var(--blue);
  border-radius: 999px;
  transform: none;
  letter-spacing: 1px;
}
.brandline .author-credit { color: var(--ink); }
.brandline .author-credit:hover { color: var(--ink); text-decoration-thickness: 2px; }
.hero-title { max-width: 1120px; }
.hero-title h1 {
  font-size: clamp(52px, 7vw, 96px);
  -webkit-text-stroke: .9px currentColor;
  paint-order: stroke fill;
  line-height: .94;
  max-width: 930px;
  margin-bottom: 24px;
}
.hero-title h1 .city {
  color: var(--paper);
  font-style: normal;
  font-size: 1.08em;
  margin-top: 12px;
}
.sun-art {
  background: url('/cartaz-estrelas.svg') center / contain no-repeat;
  border-radius: 0;
  box-shadow: none;
  transform: rotate(-8deg);
  width: 132px;
  height: 114px;
}
.sun-art:before, .sun-art:after { display: none; }
body header>.sub { color: var(--ink); }
body header>p:not(.notice):not(.sub) { color: var(--ink); }
body .about { margin: 24px 0; }
body .about summary {
  box-sizing: border-box;
  width: 100%;
  padding: 19px 22px;
  color: var(--ink);
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 22px;
  box-shadow: 4px 4px 0 var(--ink);
  font: 800 clamp(26px, 3.2vw, 34px)/1.15 var(--heading);
  letter-spacing: .01em;
  text-transform: uppercase;
  list-style-position: inside;
  -webkit-text-stroke: .25px currentColor;
  paint-order: stroke fill;
}
body .about summary::marker { color: var(--red); }
body .about summary:hover { background: white; }
body .about[open] { margin: 24px 0; padding: 0; border: 0; }
body .about[open] .intro { margin-top: 20px; padding: 0 2px; }
body header a { color: var(--ink); }
body header :focus-visible { outline-color: var(--ink); }
.about .intro p { color: var(--ink); }
body .notice {
  background: var(--paper);
  color: var(--ink);
  border-left: 3px solid var(--ink);
  border-radius: 16px;
}
body .stats>div {
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--ink);
  border-top: 4px solid var(--ink);
  border-radius: 18px;
}
body .stats>div:nth-child(1) { background: var(--ink); color: var(--paper); border-color: var(--ink); }
body .stats>div:nth-child(2) { background: var(--paper); color: var(--ink); border-radius: 18px; border-top-color: var(--ink); }
body .stats>div:nth-child(2) strong { color: var(--red); }
body .stats>div:nth-child(3), body .stats>div:nth-child(4) { background: var(--paper); }
body .stats>div:nth-child(4) strong { color: var(--blue); }
body .stats strong {
  font-family: var(--heading);
  font-size: clamp(32px, 3.2vw, 42px);
  -webkit-text-stroke: .35px currentColor;
  paint-order: stroke fill;
  letter-spacing: -.02em;
}
body #participation-invite {
  background: var(--paper);
  color: var(--ink);
  border: 2px solid var(--ink);
  border-left: 7px solid var(--red);
  box-shadow: 4px 4px 0 var(--ink);
  border-radius: 22px;
}
body #participation-invite h2 {
  color: var(--ink);
  font: 800 clamp(30px, 3.4vw, 40px)/1.08 var(--heading);
  -webkit-text-stroke: .35px currentColor;
  paint-order: stroke fill;
  letter-spacing: 0;
  margin-bottom: 8px;
}
body a.participation-button {
  background: var(--red);
  border-color: var(--red);
  color: white;
  border-radius: 999px;
  font-family: Arial, Helvetica, sans-serif;
}
body a.participation-button:hover { background: var(--red); border-color: var(--red); }
body .escuta-invite .escuta-cta {
  background: var(--ink);
  color: white;
  border-color: var(--ink);
  border-radius: 22px;
  background-image: url('/cartaz-textura.svg');
  box-shadow: 4px 4px 0 var(--red);
  font: 800 clamp(25px, 2.6vw, 32px)/1.15 var(--heading);
  -webkit-text-stroke: .25px currentColor;
  paint-order: stroke fill;
}
body .escuta-invite .escuta-cta:hover { box-shadow: 5px 6px 0 var(--red); }
body .view-controls button, body .view-controls a {
  color: var(--ink);
  border-color: var(--ink);
  border-radius: 999px;
  min-height: 46px;
}
body .view-controls button {
  background:var(--red);
  color:var(--paper);
  border:2px solid #383838;
  box-shadow:0 2px 0 #383838;
  font-weight:700;
}
body .view-controls button[aria-pressed='true'] {
  background:var(--red);
  color:var(--paper);
  box-shadow:inset 0 0 0 2px var(--paper), 4px 5px 0 #383838;
}
body .view-controls button:hover { background:var(--red); }
body .view-controls button:focus-visible { outline:3px solid #383838; outline-offset:5px; }
body .view-controls a { border-color: transparent; }
body #map { border-color: var(--ink); border-radius: 24px; box-shadow: 4px 4px 0 #d7cfc2; background: var(--soft); }
body #locations-panel { background: var(--soft); border-color: var(--line); border-radius: 22px; }
body #location-controls label { color: var(--ink); }
body #location-controls input, body #location-controls select {
  background: white;
  border-color: #91877c;
  border-radius: 14px;
  color: var(--ink);
}
body #count { border-color: var(--line); }
body .row { color: var(--ink); border-color: var(--line); }
body .row strong { color: var(--ink); }
body .row:hover { background: #e9e1d6; }
body .small { color: var(--muted); }
body #detail { position:relative; isolation:isolate; background:var(--red); color:var(--paper); border-radius:22px; border-left:4px solid var(--red); }
body #detail::before { content:''; position:absolute; z-index:-1; inset:0; border-radius:inherit; background:url('/cartaz-textura.svg') repeat; background-size:180px 180px; opacity:.3; pointer-events:none; }
body #detail>strong { color: var(--ink); font: 800 clamp(28px, 3vw, 34px)/1.12 var(--heading); }
body #detail details, body .location-participation { border-color: var(--line); }
body .location-participation p { color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
body .legend {
  color: var(--ink);
  background: #fffffff5;
  border-color: var(--line);
  border-radius: 14px;
  font-family: Arial, Helvetica, sans-serif;
}
/* As faixas vermelhas também se distinguem pelo contorno na legenda e no mapa. */
body .leaflet-popup-content-wrapper { background: white; color: var(--ink); border-radius: 18px; }
body .leaflet-popup-tip { background: white; }
body .leaflet-popup-content { font-family: Arial, Helvetica, sans-serif; }
body #table-section h2, body #sources h2 { font: 800 34px/1.1 var(--heading); color: var(--ink); }
body #table-section table { border-color: var(--line)!important; background: white!important; }
body #table-section thead { background: var(--ink)!important; color: white; }
body #table-section tbody tr:nth-child(even) { background: var(--soft); }
body #table-section tbody td { border-color: var(--line)!important; }
body #sources { background: var(--ink); color: var(--paper); border-top: 6px solid var(--red); }
body #sources h2, body #sources a { color: var(--paper); }
body .offline-message { background: var(--soft); color: var(--ink); }
body .skip { background: white; color: var(--ink); border: 2px solid var(--ink); }

/* Escuta, mural e administração da escuta usam a mesma identidade. */
body #escuta {
  background: var(--soft);
  border: 1px solid var(--line);
  border-top: 6px solid var(--red);
  color: var(--ink);
  border-radius: 28px;
}
body #escuta .listen-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
body #escuta h2 { font: 800 clamp(34px, 4.2vw, 48px)/1.05 var(--heading); color: var(--ink); text-transform: uppercase; -webkit-text-stroke: .45px currentColor; paint-order: stroke fill; }
body #escuta h3 { font: 800 28px/1.1 var(--heading); color: var(--ink); }
body #escuta .eyebrow { color: var(--red); }
body #escuta .card { background: white; border-color: var(--line); border-radius: 18px; }
body #escuta textarea, body #escuta input:not([type=checkbox]), body #escuta select {
  border-color: #91877c;
  border-radius: 14px;
  color: var(--ink);
}
body #escuta input[type=checkbox] { accent-color: var(--ink); }
body #escuta button, body #escuta .listen-link { color: white; background: var(--ink); border-radius: 999px; }
body #escuta button[type=submit] { background: var(--red); }
body #escuta .secondary { background: #eae3d8; color: var(--ink); }
body #escuta .muted { color: var(--muted); }
body #escuta .liz { border-color: var(--ink); background: var(--soft); border-radius: 16px; }
body #escuta .code { background: var(--soft); border-radius: 16px; }

/* Formulário de participação e área privada. */
body .site-header { background: var(--signal); border-bottom: 4px solid var(--ink); padding-bottom: 24px; }
body .site-header:before { display: none; }
body .site-header .back { color: var(--ink); }
body .site-header a:focus-visible { outline-color: var(--ink); }
body .brand { color: var(--ink); font: 800 26px/1 var(--heading); text-transform: uppercase; }
body .brand span { color: var(--ink); margin-top: 4px; font-style: normal; }
body .eyebrow { color: var(--red); }
body .form-page h1, body .admin-page h1 { font-size: clamp(38px, 5.2vw, 54px); line-height: 1.05; -webkit-text-stroke: .4px currentColor; paint-order: stroke fill; }
body .surface { background: white; border-color: var(--line); border-radius: 22px; }
body .form-page input:not([type=checkbox]), body .admin-page input:not([type=checkbox]),
body .form-page select, body .admin-page select, body .form-page textarea, body .admin-page textarea {
  color: var(--ink);
  border-color: #91877c;
  border-radius: 14px;
  font-family: Arial, Helvetica, sans-serif;
}
body input::placeholder, body textarea::placeholder { color: #6e635b; opacity: 1; }
body .form-page label, body .form-page legend, body .admin-page label { color: var(--ink); }
body .form-page .choice { color: var(--ink); }
body input[type=checkbox] { accent-color: var(--ink); }
body .hint, body .registration-card dt { color: var(--muted); }
body .privacy { background: var(--soft); border-radius: 16px; border-left: 3px solid var(--red); }
body .button {
  background: var(--red);
  border-color: var(--red);
  color: white;
  border-radius: 999px;
  font-family: Arial, Helvetica, sans-serif;
}
body .button.secondary { background: var(--soft); color: var(--ink); border-color: var(--line); }
body .button.outline { background: white; color: var(--ink); border-color: var(--ink); }
body .status.error { color: var(--red); }
body .success { background: var(--soft); border-top: 5px solid var(--red); }
body .badge { background: #fff0f0; color: var(--red); border-radius: 999px; }
body .badge.contacted { background: #eae3d8; color: var(--ink); }
body .page-footer { border-color: var(--line); }
/* Escala tipográfica: título, indicadores, chamadas, leitura e apoio. */
body header>p:not(.notice):not(.sub) { font-size: 20px; line-height: 1.55; }
body header>.sub { font-size: 13px; line-height: 1.6; }
body .about .intro p { font-size: 17px; line-height: 1.65; }
body .notice { font-size: 14px; line-height: 1.6; }
body .stats>div { font-size: 14px; line-height: 1.4; }
body .stats>div:nth-child(-n+2) strong { font-size: clamp(42px, 4.6vw, 62px); }
body #participation-invite p { font-size: 16px; line-height: 1.55; }
body a.participation-button, body .button { font-size: 15px; line-height: 1.4; }
body .view-controls button, body .view-controls a { font-size: 15px; }
body #location-controls label { font-size: 15px; font-weight: 700; }
body #location-controls input, body #location-controls select { font-size: 16px; }
body .row { font-size: 15px; line-height: 1.55; }
body .row strong { font-size: 18px; line-height: 1.3; margin-bottom: 8px; }
body .small, body .row span.small { font-size: 14px; line-height: 1.55; }
body #detail { font-size: 16px; line-height: 1.65; }
body .location-participation p { font-size: 16px; line-height: 1.4; }
body #sources h2 { font-size: 28px; }
body #sources p { font-size: 14px; line-height: 1.75; }
body #escuta h3 { font-size: 28px; }
body #escuta label, body #escuta summary { font-size: 16px; line-height: 1.45; }
body #escuta .muted, body #escuta .check { font-size: 14px; line-height: 1.6; }
body .form-page .introduction, body .admin-page .introduction { font-size: 18px; line-height: 1.6; }
body .form-page label, body .form-page legend, body .admin-page label { font-size: 16px; line-height: 1.4; }
body .form-page .choice { font-size: 16px; font-weight: 400; line-height: 1.5; }
body .hint { font-size: 14px; line-height: 1.6; }
body .registration-card h2 { font-size: 26px; }
body .eyebrow, body #escuta .eyebrow { font-size: 12px; letter-spacing: 1.5px; }
@media(max-width:760px) {
  body .about summary { padding: 17px 16px; font-size: 26px; }
  .hero-title h1 { font-size: clamp(42px, 11.2vw, 70px); line-height: .98; padding-right: 0; -webkit-text-stroke: .6px currentColor; }
  .hero-title { padding-top: 34px; }
  .sun-art { width: 76px; height: 44px; right: 2px; top: -8px; }
  body .stats strong { font-size: clamp(28px, 7.2vw, 34px); }
  body .stats>div:nth-child(-n+2) strong { font-size: clamp(32px, 9.5vw, 44px); }
  body #participation-invite { border-radius: 22px; }
  body #participation-invite h2 { font-size: 32px; }
  body .escuta-invite .escuta-cta { border-radius: 22px; }
  body #main-content>#location-controls { background: var(--soft); border-color: var(--line); border-radius: 22px; }
  body #detail { padding-left: 16px; }
  body #detail>strong { font-size: 28px; }
  body #table-section h2 { font-size: 30px; }
  body #sources h2 { font-size: 26px; }
  body header>p:not(.notice):not(.sub) { font-size: 18px; }
}
@media(max-width:600px) {
  body .brand { font-size: 22px; }
  body .site-header { padding-bottom: 20px; }
  body .form-page h1, body .admin-page h1 { font-size: clamp(36px, 9.8vw, 48px); }
}

@media(prefers-contrast:more) {
  body header:after { display: none; }
  body .hero-title h1 .city { color: var(--ink); }
}

/* Transição entre participação e consulta dos locais. */
body .local-search-intro { margin: 32px 28px 20px; max-width: 960px; }
body .local-search-intro h2 { margin: 0 0 12px; font-family: 'Salvador Condensed', sans-serif; font-size: clamp(28px, 4.5vw, 44px); font-weight: 900; line-height: 1.06; color: var(--ink); }
body .local-search-intro p { margin: 0; max-width: 760px; font-size: clamp(16px, 2vw, 19px); line-height: 1.5; color: var(--ink); }
body .local-search-intro p + p { margin-top: 10px; }
@media (min-width: 761px) {
  body .local-search-intro { box-sizing: border-box; width: calc(100% - 48px); max-width: 980px; margin: 32px auto 20px; text-align: center; }
  body .local-search-intro p { margin-left: auto; margin-right: auto; }
}
@media (max-width: 760px) {
  body .local-search-intro { margin: 28px 16px 20px; }
}

/* Resultados completos fora do mapa, com leitura contínua. */
body #detail { padding:24px; height:auto; max-height:none; overflow:visible; scroll-margin-top:20px; border-left-color:var(--red); }
body #detail .place-title { margin:0 0 8px; font:900 clamp(24px,4vw,34px)/1.1 var(--heading); overflow-wrap:anywhere; color:var(--paper); }
body #detail .place-meta, body #detail .place-comparison { font:400 14px/1.5 Arial,sans-serif; color:var(--paper); }
body #detail h3 { font:700 20px/1.3 Arial,sans-serif; margin:24px 0 12px; color:var(--paper); }
.place-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0; }
.place-metrics>div { padding:12px; border:1px solid #ccc; border-radius:14px; background:#f7f7f7; }
.place-metrics dt { font:400 13px/1.4 Arial,sans-serif; }
.place-metrics dd { margin:6px 0 0; color:var(--red); font:900 clamp(24px,6vw,34px)/1.1 var(--heading); }
.place-votes { margin:0; }
.place-votes>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(90px,1fr); gap:12px; padding:12px 0; border-bottom:1px solid #ccc; }
.place-votes dt { font-weight:600; }
.place-votes dd { margin:0; text-align:right; font-weight:700; }
.place-votes small { display:block; font:400 12px/1.5 Arial,sans-serif; color:#555; }
body #detail .place-metrics>div { background:var(--paper); color:var(--ink); border-color:#fbf7ef99; }
body #detail .place-votes small, body #detail .location-participation p { color:var(--paper); }
body #detail .place-votes>div, body #detail details, body #detail .location-participation { border-color:#fbf7ef66; }
body #detail a.participation-button { background:var(--paper); color:var(--red); border-color:var(--paper); }
body #detail a.participation-button:hover { background:#fff; color:var(--red); }
body #detail :focus-visible { outline-color:var(--paper); }
body #map-view>.legend { margin:12px 0; padding:12px 16px; font:400 13px/1.7 Arial,sans-serif; background:#eee; border-radius:14px; }
body .leaflet-popup-content { font-size:13px; line-height:1.35; }
body .leaflet-popup-content p { margin:8px 0; }
body .popup-details { display:block; padding:10px 0; color:var(--red); font-weight:700; }
body .location-summary-popup .leaflet-popup-content { max-width:calc(100vw - 108px); margin:16px 18px; }
body .location-summary-popup .popup-place-title { display:block; padding-right:16px; font-size:13px; line-height:1.3; overflow-wrap:anywhere; }
body .location-summary-popup .popup-place-meta { margin:6px 0 10px; font-size:12px; line-height:1.35; color:#59534e; }
body .location-summary-popup .popup-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; }
body .location-summary-popup .popup-metrics>div { min-width:0; padding:8px; border:1px solid #e1dbd0; border-radius:10px; background:var(--paper); }
body .location-summary-popup .popup-metrics dt { font:400 11px/1.35 Arial,sans-serif; color:#4a4540; }
body .location-summary-popup .popup-metrics dd { margin:3px 0 0; font:800 22px/1.1 var(--heading); font-variant-numeric:tabular-nums; color:var(--ink); }
body .location-summary-popup .popup-metrics>div:last-child dd { color:var(--red); }
body .location-summary-popup .popup-unavailable { font-size:12px; color:#59534e; }
body .location-summary-popup .popup-details { box-sizing:border-box; display:flex; align-items:center; min-height:44px; margin-top:10px; padding:8px 0 0; border-top:1px solid #ddd7ce; font-size:13px; line-height:1.3; text-underline-offset:3px; }
body .location-summary-popup .leaflet-popup-scrolled { overscroll-behavior:contain; }
body .leaflet-popup-close-button { min-width:30px; min-height:30px; }
@media(max-width:760px){ body #detail { padding:18px; } }

/* Caixa de busca com o mesmo cinza texturizado da apresentação. */
body #location-controls, body #main-content>#location-controls { background:var(--ink) url('/cartaz-textura.svg') repeat; background-size:180px 180px; border:1px solid #404040; border-radius:22px; padding:18px; }
body #location-controls input, body #location-controls select { background:#fff; border-color:#929292; color:#171717; }
body #location-controls input:focus-visible, body #location-controls select:focus-visible { outline:2px solid var(--red); outline-offset:2px; }

/* Legenda interativa: a faixa filtra mapa, lista e tabela. */
body #abstention-filters { padding:14px 16px; background:#eee; border:1px solid #ccc; border-radius:18px; }
body #abstention-filters .legend-hint { font:400 13px/1.45 Arial,sans-serif; margin:4px 0 12px; color:#555; }
.legend-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:6px; }
body #abstention-filters button { font:400 14px/1.35 Arial,sans-serif; cursor:pointer; }
body #abstention-filters .legend-filter { display:flex; align-items:center; gap:10px; min-height:44px; padding:10px 12px; border:2px solid transparent; border-radius:12px; color:#171717; text-align:left; background:transparent; }
body #abstention-filters .swatch { flex:none; width:16px; height:16px; margin:0; border:1px solid #666; }
body #abstention-filters [data-band="30plus"] .swatch { box-sizing:content-box; width:12px; height:12px; border:3px dashed #171717; }
body #abstention-filters .filter-check { margin-left:auto; visibility:hidden; font-weight:700; }
body #abstention-filters .legend-filter[aria-pressed="true"] { border-color:var(--red); background:#fff; font-weight:700; }
body #abstention-filters .legend-filter[aria-pressed="true"] .filter-check { visibility:visible; color:var(--red); }
body #abstention-filters button:hover { background:#fff; }
body #abstention-filters button:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
body #abstention-filters .legend-reset { margin-top:12px; min-height:44px; padding:8px 16px; color:#171717; border:1px solid #888; background:#fff; border-radius:999px; }
body #abstention-filters .legend-reset[aria-pressed="true"] { color:#fff; background:#171717; border-color:#171717; }
body #location-controls>#abstention-filters { order:5; margin-top:12px; }

body #location-controls label, body #location-controls #count { color:var(--paper); }
body #location-controls #count { opacity:.85; }

/* Bloco de faixas no mesmo cinza escuro da apresentação. */
body #abstention-filters.legend { background:var(--ink) url('/cartaz-textura.svg') repeat; background-size:180px 180px; border-color:#454545; color:var(--paper); }
body #abstention-filters .legend-hint { color:#e1ded7; }
body #abstention-filters .legend-filter { color:var(--paper); }
body #abstention-filters .legend-filter:hover { background:#ffffff16; }
body #abstention-filters .legend-filter[aria-pressed="true"] { background:var(--paper); color:var(--ink); }
body #abstention-filters button:focus-visible { outline-color:var(--paper); }
body #abstention-filters .legend-reset[aria-pressed="true"] { background:var(--red); border-color:var(--red); color:var(--paper); }

/* Autoria flutuante com link para o Instagram. */
body .site-credit {
  position:fixed; z-index:1100;
  right:max(12px,env(safe-area-inset-right));
  bottom:calc(10px + env(safe-area-inset-bottom));
  box-sizing:border-box; width:auto; max-width:calc(100vw - 24px); margin:0;
  padding:4px 9px; border:1px solid #0d0d0d18; border-radius:999px;
  background:#fbf7eff0; color:#454545; box-shadow:0 1px 6px #0000000d;
  font:400 11px/1.4 Arial,Helvetica,sans-serif; letter-spacing:.015em;
  text-align:center; white-space:nowrap; pointer-events:auto; text-decoration:none; cursor:pointer;
}
body .site-credit span { font-weight:600; }
body .site-credit:hover { color:#454545; text-decoration:underline; text-underline-offset:2px; }
body .site-credit:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
body #sources, body .page-footer { padding-bottom:calc(44px + env(safe-area-inset-bottom)); }
@media print { body .site-credit { display:none; } }
