/* Final responsive and accessibility layer.
   Keep this file last: legacy page styles still contain fixed palette values. */
:root {
  --kwd-accent-text: #d8afe8;
  --kwd-muted-readable: #b9b2bd;
  --kwd-focus: #e7bd75;
}

html[data-theme="light"] {
  --kwd-accent-text: #673470;
  --kwd-muted-readable: #554e58;
  --kwd-focus: #572660;
}

html[data-theme="light"],
html[data-theme="light"] body.kwd-app,
html[data-theme="light"] body.kwd-app main {
  background-color: var(--kwd-bg) !important;
}

html[data-theme="light"] body.kwd-app .kwd-header-inner {
  border-bottom-color: var(--kwd-line) !important;
  background: rgba(250, 248, 244, .96) !important;
  box-shadow: 0 7px 24px rgba(42, 34, 46, .08) !important;
}

/* Light theme: override legacy dark islands and hard-coded low-contrast ink. */
html[data-theme="light"] body.kwd-app .kwd-header .kwd-brand-mark,
html[data-theme="light"] body.kwd-app .footer-v5 .kwd-brand--footer .kwd-brand-mark {
  color: var(--kwd-accent-deep) !important;
}

html[data-theme="light"] body.kwd-app .footer-v5 .kwd-brand--footer .kwd-brand-copy :where(strong, small) {
  color: var(--kwd-text) !important;
}

body.kwd-app :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--kwd-focus) !important;
  outline-offset: 3px !important;
}

body.kwd-app .kwd-brand-mark,
body.kwd-app .page-eyebrow,
body.kwd-app .v5-overline,
body.kwd-app .v6-signal,
body.kwd-app .cine-code {
  color: var(--kwd-accent-text) !important;
}

body.kwd-app .kwd-skip-link {
  color: #fff !important;
  background: #572666 !important;
}

body.kwd-app :is(.buildings-v5-hero, .season-v5-hero, .world-v8-hero) .v5-overline {
  color: #ead3f1 !important;
}

body.kwd-app .footer-v11,
body.kwd-app .footer-v11-grid,
body.kwd-app .footer-v11-bottom {
  max-width: 100%;
}

body.kwd-app .footer-v5-brand p,
body.kwd-app .footer-v5-column a,
body.kwd-app .footer-v11-bottom {
  color: var(--kwd-copy) !important;
}

body.kwd-app .footer-v5-column > small {
  color: var(--kwd-accent-text) !important;
}

/* Home */
body.kwd-app.home13 .home13-system-grid > a strong,
body.kwd-app.home13 .home13-system-grid > a > span,
body.kwd-app.home13 .home13-now a {
  color: var(--kwd-accent-text) !important;
}

html[data-theme="light"] body.kwd-app.home13 .home13-season,
html[data-theme="light"] body.kwd-app.home13 .home13-season :where(strong, a) {
  color: var(--kwd-text) !important;
}

html[data-theme="light"] body.kwd-app.home13 .home13-season {
  color: var(--kwd-text) !important;
  background: rgba(255, 253, 251, .90) !important;
  border-color: rgba(47, 39, 51, .22) !important;
  box-shadow: 0 18px 44px rgba(35, 28, 39, .16) !important;
}

html[data-theme="light"] body.kwd-app.home13 .home13-season p {
  color: var(--kwd-copy) !important;
}

html[data-theme="light"] body.kwd-app.home13 .home13-season > span {
  color: var(--kwd-accent-deep) !important;
}

html[data-theme="light"] body.kwd-app.home13 .home13-overlay {
  background:
    linear-gradient(90deg, rgba(20, 17, 23, .76) 0%, rgba(20, 17, 23, .56) 27%, rgba(20, 17, 23, .20) 43%, transparent 59%),
    linear-gradient(0deg, var(--kwd-bg) 0%, rgba(246, 244, 241, .52) 7%, transparent 22%) !important;
}

/* Authentication */
body.kwd-app.auth-v6-page .auth-v6-eye,
body.kwd-app.auth-v6-page .auth-v6-panel-top a,
body.kwd-app.auth-v6-page .auth-v6-form > p a {
  color: var(--kwd-accent-text) !important;
}

body.kwd-app.auth-v6-page .auth-v6-panel-top,
body.kwd-app.auth-v6-page .auth-v6-form-head p,
body.kwd-app.auth-v6-page .auth-v6-form label > span,
body.kwd-app.auth-v6-page .auth-v6-form > p {
  color: var(--kwd-muted-readable) !important;
}

html[data-theme="light"] body.kwd-app.auth-v6-page .auth-v6-mark,
html[data-theme="light"] body.kwd-app.auth-v6-page .auth-v6-narrative :where(h1, p),
html[data-theme="light"] body.kwd-app.auth-v6-page .auth-v6-form-head :where(h2, p) {
  color: var(--kwd-text) !important;
  text-shadow: none !important;
}

html[data-theme="light"] body.kwd-app.auth-v6-page .auth-v6-shell {
  background:
    linear-gradient(90deg, rgba(246, 244, 241, .84), rgba(246, 244, 241, .64) 50%, rgba(246, 244, 241, .72)),
    url("/images/scenes/port-sun-a06d7b957add79e68f7462965c61e952.webp") center 48% / cover fixed !important;
}

html[data-theme="light"] body.kwd-app.auth-v6-page .auth-v6-panel-foot a,
html[data-theme="light"] body.kwd-app.auth-v6-page .auth-v6-form-head > span {
  color: var(--kwd-accent-deep) !important;
}

/* Buildings */
body.kwd-app.buildings-v5-page .buildings-v5-count,
body.kwd-app.buildings-v5-page .building-v5-bottom small {
  color: var(--kwd-muted-readable) !important;
}

body.kwd-app.buildings-v5-page .building-v5-body p {
  display: block !important;
  min-height: 0 !important;
  overflow: visible !important;
  -webkit-line-clamp: initial !important;
}

html[data-theme="light"] body.kwd-app.buildings-v5-page .building-v5-card i {
  color: var(--kwd-accent-deep) !important;
}

body.kwd-app .building-v5-no-preview {
  max-width: 240px !important;
  padding: 22px !important;
  display: grid;
  gap: 8px;
  color: var(--kwd-muted-readable) !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
  letter-spacing: .06em !important;
  text-transform: none !important;
}

body.kwd-app .building-v5-no-preview::before {
  content: "◇";
  color: var(--kwd-accent-text);
  font-size: 34px;
  line-height: 1;
}

body.kwd-app.building-detail-v5-page .building-v5-breadcrumb a,
body.kwd-app.building-detail-v5-page .building-v5-spec small,
body.kwd-app.building-detail-v5-page .building-v5-limit,
body.kwd-app.building-detail-v5-page .building-v5-links a,
body.kwd-app.building-detail-v5-page .building-v5-chips span {
  color: var(--kwd-accent-text) !important;
}

html[data-theme="light"] body.kwd-app.building-detail-v5-page .turntable-viewer :where(small, span, button),
html[data-theme="light"] body.kwd-app.building-detail-v5-page .building-viewer-v5-stage :where(small, span, button) {
  color: #34283d !important;
}

html[data-theme="light"] body.kwd-app.building-detail-v5-page :is(
  .turntable-badge,
  .turntable-actions > button,
  .turntable-quality,
  .turntable-modes
) {
  border-color: var(--kwd-line-strong) !important;
  color: var(--kwd-text) !important;
  background: rgba(250, 248, 244, .88) !important;
  box-shadow: 0 8px 24px rgba(43, 34, 47, .12) !important;
}

html[data-theme="light"] body.kwd-app.building-detail-v5-page :is(
  .turntable-actions button,
  .turntable-quality button,
  .turntable-modes button
) {
  color: var(--kwd-muted-readable) !important;
}

html[data-theme="light"] body.kwd-app.building-detail-v5-page :is(
  .turntable-quality button.is-active,
  .turntable-modes button.is-active
) {
  color: var(--kwd-accent-deep) !important;
  background: color-mix(in srgb, var(--kwd-accent) 15%, var(--kwd-panel)) !important;
}

html[data-theme="light"] body.kwd-app.building-detail-v5-page .turntable-hint {
  color: #34283d !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, .7);
}

html[data-theme="light"] body.kwd-app.building-detail-v5-page .turntable-viewer {
  background: var(--kwd-bg-soft) !important;
}

html[data-theme="light"] body.kwd-app.building-detail-v5-page .turntable-info,
html[data-theme="light"] body.kwd-app.building-detail-v5-page .building-v5-spec {
  border-color: var(--kwd-line) !important;
  background: var(--kwd-panel-raised) !important;
  box-shadow: 0 12px 34px rgba(43, 34, 47, .07) !important;
}

html[data-theme="light"] body.kwd-app.building-detail-v5-page .building-viewer-v5-facts small {
  color: var(--kwd-muted-readable) !important;
}

/* Wiki */
body.kwd-app.wiki-article-v5-page .wiki-article-v5-breadcrumb a,
body.kwd-app.wiki-article-v5-page .wiki-article-v5-toc > small,
body.kwd-app.wiki-article-v5-page .wiki-article-v5-index,
body.kwd-app.wiki-article-v5-page .wiki-article-pagination small {
  color: var(--kwd-accent-text) !important;
}

body.kwd-app.wiki-article-v5-page .wiki-article-v5-toc a,
body.kwd-app.wiki-article-v5-page .wiki-reading-meta span {
  color: var(--kwd-muted-readable) !important;
}

body.kwd-app.wiki-diplomacy-integrated .wiki-article-v5-body table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed;
}

body.kwd-app.wiki-diplomacy-integrated .wiki-article-v5-body :where(th, td) {
  min-width: 0 !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

html[data-theme="light"] body.kwd-app.wiki-diplomacy-integrated .wiki-article-v5-body :where(p, li, td, th, span) {
  color: var(--kwd-copy) !important;
}

html[data-theme="light"] body.kwd-app.wiki-index-page .cine-wiki-hero .cine-code {
  color: #ead3f1 !important;
}

html[data-theme="light"] body.kwd-app.wiki-diplomacy-integrated .search input,
html[data-theme="light"] body.kwd-app.wiki-diplomacy-integrated #search {
  color: var(--kwd-text) !important;
  background: transparent !important;
}

html[data-theme="light"] body.kwd-app.wiki-diplomacy-integrated .callout.info {
  border-color: color-mix(in srgb, var(--kwd-accent) 30%, var(--kwd-line)) !important;
  color: var(--kwd-copy) !important;
  background: color-mix(in srgb, var(--kwd-accent) 6%, var(--kwd-panel)) !important;
}

html[data-theme="light"] body.kwd-app.wiki-diplomacy-integrated .callout.info :where(p, span, li, strong) {
  color: inherit !important;
}

html[data-theme="light"] body.kwd-app.wiki-article-v5-page .wiki-article-pagination a {
  color: var(--kwd-accent-deep) !important;
}

/* Season */
body.kwd-app.season-v5-page .season-v5-hero :where(h1, p),
body.kwd-app.season-v5-page .season-v5-hero .season-v5-period {
  color: #f7f3f8 !important;
}

body.kwd-app.season-v5-page .season-v7-state {
  color: #f7f3f8 !important;
  background: rgba(18, 15, 22, .78) !important;
}

body.kwd-app.season-v5-page .season-v5-table :where(span, strong, b, a),
body.kwd-app.season-v5-page .season-v8-score-note {
  color: var(--kwd-text) !important;
}

body.kwd-app.season-v5-page .season-v7-state :where(small, b, strong),
body.kwd-app.season-v5-page .season-v5-podium :where(small, span, strong, b, a),
body.kwd-app.season-v5-page .season-v5-table-head > * {
  color: #f2edf4 !important;
}

body.kwd-app.season-v5-page .season-v5-table-head {
  color: var(--kwd-muted-readable) !important;
}

body.kwd-app.season-v5-page .season-v8-civ-link,
body.kwd-app.season-v5-page .season-v8-score-note b {
  color: var(--kwd-accent-text) !important;
}

html[data-theme="light"] body.kwd-app.season-v5-page .season-v5-podium article {
  border-color: var(--kwd-line) !important;
  background: var(--kwd-panel) !important;
  box-shadow: 0 14px 34px rgba(43, 34, 47, .08) !important;
}

html[data-theme="light"] body.kwd-app.season-v5-page .season-v5-podium :where(small, span, strong, b) {
  color: var(--kwd-copy) !important;
}

html[data-theme="light"] body.kwd-app.season-v5-page .season-v5-podium h3 a,
html[data-theme="light"] body.kwd-app.season-v5-page .season-v5-podium article > strong {
  color: var(--kwd-accent-deep) !important;
}

html[data-theme="light"] body.kwd-app.season-v5-page .season-v5-table-head {
  border-color: var(--kwd-line) !important;
  color: var(--kwd-text) !important;
  background: var(--kwd-panel-soft) !important;
}

html[data-theme="light"] body.kwd-app.season-v5-page .season-v5-table-head > * {
  color: var(--kwd-text) !important;
}

html[data-theme="light"] body.kwd-app.season-v5-page .season-v7-state {
  border-color: var(--kwd-line-strong) !important;
  color: var(--kwd-text) !important;
  background: rgba(250, 248, 244, .92) !important;
  box-shadow: 0 16px 38px rgba(43, 34, 47, .14) !important;
}

html[data-theme="light"] body.kwd-app.season-v5-page .season-v7-state :where(small, b, strong) {
  color: var(--kwd-text) !important;
}

html[data-theme="light"] body.kwd-app.season-v5-page .season-v7-state > span b {
  color: var(--kwd-accent-deep) !important;
}

html[data-theme="light"] body.kwd-app.season-v5-page .season-v5-table-row {
  color: var(--kwd-copy) !important;
  background: var(--kwd-panel) !important;
}

html[data-theme="light"] body.kwd-app.season-v5-page .season-v8-score-note {
  border-left-color: var(--kwd-accent) !important;
  color: var(--kwd-copy) !important;
  background: color-mix(in srgb, var(--kwd-accent) 7%, var(--kwd-panel)) !important;
}

/* Updates and roadmap */
body.kwd-app :is(.updates-v5-feed, .roadmap-v5-board) :where(small, time, .updates-v5-version),
body.kwd-app :is(.updates-v5-feed, .roadmap-v5-board) article > span {
  color: var(--kwd-muted-readable) !important;
}

body.kwd-app :is(.updates-v5-feed, .roadmap-v5-board) :where(h2, h3, strong) {
  color: var(--kwd-text) !important;
}

body.kwd-app :is(.updates-v5-feed, .roadmap-v5-board) p {
  color: var(--kwd-copy) !important;
}

html[data-theme="light"] body.kwd-app :is(.updates-v5-feed, .roadmap-v5-board) :where(small, time, .updates-v5-version),
html[data-theme="light"] body.kwd-app :is(.updates-v5-feed, .roadmap-v5-board) article > span {
  color: var(--kwd-muted-readable) !important;
}

/* World owner details */
body.kwd-app :is(.owner-v8-content, .owner-v8-layout) :where(h2, h3, strong, b, a) {
  color: var(--kwd-text) !important;
}

body.kwd-app :is(.owner-v8-content, .owner-v8-layout) :where(p, small, span, code) {
  color: var(--kwd-muted-readable) !important;
}

body.kwd-app :is(.owner-v8-panel, .owner-v8-side > section, .owner-v8-kpis article) {
  border-color: var(--kwd-line) !important;
  background: var(--kwd-panel) !important;
}

html[data-theme="light"] body.kwd-app .owner-v8-side > section,
html[data-theme="light"] body.kwd-app .owner-v8-panel {
  color: var(--kwd-text) !important;
  background: var(--kwd-panel) !important;
}

html[data-theme="light"] body.kwd-app .owner-v8-hero :where(.owner-v8-back, p) {
  color: #f1eaf3 !important;
}

html[data-theme="light"] body.kwd-app .owner-v8-hero p :where(code, b) {
  color: #f4dcf7 !important;
}

html[data-theme="light"] body.kwd-app .owner-v8-hero aside {
  border-color: var(--kwd-line-strong) !important;
  color: var(--kwd-text) !important;
  background: rgba(250, 248, 244, .92) !important;
  box-shadow: 0 16px 38px rgba(43, 34, 47, .14) !important;
}

html[data-theme="light"] body.kwd-app .owner-v8-hero aside :where(small, span, strong, code) {
  color: var(--kwd-muted-readable) !important;
}

html[data-theme="light"] body.kwd-app .owner-v8-hero aside strong {
  color: var(--kwd-text) !important;
}

body.kwd-app .owner-v8-techs span,
body.kwd-app .owner-v8-building-list > a > i {
  color: var(--kwd-success) !important;
}

html[data-theme="light"] body.kwd-app.world-v8-page .world-v8-stats b,
html[data-theme="light"] body.kwd-app.world-v8-page .world-v8-civ-grid :where(b, small, i) {
  color: var(--kwd-muted-readable) !important;
}

html[data-theme="light"] body.kwd-app.world-v8-page .world-v8-civ-grid a > i {
  color: var(--kwd-accent-deep) !important;
}

/* Technologies */
body.kwd-app:is(.tech-v9-page, .technologies-page) .tech-node {
  min-height: 116px !important;
  height: auto !important;
}

body.kwd-app:is(.tech-v9-page, .technologies-page) .tech-node strong {
  height: auto !important;
  min-height: 34px;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) .tech-node :where(strong, small, span),
html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) .technology-node :where(strong, small, span) {
  color: #392f40 !important;
}

html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) .technology-node-scope {
  color: #5b315f !important;
  background: transparent !important;
}

html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) :is(.technologies-browser, .technologies-map, .technologies-viewport) {
  background: var(--kwd-bg-soft) !important;
}

html[data-theme="light"] body.kwd-app.technologies-page .technologies-browser {
  border-color: var(--kwd-line-strong) !important;
  box-shadow: 0 20px 56px rgba(43, 34, 47, .12) !important;
}

html[data-theme="light"] body.kwd-app.technologies-page .technologies-viewport {
  background:
    radial-gradient(circle at 18% 0, color-mix(in srgb, var(--kwd-accent) 8%, transparent), transparent 30%),
    #e6e1da !important;
}

html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) :is(.technologies-toolbar, .technologies-branches, .technologies-map-heading, .technologies-overview-axis, .technologies-overview-stages) {
  background: var(--kwd-panel) !important;
}

html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) :is(.technologies-search, .technologies-scopes, .technologies-tree-select select, .technologies-total) {
  border-color: var(--kwd-line) !important;
  color: var(--kwd-text) !important;
  background: var(--kwd-panel-raised) !important;
}

html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) .technologies-search input,
html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) .technologies-tree-select select {
  color: var(--kwd-text) !important;
}

html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) .technologies-search input {
  background: transparent !important;
}

html[data-theme="light"] body.kwd-app.technologies-page .technologies-overview-lane :where(small, span) {
  color: color-mix(in srgb, var(--lane-color) 48%, var(--kwd-text)) !important;
}

html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) .technology-lane-band {
  border-color: rgba(47, 39, 51, .16) !important;
  background: rgba(250, 248, 244, .68) !important;
}

html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) .technology-lane-band.is-alt {
  background: rgba(215, 209, 201, .68) !important;
}

html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) .technologies-shell.is-map-overview .technology-node {
  border-color: var(--lane-color) !important;
  background: color-mix(in srgb, var(--lane-color) 40%, #fffdfa) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--lane-color) 58%, transparent), 0 4px 12px rgba(43, 34, 47, .10) !important;
}

html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) .technologies-shell.is-map-overview .technology-node:hover,
html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) .technologies-shell.is-map-overview .technology-node.is-active {
  background: color-mix(in srgb, var(--lane-color) 52%, #fffdfa) !important;
}

html[data-theme="light"] body.kwd-app:is(.tech-v9-page, .technologies-page) .technologies-grid {
  opacity: .56 !important;
}

html[data-theme="light"] body.kwd-app.technologies-page .technologies-overview-axis {
  box-shadow: 14px 0 34px rgba(43, 34, 47, .10) !important;
}

html[data-theme="light"] body.kwd-app .footer-v11 {
  background: var(--kwd-bg-soft) !important;
}

body.kwd-app .footer-v5-brand .kwd-brand-copy {
  display: grid !important;
  gap: 2px !important;
}

body.kwd-app .footer-v5-brand .kwd-brand-copy small {
  display: block !important;
  margin: 0 !important;
}

/* Empty and error states */
body.kwd-app :is(.error-v6-card, .map-unavailable-card) :where(p, small, code) {
  color: var(--kwd-muted-readable) !important;
}

body.kwd-app :is(.error-v6-card, .map-unavailable-card) :where(strong, h1, a) {
  color: var(--kwd-text) !important;
}

body.kwd-app .map-unavailable-card {
  width: min(680px, 100%);
  padding: clamp(28px, 5vw, 54px);
  border: 1px solid var(--kwd-line);
  border-radius: 16px;
  background: var(--kwd-panel);
  box-shadow: var(--kwd-shadow);
}

body.kwd-app .map-unavailable-shell {
  min-height: 62vh;
  display: grid;
  place-items: center;
  padding-block: 112px 64px;
  text-align: center;
}

body.kwd-app .map-unavailable-card > p:not(.v5-overline) {
  max-width: 560px;
  margin-inline: auto;
  color: var(--kwd-copy) !important;
}

@media (max-width: 900px) {
  body.kwd-app .footer-v11-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 30px 16px !important;
    padding-block: 44px !important;
  }

  body.kwd-app .footer-v5-brand {
    grid-column: 1 / -1 !important;
  }

  body.kwd-app .footer-v5-column {
    min-width: 0;
    padding-left: 12px !important;
  }
}

@media (max-width: 760px) {
  html[data-theme="light"] body.kwd-app.home13 .home13-overlay {
    background:
      linear-gradient(90deg, rgba(20, 17, 23, .74), rgba(20, 17, 23, .44) 64%, rgba(20, 17, 23, .12)),
      linear-gradient(0deg, var(--kwd-bg) 0%, rgba(246, 244, 241, .50) 11%, transparent 31%) !important;
  }

  body.kwd-app .wiki-category-jump {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  body.kwd-app .wiki-category-jump a {
    min-width: 0 !important;
    min-height: 86px;
    padding: 14px !important;
    border-right: 1px solid var(--kwd-line) !important;
    border-bottom: 1px solid var(--kwd-line) !important;
  }

  body.kwd-app .wiki-category-jump a:nth-child(even) {
    border-right: 0 !important;
  }

  body.kwd-app .wiki-category-jump a:last-child {
    grid-column: 1 / -1;
    border-bottom: 0 !important;
  }

  body.kwd-app.season-v5-page .season-v5-table {
    overflow: visible !important;
  }

  body.kwd-app.season-v5-page .season-v5-table-head {
    display: none !important;
  }

  body.kwd-app.season-v5-page .season-v5-table-row {
    min-width: 0 !important;
    padding: 18px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 18px !important;
  }

  body.kwd-app.season-v5-page .season-v5-table-row > :nth-child(1),
  body.kwd-app.season-v5-page .season-v5-table-row > :nth-child(2),
  body.kwd-app.season-v5-page .season-v5-table-row > :nth-child(3) {
    grid-column: 1 / -1;
  }

  body.kwd-app.season-v5-page .season-v5-table-row > :nth-child(n + 4)::before {
    display: block;
    margin-bottom: 3px;
    color: var(--kwd-muted-readable);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
  }

  body.kwd-app.season-v5-page .season-v5-table-row > :nth-child(4)::before { content: "ТЕРРИТОРИЯ"; }
  body.kwd-app.season-v5-page .season-v5-table-row > :nth-child(5)::before { content: "ЭКОНОМИКА"; }
  body.kwd-app.season-v5-page .season-v5-table-row > :nth-child(6)::before { content: "НАУКА"; }
  body.kwd-app.season-v5-page .season-v5-table-row > :nth-child(7)::before { content: "ВОЕННАЯ"; }

  body.kwd-app.wiki-diplomacy-integrated .wiki-article-v5-body table {
    font-size: 12px;
  }

  body.kwd-app.wiki-diplomacy-integrated .wiki-article-v5-body :where(th, td) {
    padding: 9px 6px !important;
  }

  body.kwd-app.building-detail-v5-page .turntable-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.kwd-app.building-detail-v5-page .turntable-shell > *,
  body.kwd-app.building-detail-v5-page .turntable-info > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.kwd-app.building-detail-v5-page .turntable-info h1 {
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  body.kwd-app.updates13-page .updates13-list article {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  body.kwd-app.updates13-page .updates13-meta {
    min-width: 0;
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px 12px !important;
  }

  body.kwd-app.updates13-page .updates13-meta :where(span, strong, small) {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  body.kwd-app.updates13-page .updates13-meta small {
    flex: 1 1 150px;
  }
}

@media (max-width: 600px) {
  body.kwd-app .footer-v11-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.kwd-app .footer-v5-column:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 420px) {
  body.kwd-app .wiki-category-jump {
    grid-template-columns: 1fr !important;
  }

  body.kwd-app .wiki-category-jump a,
  body.kwd-app .wiki-category-jump a:last-child {
    grid-column: 1;
    border-right: 0 !important;
  }
}

/* Comfortable small type — labels and supporting text must remain readable
   at normal browser zoom, including on compact screens. */
body.kwd-app {
  font-size: 17px;
}

body.kwd-app :is(.page-eyebrow, .v5-overline, .v6-signal, .cine-code,
  .kwd-header .kwd-brand-copy small, .kwd-header .kwd-nav-link,
  .kwd-play-cta, .kwd-map-link, .footer-v5-column > small,
  .footer-v5-column a, .footer-v11-bottom) {
  font-size: 12px !important;
}

body.kwd-app.home13 :is(.home13-kicker, .home13-connect span,
  .home13-join-note, .home13-season > span, .home13-season p,
  .home13-season a, .home13-news-head > a, .home13-news article > small) {
  font-size: 13px !important;
}

body.kwd-app.home13 .home13-news p {
  font-size: 15px !important;
}

body.kwd-app :is(.wiki-reading-meta span, .wiki-chapter > header > span,
  .wiki-chapter > header > small, .wiki-article-pagination small,
  .wiki-article-v5-toc > small, .wiki-article-v5-toc a,
  .wiki-article-v5-index) {
  font-size: 12px !important;
}

body.kwd-app.technologies-page :is(.technologies-eyebrow,
  .technologies-total span, .technologies-scopes button,
  .technologies-tree-select select, .technologies-panel-heading,
  .technologies-branches [data-technologies-branch-list] button,
  .technologies-map-heading small, .technologies-map-heading > span,
  .technology-stage-column > span, .technology-lane-label small,
  .technology-lane-label span, .technology-node-scope,
  .technology-node-cost b, .technologies-detail-kicker,
  .technologies-detail h3, .technologies-chips :is(span, a, button),
  .technologies-detail code, .technologies-next button span) {
  font-size: 11px !important;
}

body.kwd-app.technologies-page :is(.technologies-search input,
  .technologies-search-results strong, .technology-lane-label strong,
  .technology-node strong, .technologies-detail > p,
  .technologies-next button strong) {
  font-size: 13px !important;
}

body.kwd-app :is(.building-v5-number, .building-v5-3d,
  .building-v5-meta span, .building-v5-bottom small,
  .building-viewer-v5-tags span, .building-viewer-v5-facts small,
  .season-v7-state small, .world-v8-db small, .tech-v6-live span,
  .tech-v6-stage-rail span, .tech-v5-sidebar-title small,
  .tech-v5-label, .auth-v6-page label > span) {
  font-size: 12px !important;
}

@media (max-width: 640px) {
  body.kwd-app {
    font-size: 16px;
  }
}

/* Max review: remove decorative noise and restore readable component scale. */
@media (min-width: 981px) {
  body.kwd-app.building-detail-v5-page .turntable-shell {
    align-items: stretch !important;
  }

  body.kwd-app.building-detail-v5-page .turntable-viewer {
    height: auto;
    aspect-ratio: auto;
  }
}

body.kwd-app.building-detail-v5-page .turntable-info h1 {
  font-size: clamp(36px, 2.7vw, 44px) !important;
  line-height: 1.04 !important;
}

body.kwd-app.building-detail-v5-page .building-viewer-v5-facts strong {
  font-size: 13px !important;
  font-weight: 600;
}

body.kwd-app.building-detail-v5-page :is(.building-v5-links a, .building-v5-chips span) {
  padding: 11px 12px;
  font-size: 13px !important;
  line-height: 1.35;
}

body.kwd-app.building-detail-v5-page .building-v5-spec > span {
  font-size: 12px !important;
}

body.kwd-app.buildings-v5-page .building-v5-card {
  display: flex;
  flex-direction: column;
}

body.kwd-app.buildings-v5-page .building-v5-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

body.kwd-app.buildings-v5-page .building-v5-bottom {
  margin-top: auto;
  padding-top: 18px;
}

body.kwd-app.buildings-v5-page .building-v5-bottom b {
  font-size: 14px !important;
  font-weight: 600;
}

body.kwd-app.world-v8-page .world-v8-section-head h2 {
  color: var(--kwd-text) !important;
}

body.kwd-app.world-v8-page .world-v8-section-head p {
  color: var(--kwd-copy) !important;
  font-size: 15px !important;
}

body.kwd-app.world-v8-page .world-v8-stats small {
  color: var(--kwd-muted-readable) !important;
  font-size: 11px !important;
  line-height: 1.35;
}

body.kwd-app.world-v8-page .world-v8-stats article > span,
body.kwd-app.world-v8-page .world-v8-card-top,
body.kwd-app.world-v8-page .world-v8-card-top small {
  font-size: 11px !important;
}

body.kwd-app.world-v8-page .world-v8-card-metrics small {
  color: var(--kwd-muted-readable) !important;
  font-size: 11px !important;
  line-height: 1.3;
}

body.kwd-app.world-v8-page .world-v8-card-foot,
body.kwd-app.world-v8-page .world-v8-camp-list :is(small, .world-v8-camp-metrics b) {
  color: var(--kwd-muted-readable) !important;
  font-size: 12px !important;
  line-height: 1.4;
}

body.kwd-app.wiki-article-v5-page .wiki-article-v5-toc a {
  font-size: 14px !important;
  line-height: 1.45;
}

body.kwd-app.wiki-article-v5-page .wiki-article-v5-toc a b {
  font-size: 11px !important;
}

body.kwd-app.wiki-article-v5-page .wiki-article-v5-links a {
  font-size: 13px !important;
  line-height: 1.4;
}

body.kwd-app.wiki-article-v5-page .wiki-article-v5-end {
  font-size: 12px !important;
}

body.kwd-app.wiki-article-v5-page .wiki-article-pagination a:only-child {
  grid-column: 1 / -1;
}

body.kwd-app.wiki-article-v5-page .wiki-article-pagination-previous {
  text-align: left !important;
}

body.kwd-app.wiki-article-v5-page .wiki-article-pagination-next {
  text-align: right !important;
}

@media (max-width: 760px) {
  body.kwd-app.wiki-article-v5-page .wiki-article-pagination-next {
    text-align: left !important;
  }
}
