/* Seasonal skin: static local assets; no changes to player or chat behavior. */
body.room-page.halloween{--bg:#100b17;--panel:#1c1326;--border:#4b305b;--text:#faf4ff;--muted:#c7b7d2;--pink:#d4acff;--accent:#ffb56b;background:radial-gradient(ellipse at 0 0,#74351c40,transparent 48%),radial-gradient(ellipse at 100% 100%,#58258138,transparent 55%),var(--bg)}
.halloween header{background:linear-gradient(90deg,#29162890,#100b1740);border-bottom:1px solid #ffab6033}
.halloween .cat-brand{position:relative;overflow:visible;color:#ffb56b;border-color:#e995484d;background:#b968181c;box-shadow:0 0 18px #ff8c1d0c}
.halloween .cat-brand::after{content:'';position:absolute;top:-8px;right:-5px;width:22px;height:19px;background:#a27bd5;clip-path:polygon(50% 0,80% 77%,100% 83%,98% 100%,0 100%,0 83%,26% 77%);transform:rotate(14deg);pointer-events:none}
.halloween .brand small{color:#e7b586}.halloween .header-note{color:#d6b4e8}
.halloween .header-note::before{content:'☾';color:#ffbd7c;margin-right:9px;font-size:19px;font-style:normal}
.halloween .screen{border-color:#a9673c80;box-shadow:0 0 0 1px #ffb56b08,0 14px 50px #0004;background:#0b0810}
.halloween .screen:has(.empty){background: url('/halloween-corner.svg') left top/140px 140px no-repeat,radial-gradient(ellipse at 50% 120%,#53305c55,transparent 70%),#0b0810}
.halloween .player-bar{background:linear-gradient(90deg,#302033,#231620);border-color:#a9673c80;color:#ffd5a9}
.halloween #focusReactionBtn{color:#ffbe7d}
.halloween aside{border-color:#78508f80;background:#1a1223;box-shadow:0 10px 35px #0003}
.halloween .community-head{background:linear-gradient(100deg,#362044,#20152c)}
.halloween .tabs{background:#100b18;border-color:#b68bd329}
.halloween .tabs button[aria-pressed=true]{background:#69408455;color:#f0dfff;box-shadow:inset 0 0 0 1px #c49be052}
.halloween .chat-title{background:#2b1b35;border-color:#b68bd32b;color:#f0dfff}
.halloween .chat-title strong span{color:#ffb56b;margin-left:3px}
.halloween .chat.unified{background: url('/halloween-corner-right.svg') top right/72px 72px no-repeat,#140e1b;scrollbar-color:#715086 #140e1b}
.halloween .chat-message{color:#f2eaf8;border-color:#b68bd312}.halloween .chat-message strong{color:#dfbcff}.halloween .chat-message time{color:#baabc6}
.halloween .chat-compose,.halloween .write-panel{background:#1e1428;border-color:#b68bd329}
.halloween .write-toolbar{background:#291b35}
.halloween .twitch-support{background:#271a2d;border-color:#b68bd329}
.halloween .twitch-support a{border-color:#a578c34f;color:#eddaff}
.halloween button:not(.quiet):not(.primary){border-color:#89649f80}
.halloween button:not(.quiet):not(.primary):hover{background:#493054}
.halloween .chat-compose button[aria-pressed=true]{background:#58396e;color:#f4e7ff}
.halloween button.primary{background:#ffb56b;color:#321b0b;border-color:#ffb56b}.halloween button.primary:hover{background:#ffcb98}
.halloween button:focus-visible,.halloween a:focus-visible{outline-color:#ffbe7d}
.halloween .badge{color:#ffbe7d;background:#ffb56b0b;border-color:#ffb56b33}
.halloween .play-mark{color:#ffb56b}
.halloween .view-controls>span::before{content:'✦';margin-right:8px;color:#ffb56b}
.halloween.reaction-focus .main-column{background:#0b0810}
@media(max-width:649px){.halloween .cat-brand::after{width:15px;height:13px;top:-4px;right:-3px}.halloween .screen:has(.empty){background-size:70px 70px,auto,auto}}

/* Yui's supplied Halloween mascot. Its dimensions never depend on image loading. */
.halloween .halloween-mascot{display:flex;align-items:center;justify-content:center;flex:none;width:48px;height:68px}
.halloween .halloween-mascot img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 7px #ff971c25)}
.halloween .screen:has(.empty)::before{content:'';position:absolute;inset:auto 18px 0 auto;width:clamp(95px,15vw,210px);height:65%;background:url('/ratoncita-halloween.png') bottom right/contain no-repeat;opacity:.18;pointer-events:none}
.halloween .screen .empty{position:relative;z-index:1}
@media(max-width:899px){.halloween .halloween-mascot{width:31px;height:44px}}
@media(max-width:649px){.halloween .halloween-mascot{width:23px;height:32px}.halloween .screen:has(.empty)::before{display:none}}

/* Prominent support actions, with compact but tappable mobile sizing. */
.room-page.halloween .twitch-support{gap:10px;padding:12px;background:linear-gradient(120deg,#351b4b,#21152e);border-top:1px solid #ac73e950;border-bottom:1px solid #ac73e950}
.room-page.halloween .twitch-support a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;font-size:15px;font-weight:750;line-height:1.3;border-radius:12px;white-space:nowrap;box-shadow:0 4px 12px #0003}
.room-page.halloween #subscribeTwitch{background:linear-gradient(115deg,#9146ff,#7430cd);border:1px solid #c398ff;color:#fff}
.room-page.halloween #bitsTwitch{background:linear-gradient(115deg,#ffd195,#ffae60);border:1px solid #ffddb0;color:#351b0a}
.room-page.halloween #subscribeTwitch:hover{background:#a366ff}
.room-page.halloween #bitsTwitch:hover{background:#ffdfb8}
.room-page.halloween .twitch-support a:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(max-width:649px){.room-page.halloween .twitch-support{padding:8px;gap:8px}.room-page.halloween .twitch-support a{min-height:44px;font-size:13px;padding:8px 6px;border-radius:10px}}
