/* StreamWave Gotham Nights — self-contained theme, no JavaScript required */
:root{--swft-bg:#070c13;--swft-panel:#111e2a;--swft-hero:#0b1420;--swft-border:#496578;--swft-text:#f1f6fb;--swft-muted:#b9cbd7;--swft-link:#8cdeff;--swft-accent:#e3c06b;--swft-field:#101b28;--theme-bg:#070c13;--theme-panel:#111e2a;--theme-text:#f1f6fb;--theme-muted:#b9cbd7;--theme-border:#496578;--theme-accent:#e3c06b;--theme-link:#8cdeff;--theme-field:#101b28}
body.swft-batman-gotham-nights{color-scheme:dark!important;background:#070c13!important;color:#f1f6fb!important}
/* Six original Gotham wallpapers. Automatic 60-second loop: a new scene every 10 seconds.
   Each scene crossfades over 2 seconds. Scrolling does not control the slideshow. */
body.swft-batman-gotham-nights::before,
body.swft-batman-gotham-nights::after{
 content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
 background-position:center;background-size:cover;background-repeat:no-repeat;
 will-change:opacity;animation-duration:60s;animation-timing-function:linear;
 animation-iteration-count:infinite;animation-fill-mode:both;
}
body.swft-batman-gotham-nights::before{
 background-image:url('assets/gotham-1.jpg');animation-name:gotham-timed-a;
}
body.swft-batman-gotham-nights::after{
 background-image:url('assets/gotham-2.jpg');animation-name:gotham-timed-b;
}
/* A: scenes 1, 3, 5. Images switch only while this layer is invisible. */
@keyframes gotham-timed-a{
 0%,13.333%{opacity:.92;background-image:url('assets/gotham-1.jpg')}
 16.667%,18%{opacity:0;background-image:url('assets/gotham-1.jpg')}
 18.001%,30%{opacity:0;background-image:url('assets/gotham-3.jpg')}
 33.333%,46.666%{opacity:.92;background-image:url('assets/gotham-3.jpg')}
 50%,51%{opacity:0;background-image:url('assets/gotham-3.jpg')}
 51.001%,63.333%{opacity:0;background-image:url('assets/gotham-5.jpg')}
 66.667%,80%{opacity:.92;background-image:url('assets/gotham-5.jpg')}
 83.333%,85%{opacity:0;background-image:url('assets/gotham-5.jpg')}
 85.001%,96.666%{opacity:0;background-image:url('assets/gotham-1.jpg')}
 100%{opacity:.92;background-image:url('assets/gotham-1.jpg')}
}
/* B: scenes 2, 4, 6. */
@keyframes gotham-timed-b{
 0%,13.333%{opacity:0;background-image:url('assets/gotham-2.jpg')}
 16.667%,30%{opacity:.92;background-image:url('assets/gotham-2.jpg')}
 33.333%,35%{opacity:0;background-image:url('assets/gotham-2.jpg')}
 35.001%,46.666%{opacity:0;background-image:url('assets/gotham-4.jpg')}
 50%,63.333%{opacity:.92;background-image:url('assets/gotham-4.jpg')}
 66.667%,68%{opacity:0;background-image:url('assets/gotham-4.jpg')}
 68.001%,80%{opacity:0;background-image:url('assets/gotham-6.jpg')}
 83.333%,96.666%{opacity:.92;background-image:url('assets/gotham-6.jpg')}
 100%{opacity:0;background-image:url('assets/gotham-6.jpg')}
}
body.swft-batman-gotham-nights .swf{color:#f1f6fb!important}
/* Tall cinematic hero with moving searchlight and illuminated typography. */
body.swft-batman-gotham-nights .swf .hero{position:relative!important;isolation:isolate;overflow:hidden!important;min-height:clamp(360px,43vw,590px)!important;padding:clamp(65px,9vw,130px) clamp(24px,5vw,70px) 100px!important;background:linear-gradient(90deg,#07101cf5 0%,#0b1822c2 45%,#0a101855 100%),url('assets/gotham-4.jpg') center 45%/cover no-repeat!important;border:2px solid #728b9c!important;border-bottom:5px solid #e0bb68!important;border-radius:18px!important;box-shadow:0 0 0 4px #091018,0 20px 70px #000d,inset 0 0 90px #0008!important}
body.swft-batman-gotham-nights .swf .hero::before{content:'';position:absolute;inset:-30%;z-index:-1;pointer-events:none;background:conic-gradient(from 0deg at 65% 5%,transparent 0deg,#b4dfff1f 18deg,transparent 36deg 320deg,#b4dfff1f 338deg,transparent 360deg);animation:gotham-searchlight 12s ease-in-out infinite alternate}
body.swft-batman-gotham-nights .swf .hero::after{content:'GOTHAM  •  THE NIGHT IS WATCHING';position:absolute;bottom:25px;left:clamp(24px,5vw,70px);color:#f0d78e;font-size:clamp(10px,1.3vw,15px);letter-spacing:.2em;text-shadow:0 0 18px #d7c78b;animation:gotham-breathe 4s ease-in-out infinite alternate}
body.swft-batman-gotham-nights .swf .hero h1{font-size:clamp(36px,6vw,78px)!important;color:#f7fbff!important;font-weight:900!important;letter-spacing:.06em!important;text-shadow:0 4px 12px #000,0 0 26px #7bbfe7!important}
body.swft-batman-gotham-nights .swf .hero p{color:#e0ebf3!important;font-size:clamp(15px,1.7vw,20px)!important;text-shadow:0 2px 8px #000!important}
/* Full-width, high-contrast Gotham category headers. */
body.swft-batman-gotham-nights .swf :is(.swf-category-head,.panel>h2,.side-panel>h2,.side-panel>h3){position:relative!important;isolation:isolate!important;display:flex!important;align-items:center!important;box-sizing:border-box!important;width:100%!important;min-height:108px!important;margin:0!important;padding:22px 115px 22px 28px!important;overflow:hidden!important;background:linear-gradient(95deg,#08101ef9 0%,#172c3ae8 47%,#06101db0 100%),url('assets/gotham-5.jpg') center 40%/cover no-repeat!important;color:#f5e0a4!important;border:0!important;border-left:9px solid #d3ae5e!important;border-bottom:4px solid #8ab8d3!important;border-radius:0!important;font-weight:900!important;font-size:clamp(18px,2.3vw,27px)!important;letter-spacing:.07em!important;text-shadow:0 3px 8px #000,0 0 15px #d7ba7770!important;box-shadow:inset 0 1px #ffffff40,0 7px 24px #000a!important}
body.swft-batman-gotham-nights .swf :is(.swf-category-head,.panel>h2,.side-panel>h2,.side-panel>h3)::before{content:'';position:absolute;right:17px;top:50%;width:76px;height:76px;transform:translateY(-50%);background:url('assets/icon-01.png') center/contain no-repeat;filter:drop-shadow(0 0 12px #b9e5ff);animation:gotham-breathe 3s ease-in-out infinite alternate;pointer-events:none}
body.swft-batman-gotham-nights .swf :is(.swf-category-head,.panel>h2,.side-panel>h2,.side-panel>h3)::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 0%,#c4e8ff00 35%,#d5f0ff2e 49%,#c4e8ff00 63%);animation:gotham-sweep 8s ease-in-out infinite}
body.swft-batman-gotham-nights .swf :is(.panel,.side-panel,.swf-category,.post,.postbit,.swf-tree-node){background:linear-gradient(145deg,#132334f2,#09131ff4)!important;color:#f1f6fb!important;border:1px solid #476478!important;border-radius:12px!important;box-shadow:0 9px 25px #0009,inset 0 1px #b1d6e51b!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node,.item,.topic-row,.post){background:#111f2cf2!important;color:#f1f6fb!important;border-color:#3d5c6c!important;transition:background .25s,border-color .25s,transform .25s}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node,.item,.topic-row):hover{background:#1e3443f5!important;border-color:#d5b86e!important}
body.swft-batman-gotham-nights .swf a,body.swft-batman-gotham-nights .swf a:visited{color:#99e0ff!important;opacity:1!important}body.swft-batman-gotham-nights .swf a:hover{color:#fff1bd!important}
body.swft-batman-gotham-nights .swf :is(.muted,.meta,.subtle){color:#bdcfdb!important;opacity:1!important}
body.swft-batman-gotham-nights .swf :is(.btn,button,input[type=submit]){background:linear-gradient(#e7cc85,#ad8439)!important;color:#111b25!important;border:1px solid #f9e4a9!important;font-weight:800!important;text-shadow:none!important}
body.swft-batman-gotham-nights .swf :is(input,textarea,select){background:#0c1926!important;color:#f5f9ff!important;border:1px solid #65889e!important}
body.swft-batman-gotham-nights .swf :is(.topbar,.navbar,.site-nav,.swf-nav,.swf-topnav){background:linear-gradient(#162c3b,#08121e)!important;border-bottom:2px solid #bfa363!important}
body.swft-batman-gotham-nights :is(.cb,.shoutbox,.swsh2,.sw-services-footer){--cb-panel:#132536;--cb-text:#f2f8fc;--cb-muted:#c1d1dd;--cb-border:#4d7188;--cb-accent:#e2c276;--cb-link:#99e0ff;--cb-field:#0c1926;--swft-panel:#132536;--swft-border:#4d7188;--swft-text:#f2f8fc;color:#f2f8fc!important}
body.swft-batman-gotham-nights :is(footer,.swf-footer,.sw-services-footer){background:linear-gradient(#162c3b,#07111c)!important;color:#f0f6fa!important;border-top:3px solid #c5a665!important}
/* Actual supplied PNG forum icons, cycling by forum position. */
body.swft-batman-gotham-nights .swf :is(.swf-forum-icon,[class*="forum-icon"]){position:relative!important;display:block!important;box-sizing:border-box!important;width:72px!important;height:72px!important;min-width:72px!important;min-height:72px!important;flex:0 0 72px!important;border:1px solid #7798a7!important;border-radius:12px!important;background-color:#101e2b!important;background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important;font-size:0!important;color:transparent!important;text-shadow:none!important;overflow:hidden!important;box-shadow:0 0 10px #7cbded33!important;animation:gotham-icon-glow 4s ease-in-out infinite alternate}
body.swft-batman-gotham-nights .swf :is(.swf-forum-icon,[class*="forum-icon"]) > *,body.swft-batman-gotham-nights .swf :is(.swf-forum-icon,[class*="forum-icon"])::before{display:none!important;content:none!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+1) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-01.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+2) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-02.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+3) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-03.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+4) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-04.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+5) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-05.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+6) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-06.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+7) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-07.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+8) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-08.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+9) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-09.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+10) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-10.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+11) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-11.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+12) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-12.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+13) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-13.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+14) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-14.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+15) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-15.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+16) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-16.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+17) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-17.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+18) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-18.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+19) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-19.png')!important}
body.swft-batman-gotham-nights .swf :is(.swf-forum-row,.swf-forum-node):nth-child(20n+20) :is(.swf-forum-icon,[class*="forum-icon"]){background-image:url('assets/icon-20.png')!important}
@keyframes gotham-searchlight{from{transform:rotate(-9deg) scale(1)}to{transform:rotate(13deg) scale(1.08)}}@keyframes gotham-breathe{from{opacity:.65;filter:drop-shadow(0 0 3px #7ccfff)}to{opacity:1;filter:drop-shadow(0 0 16px #d9eaff)}}@keyframes gotham-sweep{from{transform:translateX(-130%)}to{transform:translateX(130%)}}@keyframes gotham-icon-glow{from{box-shadow:0 0 4px #79bde733}to{box-shadow:0 0 18px #a4dbff77}}
@media(max-width:700px){body.swft-batman-gotham-nights .swf .hero{min-height:330px!important;padding:75px 22px 70px!important}body.swft-batman-gotham-nights .swf :is(.swf-category-head,.panel>h2,.side-panel>h2){min-height:78px!important;padding:15px 74px 15px 15px!important}body.swft-batman-gotham-nights .swf :is(.swf-category-head,.panel>h2)::before{width:48px;height:48px}body.swft-batman-gotham-nights .swf :is(.swf-forum-icon,[class*="forum-icon"]){width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;flex-basis:52px!important}}
@media(prefers-reduced-motion:reduce){body.swft-batman-gotham-nights *,body.swft-batman-gotham-nights *::before,body.swft-batman-gotham-nights *::after{animation:none!important;transition:none!important}}
