/* Seasonal layer: preserves existing layout, navigation, ads and players. */
body[data-halloween] { --hw-orange:#bd4e0b; --hw-peach:#fff1e6; }
body[data-halloween="home"] { background-image:radial-gradient(ellipse at 0 0,rgba(255,145,55,.07),transparent 38%),radial-gradient(ellipse at 100% 0,rgba(120,72,155,.04),transparent 30%); }
body[data-halloween] .top-line { background:linear-gradient(90deg,#21151c,#ff9f55 35%,#c56f25 65%,#21151c); }
body[data-halloween="home"] .header,body[data-halloween="player"] .header { box-shadow:0 2px 12px rgba(117,51,10,.09); }
body[data-halloween="home"] .logo,body[data-halloween="player"] .logo,
body[data-halloween="home"] .logo span,body[data-halloween="player"] .logo span { color:var(--hw-orange)!important; }
body[data-halloween] .nav a:hover { color:var(--hw-orange); }
body[data-halloween="home"] .schedule-top { background:linear-gradient(110deg,#a9440d,#c65e18); border-bottom-color:#873708; }
body[data-halloween="home"] .schedule-wrap { border-color:#d6c1b3; }
body[data-halloween="home"] .match-card.active .match { background:#fff0e3; }
body[data-halloween="home"] .match-card.featured,body[data-halloween="home"] .match-card.featured .match { background:#fff8ef; border-top-color:#d98c3d; }
body[data-halloween="home"] .match-time { border-color:#e1c3ac; }
body[data-halloween="home"] .watch-link:hover { background:#fff6ed; }
body[data-halloween="home"] .watch-link strong { color:#87512f; }
body[data-halloween="download"] { background:radial-gradient(ellipse at 20% 0,#382017,transparent 60%),#100e13; }
body[data-halloween="download"] .download-btn { background:linear-gradient(120deg,#ffad67,#ff9443); color:#24170e; box-shadow:0 10px 30px #ff9f551c; }
body[data-halloween="download"] .download-btn:hover { box-shadow:0 14px 36px #ff9f5526; }
body[data-halloween="download"] .logo { background:#2d211c; box-shadow:none; }
body[data-halloween="admin"] { --primary:#b94d0d; --primary-light:#fff0e3; --primary-border:#ebc3a6; }
body[data-halloween="admin"] .btn-primary { background:linear-gradient(120deg,#a9440d,#cb6b25); }
body[data-halloween="admin"] .schedule-top { background:linear-gradient(120deg,#a9440d,#cb6b25); }
body[data-halloween="admin"] .logo-icon { background:linear-gradient(130deg,#a9440d,#e28a41); }
.halloween-mark { width:30px; height:32px; flex:none; display:block; filter:drop-shadow(0 2px 3px #8a350b19); }
.halloween-edges { position:fixed; inset:0 0 auto; height:88px; overflow:hidden; z-index:51; pointer-events:none; contain:layout paint; user-select:none; }
.halloween-edges * { pointer-events:none; }
.halloween-web { position:absolute; top:-31px; width:116px; height:116px; color:#51434f; opacity:0; animation:hw-web-arrive 900ms cubic-bezier(.16,1,.3,1) 100ms forwards; }
.halloween-web--left { left:-30px; }
.halloween-web--right { right:-29px; width:98px; height:98px; top:-26px; animation-delay:220ms; }
.halloween-blood { position:absolute; left:0; right:0; top:0; height:38px; opacity:0; animation:hw-blood-arrive 700ms ease-out 1150ms forwards; }
.halloween-blood::before { content:""; position:absolute; inset:0 0 auto; height:2px; background:#9d2538; opacity:.8; }
.halloween-drop { position:absolute; top:0; left:var(--x); width:var(--w); height:var(--length); background:linear-gradient(#80182b,#ae2639); border-radius:0 0 5px 5px; opacity:.8; transform:translateY(-85%); animation:hw-drip var(--duration) ease-in-out var(--delay) infinite; }
html.hw-paused .halloween-edges * { animation-play-state:paused!important; }
@keyframes hw-web-arrive { from{opacity:0;transform:translateY(-70px)}to{opacity:.22;transform:translateY(0)} }
@keyframes hw-blood-arrive { from{opacity:0;transform:translateY(-38px)}to{opacity:1;transform:translateY(0)} }
@keyframes hw-drip { 0%,100%{transform:translateY(-85%)}50%{transform:translateY(0)} }
@keyframes hw-drip-soft { 0%,100%{transform:translateY(-70%)}50%{transform:translateY(-15%)} }
@media(max-width:600px) { .halloween-mark{width:24px;height:26px}.halloween-web{width:88px;height:88px;top:-26px}.halloween-web--left{left:-29px}.halloween-web--right{right:-26px;width:80px;height:80px}.halloween-edges{height:64px} }
@media(max-width:768px) { body[data-halloween="home"] .logo{font-size:24px;letter-spacing:-.6px} }
@media(prefers-reduced-motion:reduce) { .halloween-web{animation:none;opacity:.22}.halloween-blood{animation:none;opacity:1}.halloween-drop{animation:hw-drip-soft calc(var(--duration) + 2s) ease-in-out var(--delay) infinite} }
