:root{
  --dsw-bg:#05080c;--dsw-panel:#0d141d;--dsw-panel2:#111b26;--dsw-line:rgba(255,255,255,.09);
  --dsw-text:#f4f7fb;--dsw-muted:#95a2b0;--dsw-lime:#adff2f;--dsw-green:#65ed78;--dsw-cyan:#64d9ff;
}
html{background:var(--dsw-bg)}
body{background:radial-gradient(circle at 12% 5%,rgba(173,255,47,.055),transparent 28rem),radial-gradient(circle at 88% 8%,rgba(100,217,255,.05),transparent 28rem),var(--dsw-bg)!important;color:var(--dsw-text)!important}
body>header{background:rgba(5,8,12,.86)!important;border-color:var(--dsw-line)!important;box-shadow:0 14px 40px rgba(0,0,0,.32)!important}
.dsw-global-brand-logo{background:linear-gradient(135deg,var(--dsw-lime),var(--dsw-green))!important;color:#061006!important;box-shadow:0 0 24px rgba(173,255,47,.18)!important}
.dsw-global-brand-text{color:#fff!important;text-shadow:none!important}
body>header a:hover{color:var(--dsw-lime)!important}
.dsw-register-cta{background:linear-gradient(135deg,var(--dsw-lime),var(--dsw-green))!important;color:#061006!important;box-shadow:0 12px 30px rgba(101,237,120,.15)!important}
.dsw-register-cta:hover{box-shadow:0 16px 38px rgba(101,237,120,.23)!important}
main a:focus-visible,button:focus-visible{outline:2px solid var(--dsw-lime);outline-offset:3px}
footer{background:#070b10!important;border-color:var(--dsw-line)!important}
@media(max-width:767px){.dsw-global-brand-text{font-size:.95rem!important}.dsw-global-brand{margin-right:8px!important;gap:8px!important}.dsw-global-brand-logo{width:40px!important;height:40px!important;min-width:40px!important}}


/* ===== DSW 2026 COMPLETE UI UPGRADE ===== */
:root{--dsw-accent:#adff2f;--dsw-accent2:#65ed78;--dsw-surface:#0c131c;--dsw-surface2:#101923}
body>main:not(:has(.dsw-home)):not(:has(.vh)):not(:has(.lfg)):not(:has(.dsw-cat)){max-width:1280px!important;padding:28px 16px 54px!important;margin:0 auto!important}
body>main .bg-white,body>main .dark\:bg-slate-800,body>main [class*="bg-white"]{background:linear-gradient(180deg,rgba(17,27,38,.94),rgba(9,15,22,.96))!important;border-color:var(--dsw-line)!important;color:var(--dsw-text)!important}
body>main .text-slate-900,body>main .dark\:text-white{color:var(--dsw-text)!important}
body>main .text-slate-700,body>main .text-slate-600,body>main .text-slate-500,body>main .dark\:text-slate-300,body>main .dark\:text-slate-400{color:#a9b5c1!important}
body>main input,body>main textarea,body>main select{background:#070c12!important;color:#f8fafc!important;border-color:rgba(255,255,255,.12)!important}
body>main input:focus,body>main textarea:focus,body>main select:focus{border-color:rgba(173,255,47,.65)!important;box-shadow:0 0 0 3px rgba(173,255,47,.10)!important}
body>main .rounded-lg,body>main .rounded-xl,body>main .rounded-2xl{border-radius:18px!important}
body>main .bg-indigo-600,body>main .dark\:bg-indigo-500{background:linear-gradient(135deg,var(--dsw-lime),var(--dsw-green))!important;color:#061006!important}
body>main .text-indigo-600,body>main .dark\:text-indigo-400{color:var(--dsw-lime)!important}
body>main a:hover{border-color:rgba(173,255,47,.3)}
.dsw-mobile-nav{display:none}
@media(max-width:767px){
  body>main:not(:has(.dsw-home)):not(:has(.vh)):not(:has(.lfg)):not(:has(.dsw-cat)){padding:18px 10px 40px!important}
  body>header .dsw-global-brand-text{max-width:145px;white-space:normal!important;line-height:1.05!important}
  .dsw-mobile-nav{display:block;padding:0 0 12px}
  .dsw-mobile-nav summary{list-style:none;cursor:pointer;border:1px solid var(--dsw-line);background:#0b121a;color:#fff;border-radius:12px;padding:10px 13px;font-weight:800;display:flex;align-items:center;justify-content:space-between}
  .dsw-mobile-nav summary::-webkit-details-marker{display:none}
  .dsw-mobile-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:9px}
  .dsw-mobile-links a{display:flex;align-items:center;gap:7px;padding:11px 12px;border:1px solid var(--dsw-line);border-radius:12px;background:#0b121a;color:#e7edf4!important;font-size:.88rem;font-weight:750}
}


/* ===== DSW GLOBAL PUBLIC BACKGROUND 2026 =====
   Das Homepage-Hintergrundbild wird über CSS-Variablen aus header.php
   auf allen öffentlichen Unterseiten wiederverwendet. */
body.dsw-public-background{
  background-color:#05080c!important;
  background-image:
    linear-gradient(
      rgba(3,7,11,var(--dsw-global-darkness,.76)),
      rgba(3,7,11,calc(var(--dsw-global-darkness,.76) + .08))
    ),
    radial-gradient(circle at 82% 7%,rgba(173,255,47,.08),transparent 30rem),
    radial-gradient(circle at 12% 30%,rgba(100,217,255,.06),transparent 28rem),
    var(--dsw-global-background,none)!important;
  background-size:cover,auto,auto,cover!important;
  background-position:center top,center,center,center top!important;
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat!important;
  background-attachment:fixed,fixed,fixed,fixed!important;
  color:#f8fafc!important;
}

/* Volle Seitenbreite nur dort, wo die Seite selbst ihren Wrapper verwaltet. */
body.dsw-public-fullbleed>main{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}

/* Klassische Unterseiten (Thread, Members, Profil, Suche usw.). */
body.dsw-public-contained>main{
  width:min(1280px,calc(100% - 32px))!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:34px 0 64px!important;
  background:transparent!important;
}

/* Opaque Vollseiten-Flächen dürfen das Hintergrundbild nicht verdecken. */
body.dsw-public-background .lfg,
body.dsw-public-background .vh,
body.dsw-public-background .dsw-cat{
  background-color:transparent!important;
}

/* Glaseffekt für ältere Tailwind-Karten und Formbereiche. */
body.dsw-public-background>main .bg-white,
body.dsw-public-background>main [class*="bg-white"],
body.dsw-public-background>main .bg-slate-50{
  background:linear-gradient(180deg,rgba(13,21,30,.84),rgba(7,12,18,.90))!important;
  border-color:rgba(255,255,255,.11)!important;
  box-shadow:0 18px 52px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.035)!important;
  backdrop-filter:blur(13px) saturate(120%);
  -webkit-backdrop-filter:blur(13px) saturate(120%);
}

body.dsw-public-background>main .text-slate-900,
body.dsw-public-background>main .text-slate-800,
body.dsw-public-background>main .text-slate-700{
  color:#f7f9fc!important;
}
body.dsw-public-background>main .text-slate-600,
body.dsw-public-background>main .text-slate-500,
body.dsw-public-background>main .text-slate-400{
  color:#b3bec9!important;
}

/* Moderne Spezialseiten: Karten ebenfalls halbtransparent. */
body.dsw-public-background .lfg-filter,
body.dsw-public-background .lfg-card,
body.dsw-public-background .lfg-games,
body.dsw-public-background .lfg-step,
body.dsw-public-background .lfg-empty{
  background:linear-gradient(180deg,rgba(12,20,29,.84),rgba(7,12,18,.90))!important;
  backdrop-filter:blur(12px) saturate(120%);
  -webkit-backdrop-filter:blur(12px) saturate(120%);
}
body.dsw-public-background .vcard,
body.dsw-public-background .vuploader,
body.dsw-public-background .vempty,
body.dsw-public-background .vemptycat{
  background:linear-gradient(180deg,rgba(12,20,29,.84),rgba(7,12,18,.90))!important;
  backdrop-filter:blur(12px) saturate(120%);
  -webkit-backdrop-filter:blur(12px) saturate(120%);
}

/* Kategorie-Seiten verwenden ausschließlich den BODY-Hintergrund.
   Kein zweiter Bild-Layer auf .dsw-cat::before. */
body.dsw-public-background .dsw-cat::before{content:none!important;background:none!important;}
/* Breadcrumbs und Thread-Metadaten bleiben auf Bild gut lesbar. */
body.dsw-public-background>main nav{
  text-shadow:0 1px 12px rgba(0,0,0,.65);
}

/* Footer immer deutlich abgesetzt. */
body.dsw-public-background>footer{
  background:rgba(5,8,12,.96)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

@media(max-width:767px){
  body.dsw-public-background{
    background-attachment:scroll,scroll,scroll,scroll!important;
    background-position:center top,center,center,center top!important;
  }
  body.dsw-public-contained>main{
    width:min(100% - 20px,1280px)!important;
    padding:22px 0 44px!important;
  }
}

/* DSW MITPSIELER BACKGROUND GUARANTEE 2026-08-29 */
body.dsw-public-background main,
body.dsw-public-background .lfg-wrap,
body.dsw-public-background .lfg-hero{
  background-color:transparent!important;
}

/* =========================================================
   DSW V42 – HOMEPAGE MEDIA ENGINE
   Bild, Cinematic Motion oder selbst gehostetes MP4/WebM.
   Eine echte Layer-Struktur verhindert Farbstiche und rechteckige Overlays.
   ========================================================= */
body.dsw-public-background.dsw-homepage-body{
  position:relative!important;
  isolation:isolate;
  overflow-x:hidden;
  background:#05080c!important;
  background-image:none!important;
  background-attachment:scroll!important;
}

body.dsw-public-background.dsw-homepage-body>.dsw-home-bg-layer{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  height:100dvh;
  min-height:100vh;
  aspect-ratio:auto;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  background:#05080c;
  contain:none;
}

.dsw-home-bg-image,
.dsw-home-bg-video,
.dsw-home-bg-shade{
  position:absolute;
  inset:0;
}

.dsw-home-bg-image{
  z-index:0;
  background-color:#05080c;
  background-image:var(--dsw-global-background,none);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  transform:none;
  transform-origin:center center;
}

.dsw-home-bg-video{
  z-index:1;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  opacity:0;
  background:transparent;
  transform:none;
  transition:opacity .45s ease;
}
.dsw-home-bg-video.is-ready{opacity:1;}

.dsw-home-bg-shade{
  z-index:2;
  background:
    radial-gradient(circle at 50% 14%,rgba(0,0,0,.06),rgba(0,0,0,.18) 48%,rgba(0,0,0,.34) 100%),
    linear-gradient(180deg,rgba(0,0,0,var(--dsw-home-darkness,.55)) 0%,rgba(0,0,0,.34) 44%,rgba(0,0,0,.62) 100%);
}


/* V42: "Aus" ist ein echter deaktivierter Zustand; Bild und Video bleiben nur gespeichert. */
body.dsw-bg-mode-off>.dsw-home-bg-layer{display:none!important;}
body.dsw-bg-mode-image .dsw-home-bg-video{display:none!important;}

/* Optionaler Motion-Modus: das vorhandene Bild bewegt sich sehr langsam,
   ohne ein schweres Video laden zu müssen. */
body.dsw-bg-mode-motion .dsw-home-bg-image{
  animation:dsw-home-cinematic 28s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes dsw-home-cinematic{
  0%{transform:scale(1.015) translate3d(-.35%,0,0);}
  50%{transform:scale(1.045) translate3d(.25%,-.35%,0);}
  100%{transform:scale(1.025) translate3d(.45%,0,0);}
}

/* Inhalt liegt garantiert über der Hintergrund-Ebene. */
body.dsw-public-background.dsw-homepage-body>header,
body.dsw-public-background.dsw-homepage-body>main,
body.dsw-public-background.dsw-homepage-body>footer{
  position:relative;
  z-index:1;
}
body.dsw-public-background.dsw-homepage-body>header{
  z-index:50;
  background:rgba(4,8,12,.76)!important;
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  backdrop-filter:blur(18px) saturate(135%);
  box-shadow:0 12px 38px rgba(0,0,0,.30)!important;
}
body.dsw-public-background.dsw-homepage-body>main{background:transparent!important;}
body.dsw-public-background.dsw-homepage-body::before,
body.dsw-public-background.dsw-homepage-body::after{
  content:none!important;
  display:none!important;
}

/* Desktop: viewport-feste Bühne ohne horizontale Übergangskanten.
   Auf 16:9 und breiteren Displays wird das Bild proportional über die Breite skaliert;
   auf höheren Displays nutzt es cover, damit niemals ein leerer Streifen entsteht. */
@media (min-width:768px) and (min-aspect-ratio:16/9){
  .dsw-home-bg-image{
    background-size:100% auto;
    background-position:center top;
  }
  .dsw-home-bg-video{object-position:center top;}
}
@media (min-width:768px) and (max-aspect-ratio:16/9){
  .dsw-home-bg-image{background-size:cover;background-position:center center;}
  .dsw-home-bg-video{object-position:center center;}
}

/* Mobil: kein Autoplay-Hintergrundvideo. Das Posterbild bleibt performant. */
@media(max-width:767px){
  body.dsw-public-background.dsw-homepage-body>.dsw-home-bg-layer{
    height:100vh;
    height:100dvh;
    min-height:100vh;
  }
  .dsw-home-bg-image{
    background-image:var(--dsw-mobile-background,var(--dsw-global-background,none));
    background-size:cover;
    background-position:center top;
  }
  .dsw-home-bg-video{display:none!important;}
  .dsw-home-bg-shade{
    background:linear-gradient(
      180deg,
      rgba(0,0,0,.66) 0%,
      rgba(0,0,0,.30) 38%,
      rgba(0,0,0,.74) 78%,
      rgba(0,0,0,.82) 100%
    );
  }
}

@media(prefers-reduced-motion:reduce){
  body.dsw-bg-mode-motion .dsw-home-bg-image{animation:none!important;transform:none!important;}
  .dsw-home-bg-video{display:none!important;}
}

/* =========================================================
   DSW HOMEPAGE NEWS TICKER V21 - 2026-08-29
   Wird nur gerendert, wenn der Admin-Ticker aktiv ist.
   ========================================================= */
.dsw-top-ticker{
    position:relative;
    z-index:38;
    width:100%;
    min-height:44px;
    overflow:hidden;
    background:linear-gradient(90deg,rgba(3,7,12,.97),rgba(10,18,25,.94) 50%,rgba(3,7,12,.97));
    border-top:1px solid rgba(173,255,47,.10);
    border-bottom:1px solid rgba(173,255,47,.28);
    box-shadow:0 12px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.035);
    color:#f8fafc;
}
.dsw-top-ticker-glow{
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 15% 50%,rgba(173,255,47,.11),transparent 22%),
        radial-gradient(circle at 82% 50%,rgba(168,85,247,.10),transparent 24%);
}
.dsw-top-ticker-window{
    position:relative;
    overflow:hidden;
    width:100%;
    min-height:44px;
    display:flex;
    align-items:center;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);
}
.dsw-top-ticker-track{
    display:flex;
    align-items:center;
    flex:none;
    width:max-content;
    min-width:max-content;
    white-space:nowrap;
    will-change:transform;
    animation-name:dswTopTickerMarquee;
    animation-timing-function:linear;
    animation-iteration-count:infinite;
}
.dsw-top-ticker-item{
    display:inline-flex;
    align-items:center;
    gap:.72rem;
    flex:0 0 auto;
    min-width:max-content;
    padding:0 3.25rem 0 1rem;
    font-size:.86rem;
    font-weight:700;
    letter-spacing:.01em;
    line-height:44px;
    text-shadow:0 1px 13px rgba(0,0,0,.55);
}
.dsw-top-ticker-item strong{
    color:#b9ff4a;
    font-size:.76rem;
    font-weight:1000;
    letter-spacing:.08em;
}
.dsw-top-ticker-icon{
    color:#b9ff4a;
    font-size:1.14rem!important;
    filter:drop-shadow(0 0 8px rgba(173,255,47,.34));
}
.dsw-top-ticker-separator{
    color:rgba(185,255,74,.72);
}
.dsw-top-ticker:hover .dsw-top-ticker-track{
    animation-play-state:paused;
}
@keyframes dswTopTickerMarquee{
    from{transform:translate3d(0,0,0);}
    to{transform:translate3d(-50%,0,0);}
}
@media(max-width:767.98px){
    .dsw-top-ticker,
    .dsw-top-ticker-window{min-height:40px;}
    .dsw-top-ticker-item{
        line-height:40px;
        font-size:.79rem;
        gap:.58rem;
        padding-right:2.4rem;
    }
    .dsw-top-ticker-item strong{font-size:.70rem;}
}
@media(prefers-reduced-motion:reduce){
    .dsw-top-ticker-track{
        animation:none!important;
        transform:none!important;
    }
    .dsw-top-ticker-window{
        overflow-x:auto;
        scrollbar-width:none;
    }
    .dsw-top-ticker-window::-webkit-scrollbar{display:none;}
    .dsw-top-ticker-item[aria-hidden="true"]{display:none;}
}



/* DSW V35 - NO HERO COLOR CAST / NO GREEN RECTANGLE */
body.dsw-public-background.dsw-homepage-body>.dsw-home-bg-layer{
  filter:none!important;
  mix-blend-mode:normal!important;
}
body.dsw-public-background.dsw-homepage-body .dsw-hero,
body.dsw-public-background.dsw-homepage-body .dsw-hero-grid,
body.dsw-public-background.dsw-homepage-body .dsw-hero-copy{
  background:transparent!important;
  background-image:none!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}
body.dsw-public-background.dsw-homepage-body .dsw-hero::before,
body.dsw-public-background.dsw-homepage-body .dsw-hero::after{
  content:none!important;
  display:none!important;
  background:none!important;
}

/* =========================================================
   DSW V49 SAFE UPGRADE – layout stability, accessibility, PWA
   ========================================================= */
:root{
  --dsw-content-max:1440px;
  --dsw-content-gutter:40px;
}
html{
  overflow-y:scroll;
  scrollbar-gutter:stable;
}
.dsw-skip-link{
  position:fixed;
  left:14px;
  top:12px;
  z-index:9999;
  transform:translateY(-160%);
  padding:10px 14px;
  border-radius:12px;
  background:#adff2f;
  color:#061006!important;
  font-weight:900;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
  transition:transform .16s ease;
}
.dsw-skip-link:focus{transform:translateY(0)}
#dsw-main-content:focus{outline:none}

/* One central content rail for the large community surfaces. */
.dsw-wrap,
.dsw-forum-page,
.dsw-cat-wrap,
.dsw-members-wrap,
.vw,
.lfg-wrap{
  width:min(var(--dsw-content-max),calc(100% - var(--dsw-content-gutter)))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}


/* V51.2: clearly visible PWA install action in the top header. */
.dsw-install-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:36px;
  padding:7px 11px;
  border:1px solid rgba(173,255,47,.32);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(173,255,47,.14),rgba(173,255,47,.07));
  color:#dfff9a!important;
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:0 0 0 1px rgba(0,0,0,.12) inset;
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;
}
.dsw-install-trigger:hover{
  border-color:rgba(173,255,47,.65);
  background:rgba(173,255,47,.18);
  color:#adff2f!important;
  transform:translateY(-1px);
}
.dsw-install-trigger .material-symbols-rounded{font-size:19px}
@media(max-width:1100px){
  .dsw-install-trigger{padding:7px 9px}
  .dsw-install-trigger-label{display:none}
}

.dsw-mobile-install-link{
  width:100%;
  display:flex;
  align-items:center;
  gap:7px;
  padding:11px 12px;
  border:1px solid var(--dsw-line);
  border-radius:12px;
  background:#0b121a;
  color:#e7edf4!important;
  font-size:.88rem;
  font-weight:750;
  text-align:left;
  cursor:pointer;
}
.dsw-mobile-install-link:hover{border-color:rgba(173,255,47,.34);color:#adff2f!important}
.dsw-install-dialog{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.dsw-install-dialog-card{
  position:relative;
  width:min(440px,100%);
  padding:28px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  background:linear-gradient(180deg,#111b26,#080d13);
  color:#f7fafc;
  box-shadow:0 28px 90px rgba(0,0,0,.55);
}
.dsw-install-dialog-card h2{margin:8px 0 10px;font-size:1.45rem;font-weight:950}
.dsw-install-dialog-card p{margin:0;color:#c2ccd6;line-height:1.65}
.dsw-install-dialog-note{margin-top:10px!important;font-size:.88rem;color:#93a2b1!important}
.dsw-install-dialog-icon{font-size:2rem}
.dsw-install-dialog-close{
  position:absolute;right:14px;top:12px;border:0;background:transparent;color:#fff;font-size:1.8rem;cursor:pointer
}
.dsw-install-dialog-ok{
  width:100%;margin-top:20px;padding:12px 15px;border:0;border-radius:13px;background:linear-gradient(135deg,#adff2f,#65ed78);color:#061006;font-weight:950;cursor:pointer
}
@media(max-width:767px){
  :root{--dsw-content-gutter:20px}
}
@media(prefers-reduced-motion:reduce){
  .dsw-skip-link{transition:none}
  *,*::before,*::after{scroll-behavior:auto!important}
}
