/* =========================================================
   GRUNDEINSTELLUNGEN
   ========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}


/* =========================================================
   STARTSEITE
   ========================================================= */

.startseite {
    display: flex;
    height: 100vh;
}


/* =========================================================
   LINKES MENÜ
   ========================================================= */

.startseite nav {
    width: 260px;
    background: #8b3626;
    color: white;
    padding: 20px;
    overflow-y: auto;
    flex-shrink: 0;
}

nav h2 {
    margin-bottom: 20px;
}

nav ul {
    list-style: none;
}

nav li {
    margin-bottom: 8px;
}

nav a {
    display: block;
    color: white;
    text-decoration: none;
    padding: 10px;
    border-radius: 5px;
    transition: 0.2s;
}

nav a:hover {
    background: #3d566e;
}


/* =========================================================
   RECHTER BEREICH / IFRAME
   ========================================================= */

.startseite iframe {
    flex: 1;
    border: none;
    height: 100vh;
}


/* =========================================================
   ALLGEMEINE SEITEN
   ========================================================= */

.regelseite {
    background: #fffacd;
    display: block;
    height: auto;
    margin: 0;
    padding: 0;
}


/* =========================================================
   HAUPTINHALT
   ========================================================= */

.regelseite main {
    padding: 40px;
    max-width: 1000px;
}

main {
    padding: 40px;
    max-width: 1000px;
}


/* =========================================================
   ÜBERSCHRIFTEN
   ========================================================= */

/* Hauptüberschrift */

h1 {
    font-size: 34px;
    margin-bottom: 25px;
    border-bottom: 3px solid #2c3e50;
    padding-bottom: 10px;
}


/* Zweite Überschrift */

h2 {
    font-size: 26px;
    color: #2c3e50;
    margin-top: 35px;
    margin-bottom: 15px;
}


/* Dritte Überschrift */

h3 {
    font-size: 20px;
    color: #555;
    margin-top: 25px;
    margin-bottom: 10px;
}


/* =========================================================
   ABSÄTZE
   ========================================================= */

p {
    margin-bottom: 15px;
    line-height: 1.7;
}


/* =========================================================
   GENERATOREN
   ========================================================= */

/* Bereich um einen Generator */

.begegnungs-generator {
    margin-top: 25px;
}


/* ---------------------------------------------------------
   GENERATOR-KARTE
   --------------------------------------------------------- */

/*
   Die Karte bleibt vollständig untereinander.

   Die Höhe wird automatisch durch den Inhalt bestimmt.
   Es gibt KEINE feste Höhe und KEINE Mindesthöhe.
*/

.begegnungs-box {
    width: 100%;
    height: auto;

    margin: 15px 0 20px 0;
    padding: 15px;

    border: 2px solid #2c3e50;
    border-radius: 8px;

    background: rgba(255, 255, 255, 0.4);
}


/* Überschrift innerhalb einer Generator-Karte */

.begegnungs-box h2 {
    margin-top: 0;
    margin-bottom: 10px;
}


/* Text innerhalb einer Generator-Karte */

.begegnungs-box p {
    margin-bottom: 5px;
    line-height: 1.3;
}


/* ---------------------------------------------------------
   EINGABEBEREICH
   --------------------------------------------------------- */

.begegnungs-eingabe {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}


/* Eingabefeld */

.begegnungs-eingabe input {
    width: 100px;

    padding: 10px;

    font-size: 20px;
    text-align: center;

    border: 1px solid #888;
    border-radius: 5px;

    box-sizing: border-box;
}


/* Button */

.begegnungs-eingabe button {
    padding: 10px 18px;

    font-size: 18px;

    cursor: pointer;

    border: none;
    border-radius: 5px;

    background: #2c3e50;
    color: white;
}


/* Button Hover */

.begegnungs-eingabe button:hover {
    background: #1f2d3a;
}


/* ---------------------------------------------------------
   GENERATOR-ERGEBNIS
   --------------------------------------------------------- */

.begegnungs-ergebnis {
    width: 100%;

    margin-top: 10px;

    height: auto;
    min-height: 0;

    font-size: 24px;
    font-weight: bold;

    line-height: 1.3;
}


/* =========================================================
   MAGIE
   ========================================================= */

.magie-beschreibung {
    font-size: 18px;
    font-weight: normal;

    margin-top: 8px;

    line-height: 1.4;
}


/* =========================================================
   BESCHWÖRUNG
   ========================================================= */

.beschwoerung-ergebnis {
    margin-top: 10px;

    height: auto;
    min-height: 0;

    font-size: 20px;
}


/* Name des beschworenen Wesens */

.beschwoerung-wesen {
    font-size: 28px;
    font-weight: bold;

    margin-bottom: 15px;
}


/* W20-Ergebnis */

.beschwoerung-wurf {
    font-size: 20px;
    font-weight: bold;

    margin-bottom: 15px;
}


/* ---------------------------------------------------------
   BESCHWÖRUNG – WERTE
   --------------------------------------------------------- */

.beschwoerung-werte {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}


/* Einzelner Wert */

.beschwoerung-wert {
    padding: 12px 18px;

    border: 1px solid #2c3e50;
    border-radius: 5px;

    background: rgba(255, 255, 255, 0.45);

    min-width: 100px;
}


/* Bezeichnung */

.beschwoerung-label {
    font-size: 16px;
    font-weight: bold;

    margin-bottom: 5px;
}


/* Wert */

.beschwoerung-value {
    font-size: 20px;
}


/* =========================================================
   TABELLEN
   ========================================================= */

table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

table,
th,
td {
    border: 2px solid #444;
}


/* Tabellenkopf */

th {
    background: #2c3e50;
    color: white;

    padding: 10px;

    text-align: left;
}


/* Tabellenzellen */

td {
    padding: 10px;
}


/* Jede zweite Tabellenzeile */

tr:nth-child(even) {
    background: #f5f5f5;
}


/* =========================================================
   VERSTECKTE REFERENZTABELLEN
   ========================================================= */

.begegnungs-tabellen {
    display: none;
}