/* Forumix — Projektseite. Von index.html und doku.html gemeinsam genutzt,
   damit beide Seiten nicht auseinanderlaufen. */
:root{
  /* Dieselbe Palette wie Forumix seit 1.0 und wie hosting.forumix.de:
     Grautoene mit leichtem Blaustich. Drei Auftritte, eine Handschrift. */
  --bg:#0d0f13; --surface:#15181e; --surface2:#1b1f26;
  --line:#252a33; --line2:#333a45;
  --text:#e4e6ea; --muted:#9aa0ab; --faint:#6b7280;
  --accent:#2563eb; --accent-soft:#3b82f6;
  --radius:14px;
  --wrap:1000px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--text);
  font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
/* Keine Unterstreichungen, auch nicht beim Zeigen. Erkennbar bleiben Links
   ueber die Farbe; beim Zeigen wird sie heller statt eine Linie zu ziehen. */
a{color:var(--accent-soft); text-decoration:none; transition:color .15s}
a:hover{color:#93b8fb; text-decoration:none}
code,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 22px}

/* ── Kopfleiste ──
   Bleibt beim Scrollen stehen. Wer die FAQ sucht, soll sie nicht erst am Ende
   der Seite finden. */
.nav{
  position:sticky; top:0; z-index:10;
  background:rgba(10,10,11,.88); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav .wrap{display:flex; align-items:center; justify-content:center; gap:4px; height:54px; flex-wrap:wrap}
.nav a{
  color:var(--muted); font-size:14px; font-weight:500;
  padding:7px 15px; border-radius:99px;
  /* Rahmen von Anfang an durchsichtig: sonst springt die Zeile beim Zeigen.
     Pillenform, weil die Seite sie bei den Merkmalen oben schon benutzt. */
  border:1px solid transparent;
  transition:color .15s, background .15s, border-color .15s;
}
/* Blau wie bei den Knoepfen, die beim Zeigen ebenfalls einen blauen Rand
   bekommen. Die Flaeche bleibt eine leichte Tuenchung — voll ausgefuellt
   waere es so laut wie der Herunterladen-Knopf und wuerde ihm die Rolle
   streitig machen. */
.nav a:hover{
  color:var(--accent-soft); background:rgba(37,99,235,.12);
  border-color:var(--accent); text-decoration:none;
}
/* Der Schriftzug steht nur da, wo kein grosses Logo darunter folgt. */
.nav .brand{color:var(--text); font-weight:700; font-size:15px}
.nav .brand span{color:var(--accent-soft)}
@media (max-width:560px){
  .nav .wrap{gap:2px; height:auto; padding-top:8px; padding-bottom:8px}
  .nav a{font-size:13px; padding:6px 10px}
}

/* ── Kopf ── */
header{
  padding:64px 0 52px; text-align:center;
  border-bottom:1px solid var(--line);
}
.logo{display:block;margin:0 auto 22px;height:52px;width:auto}
h1{font-size:clamp(28px,5vw,42px); line-height:1.15; margin:0 0 14px; letter-spacing:-.02em}
.lead{font-size:clamp(16px,2.2vw,19px); color:var(--muted); max-width:620px; margin:0 auto 30px}
.cta{display:flex; gap:12px; justify-content:center; flex-wrap:wrap}
.btn{
  display:inline-block; padding:11px 22px; border-radius:10px; font-weight:600; font-size:15px;
  border:1px solid var(--line2); color:var(--text); transition:.15s;
}
.btn:hover{text-decoration:none; border-color:var(--accent); transform:translateY(-1px)}
.btn-primary{background:var(--accent); border-color:var(--accent); color:#fff}
.btn-primary:hover{background:#1d4ed8; border-color:#1d4ed8}
.badges{margin-top:26px; display:flex; gap:8px; justify-content:center; flex-wrap:wrap;
        font-size:12px; color:var(--faint)}
.badge{border:1px solid var(--line); border-radius:99px; padding:4px 12px; background:var(--surface)}
/* Punkt vor "Forum ansehen": zeigt, dass da etwas laeuft und nicht nur ein
   Bild davon zu sehen ist. */
/* ── Abschnitte ── */
section{padding:56px 0; border-bottom:1px solid var(--line)}
section:last-of-type{border-bottom:0}
h2{font-size:22px; margin:0 0 8px; letter-spacing:-.01em}
.sub{color:var(--muted); margin:0 0 28px; font-size:15px; max-width:640px}

.grid{display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:20px}
.card h3{margin:0 0 10px; font-size:15px; display:flex; align-items:center; gap:8px}
.card ul{margin:0; padding-left:18px; color:var(--muted); font-size:14px; line-height:1.85}
.card li::marker{color:var(--faint)}

/* ── Modulkarten ──
   Die Karten sind unterschiedlich lang — eine Beschreibung hat zwei Zeilen,
   die naechste zehn. Ohne Flex-Spalte klebt der Knopf ans Ende des Textes und
   sitzt bei jeder Karte woanders; das Auge sucht ihn dann jedes Mal neu. */
.modulkarte{display:flex; flex-direction:column}
.modulkarte p{margin:0 0 14px}
.modulkarte .modulfuss{margin-top:auto}
.modulkarte .btn{display:inline-block; margin-bottom:8px}
.modulkarte .modulmeta{display:block; color:var(--muted); font-size:13px}

/* ── Installation ── */
ol.steps{counter-reset:s; list-style:none; margin:0; padding:0; display:grid; gap:14px}
ol.steps li{
  counter-increment:s; position:relative; padding:18px 20px 18px 58px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
}
ol.steps li::before{
  content:counter(s); position:absolute; left:18px; top:17px;
  width:26px; height:26px; border-radius:50%; background:var(--accent); color:#fff;
  font-size:13px; font-weight:700; display:grid; place-items:center;
}
ol.steps strong{display:block; margin-bottom:4px; font-size:15px}
ol.steps p{margin:0; color:var(--muted); font-size:14px}
pre{
  background:#0e0e11; border:1px solid var(--line); border-radius:10px;
  padding:14px 16px; overflow-x:auto; margin:12px 0 0; font-size:13px; line-height:1.7;
}
pre code{color:#c7d2fe}
.comment{color:var(--faint)}

table{width:100%; border-collapse:collapse; font-size:14px}
th,td{text-align:left; padding:10px 0; border-bottom:1px solid var(--line)}
th{color:var(--faint); font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.06em}
tr:last-child td{border-bottom:0}

/* ── Download ── */
.dl{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:20px}
.dl-main{display:flex; gap:14px; align-items:center; flex-wrap:wrap}
.dl-meta{color:var(--muted); font-size:14px}
.dl-hash{margin:14px 0 0; color:var(--faint); font-size:13px; line-height:1.9}
.dl-hash code{color:var(--muted)}

.note{
  background:var(--surface2); border:1px solid var(--line);
  border-left:3px solid var(--accent); border-radius:8px;
  padding:14px 16px; color:var(--muted); font-size:14px; margin-top:18px;
}
.note strong{color:var(--text)}

footer{padding:36px 0 48px; text-align:center; color:var(--faint); font-size:13px}
footer a{color:var(--muted)}

@media (max-width:560px){
  header{padding:44px 0 38px}
  section{padding:42px 0}
}
