/* Selected light/dark surfaces and semantic ink; photographic overlays remain dark. */
:root {
  color-scheme: light;
  --bg: #f5f7fa; --surface: #ffffff; --surface-raised: #edf2f7;
  --line: #d4dce5; --text: #152133; --secondary: #41516a; --muted: #596980;
  --accent: #146c43; --accent-ink: #ffffff; --warning: #9a5800;
  --panel-muted: #edf2f7; --selected-bg: #e0e9f1; --view-selected-bg: #dce6f0;
  --table-head: #f0f4f8; --border-strong: #7a8ca4; --hover-border: #8193aa;
  --button-hover: #0f5735; --secondary-hover: #e1e8f0; --cover-bg: #e1e8f0;
  --discount-bg: #e5f3ea; --discount-border: #85b99a; --discount-text: #152133; --discount-accent: #146c43;
  --warning-bg: #fff5e5; --warning-text: #7b490c; --warning-border: #d7ac66;
  --dialog-backdrop: rgba(31, 48, 69, 0.38); --overlay-text: #f4f7fb;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --bg: #0b1018; --surface: #121a26; --surface-raised: #182231;
    --line: #293548; --text: #f4f7fb; --secondary: #b3bfd1; --muted: #99a9bf;
    --accent: #a2ecc5; --accent-ink: #102a1d; --warning: #fab219;
    --panel-muted: #0e151f; --selected-bg: #233343; --view-selected-bg: #293749;
    --table-head: #151f2c; --border-strong: #415169; --hover-border: #425572;
    --button-hover: #bcf4d7; --secondary-hover: #25354b; --cover-bg: #1c2939;
    --discount-bg: #193326; --discount-border: #365a49; --discount-text: #f4f7fb; --discount-accent: #a2ecc5;
    --warning-bg: #251e16; --warning-text: #f7d89a; --warning-border: #6b522a;
    --dialog-backdrop: #060a12bd;
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0b1018; --surface: #121a26; --surface-raised: #182231;
  --line: #293548; --text: #f4f7fb; --secondary: #b3bfd1; --muted: #99a9bf;
  --accent: #a2ecc5; --accent-ink: #102a1d; --warning: #fab219;
  --panel-muted: #0e151f; --selected-bg: #233343; --view-selected-bg: #293749;
  --table-head: #151f2c; --border-strong: #415169; --hover-border: #425572;
  --button-hover: #bcf4d7; --secondary-hover: #25354b; --cover-bg: #1c2939;
  --discount-bg: #193326; --discount-border: #365a49; --discount-text: #f4f7fb; --discount-accent: #a2ecc5;
  --warning-bg: #251e16; --warning-text: #f7d89a; --warning-border: #6b522a;
  --dialog-backdrop: #060a12bd;
}
.header-actions { display: flex; align-items: center; gap: 20px; margin-left: auto; }
.theme-toggle { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex-shrink: 0; padding: 0; color: var(--secondary); background: var(--surface-raised); border: 1px solid var(--line); border-radius: 9px; font-size: 17px; line-height: 1; transition: background .18s ease, color .18s ease, border-color .18s ease; }
.theme-toggle:hover { color: var(--text); background: var(--selected-bg); border-color: var(--hover-border); }
.theme-toggle:active { transform: scale(.94); }
.theme-toggle:disabled { cursor: wait; opacity: .6; }
.theme-toggle .theme-icon { display: none; place-items: center; font-size: 16px; line-height: 1; }
.theme-toggle[data-preference="light"] .icon-sun,
.theme-toggle[data-preference="dark"] .icon-moon,
.theme-toggle[data-preference="system"] .icon-system { display: grid; }
.theme-toggle[data-preference="system"] .icon-system { color: var(--accent); }
.primary-button:hover { background: var(--button-hover); }
.categories { background: var(--panel-muted); }
.categories button[aria-pressed="true"] { background: var(--selected-bg); }
.view-toggle button[aria-pressed="true"] { background: var(--view-selected-bg); }
.discount { background: var(--discount-bg); border-color: var(--discount-border); color: var(--discount-text); }
.discount::before { color: var(--discount-accent); }
.discount.zero { background: var(--surface-raised); border-color: var(--line); color: var(--secondary); }
.price-table th { background: var(--table-head); }
.game-card:hover { border-color: var(--hover-border); }
.cover-link { background: var(--cover-bg); }
.cover-badge { color: var(--overlay-text); }
.cover-badge::before { background: #a2ecc5; }
.notice, .detail-warning, .noscript { background: var(--warning-bg); color: var(--warning-text); border-color: var(--warning-border); }
.card-expiry.expired { color: var(--warning-text); }
.secondary-button { border-color: var(--border-strong); }
.secondary-button:hover { background: var(--secondary-hover); }
dialog { border-color: var(--border-strong); }
dialog::backdrop { background: var(--dialog-backdrop); }
.hero-offer-content {
  color: #f4f7fb;
  --text: #f4f7fb; --secondary: #d0d9e6; --accent: #a2ecc5; --accent-ink: #102a1d;
  --discount-bg: #193326; --discount-border: #365a49; --discount-text: #f4f7fb; --discount-accent: #a2ecc5;
}
@media (max-width: 1000px) {
  .header-actions { gap: 12px; }
  .header-actions .independent { display: none; }
}
@media (max-width: 760px) {
  .header-inner { height: auto; min-height: 75px; flex-wrap: wrap; gap: 12px 16px; padding-top: 13px; padding-bottom: 13px; }
  .header-inner nav { order: 3; flex-basis: 100%; gap: 24px; padding-top: 2px; }
  .nav-active::after { bottom: -8px; }
  .header-actions { margin-left: auto; }
}
@media (forced-colors: active) {
  .theme-toggle { border: 1px solid CanvasText; }
  .hero-offer-content { color: CanvasText; --text: CanvasText; --secondary: CanvasText; --discount-text: CanvasText; }
  .discount, .primary-button, .brand-mark { border: 1px solid CanvasText; }
}
