:root{--bg:#0b0907;--panel:#17110d;--panel2:#211710;--text:#f2dfbd;--muted:#b99d73;--gold:#c7903f;--red:#8e2f24;--green:#557048;--line:#3a2718;--shadow:rgba(0,0,0,.45)}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(circle at 15% 5%,rgba(199,144,63,.20),transparent 28%),radial-gradient(circle at 90% 20%,rgba(142,47,36,.18),transparent 30%),linear-gradient(135deg,#070604,#15100c 45%,#090807);min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,black,transparent 92%)}
a{color:var(--gold);text-decoration:none}.wrap{max-width:1250px;margin:0 auto;padding:22px}.hero{border:1px solid var(--line);border-radius:24px;padding:28px;background:linear-gradient(135deg,rgba(33,23,16,.94),rgba(11,9,7,.78)),url('/assets/bayou-bg.svg') center/cover;box-shadow:0 18px 50px var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:50%;background:rgba(199,144,63,.15);filter:blur(20px)}.brand{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:bold}.title{font-size:42px;margin:8px 0 6px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.sub{color:var(--muted);font-size:16px;max-width:850px}.nav{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.btn,button{border:1px solid #6b4421;background:linear-gradient(180deg,#c7903f,#7a4e22);color:#140d07;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.25)}.btn.secondary,button.secondary{background:#1b130e;color:var(--text);border-color:var(--line)}.btn.danger,button.danger{background:linear-gradient(180deg,#a74333,#692019);color:#fff}.btn.ok,button.ok{background:linear-gradient(180deg,#73965e,#435a38);color:#091005}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:18px}.card{background:linear-gradient(180deg,rgba(33,23,16,.96),rgba(17,12,9,.96));border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 14px 34px var(--shadow)}.card h2,.card h3{margin:0 0 14px;text-transform:uppercase;letter-spacing:.04em}.small{font-size:13px;color:var(--muted)}.notice{padding:12px 14px;border:1px solid var(--line);background:#120e0b;border-radius:12px;margin:12px 0;color:var(--muted)}.err{border-color:#7a261e;color:#ffb8ae}.okmsg{border-color:#557048;color:#d2f0c2}input,textarea,select{width:100%;background:#100c09;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:10px;margin:5px 0 10px;outline:none}label{display:block;font-size:13px;color:var(--muted);font-weight:bold;text-transform:uppercase;letter-spacing:.05em}table{width:100%;border-collapse:collapse;background:rgba(16,12,9,.72);border-radius:14px;overflow:hidden}th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:#17110d}tr:hover{background:rgba(199,144,63,.06)}.rank{font-size:24px;font-weight:900;color:var(--gold)}.logo{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #69451f;background:#0b0907}.logo.smallLogo{width:36px;height:36px}.teamline{display:flex;align-items:center;gap:12px}.pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:4px 8px;color:var(--muted);font-size:12px;background:#120d0a}.pill.gold{color:#ffe0a5;border-color:#76501f}.pill.red{color:#ffb4aa;border-color:#70251e}.pill.green{color:#d8efc7;border-color:#557048}.split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scoreGrid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px}.scoreBox{border:1px solid var(--line);border-radius:12px;padding:10px;background:#100c09}.footer{margin:22px 0;color:var(--muted);font-size:12px;text-align:center}.overlay{background:transparent}.overlay .wrap{max-width:760px}.overlay .hero{padding:16px}.overlay table{font-size:18px}.hidden{display:none!important}@media(max-width:760px){.title{font-size:30px}.scoreGrid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}th:nth-child(n+4),td:nth-child(n+4){display:none}}

/* Screenshots */
.shotUploadBox{margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(16,12,9,.72)}
.screenshotGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:12px}
.shotCard{border:1px solid var(--line);border-radius:14px;background:#100c09;padding:12px;display:grid;gap:10px}
.shotCard img{width:100%;height:170px;object-fit:cover;border-radius:10px;border:1px solid #3a2718;background:#070604}
.adminShots .shotCard{grid-template-columns:220px 1fr;align-items:start}
.adminShots .shotCard img{height:140px}
.adminShots textarea{min-height:72px}
@media(max-width:760px){.adminShots .shotCard{grid-template-columns:1fr}.shotCard img{height:190px}}

/* V3.3 Ergänzungen */
.mini { padding: 4px 8px; font-size: 0.78rem; margin-left: 6px; }
.unread { border-color: rgba(201, 138, 50, 0.55); box-shadow: 0 0 22px rgba(201, 138, 50, 0.18); }
.captainBox, .shotUploadBox { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); }
#rulesContent p { line-height: 1.55; }
#rulesContent h1, #rulesContent h2, #rulesContent h3 { margin-bottom: 6px; }

/* V3.5 Credits & Superadmin */
.supporterCard h3 { color: var(--gold); }
hr { border: 0; border-top: 1px solid var(--line); margin: 18px 0; }

.timerBig{font-size:2rem;font-weight:900;letter-spacing:.06em;color:var(--accent);}
.card.soft{background:rgba(255,214,150,.06);box-shadow:none;}
/* V3.9 Ergänzungen */
.footer{margin:28px auto 12px auto;text-align:center;color:var(--muted);font-size:.9rem}.footer a{color:var(--accent)}
.glowGreen{color:#7CFF8A;text-shadow:0 0 8px rgba(65,255,120,.65),0 0 18px rgba(65,255,120,.35);font-weight:900}.shotTeam summary{cursor:pointer;font-size:1.1rem;margin-bottom:12px}.rulesVideo{width:100%;max-height:520px;border-radius:14px;border:1px solid var(--border);background:#000}.mini{padding:4px 8px;font-size:.8rem}.captainBox{border:1px solid var(--border);border-radius:14px;padding:14px;margin:14px 0;background:rgba(0,0,0,.18)}.timerBig{font-size:2rem;font-weight:900;color:var(--accent)}

.passwordRow{display:flex;gap:8px;align-items:center}.passwordRow input{flex:1}.passwordRow button{width:auto;white-space:nowrap}.glowGreen{color:#9dff9d;text-shadow:0 0 12px #20d020,0 0 25px #20d020}
details.card>summary{cursor:pointer;font-size:1.1rem;list-style:none}details.card>summary::-webkit-details-marker{display:none}details.card>summary:before{content:"▶ ";color:var(--accent)}details.card[open]>summary:before{content:"▼ "}


/* V3.11 Ergänzungen */
details.card > summary { cursor: pointer; font-size: 1.05rem; padding: 4px 0 12px; }
.videoBox { position: relative; width: 100%; aspect-ratio: 16 / 9; background: rgba(0,0,0,.45); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; }
.videoBox iframe, .videoBox video { width: 100%; height: 100%; border: 0; display: block; }
audio { width: 100%; margin-top: 12px; }
.scoreDetails { margin-top: 14px; }


/* V3.12 Mobile-Optimierung */
.videoBox{position:relative;width:100%;padding-top:56.25%;overflow:hidden;border-radius:14px;background:#000}
.videoBox iframe,.videoBox video{position:absolute;inset:0;width:100%;height:100%;border:0}
audio{max-width:100%}
@media (max-width: 720px){
  body{font-size:15px;}
  .wrap{width:100%;max-width:100%;padding:0 10px;box-sizing:border-box;}
  .hero,.card,details.card{padding:14px;margin:12px 0;border-radius:14px;}
  .title{font-size:1.65rem;line-height:1.15;}
  .brand{font-size:1rem;}
  .nav{display:flex;flex-direction:column;align-items:stretch;gap:8px;}
  .nav .btn,.nav button,button,.btn{width:100%;box-sizing:border-box;text-align:center;}
  .grid,.grid.two,.grid.three{grid-template-columns:1fr!important;}
  input,select,textarea{font-size:16px;max-width:100%;}
  table{display:block;overflow-x:auto;white-space:nowrap;}
  .teamline{align-items:flex-start;}
}

/* V3.13 PWA Install Button */
.pwa-install-button {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  display: none;
  max-width: calc(100vw - 36px);
  box-shadow: 0 0 24px rgba(201, 138, 50, 0.35);
}

@media (display-mode: standalone) {
  body {
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
  }
}

@media (max-width: 640px) {
  .pwa-install-button {
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: calc(100% - 24px);
  }
}


/* V3.16 fixes */
.accountIdBig{display:inline-block;margin-top:6px;font-size:1.25rem;font-weight:900;letter-spacing:.08em;color:#f6e6c8;background:rgba(201,138,50,.18);border:1px solid rgba(201,138,50,.35);border-radius:10px;padding:8px 12px}
#nav a[href="/datenschutz"], #nav a[href="/impressum"]{display:none!important}
.pill.blue{background:#1f5f9c;color:#fff}


/* V3.16.1 Upload-Hinweis und Legal-Reiter */
.upload-limit-info {
  display: inline-block;
  margin-left: 4px;
  color: var(--muted, #b8a98d);
  font-size: 0.9rem;
  font-weight: 600;
}
.upload-limit-info-extra {
  margin: 6px 0 0 0;
  display: block;
}
#legalTabsV3161 {
  border-color: rgba(201, 138, 50, 0.55);
}
#legalTabsV3161 summary {
  cursor: pointer;
  color: var(--accent, #c98a32);
  font-size: 1.05rem;
}
.legal-tab-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 14px 0;
}
.legal-tab.active {
  filter: brightness(1.18);
  box-shadow: 0 0 18px rgba(201, 138, 50, 0.25);
}
.legal-tab-panel.hidden {
  display: none;
}
#legalTabsV3161 textarea {
  width: 100%;
  min-height: 260px;
  resize: vertical;
}


/* V3.16.2 feste Upload-Info und Datenschutz/Impressum-Reiter */
.upload-limit-info {
  display: inline-block;
  color: var(--muted, #b8a98d);
  font-size: 0.9rem;
  font-weight: 700;
  margin-left: 4px;
}
.legalAdminDetails summary {
  cursor: pointer;
  color: var(--accent, #c98a32);
  font-size: 1.05rem;
}
.legalTabNav {
  margin: 12px 0 16px;
}
.legalPanel.hidden {
  display: none !important;
}
.legalPanel textarea {
  width: 100%;
  min-height: 280px;
  resize: vertical;
}


/* V3.16.3 Rollenauswahl Fix */
#users select:disabled,
#users option:disabled {
  opacity: 0.65;
}
#users button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
#users .notice {
  margin-bottom: 12px;
}


/* V3.16.4 Datei-Upload Helfer */
.file-upload-helper {
  margin: 8px 0 12px;
  padding: 10px;
  border: 1px solid rgba(255, 214, 150, 0.16);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.18);
}
.selected-file-name {
  color: var(--muted, #b8a98d);
  font-size: 0.92rem;
  margin-bottom: 8px;
  word-break: break-word;
}
.clear-file-btn {
  padding: 7px 10px;
  font-size: 0.86rem;
}
.clear-file-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.file-error {
  margin-top: 8px;
  color: #ff9b8f;
  font-weight: 700;
  font-size: 0.9rem;
}


/* V3.16.5 Support-Kategorien und gesponserte Giveaways */
.giveawaySponsorFields {
  margin: 12px 0;
  padding: 12px;
  border: 1px solid rgba(201, 138, 50, 0.35);
  border-radius: 12px;
  background: rgba(201, 138, 50, 0.08);
}
.sponsorInfo {
  border-left: 4px solid var(--accent, #c98a32);
}
.sponsoredGiveawayCard {
  border-color: rgba(201, 138, 50, 0.45);
}


/* V3.16.7 Giveaway Plattform/Store und öffentliche Sponsor-Liste */
.giveawaySponsorFields [data-platform-fields] {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 10px;
  background: rgba(0,0,0,0.16);
}
.sponsoredPublicItem {
  border-left: 4px solid var(--accent, #c98a32);
}
.sponsoredPublicItem .btn {
  margin-top: 8px;
}


/* V3.16.8 Marken-Badges für Giveaway Stores */
.storeHiddenSelect {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}
.brandBadgeGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 10px;
  margin: 8px 0 14px;
}
.brandBadge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.22);
  color: var(--text, #f4ead8);
  font-weight: 800;
  cursor: pointer;
}
.brandBadge:hover,
.brandBadge.active {
  border-color: rgba(201,138,50,0.9);
  box-shadow: 0 0 18px rgba(201,138,50,0.28);
  background: rgba(201,138,50,0.16);
}
.brandBadge svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.brandBadge svg path,
.brandBadge svg circle {
  vector-effect: non-scaling-stroke;
}
.brandBadge svg .cut {
  stroke: var(--bg, #12100d);
}
.brandBadge svg .line {
  fill: none;
}


/* V3.16.9 Logo-Dateien für Marken-Badges */
.brandLogoWrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
}
.brandLogoImg {
  max-width: 34px;
  max-height: 34px;
  object-fit: contain;
  display: block;
}
.brandBadge:has(.brandLogoImg) svg {
  display: none;
}


/* V3.17.0 Gesponsertes Giveaway verlosen */
.sponsoredPublicHead {
  display: flex;
  align-items: center;
  gap: 12px;
}
.inlineBrandLogo {
  width: 40px;
  height: 40px;
  object-fit: contain;
  flex: 0 0 auto;
  border-radius: 8px;
  background: rgba(0,0,0,0.18);
  padding: 4px;
}
.sponsoredDrawnItem {
  border-left: 4px solid rgba(80, 210, 120, 0.85);
}
#sponsoredGiveawayDrawForm select {
  min-width: 260px;
}


/* V3.17.1 Giveaway Key Versand / Archiv */
.plainLink {
  color: var(--accent, #c98a32);
  text-decoration: underline;
  word-break: break-all;
}
.keyList {
  white-space: pre-wrap;
  background: rgba(0,0,0,0.25);
  padding: 10px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
}
.winnerKeyPanel {
  margin-top: 10px;
}
.sendStatus {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  margin-left: 8px;
  font-weight: 800;
  background: rgba(255,255,255,0.12);
}
.sendStatus.waiting {
  background: rgba(201,138,50,0.18);
  border: 1px solid rgba(201,138,50,0.5);
}
.sendStatus.confirmed {
  background: rgba(80,210,120,0.18);
  border: 1px solid rgba(80,210,120,0.6);
  color: #9dffb7;
}
.giveawaySponsorFields [data-key-fields] input {
  margin-bottom: 8px;
}


/* V3.17.6 Key-Bestätigung in Nachrichten */
.keyConfirmBox {
  margin-top: 10px;
}
.keyConfirmBox .ok {
  font-weight: 800;
}


/* V3.17.7 Support-Call Fix */
#remoteAudio {
  width: 100%;
  margin-top: 10px;
}
#callStatus {
  white-space: pre-wrap;
}


/* V3.17.8 Sprache / YouTube / Footer-Version */
.langSwitch {
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 9999;
  display: flex;
  gap: 6px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(20, 16, 12, 0.78);
  border: 1px solid rgba(255,255,255,0.16);
  backdrop-filter: blur(8px);
}
.langBtn {
  width: 38px;
  height: 34px;
  padding: 0;
  font-size: 20px;
  line-height: 1;
  border-radius: 999px;
  opacity: 0.72;
}
.langBtn.active {
  opacity: 1;
  outline: 2px solid rgba(201,138,50,0.9);
}
.videoBox {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 18px;
  background: rgba(0,0,0,0.35);
}
.videoBox iframe,
.videoBox video {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.youtubeBox {
  box-shadow: 0 0 0 1px rgba(255,255,255,0.12) inset;
}
.footer {
  opacity: 0.9;
}
@media (max-width: 700px) {
  .langSwitch {
    top: 8px;
    right: 8px;
  }
  .langBtn {
    width: 34px;
    height: 30px;
    font-size: 18px;
  }
}
