/* ================================================================
   notcringe.css — nc- prefix, a tabloid broadsheet on newsprint
   !important where theme fights back
   ================================================================ */

.nc-paper {
  --nc-paper:  #f4efe4;
  --nc-ink:    #1b1a17;
  --nc-muted:  #5d574c;
  --nc-rule:   #1b1a17;
  --nc-red:    #c8102e;
  background: var(--nc-paper) !important;
  color: var(--nc-ink) !important;
  max-width: 1100px !important;
  margin: 2rem auto 4rem !important;
  padding: 2rem clamp(1rem, 4vw, 3rem) 3rem !important;
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 17px !important;
}

/* Whole page becomes newsprint: no star field, no dark backdrop */
html:has(.nc-paper), html:has(.nc-paper) body { background-color: #f4efe4 !important; }
html:has(.nc-paper) #starfield-canvas { display: none !important; }
.nc-paper a { color: inherit !important; text-decoration: none !important; }
.nc-paper h1, .nc-paper h2, .nc-paper h3 { color: var(--nc-ink) !important; }

/* --- Masthead --- */
.nc-paper .nc-masthead {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 900 !important;
  font-size: clamp(2rem, 6.5vw, 4.6rem) !important;
  line-height: 1 !important;
  text-align: center !important;
  letter-spacing: -.02em !important;
  margin: 1.25rem 0 .75rem !important;
}
.nc-paper .nc-masthead em { color: var(--nc-red) !important; font-style: italic !important; }
.nc-paper .nc-dateline {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: .5rem 1.5rem !important;
  border-top: 3px double var(--nc-rule) !important;
  border-bottom: 3px double var(--nc-rule) !important;
  padding: .45rem 0 !important;
  font-family: 'Libre Franklin', sans-serif !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  font-weight: 600 !important;
}
.nc-paper .nc-dateline span { font-family: inherit !important; font-weight: inherit !important; color: inherit !important; }
.nc-paper .nc-dateline .nc-tagline {
  font-family: 'Libre Franklin', sans-serif !important;
  font-style: normal !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  text-align: center !important;
}

/* --- Kicker (section label) --- */
.nc-paper .nc-kicker {
  display: inline-block !important;
  font-family: 'Libre Franklin', sans-serif !important;
  font-weight: 800 !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--nc-red) !important;
  margin-bottom: .4rem !important;
}

/* --- Story rows, latest on top --- */
.nc-paper .nc-rows { max-width: 820px !important; margin: 2rem auto 0 !important; }
.nc-paper .nc-row {
  display: block !important;
  border: 1px solid var(--nc-rule) !important;
  padding: 1.25rem 1.5rem !important;
  margin-bottom: 1rem !important;
  transition: background .15s, transform .15s, box-shadow .15s;
}
.nc-paper .nc-row:hover { background: #fffaf0 !important; transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--nc-rule); }
.nc-paper .nc-row-meta { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: .5rem !important; }
.nc-paper .nc-row-meta .nc-kicker { margin-bottom: 0 !important; }
.nc-paper .nc-row-date {
  margin-left: auto !important;
  font-family: 'Libre Franklin', sans-serif !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--nc-muted) !important;
}
.nc-paper .nc-row-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(1.5rem, 3.5vw, 2.1rem) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  margin: .6rem 0 .4rem !important;
}
.nc-paper .nc-row-dek { font-family: 'Libre Franklin', sans-serif !important; font-weight: 600 !important; font-size: 1.05rem !important; line-height: 1.5 !important; color: var(--nc-ink) !important; margin: 0 !important; }
.nc-paper .nc-dek { font-family: 'Libre Franklin', sans-serif !important; font-weight: 600 !important; font-size: 1.15rem !important; line-height: 1.5 !important; color: var(--nc-ink) !important; }
.nc-paper .nc-byline {
  font-family: 'Libre Franklin', sans-serif !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--nc-muted) !important;
  margin-top: .75rem !important;
}
.nc-paper .nc-empty { text-align: center !important; font-style: italic !important; color: var(--nc-muted) !important; padding: 3rem 0 !important; }

/* --- Fact-check verdict stamp --- */
.nc-paper .nc-stamp {
  display: inline-block !important;
  font-family: 'Libre Franklin', sans-serif !important;
  font-weight: 900 !important;
  font-size: 12px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--nc-red) !important;
  border: 2px solid currentColor !important;
  padding: .15rem .5rem !important;
  transform: rotate(-3deg);
  margin-bottom: .6rem !important;
}

/* --- Article page --- */
.nc-paper .nc-article { max-width: 720px !important; margin: 0 auto !important; }
.nc-paper .nc-back {
  display: inline-block !important;
  font-family: 'Libre Franklin', sans-serif !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  margin: 1rem 0 2rem !important;
}
.nc-paper .nc-back:hover { color: var(--nc-red) !important; }
.nc-paper .nc-headline {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(2rem, 5vw, 3.2rem) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  margin: 0 0 1rem !important;
}
.nc-paper .nc-hero { width: 100% !important; filter: grayscale(1) contrast(1.1); margin: 1rem 0 !important; }
.nc-paper .nc-body { font-size: 1.1rem !important; line-height: 1.75 !important; border-top: 1px solid var(--nc-rule) !important; padding-top: 1.5rem !important; margin-top: 1.25rem !important; }
.nc-paper .nc-body p, .nc-paper .nc-body li, .nc-paper .nc-body span { font-family: 'Source Serif 4', Georgia, serif !important; font-weight: 400 !important; color: var(--nc-ink) !important; }
.nc-paper .nc-body p { margin-bottom: 1.2rem !important; }
.nc-paper .nc-body > p:first-of-type::first-letter {
  font-family: 'Playfair Display', Georgia, serif !important;
  float: left !important;
  font-size: 4.2rem !important;
  line-height: .85 !important;
  font-weight: 900 !important;
  padding: .3rem .5rem 0 0 !important;
}
.nc-paper .nc-body h2 { color: var(--nc-red) !important; font-size: 2rem !important; }
.nc-paper .nc-body h2, .nc-paper .nc-body h3 { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 800 !important; margin: 2rem 0 .75rem !important; }
.nc-paper .nc-body a { text-decoration: underline !important; text-decoration-color: var(--nc-red) !important; }
.nc-paper .nc-body blockquote {
  border-left: 4px solid var(--nc-red) !important;
  margin: 1.5rem 0 !important;
  padding: .25rem 0 .25rem 1.25rem !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.35rem !important;
  font-style: italic !important;
  color: var(--nc-ink) !important;
}
.nc-paper .nc-body img { max-width: 100% !important; }
.nc-paper .nc-body code { background: rgba(0,0,0,.06) !important; color: var(--nc-ink) !important; padding: .1rem .3rem !important; }
.nc-paper .nc-body pre { background: #1b1a17 !important; color: #f4efe4 !important; padding: 1rem !important; overflow-x: auto !important; }
.nc-paper .nc-body pre code { background: none !important; color: inherit !important; }
.nc-paper .nc-body mjx-container[display="true"] { overflow-x: auto; }
.nc-paper .nc-endmark { text-align: center !important; letter-spacing: 1rem !important; color: var(--nc-muted) !important; margin-top: 2rem !important; }

@media (max-width: 760px) {
  .nc-paper .nc-row { padding: 1rem !important; }
}

/* --- Data table (gdp-table shortcode) --- */
.nc-paper .nc-table-wrap { margin: 2rem 0 !important; }
.nc-paper .nc-table-scroll { overflow-x: auto !important; border-top: 3px double var(--nc-rule) !important; border-bottom: 3px double var(--nc-rule) !important; }
.nc-paper .nc-table { width: 100% !important; border-collapse: collapse !important; font-size: .95rem !important; }
.nc-paper .nc-table th, .nc-paper .nc-table td {
  font-family: 'Libre Franklin', sans-serif !important;
  color: var(--nc-ink) !important;
  padding: .5rem .6rem !important;
  border-bottom: 1px solid rgba(27,26,23,.15) !important;
  text-align: left !important;
  white-space: nowrap !important;
  background: transparent !important;
}
.nc-paper .nc-table th {
  font-weight: 800 !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  vertical-align: bottom !important;
  border-bottom: 2px solid var(--nc-rule) !important;
}
.nc-paper .nc-table th small { font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--nc-muted) !important; }
.nc-paper .nc-table th.num, .nc-paper .nc-table td.num, .nc-paper .nc-table td.rank { text-align: right !important; font-variant-numeric: tabular-nums !important; }
.nc-paper .nc-table td { font-weight: 500 !important; }
.nc-paper .nc-table td.rank { color: var(--nc-muted) !important; }
.nc-paper .nc-table td.country { font-weight: 800 !important; }
.nc-paper .nc-table tr.nc-hl td { background: rgba(200,16,46,.08) !important; }
.nc-paper .nc-table tr.nc-hl td.country { color: var(--nc-red) !important; }
.nc-paper .nc-table-wrap figcaption {
  font-family: 'Libre Franklin', sans-serif !important;
  font-size: 12px !important;
  color: var(--nc-muted) !important;
  margin-top: .5rem !important;
}
.nc-paper .nc-table tr.nc-ref td, .nc-paper .nc-table tr.nc-ref td.country { color: #9a9488 !important; font-style: italic !important; }

/* --- Inline SVG map (inline-svg shortcode) --- */
.nc-paper .nc-map-wrap { margin: 2rem 0 !important; }
.nc-paper .nc-map { width: 100% !important; height: auto !important; display: block; }
.nc-paper .nc-map text { paint-order: stroke; stroke: #f4efe4; stroke-width: 3.5px; stroke-linejoin: round; fill: #1b1a17; }
.nc-paper .nc-map .nc-map-country { font-family: 'Libre Franklin', sans-serif; font-weight: 800; font-size: 15px; letter-spacing: .06em; }
.nc-paper .nc-map .nc-map-gdp { font-family: 'Libre Franklin', sans-serif; font-weight: 600; font-size: 13px; }
.nc-paper .nc-map .nc-map-place { font-family: 'Source Serif 4', Georgia, serif; font-style: italic; font-size: 12.5px; }
.nc-paper .nc-map .nc-map-sea { font-family: 'Source Serif 4', Georgia, serif; font-style: italic; font-size: 14px; fill: #4f5a5a; stroke: #d5dcdc; }
.nc-paper .nc-map-wrap figcaption {
  font-family: 'Libre Franklin', sans-serif !important;
  font-size: 12px !important;
  color: var(--nc-muted) !important;
  margin-top: .5rem !important;
}
