/* Halloween campaign: quiet layout, cinematic motion, restrained horror. */
html:not([data-theme=cute]){--bg:#0c0911;--panel:#15101d;--muted:#aaa0b4;--line:#b592d324;--accent:#ff913e;--purple:#b579f4}
header{background:#0c0911e8;backdrop-filter:blur(18px);border-bottom-color:#ac77e52a}
html:not([data-theme=cute]) .wordmark span{color:#be91f0}
.announcement{background:linear-gradient(100deg,#241234,#381829 55%,#402012);color:#eddaff;letter-spacing:.8px;height:36px}
.live-dot{box-shadow:0 0 12px #ff8b43;animation:ember-pulse 3s ease-in-out infinite}
.campaign{isolation:isolate}
.campaign-shade{background:linear-gradient(90deg,#0d0716e8, #190b2945 55%,transparent),linear-gradient(0deg,#0c0911,transparent 30%)}
.campaign-art{animation:campaign-drift 24s ease-in-out infinite alternate;transform-origin:70% 55%}
.campaign-copy{z-index:3}
.campaign h1{font-weight:500;letter-spacing:-3.8px}
html:not([data-theme=cute]) .campaign h1 em{color:#ff974e;text-shadow:0 0 55px #ef742f30}
.campaign .eyebrow{color:#d0a6ff;display:flex;align-items:center;gap:12px}
.campaign .eyebrow:before{content:"";width:25px;height:1px;background:var(--accent)}
.haunt-atmosphere{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.haunt-atmosphere:before,.haunt-atmosphere:after{content:"";position:absolute;inset:30% -20% -35%;background:radial-gradient(ellipse at 60% 70%,#9045da29,transparent 58%);filter:blur(35px);animation:fog-drift 18s ease-in-out infinite alternate}
.haunt-atmosphere:after{inset:65% -30% -30%;background:radial-gradient(ellipse at 30% 70%,#e36d2524,transparent 60%);animation-delay:-9s;animation-duration:23s}
.haunt-atmosphere i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffaf70;box-shadow:0 0 12px #f58642;left:var(--x);bottom:-20px;opacity:0;animation:ember-rise var(--duration) var(--delay) linear infinite}
.primary{background:linear-gradient(120deg,#ffa653,#ff8338);border-color:#ffaa61;border-radius:7px;box-shadow:0 4px 25px #ee712018;transition:transform .3s,box-shadow .3s,filter .3s}
.primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px #f17c3433;filter:brightness(1.08)}
.primary:active{transform:translateY(0) scale(.98)}
.secondary{border-radius:7px}
.edition-note{border-left:2px solid #a66ae2;padding-left:18px}
#edition-clock{font-variant-numeric:tabular-nums;color:#e2c4ff;letter-spacing:2px}
.season-strip{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 8%;border-block:1px solid #a974df35;background:linear-gradient(105deg,#251333,#170f1f 65%,#25140f)}
.season-strip p{color:#b5a5c2;font-size:12px;line-height:1.7}.season-strip strong{display:block;color:#f4ecff;font:500 18px Manrope,sans-serif;letter-spacing:-.4px;margin-bottom:3px}.season-strip a{font-size:11px;color:#ffad70;white-space:nowrap}.season-tag{font-size:9px;letter-spacing:2px;color:#c598f2;white-space:nowrap}
/* A small lacquer-red drip is the only blood treatment. */
.blood-detail{position:absolute;right:12%;top:-1px;width:95px;height:2px;background:linear-gradient(90deg,transparent,#8d293b,transparent);pointer-events:none}
.blood-detail:before,.blood-detail:after{content:"";position:absolute;top:1px;width:3px;background:linear-gradient(#8d293b,#521424);border-radius:0 0 5px 5px;transform-origin:top;animation:drip-arrive 1.8s ease-out both}
.blood-detail:before{height:16px;left:26px}.blood-detail:after{height:8px;left:49px;animation-delay:.2s}
.section{padding-top:82px;padding-bottom:82px}.section-heading{margin-bottom:34px}.section-heading h2{letter-spacing:-1.8px}
html:not([data-theme=cute]) .section-heading h2 em{color:#c397f6}
.showcase{border:1px solid #ac7adc30;border-radius:16px;overflow:hidden;background:#15101b;box-shadow:0 25px 80px #0003}
.selected-stage{min-height:560px;background:radial-gradient(ellipse at 50% 40%,#60318750,transparent 66%),radial-gradient(ellipse at 50% 85%,#b64c2120,transparent 60%),#100c16}
.selected-stage>img{max-height:450px;filter:drop-shadow(0 20px 25px #0007);animation:character-breathe 6s ease-in-out infinite}
.stage-meta{color:#c39de7}.stage-bottom{color:#ae9bbb}
.selection-panel{background:linear-gradient(145deg,#1c1423,#120e18);padding:36px}
.selection-panel h3{letter-spacing:-1.2px;font-weight:500}.price-row{border-color:#a97fd526}
.collection-tabs{gap:6px}.collection-tabs button{transition:background .25s,color .25s,border-color .25s;border-color:#a982cf25}
.collection-tabs button[aria-pressed=true]{background:#a976e2;color:#120a1d;border-color:#bf93f1}
.search-label input{background:#0e0b13;border-color:#aa84c82b;border-radius:6px}
.character-thumb{border-radius:9px;border-color:#b896d41c;background:radial-gradient(ellipse at 50% 40%,#3a2346,#19111f);transition:background .3s,border-color .3s,transform .3s}
.character-thumb:hover{border-color:#b27ee5;transform:translateY(-2px)}
.character-thumb[aria-pressed=true]{border-color:#ff984d;background:radial-gradient(ellipse,#70372b88,#231521);box-shadow:inset 0 0 16px #fc8f3012}
.character-tray{scroll-behavior:smooth;scrollbar-color:#80519e #1b1223;padding-top:5px;padding-bottom:12px}
.character-thumb span{color:#dfd2e9}.tray-controls button{border-color:#9864bc50;transition:background .25s,transform .25s}.tray-controls button:hover{background:#65388a44;transform:translateX(2px)}
.signup{border-top:1px solid var(--line);background:radial-gradient(ellipse at 10% 100%,#71349416,transparent 60%)}
.story{border-top:1px solid var(--line)}.story h2 em,.signup h2 em{color:#bd91ec}footer{background:#09070e}
.js-motion .reveal{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}
dialog{background:#17101f;border:1px solid #ad7bd740;border-radius:16px;box-shadow:0 30px 120px #0009}dialog[open]{animation:dialog-arrive .3s ease both}dialog::backdrop{background:#08050bbb;backdrop-filter:blur(8px)}
@keyframes campaign-drift{from{transform:scale(1)}to{transform:scale(1.055)}}
@keyframes fog-drift{from{transform:translateX(-5%)}to{transform:translateX(7%)}}
@keyframes ember-rise{0%{transform:translate(0,0);opacity:0}15%,65%{opacity:.55}100%{transform:translate(40px,-550px);opacity:0}}
@keyframes ember-pulse{50%{opacity:.45;box-shadow:0 0 4px #ff8b43}}
@keyframes drip-arrive{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes dialog-arrive{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}
html[data-theme=cute] header{background:#f6f2ecef}html[data-theme=cute] .haunt-atmosphere,html[data-theme=cute] .blood-detail{display:none}html[data-theme=cute] .campaign-art{animation:character-breathe 8s ease-in-out infinite}html[data-theme=cute] .season-strip{background:#eee1e7;border-color:#dfcad8}html[data-theme=cute] .season-strip strong{color:#634257}html[data-theme=cute] .season-strip p,html[data-theme=cute] .season-tag{color:#866278}html[data-theme=cute] .selection-panel,html[data-theme=cute] dialog{background:#fffaf4}html[data-theme=cute] .character-thumb span{color:#543d48}html[data-theme=cute] footer{background:#eee5df}html[data-theme=cute] .search-label input{background:#fffaf4}html[data-theme=cute] .season-strip a{color:#805669}html[data-theme=cute] .primary{background:#e7b1a4;border-color:#d7a29a;box-shadow:none}
@media(max-width:1100px){.selection-panel{padding:27px}.selected-stage{min-height:560px}.season-strip{padding-inline:5%}}
@media(max-width:760px){.campaign h1{letter-spacing:-2.5px}.campaign-shade{background:linear-gradient(180deg,#0c0911 24%,#1c0b2430 65%,#0c0911 100%)}.season-strip{padding:22px 6%;gap:14px;flex-wrap:wrap}.season-tag{width:100%}.season-strip strong{font-size:16px}.season-strip p{font-size:11px}.section{padding:50px 5%}.selected-stage{min-height:0;height:400px}.selected-stage>img{height:310px}.selection-panel{padding:24px}.showcase{border-radius:12px}.haunt-atmosphere i:nth-child(n+5){display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.haunt-atmosphere i{display:none}}
