/* ==== 00-base.css ==== */
/* ==========================================================================
   Maceful Halloween 2026, module 00: base
   fonts, tokens, page surfaces, typography, selection, focus, scrollbar,
   motion level and reduced motion rules, shared keyframes.
   Scoping: structure under body.hw-on, restyle under body.hw-theme,
   animation under body.hw-fx, calm reductions under body.hw-calm.
   ========================================================================== */

/* ---- fonts ---------------------------------------------------------------- */
@font-face{font-family:'Panton Caps';font-style:normal;font-weight:900;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLBT5Z1xlFQ.woff2) format('woff2')}

/* ---- tokens --------------------------------------------------------------- */
body.hw-on,body.hw-theme{
  --hw-red:#e31616;
  --hw-ember:#ff7a1a;
  --hw-ember-deep:#ff4d00;
  --hw-ember-light:#ff8a2a;
  --hw-glow:#ffb257;
  --hw-moon:#ffd97e;
  --hw-violet:#8c00ff;
  --hw-night:#17141c;
  --hw-card:#28252e;
  --hw-card-light:#3e3a46;
  --hw-plum:#1d0f36;
  --hw-footer:#120d1a;
  --hw-crimson:#3f0e0e;
  --hw-crimson-hover:#57020a;
  --hw-crimson-text:#ff8f88;
  --hw-crimson-bright:#ffcfca;
  --hw-bar-h:40px;
  --hw-font-display:'Panton Caps','Poppins',sans-serif}
@media (max-width:767px){body.hw-on,body.hw-theme{--hw-bar-h:36px}}

/* ---- page surfaces: midnight plum and a faint violet dome (spec 5.1) ------
   No vignette layer: the body background propagates to the canvas and is sized
   against the whole document, so a percentage ellipse cannot act as a viewport
   vignette, and background-attachment:fixed is ruled out on mobile. */
body.hw-theme{--background-color:#17141c;--content-color:#28252e;--content-light-color:#3e3a46;
  background:radial-gradient(1100px 520px at 50% -140px,rgba(140,0,255,.10),transparent 70%) var(--background-color)}

/* ---- typography: Panton Caps on exactly three template headings ----------- */
body.hw-theme .store-menu-toggle h2,
body.hw-theme.view--index .inner-content > .content-header + .bg-content h1.text-4xl,
body.hw-theme .fixed.inset-0.z-50 h2.text-3xl{font-family:'Panton Caps','Poppins',sans-serif;font-weight:900;letter-spacing:.02em;
  text-transform:uppercase;text-shadow:0 2px 0 rgba(0,0,0,.28),0 10px 24px rgba(0,0,0,.45)}
body.hw-theme.view--index .inner-content > .content-header + .bg-content h1.text-4xl{font-size:2.6rem;line-height:1.05}
body.hw-theme .store-menu-toggle h2{font-size:1.9rem}
body.hw-theme .fixed.inset-0.z-50 h2.text-3xl{font-size:1.75rem}

/* kickers: italic and letter spaced (the Lunar card move) */
body.hw-theme .inner-content p.text-sm.uppercase.font-bold.text-primary,
body.hw-theme .inner-content p.text-xs.uppercase.font-bold.text-muted,
body.hw-theme .sidebar p.text-xs.uppercase.font-bold.text-muted,
body.hw-theme .category-meta p.text-sm.text-muted.font-bold,
body.hw-theme .user-block p.text-sm.text-muted.font-bold{font-style:italic;letter-spacing:.18em}
body.hw-theme .inner-content p.text-sm.uppercase.font-bold.text-primary{color:#ffb257}
/* phones: tighter tracking so the welcome kicker stays on one line in the 262px card box */
@media (max-width:767px){body.hw-theme .inner-content p.text-sm.uppercase.font-bold.text-primary{letter-spacing:.1em}}

/* ---- selection ------------------------------------------------------------ */
body.hw-theme ::selection{background:#ff7a1a;color:#14100a}
body.hw-theme ::-moz-selection{background:#ff7a1a;color:#14100a}

/* ---- focus rings: pumpkin glow on links and buttons only (inputs untouched) */
body.hw-theme a:focus-visible,body.hw-theme button:focus-visible{outline:2px solid #ffb257;outline-offset:2px}

/* ---- scrollbar ------------------------------------------------------------ */
html:has(body.hw-theme){scrollbar-color:#4a4258 #141019;scrollbar-width:thin}
html:has(body.hw-theme)::-webkit-scrollbar{width:11px}
html:has(body.hw-theme)::-webkit-scrollbar-track{background:#141019}
html:has(body.hw-theme)::-webkit-scrollbar-thumb{background:#4a4258;border-radius:999px;border:3px solid #141019}
html:has(body.hw-theme)::-webkit-scrollbar-thumb:hover{background:#ff7a1a}

/* ---- motion levels, pauses, reduced motion -------------------------------- */
/* Calm reductions (spec 3.3) live next to the animation they cancel, after it, so they win at equal
   specificity: sky in 30-fx.css, banner in 10-banner.css. Base keeps the generic pause and reduced motion rules;
   each animated band (sky, banner, footer strip) also carries a (0,3,1) pause line of its own, because the
   animation shorthand in its rules resets play state and beats the generic line below. */
body.hw-on .hw-paused,body.hw-on .hw-paused *,body.hw-paused *{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){
  body.hw-on *,body.hw-on *::before,body.hw-on *::after{animation:none!important;transition-duration:.01ms!important}
  body.hw-on .hwf-lane,body.hw-on .hwb-embers{display:none}
}

/* ---- shared keyframes (declared once, used by every module) --------------- */
@keyframes hw-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes hw-twinkle{0%,100%{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
@keyframes hw-twinkle-soft{0%,100%{opacity:.35}50%{opacity:.8}}
@keyframes hw-nebula{0%,100%{opacity:.45;transform:scale(1)}50%{opacity:.8;transform:scale(1.08)}}
@keyframes hw-glow{0%,100%{text-shadow:0 3px 0 rgba(60,15,0,.55),0 0 12px rgba(255,150,50,.85),0 0 32px rgba(255,110,0,.6),0 0 70px rgba(255,80,0,.4)}
  50%{text-shadow:0 3px 0 rgba(60,15,0,.55),0 0 18px rgba(255,170,70,1),0 0 44px rgba(255,120,0,.8),0 0 90px rgba(255,90,0,.55)}}
@keyframes hw-flap{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(4deg)}}
@keyframes hw-ember{0%{transform:translate3d(0,0,0) scale(1);opacity:0}12%{opacity:.9}60%{opacity:.6}100%{transform:translate3d(14px,-150px,0) scale(.4);opacity:0}}
@keyframes hw-candle{0%{opacity:.75}8%{opacity:.95}20%{opacity:.7}35%{opacity:1}50%{opacity:.8}65%{opacity:.92}80%{opacity:.72}92%{opacity:.98}100%{opacity:.75}}
@keyframes hw-drift{0%{transform:translateX(0) rotate(-3deg)}50%{transform:translateX(58vw) rotate(3deg)}100%{transform:translateX(116vw) rotate(-3deg)}}
@keyframes hw-blink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(.08)}}
@keyframes hw-flicker{0%,100%{opacity:1}35%{opacity:.7}50%{opacity:1}72%{opacity:.8}}
/* banner title pulse (opacity only, on .hwb-title::after); replaces hw-glow, which animated text-shadow and is kept only
   because the build plan lists it */
@keyframes hw-glow-fade{0%,100%{opacity:0}50%{opacity:1}}
/* ==== 10-banner.css ==== */
/* ===== Halloween sale banner v2 (section 4) =====
   Structure under body.hw-on, animation under body.hw-fx, calm reductions under body.hw-calm.
   Keyframes hw-twinkle, hw-flap, hw-ember, hw-candle and hw-glow-fade (title pulse) live in 00-base.css. */

/* 4.3 card */
body.hw-on .hwb-banner{position:relative;overflow:hidden;isolation:isolate;box-sizing:border-box;border-radius:.75rem;min-height:250px;
  display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem 2.75rem;color:#fff;
  background:
    radial-gradient(900px 260px at 50% 120%,rgba(255,106,0,.24),transparent 62%),
    radial-gradient(560px 260px at 88% 0%,rgba(140,0,255,.36),transparent 66%),
    linear-gradient(135deg,#1d0f36 0%,#17121f 46%,#0f0e14 100%);
  box-shadow:0 25px 50px -12px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,140,40,.16)}
body.hw-on .hwb-defs{position:absolute;width:0;height:0;overflow:hidden}
body.hw-on .hwb-sky,body.hw-on .hwb-fog,body.hw-on .hwb-pk,body.hw-on .hwb-embers{position:absolute;pointer-events:none}

/* sky: one moon, five stars, three bats */
body.hw-on .hwb-sky{inset:0}
body.hw-on .hwb-moon{position:absolute;top:18px;right:11%;width:72px;height:72px;border-radius:50%;
  background:radial-gradient(circle at 40% 38%,#fff8d8,#ffd97e 68%,#f0b03c);
  box-shadow:0 0 28px 8px rgba(255,214,122,.32),0 0 90px 26px rgba(255,190,80,.16)}
body.hw-on .hwb-star{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;opacity:.7;box-shadow:0 0 6px 1px rgba(255,255,255,.55)}
body.hw-on .hwb-star-a{top:22%;left:30%}
body.hw-on .hwb-star-b{top:34%;left:36%}
body.hw-on .hwb-star-c{top:16%;right:32%}
body.hw-on .hwb-star-d{top:46%;right:24%}
body.hw-on .hwb-star-e{top:12%;left:44%}
body.hw-fx .hwb-star{animation:hw-twinkle 2.8s ease-in-out infinite}
body.hw-fx .hwb-star-b{animation-delay:.9s}
body.hw-fx .hwb-star-c{animation-delay:1.6s}
body.hw-fx .hwb-star-d{animation-delay:.4s}
body.hw-fx .hwb-star-e{animation-delay:2s}
body.hw-on .hwb-bat{position:absolute;display:block;fill:#1a1030;filter:drop-shadow(0 0 2px rgba(200,140,255,.45)) drop-shadow(0 5px 6px rgba(0,0,0,.6))}
body.hw-on .hwb-bat-a{top:14%;left:30%;width:46px;height:23px}
body.hw-on .hwb-bat-b{top:33%;left:36%;width:30px;height:15px}
body.hw-on .hwb-bat-c{top:10%;right:27%;width:40px;height:20px}
body.hw-fx .hwb-bat{animation:hw-flap 4.5s ease-in-out infinite}
body.hw-fx .hwb-bat-b{animation-delay:1.2s}
body.hw-fx .hwb-bat-c{animation-delay:2.1s}

/* fog band */
body.hw-on .hwb-fog{left:0;right:0;bottom:0;height:48%;background:linear-gradient(0deg,rgba(140,0,255,.22),rgba(140,0,255,0))}

/* pumpkin groups: static pumpkins, breathing candle glow behind each pair */
/* the drop shadow sits on each static pumpkin, not on the group: a filter on the group would be recomputed every
   frame the glow inside it animates. isolation keeps the glow's z-index:-1 inside its group (behind the pumpkins,
   above the fog). */
body.hw-on .hwb-pk{bottom:-12px;display:flex;align-items:flex-end;gap:.25rem;isolation:isolate}
body.hw-on .hwb-pk-left{left:1.2%}
body.hw-on .hwb-pk-right{right:1.2%}
body.hw-on .hwb-glow{position:absolute;left:50%;bottom:0;width:120%;height:70%;transform:translateX(-50%);border-radius:50%;z-index:-1;
  background:radial-gradient(closest-side,rgba(255,150,40,.5),rgba(255,120,20,.18) 60%,rgba(255,120,20,0));opacity:.8}
body.hw-fx .hwb-glow{animation:hw-candle 2.6s linear infinite}
body.hw-fx .hwb-pk-right .hwb-glow{animation-delay:1.1s}
body.hw-on .hwb-pumpkin{display:block;flex:none;filter:drop-shadow(0 12px 18px rgba(0,0,0,.55))}
body.hw-on .hwb-pumpkin-big{width:210px;height:196px}
body.hw-on .hwb-pumpkin-small{width:132px;height:123px;margin-bottom:4px}
body.hw-on .hwb-pk-left .hwb-pumpkin-small{transform:rotate(6deg)}
body.hw-on .hwb-pk-right .hwb-pumpkin-small{transform:rotate(-6deg)}

/* embers: six sparks rising from the bottom 8%, never reaching the badge row */
body.hw-on .hwb-embers{inset:auto 0 0 0;height:100%}
body.hw-on .hwb-embers i{position:absolute;bottom:8%;width:3px;height:3px;border-radius:50%;background:#ffb257;
  box-shadow:0 0 6px 2px rgba(255,150,50,.6);opacity:0}
body.hw-fx .hwb-embers i{animation:hw-ember 7s linear infinite}
body.hw-on .hwb-embers i:nth-child(1){left:22%}
body.hw-on .hwb-embers i:nth-child(2){left:31%;animation-delay:1.3s;animation-duration:8s}
body.hw-on .hwb-embers i:nth-child(3){left:47%;animation-delay:2.6s}
body.hw-on .hwb-embers i:nth-child(4){left:58%;animation-delay:.7s;animation-duration:9s}
body.hw-on .hwb-embers i:nth-child(5){left:69%;animation-delay:3.4s}
body.hw-on .hwb-embers i:nth-child(6){left:77%;animation-delay:4.8s;animation-duration:8s}

/* text block */
body.hw-on .hwb-text{position:relative;z-index:2;text-align:center;max-width:min(720px,100%);padding:0 .5rem}
@media (min-width:1280px){body.hw-on .hwb-title{white-space:nowrap}}
body.hw-on .hwb-kicker{margin:0 0 .45rem;font-size:.78rem;font-weight:700;font-style:italic;letter-spacing:.3em;text-transform:uppercase;color:#ffb257}
body.hw-on .hwb-title{margin:0;font-family:'Panton Caps','Poppins',sans-serif;font-weight:900;font-size:clamp(2.8rem,4.2vw,4.4rem);
  line-height:1;letter-spacing:.01em;text-transform:uppercase;color:#fff;
  text-shadow:0 3px 0 rgba(60,15,0,.55),0 0 12px rgba(255,150,50,.85),0 0 32px rgba(255,110,0,.6),0 0 70px rgba(255,80,0,.4)}
/* the pulse: a transparent copy of the title (alt text "" keeps it out of the accessibility tree) carrying only the
   extra glow, faded in and out with opacity so the title never repaints. Browsers without the content alt syntax
   drop the declaration and simply show the static glow. */
body.hw-on .hwb-title{position:relative;isolation:isolate}
body.hw-on .hwb-title::after{content:attr(data-text) / "";position:absolute;inset:0;z-index:-1;color:transparent;pointer-events:none;opacity:0;
  text-shadow:0 0 18px rgba(255,170,70,.8),0 0 44px rgba(255,120,0,.55),0 0 90px rgba(255,90,0,.45)}
body.hw-fx .hwb-title::after{animation:hw-glow-fade 3.2s ease-in-out infinite}
body.hw-on .hwb-line{margin-top:1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem 1rem}
body.hw-on .hwb-badge{font-family:'Panton Caps','Poppins',sans-serif;font-weight:900;font-size:1.35rem;line-height:1;padding:.62rem 1rem .5rem;
  border-radius:.6rem;background:linear-gradient(135deg,#ff8a1f,#ff4d00);color:#1d0f36;text-shadow:0 1px 0 rgba(255,255,255,.25);
  box-shadow:0 0 22px rgba(255,120,0,.55),0 8px 20px rgba(0,0,0,.35)}
body.hw-on .hwb-sub{font-size:.95rem;font-weight:500;color:#d9cff0}
body.hw-on .hwb-sub-ended{display:none}

/* 4.6 expired: the bar's script adds hw-expired to body, the sub line swaps through CSS */
body.hw-expired .hwb-sub{display:none}
body.hw-expired .hwb-sub-ended{display:inline}

/* 4.4 Shop now: white circle plus arrow in a glass pill, fills ember on hover */
body.hw-on .hwb-cta{margin-top:1.1rem;display:inline-flex;align-items:center;gap:.7rem;height:48px;padding:0 1.35rem 0 .45rem;
  border-radius:999px;text-decoration:none;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 24px -10px rgba(0,0,0,.6);
  transition:background .25s ease-in-out,border-color .25s ease-in-out,transform .25s ease-in-out,box-shadow .25s ease-in-out}
body.hw-on .hwb-cta-ring{width:36px;height:36px;flex:none;border-radius:50%;background:#fff;color:#1d0f36;display:inline-flex;align-items:center;
  justify-content:center;font-size:14px;transition:color .25s ease-in-out}
body.hw-on .hwb-cta-ring i{transition:transform .25s ease-in-out}
body.hw-on .hwb-cta-text{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;text-shadow:0 1px 0 rgba(0,0,0,.25)}
body.hw-on .hwb-cta:hover,body.hw-on .hwb-cta:active{background:linear-gradient(135deg,#ff8a1f,#ff4d00);border-color:rgba(255,200,140,.5);
  transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(255,100,0,.55)}
body.hw-on .hwb-cta:hover .hwb-cta-text,body.hw-on .hwb-cta:active .hwb-cta-text{color:#1d0f36;text-shadow:none}
body.hw-on .hwb-cta:hover .hwb-cta-ring{color:#c8460a}
body.hw-on .hwb-cta:hover .hwb-cta-ring i{transform:translateX(3px)}
body.hw-on .hwb-cta:active{transform:translateY(0)}
body.hw-on .hwb-cta:focus-visible{outline:2px solid #ffb257;outline-offset:3px}

/* 4.5 corner ribbon (ember, owns the top left corner) */
body.hw-on .hwb-ribbon{position:absolute;top:22px;left:-54px;width:210px;z-index:3;transform:rotate(-45deg);padding:6px 0 5px;
  text-align:center;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#1d0f36;
  text-shadow:0 1px 0 rgba(255,255,255,.25);background:linear-gradient(90deg,#ff8a1f,#ff4d00);box-shadow:0 4px 12px rgba(0,0,0,.4);pointer-events:none}

/* calm: half the embers, bat b, title glow and candle at rest (after the fx rules so it wins at equal specificity) */
body.hw-calm .hwb-embers i:nth-child(odd),body.hw-calm .hwb-bat-b{display:none}
body.hw-calm .hwb-title::after,body.hw-calm .hwb-glow{animation:none}

/* off screen or hidden tab (spec 3.3): every banner animation uses the animation shorthand, which resets play state
   to running, so the base pause rule loses. (0,3,1) beats the (0,2,1) and (0,2,2) rules above whatever the file
   order. 30-fx.css carries the same line; this copy keeps the banner correct on its own. */
body.hw-on .hwb-banner.hw-paused *,body.hw-on.hw-paused .hwb-banner *,
body.hw-on .hwb-banner.hw-paused *::after,body.hw-on.hw-paused .hwb-banner *::after{animation-play-state:paused}

/* 4.1 / 4.7 breakpoints */
@media (max-width:1279px){
  body.hw-on .hwb-banner{min-height:230px}
  body.hw-on .hwb-title{font-size:2.7rem}
  body.hw-on .hwb-pumpkin-big{width:168px;height:157px}
  body.hw-on .hwb-pumpkin-small{width:104px;height:97px}
}
@media (max-width:1023px){
  body.hw-on .hwb-banner{min-height:210px;padding-bottom:3.5rem}
  body.hw-on .hwb-title{font-size:2.3rem}
  body.hw-on .hwb-pumpkin-big{width:136px;height:127px}
  body.hw-on .hwb-pumpkin-small{width:84px;height:78px}
}
@media (max-width:767px){
  body.hw-on .hwb-banner{min-height:0;padding:1.9rem 1rem 6.6rem}
  body.hw-on .hwb-title{font-size:clamp(1.8rem,8.6vw,2.3rem)}
  body.hw-on .hwb-kicker{font-size:.68rem;letter-spacing:.22em}
  body.hw-on .hwb-sub{font-size:.85rem}
  body.hw-on .hwb-badge{font-size:1.15rem}
  body.hw-on .hwb-cta{width:100%;max-width:320px;justify-content:center;height:46px;margin-top:1rem}
  body.hw-on .hwb-pk-left{display:none}
  body.hw-on .hwb-pk-right{right:6px;bottom:-8px}
  body.hw-on .hwb-pumpkin-big{width:104px;height:97px}
  body.hw-on .hwb-pumpkin-small{width:64px;height:60px}
  body.hw-on .hwb-ribbon{top:24px;left:-50px;width:170px;font-size:9px;padding:5px 0 4px}
  body.hw-on .hwb-moon{width:44px;height:44px;top:12px;right:14px}
  body.hw-on .hwb-bat-b,body.hw-on .hwb-star-d{display:none}
  body.hw-on .hwb-bat-a{left:28%;top:3%;width:28px;height:14px}
  body.hw-on .hwb-bat-c{right:34%;top:3%;width:28px;height:14px}
  body.hw-on .hwb-embers i:nth-child(odd){display:none}
}

/* reduced motion: banner bats hidden rather than frozen (spec 3.3; base hides the embers) */
@media (prefers-reduced-motion:reduce){
  body.hw-on .hwb-bat{display:none}
}
/* ==== 20-bar.css ==== */
/* Halloween 2026, module 3: announcement bar with live countdown (spec section 2).
   Structure under body.hw-on; crimson palette is the Lunar bar exact (#3f0e0e, #57020a, #ff8f88, #ffcfca).
   --hw-bar-h is owned by 00-base.css (40px, 36px under 768px); the fallbacks here only cover a missing base file.
   z-index 4 (spec says 6): above #appBg (auto) but below #storeApp (5), so the layout's fixed #notification-alert
   toast (z-50 inside #storeApp) is never painted under the bar while the page is scrolled to the top. */
body.hw-on .hwa-bar{display:block;position:relative;z-index:4;background:#3f0e0e;color:#ff8f88;text-decoration:none;
  border-bottom:1px solid rgba(255,143,136,.12);transition:background-color .15s ease}
body.hw-on .hwa-bar:hover{background:#57020a}
body.hw-on .hwa-bar:focus-visible{outline:2px solid #ffcfca;outline-offset:-2px}
body.hw-on .hwa-inner{max-width:var(--content-width,1380px);margin:0 auto;padding:0 1.5rem;height:var(--hw-bar-h,40px);overflow:hidden;
  display:flex;align-items:center;justify-content:center;gap:.6rem;font-size:14px;font-weight:600;line-height:1;white-space:nowrap}
body.hw-on .hwa-bat{width:22px;height:11px;fill:#ff8f88;flex:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}
body.hw-on .hwa-text{min-width:0;overflow:hidden;text-overflow:ellipsis}
/* Deviation from spec: .hwa-short and .hwa-inner clip too (min-width:0 + overflow:hidden on the span, ellipsis
   fires on the span, not the flex container), so a long custom sentence never pushes the row past the viewport. */
body.hw-on .hwa-short{display:none;min-width:0;overflow:hidden;text-overflow:ellipsis}
body.hw-on .hwa-ends{opacity:.8;flex:none}
body.hw-on .hwa-count{display:inline-flex;gap:.35em;flex:none;color:#ffcfca;font-weight:700;font-variant-numeric:tabular-nums}
body.hw-on .hwa-count b{font-weight:700;min-width:2.4ch;text-align:left}
body.hw-on .hwa-count .hwa-d{min-width:2.2ch}
body.hw-on .hwa-ends[hidden],body.hw-on .hwa-count[hidden],body.hw-on .hwa-count b[hidden]{display:none}
body.hw-on .hwa-cta{margin-left:.5rem;flex:none;display:inline-flex;align-items:center;gap:.35rem;color:#ffcfca;
  text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:800}
body.hw-on .hwa-cta i{font-size:10px;transition:transform .25s ease-in-out}
body.hw-on .hwa-bar:hover .hwa-cta i{transform:translateX(3px)}
body.hw-on:has(.hwa-bar) #appBg{top:var(--hw-bar-h,40px)}

@media (max-width:767px){
  body.hw-on .hwa-inner{padding:0 1rem;gap:.5rem;font-size:12px}
  body.hw-on .hwa-bat{width:18px;height:9px}
  body.hw-on .hwa-text,body.hw-on .hwa-cta{display:none}
  body.hw-on .hwa-short{display:inline}
  /* Expired on phones: the 60 character thank you line wraps to two lines (about 28px) inside the 36px bar
     instead of being cut mid word by the ellipsis. */
  body.hw-on .hwa-ended .hwa-short{white-space:normal;line-height:1.15;text-align:center;overflow:visible}
}
/* ==== 30-fx.css ==== */
/* ---------------------------------------------------------------------------
   Halloween 2026, module 30: ambient sky layer (partials/halloween/fx.html)
   Spec section 3.1, 3.3 (sky part), 7.2. Keyframes hw-twinkle-soft, hw-drift
   and hw-bob are declared once in 00-base.css. Structure under body.hw-on,
   animation under body.hw-fx, reductions under body.hw-calm.
   --------------------------------------------------------------------------- */

/* the sky: first child of #storeApp, behind every in flow child, never clickable */
body.hw-on .hwf-sky{position:absolute;top:0;left:0;right:0;height:400px;z-index:-1;pointer-events:none;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#fff 0%,#fff 68%,transparent 100%);mask-image:linear-gradient(180deg,#fff 0%,#fff 68%,transparent 100%)}
body.hw-on .hwf-sky > *{pointer-events:none}

/* star fields: two tiled radial gradient sheets, opacity only */
body.hw-on .hwf-stars{position:absolute;inset:0;background-repeat:repeat;background-size:320px 320px;opacity:.55}
body.hw-on .hwf-stars-a{background-image:
  radial-gradient(1.5px 1.5px at 22px 38px,#fff 50%,transparent 51%),radial-gradient(1px 1px at 120px 90px,#fff 50%,transparent 51%),
  radial-gradient(2px 2px at 210px 24px,#ffe9c4 50%,transparent 51%),radial-gradient(1px 1px at 270px 150px,#fff 50%,transparent 51%),
  radial-gradient(1.5px 1.5px at 60px 230px,#fff 50%,transparent 51%),radial-gradient(1px 1px at 180px 290px,#fff 50%,transparent 51%)}
body.hw-on .hwf-stars-b{background-image:
  radial-gradient(1px 1px at 80px 20px,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 160px 200px,#d9cff0 50%,transparent 51%),
  radial-gradient(1px 1px at 300px 70px,#fff 50%,transparent 51%),radial-gradient(2px 2px at 240px 260px,#ffe9c4 50%,transparent 51%),
  radial-gradient(1px 1px at 20px 120px,#fff 50%,transparent 51%)}
body.hw-fx .hwf-stars-a{animation:hw-twinkle-soft 4.5s ease-in-out infinite}
body.hw-fx .hwf-stars-b{animation:hw-twinkle-soft 6.5s ease-in-out 2s infinite}

/* violet fog band, static, bottom 140px of the sky */
body.hw-on .hwf-fog{position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(0deg,rgba(140,0,255,.14),rgba(140,0,255,0))}

/* bat lanes: the lane crosses the viewport (transform), the bat bobs inside it */
body.hw-on .hwf-lane{position:absolute;left:-8vw}
body.hw-fx .hwf-lane{will-change:transform}
body.hw-on .hwf-lane-a{top:18px}
body.hw-on .hwf-lane-b{top:48px}
body.hw-fx .hwf-lane-a{animation:hw-drift 52s linear -18s infinite}
body.hw-fx .hwf-lane-b{animation:hw-drift 71s linear -50s infinite}
body.hw-on .hwf-bat{display:block;width:44px;height:22px;fill:#140c20;opacity:.9;
  filter:drop-shadow(0 0 2px rgba(200,140,255,.35)) drop-shadow(0 6px 8px rgba(0,0,0,.55))}
body.hw-on .hwf-lane-b .hwf-bat{width:30px;height:15px}
body.hw-fx .hwf-bat{animation:hw-bob 5s ease-in-out infinite}
body.hw-fx .hwf-lane-b .hwf-bat{animation-delay:1.3s}

/* Calm: one lane, one twinkling star field */
body.hw-calm .hwf-stars-b{animation:none}
body.hw-calm .hwf-lane-b{display:none}

/* off screen or hidden tab: halloween.js sets hw-paused on a band (IntersectionObserver) or on body (visibilitychange).
   (0,3,1) beats the sky's (0,2,1) animation shorthands whatever the file order. The banner and footer strip carry
   the same line in 10-banner.css and 50-footer.css. */
body.hw-on .hwf-sky.hw-paused *,body.hw-on.hw-paused .hwf-sky *{animation-play-state:paused}
body.hw-on .hwf-sky.hw-paused .hwf-lane{will-change:auto}

/* phones: shorter sky, one lane with a 30px bat above the logo, one star field */
@media (max-width:767px){
  body.hw-on .hwf-sky{height:300px}
  body.hw-on .hwf-stars-b,body.hw-on .hwf-lane-b{display:none}
  body.hw-on .hwf-lane-a{top:6px}
  body.hw-on .hwf-lane-a .hwf-bat{width:30px;height:15px}
}

/* reduced motion: 00-base.css hides the lanes and stops every animation */
/* ==== 40-components.css ==== */
/* ============================================================================
   Maceful Halloween 2026, module (2): store wide restyle
   Every rule is scoped under body.hw-theme (spec section 5, hero shifts 3.2).
   Selectors verified against capture/home.html and capture/products.html.
   Keyframes (hw-flicker) are declared once in 00-base.css.
   No ::before on .store-menu-toggle or any .btn-shine (the template owns it).
   ============================================================================ */

/* ---------- 3.2 hero colour shifts (static) ---------- */
body.hw-theme #hero .icon.bg-primary{background:linear-gradient(145deg,#ff6a1a 0%,#e31616 62%)}
body.hw-theme #hero .logo img{filter:drop-shadow(0 0 28px rgba(255,122,26,.22))}
body.hw-theme #appBg{opacity:.5}
body.hw-theme #appBg .fade{background:linear-gradient(0deg,#17141c,transparent)}
body.hw-theme .mobile-player-wrapper .inner-wrapper{border-color:rgba(255,178,87,.35)}

/* ---------- 5.1 cards: inset hairline and deeper shadow ---------- */
body.hw-theme .bg-content{box-shadow:0 25px 50px -12px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.04),inset 0 0 0 1px rgba(255,255,255,.03)}

/* ---------- 5.3 Store Menu block (desktop sidebar and mobile store button) ---------- */
body.hw-theme .store-menu-toggle{background:linear-gradient(135deg,#ff6a1a 0%,#e31616 55%,#c40f0f 100%);
  box-shadow:0 25px 50px -12px rgba(0,0,0,.6),0 0 0 1px rgba(255,140,40,.18)}
body.hw-theme .store-menu-toggle::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:rgba(255,255,255,.07);
  clip-path:polygon(38% 0,62% 0,88% 100%,12% 100%)}
body.hw-theme .store-menu-toggle .text{position:relative;z-index:1}
body.hw-theme .store-menu-toggle:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.6),0 0 0 1px rgba(255,140,40,.3),0 0 32px rgba(255,90,0,.25)}

/* ---------- 5.4 buttons ---------- */
body.hw-theme a.bg-primary.btn-shine,body.hw-theme button.bg-primary.btn-shine,body.hw-theme .add-btn.bg-primary{
  background:linear-gradient(180deg,#f0241a 0%,#d81010 100%);box-shadow:0 8px 20px -8px rgba(227,22,22,.5)}
body.hw-theme a.bg-primary.btn-shine:hover,body.hw-theme button.bg-primary.btn-shine:hover{opacity:1;filter:brightness(1.08);
  box-shadow:0 10px 24px -8px rgba(255,90,0,.45)}
body.hw-theme .bg-emerald-500{box-shadow:0 8px 20px -8px rgba(16,185,129,.45)}
/* hover rules sit behind (hover:hover) so a tap on a phone does not leave them stuck on */
@media (hover:hover){
body.hw-theme button.bg-content-light:hover,body.hw-theme a.bg-content-light:hover,
body.hw-theme .modal-nav .bg-content-light > .relative > .flex:hover{background:linear-gradient(180deg,#c93d0b,#a8360a);color:#fff}
body.hw-theme a.bg-content-light:hover p.text-muted,
body.hw-theme .modal-nav .bg-content-light > .relative > .flex:hover p.text-muted{color:#fff}
}

/* ---------- 5.5 product cards: nebula, hover scale, ember ring ---------- */
body.hw-theme .category-packages > [data-product-slug]{box-shadow:0 25px 50px -12px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.04);
  transition:translate .25s ease-in-out,transform .25s ease-in-out,box-shadow .25s ease-in-out}
@media (hover:hover){body.hw-theme .category-packages > [data-product-slug]:hover{box-shadow:0 30px 60px -14px rgba(0,0,0,.7),0 0 0 1px rgba(255,122,26,.35),0 0 40px -10px rgba(140,0,255,.35)}}
body.hw-theme .category-packages > [data-product-slug] > .h-48{background:
  radial-gradient(62% 70% at 50% 58%,rgba(140,0,255,.42),rgba(140,0,255,0) 100%),linear-gradient(180deg,#2f2838,#241e2c)}
@media (hover:hover){body.hw-theme .category-packages > [data-product-slug]:hover > .h-48{background-color:#2a2333}}
body.hw-theme .category-packages > [data-product-slug] > .h-48::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(48% 55% at 50% 60%,rgba(170,80,255,.35),transparent 100%);opacity:.45;transition:opacity .3s ease-in-out}
@media (hover:hover){body.hw-theme .category-packages > [data-product-slug]:hover > .h-48::before{opacity:.9}}
body.hw-theme .category-packages > [data-product-slug] > .h-48 img{position:relative;scale:none;transition:scale .25s ease-in-out}
@media (hover:hover){body.hw-theme .category-packages > [data-product-slug]:hover > .h-48 img{scale:1.05}}
body.hw-theme .category-packages > [data-product-slug] > .h-48 .fa-box-open{position:relative;color:#e093ff}

/* sale pill: deep ember gradient (white text 5.2:1 or better), static fa-fire glyph, flicker only while the card is hovered */
body.hw-theme .category-packages .h-48 .bg-red-500{top:10px;right:10px;padding:5px 10px 4px 8px;border-radius:999px;font-size:11px;font-weight:800;
  letter-spacing:.06em;background:linear-gradient(135deg,#c2410c,#9a3412);color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25);
  box-shadow:0 0 0 1px rgba(255,200,140,.25),0 6px 16px -4px rgba(255,90,0,.6);display:inline-flex;align-items:center;gap:5px;z-index:2}
body.hw-theme .category-packages .h-48 .bg-red-500::before{content:"\f06d";content:"\f06d" / "";font-family:"Font Awesome 6 Free";font-weight:900;font-size:10px;line-height:1;color:#fff3c4}
@media (hover:hover){body.hw-theme.hw-fx .category-packages > [data-product-slug]:hover .h-48 .bg-red-500::before{animation:hw-flicker 1.2s ease-in-out infinite}}

/* prices: sale price ember, full price stays brand red, struck price 55% white */
body.hw-theme .category-packages .flex:has(.line-through) .text-2xl.text-primary{color:#ff8a2a}
body.hw-theme .category-packages .line-through{color:rgba(255,255,255,.55);text-decoration-color:rgba(255,255,255,.55);text-decoration-thickness:2px}
/* product page (capture/template/product.html; not present in the two captured pages) */
body.hw-theme .product-price h3.line-through{color:rgba(255,255,255,.55)}
body.hw-theme .product-name span.\!text-\[--main-color\]{color:#ffb257 !important}

/* ---------- 5.6 welcome card as the announcement card (home only), Support and Payments icons ---------- */
body.hw-theme.view--index .inner-content > .content-header + .bg-content{position:relative;overflow:hidden;isolation:isolate}
body.hw-theme.view--index .inner-content > .content-header + .bg-content::before{content:"";position:absolute;inset:-24px;z-index:-2;
  background:var(--hw-hero-img,none) center/cover no-repeat;filter:blur(14px) saturate(.85) brightness(.5);transform:scale(1.06);
  opacity:0;transition:opacity .6s ease}
body.hw-theme.view--index.hw-hero-img .inner-content > .content-header + .bg-content::before{opacity:1}
body.hw-theme.view--index .inner-content > .content-header + .bg-content::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(23,20,28,.94) 0%,rgba(23,20,28,.78) 55%,rgba(29,15,54,.45) 100%)}
@media (max-width:1023px){body.hw-theme.view--index .inner-content > .content-header + .bg-content::before{display:none}}
body.hw-theme .inner-content .w-12.h-12.bg-content-light i,body.hw-theme .sidebar .w-10.h-10 i{transition:color .2s}

/* ---------- 5.7 sidebar modules ---------- */
body.hw-theme .sidebar .top-customer .w-12.h-12{box-shadow:0 0 0 2px rgba(255,178,87,.55),0 10px 15px -3px rgba(0,0,0,.4)}
body.hw-theme .giftcards .h-7.bg-content-light{background:#1f1b25;box-shadow:inset 0 1px 2px rgba(0,0,0,.5)}
body.hw-theme .giftcards .h-7.bg-primary{position:relative;overflow:hidden;background:linear-gradient(90deg,#ff7a1a,#e31616)}
body.hw-theme .giftcards .h-7.bg-primary::after{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(-45deg,rgba(255,255,255,.14) 0 10px,transparent 10px 20px)}
body.hw-theme .giftcards .text-primary{color:#ffb257}

/* ---------- 5.8 content header, user block, mobile secondary ---------- */
body.hw-theme .content-header,body.hw-theme #mobile-secondary{position:relative;overflow:hidden}
body.hw-theme .content-header::before,body.hw-theme #mobile-secondary::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,#ff7a1a 30%,#8c00ff 70%,transparent);opacity:.7;pointer-events:none}
body.hw-theme .content-header .user-block:focus-visible,body.hw-theme #mobile-secondary .user-block:focus-visible{outline-offset:-3px}
body.hw-theme .user-block .custom-avatar{box-shadow:0 0 0 2px rgba(255,122,26,.45)}

/* ---------- 5.9 footer base colours (the graveyard strip is 50-footer.css) ---------- */
body.hw-theme footer.mt-auto{background:#120d1a;border-top-color:transparent}
body.hw-theme footer h4.uppercase{letter-spacing:.2em;color:#ffb257;font-style:italic}
body.hw-theme footer a.w-8.h-8:hover{background:linear-gradient(135deg,#ff7a1a,#e31616)}
body.hw-theme footer .text-primary{color:#ff8a2a}
body.hw-theme footer a.text-muted:hover{color:#ffb257}

/* ---------- 5.10 modal and cart drawer ---------- */
body.hw-theme .fixed.inset-0.z-50 > .fixed.inset-0.bg-black\/90,
body.hw-theme .fixed.inset-0.z-50 .absolute.inset-0.bg-black\/90{background:rgba(10,6,16,.86)}
@media (min-width:1024px) and (hover:hover){
body.hw-theme .fixed.inset-0.z-50 > .fixed.inset-0.bg-black\/90,
body.hw-theme .fixed.inset-0.z-50 .absolute.inset-0.bg-black\/90{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}}
body.hw-theme .fixed.inset-0.z-50 .relative.bg-content.max-w-lg{box-shadow:0 40px 80px -20px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.05),0 0 60px -20px rgba(140,0,255,.35);
  background-image:linear-gradient(90deg,#ff7a1a,#8c00ff);
  background-size:100% 3px;background-position:0 0;background-repeat:no-repeat}
body.hw-theme .modal-nav .bg-content-light .w-12.h-12.bg-primary{background:linear-gradient(145deg,#ff6a1a,#e31616 62%)}
body.hw-theme .modal-nav::-webkit-scrollbar-track{background:#1f1b25}
body.hw-theme .modal-nav::-webkit-scrollbar-thumb{background:#5a4f6b}
/* ==== 50-footer.css ==== */
/* ---- footer: graveyard skyline strip (spec 6.1), partial partials/halloween/footer.html, rendered right before <footer> when hw_theme ---- */
/* Keyframe hw-blink is declared once in 00-base.css. Structural rules are scoped to body.hw-on, the one animation to body.hw-fx. */
body.hw-on .hwt-strip{position:relative;flex:none;height:64px;margin-top:auto;margin-bottom:-1px;overflow:hidden;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#fff 8%,#fff 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#fff 8%,#fff 92%,transparent 100%)}
body.hw-on .hwt-strip + footer{margin-top:0}
body.hw-on .hwt-defs{position:absolute;width:0;height:0;overflow:hidden}
body.hw-on .hwt-fog{position:absolute;inset:0;background:linear-gradient(180deg,rgba(140,0,255,0),rgba(140,0,255,.14))}
body.hw-on .hwt-skyline{position:absolute;left:0;right:0;bottom:0;width:100%;height:64px;display:block}
body.hw-on .hwt-eyes{position:absolute;left:14%;bottom:18px;width:6px;height:6px;border-radius:50%;background:#ffb257;
  box-shadow:14px 0 0 #ffb257,0 0 8px 2px rgba(255,178,87,.6),14px 0 8px 2px rgba(255,178,87,.6);transform-origin:50% 50%}
body.hw-fx .hwt-eyes{animation:hw-blink 7s ease-in-out infinite}
/* off screen or hidden tab: (0,3,1) beats the (0,2,1) animation shorthand above, which resets play state */
body.hw-on .hwt-strip.hw-paused *,body.hw-on.hw-paused .hwt-strip *{animation-play-state:paused}
body.hw-on .hwt-pumpkin{position:absolute;bottom:2px;display:block;filter:drop-shadow(0 0 10px rgba(255,170,60,.35))}
body.hw-on .hwt-pumpkin-a{right:7%;width:56px;height:52px}
body.hw-on .hwt-pumpkin-b{right:calc(7% + 58px);width:38px;height:36px;transform:rotate(-7deg)}
@media (max-width:767px){
  body.hw-on .hwt-strip{height:44px}body.hw-on .hwt-skyline{height:44px}
  body.hw-on .hwt-pumpkin-a{right:calc(8% + 2px);width:40px;height:37px}body.hw-on .hwt-pumpkin-b{right:calc(8% + 44px);width:28px;height:26px}
  body.hw-on .hwt-eyes{left:10%;bottom:10px}}
