:root{color-scheme:dark;--bg:#101713;--panel:#202b24;--panel2:#28372d;--text:#f1e9db;--muted:#b4c2b5;--accent:#e09b6e;--line:#405244}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#29372d 0,#101713 60%);color:var(--text);font:16px/1.55 system-ui,Segoe UI,sans-serif;min-height:100vh}header{background:#161f1b;border-bottom:1px solid var(--line);padding:16px max(18px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px}.brand{display:flex;align-items:center;gap:12px}.brand strong{font-size:21px;letter-spacing:1.5px}.brand em{color:var(--accent);font-style:normal}.brand small{display:block;font-size:10px;letter-spacing:1px;color:var(--muted)}.crest{font-size:45px;color:var(--accent)}nav{display:flex;gap:6px;flex-wrap:wrap}button,.btn{background:#35483a;color:#fff;border:1px solid #526756;border-radius:8px;padding:9px 13px;cursor:pointer;font:inherit}button:hover,.btn:hover{background:#49604d}button.active,.primary{background:#a85d40;border-color:#d28b64}button:disabled{opacity:.45;cursor:not-allowed}main{max-width:1100px;margin:auto;padding:26px 18px 80px;min-height:70vh}h1{font-size:clamp(30px,5vw,56px);line-height:1.12;letter-spacing:1px;margin:12px 0}h2{margin:0 0 16px}h3{margin:8px 0}p{color:var(--muted)}.hero{border:1px solid #56604b;border-radius:16px;min-height:310px;padding:35px;background:linear-gradient(90deg,rgba(14,22,17,.96),rgba(30,34,27,.6)),radial-gradient(ellipse at 85% 40%,#873c2b 0,transparent 46%),repeating-linear-gradient(135deg,#27362b 0,#27362b 8px,#293b30 8px,#293b30 11px);display:flex;flex-direction:column;justify-content:center}.hero p{max-width:550px}.eyebrow{color:var(--accent);font-size:12px;letter-spacing:2px;font-weight:700}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:15px}.card{background:var(--panel);border:1px solid #3b4b3e;border-radius:12px;padding:19px;margin-bottom:14px}.card p{margin:7px 0}.tag{font-size:12px;color:#f2c8a4;background:#54382d;border-radius:20px;padding:4px 9px;display:inline-block}.muted{color:var(--muted)}.small{font-size:13px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}input,textarea,select{display:block;width:100%;padding:12px;background:#111c16;border:1px solid #586b5b;border-radius:8px;color:#fff;font:inherit;margin:6px 0 15px}textarea{min-height:130px;resize:vertical}label{display:block;font-size:14px;color:#d6dfd5}form{max-width:680px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}.notice{background:#3e3928;border:1px solid #9d7b4e;padding:12px 16px;border-radius:9px;margin-bottom:18px}.error{border-color:#a84d47;background:#442927}.success{border-color:#4f9064;background:#213f2c}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.right{margin-left:auto}.danger{border-color:#b55a54;color:#ffc2b9}.role{color:#f4c8a5}.bodytext{white-space:pre-wrap;overflow-wrap:anywhere}.empty{padding:35px;text-align:center;border:1px dashed #526455;border-radius:12px}footer{text-align:center;border-top:1px solid #2e3e32;padding:20px;color:#829585;font-size:12px}@media(max-width:700px){.split{grid-template-columns:1fr}.hero{min-height:280px;padding:24px}header{align-items:flex-start}nav{width:100%}nav button{font-size:13px;padding:7px 9px}} 

/* NLD forum: brede categoriebalken met onderwerpen direct eronder */
.forum-manage{margin-bottom:18px}.forum-group{margin:0 0 24px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}
.forum-category-bar{background:linear-gradient(110deg,#9c5639,#543b2f);color:#fff;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:4px solid #d99b6b}
.forum-category-bar strong{font-size:19px;letter-spacing:.5px}.forum-category-bar p{margin:3px 0 0;color:#f0d8c5;font-size:13px}.forum-folder{margin-right:10px;font-size:20px}.forum-category-actions{display:flex;gap:8px;flex-wrap:wrap}.forum-category-actions button{background:#302b27;border-color:#a98367}
.forum-topic{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 20px;border-bottom:1px solid var(--line)}.forum-topic:last-child{border-bottom:0}.forum-topic:nth-child(even){background:rgba(255,255,255,.025)}.forum-topic-main{min-width:0;flex:1}.forum-topic-link{background:none!important;border:0;padding:0;text-align:left;color:var(--text);font-weight:700;font-size:16px}.forum-topic-link:hover{text-decoration:underline;color:#f4c8a5}.forum-topic-excerpt{margin:4px 0 0!important;font-size:13px;overflow-wrap:anywhere}.forum-topic-actions{display:flex;gap:8px;flex-wrap:wrap}.forum-no-topics{padding:16px 20px;margin:0}
@media(max-width:700px){.forum-topic{align-items:flex-start;flex-direction:column}.forum-category-bar{align-items:flex-start}.forum-category-bar strong{font-size:17px}}

/* Forum opmaak v2: dezelfde opmaak is ook in app.js opgenomen voor cachebetrouwbaarheid. */

.forum-manage{margin:0 0 22px;display:flex;flex-wrap:wrap;gap:12px}
.forum-group{margin:0 0 26px!important;border:1px solid #60705c!important;border-radius:12px!important;overflow:hidden!important;background:#202b24!important;box-shadow:0 7px 20px rgba(0,0,0,.18)}
.forum-category-bar{background:linear-gradient(100deg,#a75e40,#713f32)!important;color:#fff!important;min-height:82px;padding:18px 22px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap!important;border-bottom:4px solid #e0a075!important}
.forum-category-heading{display:flex;align-items:center;gap:12px;min-width:0}
.forum-category-heading strong{display:block;color:#fff!important;font-size:20px!important;line-height:1.3;letter-spacing:.25px}
.forum-category-heading p{color:#ffe2d1!important;font-size:13px!important;margin:5px 0 0!important}
.forum-folder{font-size:23px;line-height:1;color:#ffe0bb}
.forum-category-actions{display:flex;gap:8px;flex-wrap:wrap}
.forum-category-actions button{background:#3c302b!important;border:1px solid #d19b7c!important;padding:8px 13px!important}
.forum-topic-list{background:#202b24!important}
.forum-topic{display:flex!important;align-items:center!important;gap:15px!important;padding:17px 22px!important;border-bottom:1px solid #405244!important}
.forum-topic:last-child{border-bottom:0!important}
.forum-topic:nth-child(even){background:#26352b!important}
.forum-topic-icon{font-size:21px;flex:none;opacity:.8}
.forum-topic-main{flex:1;min-width:0}
.forum-topic-link{background:transparent!important;border:0!important;padding:0!important;font-size:17px!important;font-weight:700!important;color:#f1e9db!important;text-align:left!important;cursor:pointer}
.forum-topic-link:hover{color:#f4c8a5!important;text-decoration:underline}
.forum-topic-excerpt{margin:4px 0 0!important;font-size:14px!important;color:#b4c2b5!important;overflow-wrap:anywhere}
.forum-topic-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.forum-topic-actions button{padding:8px 13px!important}
.forum-no-topics{margin:0!important;padding:18px 22px!important;color:#b4c2b5!important;font-style:italic}
@media(max-width:650px){.forum-category-bar{padding:16px!important}.forum-category-heading strong{font-size:18px!important}.forum-topic{padding:15px!important;align-items:flex-start!important}.forum-topic-actions{margin-left:0}.forum-topic-icon{display:none}}

/* NLD - compacte, vaste menubalk */
header {
  position: sticky;
  top: 0;
  z-index: 1000;
  padding-top: 8px;
  padding-bottom: 8px;
  gap: 8px;
  background: #161f1b;
  box-shadow: 0 3px 12px rgba(0,0,0,.3);
}

.brand strong {
  font-size: 18px;
}

.crest {
  font-size: 32px;
}

nav {
  gap: 5px;
}

nav button {
  padding: 6px 9px;
  font-size: 13px;
}

/* Mobiel: knoppen blijven bereikbaar */
@media (max-width: 700px) {
  header {
    padding: 8px 12px;
  }

  nav {
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  nav button {
    flex-shrink: 0;
  }
}


/* NLD startpagina: afbeelding rechts, zacht vervaagd naar de randen.
   De tekst blijft leesbaar aan de linkerkant. */
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 390px;
  background-color: #17241c;
  background-image:
    linear-gradient(90deg,
      #142019 0%,
      rgba(20,32,25,.99) 24%,
      rgba(20,32,25,.94) 38%,
      rgba(20,32,25,.62) 54%,
      rgba(20,32,25,.10) 76%,
      rgba(20,32,25,.22) 100%),
    linear-gradient(0deg,
      #142019 0%,
      transparent 22%,
      transparent 78%,
      rgba(20,32,25,.70) 100%),
    url('nld-helden.webp');
  background-size: cover, cover, auto 100%;
  background-position: center, center, right center;
  background-repeat: no-repeat;
}
.hero > * { position: relative; z-index: 1; }
.hero h1, .hero p { max-width: 560px; text-shadow: 0 2px 9px rgba(0,0,0,.48); }
@media (max-width: 700px) {
  .hero {
    min-height: 350px;
    padding: 24px;
    background-image:
      linear-gradient(90deg,rgba(20,32,25,.96),rgba(20,32,25,.78)),
      linear-gradient(0deg,#142019,transparent 30%,rgba(20,32,25,.55)),
      url('nld-helden.webp');
    background-size: cover, cover, auto 100%;
    background-position: center, center, 63% center;
  }
}

/* NLD mobiele startpagina: tekst boven, afbeelding apart eronder */
@media (max-width: 700px) {
  .hero {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    min-height: 0;
    padding: 24px 20px 0;
    background: #142019;
    overflow: hidden;
  }
  .hero > * {
    position: relative;
    z-index: 1;
    max-width: 100%;
  }
  .hero h1 {
    font-size: clamp(29px, 9vw, 44px);
    overflow-wrap: break-word;
  }
  .hero p { max-width: 100%; }
  .hero .actions { margin-bottom: 8px; }
  .hero::after {
    content: '';
    display: block;
    position: relative;
    z-index: 0;
    align-self: stretch;
    width: calc(100% + 40px);
    height: clamp(190px, 55vw, 300px);
    margin: 8px -20px 0;
    background-image: url('nld-helden.webp');
    background-position: center 42%;
    background-size: cover;
    background-repeat: no-repeat;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 25%, #000 72%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 25%, #000 72%, transparent 100%);
  }
}

/* NLD bijlagen: afbeeldingen bij berichten en reacties */
.nld-gallery,.nld-preview{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.nld-gallery a{display:block;border:1px solid var(--line);border-radius:9px;overflow:hidden;max-width:100%}
.nld-gallery img{display:block;width:160px;height:125px;object-fit:cover;cursor:zoom-in}
.nld-preview img{width:110px;height:95px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.nld-existing{border:1px solid var(--line);border-radius:9px;margin:12px 0;padding:12px}
.nld-existing label{display:inline-flex;flex-direction:column;gap:5px;margin:5px 10px 5px 0;vertical-align:top}
.nld-existing input[type=checkbox]{width:auto;margin:0}
.nld-existing img{width:110px;height:85px;object-fit:cover;border-radius:6px}
input[type=file]{padding:10px}
@media(max-width:700px){.nld-gallery img{width:125px;height:105px}}

/* NLD karavaanroulatie */
.caravan-banner{display:grid;grid-template-columns:minmax(180px,40%) 1fr;gap:20px;align-items:center;background:linear-gradient(120deg,#28362b,#202b24);border:1px solid #8c6b4b;border-radius:15px;overflow:hidden;margin:24px 0;padding:16px}
.caravan-banner>img{width:100%;height:240px;object-fit:contain;border-radius:10px;background:#cbd9e4}
.caravan-banner-content{padding:8px}.caravan-banner h2{margin:8px 0}.caravan-current{font-size:clamp(24px,4vw,36px);font-weight:800;color:#f4c8a5;overflow-wrap:anywhere}.caravan-banner p{margin:8px 0}
.caravan-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:11px 0;flex-wrap:wrap}.caravan-entry:last-child{border-bottom:0}.caravan-entry>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.caravan-entry .actions{margin:0}.caravan-number{display:inline-grid;place-items:center;background:#4c5d4c;color:#fff;width:29px;height:29px;border-radius:50%;font-size:13px}
@media(max-width:700px){.caravan-banner{grid-template-columns:1fr}.caravan-banner>img{height:200px}.caravan-banner-content{padding:4px}}

/* Karavaan: afbeelding netjes beeldvullend, zonder grote lege randen */
.caravan-banner>img{object-fit:cover;object-position:center center;background:#25372c;display:block}
@media(max-width:700px){.caravan-banner>img{height:230px}}

/* NLD mobiel menu: uitklappen in plaats van horizontaal schuiven */
#mobileMenuToggle{display:none}
#mobileMenuItems{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
@media(max-width:700px){
  header{align-items:center}
  nav{width:100%;display:block;overflow:visible;padding-bottom:0}
  nav #mobileMenuToggle{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;font-size:16px;font-weight:700;background:#a85d40;border-color:#d28b64}
  nav #mobileMenuItems{display:none;width:100%;padding:9px 0 4px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  nav.menu-open #mobileMenuItems{display:grid}
  nav #mobileMenuItems button{min-height:46px;white-space:normal;overflow-wrap:anywhere;text-align:center;font-size:14px;padding:10px 7px;width:100%}
}
@media(max-width:370px){nav #mobileMenuItems{grid-template-columns:1fr}}

/* Account: spelersnaam wijzigen */
.username-form{margin:22px 0 20px;padding:18px;border:1px solid var(--line);border-radius:10px;background:#17221b}
.username-form h3{margin:0 0 12px}.username-form input{max-width:480px}.username-form .small{margin:-5px 0 12px}
