/* Halloween Dark Autumn. Served only through authenticated theme-style.
   Keep all future decorations scoped to this single theme identifier. */
html[data-theme=halloween],.front[data-theme=halloween]{
 --halloween-column-shadow:0 0 28px 16px #121518ef;
 --skin-bg:#121518;--skin-secondary:#191b1c;--skin-card:#241a16;
 --skin-panel:#2d231e;--skin-text:#f6eee5;--skin-muted:#c9bdb2;
 --skin-line:#655346;--skin-border:#655346;--skin-accent:#e97822;
 --halloween-candle:#f5b45a;
 --skin-on-accent:#1c1008;--halloween-purple:#594556;--halloween-green:#465242;
 --background:var(--skin-bg);--foreground:var(--skin-text);
 --card:var(--skin-card);--card-foreground:var(--skin-text);
 --popover:var(--skin-panel);--popover-foreground:var(--skin-text);
 --primary:var(--skin-accent);--primary-foreground:var(--skin-on-accent);
 --secondary:var(--skin-secondary);--secondary-foreground:var(--skin-text);
 --muted:var(--skin-panel);--muted-foreground:var(--skin-muted);
 --accent:var(--skin-panel);--accent-foreground:var(--skin-text);
 --border:var(--skin-line);--input:var(--skin-line);--ring:var(--skin-accent);
 color-scheme:dark;
}
html[data-theme=halloween]{background:var(--skin-bg)}
html[data-theme=halloween] body{
 background:radial-gradient(ellipse at 5% 0%,#5945560e,transparent 48%),radial-gradient(ellipse at 96% 30%,#e9782209,transparent 42%),var(--skin-bg)!important;
 color:var(--skin-text);
}
html[data-theme=halloween] #root.front{background:transparent;color:var(--skin-text)}
html[data-theme=halloween] .front .site-header{
 background:var(--skin-secondary);border-color:var(--skin-line);
 box-shadow:0 8px 28px #0003;
}
html[data-theme=halloween] .front .logo{color:#f5f0e8;text-shadow:0 0 18px #e9782230}
html[data-theme=halloween] .front .logo span{color:#e97822}
html[data-theme=halloween] .front .logo i{background:var(--skin-accent);box-shadow:0 0 10px #e9782255}
html[data-theme=halloween] .front .site-header nav a{color:var(--skin-muted)}
html[data-theme=halloween] .front .site-header nav a:is(.active,:hover,:focus-visible){
 color:var(--skin-accent);border-color:var(--skin-accent);
}
html[data-theme=halloween] .front .profile-links a{border-color:var(--skin-line)}
html[data-theme=halloween] .front .profile-links a:hover{background:#5945560d;color:var(--skin-accent)}
html[data-theme=halloween] .front :is(.profile-heading span,.eyebrow,.public-page-title,.feed-heading h1,.feed-heading h2){color:var(--skin-accent)}
html[data-theme=halloween] .front :is(.feed-post,.feed-empty,.clip-card,.recommend-card,.game-cover,.clips-empty){
 border-color:var(--skin-line);box-shadow:0 8px 28px #0003;
}
html[data-theme=halloween] .front .feed-post{--post-card-bg:#241a16}
html[data-theme=halloween] .front .feed-post:has(>.post-pinned-label){
 --post-card-bg:#30231b;border-color:#59455680;box-shadow:0 0 22px #5945560b;
}
html[data-theme=halloween] .front .post-pinned-label{color:var(--skin-accent)}
html[data-theme=halloween] .front :is(.feed-post>h1,.feed-post>h2,.clip-title,.recommend-title){color:var(--skin-text)}
html[data-theme=halloween] .front :is(.recent-live-module,.twitch-status){
 background:var(--skin-secondary);border-color:var(--skin-line);
}
html[data-theme=halloween] .front .twitch-status[data-status=live] .status-dot{
 background:var(--halloween-green);box-shadow:0 0 9px #46524244;
}
html[data-theme=halloween] .front :is(.profile-module-title,.recent-game-name){color:var(--skin-muted)}
html[data-theme=halloween] :is(.primary,.live-watch-button),
html[data-theme=halloween] .front .site-header .twitch-status .live-watch-button,
html[data-theme=halloween] .front .live-modules .live-watch-button{
 background:var(--skin-accent);border-color:var(--skin-accent);color:var(--skin-on-accent);
}
html[data-theme=halloween] :is(.outline,.modal-nav button){
 color:var(--skin-text);border-color:var(--skin-line);
}
html[data-theme=halloween] :is(.outline,.modal-nav button):hover{background:var(--skin-panel);border-color:var(--halloween-purple)}
html[data-theme=halloween] :is(input:not([type=checkbox]):not([type=radio]),textarea,select){
 background:var(--skin-secondary);color:var(--skin-text);border-color:var(--skin-line);accent-color:var(--skin-accent);
}
html[data-theme=halloween] :is(input,textarea)::placeholder{color:var(--skin-muted);opacity:.85}
html[data-theme=halloween] input:is([type=checkbox],[type=radio]){accent-color:var(--skin-accent)}
html[data-theme=halloween] :is(a,button,input,textarea,select):focus-visible{outline-color:var(--skin-accent)}
html[data-theme=halloween] :is(button,a,input,textarea,select){transition:background-color .18s,border-color .18s,color .18s}
html[data-theme=halloween] .front :is(.discussion,.comment,.comment-reply,.comment-emotes button,.chat-presence,.chat-message){
 border-color:var(--skin-line);
}
html[data-theme=halloween] .front :is(.discussion-header,.comment-body){color:var(--skin-text)}
html[data-theme=halloween] .front :is(.comment-head time,.deleted-comment,.discussion-login,.small-meta){color:var(--skin-muted)}
html[data-theme=halloween] .front .comment-controls [aria-pressed=true]{color:var(--skin-accent)}
html[data-theme=halloween] :is(.emote-picker,.emote-popover-menu){background:var(--skin-panel);border-color:var(--skin-line);color:var(--skin-text)}
html[data-theme=halloween] :is(.recommend-tags em,.platform-tag){border-color:var(--skin-line);color:var(--skin-muted)}
html[data-theme=halloween] .recommend-card:hover{border-color:var(--halloween-purple);box-shadow:0 10px 32px #59455615}
html[data-theme=halloween] :is(.recommend-score,.recommend-more,.clip-game){color:var(--skin-accent)}
html[data-theme=halloween] .partners-module{background:var(--skin-secondary);border-color:var(--skin-line)}
html[data-theme=halloween] .partners-module :is(p,.partner-description){color:var(--skin-muted)}
html[data-theme=halloween] .theme-footer{color:var(--skin-muted);border-color:var(--skin-line)}
html[data-theme=halloween] .theme-footer :is(a,button):hover{color:var(--skin-accent)}
html[data-theme=halloween] :is(dialog,.privacy-banner,.privacy-dialog,#chat-panel,#activity-panel){
 background:var(--skin-card);color:var(--skin-text);border-color:var(--skin-line);box-shadow:0 16px 60px #0008;
}
html[data-theme=halloween] dialog::backdrop{background:#0d1012d9}
html[data-theme=halloween] :is(.privacy-banner a,.privacy-dialog a){color:var(--skin-accent)}
html[data-theme=halloween] :is(.drawer-toggle,.drawer-options){
 background:var(--skin-panel);border-color:var(--skin-line);color:var(--skin-muted);box-shadow:0 6px 22px #0005;
}
html[data-theme=halloween] :is(.header-drawer.has-new .drawer-toggle,.drawer-options .has-unread){color:var(--skin-accent)}
html[data-theme=halloween] #toast:not(.error){background:var(--skin-accent);color:var(--skin-on-accent)}
@media(prefers-reduced-motion:reduce){
 html[data-theme=halloween] :is(button,a,input,textarea,select){transition:none}
}

/* Existing font, logo glow and webs. No pumpkin/bat/ghost/mist assets. */
/* rubik-wet-paint-latin-ext-400-normal */
@font-face {
  font-family: 'Rubik Wet Paint';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('api.php?a=theme-font&subset=latin-ext&v=0.40.7') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* rubik-wet-paint-latin-400-normal */
@font-face {
  font-family: 'Rubik Wet Paint';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('api.php?a=theme-font&subset=latin&v=0.40.7') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
html[data-theme=halloween]{
 --halloween-web:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%20fill%3D%22none%22%20stroke%3D%22%23a9959b%22%20stroke-width%3D%22.8%22%20opacity%3D%22.38%22%3E%3Cpath%20d%3D%22M0%200v100M0%200h100M0%200l88%2088M0%200l94%2039M0%200l39%2094%22%2F%3E%3Cpath%20d%3D%22M0%2020q10-4%2014-6%204-4%206-14M0%2040q19-8%2028-12%209-9%2012-28M0%2060q29-12%2042-18%2014-14%2018-42M0%2080q38-16%2057-23%2018-19%2023-57M0%2099q48-19%2070-29%2023-23%2029-70%22%2F%3E%3Cpath%20d%3D%22M14%2014q1%208-6%205M28%2028q1%2016-12%2010M42%2042q2%2024-19%2014M57%2057q1%2030-26%2018M70%2070q4%2036-32%2022%22%2F%3E%3C%2Fsvg%3E");
}
html[data-theme=halloween] .front :is(.public-page-title,.profile-heading){
 font-family:'Rubik Wet Paint','Lato',Arial,sans-serif;font-weight:400;
 letter-spacing:.015em;line-height:1.15;text-wrap:balance;
 text-shadow:0 2px 0 #1b1512,0 0 22px #5945562e;
}
html[data-theme=halloween] .front .profile .profile-heading{
 color:var(--skin-text);letter-spacing:.01em;
 text-shadow:1px 2px 0 #3b2518,0 0 24px #e9782224;
}
html[data-theme=halloween] .front .site-header{
 background:radial-gradient(ellipse at 70% 0,#59455624,transparent 42%),linear-gradient(180deg,#211b17,var(--skin-secondary) 48%);
 box-shadow:inset -1px 0 #59455630,0 6px 30px #0003;
}
html[data-theme=halloween] .front .site-header::after{
 content:"";position:absolute;pointer-events:none;background-repeat:no-repeat;background-size:contain;
}
html[data-theme=halloween] .front .site-header::after{
 width:64px;height:64px;left:0;top:0;background-image:var(--halloween-web);opacity:.5;
}
html[data-theme=halloween] .front .site-header .logo{
 position:relative;color:#f5f0e8;text-shadow:0 0 12px #e9782244,2px 1px 16px #f5b45a55;
}
html[data-theme=halloween] .front .site-header .logo span{color:#e97822}
html[data-theme=halloween] .front .site-header .logo i{position:relative;background:transparent;box-shadow:none}
html[data-theme=halloween] .front .site-header nav a{
 box-shadow:inset 0 0 0 1px transparent;
 transition:color .18s,background-color .18s,box-shadow .18s;
}
html[data-theme=halloween] .front .site-header nav a:is(.active,:focus-visible){
 background:linear-gradient(100deg,#e9782218,#59455616);
 box-shadow:inset 3px 0 var(--skin-accent),inset 0 0 0 1px #59455644,0 0 18px #5945560a;
}
html[data-theme=halloween] .front .site-header nav a:hover{box-shadow:inset 0 0 0 1px #59455666,0 0 18px #59455613}
html[data-theme=halloween] .front .twitch-status{position:relative;border-radius:6px}
html[data-theme=halloween] .front .twitch-status[data-status=live]{
 background:linear-gradient(135deg,#e9782213,#191b1c 65%);
 box-shadow:0 0 20px #e9782212,inset 0 0 0 1px #e9782238;
}
html[data-theme=halloween] .front .twitch-status[data-status=live] .twitch-status-main{color:#f5b45a}
html[data-theme=halloween] .front .twitch-status[data-status=live] .status-dot{
 position:relative;background:var(--skin-accent);box-shadow:0 0 10px #e9782266;
}
html[data-theme=halloween] .front .recent-live-module{
 background-image:var(--halloween-web);background-repeat:no-repeat;background-size:48px 48px;background-position:top left;
 border-top-color:#59455666;
}
html[data-theme=halloween] .front .profile-module-title h2{color:#e4c6a1}
html[data-theme=halloween] .front .recent-game-cover{box-shadow:0 4px 12px #0004;border-color:#655346}
html[data-theme=halloween] .front .recent-game:hover .recent-game-cover{border-color:var(--skin-accent);box-shadow:0 0 13px #e9782224}
html[data-theme=halloween] .front .feed-post{position:relative;box-shadow:0 8px 28px #0004,inset 0 1px #5945560f}
html[data-theme=halloween] .front .feed-post:has(>.post-pinned-label){
 border-color:#59455699;box-shadow:0 6px 26px #59455614,inset 0 1px #e9782224;
}
html[data-theme=halloween] .front .feed-post> :is(h1,h2){text-shadow:0 0 20px #e9782218}
html[data-theme=halloween] .front :is(.clip-card,.recommend-card){
 transition:border-color .18s,box-shadow .18s,background-color .18s;
}
html[data-theme=halloween] .front :is(.clip-card,.recommend-card):is(:hover,:focus-within){
 border-color:#f5b45a;box-shadow:0 6px 26px #59455625;
}
html[data-theme=halloween] .front .recommend-card:hover{transform:none}
html[data-theme=halloween] .front :is(.recommend-cover,.recommend-detail .recommend-cover){
 border-color:#76604c;box-shadow:0 0 0 1px #59455644,0 8px 24px #0005;
}
html[data-theme=halloween] .front .recommend-score{text-shadow:0 0 13px #e9782244}
html[data-theme=halloween] .front .recommend-tags em{background:linear-gradient(130deg,#59455612,#e9782209);border-color:#655346}
html[data-theme=halloween] .front .partners-module{
 position:relative;background-image:var(--halloween-web);background-size:62px 62px;background-position:top left;background-repeat:no-repeat;
}
html[data-theme=halloween] :is(.primary,.live-watch-button):hover{
 background:var(--halloween-candle);border-color:var(--halloween-candle);box-shadow:0 0 18px #f5b45a44;filter:brightness(1.04);
}
html[data-theme=halloween] :is(.outline,.drawer-toggle):hover{box-shadow:0 0 16px #59455624}
html[data-theme=halloween] :is(.comment-form textarea,.chat-compose input):focus{
 border-color:var(--skin-accent);box-shadow:0 0 0 3px #e978221c;outline-color:var(--skin-accent);
}
html[data-theme=halloween] .front .feed-icon-actions button[aria-pressed=true]{text-shadow:0 0 10px #e9782233}
@media(max-width:1000px){
  html[data-theme=halloween] .front .site-header::after{display:none}
 html[data-theme=halloween] .front .site-header{background:linear-gradient(180deg,#211b17,var(--skin-secondary))}
 html[data-theme=halloween] .front .site-header nav a:is(.active,:focus-visible){box-shadow:inset 2px 0 var(--skin-accent),inset 0 0 0 1px #59455644}
 html[data-theme=halloween] .front .theme-footer{background-image:none}
 html[data-theme=halloween] .front :is(.partners-module,.recent-live-module){background-size:36px 36px}
}
@media(max-width:480px){
 html[data-theme=halloween] .front :is(.public-page-title,.profile-heading){overflow-wrap:anywhere}
 }
@media(prefers-reduced-motion:reduce){
 html[data-theme=halloween] .front :is(.site-header nav a,.clip-card,.recommend-card,.recent-game-cover){transition:none}
}


/* Pexels 28996071: local photograph; provenance and license in docs/assets-credits.md. */
html[data-theme=halloween] body{isolation:isolate}
html[data-theme=halloween] body::before{
 content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
 background:linear-gradient(#1215180d,#1215180d),url('api.php?a=theme-art&name=scene&v=0.40.7') center 58%/cover no-repeat;
}
html[data-theme=halloween] .halloween-webs{
 position:fixed;inset:0;z-index:-1;overflow:hidden;overflow:clip;
 pointer-events:none;user-select:none;contain:strict;
}
html[data-theme=halloween] .halloween-webs span{
 position:absolute;top:0;width:clamp(120px,18vw,290px);aspect-ratio:1;opacity:.8;
 pointer-events:none;background:var(--halloween-web) top left/contain no-repeat;
}
html[data-theme=halloween] .halloween-webs .web-left{left:0}
html[data-theme=halloween] .halloween-webs .web-right{right:0;transform:scaleX(-1)}
/* Same geometry and rounding as 0.40.3, new opaque text surfaces. */
html[data-theme=halloween] .front .profile{
 background:#121518ef;box-shadow:var(--halloween-column-shadow);border-radius:12px;
}
html[data-theme=halloween] .front :is(.feed-heading,.feed-toolbar,.games-heading,.clips-heading,.public-page-header,.theme-footer){
 background:#121518ef;box-shadow:0 0 12px 8px #121518ef;border-radius:6px;
}
html[data-theme=halloween] .front .site-header{
 background:linear-gradient(180deg,#241a16ed,#191b1cf0 70%,#191b1cc9);box-shadow:0 0 22px #121518c9,inset -1px 0 #59455644;
}
html[data-theme=halloween] .front .twitch-status[data-status=live]::after{
 content:"";position:absolute;inset:-2px;pointer-events:none;border-radius:inherit;
 box-shadow:0 0 20px #e9782277,inset 0 0 0 1px #f5b45a33;opacity:.35;
}
html[data-theme=halloween] body:has(dialog[open]) .halloween-webs{visibility:hidden}
@media(min-width:1800px){
 html[data-theme=halloween] body::before{background-image:linear-gradient(#1215180d,#1215180d),url('api.php?a=theme-art&name=scene-wide&v=0.40.7')}
}
@media(max-width:1000px){
 html[data-theme=halloween] body::before{
  background-image:linear-gradient(#1215180d,#1215180d),url('api.php?a=theme-art&name=scene-mobile&v=0.40.7');
  background-position:center 58%;
 }
 html[data-theme=halloween] .halloween-webs span{width:120px;opacity:.65}
}
@media(min-width:1001px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 html[data-theme=halloween] .front .twitch-status[data-status=live]::after{animation:halloween-live-light 5s ease-in-out infinite alternate;animation-play-state:paused}
 html[data-theme=halloween][data-halloween-motion=running] .front .twitch-status[data-status=live]::after{animation-play-state:running}
}
@keyframes halloween-live-light{from{opacity:.2}to{opacity:.6}}

/* Keep the full-height scrollable rail, paint only its content and existing gaps. */
@media(min-width:1001px){
 html[data-theme=halloween] .front .site-header{background:none;box-shadow:none}
 html[data-theme=halloween] .front .site-header>.brand-group{
  background:#241a16ed;box-shadow:0 28px 0 #241a16ed;
 }
 html[data-theme=halloween] .front .site-header>nav{
  background:linear-gradient(180deg,#241a16ed,#191b1cf0);box-shadow:0 28px 0 #191b1cf0;
 }
 html[data-theme=halloween] .front .site-header>.live-modules{
  background:#191b1cf0;box-shadow:0 14px 0 #191b1cf0;
 }
}

/* One outer shadow, outside the rail's scroll clipping; no background or layout box. */
@media(min-width:1001px){
 html[data-theme=halloween] .halloween-sidebar-shadow{
  position:fixed;z-index:-1;pointer-events:none;user-select:none;
  background:transparent;box-shadow:var(--halloween-column-shadow);
 }
}

/* Exact supplied static Ozzy artwork; desktop layer escapes the rail scroll clip. */
html[data-theme=halloween] .halloween-ozzy{
 position:fixed;width:70px;height:70px;z-index:31;pointer-events:none;
 background:url('api.php?a=theme-art&name=ozzy&v=0.40.7') center/contain no-repeat;
}
@media(max-width:1000px){
 html[data-theme=halloween] .front .site-header .logo::before{
  content:"";position:absolute;left:50%;top:-7px;transform:translateX(-50%);
  width:50px;height:50px;
  background:url('api.php?a=theme-art&name=ozzy&v=0.40.7') center/contain no-repeat;
 }
}
