:root {
  --weekly-ink: #0f172a;
  --weekly-muted: #475569;
  --weekly-paper: #ffffff;
  --weekly-paper-soft: #f7fafc;
  --weekly-line: #d7e2eb;
  --weekly-accent: #075e70;
  --weekly-max: 1120px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.weekly-page {
  margin: 0;
  color: var(--weekly-ink);
  background: #f6f8fb;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.75;
}
.weekly-page a { color: inherit; text-underline-offset: 0.24em; }
.weekly-page a:hover { color: var(--weekly-accent); }
.weekly-page a:focus-visible {
  outline: 3px solid var(--weekly-accent);
  outline-offset: 5px;
  border-radius: 2px;
}
.weekly-skip-link {
  position: fixed;
  z-index: 10;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  color: #fff !important;
  background: var(--weekly-accent);
  transform: translateY(-180%);
}
.weekly-skip-link:focus { transform: none; }
.weekly-nav,
.weekly-hero,
.weekly-content,
.weekly-index-hero,
.weekly-index-list,
.weekly-footer {
  width: min(calc(100% - 48px), var(--weekly-max));
  margin-inline: auto;
}
.weekly-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 66px;
  padding: 16px max(24px, calc((100vw - 1200px) / 2));
  border-bottom: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}
.weekly-brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #071527;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}
.weekly-brand::before { content: ""; width: 28px; height: 28px; border-radius: 9px; background: url("./assets/site-icon.svg") center / contain no-repeat; }
.weekly-nav-links { display: flex; flex-wrap: wrap; gap: 14px; color: #3b4a5f; font-size: 0.76rem; letter-spacing: 0.08em; }
.weekly-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(270px, 0.75fr);
  gap: clamp(40px, 7vw, 88px);
  align-items: end;
  width: 100%;
  min-height: auto;
  padding-inline: max(24px, calc((100vw - 1200px) / 2));
  padding-block: clamp(64px, 9vh, 104px) 54px;
  border-bottom: 0;
  background: linear-gradient(90deg, rgba(6, 21, 39, 0.98), rgba(6, 21, 39, 0.86)), repeating-linear-gradient(90deg, rgba(125, 211, 221, 0.1) 0 1px, transparent 1px 120px), #061527;
  color: #f8fafc;
}
.weekly-kicker {
  margin: 0 0 16px;
  color: #8dd7df;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
}
.weekly-hero h1,
.weekly-index-hero h1 {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.weekly-hero h1 { max-width: 760px; font-size: clamp(2.8rem, 6.7vw, 6.8rem); }
.weekly-hero h1 span { white-space: nowrap; }
.weekly-cover-feature { max-width: 790px; margin-top: 38px; padding-top: 30px; border-top: 1px solid rgba(215, 227, 238, 0.24); }
.weekly-feature-label { margin: 0 0 8px; color: #8dd7df; font: 700 0.75rem/1.2 "Barlow Condensed", sans-serif; letter-spacing: 0.15em; }
.weekly-cover-feature h2 { margin: 0; font-size: clamp(1.65rem, 3.2vw, 3rem); line-height: 1.35; }
.weekly-feature-player { margin: 18px 0 2px; color: #dff8fa; font-weight: 700; }
.weekly-feature-score { margin: 0 0 12px; color: #fff; font: 700 clamp(1.55rem, 3vw, 2.4rem)/1.1 "Barlow Condensed", sans-serif; }
.weekly-cover-feature > p:last-of-type { max-width: 720px; color: #d7e3ee; }
.weekly-feature-actions,
.weekly-topic-actions,
.weekly-match-actions { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.weekly-feature-actions a { color: #8dd7df; font-weight: 700; text-decoration: underline; }
.weekly-summary { max-width: 760px; margin: 28px 0 0; color: #d7e3ee; font-size: 1.08rem; }
.weekly-read-path { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 36px; }
.weekly-read-path a { min-height: 44px; padding-block: 9px; color: #dff8fa; }
.weekly-hero-meta {
  display: grid;
  gap: 38px;
  margin: 0;
  padding-left: 28px;
  border-left: 1px solid rgba(215, 227, 238, 0.24);
}
.weekly-hero-meta div { display: grid; gap: 4px; }
.weekly-hero-meta dt { color: #b9d9df; font-size: 0.78rem; }
.weekly-hero-meta dd { margin: 0; font-weight: 700; }
.weekly-content { padding-bottom: 96px; background: #fff; }
.weekly-section { padding-block: clamp(72px, 10vw, 124px); border-bottom: 1px solid var(--weekly-line); }
.weekly-section-heading {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 24px;
  align-items: baseline;
  margin-bottom: 42px;
}
.weekly-section-heading span { color: var(--weekly-accent); font-size: 0.78rem; letter-spacing: 0.16em; }
.weekly-section-heading h2 {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(2rem, 4.6vw, 4.2rem);
  line-height: 1.1;
  letter-spacing: -0.035em;
}
.weekly-topic-list,
.weekly-highlight-list,
.weekly-match-list,
.weekly-resource-list,
.weekly-index-list { margin: 0; padding: 0; list-style: none; }
.weekly-topic-list li {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 24px;
  padding: 30px 0;
  border-top: 1px solid var(--weekly-line);
}
.weekly-topic-number { color: var(--weekly-accent); font: 2rem/1 Georgia, serif; }
.weekly-topic-list p { max-width: 820px; margin: 0; font-size: clamp(1.08rem, 2.1vw, 1.5rem); }
.weekly-topic-cards { display: grid; grid-template-columns: 1.15fr 0.925fr 0.925fr; gap: 18px; }
.weekly-topic-card { display: grid; grid-template-columns: 52px 1fr; gap: 16px; padding: 28px; border: 1px solid var(--weekly-line); background: var(--weekly-paper-soft); }
.weekly-topic-card:first-child { background: #061527; color: #f8fafc; }
.weekly-topic-card h3 { margin: 0; font-size: clamp(1.2rem, 2.2vw, 1.7rem); line-height: 1.45; }
.weekly-topic-card p { margin: 10px 0 0; }
.weekly-topic-player { color: var(--weekly-accent); font-weight: 700; }
.weekly-topic-card:first-child .weekly-topic-player,
.weekly-topic-card:first-child .weekly-topic-actions a { color: #8dd7df; }
.weekly-topic-match { color: var(--weekly-muted); font-family: "Barlow Condensed", sans-serif; font-size: 1.15rem; }
.weekly-topic-card:first-child .weekly-topic-match { color: #b9d9df; }
.weekly-topic-actions { margin-top: 18px; }
.weekly-topic-actions a { color: var(--weekly-accent); font-size: 0.84rem; font-weight: 700; text-decoration: underline; }
.weekly-highlight-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; }
.weekly-highlight-list li { padding: 24px 0; border-top: 1px solid var(--weekly-line); color: #334155; }
.weekly-story-copy {
  max-width: 850px;
  margin-left: min(124px, 10vw);
}
.weekly-story-copy h3,
.weekly-video-copy h3 {
  margin: 0 0 28px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.7rem, 3.5vw, 3.2rem);
  font-weight: 500;
  line-height: 1.35;
}
.weekly-story-copy p {
  margin: 0;
  color: #334155;
  font-size: clamp(1rem, 1.7vw, 1.18rem);
  line-height: 2;
}
.weekly-story-copy p + p { margin-top: 1.7em; }
.weekly-video-copy { max-width: 760px; margin-bottom: 30px; }
.weekly-video-copy p { margin: 0; color: var(--weekly-muted); }
.weekly-video-frame {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #02060b;
  border: 1px solid var(--weekly-line);
}
.weekly-video-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.weekly-inline-link { display: inline-block; margin-top: 28px; color: var(--weekly-accent) !important; font-weight: 700; }
.weekly-match-list li,
.weekly-resource-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 28px;
  align-items: center;
  padding: 25px 0;
  border-top: 1px solid var(--weekly-line);
}
.weekly-match-list li { grid-template-columns: 130px minmax(0, 1fr) 150px; }
.weekly-match-list time { color: var(--weekly-muted); font-size: 0.82rem; }
.weekly-match-competition { color: var(--weekly-accent); font-size: 0.72rem; font-weight: 700; }
.weekly-match-actions { justify-content: flex-end; }
.weekly-match-list h3 { margin: 0; font-size: 1.2rem; }
.weekly-match-list li[hidden] { display: none; }
.weekly-match-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 9px; }
.weekly-match-tags span {
  padding: 3px 9px;
  border: 1px solid #c8d6e2;
  border-radius: 999px;
  background: #f7fafc;
  color: #475569;
  font-size: 0.72rem;
}
.weekly-match-list p { margin: 6px 0 0; color: var(--weekly-muted); }
.weekly-match-list a,
.weekly-resource-list a { color: var(--weekly-accent); font-weight: 700; }
.weekly-resource-list div { display: grid; gap: 4px; }
.weekly-resource-list span { color: var(--weekly-muted); font-size: 0.86rem; }
.weekly-footer { display: flex; justify-content: space-between; gap: 24px; padding-block: 38px 58px; color: var(--weekly-muted); font-size: 0.84rem; }
.weekly-classification {
  padding: clamp(72px, 10vw, 124px) 0;
  border-bottom: 1px solid var(--weekly-line);
}
.weekly-classification-intro { max-width: 680px; margin: -18px 0 42px 124px; color: var(--weekly-muted); }
.weekly-country-groups { border-top: 1px solid var(--weekly-line); }
.weekly-country-group {
  display: grid;
  grid-template-columns: minmax(190px, 0.42fr) minmax(0, 1.58fr);
  gap: 34px;
  padding: 32px 0;
  border-bottom: 1px solid var(--weekly-line);
}
.weekly-country-group header p { margin: 0 0 12px; color: var(--weekly-accent); font-family: inherit; font-size: 0.9rem; line-height: 1.6; letter-spacing: 0.02em; }
.weekly-country-group h3 { margin: 0; font-size: clamp(1.2rem, 2.2vw, 1.75rem); }
.weekly-country-group ul { margin: 0; padding: 0; list-style: none; }
.weekly-country-group li + li { margin-top: 18px; padding-top: 18px; border-top: 1px solid #e6edf3; }
.weekly-country-group a { display: grid; gap: 4px; }
.weekly-country-group strong { font-size: 1rem; }
.weekly-country-group span { color: var(--weekly-muted); font-size: 0.86rem; }
.weekly-country-match-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.weekly-country-match { padding: 22px; border: 1px solid var(--weekly-line); background: #fff; }
.weekly-country-match h4 { margin: 4px 0 14px; font-size: 1.05rem; line-height: 1.5; }
.weekly-country-match ul { margin: 0 0 14px; }
.weekly-country-match li { color: #334155; font-size: 0.84rem; }
.weekly-country-match li + li { margin-top: 5px; padding-top: 0; border: 0; }
.weekly-country-match > p:not(.weekly-country-competition) { color: var(--weekly-muted); font-size: 0.88rem; }
.weekly-country-competition { margin: 0; color: var(--weekly-accent); font-size: 0.72rem; font-weight: 700; }
.weekly-country-match > a { color: var(--weekly-accent); font-size: 0.84rem; font-weight: 700; }
.weekly-next-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.weekly-next-links a { display: grid; gap: 8px; padding: 24px; border: 1px solid var(--weekly-line); background: var(--weekly-paper-soft); }
.weekly-next-links strong { color: var(--weekly-accent); font-size: 1.1rem; }
.weekly-next-links span,
.weekly-coverage > p { color: var(--weekly-muted); }
.weekly-source-links { columns: 2; gap: 40px; margin: 30px 0 0; padding: 24px 0 0; border-top: 1px solid var(--weekly-line); list-style: none; }
.weekly-source-links li { break-inside: avoid; margin-bottom: 12px; }
.weekly-source-links a { color: var(--weekly-accent); font-size: 0.84rem; text-decoration: underline; }
.weekly-index-hero { padding-block: clamp(80px, 12vw, 150px) 70px; border-bottom: 1px solid var(--weekly-line); }
.weekly-index-hero h1 { max-width: 980px; font-size: clamp(3.2rem, 7vw, 6.8rem); }
.weekly-index-hero > p:last-child { max-width: 680px; margin: 26px 0 0; color: #d5dee8; font-size: 1.08rem; }
.weekly-index-list { padding-block: 20px 100px; counter-reset: weekly-index; }
.weekly-index-list { margin-inline: auto; }
.weekly-index-list li {
  counter-increment: weekly-index;
  position: relative;
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) 120px 140px;
  gap: 26px;
  align-items: center;
  padding: 30px 0;
  border-bottom: 1px solid var(--weekly-line);
}
.weekly-index-list time,
.weekly-index-list p { color: var(--weekly-muted); }
.weekly-index-list h2 { margin: 0; font-size: 1.15rem; line-height: 1.55; }
.weekly-index-list p { margin: 0; }
.weekly-index-list a { color: var(--weekly-accent); font-weight: 700; }
.weekly-latest-label { position: absolute; top: 6px; left: 0; color: var(--weekly-accent); font-size: 0.7rem; letter-spacing: 0.14em; }

@media (max-width: 760px) {
  .weekly-nav,
  .weekly-content,
  .weekly-index-hero,
  .weekly-index-list,
  .weekly-footer { width: min(calc(100% - 32px), var(--weekly-max)); }
  .weekly-nav { min-height: 58px; }
  .weekly-brand { font-size: 0.76rem; letter-spacing: 0.08em; }
  .weekly-nav-links a:nth-child(n+3) { display: none; }
  .weekly-hero { grid-template-columns: 1fr; min-height: auto; gap: 48px; padding-block: 68px 48px; }
  .weekly-hero h1 { font-size: clamp(2.25rem, 10vw, 3.2rem); line-height: 1.18; }
  .weekly-hero h1 span { display: block; }
  .weekly-summary { margin-top: 22px; font-size: 1rem; }
  .weekly-read-path { gap: 10px 16px; margin-top: 26px; font-size: 0.86rem; }
  .weekly-hero-meta { gap: 16px; padding-left: 18px; }
  .weekly-section { padding-block: 70px; }
  .weekly-section-heading { grid-template-columns: 1fr; gap: 8px; margin-bottom: 30px; }
  .weekly-topic-list li { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; }
  .weekly-highlight-list { grid-template-columns: 1fr; }
  .weekly-story-copy { margin-left: 0; }
  .weekly-classification-intro { margin: -8px 0 30px; }
  .weekly-country-group { grid-template-columns: 1fr; gap: 18px; }
  .weekly-country-match-grid,
  .weekly-topic-cards,
  .weekly-next-links { grid-template-columns: 1fr; }
  .weekly-topic-card { padding: 22px 18px; }
  .weekly-match-list li,
  .weekly-resource-list li { grid-template-columns: 1fr; gap: 10px; }
  .weekly-match-actions { justify-content: flex-start; }
  .weekly-source-links { columns: 1; }
  .weekly-match-list a,
  .weekly-resource-list a { justify-self: start; min-height: 44px; padding-block: 8px; }
  .weekly-index-hero { padding-block: 72px 52px; }
  .weekly-index-list li { grid-template-columns: 1fr; gap: 8px; padding: 34px 0 28px; }
  .weekly-latest-label { top: 8px; }
  .weekly-footer { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Weekly feature art direction: typographic broadcast rundown. */
.weekly-hero {
  position: relative;
  isolation: isolate;
  min-height: calc(100svh - 66px);
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(4, 18, 33, 0.99) 0%, rgba(4, 18, 33, 0.96) 62%, rgba(4, 18, 33, 0.86) 100%),
    repeating-linear-gradient(90deg, rgba(125, 211, 221, 0.1) 0 1px, transparent 1px 120px),
    #041221;
}
.weekly-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: max(24px, calc((100vw - 1200px) / 2));
  top: 50%;
  width: min(31vw, 430px);
  aspect-ratio: 1;
  border: 1px solid rgba(141, 215, 223, 0.17);
  border-radius: 50%;
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(141, 215, 223, 0.12) 50%, transparent 50.2%),
    linear-gradient(0deg, transparent 49.8%, rgba(141, 215, 223, 0.12) 50%, transparent 50.2%);
  transform: translateY(-50%) rotate(-10deg);
}
.weekly-hero h1 {
  margin-top: 4px;
  color: #8dd7df;
  font: 700 0.82rem/1.4 "Noto Sans JP", sans-serif;
  letter-spacing: 0.13em;
}
.weekly-hero h1 > span:first-child { display: block; }
.weekly-hero h1 .weekly-h1-period {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.35em;
  margin-top: 3px;
  color: rgba(185, 217, 223, 0.78);
  font-size: 0.88em;
  letter-spacing: 0.08em;
}
.weekly-cover-feature { margin-top: 26px; padding-top: 0; border-top: 0; }
.weekly-feature-label { margin-bottom: 12px; }
.weekly-cover-feature h2 {
  max-width: 820px;
  font-size: clamp(2.7rem, 5.2vw, 5.4rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.045em;
  text-wrap: balance;
}
.weekly-feature-player { margin-top: 24px; }
.weekly-feature-score { font-size: clamp(1.2rem, 2vw, 1.7rem); letter-spacing: 0.01em; }
.weekly-feature-supporting { color: #b9d9df; font-size: 0.9rem; }
.weekly-hero-meta { align-self: end; margin-bottom: 8px; }
.weekly-read-path { margin-top: 28px; }
.weekly-read-path a,
.weekly-feature-actions a,
.weekly-topic-actions a,
.weekly-country-match > a,
.weekly-match-actions a {
  position: relative;
  width: fit-content;
  text-decoration: none;
}
.weekly-read-path a::after,
.weekly-feature-actions a::after,
.weekly-topic-actions a::after,
.weekly-country-match > a::after,
.weekly-match-actions a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 4px;
  height: 1px;
  background: currentColor;
  transition: right 180ms ease;
}
.weekly-read-path a:hover::after,
.weekly-feature-actions a:hover::after,
.weekly-topic-actions a:hover::after,
.weekly-country-match > a:hover::after,
.weekly-match-actions a:hover::after { right: 0; }
.weekly-section-heading h2 { max-width: 900px; font-size: clamp(2.25rem, 4.8vw, 4.8rem); text-wrap: balance; }
.weekly-topic-cards { gap: 0; border-top: 1px solid var(--weekly-line); border-bottom: 1px solid var(--weekly-line); }
.weekly-topic-card,
.weekly-topic-card:first-child {
  grid-template-columns: 1fr;
  min-height: 380px;
  padding: 34px 30px 30px;
  border: 0;
  border-left: 1px solid var(--weekly-line);
  background: #fff;
  color: var(--weekly-ink);
}
.weekly-topic-card:first-child { border-left: 0; }
.weekly-topic-card .weekly-topic-number {
  color: rgba(7, 94, 112, 0.22);
  font: 700 4.8rem/0.9 "Barlow Condensed", sans-serif;
}
.weekly-topic-card h3 { margin-top: 34px; }
.weekly-topic-card:first-child .weekly-topic-player,
.weekly-topic-card:first-child .weekly-topic-actions a,
.weekly-topic-card .weekly-topic-player,
.weekly-topic-card .weekly-topic-actions a { color: var(--weekly-accent); }
.weekly-topic-card:first-child .weekly-topic-match,
.weekly-topic-card .weekly-topic-match { color: var(--weekly-muted); }
.weekly-topic-actions { margin-top: auto; padding-top: 18px; }
.weekly-country-groups { border-top-color: #b9c9d6; }
.weekly-country-group { grid-template-columns: 220px minmax(0, 1fr); gap: 56px; padding: 48px 0; }
.weekly-country-group > header { position: sticky; top: 24px; align-self: start; padding-inline: 36px 0; }
.weekly-country-group h3 { font-size: clamp(1.45rem, 2.7vw, 2.2rem); line-height: 1.3; }
.weekly-country-match-grid { grid-template-columns: 1fr; gap: 0; }
.weekly-country-match {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr) 130px;
  gap: 20px 32px;
  align-items: start;
  padding: 25px 0;
  border: 0;
  border-top: 1px solid var(--weekly-line);
  background: transparent;
}
.weekly-country-match:first-child { border-top: 0; padding-top: 0; }
.weekly-country-match h4 { grid-column: 1; grid-row: 2; margin: 0; font-size: 1.1rem; }
.weekly-country-match ul { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
.weekly-country-match li { display: grid; gap: 4px; }
.weekly-country-match li strong { color: var(--weekly-ink); font-size: 0.9rem; line-height: 1.5; }
.weekly-country-match li span { color: var(--weekly-muted); line-height: 1.65; }
.weekly-country-match > p:not(.weekly-country-competition) { grid-column: 2; margin: 34px 0 0; }
.weekly-country-match > a { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
.weekly-country-competition { grid-column: 1; grid-row: 1; }
.weekly-video-section { margin-inline: 0; padding-inline: 0; background: #041221; color: #f8fafc; box-shadow: 0 0 0 100vmax #041221; clip-path: inset(0 -100vmax); }
.weekly-video-section .weekly-section-heading h2 { color: #f8fafc; }
.weekly-video-section .weekly-video-copy p { color: #b9d9df; }
.weekly-video-copy,
.weekly-video-frame,
.weekly-video-section .weekly-inline-link { max-width: 920px; margin-inline: auto; }
.weekly-video-frame { border-color: rgba(141, 215, 223, 0.2); }
.weekly-match-list li { transition: background 160ms ease, padding-inline 160ms ease; }
.weekly-match-list li:hover { padding-inline: 14px; background: #f7fafc; }
.weekly-match-details { margin-top: 8px; font-size: 0.82rem; }
.weekly-match-details summary { width: fit-content; cursor: pointer; color: var(--weekly-accent); font-weight: 700; }
.weekly-match-details summary:hover { text-decoration: underline; text-underline-offset: 3px; }
.weekly-match-details ul { margin: 8px 0 0; padding-left: 18px; color: var(--weekly-muted); }
.weekly-match-list .weekly-match-details li { display: list-item; padding: 4px 0; border: 0; }
.weekly-match-list .weekly-match-details li:hover { padding-inline: 0; background: transparent; }
.weekly-next-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.weekly-next-links a { border: 0; border-top: 1px solid var(--weekly-line); background: transparent; }
.weekly-cover-feature,
.weekly-hero-meta { animation: weekly-rise 620ms cubic-bezier(.2,.7,.2,1) both; }
.weekly-hero-meta { animation-delay: 120ms; }
@keyframes weekly-rise {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 760px) {
  .weekly-hero { min-height: calc(100svh - 58px); }
  .weekly-hero::after { width: 78vw; right: -34vw; opacity: 0.55; }
  .weekly-hero h1 { font-size: 0.74rem; }
  .weekly-hero h1 > span:first-child { display: block; }
  .weekly-hero h1 .weekly-h1-period { display: flex; }
  .weekly-cover-feature h2 { font-size: clamp(2.2rem, 10.5vw, 3.1rem); line-height: 1.16; }
  .weekly-topic-card,
  .weekly-topic-card:first-child { min-height: auto; padding: 28px 0; border-left: 0; border-top: 1px solid var(--weekly-line); }
  .weekly-topic-card:first-child { border-top: 0; }
  .weekly-topic-card h3 { margin-top: 18px; }
  .weekly-country-group > header { position: static; }
  .weekly-country-match { grid-template-columns: 1fr; gap: 8px; }
  .weekly-country-match h4,
  .weekly-country-match ul,
  .weekly-country-match > p:not(.weekly-country-competition),
  .weekly-country-match > a,
  .weekly-country-competition { grid-column: 1; grid-row: auto; }
  .weekly-country-match > p:not(.weekly-country-competition) { margin: 8px 0; }
  .weekly-video-copy,
  .weekly-video-frame,
  .weekly-video-section .weekly-inline-link { max-width: 100%; }
  .weekly-next-links { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .weekly-cover-feature,
  .weekly-hero-meta { animation: none; }
  .weekly-read-path a::after,
  .weekly-feature-actions a::after,
  .weekly-topic-actions a::after,
  .weekly-country-match > a::after,
  .weekly-match-actions a::after,
  .weekly-match-list li { transition: none; }
}

/* Reading rhythm: a short cover, readable digest, compact reference list. */
.weekly-hero {
  grid-template-columns: minmax(0, 1fr);
  gap: 30px;
  min-height: auto;
  padding-block: clamp(42px, 6vw, 76px) 32px;
}
.weekly-hero::after { width: min(27vw, 360px); right: 7vw; opacity: 0.5; }
.weekly-hero-copy { max-width: 980px; }
.weekly-kicker { margin-bottom: 14px; font-size: 0.7rem; letter-spacing: 0.09em; }
.weekly-cover-feature { margin-top: 24px; max-width: 940px; }
.weekly-cover-feature h2 {
  max-width: 930px;
  font-size: clamp(2rem, 3.7vw, 3.5rem);
  line-height: 1.4;
  letter-spacing: -0.035em;
  word-break: auto-phrase;
  overflow-wrap: anywhere;
}
.weekly-feature-label { font-size: 0.68rem; margin-bottom: 10px; }
.weekly-feature-player { margin-top: 20px; font-size: 0.95rem; }
.weekly-feature-score { max-width: 860px; font: 700 clamp(1rem, 1.7vw, 1.3rem)/1.65 "Noto Sans JP", sans-serif; }
.weekly-cover-feature > p:not([class]) { max-width: 760px; font-size: 0.95rem; line-height: 1.9; margin-block: 12px; }
.weekly-feature-supporting { margin-block: 10px 18px; font-size: 0.8rem; }
.weekly-feature-actions { gap: 12px 24px; font-size: 0.9rem; }
.weekly-feature-actions a { min-height: 44px; display: inline-flex; align-items: center; }
.weekly-read-path { margin-top: 16px; padding-top: 12px; border-top: 1px solid #ffffff20; font-size: 0.8rem; }
.weekly-hero-meta { display: flex; flex-wrap: wrap; gap: 12px 32px; padding: 0; border: 0; margin: 0; }
.weekly-hero-meta div { display: flex; align-items: baseline; gap: 10px; }
.weekly-hero-meta dd { font-size: 0.85rem; }
.weekly-section,
.weekly-classification { padding-block: clamp(48px, 6vw, 80px); }
.weekly-section-heading { grid-template-columns: 90px minmax(0, 1fr); gap: 20px; margin-bottom: 30px; }
.weekly-section-heading h2 { font-size: clamp(1.7rem, 3vw, 2.75rem); line-height: 1.4; }
.weekly-section-heading > span { font-size: 0.68rem; }
.weekly-topic-card,
.weekly-topic-card:first-child { min-height: 0; padding: 26px 24px; }
.weekly-topic-card .weekly-topic-number { font-size: 2.8rem; }
.weekly-topic-card h3 { margin-top: 20px; font-size: clamp(1.15rem, 1.7vw, 1.4rem); line-height: 1.55; word-break: auto-phrase; }
.weekly-topic-card h3 .weekly-title-word { white-space: nowrap; }
.weekly-topic-card p { font-size: 0.94rem; line-height: 1.85; }
.weekly-topic-card .weekly-topic-player { font-size: 0.8rem; }
.weekly-topic-card .weekly-topic-match { font-size: 0.85rem; line-height: 1.7; }
.weekly-video-copy h3 { font-size: clamp(1.1rem, 2vw, 1.6rem); line-height: 1.65; margin-bottom: 12px; }
.weekly-video-copy p { font-size: 0.92rem; line-height: 1.85; }
.weekly-video-copy,
.weekly-video-frame { max-width: 800px; }
.weekly-video-section .weekly-inline-link { color: #8dd7df !important; font-size: 0.88rem; }
.weekly-classification-intro { margin-left: 110px; max-width: 680px; font-size: 0.85rem; line-height: 1.85; }
.weekly-country-group { grid-template-columns: 190px minmax(0, 1fr); gap: 32px; padding-block: 32px; }
.weekly-country-group h3 { font-size: 1.3rem; word-break: auto-phrase; }
.weekly-country-match { grid-template-columns: minmax(180px, 0.75fr) minmax(0, 1.25fr) 105px; gap: 12px 24px; padding-block: 24px; }
.weekly-country-match h4 { line-height: 1.7; font-size: 0.98rem; }
.weekly-country-match li + li { margin-top: 14px; }
.weekly-country-match li span { font-size: 0.9rem; line-height: 1.85; }
.weekly-match-list > li { padding-block: 18px; gap: 20px; grid-template-columns: 110px minmax(0, 1fr) 140px; }
.weekly-match-list h3 { font-size: 1rem; line-height: 1.7; }
.weekly-match-list p { font-size: 0.82rem; }
.weekly-match-actions { gap: 8px 16px; font-size: 0.82rem; }
.weekly-match-details summary { min-height: 32px; padding-block: 4px; }
.weekly-next-links a { padding: 20px 12px 20px 0; }
.weekly-next-links strong { font-size: 1rem; }
.weekly-next-links span { font-size: 0.82rem; }
.weekly-coverage > p { max-width: 780px; font-size: 0.88rem; line-height: 1.9; }

@media (max-width: 760px) {
  .weekly-hero { min-height: auto; gap: 16px; padding-block: 30px 24px; }
  .weekly-hero::after { width: 65vw; right: -32vw; }
  .weekly-cover-feature { margin-top: 20px; }
  .weekly-cover-feature h2 { font-size: clamp(1.8rem, 7.6vw, 2.5rem); line-height: 1.45; }
  .weekly-feature-player { margin-top: 16px; font-size: 0.86rem; }
  .weekly-feature-score { font-size: 0.98rem; line-height: 1.7; }
  .weekly-cover-feature > p:not([class]) { font-size: 0.86rem; line-height: 1.85; }
  .weekly-feature-supporting { font-size: 0.76rem; }
  .weekly-read-path { gap: 4px 16px; margin-top: 10px; font-size: 0.76rem; }
  .weekly-section-heading { grid-template-columns: 1fr; gap: 6px; margin-bottom: 24px; }
  .weekly-topic-card,
  .weekly-topic-card:first-child { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; padding: 24px 0; }
  .weekly-topic-card .weekly-topic-number { font-size: 2rem; padding-top: 5px; }
  .weekly-topic-card h3 { margin-top: 0; font-size: 1.18rem; }
  .weekly-topic-card p { font-size: 0.94rem; }
  .weekly-country-group { grid-template-columns: 1fr; gap: 24px; padding-block: 28px; }
  .weekly-country-group > header { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: baseline; gap: 12px; padding-inline: 28px 20px; }
  .weekly-country-group > header p { margin: 0; white-space: nowrap; }
  .weekly-country-group h3 { font-size: 1.3rem; }
  .weekly-classification-intro { margin: 0 0 28px; }
  .weekly-country-match { grid-template-columns: 1fr; gap: 8px; }
  .weekly-country-match ul { margin-block: 4px; }
  .weekly-match-list > li { grid-template-columns: 1fr; gap: 6px; padding-block: 20px; }
  .weekly-match-list time { font-size: 0.76rem; }
  .weekly-match-actions a { min-height: 40px; }
}

.weekly-video-copy { min-height: 112px; }
.weekly-video-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; list-style: none; padding: 0; margin: 24px 0 0; }
.weekly-video-choice { display: flex; flex-direction: column; border: 1px solid #8dd7df55; }
.weekly-video-choice button { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px 12px; width: 100%; flex: 1; padding: 20px; border: 0; border-top: 3px solid transparent; background: transparent; color: #e1edf3; font: inherit; text-align: left; cursor: pointer; }
.weekly-video-choice button[hidden] { display: none; }
.weekly-video-choice button > :not(.weekly-video-choice-number) { grid-column: 2; }
.weekly-video-choice-number { grid-row: 1 / span 4; color: #8dd7df; font: 700 1.8rem/1 "Barlow Condensed", sans-serif; }
.weekly-video-choice strong { font-size: 0.95rem; }
.weekly-video-choice button span:not([class]), .weekly-video-choice small { color: #c1d2de; font-size: 0.82rem; line-height: 1.8; }
.weekly-video-choice-state { color: #8dd7df; font-size: 0.76rem; font-weight: 700; }
.weekly-video-choice[data-selected="true"] { border-color: #8dd7df; background: #102c3c; }
.weekly-video-choice[data-selected="true"] button { border-top-color: #8dd7df; }
.weekly-video-choice button:hover { background: #ffffff09; }
.weekly-video-choice > a { padding: 12px 20px; border-top: 1px solid #8dd7df33; color: #8dd7df; font-size: 0.78rem; line-height: 1.7; }
.weekly-video-section :focus-visible { outline-color: #8dd7df; }
.weekly-video-status { min-height: 1.8em; font-size: 0.8rem; color: #c1d2de; }
@media (max-width: 760px) {
  .weekly-video-choices { grid-template-columns: 1fr; gap: 12px; }
  .weekly-video-choice button { padding: 16px; }
  .weekly-video-copy { min-height: 140px; }
}

/* Fan-facing edition: scan the player, the moment, then the result. */
.weekly-icon { display: inline-block; flex: 0 0 auto; width: 1.15em; height: 1.15em; vertical-align: -0.18em; margin-right: 0.4em; }
.weekly-feature-label,
.weekly-section-heading > span { display: none; }
.weekly-section-heading { grid-template-columns: 1fr; }
.weekly-section-heading h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.weekly-feature-actions a,
.weekly-topic-actions a,
.weekly-match-actions a { display: inline-flex; align-items: center; min-height: 44px; }
.weekly-action-labels { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.weekly-action-label { display: inline-flex; align-items: center; width: fit-content; padding: 4px 10px; background: #e4f2f2; color: #075263; font-size: 0.87rem; font-weight: 700; line-height: 1.5; border-radius: 3px; }
.weekly-topic-card h3 { font-size: 1.3rem; }
.weekly-topic-card p { font-size: 1rem; }
.weekly-topic-card .weekly-topic-match { font-size: 0.9rem; }
.weekly-country-group h3 { font-size: 1.45rem; }
.weekly-classification-intro { margin-left: 0; }
.weekly-country-match { grid-template-columns: minmax(200px, .8fr) minmax(0, 1.2fr) 110px; gap: 12px 24px; }
.weekly-country-match h4 { font-size: 1.12rem; }
.weekly-country-match > a { display: inline-flex; align-items: center; white-space: nowrap; min-height: 44px; }
.weekly-country-match li strong { font-size: 1.05rem; line-height: 1.65; }
.weekly-country-match li > span:not(.weekly-action-label) { font-size: 1rem; line-height: 1.85; color: #334155; }
.weekly-country-match .weekly-action-label { color: #075263; font-size: 0.87rem; }
.weekly-country-support { grid-column: 2; grid-row: 3; }
.weekly-country-support > p { margin: 0 0 6px; font-size: 0.94rem; color: #475569; line-height: 1.8; }
.weekly-country-match .weekly-country-support li { display: list-item; font-size: 0.94rem; line-height: 1.85; }
.weekly-country-match .weekly-match-details { margin-top: 8px; font-size: 0.94rem; }
.weekly-country-competition { font-weight: 500; }
.weekly-country-competition abbr { text-decoration: none; }
.weekly-match-list > li { padding-block: 16px; }
.weekly-match-list h3 { font-size: 1.05rem; }
.weekly-match-list p { font-size: 0.94rem; }
.weekly-match-list .weekly-match-details { font-size: 0.94rem; }
.weekly-match-list .weekly-uncertainty { font-size: 0.9rem; color: #75551f; }
.weekly-video-choice button { gap: 6px 12px; padding: 18px; }
.weekly-video-choice button .weekly-video-choice-headline { display: flex; align-items: center; font-size: 1rem; color: #f0f8fb; font-weight: 500; }
.weekly-video-choice strong { font-size: 1.1rem; }
.weekly-video-choice small { font-size: 0.88rem; line-height: 1.7; }
.weekly-video-choice > a { font-size: 0.9rem; padding: 12px 18px; }
.weekly-video-choice-state { font-size: 0.85rem; }
.weekly-video-fallback { padding: 18px; font-size: 1rem; }
.weekly-video-fallback p { font-size: 0.94rem; color: #c1d2de; }
.weekly-video-enhanced .weekly-video-fallback { display: none; }
.weekly-video-copy { min-height: 116px; }
.weekly-video-copy h3 { font-size: 1.45rem; margin-bottom: 10px; }
.weekly-video-copy p { font-size: 1rem; }
.weekly-video-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.weekly-coverage-details { margin-top: 20px; font-size: 0.94rem; color: #475569; }
.weekly-coverage-details summary { color: #075e70; cursor: pointer; padding-block: 12px; font-weight: 700; }
.weekly-coverage-details p,
.weekly-coverage-details li { line-height: 1.85; }
.weekly-coverage-details :focus-visible,
.weekly-match-details :focus-visible { outline: 3px solid #075e70; outline-offset: 4px; }
.weekly-country-support details[open] { margin-top: 12px; }
@media (max-width: 760px) {
  .weekly-country-match { grid-template-columns: 1fr; gap: 10px; padding-block: 24px; }
  .weekly-country-support { grid-column: 1; grid-row: auto; }
  .weekly-country-match h4 { font-size: 1.08rem; }
  .weekly-country-match > a { margin-top: 2px; min-height: 44px; display: inline-flex; align-items: center; }
  .weekly-topic-card h3 { font-size: 1.22rem; }
  .weekly-action-labels { margin-top: 10px; }
  .weekly-video-choice button { grid-template-columns: 30px minmax(0, 1fr); padding: 16px; }
  .weekly-video-copy { min-height: 124px; }
  .weekly-video-copy h3 { font-size: 1.25rem; }
  .weekly-video-choices { gap: 12px; }
}

/* Three editorial moments: the lead above, two supporting topics below. */
.weekly-lead-kicker { margin: 0 0 12px; color: #8dd7df; font-size: 0.9rem; font-weight: 700; }
.weekly-hero .weekly-read-path { margin-block: 18px 28px; padding-block: 0 12px; border-top: 0; border-bottom: 1px solid #ffffff20; }
.weekly-cover-feature { margin-top: 0; }
.weekly-feature-score { margin-top: 16px; }
.weekly-remaining-topics { padding-block: 36px 48px; }
.weekly-remaining-topics .weekly-topic-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 0; border-bottom: 0; }
.weekly-remaining-topics .weekly-topic-card { min-height: 0; padding-block: 20px; }
.weekly-remaining-topics .weekly-topic-card h3 { margin-top: 12px; }
.weekly-video-choices { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.weekly-video-choice { border-radius: 3px; }
.weekly-video-choice button { position: relative; grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 16px; }
.weekly-video-choice button > :not(.weekly-video-choice-number) { grid-column: 1; }
.weekly-video-choice button strong { padding-right: 22px; }
.weekly-video-choice button .weekly-video-choice-headline { font-size: 1rem; }
.weekly-video-choice-state { position: absolute; top: 16px; right: 12px; color: #8dd7df; font-size: 1.1rem; line-height: 1; }
.weekly-video-choice-state[hidden] { display: none; }
.weekly-video-links { margin-top: 22px; font-size: 0.95rem; color: #c1d2de; }
.weekly-video-links summary { width: fit-content; min-height: 44px; padding-block: 8px; cursor: pointer; color: #8dd7df; }
.weekly-video-links ul { list-style: none; padding: 0; display: grid; gap: 12px; }
.weekly-video-links a { display: inline-flex; align-items: center; min-height: 44px; }
.weekly-week-cover { padding-block: clamp(40px, 6vw, 72px) 30px; }
.weekly-week-cover .weekly-hero-copy { max-width: 1120px; }
.weekly-week-cover h1 > span:first-child { font-size: 1rem; color: #c1d2de; letter-spacing: 0.05em; }
.weekly-week-cover h1 .weekly-h1-period { font-size: clamp(2rem, 4.4vw, 4rem); line-height: 1.3; color: #f8fafc; letter-spacing: -0.03em; margin-top: 16px; gap: 0 0.25em; }
.weekly-week-cover .weekly-read-path { margin: 24px 0 0; border-bottom: 0; padding-bottom: 0; }
.weekly-topic-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.weekly-topic-card,
.weekly-topic-card:first-child { grid-template-rows: 44px minmax(0, 1fr); align-content: start; }
.weekly-video-copy { display: grid; grid-template-rows: auto minmax(1.8em, auto) minmax(3.6em, auto); gap: 8px; min-height: 0; }
.weekly-video-copy h3 { margin-bottom: 0; }
.weekly-video-copy #weekly-video-match { color: #e1edf3; font-weight: 500; line-height: 1.8; }
.weekly-video-copy #weekly-video-note { line-height: 1.8; }
.weekly-country-match .weekly-action-labels { margin-top: 4px; }
.weekly-all-matches > summary { padding-block: 16px; cursor: pointer; color: var(--weekly-ink); }
.weekly-all-matches > summary h2 { display: inline; font-size: clamp(1.4rem, 2.7vw, 2.4rem); line-height: 1.5; }
.weekly-all-matches > summary:focus-visible { outline: 3px solid var(--weekly-accent); outline-offset: 5px; }
.weekly-all-matches[open] > summary { margin-bottom: 24px; }
.weekly-next-aux { display: flex; flex-wrap: wrap; gap: 24px; margin: 24px 0 0; font-size: 0.9rem; color: var(--weekly-muted); }

/* Final alignment and accessible interaction states. */
.weekly-topic-card > div { display: flex; flex-direction: column; min-width: 0; }
.weekly-topic-card h3 { min-height: 3.1em; text-wrap: balance; }
.weekly-topic-card .weekly-topic-number { color: #427b86; }
.weekly-topic-card .weekly-topic-actions { margin-top: auto; padding-top: 18px; }
.weekly-country-match { grid-template-rows: min-content minmax(0, 1fr); }
.weekly-country-match h4 { align-self: start; text-wrap: balance; font-variant-numeric: tabular-nums; }
.weekly-country-match h4 span { display: inline-block; max-width: 100%; font: inherit; color: inherit; vertical-align: top; }
.weekly-country-match h4 .weekly-score-result { white-space: nowrap; }
.weekly-country-match li strong { text-wrap: pretty; }
.weekly-video-choice-state .weekly-icon { width: 18px; height: 18px; margin: 0; vertical-align: middle; }
.weekly-next-links a { text-decoration: none; }
.weekly-next-links a:hover strong { text-decoration: underline; text-underline-offset: 0.24em; }
.weekly-video-section a:hover,
.weekly-week-cover a:hover { color: #dff8fa; }
.weekly-page button:focus-visible,
.weekly-page summary:focus-visible { outline: 3px solid var(--weekly-accent); outline-offset: 4px; }
.weekly-video-section button:focus-visible,
.weekly-video-section summary:focus-visible,
.weekly-video-section a:focus-visible { outline-color: #8dd7df; }
.weekly-section,
.weekly-classification { scroll-margin-top: 24px; }
@media (max-width: 760px) {
  .weekly-topic-card h3 { min-height: 0; }
  .weekly-topic-card .weekly-topic-actions { margin-top: 0; }
  .weekly-country-match { grid-template-rows: none; }
}

/* Weekly archive: one current issue, then a quiet chronological index. */
.weekly-index-page .weekly-index-hero { width: 100%; margin: 0; padding: 0; border: 0; background: #041221; color: #f8fafc; }
.weekly-index-inner { width: min(calc(100% - 48px), var(--weekly-max)); margin-inline: auto; padding-block: 48px 52px; }
.weekly-index-page .weekly-index-hero h1 { font-size: clamp(1.6rem, 2.8vw, 2.5rem); line-height: 1.5; letter-spacing: -0.025em; }
.weekly-index-intro { max-width: 700px; margin: 8px 0 30px; color: #b9d9df; font-size: 1rem; line-height: 1.85; text-wrap: pretty; }
.weekly-index-latest { padding-top: 26px; border-top: 1px solid #8dd7df40; animation: weekly-rise 500ms ease-out both; }
.weekly-index-status { margin: 0 0 12px; color: #8dd7df; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.06em; }
.weekly-index-period { display: flex; flex-wrap: wrap; gap: 0 0.2em; margin: 0; font-size: clamp(2.25rem, 4.6vw, 4rem); font-weight: 700; line-height: 1.3; letter-spacing: -0.035em; font-variant-numeric: tabular-nums; }
.weekly-index-period span { white-space: nowrap; }
.weekly-index-feature { max-width: 800px; margin: 20px 0 10px; font-size: clamp(1.2rem, 2vw, 1.65rem); line-height: 1.65; text-wrap: balance; }
.weekly-index-meta { margin: 0 0 24px; color: #b9d9df; font-size: 0.94rem; }
.weekly-index-cta { display: inline-flex; align-items: center; gap: 32px; min-height: 48px; padding: 12px 20px; border-radius: 3px; background: #8dd7df; color: #041221 !important; font-weight: 700; text-decoration: none; }
.weekly-index-cta:hover { background: #b8edf0; }
.weekly-index-cta span,
.weekly-archive-arrow { transition: transform 160ms ease; }
.weekly-index-cta:hover span,
.weekly-archive-link:hover .weekly-archive-arrow { transform: translateX(3px); }
.weekly-index-hero a:focus-visible { outline-color: #dff8fa; }
.weekly-archive { width: min(calc(100% - 48px), var(--weekly-max)); margin-inline: auto; padding-block: 48px 72px; }
.weekly-archive > h2 { margin: 0 0 20px; font-size: clamp(1.4rem, 2.2vw, 2rem); line-height: 1.5; }
.weekly-index-page .weekly-index-list { width: 100%; padding: 0; margin: 0; border-top: 1px solid var(--weekly-line); }
.weekly-index-page .weekly-index-list li { display: block; padding: 0; border: 0; }
.weekly-index-page .weekly-archive-link { display: grid; grid-template-columns: minmax(200px, .55fr) minmax(0, 1.45fr) 32px; gap: 28px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--weekly-line); color: var(--weekly-ink); text-decoration: none; font-weight: 400; }
.weekly-archive-link time { font-size: 0.95rem; line-height: 1.8; font-variant-numeric: tabular-nums; }
.weekly-archive-link h3 { margin: 0; font-size: 1.2rem; font-weight: 700; line-height: 1.7; text-wrap: balance; word-break: auto-phrase; }
.weekly-index-page .weekly-archive-link p { margin-top: 6px; font-size: 0.9rem; }
.weekly-archive-arrow { color: var(--weekly-accent); font-size: 1.5rem; }
.weekly-index-page .weekly-archive-link:hover { color: var(--weekly-ink); }
.weekly-archive-link:hover h3 { color: var(--weekly-accent); text-decoration: underline; text-underline-offset: 0.2em; }
.weekly-index-empty { margin: 32px 0 0; color: #b9d9df; }
.weekly-nav-links .site-weekly-link { color: #075e70; font-weight: 700; white-space: nowrap; }
@media (max-width: 760px) {
  .weekly-index-inner,
  .weekly-archive { width: calc(100% - 32px); }
  .weekly-index-inner { padding-block: 30px 36px; }
  .weekly-index-latest { padding-top: 22px; }
  .weekly-index-period { font-size: clamp(2rem, 8.8vw, 2.6rem); }
  .weekly-index-feature { margin-top: 18px; }
  .weekly-archive { padding-block: 32px 48px; }
  .weekly-index-page .weekly-archive-link { grid-template-columns: minmax(0, 1fr) 28px; gap: 12px; padding-block: 24px; }
  .weekly-archive-link time { grid-column: 1; }
  .weekly-archive-link > div { grid-column: 1; }
  .weekly-archive-arrow { grid-column: 2; grid-row: 1 / span 2; }
  .weekly-archive-link h3 { font-size: 1.1rem; }
  .weekly-nav { flex-wrap: wrap; align-items: flex-start; gap: 8px; padding: 12px 16px; }
  .weekly-nav .weekly-brand { width: 100%; min-height: 32px; }
  .weekly-nav-links { width: 100%; justify-content: flex-start; gap: 8px 16px; }
  .weekly-nav-links a:nth-child(-n+2) { display: inline-flex; align-items: center; min-height: 44px; padding-block: 4px; letter-spacing: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .weekly-index-latest { animation: none; }
  .weekly-index-cta span,
  .weekly-archive-arrow { transition: none; }
}
@media (max-width: 760px) {
  .weekly-remaining-topics { padding-block: 20px 32px; }
  .weekly-topic-cards { grid-template-columns: 1fr; }
  .weekly-topic-card,
  .weekly-topic-card:first-child { grid-template-rows: auto; }
  .weekly-week-cover h1 .weekly-h1-period { font-size: clamp(1.8rem, 7.8vw, 2.6rem); }
  .weekly-remaining-topics .weekly-topic-cards { grid-template-columns: 1fr; }
  .weekly-remaining-topics .weekly-topic-card h3 { margin-top: 0; }
  .weekly-video-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .weekly-video-choice button { padding: 14px 12px; }
  .weekly-video-choice strong { font-size: 1rem; }
  .weekly-video-choice-state { top: 14px; right: 9px; }
  .weekly-video-copy { grid-template-rows: auto minmax(3.6em, auto) minmax(5.4em, auto); }
}

/* Shared reading gutters keep headings, records and navigation off the paper edge. */
.weekly-page:not(.weekly-index-page) {
  --weekly-reading-inset: 40px;
  --weekly-page-inset: 24px;
  --weekly-section-space: 64px;
}
.weekly-page:not(.weekly-index-page) .weekly-content {
  padding: 0 var(--weekly-reading-inset) 24px;
}
.weekly-page:not(.weekly-index-page) .weekly-hero,
.weekly-page:not(.weekly-index-page) .weekly-nav {
  padding-inline: max(calc(var(--weekly-page-inset) + var(--weekly-reading-inset)), calc((100% - var(--weekly-max)) / 2 + var(--weekly-reading-inset)));
}
.weekly-page:not(.weekly-index-page) .weekly-week-cover {
  padding-block: 48px 32px;
}
.weekly-page:not(.weekly-index-page) .weekly-section,
.weekly-page:not(.weekly-index-page) .weekly-classification {
  padding-block: var(--weekly-section-space);
}
.weekly-page:not(.weekly-index-page) .weekly-content > .weekly-section:first-child { padding-top: 48px; }
.weekly-page:not(.weekly-index-page) .weekly-section-heading { margin-bottom: 28px; }
.weekly-page:not(.weekly-index-page) .weekly-topic-card { padding: 28px 24px; gap: 20px; }
.weekly-page:not(.weekly-index-page) .weekly-country-group { grid-template-columns: 160px minmax(0, 1fr); gap: 32px; padding-block: 32px; }
.weekly-page:not(.weekly-index-page) .weekly-country-group > header { padding-inline: 0; }
.weekly-page:not(.weekly-index-page) .weekly-classification-intro { margin: 0 0 32px; }
.weekly-page:not(.weekly-index-page) .weekly-country-match { padding-block: 28px; }
.weekly-page:not(.weekly-index-page) .weekly-country-match:first-child { padding-top: 0; }
.weekly-page:not(.weekly-index-page) .weekly-country-match:last-child { padding-bottom: 0; }
.weekly-page:not(.weekly-index-page) .weekly-all-matches > summary { padding-block: 12px; }
.weekly-page:not(.weekly-index-page) #matches { padding-block: 40px; }
.weekly-page:not(.weekly-index-page) .weekly-match-list > li { padding-block: 24px; }
.weekly-page:not(.weekly-index-page) .weekly-match-list > li:hover { padding-inline: 0; }
.weekly-page:not(.weekly-index-page) .weekly-next-links { gap: 24px; }
.weekly-page:not(.weekly-index-page) .weekly-next-links a { padding: 24px 0; }
.weekly-page:not(.weekly-index-page) .weekly-coverage { padding-block: 40px; }
.weekly-page:not(.weekly-index-page) .weekly-coverage > p { margin-block: 0 16px; }
.weekly-page:not(.weekly-index-page) .weekly-coverage-details { margin-top: 0; }
.weekly-page:not(.weekly-index-page) .weekly-footer { padding: 32px var(--weekly-reading-inset) 48px; }
@media (min-width: 761px) and (max-width: 1100px) {
  .weekly-page:not(.weekly-index-page) .weekly-country-group { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .weekly-page:not(.weekly-index-page) .weekly-country-group > header { position: static; display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: baseline; gap: 20px; }
  .weekly-page:not(.weekly-index-page) .weekly-country-group > header p { margin: 0; }
}
@media (max-width: 760px) {
  .weekly-page:not(.weekly-index-page) { --weekly-reading-inset: 24px; --weekly-page-inset: 0px; --weekly-section-space: 40px; }
  .weekly-page:not(.weekly-index-page) .weekly-content,
  .weekly-page:not(.weekly-index-page) .weekly-footer { width: 100%; }
  .weekly-page:not(.weekly-index-page) .weekly-nav { width: 100%; }
  .weekly-page:not(.weekly-index-page) .weekly-week-cover { padding-block: 32px 24px; }
  .weekly-page:not(.weekly-index-page) .weekly-content > .weekly-section:first-child { padding-top: 32px; }
  .weekly-page:not(.weekly-index-page) .weekly-section-heading { margin-bottom: 24px; }
  .weekly-page:not(.weekly-index-page) .weekly-topic-card { padding: 24px 0; gap: 16px; }
  .weekly-page:not(.weekly-index-page) .weekly-country-group { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-block: 28px; }
  .weekly-page:not(.weekly-index-page) .weekly-country-match { padding-block: 24px; gap: 12px; }
  .weekly-page:not(.weekly-index-page) .weekly-video-copy { grid-template-rows: auto minmax(1.8em, auto) minmax(5.4em, auto); }
  .weekly-page:not(.weekly-index-page) #matches { padding-block: 32px; }
  .weekly-page:not(.weekly-index-page) .weekly-next-links { gap: 0; }
  .weekly-page:not(.weekly-index-page) .weekly-next-aux { margin-top: 16px; gap: 12px 24px; }
  .weekly-page:not(.weekly-index-page) .weekly-coverage { padding-block: 32px; }
  .weekly-page:not(.weekly-index-page) .weekly-footer { gap: 16px; padding-block: 24px 32px; }
}

/* Keep the period and media composition consistent across weekly editions. */
.weekly-week-cover h1 .weekly-h1-period { flex-direction: column; align-items: flex-start; }
.weekly-external-video { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 16px; padding: 24px; color: #e1edf3; text-align: center; text-decoration: none; }
.weekly-external-video strong { color: #8dd7df; font-size: 1.1rem; }
.weekly-external-video small { color: #c1d2de; }
.weekly-external-video-icon .weekly-icon { width: 48px; height: 48px; color: #8dd7df; }
.weekly-external-video:hover { background: #0d2030; }
.weekly-external-video:focus-visible { outline: 3px solid #8dd7df; outline-offset: 5px; }
@media (max-width: 760px) {
  .weekly-external-video { gap: 10px; padding: 20px; min-height: 240px; }
}
