:root { color-scheme: dark; }
html { scroll-padding-top: 125px; }
body { padding-bottom: 90px; }
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid var(--accent); outline-offset: 4px;
}
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 12000; padding: 12px; background: var(--accent); color: var(--dark); }
.skip-link:focus { top: 10px; }
.hero-body__right .partner-note { font-size: .78rem; line-height: 1.55; color: var(--accent); margin-bottom: 12px; }
.hero-body__right .verified-date { font-size: .78rem; color: var(--text-muted); margin-top: 16px; }
.hero-body__left .affiliate-caption { font-size: .73rem; line-height: 1.5; max-width: 350px; padding: 0 0 15px; color: var(--text-muted); }
.info-section .offer-note { font-size: .82rem; border-left: 3px solid var(--accent); padding: 10px 14px; background: rgba(255,211,108,.06); }
.info-section .source-note { font-size: .78rem; }
.info-section a:not(.cta-btn) { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.info-section .faq-q { margin: 0 0 10px; text-transform: none; letter-spacing: normal; color: var(--primary); }
.info-section .faq-a { margin-bottom: 0; font-size: .93rem; line-height: 1.7; }
.info-section caption { text-align: left; padding: 12px 16px; font-size: .85rem; color: var(--text); background: var(--surface2); }
.info-section .pc-box h3 { margin-top: 0; }
.info-section section { scroll-margin-top: 125px; }
.games-section__icon { font-size: 22px; }
.game-card__name { overflow-wrap: anywhere; }
.footer-inner { grid-template-columns: 1fr auto; }
.footer-legal a { color: var(--accent); }
.footer-bottom { max-width: 960px; margin: auto; }
.ftoc__btn { border: 0; font-family: Inter, sans-serif; }
.ftoc__panel { width: 260px; }
.ftoc__panel[hidden] { width: 0; }
.ftoc__list a { font-family: Inter, sans-serif; }
.sticky-cta__bonus { font-size: .82rem; }
.annexe-main { min-height: 60vh; }
.annexe-main h1 { color: var(--light); font-size: 1.65rem; margin-bottom: 25px; }
.annexe-main a { color: var(--accent); text-decoration: underline; }
@media (min-width: 1024px) and (max-width: 1199px) {
  .main-nav a { padding-left: 13px; padding-right: 13px; font-size: .7rem; }
}
@media (max-width: 768px) {
  html { scroll-padding-top: 80px; }
  .info-section section { scroll-margin-top: 80px; }
  .footer-inner { grid-template-columns: 1fr; }
  .hero-body__left .affiliate-caption { text-align: center; }
  .ftoc__panel { width: min(260px, calc(100vw - 45px)); }
}
@media (max-width: 600px) {
  .games-section__title { font-size: .9rem; }
  .sticky-cta__inner { gap: 8px; }
  .sticky-cta__bonus { font-size: .7rem; }
  .sticky-cta { padding: 10px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
