:root{--bg-color:#050506;--card-bg:rgba(17, 17, 18, 0.85);--nav-rgb:230,30,55;--podium-rgb:230,30,55;--ui-rgb:230,30,55;--orange-primary:rgb(var(--ui-rgb));--text-muted:#8a8a93;--text-light:#e4e4e7}
html{scrollbar-color:rgb(var(--ui-rgb)) #0a0a0b;scrollbar-width:thin}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:#0a0a0b}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,color-mix(in srgb,rgb(var(--ui-rgb)) 65%,white),rgb(var(--ui-rgb)));border-radius:999px;border:2px solid #0a0a0b}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,color-mix(in srgb,rgb(var(--ui-rgb)) 45%,white),rgb(var(--ui-rgb)))}
body{background-color:var(--bg-color);color:var(--text-light);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;margin:0;padding:clamp(12px,4vw,20px);box-sizing:border-box;overflow-x:hidden}
#bg-image{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-3;background-image:url('/background.png');background-size:cover;background-position:center;background-repeat:no-repeat}
#bg-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-2;background:linear-gradient(180deg,rgba(5,5,6,.55) 0,rgba(5,5,6,.75) 45%,rgba(5,5,6,.92) 100%)}
body.day-mode #bg-image{filter:brightness(1.1) saturate(.92) hue-rotate(-3deg)}
body.day-mode #bg-overlay{background:linear-gradient(180deg,rgba(255,244,214,.1) 0,rgba(255,238,196,.05) 45%,rgba(255,230,180,.14) 100%)}
#rain-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;display:block;pointer-events:none}
#lightning-flash{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:999;background:#eaf0ff;opacity:0;pointer-events:none}
@keyframes screenShake{0%{transform:translate(0,0)}
12%{transform:translate(-8px,4px)}
26%{transform:translate(7px,-6px)}
40%{transform:translate(-6px,7px)}
54%{transform:translate(8px,-4px)}
68%{transform:translate(-5px,3px)}
82%{transform:translate(3px,-3px)}
100%{transform:translate(0,0)}
}
body.screen-shake{animation:screenShake .5s cubic-bezier(.36,.07,.19,.97)}
@media (prefers-reduced-motion:reduce){body.screen-shake{animation:none!important}
}
.site-nav{display:flex;align-items:center;justify-content:space-between;max-width:1300px;margin:0 auto;padding:16px clamp(12px,4vw,28px);gap:20px}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.nav-logo-wrap{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nav-logo-glow{position:absolute;width:78px;height:78px;border-radius:50%;background:radial-gradient(circle,rgba(var(--nav-rgb),.6) 0,rgba(var(--nav-rgb),.28) 42%,rgba(var(--nav-rgb),0) 72%);filter:blur(6px);z-index:0;pointer-events:none}
.nav-logo{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;object-fit:cover}
.nav-brand-text{position:relative;font-weight:800;letter-spacing:1px;color:var(--text-light);font-size:1.1rem;display:none;white-space:nowrap}
.nav-brand-text::before{content:"";position:absolute;top:50%;left:50%;width:150%;height:280%;transform:translate(-50%,-50%) scale(.9);background:radial-gradient(circle,rgba(var(--nav-rgb),.55) 0%,rgba(var(--nav-rgb),.26) 45%,rgba(var(--nav-rgb),0) 72%);filter:blur(9px);z-index:-1;pointer-events:none;animation:navTextPulse 2.6s ease-in-out infinite}
@keyframes navTextPulse{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(.88)}
50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}
}
@media (prefers-reduced-motion:reduce){.nav-brand-text::before{animation:none;opacity:.75}
}
.nav-links{display:flex;gap:clamp(10px,2.5vw,16px);flex-wrap:wrap;justify-content:center}
.faction-scoreboard{display:flex;align-items:center;gap:14px;padding:7px 16px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(230,30,55,.3);font-weight:800;font-size:.82rem;flex-shrink:0}
.faction-scoreboard[hidden]{display:none!important}
.fs-item{display:flex;align-items:center;gap:3px;white-space:nowrap}
.fs-icon{font-size:1rem;line-height:1}
.fs-demon b{color:#ff5a4a}
.fs-angel b{color:#ffe066}
.fs-alien b{color:#7dffa0}
.fs-sep{color:var(--text-muted);font-weight:600}
.fs-item span:not(.fs-icon):not(.fs-sep){color:var(--text-muted)}
@media (max-width:760px){.faction-scoreboard{display:none}
}
.nav-links a{position:relative;display:inline-flex;align-items:center;color:var(--text-muted);text-decoration:none;font-weight:700;font-size:.9rem;padding:9px 22px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(var(--nav-rgb),.3);transition:color .2s ease,background .2s ease,box-shadow .2s ease,transform .15s ease}.nav-maint-badge{display:none;position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#ffc233,#ff8f00);align-items:center;justify-content:center;font-size:.68rem;line-height:1;box-shadow:0 0 8px 2px rgba(255,179,0,.65);animation:navMaintPulse 2s ease-in-out infinite;z-index:2}.nav-maint-badge.show{display:flex}@keyframes navMaintPulse{0%,100%{box-shadow:0 0 8px 2px rgba(255,179,0,.6)}50%{box-shadow:0 0 14px 5px rgba(255,179,0,.9)}}@media (prefers-reduced-motion:reduce){.nav-maint-badge{animation:none}}
.nav-links a:hover{color:var(--text-light);transform:translateY(-1px);box-shadow:0 0 14px 2px rgba(var(--nav-rgb),.35)}
.nav-links a.active{color:#fff;background:linear-gradient(135deg,rgba(255,70,70,.4),rgba(var(--nav-rgb),.65));border-color:rgba(var(--nav-rgb),.85);box-shadow:0 0 16px 3px rgba(var(--nav-rgb),.55),0 0 32px 8px rgba(var(--nav-rgb),.25)}
@media (min-width:560px){.nav-brand-text{display:inline-block}
}
header{display:flex;justify-content:center;align-items:center;max-width:1200px;margin:20px auto 40px auto;position:relative}
.logo{font-weight:800;font-size:clamp(1.35rem, 5vw, 2rem);letter-spacing:1px;text-transform:uppercase;text-shadow:0 0 15px rgba(0,0,0,.9)}
.sparkle-text{background:linear-gradient(90deg,rgb(var(--ui-rgb)) 0,#ff8c8c 25%,#fff 50%,#ff8c8c 75%,rgb(var(--ui-rgb)) 100%);background-size:200% auto;color:transparent;-webkit-background-clip:text;background-clip:text;animation:shine 2s linear infinite;display:inline-block;text-shadow:0 0 10px rgba(var(--ui-rgb),.35)}
@keyframes shine{to{background-position:200% center}
}
.logo span.site-tag{color:var(--orange-primary)}
.podium{display:flex;justify-content:center;align-items:flex-end;gap:20px;max-width:900px;width:100%;margin:40px auto;min-height:260px;position:relative;box-sizing:border-box;padding-top:clamp(85px,19vw,195px)}
.podium-card{padding:24px;text-align:center;flex:1;transition:border-color .3s ease;position:relative;overflow:visible}
.podium-card.first{order:2;height:240px}
.podium-card.second{order:1;height:200px}
.podium-card.third{order:3;height:180px}
.podium-card.placeholder-slot{opacity:.65}
.card-surface{position:absolute;inset:0;background:var(--card-bg);border-radius:12px;border:1px solid rgba(var(--podium-rgb),.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 0 14px 2px rgba(var(--podium-rgb),.35),0 0 30px 6px rgba(var(--podium-rgb),.18),0 10px 30px rgba(0,0,0,.5);z-index:2;pointer-events:none}
.podium-card.first .card-surface{border-color:rgba(255,213,64,.8);box-shadow:0 0 18px 3px rgba(255,213,64,.65),0 0 36px 8px rgba(255,213,64,.35),0 10px 30px rgba(0,0,0,.5)}
.podium-card.first:not(.placeholder-slot) .card-surface{animation:podiumGlowPulseFirst 2.4s ease-in-out infinite}
@keyframes podiumGlowPulseFirst{0%,100%{box-shadow:0 0 18px 3px rgba(255,213,64,.65),0 0 36px 8px rgba(255,213,64,.35),0 10px 30px rgba(0,0,0,.5)}
50%{box-shadow:0 0 34px 8px rgba(255,244,150,1),0 0 66px 18px rgba(255,213,64,.62),0 10px 30px rgba(0,0,0,.5)}
}
@media (prefers-reduced-motion:reduce){.podium-card.first .card-surface{animation:none!important}
}
body.podium-glow-off .podium-card.first:not(.placeholder-slot) .card-surface,body.podium-glow-off .podium-card.second .card-surface,body.podium-glow-off .podium-card.third .card-surface{animation:none!important;box-shadow:none!important}
body.podium-glow-off .character-backdrop{display:none!important}
body.podium-glow-off .avatar-ring{box-shadow:none!important}
body.podium-glow-off .rank-ribbon{filter:none!important}
body.podium-glow-off .crown-sparkles{display:none!important}
body.podium-glow-off .podium-name{text-shadow:none!important}
body.nav-glow-off .nav-logo-glow{display:none!important}
body.nav-glow-off .nav-brand-text::before{display:none!important}
body.nav-glow-off .nav-links a:hover{box-shadow:none!important}
body.nav-glow-off .nav-links a.active{box-shadow:none!important}
body.ui-glow-off .countdown-counter{text-shadow:none!important}
body.ui-glow-off .leaderboard-table{box-shadow:none!important}
body.ui-glow-off .row-avatar{box-shadow:none!important}
body.ui-glow-off .sparkle-text{text-shadow:none!important}
.podium-card.second .card-surface{border-color:rgba(201,201,209,.65);box-shadow:0 0 16px 3px rgba(201,201,209,.45),0 0 32px 7px rgba(201,201,209,.22),0 10px 30px rgba(0,0,0,.5)}
.podium-card.third .card-surface{border-color:rgba(205,127,50,.65);box-shadow:0 0 16px 3px rgba(205,127,50,.45),0 0 32px 7px rgba(205,127,50,.22),0 10px 30px rgba(0,0,0,.5)}
.podium-card.placeholder-slot .card-surface{border:1px dashed rgba(var(--podium-rgb),.25);box-shadow:none;animation:none}
.card-content{position:relative;z-index:3}
.character-backdrop{position:absolute;left:50%;border-radius:50%;pointer-events:none;z-index:0;filter:blur(2px)}
.podium-card.first .character-backdrop{width:clamp(80px,16vw,160px);height:clamp(80px,16vw,160px);bottom:14px;transform:translateX(-50%);background:radial-gradient(circle,rgba(var(--podium-rgb),.4) 0,rgba(var(--podium-rgb),.15) 45%,rgba(var(--podium-rgb),0) 72%)}
.podium-card.second .character-backdrop{width:clamp(70px,14vw,140px);height:clamp(70px,14vw,140px);bottom:10px;transform:translateX(-50%);background:radial-gradient(circle,rgba(var(--podium-rgb),.4) 0,rgba(var(--podium-rgb),.15) 45%,rgba(var(--podium-rgb),0) 72%)}
.podium-card.third .character-backdrop{width:clamp(63px,12.5vw,128px);height:clamp(63px,12.5vw,128px);bottom:8px;transform:translateX(-50%);background:radial-gradient(circle,rgba(var(--podium-rgb),.4) 0,rgba(var(--podium-rgb),.15) 45%,rgba(var(--podium-rgb),0) 72%)}
.rank-ribbon{position:absolute;top:-3%;left:38%;transform:translateX(-72%) rotate(-12deg);z-index:-1;width:clamp(85px,19vw,145px);padding:12px 8px 26px 8px;text-align:left;color:#0a0a0b;border-radius:4px 4px 0 0;opacity:.72;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);filter:drop-shadow(0 0 6px rgba(230, 30, 55, .85)) drop-shadow(0 0 16px rgba(230, 30, 55, .55)) drop-shadow(0 0 30px rgba(230, 30, 55, .3)) drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.rank-ribbon .rank-num{display:block;font-size:clamp(1.5rem, 5.5vw, 2.3rem);font-weight:900;line-height:1}
.rank-ribbon .rank-num sup{font-size:.5em;vertical-align:super}
.rank-ribbon .rank-place{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-top:3px}
.podium-card.first .rank-ribbon{background:linear-gradient(135deg,#ffe066,#ffd700);filter:drop-shadow(0 0 6px rgba(255,213,64,.9)) drop-shadow(0 0 16px rgba(255,213,64,.6)) drop-shadow(0 0 30px rgba(255,213,64,.35)) drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.podium-card.second .rank-ribbon{background:linear-gradient(135deg,#e4e7ec,#9aa1ad);filter:drop-shadow(0 0 6px rgba(201,201,209,.9)) drop-shadow(0 0 16px rgba(201,201,209,.6)) drop-shadow(0 0 30px rgba(201,201,209,.35)) drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.podium-card.third .rank-ribbon{background:linear-gradient(135deg,#d9a066,#a8632f);color:#1a1006;filter:drop-shadow(0 0 6px rgba(205,127,50,.9)) drop-shadow(0 0 16px rgba(205,127,50,.6)) drop-shadow(0 0 30px rgba(205,127,50,.35)) drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.podium-card.first .prize-tag{color:#ffd700;background:rgba(255,215,0,.14)}
.podium-card.second .prize-tag{color:#c9c9d1;background:rgba(192,192,200,.14)}
.podium-card.third .prize-tag{color:#cd7f32;background:rgba(205,127,50,.14)}
.character-figure{position:absolute;bottom:50%;left:50%;pointer-events:none;z-index:1;filter:drop-shadow(0 12px 16px rgba(0,0,0,.55))}
.character-figure img{display:block;width:100%;height:auto;object-fit:contain;position:relative;z-index:1}
.crown-sparkles{position:absolute;top:-10%;left:0;width:100%;height:42%;pointer-events:none;z-index:2}
.crown-sparkles .sparkle{position:absolute;width:12px;height:12px;background:radial-gradient(circle,#fff 0%,#ffd873 45%,rgba(255,216,115,0) 75%);clip-path:polygon(50% 0%,63% 38%,100% 50%,63% 62%,50% 100%,37% 62%,0% 50%,37% 38%);opacity:0;filter:drop-shadow(0 0 4px rgba(255,216,115,.9));animation:sparkleTwinkle 2.2s ease-in-out infinite}
.crown-sparkles .s1{top:0%;left:10%;width:11px;height:11px;animation-delay:0s}
.crown-sparkles .s2{top:12%;left:78%;width:15px;height:15px;animation-delay:.55s}
.crown-sparkles .s3{top:-8%;left:46%;width:9px;height:9px;animation-delay:1.1s}
.crown-sparkles .s4{top:24%;left:16%;width:8px;height:8px;animation-delay:1.65s}
@keyframes sparkleTwinkle{0%,100%{opacity:0;transform:scale(.3) rotate(0deg)}
50%{opacity:1;transform:scale(1) rotate(20deg)}
}
@media (prefers-reduced-motion:reduce){.crown-sparkles .sparkle{animation:none;opacity:.85;transform:scale(.85)}
}
.podium-card.first .character-figure{width:clamp(85px,17vw,180px);animation:floatChar 3.6s ease-in-out infinite}
.podium-card.second .character-figure{width:clamp(72px,14.5vw,152px);animation:floatChar 4.1s ease-in-out infinite;animation-delay:-1.1s}
.podium-card.third .character-figure{width:clamp(67px,13.5vw,140px);animation:floatChar 3.8s ease-in-out infinite;animation-delay:-2.2s}
@keyframes floatChar{0%,100%{transform:translate(-50%,0) rotate(0)}
50%{transform:translate(-50%,-10px) rotate(.6deg)}
}
@media (prefers-reduced-motion:reduce){.character-figure{animation:none!important}
}
.avatar-ring{width:70px;height:70px;border-radius:50%;margin:0 auto 12px auto;border:3px solid rgba(var(--podium-rgb),.9);background:#27272a;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 0 10px 2px rgba(var(--podium-rgb),.55),0 0 20px 5px rgba(var(--podium-rgb),.25)}
.avatar-ring img{width:100%;height:100%;object-fit:cover}
.first .avatar-ring{border-color:rgba(var(--podium-rgb),.95);box-shadow:0 0 14px 3px rgba(var(--podium-rgb),.65),0 0 26px 7px rgba(var(--podium-rgb),.3)}
.username{font-weight:700;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease}
.username:hover{color:rgb(var(--podium-rgb))}
.podium-name{display:block;font-weight:800;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;background:linear-gradient(90deg,#ff2d3f 0,#ff8c8c 25%,#fff 50%,#ff8c8c 75%,#ff2d3f 100%);background-size:200% auto;color:transparent;-webkit-background-clip:text;background-clip:text;animation:shine 2.4s linear infinite;text-shadow:0 0 10px rgba(255,30,60,.4)}
.podium-card.first .podium-name{background:linear-gradient(90deg,#ffd700 0,#fff9c4 25%,#fff 50%,#fff9c4 75%,#ffd700 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 10px rgba(255,213,64,.7)}
.podium-card.second .podium-name{background:linear-gradient(90deg,#c0c0c8 0,#f4f4f7 25%,#fff 50%,#f4f4f7 75%,#c0c0c8 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 10px rgba(201,201,209,.5)}
.podium-card.third .podium-name{background:linear-gradient(90deg,#cd7f32 0,#f0c496 25%,#fff 50%,#f0c496 75%,#cd7f32 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 10px rgba(205,127,50,.5)}
.wager-value{color:var(--text-muted);font-size:.9rem;margin-bottom:12px}
.prize-tag{background:rgba(var(--ui-rgb),.1);color:var(--orange-primary);padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:700;display:inline-flex;align-items:center;gap:4px}
.prize-tag .scrap-icon{width:1em;height:1em;object-fit:contain;display:inline-block;flex-shrink:0}
.timer-section{text-align:center;margin:50px 0;position:relative}
.timer-title{font-size:2rem;font-weight:700;color:var(--orange-primary);margin-bottom:15px;text-shadow:0 2px 10px rgba(0,0,0,.8)}
.countdown-counter{font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-weight:800;font-size:clamp(1.8rem, 5vw, 3rem);letter-spacing:2px;color:rgb(var(--ui-rgb));text-shadow:0 0 8px rgba(var(--ui-rgb),.85),0 0 20px rgba(var(--ui-rgb),.55),0 0 40px rgba(var(--ui-rgb),.3)}
.leaderboard-table{max-width:1000px;width:100%;box-sizing:border-box;margin:0 auto 60px auto;background:var(--card-bg);border-radius:12px;border:1px solid rgba(var(--ui-rgb),.35);overflow:hidden;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 0 14px 2px rgba(var(--ui-rgb),.32),0 0 32px 7px rgba(var(--ui-rgb),.16),0 10px 30px rgba(0,0,0,.5);position:relative}
.table-header{display:grid;grid-template-columns:80px 1fr 200px 200px;padding:16px 24px;border-bottom:1px solid #1f1f23;color:var(--text-muted);font-size:.85rem;font-weight:700;text-transform:uppercase}
.table-row{display:grid;grid-template-columns:80px 1fr 200px 200px;padding:16px 24px;align-items:center;border-bottom:1px solid #161618;transition:background-color .2s ease}
.table-row.placeholder-row{border-bottom:1px solid #1f1f23;opacity:.65}
.table-row:last-child{border-bottom:none}
.rank{font-weight:700;color:var(--text-muted)}
.player-profile{display:flex;align-items:center;gap:12px;overflow:hidden;transition:opacity .2s ease}
.player-profile.placeholder-user{pointer-events:none;color:var(--text-muted)}
.row-avatar{width:32px;height:32px;border-radius:50%;border:1px solid rgba(var(--ui-rgb),.85);background-color:#161618;box-shadow:0 0 6px 1px rgba(var(--ui-rgb),.5)}
.player-name{font-weight:600;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wagered-amt{font-variant-numeric:tabular-nums}
@media (max-width:700px){.podium{flex-direction:column;align-items:center;padding-top:0;gap:clamp(40px,14vw,60px)}
.podium-card.first,.podium-card.second,.podium-card.third{order:initial;width:100%;max-width:320px;margin-top:clamp(45px,16vw,80px)}
.podium-card.first{margin-top:clamp(55px,18vw,85px)}
.table-header,.table-row{grid-template-columns:34px 1fr 78px 78px;padding:12px 14px;column-gap:6px}
.table-header{font-size:.68rem}
.prize-tag,.wagered-amt{font-size:.78rem}
.row-avatar{width:26px;height:26px}
.player-name{font-size:.85rem}
}
@media (max-width:420px){.table-header,.table-row{grid-template-columns:28px 1fr 66px 66px}
}
.maintenance-overlay{position:fixed;inset:0;z-index:5000;background:rgba(5,5,6,.97);display:none;align-items:center;justify-content:center;padding:20px;text-align:center;flex-direction:column}
.maintenance-overlay.show{display:flex}
.maintenance-icon{font-size:3rem;margin-bottom:16px}
.maintenance-overlay h2{font-size:clamp(1.6rem,5vw,2.4rem);font-weight:900;margin:0 0 12px 0;color:var(--text-light)}
.maintenance-overlay p{color:var(--text-muted);max-width:480px;font-size:1rem;line-height:1.6;margin:0}.maintenance-home-btn{display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:12px 26px;border-radius:12px;font-weight:700;font-size:.95rem;text-decoration:none;color:#fff;background:linear-gradient(135deg,#ff5a3c,rgb(var(--ui-rgb)));box-shadow:0 0 16px 2px rgba(var(--ui-rgb),.5),0 8px 20px rgba(0,0,0,.45);transition:transform .15s ease,box-shadow .2s ease}.maintenance-home-btn:hover{transform:translateY(-2px);box-shadow:0 0 20px 4px rgba(var(--ui-rgb),.65),0 10px 24px rgba(0,0,0,.5)}
.halloween-fog{position:fixed;inset:0;z-index:5;pointer-events:none;opacity:0;transition:opacity 1.2s ease;background:radial-gradient(ellipse 60% 40% at 20% 92%,rgba(190,190,200,.22),transparent 70%),radial-gradient(ellipse 50% 35% at 78% 96%,rgba(170,170,185,.18),transparent 70%),radial-gradient(ellipse 55% 30% at 48% 100%,rgba(200,200,210,.16),transparent 70%);background-size:220% 100%;background-repeat:no-repeat;animation:fogDrift 45s linear infinite}
.halloween-fog.show{opacity:1}
@keyframes fogDrift{0%{background-position:0% 0%,0% 0%,0% 0%}
100%{background-position:110% 0%,-110% 0%,70% 0%}
}
@media (prefers-reduced-motion:reduce){.halloween-fog{animation:none}
}
.halloween-corner{position:fixed;top:0;z-index:6;pointer-events:none;width:150px;height:220px;opacity:0;transition:opacity 1.2s ease}
.halloween-corner.show{opacity:1}
.halloween-corner-left{left:0}
.halloween-corner-right{right:0}
.halloween-corner-right .halloween-web-svg{transform:scaleX(-1)}
.halloween-thread{position:absolute;top:0;left:70px;width:1px;height:0;background:rgba(255,255,255,.4)}
.halloween-corner-right .halloween-thread{left:auto;right:70px}
.halloween-spider{position:absolute;top:0;left:70px;width:30px;transform:translate(-50%,-6px);filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}
.halloween-corner-right .halloween-spider{left:auto;right:70px;transform:translate(50%,-6px) scaleX(-1)}
