/* Shared accessibility and factual resource panels; existing artwork/layout stays in place. */
.skip-link { position: fixed; top: 8px; inset-inline-start: 12px; z-index: 10000; transform: translateY(-180%); padding: 12px 18px; border-radius: 12px; background: #fff; color: #342b50; font-weight: 800; }
.skip-link:focus { transform: none; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid #342b50 !important; outline-offset: 4px; box-shadow: 0 0 0 7px #fff; }
main { scroll-margin-top: 130px; }
.quality-panel { position: relative; z-index: 1; width: min(1124px, calc(100% - 40px)); margin: 30px auto; padding: clamp(22px, 4vw, 38px); border: 1px solid #d7e5f1; border-radius: 28px; background: #fffdf7; color: #342b50; overflow-wrap: anywhere; }
.quality-panel h2 { margin: 0 0 12px; font: 800 clamp(1.4rem, 3vw, 2rem)/1.2 var(--font-display, var(--display, sans-serif)); }
.quality-panel p, .quality-note { line-height: 1.65; }
.quality-links { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 18px; }
.quality-panel a, .intro > p > a { color: #6c429f; text-decoration: underline; text-underline-offset: 3px; font-weight: 800; }
.quality-links a { padding-block: 8px; }
.quality-panel details { border-top: 1px solid #d7e5f1; padding: 15px 0; }
.quality-panel summary { font-weight: 800; cursor: pointer; min-height: 28px; }
.quality-panel details p { margin-block: 12px 0; }
.quality-note { color: #514663; font-size: .92rem; margin-block: 12px; }
.legal-shell > .quality-panel { width: 100%; margin-inline: 0; padding: 22px; }
/* Darker shades of the existing palette improve small-text contrast. */
#navCta, #heroCtaPrimary, #videoSubscribeBtn, #ctaBtn, .youtube-link, .header-youtube,
.filter[data-filter="premium"] { background-color: #d90000; color: #fff; }
#heroEyebrow, #wsEyebrow, .intro > .eyebrow, #gameEyebrow { color: #6c429f !important; }
#whyEyebrow, #eyebrow, .legal-shell > .eyebrow { color: #ad352a !important; }
#submitBtn, #submitButton, .legal-button { background-color: #b93e30; color: #fff !important; }
.legal-shell a, .site-footer a { color: #ad352a; }
.legal-shell .legal-button { color: #fff; }
.filter[data-filter="free"], .badge.free, a.play, .ws-btn.free, #downloadBook { color: #123c24; }
.badge.premium { color: #342b50; }
.button-secondary, button[data-resource-i18n="signUp"] { background-color: #7550af; color: #fff; }
#shareButton { background-color: #156b96; color: #fff; }
.orbit-word { color: #342b50 !important; }
/* Native game-card buttons keep their existing card geometry. */
button.card { padding: 0; border: 0; background: transparent; font: inherit; color: inherit; text-align: inherit; }
button.card[aria-pressed="true"]:focus-visible { outline-offset: 5px; }
@media (max-width: 430px) { .quality-panel { width: calc(100% - 28px); border-radius: 24px; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  #confettiLayer { display: none; }
  .feature-card, .ws-card { opacity: 1 !important; transform: none !important; }
}
.badge.premium { color: #21132e; }
.game-card .disabled { opacity: 1; color: #514663; }
.youtube { background-color: #d90000; color: #fff; }
#playAgainBtn { background-color: #b93e30; color: #fff; }
