/* Preserve the approved appearance while providing usable keyboard/touch controls. */
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--yellow,#3988ff);outline-offset:4px}
.theme-switch button,.controls button,.globe-pause,.effects-toggle,.fan-chapter-rail button{min-height:44px;min-width:44px}
.controls input[type=range]{min-height:28px}
.stage:not(.ready)>img{visibility:visible!important;opacity:1!important}
.stage.ready>img{visibility:hidden!important}
.engine-loading{inset:auto 12px 12px;gap:4px;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--bg,#101418) 88%,transparent);font-size:12px}
.engine-loading-ring{width:18px;height:18px}.engine-loading small{font-size:11px}
@media(max-width:600px){.theme-switch{max-width:calc(100vw - 20px)}.theme-switch button{padding:8px 10px}.gts footer{padding-bottom:100px}.fan-chapter-rail{scroll-padding-inline:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.engine-loading-ring{animation:none}.cap-card,.theme-switch button{transition:none!important}}

/* A visible route into the optional immersive experience. */
.gts .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;max-width:620px;pointer-events:auto}
.gts .hero-actions .primary{margin:0}
.gts .experience-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 22px;min-height:48px;border:1px solid currentColor;border-radius:99px;font-size:14px;line-height:1.25;color:var(--yellow);text-decoration:none;background:transparent;transition:background .2s,transform .2s}
.gts .experience-cta:hover{background:color-mix(in srgb,var(--yellow) 14%,transparent);transform:translateY(-2px)}
.gts .gts-header nav .experience-nav{color:var(--yellow);font-weight:600;white-space:nowrap}
:root[data-background="white"] .gts .experience-cta,:root[data-background="white"] .gts nav .experience-nav{color:#1765cf}
@media(min-width:901px) and (max-width:1350px){.gts .gts-header>nav{gap:17px}.gts .gts-header>nav .outline{padding:12px 15px;gap:14px}}
@media(max-width:600px){.gts .hero-actions{gap:10px}.gts .experience-cta{padding:13px 17px;font-size:13px;min-height:44px}}

/* The full-width controls row must not intercept clicks over the hero CTAs. */
.gts .hero-footer{pointer-events:none}
.gts .hero-footer .controls,.gts .hero-footer a,.gts .hero-footer button,.gts .hero-footer input{pointer-events:auto}
