
/* SpellBinders / Awaken: site-wide unobtrusive ambient motion, no stray line assets. */
.sb-public-polish .sb-awaken-line {display:none!important;}
.sb-public-polish .sb-awaken-particles {display:none!important;}
.sb-public-polish .sb-awaken-hero .hero-inner {
  min-height:clamp(480px,50vw,615px) !important;
}
.sb-public-polish .sb-awaken-hero .hero-copy {
  padding-block:clamp(42px,4.5vw,64px) !important;
  opacity:1 !important;visibility:visible !important;transform:none !important;animation:none !important;
}
.sb-public-polish .sb-awaken-hero .hero-art {
  opacity:1; transform:none !important;animation:none !important;
}
/* All page copy must be visible on first paint; avoid compositor-only blank frames. */
.sb-public-polish main, .sb-public-polish .hero-inner, .sb-public-polish .hero-copy,
.sb-public-polish .hero h1 {visibility:visible !important;}
.sb-public-polish .sb-awaken-hero .hero-inner {content-visibility:visible;}
/* Keep a light static glow on mobile and for users who opt out of motion. */
.sb-ambient-atmosphere {
  position:fixed;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:4;
  opacity:.24;
  mix-blend-mode:screen;
  background:radial-gradient(circle at 18% 28%,rgba(207,165,88,.085),transparent 24%),
             radial-gradient(circle at 82% 72%,rgba(197,158,78,.075),transparent 28%);
}
.sb-ambient-video {
  width:100%;height:100%;display:block;object-fit:cover;
  opacity:.56;
  pointer-events:none;
}
.sb-ambient-pause-input {
  position:fixed;right:16px;bottom:16px;width:1px;height:1px;
  opacity:0;z-index:16;margin:0;
}
.sb-ambient-pause-label {
  position:fixed;bottom:13px;right:13px;z-index:16;display:flex;align-items:center;gap:8px;
  min-height:32px;padding:7px 10px;border:1px solid rgba(199,158,78,.42);
  border-radius:9px;background:rgba(28,14,36,.88);color:#e9d8b2;
  font:600 11px/1.25 system-ui,sans-serif;cursor:pointer;
  box-shadow:0 3px 15px rgba(0,0,0,.2);
}
.sb-ambient-pause-label:hover {border-color:#dfb967;background:#2c1933;}
.sb-ambient-pause-label:focus-within,
.sb-ambient-pause-input:focus-visible + .sb-ambient-pause-label {
  outline:3px solid #f3d38a;outline-offset:3px;
}
.sb-ambient-pause-icon,.sb-ambient-resume-icon {font-size:13px;}
.sb-ambient-resume-icon,.sb-ambient-resume-text{display:none;}
.sb-public-polish:has(#sb-ambient-pause:checked) .sb-ambient-atmosphere {opacity:0;}
.sb-public-polish:has(#sb-ambient-pause:checked) .sb-ambient-pause-icon,
.sb-public-polish:has(#sb-ambient-pause:checked) .sb-ambient-pause-text{display:none;}
.sb-public-polish:has(#sb-ambient-pause:checked) .sb-ambient-resume-icon,
.sb-public-polish:has(#sb-ambient-pause:checked) .sb-ambient-resume-text{display:inline;}
/* All non-decorative links/buttons remain clickable; this is paint-only. */
.sb-public-polish .site-header {z-index:10;}
@media(max-width:900px){
 .sb-public-polish .sb-awaken-hero .hero-inner{min-height:auto!important;}
 .sb-public-polish .sb-awaken-hero .hero-copy{padding-block:clamp(42px,8vw,70px)!important;}
}
@media(max-width:640px),(prefers-reduced-motion:reduce) {
 .sb-ambient-video {display:none!important;}
 .sb-ambient-atmosphere{opacity:.28;mix-blend-mode:screen;}
 .sb-ambient-pause-input,.sb-ambient-pause-label{display:none!important;}
}
@media(prefers-reduced-motion:reduce){
 .sb-public-polish,.sb-public-polish *,.sb-public-polish *::before,
 .sb-public-polish *::after{animation:none!important;transition:none!important;}
}

/* Avoid transient blank cross-page frames in some browser renderers. */
@view-transition {navigation:none;}
::view-transition-old(root),::view-transition-new(root){animation:none!important;}


/* Resilient accessibility: the underlying HTML hides its optional motion UI
   until this stylesheet is present. No 720px blank film or raw checkbox. */
.sb-public-polish .sb-ambient-atmosphere {display:block!important;position:fixed!important;inset:0!important;pointer-events:none!important;}
.sb-public-polish .sb-ambient-pause-input,
.sb-public-polish .sb-ambient-pause-label {display:none!important;}
@media (min-width:641px) and (prefers-reduced-motion:no-preference) {
  .sb-public-polish .sb-ambient-pause-input {display:block!important;}
  .sb-public-polish .sb-ambient-pause-label {display:flex!important;}
}
/* Hall of Fame adds a sixth mobile page; Portal already has a header CTA.
   Three balanced columns, two rows: all links remain visible and tappable. */
@media (max-width:640px) {
  .sb-public-polish .stage-mobile-nav {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:minmax(44px,auto);
    padding:3px 8px 5px!important;
    gap:1px 3px!important;
  }
  .sb-public-polish .stage-mobile-nav a {
    font-size:clamp(11px,3vw,13px)!important;
    line-height:1.3;
    display:flex;
    align-items:center;
    justify-content:center;
    white-space:normal!important;
    text-align:center;
    overflow-wrap:normal;
    min-height:44px;
    padding:8px 4px!important;
  }
  .sb-public-polish .hero-inner {min-height:auto!important;}
  /* On narrow phones the oversized secondary hero crest clashes with copy.
     Official SpellBinders crest remains visible in the header. */
  .sb-public-polish .sb-awaken-hero .hero-art {display:none!important;}
  .sb-public-polish .sb-awaken-hero .hero-copy {
    width:100%!important;
    max-width:100%;
    padding-top:clamp(34px,7vw,52px)!important;
    padding-bottom:clamp(32px,6vw,45px)!important;
  }
  .sb-public-polish .sb-awaken-hero .hero-actions {position:relative;z-index:5;}
}
@media (prefers-reduced-motion:reduce) {
  .sb-public-polish .sb-ambient-video {display:none!important;}
  .sb-public-polish .sb-ambient-pause-input,
  .sb-public-polish .sb-ambient-pause-label{display:none!important;}
}
@media (max-width:640px) {
  .sb-public-polish .sb-ambient-video {display:none!important;}
}
/* Keep the Hall of Fame typography, sourced writing, and official imagery. */
