:root {
  --ink: #1d2228;
  --muted: #667078;
  --paper: #f6f3ec;
  --surface: #fffdf8;
  --line: #d9d5cb;
  --green: #08784c;
  --green-soft: #e4f3eb;
  --blue: #1f5f9e;
  --blue-soft: #e6eef7;
  --radius: 5px;
  --shadow: 0 18px 50px rgba(40, 42, 39, .08);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background:
    linear-gradient(rgba(255,255,255,.52), rgba(255,255,255,.52)),
    repeating-linear-gradient(0deg, transparent, transparent 31px, rgba(47,50,52,.025) 32px),
    var(--paper);
  font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
  line-height: 1.75;
}

a { color: inherit; }
button { font: inherit; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  color: #fff;
  background: rgba(27, 31, 35, .96);
  border-bottom: 3px solid transparent;
  border-image: linear-gradient(90deg, var(--blue) 0 50%, var(--green) 50%) 1;
  backdrop-filter: blur(12px);
}

.header-inner {
  width: min(1160px, calc(100% - 36px));
  min-height: 66px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-decoration: none;
}

.brand-mark {
  width: 22px;
  height: 22px;
  display: inline-block;
  border-radius: 50%;
  background: conic-gradient(var(--green) 0 50%, var(--blue) 50%);
  box-shadow: inset 0 0 0 4px #fff;
}

.main-nav { display: flex; align-items: center; gap: 22px; }
.main-nav a, .about-button {
  padding: 5px 0;
  color: #cdd1d3;
  background: none;
  border: 0;
  text-decoration: none;
  cursor: pointer;
}
.main-nav .active, .main-nav a:hover, .about-button:hover { color: #fff; }

.page-shell {
  width: min(1160px, calc(100% - 36px));
  margin: 0 auto;
  padding: 68px 0 92px;
}

.intro {
  margin-bottom: 40px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 48px;
}

.eyebrow {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

h1, h2, h3 { line-height: 1.35; }
h1 { max-width: 720px; margin: 0; font-size: clamp(2rem, 4.8vw, 4.1rem); letter-spacing: -.045em; }
.intro-copy { max-width: 720px; margin: 18px 0 0; color: var(--muted); font-size: 1rem; }

.legend {
  padding: 16px 18px;
  display: grid;
  gap: 8px;
  background: rgba(255,253,248,.7);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  font-size: .82rem;
  white-space: nowrap;
}
.legend span { display: flex; align-items: center; gap: 8px; }
.dot { width: 9px; height: 9px; border-radius: 50%; }
.dot.green { background: var(--green); }
.dot.blue { background: var(--blue); }
.dot.neutral { background: var(--ink); }

.content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: start;
  gap: 28px;
}

.lead-story, .fact-panel, .related-card, .transparency-note {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.lead-story { padding: clamp(24px, 5vw, 54px); }
.story-meta { display: flex; flex-wrap: wrap; gap: 10px 16px; color: var(--muted); font-size: .82rem; }
.section-label { color: #fff; background: var(--ink); padding: 1px 9px; border-radius: 3px; font-weight: 800; }
.story-title { margin: 25px 0 26px; font-size: clamp(1.8rem, 4vw, 3.35rem); letter-spacing: -.035em; }
.leaning-green { color: var(--green); }
.leaning-blue { color: var(--blue); }

.verdict-card {
  padding: 16px 18px;
  display: grid;
  grid-template-columns: auto minmax(120px, 1fr) auto;
  align-items: center;
  gap: 14px;
  background: var(--green-soft);
  border-left: 4px solid var(--green);
  border-radius: var(--radius);
}
.verdict-card.green-verdict { background: var(--green-soft); border-left-color: var(--green); }
.verdict-card.blue-verdict { background: var(--blue-soft); border-left-color: var(--blue); }
.verdict-card.neutral-verdict { background: #ebe8e1; border-left-color: var(--ink); }
.blue-verdict .confidence-track { background: rgba(31,95,158,.16); }
.blue-verdict .confidence-track span { background: var(--blue); }
.blue-verdict .reason-toggle { color: var(--blue); }
.blue-verdict .reason-detail { color: #36526c; border-top-color: rgba(31,95,158,.2); }
.neutral-verdict .confidence-track { background: rgba(29,34,40,.14); }
.neutral-verdict .confidence-track span { background: var(--ink); }
.neutral-verdict .reason-toggle { color: var(--ink); }
.neutral-verdict .reason-detail { color: var(--ink); border-top-color: rgba(29,34,40,.18); }
.verdict-card > div:first-child { display: flex; align-items: baseline; gap: 10px; }
.verdict-label { font-size: .83rem; font-weight: 900; }
.verdict-card strong { font-size: .83rem; }
.confidence-track { height: 5px; overflow: hidden; background: rgba(8,120,76,.16); border-radius: 999px; }
.confidence-track span { display: block; height: 100%; background: var(--green); border-radius: inherit; }
.reason-toggle { color: var(--green); background: none; border: 0; font-weight: 800; cursor: pointer; }
.reason-detail { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid rgba(8,120,76,.2); color: #3f5c4d; font-size: .9rem; }

.summary { margin-top: 34px; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); }
.section-heading h3 { margin: 0 0 7px; font-size: 1rem; }
.section-heading span { color: var(--muted); font-size: .75rem; }
.summary p { margin: 20px 0 0; font-family: "Noto Serif TC", "Songti TC", serif; font-size: 1.12rem; }
.summary p span { padding: 1px 2px; border-radius: 2px; }
.sentence-green { color: #075f3e; background: linear-gradient(transparent 70%, rgba(29,159,103,.16) 70%); }
.sentence-blue { color: #174f87; background: linear-gradient(transparent 70%, rgba(39,108,177,.16) 70%); }
.sentence-neutral { color: var(--ink); }

.story-actions { margin-top: 34px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.primary-link, .plain-button {
  min-height: 44px;
  padding: 9px 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: var(--radius);
  font-size: .9rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.primary-link { color: #fff; background: var(--ink); border: 1px solid var(--ink); }
.plain-button { color: var(--ink); background: transparent; border: 1px solid var(--line); }
.primary-link:hover { background: #000; }
.plain-button:hover { border-color: var(--ink); }

.fact-panel { position: sticky; top: 96px; padding: 26px; }
.fact-panel h2 { margin: 0 0 26px; font-size: 1.35rem; }
.poll-row { margin-top: 18px; }
.poll-row > div:first-child { display: flex; justify-content: space-between; align-items: baseline; }
.candidate { font-weight: 900; }
.poll-row strong { font-size: 1.45rem; }
.bar { height: 10px; margin-top: 6px; overflow: hidden; background: #ebe8e1; border-radius: 2px; }
.bar span { display: block; height: 100%; }
.green-bar { background: var(--green); }
.blue-bar { background: var(--blue); }
.green-text { color: var(--green); }
.blue-text { color: var(--blue); }
.neutral-text { color: var(--ink); }
.method-list { margin: 28px 0 0; border-top: 1px solid var(--line); }
.method-list div { padding: 9px 0; display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); font-size: .84rem; }
.method-list dt { color: var(--muted); }
.method-list dd { margin: 0; font-weight: 700; }
.fact-note { margin: 20px 0 0; color: var(--muted); font-size: .79rem; line-height: 1.65; }
.view-counter { color: var(--muted); font-size: .74rem; font-weight: 700; }
.view-counter strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.event-view-counter { margin: 16px 0 0; }

.comparison-section { margin-top: 72px; }
.comparison-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.comparison-header h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.filter-group { display: flex; flex-wrap: wrap; gap: 6px; }
[data-home-stance-filters][hidden] { display: none; }
.filter { padding: 6px 12px; color: var(--muted); background: transparent; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; font-size: .8rem; }
.filter.active, .filter:hover { color: #fff; background: var(--ink); border-color: var(--ink); }
.related-grid { margin-top: 22px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.related-card { min-height: 300px; padding: 24px; display: flex; flex-direction: column; border-top-width: 5px; }
.related-card[hidden] { display: none; }
.blue-card { border-top-color: var(--blue); }
.green-card { border-top-color: var(--green); }
.neutral-card { border-top-color: var(--ink); }
.card-topline { display: flex; justify-content: space-between; color: var(--muted); font-size: .75rem; font-weight: 800; }
.blue-card .card-topline span, .blue-card h3 { color: var(--blue); }
.green-card .card-topline span, .green-card h3 { color: var(--green); }
.related-card h3 { margin: 18px 0 10px; font-size: 1.25rem; }
.related-card p { margin: 0; color: var(--muted); font-size: .88rem; }
.related-card > a { margin-top: auto; padding-top: 22px; font-size: .82rem; font-weight: 900; text-underline-offset: 4px; }
.related-card h3 a { color: inherit; text-decoration: none; }
.related-card h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }

.transparency-note { margin-top: 20px; padding: 24px 28px; box-shadow: none; }
.transparency-note h2 { margin: 0 0 6px; font-size: 1rem; }
.transparency-note p { margin: 0; color: var(--muted); font-size: .83rem; }

.site-footer {
  padding: 30px max(18px, calc((100% - 1160px) / 2));
  display: flex;
  justify-content: space-between;
  gap: 24px;
  color: #bbbfc2;
  background: #1b1f23;
  font-size: .78rem;
}
.site-footer div { display: flex; gap: 12px; }
.site-footer strong { color: #fff; }
.site-footer p { margin: 0; }

.method-dialog {
  width: min(590px, calc(100% - 32px));
  padding: 34px;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 28px 100px rgba(0,0,0,.28);
}
.method-dialog::backdrop { background: rgba(10,14,18,.58); backdrop-filter: blur(4px); }
.method-dialog h2 { margin: 0 0 18px; }
.method-dialog ol { margin: 0; padding-left: 1.3rem; }
.method-dialog li + li { margin-top: 8px; }
.dialog-close { position: absolute; top: 10px; right: 14px; background: none; border: 0; font-size: 1.8rem; cursor: pointer; }

.toast {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 30;
  padding: 10px 16px;
  color: #fff;
  background: var(--ink);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: .2s ease;
}
.toast.show { opacity: 1; transform: translateY(0); }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Homepage feed */
.home-shell { padding-top: 54px; }
.home-hero {
  margin-bottom: 34px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 48px;
}
.home-hero h1 { font-size: clamp(2.2rem, 5vw, 4.45rem); }
.home-hero h1 span { color: var(--muted); }
.home-stats {
  display: grid;
  grid-template-columns: repeat(3, 92px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,253,248,.72);
  overflow: hidden;
}
.home-stats div { padding: 15px 12px; text-align: center; }
.home-stats div + div { border-left: 1px solid var(--line); }
.home-stats strong { display: block; font: 900 1.45rem/1.1 Georgia, serif; }
.home-stats span { color: var(--muted); font-size: .72rem; }

.control-bar {
  margin-bottom: 18px;
  padding: 13px 16px;
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto;
  align-items: center;
  gap: 20px;
  background: #ebe8e1;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.view-filter { display: flex; align-items: center; gap: 10px; }
.view-filter > span { color: var(--muted); font-size: .72rem; font-weight: 800; white-space: nowrap; }
.segmented-control { padding: 3px; display: flex; background: #dedad1; border-radius: var(--radius); }
.segmented-control button {
  padding: 6px 10px;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  font-size: .77rem;
  font-weight: 800;
  white-space: nowrap;
}
.segmented-control button.active { color: var(--ink); background: var(--surface); box-shadow: 0 1px 5px rgba(29,34,40,.12); }
.search-box {
  width: min(420px, 100%);
  min-height: 42px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  gap: 9px;
  background: var(--surface);
  border: 1px solid transparent;
  border-radius: var(--radius);
}
.search-box:focus-within { border-color: var(--ink); }
.search-box span { color: var(--muted); font-size: 1.25rem; }
.search-box input { width: 100%; padding: 8px 0; color: var(--ink); background: transparent; border: 0; outline: 0; font: inherit; font-size: .88rem; }

.home-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  align-items: start;
  gap: 22px;
}
.feed-panel, .tag-panel, .spectrum-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.feed-heading {
  min-height: 92px;
  padding: 21px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--line);
}
.feed-heading h2, .side-heading h2, .spectrum-panel h2 { margin: 0; font-size: 1.35rem; }
.feed-heading p { margin: 0; color: var(--muted); font-size: .78rem; }
.feed-heading p strong { color: var(--ink); font-size: 1rem; }

.post-row {
  position: relative;
  min-height: 174px;
  padding: 24px 54px 24px 24px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 22px;
  border-bottom: 1px solid var(--line);
  transition: background .18s ease, transform .18s ease;
}
.post-row:last-child { border-bottom: 0; }
.post-row:hover { background: #fbfaf5; }
.post-row[hidden] { display: none; }
.featured-row { background: linear-gradient(90deg, var(--green-soft), var(--surface) 48%); }
.stance-rail { position: absolute; top: 0; bottom: 0; left: 0; width: 5px; }
.green-rail { background: var(--green); }
.blue-rail { background: var(--blue); }
.neutral-rail { background: var(--ink); }
.post-time { padding-top: 4px; text-align: right; font-variant-numeric: tabular-nums; }
.post-time time { display: block; font: 800 1rem/1.2 Georgia, serif; }
.post-time span { color: var(--muted); font-size: .68rem; letter-spacing: .08em; }
.post-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: var(--muted); font-size: .72rem; font-weight: 800; }
.post-kicker > span:first-child { color: var(--ink); }
.stance-label, .detail-badge { padding: 1px 7px; border-radius: 999px; }
.green-label { color: var(--green); background: var(--green-soft); }
.blue-label { color: var(--blue); background: var(--blue-soft); }
.neutral-label { color: var(--ink); background: #ebe8e1; }
.detail-badge { color: #fff; background: var(--ink); }
.post-body h3 { margin: 9px 0 7px; font-size: clamp(1.12rem, 2.2vw, 1.45rem); letter-spacing: -.018em; }
.post-body h3 a { text-decoration: none; }
.post-body h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.post-body p { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.65; }
.tag-list { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px 10px; }
.tag-list button, .tag-list a, .clear-tag, .method-link {
  padding: 0;
  color: var(--muted);
  background: none;
  border: 0;
  cursor: pointer;
  font-size: .75rem;
}
.tag-list button:hover, .tag-list button.active, .tag-list a:hover, .clear-tag:hover, .method-link:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.article-tags { margin-top: 22px; }
.article-tags a { color: var(--muted); text-decoration: none; }
.related-toggle {
  width: 100%;
  margin-top: 15px;
  padding: 10px 0 2px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-top: 1px dashed var(--line);
  cursor: pointer;
  font-size: .76rem;
  font-weight: 900;
  text-align: left;
}
.related-toggle i { font-style: normal; font-size: 1rem; }
.post-related { margin-top: 8px; display: grid; }
.post-related[hidden] { display: none; }
.post-related a {
  padding: 9px 0;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  align-items: start;
  gap: 9px;
  color: var(--ink);
  border-top: 1px solid rgba(217,213,203,.72);
  text-decoration: none;
}
.post-related a:hover span:nth-child(2) { text-decoration: underline; text-underline-offset: 3px; }
.post-related b { margin-right: 7px; color: var(--muted); font-size: .69rem; }
.post-related span:nth-child(2) { font-size: .75rem; line-height: 1.55; }
.post-related i { color: var(--muted); font-style: normal; }
.mini-stance { padding-top: 2px; font-size: .68rem; font-weight: 900; }
.mini-stance.green { color: var(--green); }
.mini-stance.blue { color: var(--blue); }
.mini-stance.neutral { color: var(--ink); }

.voice-section { margin-top: 34px; }
.voice-list { margin-top: 16px; display: grid; gap: 12px; }
.voice-card {
  padding: 18px 20px;
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 20px;
  background: #f2efe8;
  border-left: 4px solid var(--ink);
  border-radius: var(--radius);
}
.voice-card.green-voice { background: var(--green-soft); border-left-color: var(--green); }
.voice-card.blue-voice { background: var(--blue-soft); border-left-color: var(--blue); }
.voice-card > div { display: flex; flex-direction: column; }
.voice-card span { color: var(--muted); font-size: .7rem; }
.voice-card strong { font-size: 1rem; }
.voice-card p { margin: 0; color: #3f454a; font-size: .9rem; line-height: 1.75; }
.article-intro { margin-bottom: 34px; }
.row-arrow { position: absolute; top: 50%; right: 21px; color: var(--muted); font-size: 1.25rem; text-decoration: none; transform: translateY(-50%); }
.row-arrow:hover { color: var(--ink); }
.empty-state { padding: 64px 24px; text-align: center; }
.empty-state strong { font-size: 1.15rem; }
.empty-state p { margin: 5px 0 20px; color: var(--muted); }

.home-sidebar { position: sticky; top: 88px; display: grid; gap: 16px; }
.tag-panel, .spectrum-panel { padding: 23px; }
.side-heading { margin-bottom: 16px; }
.tag-cloud { display: grid; }
.tag-cloud button {
  padding: 10px 0;
  display: flex;
  justify-content: space-between;
  color: var(--ink);
  background: none;
  border: 0;
  border-bottom: 1px solid var(--line);
  cursor: pointer;
  text-align: left;
}
.tag-cloud button:hover, .tag-cloud button.active { color: var(--green); }
.tag-cloud strong { font-size: .85rem; }
.tag-cloud span { color: var(--muted); font-size: .75rem; }
.clear-tag { margin-top: 14px; color: var(--green); font-weight: 800; }
.spectrum-line { height: 7px; margin: 18px 0; display: grid; grid-template-columns: 1fr .55fr 1fr; overflow: hidden; border-radius: 999px; }
.spectrum-line span:nth-child(1) { background: var(--blue); }
.spectrum-line span:nth-child(2) { background: var(--ink); }
.spectrum-line span:nth-child(3) { background: var(--green); }
.spectrum-panel dl { margin: 0; }
.spectrum-panel dl div { padding: 8px 0; display: flex; justify-content: space-between; gap: 10px; font-size: .76rem; }
.spectrum-panel dt { display: flex; align-items: center; gap: 7px; font-weight: 800; }
.spectrum-panel dd { margin: 0; color: var(--muted); text-align: right; }
.spectrum-panel > p:not(.eyebrow) { margin: 14px 0 10px; color: var(--muted); font-size: .74rem; line-height: 1.6; }
.method-link { color: var(--ink); font-weight: 900; }

/* Event-group homepage view */
.event-feed-panel[hidden] { display: none; }
.event-group-card { padding: clamp(22px, 4vw, 34px); }
.event-group-card[hidden] { display: none; }
.event-group-topline { display: flex; justify-content: space-between; gap: 16px; color: var(--muted); font-size: .74rem; }
.event-status { color: var(--green); font-weight: 900; }
.event-status::before { content: ""; width: 7px; height: 7px; margin-right: 6px; display: inline-block; background: var(--green); border-radius: 50%; }
.event-group-heading { margin-top: 19px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 24px; }
.event-group-heading h3 { margin: 0; max-width: 720px; font-size: clamp(1.45rem, 3vw, 2.15rem); letter-spacing: -.025em; }
.event-group-heading h3 a { text-decoration: none; }
.event-group-heading h3 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.event-count { min-width: 76px; padding-left: 18px; text-align: right; border-left: 1px solid var(--line); }
.event-count strong { display: block; font: 900 2rem/1 Georgia, serif; }
.event-count span { color: var(--muted); font-size: .7rem; }
.event-common-fact { margin: 21px 0 0; padding: 16px 18px; color: #41484e; background: #f1eee7; border-left: 4px solid var(--ink); border-radius: var(--radius); font-family: "Noto Serif TC", "Songti TC", serif; font-size: .94rem; }
.event-common-fact strong { margin-right: 9px; font-family: "Noto Sans TC", "PingFang TC", sans-serif; font-size: .72rem; letter-spacing: .08em; }
.event-metrics { margin-top: 15px; display: flex; flex-wrap: wrap; gap: 7px; color: var(--muted); font-size: .72rem; }
.event-metrics span { padding: 2px 8px; background: #f1eee7; border-radius: 999px; }
.event-metrics .blue-label { color: var(--blue); background: var(--blue-soft); }
.event-metrics .green-label { color: var(--green); background: var(--green-soft); }
.event-expand {
  width: 100%;
  margin-top: 22px;
  padding: 12px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-top: 1px solid var(--line);
  cursor: pointer;
  font-size: .78rem;
  font-weight: 900;
}
.event-expand i { font-style: normal; font-size: 1.1rem; }
.event-story-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.event-story-list[hidden] { display: none; }
.event-story-list a {
  padding: 12px 0;
  display: grid;
  grid-template-columns: 47px minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
  color: var(--ink);
  border-top: 1px solid var(--line);
  text-decoration: none;
}
.event-story-list a[hidden] { display: none; }
.event-story-list a:hover span:nth-child(2) { text-decoration: underline; text-underline-offset: 3px; }
.event-story-list b { margin-right: 7px; color: var(--muted); font-size: .68rem; }
.event-story-list span:nth-child(2) { font-size: .77rem; line-height: 1.55; }
.event-story-list i { color: var(--muted); font-style: normal; }
.event-analysis-link { margin-top: 20px; padding: 15px 17px; display: flex; justify-content: space-between; gap: 18px; color: #fff; background: var(--ink); border-radius: var(--radius); text-decoration: none; }
.event-analysis-link span:first-child { font-weight: 900; }
.event-analysis-link span:last-child { color: #cdd1d3; font-size: .76rem; }
.event-analysis-link:hover { background: #000; }

/* Event analysis page */
.breadcrumb { margin-bottom: 28px; display: flex; gap: 7px; color: var(--muted); font-size: .76rem; }
.breadcrumb a { text-underline-offset: 3px; }
.event-page-shell { padding-top: 42px; }
.event-hero { padding: 20px 0 44px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 48px; border-bottom: 1px solid var(--line); }
.event-hero h1 { max-width: 900px; font-size: clamp(2rem, 5vw, 4.2rem); }
.event-hero-tags { margin-top: 22px; }
.event-overview-stats { display: grid; grid-template-columns: repeat(3, 92px); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.event-overview-stats div { padding: 16px 10px; text-align: center; }
.event-overview-stats div + div { border-left: 1px solid var(--line); }
.event-overview-stats strong { display: block; font: 900 1.55rem/1.1 Georgia, serif; }
.event-overview-stats span { color: var(--muted); font-size: .7rem; }
.event-fact-grid { margin-top: 30px; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; align-items: start; }
.event-analysis-card { padding: clamp(24px, 4vw, 36px); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.event-analysis-card h2 { margin: 0; font-size: clamp(1.45rem, 3vw, 2.1rem); }
.fact-check-list { margin: 26px 0 0; padding: 0; list-style: none; }
.fact-check-list li { padding: 15px 0; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 13px; border-top: 1px solid var(--line); }
.fact-check-list li > span { color: var(--muted); font: 700 .8rem/1.8 Georgia, serif; }
.fact-check-list p { margin: 0; font-family: "Noto Serif TC", "Songti TC", serif; font-size: .98rem; }
.poll-snapshot { position: sticky; top: 94px; }
.poll-snapshot h2 { font-size: 1.35rem; }
.event-section { margin-top: 64px; }
.event-section-heading { margin-bottom: 22px; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.event-section-heading h2 { margin: 0; font-size: clamp(1.55rem, 3.3vw, 2.5rem); }
.event-section-heading > p { margin: 0; color: var(--muted); font-size: .75rem; }
.issue-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.issue-grid article { padding: 25px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.issue-grid article > span { color: var(--muted); font: 700 .78rem Georgia, serif; }
.issue-grid h3 { margin: 18px 0 8px; font-size: 1.05rem; }
.issue-grid p { margin: 0; color: var(--muted); font-size: .84rem; }
.event-timeline { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.event-timeline li { padding: 20px 0; display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 22px; border-bottom: 1px solid var(--line); }
.event-timeline time { font: 900 1.1rem Georgia, serif; }
.event-timeline strong { font-size: .95rem; }
.event-timeline p { margin: 4px 0 0; color: var(--muted); font-size: .83rem; }
.event-voice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.event-voice-card { min-height: 190px; padding: 23px; background: #f1eee7; border-top: 5px solid var(--ink); border-radius: var(--radius); }
.event-voice-card.green-voice { background: var(--green-soft); border-top-color: var(--green); }
.event-voice-card.blue-voice { background: var(--blue-soft); border-top-color: var(--blue); }
.event-voice-name { display: flex; flex-direction: column; }
.event-voice-name span { color: var(--muted); font-size: .7rem; }
.event-voice-name strong { font-size: 1.1rem; }
.event-voice-card p { margin: 14px 0 0; color: #41484e; font-size: .87rem; }
.event-coverage-grid { grid-template-columns: repeat(2, 1fr); }
.event-coverage-grid .related-card { min-height: 280px; }

/* About */
.about-shell { padding-top: 58px; }
.about-hero { padding-bottom: 58px; border-bottom: 1px solid var(--line); }
.about-hero h1 { max-width: 880px; font-size: clamp(2.3rem, 5.3vw, 4.8rem); }
.about-hero h1 span { color: var(--muted); }
.about-section { padding: 66px 0; display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 56px; border-bottom: 1px solid var(--line); }
.about-section-title h2 { margin: 0; font-size: clamp(1.5rem, 3vw, 2.2rem); }
.about-section-title > p:last-child:not(.eyebrow) { color: var(--muted); font-size: .82rem; }
.usage-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.usage-grid article { padding: 23px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.usage-grid article > span { color: var(--muted); font: 700 .78rem Georgia, serif; }
.usage-grid h3 { margin: 18px 0 8px; font-size: 1rem; }
.usage-grid p { margin: 0; color: var(--muted); font-size: .82rem; }
.media-list { display: grid; border-top: 1px solid var(--ink); }
.media-list > div { padding: 15px 0; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.media-list strong { font-size: .92rem; }
.media-list span { color: var(--muted); font-size: .78rem; text-align: right; }
.source-policy { grid-column: 2; margin: -24px 0 0; color: var(--muted); font-size: .76rem; }
.future-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.future-grid article { padding: 28px; background: var(--surface); border: 1px dashed #aaa69d; border-radius: var(--radius); }
.coming-badge { padding: 3px 8px; color: var(--muted); background: #ebe8e1; border-radius: 999px; font-size: .68rem; font-weight: 900; }
.future-grid h3 { margin: 20px 0 8px; }
.future-grid p { margin: 0; color: var(--muted); font-size: .84rem; }
.about-principles { margin-top: 66px; padding: clamp(28px, 5vw, 48px); display: grid; grid-template-columns: 1fr 1fr; gap: 48px; color: #fff; background: var(--ink); border-radius: var(--radius); }
.about-principles h2 { margin: 0; font-size: clamp(1.5rem, 3vw, 2.25rem); }
.about-principles .eyebrow { color: #aeb4b8; }
.about-principles ul { margin: 0; padding-left: 1.25rem; }
.about-principles li + li { margin-top: 12px; }
.site-footer a { text-underline-offset: 3px; }
[data-moderation-pending] main { visibility: hidden; }
.hidden-article-notice { max-width: 720px; min-height: 55vh; padding: 70px 0; }
.hidden-article-notice h1 { margin: 0; font-size: clamp(2rem, 5vw, 4rem); }
.hidden-article-notice > p:not(.eyebrow) { margin: 20px 0 30px; color: var(--muted); }

/* Internal AI lab */
.lab-nav-label { color: #fff; font-size: .78rem; font-weight: 800; }
.lab-logout { padding: 6px 10px; color: #fff; background: transparent; border: 1px solid #5d646a; border-radius: var(--radius); cursor: pointer; font-size: .72rem; font-weight: 800; }
.lab-logout:hover { border-color: #fff; }
.lab-shell { padding-top: 48px; }
.admin-heading { margin-bottom: 24px; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.admin-heading h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.5rem); }
.admin-heading > p { max-width: 330px; margin: 0; color: var(--muted); font-size: .76rem; text-align: right; }
.admin-tabs { margin-bottom: 38px; display: flex; gap: 5px; border-bottom: 1px solid var(--line); }
.admin-tabs button { margin-bottom: -1px; padding: 12px 18px; color: var(--muted); background: transparent; border: 0; border-bottom: 3px solid transparent; cursor: pointer; font-weight: 900; }
.admin-tabs button.active { color: var(--ink); border-bottom-color: var(--ink); }
.lab-hero { padding-bottom: 38px; display: grid; grid-template-columns: minmax(0, 1fr) 310px; align-items: end; gap: 42px; border-bottom: 1px solid var(--line); }
.lab-hero h1, .lab-hero h2 { max-width: 800px; margin: 0; font-size: clamp(1.65rem, 3.4vw, 2.8rem); }
.lab-status-card { padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.lab-status-card > strong { font-size: .9rem; }
.lab-status-card p { margin: 7px 0 13px; color: var(--muted); font-size: .78rem; }
.lab-status-card p[data-tone="success"] { color: var(--green); }
.lab-status-card p[data-tone="warning"] { color: #8a5a00; }
.lab-status-card p[data-tone="error"] { color: #a13a32; }
.lab-grid { margin-top: 30px; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: start; gap: 22px; }
.lab-form, .lab-result { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.lab-form { padding: clamp(22px, 4vw, 34px); display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lab-form-heading { grid-column: 1 / -1; margin-bottom: 6px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.lab-form-heading h2 { margin: 0; }
.lab-form-heading > span { color: var(--muted); font-size: .72rem; }
.lab-field { display: grid; gap: 6px; }
.lab-field-wide { grid-column: 1 / -1; }
.lab-field > span { font-size: .78rem; font-weight: 900; }
.lab-field > span small { color: var(--muted); font-size: .68rem; font-weight: 500; }
.lab-field input, .lab-field textarea { width: 100%; padding: 11px 12px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: var(--radius); outline: none; }
.lab-field textarea { min-height: 330px; resize: vertical; line-height: 1.7; }
.lab-field input:focus, .lab-field textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(29,34,40,.08); }
.field-count { justify-self: end; color: var(--muted); font-size: .68rem; }
.lab-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.lab-actions p { margin: 0; max-width: 280px; color: var(--muted); font-size: .7rem; text-align: right; }
.lab-submit { padding: 11px 18px; color: #fff; background: var(--ink); border: 0; border-radius: var(--radius); cursor: pointer; font-weight: 900; }
.lab-submit:disabled, .lab-status-card button:disabled { cursor: wait; opacity: .55; }
.lab-result { min-height: 560px; overflow: hidden; position: sticky; top: 92px; }
.lab-result-placeholder { padding: 42px; }
.lab-result-placeholder h2 { margin: 0; }
.lab-result-placeholder > p:last-child { color: var(--muted); }
.lab-result-top { padding: 30px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; background: #eeeae2; border-top: 5px solid var(--ink); }
.lab-result-top.blue { background: var(--blue-soft); border-top-color: var(--blue); }
.lab-result-top.green { background: var(--green-soft); border-top-color: var(--green); }
.lab-result-top h2 { margin: 0; font-size: 1.55rem; }
.lab-result-score { text-align: right; }
.lab-result-score strong { display: block; font-size: 1.15rem; }
.lab-result-score span { color: var(--muted); font-size: .7rem; }
.lab-output-section { padding: 24px 30px; border-top: 1px solid var(--line); }
.lab-output-section h3 { margin: 0 0 13px; font-size: .95rem; }
.lab-summary-copy { margin: 0; font-family: "Noto Serif TC", "Songti TC", serif; }
.lab-point-list { margin: 17px 0 0; padding-left: 1.2rem; color: var(--muted); font-size: .82rem; }
.lab-actor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.lab-actor-card { padding: 15px; background: #f1eee7; border-top: 4px solid var(--ink); border-radius: var(--radius); }
.lab-actor-card.blue { background: var(--blue-soft); border-top-color: var(--blue); }
.lab-actor-card.green { background: var(--green-soft); border-top-color: var(--green); }
.lab-actor-card strong, .lab-actor-card span { display: block; }
.lab-actor-card span { color: var(--muted); font-size: .68rem; }
.lab-actor-card p { margin: 9px 0 0; font-size: .78rem; }
.lab-muted { color: var(--muted); font-size: .8rem; }
.lab-output-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.lab-output-tags span { padding: 3px 8px; background: #eeeae2; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.lab-usage-list { margin-top: 16px; border-top: 1px solid var(--line); }
.lab-usage-list > div { padding: 9px 0; display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); font-size: .72rem; }
.lab-usage-list span { color: var(--muted); text-align: right; }
.lab-json-details { border-top: 1px solid var(--line); }
.lab-json-details summary { padding: 16px 30px; cursor: pointer; font-size: .76rem; font-weight: 900; }
.lab-json-details pre { max-height: 420px; margin: 0; padding: 20px 30px; overflow: auto; background: #1d2228; color: #eef1f2; font: 12px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.lab-view-stats { margin-top: 24px; padding: clamp(22px, 4vw, 34px); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.lab-view-stats-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.lab-view-stats-heading h2 { margin: 0; }
.lab-view-stats-copy { color: var(--muted); font-size: .78rem; }
.lab-view-stats-table { width: 100%; margin-top: 18px; border-collapse: collapse; font-size: .78rem; }
.lab-view-stats-table th, .lab-view-stats-table td { padding: 10px 8px; border-top: 1px solid var(--line); text-align: left; }
.lab-view-stats-table th:nth-child(3), .lab-view-stats-table td:nth-child(3) { text-align: right; font-variant-numeric: tabular-nums; }
.lab-view-stats-table td:last-child { color: var(--muted); }
.article-admin-hero { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.article-admin-hero h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.article-admin-hero p:last-child { max-width: 760px; color: var(--muted); }
.article-admin-metrics { margin: 28px 0 18px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.article-admin-metrics > div { padding: 19px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.article-admin-metrics span, .article-admin-metrics strong { display: block; }
.article-admin-metrics span { color: var(--muted); font-size: .7rem; font-weight: 800; }
.article-admin-metrics strong { margin-top: 7px; font-size: 1.7rem; font-variant-numeric: tabular-nums; }
.article-admin-toolbar { padding: 12px; display: grid; grid-template-columns: minmax(240px, 1fr) auto; gap: 12px; background: #eae6de; border: 1px solid var(--line); border-radius: var(--radius); }
.article-admin-toolbar input, .article-admin-toolbar select { min-height: 42px; padding: 9px 12px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.article-admin-toolbar input { width: 100%; }
.article-admin-toolbar label:last-child { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: .7rem; font-weight: 800; }
.article-admin-status { color: var(--muted); font-size: .74rem; }
.article-admin-table-wrap { overflow-x: auto; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.article-admin-table { width: 100%; border-collapse: collapse; font-size: .78rem; }
.article-admin-table th, .article-admin-table td { padding: 14px 13px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.article-admin-table th { color: var(--muted); background: #f0ede6; font-size: .68rem; letter-spacing: .05em; white-space: nowrap; }
.article-admin-table tr:last-child td { border-bottom: 0; }
.article-admin-table tr.is-hidden { opacity: .62; }
.article-admin-title { min-width: 360px; }
.article-admin-title a { display: block; color: var(--ink); font-weight: 900; text-decoration: none; }
.article-admin-title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.article-admin-title > span { display: block; margin-top: 5px; color: var(--muted); font-size: .67rem; }
.article-admin-view-count { text-align: right !important; font-size: 1rem; font-weight: 900; font-variant-numeric: tabular-nums; }
.article-admin-stance, .article-admin-state { padding: 4px 8px; border-radius: 999px; white-space: nowrap; font-size: .66rem; font-weight: 900; }
.article-admin-stance.blue { color: var(--blue); background: var(--blue-soft); }
.article-admin-stance.green { color: var(--green); background: var(--green-soft); }
.article-admin-stance.neutral { color: var(--ink); background: #e7e3db; }
.article-admin-state.visible { color: var(--green); background: var(--green-soft); }
.article-admin-state.hidden { color: #8c332d; background: #f5deda; }
.article-admin-action { padding: 7px 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: var(--radius); cursor: pointer; white-space: nowrap; font-weight: 800; }
.article-admin-action:hover { border-color: var(--ink); }
.article-admin-action:disabled { cursor: wait; opacity: .5; }
.source-admin-notice { margin: 24px 0 16px; padding: 14px 16px; display: flex; align-items: baseline; gap: 10px; color: #6f4f09; background: #fff1c9; border: 1px solid #dfc579; border-radius: var(--radius); font-size: .76rem; }
.source-admin-notice strong { white-space: nowrap; }
.source-admin-state { padding: 4px 8px; border-radius: 999px; white-space: nowrap; font-size: .66rem; font-weight: 900; }
.source-admin-state.active { color: var(--green); background: var(--green-soft); }
.source-admin-state.pending { color: #7b5a10; background: #fff1c9; }
.source-admin-table th:last-child, .source-admin-table td:last-child { text-align: right; }
.lab-login-page { min-height: 100vh; }
.lab-login-shell { min-height: calc(100vh - 70px); padding: 60px 20px; display: grid; place-items: center; }
.lab-login-card { width: min(100%, 460px); padding: clamp(28px, 6vw, 48px); display: grid; gap: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.lab-login-card h1 { margin: 0; font-size: 2.2rem; }
.lab-login-card > p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .8rem; }
.lab-login-card code { color: var(--ink); }
.lab-login-card .lab-submit { justify-self: start; min-width: 110px; }
.lab-login-error { padding: 10px 12px; color: #8c332d !important; background: #f5deda; border-radius: var(--radius); }

@media (max-width: 900px) {
  .intro, .content-grid { grid-template-columns: 1fr; }
  .home-hero, .home-layout { grid-template-columns: 1fr; }
  .home-stats { width: fit-content; }
  .home-sidebar { position: static; grid-template-columns: 1fr 1fr; }
  .legend { grid-template-columns: repeat(3, auto); white-space: normal; }
  .fact-panel { position: static; }
  .related-grid { grid-template-columns: 1fr; }
  .related-card { min-height: 240px; }
  .control-bar { grid-template-columns: 1fr 1fr; }
  .search-box { grid-column: 1 / -1; grid-row: 2; }
  .control-bar > .filter-group { justify-self: end; }
  .event-hero, .event-fact-grid, .about-section, .lab-hero, .lab-grid { grid-template-columns: 1fr; }
  .poll-snapshot { position: static; }
  .lab-result { position: static; }
  .article-admin-metrics { grid-template-columns: repeat(2, 1fr); }
  .source-policy { grid-column: 1; margin-top: -30px; }
}

@media (max-width: 620px) {
  .header-inner { width: min(100% - 24px, 1160px); min-height: 58px; }
  .main-nav a { display: none; }
  .page-shell { width: min(100% - 24px, 1160px); padding-top: 42px; }
  .intro { gap: 24px; }
  .legend { grid-template-columns: 1fr; }
  .lead-story { padding: 22px; }
  .verdict-card { grid-template-columns: 1fr auto; }
  .confidence-track { grid-column: 1 / -1; grid-row: 2; }
  .reason-toggle { grid-column: 2; grid-row: 1; }
  .comparison-header { align-items: start; flex-direction: column; }
  .home-shell { padding-top: 36px; }
  .home-hero { gap: 24px; }
  .home-stats { width: 100%; grid-template-columns: repeat(3, 1fr); }
  .control-bar { grid-template-columns: 1fr; align-items: stretch; }
  .view-filter { align-items: stretch; justify-content: space-between; }
  .segmented-control { flex: 1; }
  .segmented-control button { flex: 1; }
  .search-box { grid-column: auto; grid-row: auto; }
  .control-bar > .filter-group { justify-self: start; }
  .search-box { width: 100%; }
  .post-row { padding: 21px 42px 21px 17px; grid-template-columns: 1fr; gap: 9px; }
  .post-time { display: flex; gap: 6px; text-align: left; }
  .post-time time { font-size: .74rem; font-weight: 800; line-height: 1.5; }
  .post-time span { font-size: .7rem; }
  .post-body p { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .voice-card { grid-template-columns: 1fr; gap: 7px; }
  .post-related a { grid-template-columns: 45px minmax(0, 1fr); }
  .post-related i { display: none; }
  .home-sidebar { grid-template-columns: 1fr; }
  .feed-heading { padding: 18px; }
  .site-footer { flex-direction: column; }
  .site-footer div { flex-direction: column; gap: 2px; }
  .event-group-heading { grid-template-columns: 1fr; }
  .event-count { padding: 0; display: flex; align-items: baseline; gap: 7px; text-align: left; border-left: 0; }
  .event-count strong { font-size: 1.35rem; }
  .event-story-list, .event-voice-grid, .issue-grid, .event-coverage-grid, .usage-grid, .future-grid, .about-principles, .lab-form, .lab-actor-grid { grid-template-columns: 1fr; }
  .event-analysis-link { flex-direction: column; gap: 2px; }
  .event-overview-stats { width: 100%; grid-template-columns: repeat(3, 1fr); }
  .event-section-heading { align-items: start; flex-direction: column; }
  .event-timeline li { grid-template-columns: 58px minmax(0, 1fr); gap: 14px; }
  .about-section { gap: 26px; }
  .source-policy { margin-top: -10px; }
  .media-list > div { align-items: start; flex-direction: column; gap: 2px; }
  .media-list span { text-align: left; }
  .lab-field-wide, .lab-form-heading { grid-column: 1; }
  .lab-actions, .lab-form-heading, .lab-result-top, .lab-usage-list > div { align-items: flex-start; flex-direction: column; }
  .lab-result-top { grid-template-columns: 1fr; }
  .lab-result-score, .lab-actions p, .lab-usage-list span { text-align: left; }
  .admin-heading, .article-admin-hero { align-items: flex-start; flex-direction: column; }
  .admin-heading > p { text-align: left; }
  .article-admin-metrics { grid-template-columns: 1fr 1fr; }
  .article-admin-toolbar { grid-template-columns: 1fr; }
  .article-admin-toolbar label:last-child { align-items: flex-start; flex-direction: column; }
  .source-admin-notice { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
