:root{
  --gold:#c2a24c; --gold-hell:#e8dcc0; --tinte:#2a2a28;
  /* Grün aus dem Logo. Kontrast auf Papier: 5,5 — auch klein gut lesbar.
     Das frühere Gold lag bei 2,4, das Grau bei 4,2. */
  --gruen:#5a6c5a; --gruen-dunkel:#44543f; --grau:#44543f;
  --papier:#fffdf8; --linie:#1c1c1a; --rand:#e7e2d6;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  /* Fliesstext im Dokument: Verdana ist auf jedem Rechner da und
     deutlich ruhiger zu lesen als eine Serifenschrift. */
  --lese:Verdana,Geneva,'DejaVu Sans',sans-serif;
  --zahl:'Montserrat',Verdana,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);color:var(--tinte);background:#f2efe8;font-size:15px;line-height:1.65}

/* ---------- Werkzeugleiste ---------- */
.app{display:flex;min-height:100vh}
.seitenleiste{width:310px;flex:none;background:#fffdf8;border-right:1px solid var(--rand);
  padding:26px 22px;position:sticky;top:0;height:100vh;overflow-y:auto}
.seitenleiste h1{font-family:var(--serif);font-size:27px;font-weight:500;margin:0 0 4px;letter-spacing:.3px}
.seitenleiste .unter{font-family:var(--serif);font-style:italic;color:var(--gruen);margin:0 0 22px;font-size:16px}
label{display:block;font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:var(--grau);margin:14px 0 5px}
input,select{width:100%;padding:9px 11px;border:1px solid var(--rand);border-radius:3px;
  font-family:var(--sans);font-size:14px;background:#fff;color:var(--tinte)}
input:focus,select:focus{outline:none;border-color:var(--gold)}
.knopfreihe{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
button{font-family:var(--sans);font-size:13px;padding:9px 14px;border-radius:3px;cursor:pointer;
  border:1px solid var(--gold);background:var(--gold);color:#fff;letter-spacing:.3px}
button.leer{background:#fff;color:var(--tinte);border-color:var(--rand)}
button:hover{opacity:.88}
.gespeichert{margin-top:26px;border-top:1px solid var(--rand);padding-top:16px}
.gespeichert h2{font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:var(--grau);margin:0 0 10px;font-weight:500}
.eintrag{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;
  border:1px solid var(--rand);border-radius:3px;margin-bottom:6px;background:#fff;font-size:13px}
.eintrag button{padding:3px 7px;font-size:11px;border:none;background:none;color:var(--grau)}
.eintrag .name{cursor:pointer;flex:1}
.eintrag .name:hover{color:var(--gruen)}
.hinweis{font-size:12px;color:var(--grau);line-height:1.5;margin-top:20px;
  border-top:1px solid var(--rand);padding-top:14px}
.urheber{margin-top:24px;border-top:1px solid var(--gold-hell);padding-top:14px;
  font-family:var(--serif);font-size:13px;color:var(--grau);line-height:1.65}
.urheber b{font-size:16px;color:var(--tinte);font-weight:500}
.urheber span{font-style:italic;color:var(--gruen)}

/* ---------- Dokument ---------- */
.buehne{flex:1;padding:32px 24px 60px;display:flex;flex-direction:column;align-items:center;gap:24px}
.seite{width:210mm;min-height:297mm;background:var(--papier);padding:20mm 18mm;
  box-shadow:0 2px 18px rgba(0,0,0,.09);position:relative;
  font-family:var(--lese);font-size:14px;line-height:1.72}
.marke{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.marke .titel{font-family:var(--serif);font-size:40px;font-weight:400;line-height:1.1;margin:0}
.marke .person{font-family:var(--serif);font-style:italic;color:var(--gruen);font-size:20px;margin:6px 0 0}
.logo-klein{width:132px;height:auto;display:block;flex:none}
.logo-deck{width:340px;height:auto;display:block;margin:0 auto}
.goldlinie{height:1px;background:linear-gradient(90deg,var(--gold),var(--gold-hell) 70%,transparent);margin:0 0 22px}
.fuss{position:absolute;left:18mm;right:18mm;bottom:12mm;border-top:1px solid var(--gold-hell);
  padding-top:9px;font-family:var(--serif);font-size:14px;color:var(--gruen-dunkel);text-align:center;font-style:italic}
.textseite{display:flex;flex-direction:column}
/* Kapitel laufen ueber mehrere Druckseiten. Wuerde die Fusszeile hier ans
   Ende geschoben, landet sie bei knappem Ueberlauf allein auf einer Seite. */
.kapitelseite{display:block}
.kapitelseite .fuss-block{margin-top:26px}
.fuss-block{border-top:1px solid var(--gold-hell);margin-top:auto;padding-top:9px;
  font-family:var(--serif);font-size:14px;color:var(--gruen-dunkel);text-align:center;font-style:italic}
.copy{font-style:normal;font-size:12.5px;letter-spacing:.4px;color:var(--gruen)}
.kopfklein{display:flex;justify-content:flex-end;margin:0 0 8px}
.kopfklein{min-height:auto}

svg.figuren{width:92%;max-width:600px;height:auto;display:block;margin:6px auto 0}
.figur{fill:none;stroke:var(--linie);stroke-width:7;stroke-linejoin:round}
.duenn{stroke-width:2.5}
.knoten circle{fill:#fff;stroke:var(--linie);stroke-width:3}
.knoten text{font-size:22px;font-weight:600;text-anchor:middle;fill:var(--tinte);font-family:var(--sans)}
.beschriftung{font-size:12.5px;letter-spacing:1.1px;font-weight:600;fill:var(--tinte);font-family:var(--sans)}
.missiontext{font-size:11px;letter-spacing:2px;font-weight:700;fill:var(--tinte);font-family:var(--sans);
  paint-order:stroke;stroke:#fffdf8;stroke-width:5px;stroke-linejoin:round}
.codezeile{display:flex;gap:52px;align-items:baseline;margin-top:14px;
  border-top:1px solid var(--gold-hell);padding-top:16px}
.codezeile b{font-family:var(--sans);font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gruen-dunkel);font-weight:600}
.codezeile .wert{font-family:var(--zahl);font-size:31px;font-weight:500;letter-spacing:3px;color:var(--tinte)}

/* ---------- Deckblatt ---------- */
.deckblatt{display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  text-align:center;padding:26mm 20mm 20mm}
.deckblatt .mitte{display:flex;flex-direction:column;align-items:center}
.ornament{width:150px;height:150px;margin-bottom:20px;opacity:.85}
.ornament .strahl{stroke:var(--gold);stroke-width:.8;opacity:.55}
.ornament .ring{fill:none;stroke:var(--gold);stroke-width:.9;opacity:.75}
.ornament .stern{fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linejoin:round}
.dw-typ{font-family:var(--serif);font-size:15px;letter-spacing:6px;text-transform:uppercase;
  color:var(--gruen);margin:0 0 18px;font-weight:500;font-size:21px!important}
.deckblatt .logo-deck{margin-bottom:10mm}
.dw-name{font-family:var(--serif);font-size:56px;font-weight:300;line-height:1.12;
  margin:20px 0 10px;letter-spacing:.5px}
.dw-datum{font-family:var(--serif);font-style:italic;font-size:27px;color:var(--gruen-dunkel);margin:0}
.dw-regel{width:120px;height:1px;background:var(--gold);opacity:.6;margin:6px 0}
.dw-fuss{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--gruen-dunkel);line-height:1.75}

.seite h2{font-family:var(--serif);font-size:32px;font-weight:400;margin:0 0 4px;letter-spacing:.2px}
.seite h3{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--gruen);
  margin:48px 0 12px;letter-spacing:.1px;line-height:1.25}
.seite h3:first-child{margin-top:0}
.seite h4{font-family:var(--sans);font-size:14px;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--gruen-dunkel);margin:34px 0 6px;font-weight:600}
.seite p{margin:0 0 12px}
.seite ul{margin:0 0 16px;padding-left:22px}
.seite li{margin-bottom:6px}
.rahmen{font-family:var(--lese);font-style:italic;font-size:13.5px;line-height:1.75;color:#4a4842;
  border-left:2px solid var(--gold-hell);padding-left:16px;margin:0 0 34px}
.rahmen p{margin:0 0 10px}
.rahmen p:last-child{margin-bottom:0}
.kapitel{border-top:1px solid var(--gold-hell);margin-top:22px;padding-top:6px}

/* ---------- Druck ---------- */
@media print{
  /* Der Rand gehoert auf die Druckseite, nicht als Innenabstand an den
     Abschnitt. Sonst haben Folgeseiten eines langen Kapitels oben und
     unten gar keinen Rand — der Text laeuft bis an die Papierkante. */
  @page{size:A4;margin:16mm 15mm 20mm}
  body{background:#fff}
  .seitenleiste,.hinweis,.werkzeug{display:none!important}
  .buehne{display:block;padding:0;gap:0}
  .seite{width:auto;min-height:0;margin:0;padding:0;box-shadow:none;
    page-break-after:always;break-after:page}
  .seite:last-child{page-break-after:auto;break-after:auto}
  /* Deckblatt und Arbeitsblatt fuellen genau eine Seite (297 - 36 Rand) */
  .deckblatt{min-height:255mm;padding:0}
  .textseite:not(.kapitelseite){min-height:255mm}
  .kapitelseite{display:block;min-height:0}
  .seite h2,.seite h3,.seite h4{break-after:avoid;page-break-after:avoid}
  .rahmen,.codezeile,svg.figuren,.fuss-block{break-inside:avoid;page-break-inside:avoid}
  .seite p,.seite li{orphans:3;widows:3}
}}
[contenteditable=true]:focus{outline:2px solid var(--gold-hell);outline-offset:3px;border-radius:2px}

/* ---------- Anmeldung und Verwaltung ---------- */
.tor{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f2efe8;padding:24px}
.torkasten{background:var(--papier);padding:38px 34px;border-radius:4px;max-width:400px;width:100%;
  box-shadow:0 2px 18px rgba(0,0,0,.08);text-align:center}
.torlogo{width:210px;height:auto;margin:0 auto 22px;display:block}
.torkasten h1{font-family:var(--serif);font-size:30px;font-weight:400;margin:0 0 4px}
.torunter{font-family:var(--serif);font-style:italic;color:var(--gruen);margin:0 0 24px}
.torkasten label{text-align:left}
.torkasten button{width:100%;margin-top:20px;padding:11px}
.fehler{background:#fdf3f2;border:1px solid #f0d8d4;color:#a8433a;padding:9px 12px;
  border-radius:3px;font-size:13px;margin:0 0 16px}
.meldung{background:#faf6ea;border:1px solid var(--gold-hell);color:#7a6420;padding:9px 12px;
  border-radius:3px;font-size:13px;margin:16px 0 0}
.seitenleiste a{color:var(--gruen);text-decoration:none;font-weight:500}
.seitenleiste a:hover{text-decoration:underline}
.leerseite{display:flex;align-items:center;justify-content:center;color:var(--grau);
  font-family:var(--serif);font-size:20px;font-style:italic}
.teamliste{width:100%;border-collapse:collapse;margin:18px 0 30px}
.teamliste td{padding:10px 0;border-bottom:1px solid var(--rand);vertical-align:middle}
.teamliste td:last-child{text-align:right}
.klein{font-size:12px;color:var(--gruen-dunkel)}
.teamform{max-width:360px}
.zurueck{align-self:center;color:var(--grau);font-size:13px;text-decoration:none}
@media print{.tor,.teamliste,.teamform{display:none!important}}
