/* FS-Portal Halloween 1.3.4 — rounded cards + premium single effects. */
.fsph-root { --fsph-orange:#f49a44; --fsph-orange-2:#ffbf73; --fsph-paper:#f6ead9; --fsph-night:#0d1016; --fsph-header-top:18px; --fsph-header-left:18px; --fsph-header-right:calc(100vw - 18px); --fsph-logo-left:26px; --fsph-logo-top:18px; --fsph-logo-width:240px; --fsph-logo-height:50px; font-family:inherit; }
.fsph-scene { display:none; position:fixed; inset:0; z-index:590; overflow:hidden; pointer-events:none; user-select:none; contain:layout style paint; }
html.fsph-is-on .fsph-scene { display:block; }
.fsph-scene[data-intensity="subtle"] { opacity:.72; }
.fsph-scene[data-intensity="standard"] { opacity:.92; }
.fsph-scene[data-intensity="expressive"] { opacity:1; }
.fsph-top-glow { position:absolute; inset:0 0 auto; height:170px; opacity:.55; background:radial-gradient(ellipse 58% 120% at 84% 0%, rgba(255,136,36,.48), transparent 78%), linear-gradient(180deg, rgba(198,84,25,.18), transparent 80%); }

.fsph-moon { position:absolute; top:70px; right:11%; width:106px; height:106px; border-radius:50%; background:radial-gradient(circle at 34% 34%, rgba(255,248,223,.98), rgba(255,224,169,.95) 36%, rgba(250,178,95,.32) 67%, rgba(255,196,113,0) 73%); box-shadow:0 0 34px rgba(255,196,114,.26), 0 0 110px rgba(255,141,49,.16); opacity:.94; }
.fsph-moon span { position:absolute; inset:16px; border-radius:50%; box-shadow:inset -16px -10px 0 0 rgba(255,234,189,.13); }
.fsph-web { position:absolute; top:0; width:190px; height:190px; fill:none; stroke:rgba(245,221,182,.44); stroke-width:1.25; stroke-linecap:round; opacity:.9; filter:drop-shadow(0 1px 3px rgba(0,0,0,.46)); }
.fsph-web--left { left:0; transform:translate(-12px,-12px); }
.fsph-web--right { right:0; transform:translate(12px,-12px) scaleX(-1); }
.fsph-bat { position:absolute; width:72px; height:34px; fill:rgba(16,12,21,.96); stroke:rgba(255,156,83,.62); stroke-width:2px; filter:drop-shadow(0 2px 3px rgba(245,151,72,.30)); opacity:.95; animation:fsph-fly 17s ease-in-out infinite alternate; }
.fsph-bat--one { left:11%; top:114px; animation-delay:-2s; }
.fsph-bat--two { left:32%; top:78px; width:54px; animation-delay:-7s; animation-duration:20s; }
.fsph-bat--three { left:68%; top:134px; width:44px; animation-delay:-12s; animation-duration:23s; }
.fsph-bat--four { left:80%; top:92px; width:34px; animation-delay:-5s; animation-duration:18s; }
@keyframes fsph-fly { 0% { transform:translate(0,1px) rotate(-4deg) scaleX(.94); } 35% { transform:translate(68px,-19px) rotate(5deg) scaleX(1.08); } 70% { transform:translate(114px,4px) rotate(-5deg) scaleX(.95); } 100% { transform:translate(180px,-24px) rotate(4deg) scaleX(1.04); } }
.fsph-ghost { position:absolute; height:88px; width:72px; overflow:visible; opacity:.34; filter:drop-shadow(0 0 20px rgba(237,226,213,.16)); }
.fsph-ghost path { fill:#ead8ce; }
.fsph-ghost ellipse { fill:#4c3443; }
.fsph-ghost--one { top:208px; right:8%; animation:fsph-ghost-float 6s ease-in-out infinite alternate; }
.fsph-ghost--two { top:260px; left:3%; transform:scale(.76); opacity:.24; animation:fsph-ghost-float 7.5s ease-in-out infinite alternate-reverse; }
@keyframes fsph-ghost-float { 0% { transform:translateY(4px) rotate(-3deg); } 100% { transform:translateY(-14px) rotate(3deg); } }
.fsph-pumpkin { position:absolute; width:96px; height:86px; opacity:.88; filter:drop-shadow(0 8px 22px rgba(221,96,23,.30)); }
.fsph-pumpkin .stem { fill:#6a8b33; stroke:#27361c; stroke-width:3; }
.fsph-pumpkin .shell { fill:#f08b2b; stroke:#b24b16; stroke-width:3; }
.fsph-pumpkin .rib { fill:none; stroke:#c35f1f; stroke-width:3; opacity:.74; }
.fsph-pumpkin .face { fill:#4b291a; }
.fsph-pumpkin--one { right:18px; bottom:22px; transform:rotate(-8deg); }
.fsph-pumpkin--two { left:26px; bottom:24px; width:74px; height:66px; transform:rotate(7deg); opacity:.80; }
.fsph-pumpkin--three { right:134px; bottom:14px; width:62px; height:56px; transform:rotate(10deg); opacity:.72; }
.fsph-spark { position:absolute; width:4px; height:4px; border-radius:50%; background:#ffc681; box-shadow:0 0 10px 4px rgba(237,139,54,.40); opacity:.62; animation:fsph-spark-float 7s ease-in-out infinite alternate; }
.fsph-spark--one { top:75px; right:17%; }
.fsph-spark--two { top:210px; right:5%; animation-delay:-3.3s; }
.fsph-spark--three { top:135px; left:7%; animation-delay:-5s; }
.fsph-spark--four { top:118px; left:55%; animation-delay:-2s; }
.fsph-spark--five { top:188px; left:80%; animation-delay:-4.3s; }
@keyframes fsph-spark-float { from { transform:translate(0,2px); opacity:.22; } to { transform:translate(8px,-26px); opacity:.68; } }
.fsph-switch { position:fixed; z-index:1200; left:max(14px, env(safe-area-inset-left, 0px)); bottom:max(16px, env(safe-area-inset-bottom, 0px)); min-width:170px; min-height:54px; display:inline-flex; align-items:center; gap:10px; padding:8px 12px; margin:0; appearance:none; cursor:pointer; border:1px solid rgba(240,156,86,.34); border-radius:15px; background:linear-gradient(145deg,rgba(36,30,30,.98),rgba(21,25,28,.98)); color:var(--fsph-paper); box-shadow:0 8px 25px rgba(0,0,0,.31), inset 0 1px 0 rgba(255,255,255,.055); text-decoration:none; line-height:1.2; text-align:left; font-family:inherit; transition:border-color .18s, background .18s, transform .18s; -webkit-tap-highlight-color:transparent; }
.fsph-switch:hover { transform:translateY(-2px); border-color:rgba(255,173,93,.56); background:linear-gradient(145deg,rgba(45,34,30,.99),rgba(24,28,30,.99)); }
.fsph-switch:focus-visible { outline:3px solid #f7a45b; outline-offset:3px; }
.fsph-switch-icon { display:grid; place-items:center; width:29px; height:29px; flex:0 0 29px; font-size:23px; line-height:1; }
.fsph-switch-copy { display:flex; flex-direction:column; align-items:flex-start; gap:3px; flex:1; }
.fsph-switch-copy strong { color:#ffe8cb; font-size:12px; letter-spacing:.01em; font-weight:800; }
.fsph-switch-copy small { color:#f4a85d; font-size:10px; letter-spacing:.02em; }
.fsph-switch-track { position:relative; flex:0 0 28px; width:28px; height:16px; border-radius:99px; border:1px solid rgba(235,148,70,.35); background:#965521; }
.fsph-switch-track span { position:absolute; display:block; width:10px; height:10px; top:2px; left:14px; border-radius:50%; background:#ffe9c9; box-shadow:0 0 8px rgba(255,193,110,.55); transition:left .2s; }
html:not(.fsph-is-on) .fsph-switch { border-color:rgba(178,187,196,.22); background:linear-gradient(145deg,rgba(31,34,37,.97),rgba(23,25,28,.97)); }
html:not(.fsph-is-on) .fsph-switch-copy small { color:#aeb9c4; }
html:not(.fsph-is-on) .fsph-switch-track { border-color:rgba(184,194,199,.22); background:#4b5359; }
html:not(.fsph-is-on) .fsph-switch-track span { left:2px; background:#d1d6d9; box-shadow:none; }
.fsph-sr { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media (max-width: 920px) {
  .fsph-moon { width:86px; height:86px; right:7%; top:58px; }
  .fsph-pumpkin--three { display:none; }
}
@media (max-width: 740px) {
  .fsph-web { width:110px; height:110px; }
  .fsph-web--left { display:none; }
  .fsph-bat--three,.fsph-bat--four,.fsph-ghost--two,.fsph-pumpkin--three,.fsph-pumpkin--two { display:none; }
  .fsph-bat--one { top:72px; left:14%; width:58px; }
  .fsph-bat--two { top:118px; left:62%; width:46px; }
  .fsph-ghost--one { top:174px; right:4%; width:58px; height:70px; }
  .fsph-pumpkin--one { right:14px; bottom:18px; width:70px; height:64px; }
  .fsph-moon { width:74px; height:74px; top:44px; right:10%; opacity:.82; }
  .fsph-switch { left:max(10px, env(safe-area-inset-left, 0px)); bottom:max(10px, env(safe-area-inset-bottom, 0px)); min-height:45px; min-width:144px; gap:8px; padding:6px 9px; border-radius:12px; }
  .fsph-switch-icon { width:24px; flex-basis:24px; height:24px; font-size:20px; }
}

@media (prefers-reduced-motion: reduce) {
  .fsph-bat,.fsph-ghost,.fsph-spark,.fsph-witch { animation:none!important; }
  .fsph-switch,.fsph-switch-track span { transition:none!important; }
  .fsph-switch:hover { transform:none; }
}

/* R17: overlays are independent of the Modern theme. No image replacement. */
.fsph-root .fsph-header-accents { position:fixed;inset:0;z-index:4900;pointer-events:none;user-select:none;display:none; }
html.fsph-is-on .fsph-root .fsph-header-accents { display:block; }
.fsph-root .fsph-header-pumpkin { position:absolute;left:var(--fsph-logo-anchor-x,18px);top:var(--fsph-logo-anchor-y,46px);width:53px;height:50px;object-fit:contain;filter:drop-shadow(0 4px 9px rgba(255,119,20,.46));animation:fsph-pumpkin-pulse 5s ease-in-out infinite alternate; }
.fsph-root .fsph-header-witch-wrap { transition:opacity .2s ease;position:absolute;left:var(--fsph-witch-anchor-x,calc(100vw - 320px));top:var(--fsph-witch-anchor-y,45px);width:260px;height:138px;transform-origin:50% 70%;animation:fsph-witch-bob 7s ease-in-out infinite alternate; }
.fsph-root .fsph-header-witch { position:relative;width:100%;height:auto;object-fit:contain;z-index:2;filter:drop-shadow(0 4px 11px rgba(0,0,0,.8)) drop-shadow(0 0 7px rgba(255,143,39,.4)); }
.fsph-root .fsph-header-moon { position:absolute;top:4px;left:54%;width:88px;height:88px;display:block;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff2ba,#ffcd6e 40%,#f6a03b 63%,transparent 70%);opacity:.8;box-shadow:0 0 30px rgba(250,135,24,.55); }
.fsph-root .fsph-witch-trail { position:absolute;z-index:1;width:125px;height:4px;border-radius:50%;left:-12px;bottom:35px;background:linear-gradient(90deg,transparent,rgba(255,146,51,.25),rgba(255,192,80,.85));box-shadow:0 0 15px rgba(255,148,35,.42);transform:rotate(-8deg); }
@keyframes fsph-witch-bob {0%{transform:translate(0,3px) rotate(-1deg)}100%{transform:translate(22px,-9px) rotate(1deg)}}
@keyframes fsph-pumpkin-pulse {from{filter:drop-shadow(0 4px 8px rgba(250,111,17,.42))}to{filter:drop-shadow(0 4px 14px rgba(255,163,57,.85))}}
/* Christmas-style garlands deliberately avoided: Halloween stays integrated in the existing dark UI. */
/* R20 — card decoration must be applied to the REAL rounded link surface,
   never to its square article wrapper. Original Modern radii stay untouched. */
html.fsph-is-on body .fsph-card-surface {
  position: relative !important;
  isolation: isolate;
  box-shadow:
    0 0 0 1px rgba(255,148,48,.27),
    0 0 25px rgba(239,103,23,.19) !important;
  transition: box-shadow .22s ease, filter .22s ease;
}
html.fsph-is-on body .fsph-card-surface:hover,
html.fsph-is-on body .fsph-card-surface:focus-within {
  box-shadow:
    0 0 0 1px rgba(255,173,66,.56),
    0 0 35px rgba(255,116,25,.32) !important;
}
/* This dedicated layer does not overwrite the media, text or shade pseudo-elements. */
html.fsph-is-on body .fsph-card-surface > .fsph-card-atmosphere {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  border-radius: inherit !important;
  overflow: hidden !important;
  background:
    radial-gradient(80% 55% at 2% 0%,rgba(255,133,30,.20),transparent 64%),
    radial-gradient(75% 75% at 100% 100%,rgba(131,58,185,.09),transparent 70%);
  box-shadow:
    inset 0 0 0 1px rgba(255,150,48,.22),
    inset 0 0 26px rgba(244,105,27,.10);
  opacity: 1;
  pointer-events: none !important;
  transition: background .24s ease, box-shadow .24s ease;
}
html.fsph-is-on body .fsph-card-surface:hover > .fsph-card-atmosphere {
  background:
    radial-gradient(85% 62% at 2% 0%,rgba(255,142,36,.28),transparent 66%),
    radial-gradient(70% 76% at 100% 100%,rgba(144,67,191,.14),transparent 70%);
  box-shadow:
    inset 0 0 0 1px rgba(255,164,58,.40),
    inset 0 0 38px rgba(250,115,23,.18);
}
/* Pumpkin is an in-card decoration, not a square badge stuck onto the wrapper. */
html.fsph-is-on body .fsph-card-surface > .fsph-card-charm {
  display: grid !important;
  place-items: center;
  position: absolute !important;
  left: 11px !important;
  right: auto !important;
  top: 11px !important;
  width: 30px !important;
  height: 30px !important;
  padding: 2px;
  z-index: 12 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: radial-gradient(circle,rgba(34,24,18,.72),rgba(34,24,18,.24) 65%,transparent 76%);
  box-shadow: 0 0 16px rgba(251,123,30,.18);
  transform: rotate(-8deg);
  pointer-events: none !important;
  transition: transform .22s ease,filter .22s ease;
}
html.fsph-is-on body .fsph-card-surface.fsph-card-has-status > .fsph-card-charm {
  top: 47px !important;
}
html.fsph-is-on body .fsph-card-surface > .fsph-card-charm > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 8px rgba(255,145,28,.50));
}
html.fsph-is-on body .fsph-card-surface:hover > .fsph-card-charm {
  transform: rotate(3deg) scale(1.12);
  filter: brightness(1.13);
}
html:not(.fsph-is-on) body .fsph-card-atmosphere,
html:not(.fsph-is-on) body .fsph-card-charm {display:none!important;}
/* On real Modern layouts the card image has a rounded link, not the outer article. */
html.fsph-is-on body .fsp-home-stage1-card-v1352.fsph-card-decorated,
html.fsph-is-on body .fsp-home-game-mod-v1355.fsph-card-decorated {box-shadow:none!important;outline:none!important;}
/* Single: no square gradient panel, hard border, horizontal seam or rectangular mask. */
html.fsph-is-on body.fsp-mod-detail .fpd-heading {
  position: relative;
  border-image: none;
  background: transparent !important;
}
html.fsph-is-on body.fsp-mod-detail .fpd-heading::before,
html.fsph-is-on body.fsp-mod-detail .fpd-heading::after {
  content: none !important;
}
html.fsph-is-on body.fsp-mod-detail .fpd-stage {
  outline: none !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.19),0 0 42px rgba(237,107,23,.17) !important;
}
html.fsph-is-on body.fsp-mod-detail .fsph-single-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: max-content;
  max-width: 100%;
  margin: 7px 0 6px;
  padding: 6px 10px;
  border: 1px solid rgba(237,129,44,.19);
  border-radius: 999px;
  background: linear-gradient(90deg,rgba(117,55,18,.58),rgba(55,36,29,.42));
  color: #ffd3a0;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .045em;
}
html:not(.fsph-is-on) body .fsph-single-badge {display:none!important;}
html.fsph-is-on body.fsp-mod-detail .fpd-section-title {text-shadow:0 0 13px rgba(235,124,25,.10);}
/* Always keep page contents clickable and ads untouched. */
.fsph-root .fsph-scene,.fsph-root .fsph-header-accents,.fsph-card-charm {pointer-events:none!important;}
@media(max-width:920px){.fsph-root .fsph-header-witch-wrap{width:188px;height:102px;}.fsph-root .fsph-header-moon{width:64px;height:64px;}.fsph-root .fsph-header-pumpkin{width:42px;height:40px;}}
@media(max-width:680px){.fsph-root .fsph-header-witch-wrap{width:95px;height:54px;opacity:.68;}.fsph-root .fsph-header-moon{width:40px;height:40px;}.fsph-root .fsph-header-pumpkin{width:31px;height:30px;}}
@media(prefers-reduced-motion:reduce){.fsph-root .fsph-header-witch-wrap,.fsph-root .fsph-header-pumpkin{animation:none!important}.fsph-root .fsph-card-charm{transition:none!important}}


@media(max-width:520px){
  html.fsph-is-on body .fsph-card-surface > .fsph-card-charm {width:25px!important;height:25px!important;top:8px!important;left:8px!important;}
  html.fsph-is-on body .fsph-card-surface.fsph-card-has-status > .fsph-card-charm {top:43px!important;}
}
@media(prefers-reduced-motion:reduce){
  html.fsph-is-on body .fsph-card-surface,
  html.fsph-is-on body .fsph-card-atmosphere,
  html.fsph-is-on body .fsph-card-charm {transition:none!important;}
}


/* R21 — premium animated effects for single mod view */
html.fsph-is-on body.fsp-mod-detail {
  --fsph-single-orange: rgba(245,129,33,.20);
  --fsph-single-orange-strong: rgba(250,148,53,.34);
  --fsph-single-violet: rgba(120,78,218,.12);
  --fsph-single-glow: 0 0 0 1px rgba(244,132,46,.18), 0 18px 42px rgba(0,0,0,.18), 0 0 48px rgba(228,99,17,.10);
}
html.fsph-is-on body.fsp-mod-detail .fpd-heading {
  position: relative;
  isolation: isolate;
}
html.fsph-is-on body.fsp-mod-detail .fpd-heading::before {
  content: "";
  position: absolute;
  inset: -18px -12px auto -12px;
  height: 180px;
  pointer-events: none;
  border-radius: 30px;
  background:
    radial-gradient(55% 80% at 16% 18%, rgba(255,139,42,.16), transparent 70%),
    radial-gradient(48% 80% at 82% 24%, rgba(138,88,255,.08), transparent 72%),
    linear-gradient(90deg, rgba(255,121,24,.04), rgba(255,121,24,0));
  filter: blur(16px);
  opacity: .95;
  z-index: -1;
  animation: fsphSingleHeadingGlow 8s ease-in-out infinite alternate;
}
html.fsph-is-on body.fsp-mod-detail .fpd-heading-copy {
  position: relative;
}
html.fsph-is-on body.fsp-mod-detail .fpd-heading-copy::after {
  content: "";
  position: absolute;
  left: -6px;
  bottom: -12px;
  width: 168px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,149,58,.92), rgba(255,149,58,0));
  box-shadow: 0 0 12px rgba(255,151,57,.28);
  opacity: .95;
}
html.fsph-is-on body.fsp-mod-detail .fpd-stage {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: var(--fsph-single-glow) !important;
}
html.fsph-is-on body.fsp-mod-detail .fpd-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(80% 90% at 0% 0%, rgba(255,131,31,.16), transparent 48%),
    radial-gradient(60% 70% at 100% 0%, rgba(125,89,242,.10), transparent 46%),
    linear-gradient(180deg, rgba(20,18,25,.03), rgba(20,18,25,.10));
  opacity: .92;
  z-index: 0;
}
html.fsph-is-on body.fsp-mod-detail .fpd-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(249,144,54,.18), inset 0 -90px 110px rgba(8,10,16,.18);
  z-index: 1;
}
html.fsph-is-on body.fsp-mod-detail .fpd-stage > * { position: relative; z-index: 2; }
html.fsph-is-on body.fsp-mod-detail .fsph-single-sparks {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: inherit;
  z-index: 1;
}
html.fsph-is-on body.fsp-mod-detail .fsph-single-sparks span {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255,207,138,.95);
  box-shadow: 0 0 10px rgba(255,187,102,.65), 0 0 22px rgba(255,130,31,.22);
  opacity: .0;
  animation: fsphSingleSpark 7.5s ease-in-out infinite;
}
html.fsph-is-on body.fsp-mod-detail .fsph-single-sparks span:nth-child(1){ left:8%; top:78%; animation-delay:-.4s; }
html.fsph-is-on body.fsp-mod-detail .fsph-single-sparks span:nth-child(2){ left:18%; top:60%; animation-delay:-2.1s; }
html.fsph-is-on body.fsp-mod-detail .fsph-single-sparks span:nth-child(3){ left:76%; top:72%; animation-delay:-4.0s; }
html.fsph-is-on body.fsp-mod-detail .fsph-single-sparks span:nth-child(4){ left:66%; top:45%; animation-delay:-1.7s; }
html.fsph-is-on body.fsp-mod-detail .fsph-single-sparks span:nth-child(5){ left:52%; top:82%; animation-delay:-5.2s; }
html.fsph-is-on body.fsp-mod-detail .fsph-single-sparks span:nth-child(6){ left:88%; top:64%; animation-delay:-3.4s; }
html.fsph-is-on body.fsp-mod-detail .fpd-stage img,
html.fsph-is-on body.fsp-mod-detail .fpd-stage video {
  transition: transform .45s ease, filter .45s ease;
}
html.fsph-is-on body.fsp-mod-detail .fpd-stage:hover img,
html.fsph-is-on body.fsp-mod-detail .fpd-stage:hover video {
  transform: scale(1.015);
  filter: saturate(1.03) contrast(1.02);
}
html.fsph-is-on body.fsp-mod-detail .fpd-heading :is(a,button,.button,.btn),
html.fsph-is-on body.fsp-mod-detail .fpd-stage :is(a,button,.button,.btn),
html.fsph-is-on body.fsp-mod-detail .fpd-sidebar :is(a,button,.button,.btn) {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
html.fsph-is-on body.fsp-mod-detail .fpd-heading :is(a,button,.button,.btn):hover,
html.fsph-is-on body.fsp-mod-detail .fpd-stage :is(a,button,.button,.btn):hover,
html.fsph-is-on body.fsp-mod-detail .fpd-sidebar :is(a,button,.button,.btn):hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0,0,0,.16), 0 0 18px rgba(244,129,33,.12);
}
html.fsph-is-on body.fsp-mod-detail .fpd-sidebar > *,
html.fsph-is-on body.fsp-mod-detail .fpd-main > * {
  transition: box-shadow .22s ease, border-color .22s ease;
}
html.fsph-is-on body.fsp-mod-detail .fpd-sidebar > *:hover,
html.fsph-is-on body.fsp-mod-detail .fpd-main > *:hover {
  box-shadow: 0 0 0 1px rgba(246,137,47,.12), 0 8px 26px rgba(0,0,0,.10);
}
@keyframes fsphSingleHeadingGlow {
  0% { transform: translateY(0); opacity:.82; }
  100% { transform: translateY(-4px); opacity:1; }
}
@keyframes fsphSingleSpark {
  0% { transform: translate3d(0,0,0) scale(.5); opacity:0; }
  12% { opacity:.55; }
  45% { opacity:.86; }
  100% { transform: translate3d(18px,-72px,0) scale(1); opacity:0; }
}
@media (max-width: 920px) {
  html.fsph-is-on body.fsp-mod-detail .fpd-heading-copy::after { width: 128px; }
  html.fsph-is-on body.fsp-mod-detail .fpd-heading::before { inset: -12px -8px auto -8px; height: 140px; }
}
@media (max-width: 640px) {
  html.fsph-is-on body.fsp-mod-detail .fpd-stage { border-radius: 18px; }
  html.fsph-is-on body.fsp-mod-detail .fpd-heading-copy::after { width: 96px; }
  html.fsph-is-on body.fsp-mod-detail .fsph-single-sparks span { width: 4px; height: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  html.fsph-is-on body.fsp-mod-detail .fpd-heading::before,
  html.fsph-is-on body.fsp-mod-detail .fsph-single-sparks span { animation: none !important; }
  html.fsph-is-on body.fsp-mod-detail .fpd-stage img,
  html.fsph-is-on body.fsp-mod-detail .fpd-stage video,
  html.fsph-is-on body.fsp-mod-detail .fpd-heading :is(a,button,.button,.btn),
  html.fsph-is-on body.fsp-mod-detail .fpd-stage :is(a,button,.button,.btn),
  html.fsph-is-on body.fsp-mod-detail .fpd-sidebar :is(a,button,.button,.btn) { transition: none !important; }
}
