:root,
:root[data-theme="dark"],
body[data-theme="dark"] {
  color-scheme: dark;

  /*
    DOGGTA design contract:
    - Edit content/design-tokens.json or use DOGGTA Manager > Aparencia.
    - This file is generated by tools/generate-design-tokens-css.js.
    - Specific light-theme component overrides are preserved below.
  */
  --font-display: "Bebas Neue", "Oswald", "Teko", "Big Shoulders Display", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  --font-interface: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-text: var(--font-interface);
  --font-mono: "JetBrains Mono", "IBM Plex Mono", Consolas, "Liberation Mono", monospace;

  --card-label-bg: #050608;
  --card-label-text: #ffffff;
  --card-label-border-color: #ffffff;
  --card-label-border-opacity: 0.36;
  --card-label-border: rgba(255,255,255, 0.36);
  --card-label-radius: 4px;

  --identity: #10b7aa;
  --identity-soft: #46d6cc;
  --identity-deep: #063f3d;
  --identity-rgb: 16,183,170;
  --identity-soft-rgb: 70,214,204;

  --black: #07070a;
  --page-bg: #000000;
  --page-bg-deep: #07090c;
  --page-bg-end: #090d0d;
  --ink: #0f1116;
  --ink-2: #14171d;
  --ink-3: #181b22;
  --surface: #0e1615;
  --surface-2: #181b22;
  --surface-3: #20242c;
  --panel: #20242c;
  --panel-2: #282d36;
  --panel-gray: #2d2d2d;
  --panel-line: #454545;
  --line: rgba(255,255,255,.105);
  --line-strong: rgba(255,255,255,.16);
  --text: #ffffff;
  --subtext-neutral: #aaaaaa;
  --subtext-neutral-rgb: 170,170,170;
  --neutral-muted: var(--subtext-neutral);
  --neutral-muted-rgb: var(--subtext-neutral-rgb);
  --neutral-subtle: var(--neutral-muted);
  --news-subtext: var(--neutral-muted);
  --text-soft: var(--neutral-muted);
  --nav-muted: var(--neutral-muted);
  --muted: var(--neutral-subtle);

  --brand-teal: var(--identity);
  --brand-teal-soft: var(--identity-soft);
  --brand-teal-deep: var(--identity-deep);
  --line-brand: rgba(var(--identity-soft-rgb), .34);
  --glow-brand: rgba(var(--identity-soft-rgb), .18);

  --theme-identity-top: rgba(16,183,170, .055);
  --theme-identity-side: rgba(70,214,204, .028);

  --article-accent: #46d6cc;
  --article-accent-soft: #7ee7df;
  --article-accent-muted: #a8a8b2;
  --article-accent-rgb: 70,214,204;
  --line-hot: rgba(var(--article-accent-rgb), .36);
  --hot: var(--article-accent);
  --hot-2: var(--article-accent-soft);
  --violet: var(--article-accent-muted);
  --gta6-pink: var(--article-accent);
  --gta6-pink-soft: var(--article-accent-soft);
  --gta6-violet: var(--article-accent-muted);
  --download-green: #72bd45;
  --download-green-bright: #a2df6c;
  --download-green-rgb: 114,189,69;
  --download-green-soft: rgba(var(--download-green-rgb), .16);
  --download-page-glow: rgba(114,189,69, .13);
  --download-page-top: rgba(114,189,69, .075);
  --download-page-side: rgba(114,189,69, .035);

  --menu-bg: #07090c;
  --menu-bg-soft: #101319;
  --menu-surface: #11161c;
  --menu-surface-hover: #171e25;
  --menu-head-bg: #030304;
  --menu-text: #f4f1f8;
  --menu-text-soft: #d6d9df;
  --menu-muted: #9fa7b1;
  --menu-line: rgba(255,255,255,.12);
  --menu-line-soft: rgba(255,255,255,.08);
  --menu-scrollbar-thumb: rgba(255,255,255,.22);
  --menu-backdrop: rgba(5,5,8,.56);
  --menu-shadow: 18px 0 48px rgba(0,0,0,.45);
  --menu-accent: var(--identity);
  --menu-accent-soft: var(--identity-soft);
}

:root[data-theme="light"],
body[data-theme="light"] {
  color-scheme: light;

  --black: #f6f7f5;
  --page-bg: #f4f6f3;
  --page-bg-deep: #e9ede8;
  --page-bg-end: #f8faf7;
  --ink: #ffffff;
  --ink-2: #f6f7f5;
  --ink-3: #eef1ee;
  --surface: #ffffff;
  --surface-2: #f4f6f3;
  --surface-3: #e9ede8;
  --panel: #ffffff;
  --panel-2: #f1f4f1;
  --panel-gray: #f1f2f0;
  --panel-line: #d7ddd8;
  --line: rgba(8,12,14,.18);
  --line-strong: rgba(8,12,14,.28);
  --text: #101418;
  --subtext-neutral: #c9cfd4;
  --subtext-neutral-rgb: 201,207,212;
  --neutral-muted: var(--subtext-neutral);
  --neutral-muted-rgb: var(--subtext-neutral-rgb);
  --neutral-subtle: var(--neutral-muted);
  --news-subtext: var(--neutral-muted);
  --text-soft: var(--neutral-muted);
  --nav-muted: var(--neutral-muted);
  --muted: var(--neutral-subtle);

  --theme-identity-top: rgba(16,183,170, .08);
  --theme-identity-side: rgba(70,214,204, .05);

  --article-accent: #46d6cc;
  --article-accent-soft: #7ee7df;
  --article-accent-muted: #a8a8b2;
  --article-accent-rgb: 70,214,204;
  --line-hot: rgba(var(--article-accent-rgb), .36);
  --hot: var(--article-accent);
  --hot-2: var(--article-accent-soft);
  --violet: var(--article-accent-muted);
  --gta6-pink: var(--article-accent);
  --gta6-pink-soft: var(--article-accent-soft);
  --gta6-violet: var(--article-accent-muted);
  --download-page-glow: rgba(114,189,69, .14);
  --download-page-top: rgba(114,189,69, .08);
  --download-page-side: rgba(114,189,69, .045);

  --menu-bg: #ffffff;
  --menu-bg-soft: #f5f6f7;
  --menu-surface: #f6f7f8;
  --menu-surface-hover: #eef2f3;
  --menu-head-bg: #030304;
  --menu-text: #111418;
  --menu-text-soft: #2c3238;
  --menu-muted: #65717d;
  --menu-line: rgba(17,20,24,.12);
  --menu-line-soft: rgba(17,20,24,.08);
  --menu-scrollbar-thumb: rgba(17,20,24,.22);
  --menu-backdrop: rgba(5,5,8,.56);
  --menu-shadow: 18px 0 48px rgba(0,0,0,.24);
  --menu-accent: var(--identity);
  --menu-accent-soft: var(--identity-soft);
}

:root[data-theme="light"] :where(.section-title, .catalog-title) {
  color: #050607;
  text-shadow: none;
}

:root[data-theme="light"] :where(
  .primary-gate,
  .watch-card,
  .project-card,
  .giro-gamer,
  .giro-card,
  .article-large,
  .article-list,
  .guide-table,
  .channel-panel,
  .video-link,
  .catalog-card,
  .catalog-card-visual,
  .catalog-search,
  .catalog-filter,
  .catalog-select,
  .content-card,
  .side-card,
  .detail-info,
  .download-side-action,
  .support-panel
) {
  border-color: var(--line);
}

:root[data-theme="light"] .primary-gate {
  --surface: #14171d;
  --text: #f4f1f8;
  --text-soft: #aaaaaa;
  --muted: #aaaaaa;
  --line: rgba(255,255,255,.105);
  border-color: var(--line);
  background: var(--surface);
  color: var(--text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

:root[data-theme="light"] .project-card:hover,
:root[data-theme="light"] .project-card:focus-visible {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

:root[data-theme="light"] :where(.giro-gamer, .giro-card) {
  --surface: #14171d;
  --text: #f4f1f8;
  --text-soft: #aaaaaa;
  --muted: #aaaaaa;
  --line: rgba(255,255,255,.105);
  border-color: var(--line);
  color: var(--text);
}

:root[data-theme="light"] .editorial-grid {
  --surface: #14171d;
  --text: #f4f1f8;
  --text-soft: #aaaaaa;
  --muted: #aaaaaa;
  --line: rgba(255,255,255,.105);
}

:root[data-theme="light"] :where(.article-large, .article-list) {
  border-color: var(--line);
  color: var(--text);
}

:root[data-theme="light"] .article-list {
  background: rgba(18,20,24,.9);
}

:root[data-theme="light"] .article-row {
  border-color: var(--line);
}

:root[data-theme="light"] .article-row-visual {
  border-color: var(--line);
}

:root[data-theme="light"] :where(.guide-table, .channel-grid, .watch-card) {
  --surface: #14171d;
  --page-bg-deep: #07090c;
  --text: #f4f1f8;
  --text-soft: #aaaaaa;
  --muted: #aaaaaa;
  --line: rgba(255,255,255,.105);
}

:root[data-theme="light"] :where(.guide-table, .channel-panel, .watch-card, .video-link) {
  border-color: var(--line);
  background: rgba(18,20,24,.9);
  color: var(--text);
}

:root[data-theme="light"] :where(.guide-row, .channel-top, .channel-stats, .channel-stat, .watch-copy) {
  border-color: var(--line);
}

:root[data-theme="light"] .garage-view-all,
:root[data-theme="light"] .guide-head-link,
:root[data-theme="light"] .garage-view-all:hover,
:root[data-theme="light"] .garage-view-all:focus-visible,
:root[data-theme="light"] .guide-head-link:hover,
:root[data-theme="light"] .guide-head-link:focus-visible {
  color: #101418;
}

:root[data-theme="light"] .channel-stat {
  background: var(--surface);
}

:root[data-theme="light"] .watch-media {
  background: var(--page-bg-deep);
}

:root[data-theme="light"] .support-panel {
  --surface: #14171d;
  --text: #f4f1f8;
  --text-soft: #aaaaaa;
  --muted: #aaaaaa;
  --line: rgba(255,255,255,.105);
  border-color: var(--line);
  background:
    linear-gradient(110deg, rgba(var(--identity-soft-rgb),.22), transparent 44%),
    linear-gradient(55deg, rgba(var(--identity-rgb),.16), transparent 42%),
    var(--surface);
  color: var(--text);
}

:root[data-theme="light"] .support-panel .support-title {
  color: #fff;
}

:root[data-theme="light"] .support-panel .support-text {
  color: #aaaaaa;
}

:root[data-theme="light"] .footer-mark {
  color: #101418;
}

:root[data-theme="light"] .footer-mark-prefix {
  color: var(--identity);
}

:root[data-theme="light"] .footer-mark--doggta {
  color: #101418;
}

:root[data-theme="light"] .footer {
  color: #101418;
}

:root[data-theme="light"] .footer-bottom {
  color: #101418;
}

:root[data-theme="light"] .footer-links a {
  color: #101418;
}

:root[data-theme="light"] .footer-links a + a::before {
  color: rgba(16,20,24,.38);
}
