      * {
            box-sizing: border-box;
        }
        
body {
    margin: 0;
    padding: 20px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

    /* 🌤️ Weicher, dezenter Farbverlauf */
background: linear-gradient(
    180deg,
    #f9fbff 0%,    /* fast weißes Blau oben */
    #f8f9fb 35%,   /* minimaler Übergang, kaum wahrnehmbar */
    #faf9f4 70%,   /* zartes Creme, sehr dezent */
    #fbfaf5 100%   /* kaum dunkler unten, neutral & minimalistisch */
);

color: #1a1a1a;
line-height: 1.6;
height: 100%;
min-height: 100%;
transition: all 0.3s ease;
}  
@media (prefers-color-scheme: dark) {
    body {
        background: linear-gradient(
            to bottom,
            #0f172a 0%,
            #151c33 25%,
            #1e293b 50%,
            #27334a 75%,
            #383a43 100%
        );
        color: #e4e4e4;
        transition: background 0.5s ease, color 0.5s ease; /* sanfter Übergang beim Wechsel */
    }
}


        .worksheet {
            max-width: 1200px;
            margin: 0 auto;
        }

.glass-card {
    background: rgba(255, 255, 255, 0.20); /* etwas dichter, klarer */
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    border: 1px solid rgba(255, 255, 255, 0.45); /* deutlichere Kontur */
    border-radius: 28px;
    box-shadow:
        0 10px 35px rgba(0, 0, 0, 0.18),  /* tiefer, klarer Schatten */
        inset 0 1px 0 rgba(255, 255, 255, 0.55);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    margin-bottom: 32px;
    position: relative;
    overflow: hidden;
    max-width: 80%;      /* Desktop Standard */
    margin-left: auto;
    margin-right: auto;
    
}
/* Tablets (iPad) */
@media (max-width: 1024px) {
    .glass-card {
        max-width: 85%;
    }
}

/* Mobile (iPhone etc.) */
@media (max-width: 600px) {
    .glass-card {
        max-width: 95%;
    }
}

/* Kanten-Highlight klarer und definierter */
.glass-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(
        90deg, 
        transparent, 
        rgba(255, 255, 255, 0.85), 
        transparent
    );
}

        
        @media (prefers-color-scheme: dark) {
            .glass-card {
                background: rgba(255, 255, 255, 0.06);
                border: 1px solid rgba(255, 255, 255, 0.12);
                box-shadow: 
                    0 8px 32px rgba(0, 0, 0, 0.4),
                    inset 0 1px 0 rgba(255, 255, 255, 0.1);
            }
        }

        .glass-card:hover {
            background: rgba(255, 255, 255, 0.2);
            box-shadow: 
                0 16px 48px rgba(0, 0, 0, 0.15),
                inset 0 1px 0 rgba(255, 255, 255, 0.5);
        }
        
        @media (prefers-color-scheme: dark) {
            .glass-card:hover {
                background: rgba(255, 255, 255, 0.08);
                box-shadow: 
                    0 16px 48px rgba(0, 0, 0, 0.6),
                    inset 0 1px 0 rgba(255, 255, 255, 0.15);
            }
        }

        .header {
            text-align: center;
            padding: 32px;
        }

        .title {
            font-size: 32px;
            font-weight: 700;
            margin: 0 0 8px 0;
            background: linear-gradient(135deg, #007AFF, #5856D6);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .subtitle {
            font-size: 18px;
            opacity: 0.8;
            font-weight: 500;
        }

        .section {
            margin-bottom: 32px;
        }

        .section-title {
            font-size: 24px;
            font-weight: 600;
            margin: 0 0 32px 0;
            padding: 24px 32px 0 32px;
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .dialogue-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
            padding: 0 32px 32px 32px;
        }

        .dialogue-column {
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(25px);
            -webkit-backdrop-filter: blur(25px);
            border: 1px solid rgba(255, 255, 255, 0.25);
            border-radius: 20px;
            padding: 24px;
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
            position: relative;
            overflow: hidden;
            box-shadow: 
                0 4px 20px rgba(0, 0, 0, 0.08),
                inset 0 1px 0 rgba(255, 255, 255, 0.3);
        }
        
        .dialogue-column::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
        }
        
        @media (prefers-color-scheme: dark) {
            .dialogue-column {
                background: rgba(255, 255, 255, 0.04);
                border: 1px solid rgba(255, 255, 255, 0.1);
                box-shadow: 
                    0 4px 20px rgba(0, 0, 0, 0.3),
                    inset 0 1px 0 rgba(255, 255, 255, 0.1);
            }
        }

        .dialogue-column:hover {
            background: rgba(255, 255, 255, 0.15);
            transform: translateY(-3px) scale(1.01);
            box-shadow: 
                0 8px 32px rgba(0, 0, 0, 0.12),
                inset 0 1px 0 rgba(255, 255, 255, 0.4);
        }
        
        @media (prefers-color-scheme: dark) {
            .dialogue-column:hover {
                background: rgba(255, 255, 255, 0.06);
                box-shadow: 
                    0 8px 32px rgba(0, 0, 0, 0.5),
                    inset 0 1px 0 rgba(255, 255, 255, 0.15);
            }
        }

        .column-header {
            display: flex;
            align-items: center;
            margin-bottom: 16px;
            font-size: 18px;
            font-weight: 600;
            gap: 10px;
        }

        .waiter-column {
            border-left: 4px solid #007AFF;
        }

        .customer-column {
            border-left: 4px solid #34C759;
        }

        .phrase-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .phrase-list li {
            background: rgba(255, 255, 255, 0.1);
            margin: 8px 0;
            padding: 12px 16px;
            border-radius: 12px;
            font-size: 15px;
            transition: all 0.15s ease;
            border: 1px solid rgba(255, 255, 255, 0.2);
        }
        
        @media (prefers-color-scheme: dark) {
            .phrase-list li {
                background: rgba(255, 255, 255, 0.05);
                border: 1px solid rgba(255, 255, 255, 0.1);
            }
        }

        .phrase-list li:hover {
            background: rgba(255, 255, 255, 0.2);
            transform: translateX(4px);
        }

        .mcq-container {
            padding: 32px;
        }

.question {
    background: rgba(255, 255, 255, 0.12); /* etwas heller für Sichtbarkeit */
    backdrop-filter: blur(12px);          /* weicher Glass-Effekt */
    -webkit-backdrop-filter: blur(12px);  /* Safari-Unterstützung */
    
    border: 1px solid rgba(255, 255, 255, 0.4); /* etwas stärkerer Rand */
    border-radius: 20px;              /* etwas rundere Ecken */
    
    padding: 28px;                     /* etwas großzügiger */
    margin-bottom: 24px;               /* mehr Abstand */
    
    box-shadow: 0 8px 24px rgba(0,0,0,0.08); /* weicher Schatten für „Floating“-Effekt */
    
    transition: all 0.3s ease;
}

/* Optional: Hover-Effekt für Interaktivität */
.question:hover {
    background: rgba(255, 255, 255, 0.18);
    box-shadow: 0 12px 32px rgba(0,0,0,0.12);
}

        @media (prefers-color-scheme: dark) {
            .question {
                background: rgba(255, 255, 255, 0.06);
                border: 1px solid rgba(255, 255, 255, 0.15);
            }
        }

        .question-text {
            font-size: 16px;
            font-weight: 500;
            margin-bottom: 16px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .options {
            display: grid;
            gap: 12px;
        }

/* Frage-Container */
.question {
    background: rgba(255, 255, 255, 0.15); /* dunkler für mehr Kontrast */
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 24px;
    
    padding: 32px;
    margin-bottom: 28px;
    
    box-shadow: 0 12px 32px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
}

/* Antwort-Optionen */
.option {
    background: rgba(255, 255, 255, 0.30); /* klarer Unterschied zum Question-Container */
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 16px;
    
    padding: 18px 22px;
    margin-bottom: 14px;
    cursor: pointer;
    max-width: 66%;
    
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    transition: all 0.25s ease;
}

/* Hover-Interaktion für Optionen */
.option:hover {
    background: rgba(255, 255, 255, 0.55);
    box-shadow: 0 6px 24px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}


        @media (prefers-color-scheme: dark) {
            .option {
                background: rgba(255, 255, 255, 0.05);
                border: 1.5px solid rgba(255, 255, 255, 0.15);
            }
        }

        .option:hover {
            background: rgba(255, 255, 255, 0.15);
            transform: scale(1.02);
        }

        .option.selected {
            background: rgba(0, 122, 255, 0.2);
            border-color: #007AFF;
        }

        .option.correct {
         border: 3px solid;
            border-color: #34C759;
        }

        .option.incorrect {
            border-color: #FF3B30;
        }

        .check-button {
            background: rgba(0, 122, 255, 0.12);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(0, 122, 255, 0.3);
            border-radius: 20px;
            padding: 14px 28px;
            color: #007AFF;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
            margin-top: 20px;
            font-size: 15px;
            position: relative;
            overflow: hidden;
            box-shadow: 
                0 4px 16px rgba(0, 122, 255, 0.15),
                inset 0 1px 0 rgba(255, 255, 255, 0.2);
        }

        .check-button::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
            transition: left 0.5s ease;
        }

        .check-button:hover {
            background: rgba(0, 122, 255, 0.2);
            transform: translateY(-2px) scale(1.02);
            box-shadow: 
                0 8px 24px rgba(0, 122, 255, 0.25),
                inset 0 1px 0 rgba(255, 255, 255, 0.3);
        }

        .check-button:hover::before {
            left: 100%;
        }

        .check-button:active {
            transform: translateY(0) scale(0.98);
        }

        .check-button:disabled {
            opacity: 0.4;
            cursor: not-allowed;
            transform: none;
        }
        
        @media (prefers-color-scheme: dark) {
            .check-button {
                background: rgba(0, 122, 255, 0.08);
                border: 1px solid rgba(0, 122, 255, 0.2);
                color: #64B5F6;
            }
            
            .check-button:hover {
                background: rgba(0, 122, 255, 0.15);
            }
        }

        @media (max-width: 768px) {
            body {
                padding: 8px;
            }
            
            .dialogue-grid {
                grid-template-columns: 1fr;
                gap: 16px;
                padding: 0 16px 20px 16px;
            }
            
            .glass-card {
                border-radius: 16px;
                margin-bottom: 16px;
            }
            
            .title {
                font-size: 22px;
                line-height: 1.2;
            }
            
            .subtitle {
                font-size: 16px;
            }
            
            .header {
                padding: 20px 16px;
            }
            
            .section-title {
                font-size: 20px;
                padding: 16px 16px 0 16px;
                margin-bottom: 20px;
            }
            
            .dialogue-column {
                padding: 16px;
            }
            
            .column-header {
                font-size: 16px;
                margin-bottom: 12px;
            }
            
            .phrase-list li {
                padding: 10px 12px;
                font-size: 14px;
                margin: 6px 0;
            }
            
            .mcq-container {
                padding: 16px;
            }
            
            .question {
                padding: 16px;
                margin-bottom: 16px;
            }
            
            .question-text {
                font-size: 15px;
                margin-bottom: 12px;
                flex-direction: column;
                align-items: flex-start;
                gap: 4px;
            }
            
            .options {
                gap: 8px;
            }
            
            .option {
                padding: 10px 12px;
                font-size: 14px;
            }
            
            .check-button {
                padding: 12px 20px;
                font-size: 14px;
                margin-top: 12px;
                width: 100%;
            }
        }
        
        @media (max-width: 480px) {
            body {
                padding: 4px;
            }
            
            .title {
                font-size: 20px;
            }
            
            .subtitle {
                font-size: 14px;
            }
            
            .header {
                padding: 16px 12px;
            }
            
            .section-title {
                font-size: 18px;
                padding: 12px 12px 0 12px;
            }
            
            .dialogue-grid {
                padding: 0 12px 16px 12px;
            }
            
            .dialogue-column {
                padding: 12px;
            }
            
            .mcq-container {
                padding: 12px;
            }
            
            .question {
                padding: 12px;
            }
        }

        /* =========================================================
   🎈 Neue Chat-Bubble-Dialoge (Clara links, Mateo rechts)
   ========================================================= */

.dialog-bubble-wrapper {
    display: flex;
    align-items: flex-start;
    width: 100%;
    margin: 22px 0;
    gap: 12px;
    animation: fadeIn 0.45s ease both;
}

.dialog-bubble-wrapper.left {
    flex-direction: row;
        padding-left: 180px;  /* nach innen */

}

.dialog-bubble-wrapper.right {
    flex-direction: row-reverse;
    padding-right: 180px; /* nach innen */

}

/*  💻  Mittelgroße Displays (750–999px)
    → Bubbles deutlich weiter in die Mitte */
@media (max-width: 999px) {
    .dialog-bubble-wrapper.left {
        padding-left: 140px;
    }
    .dialog-bubble-wrapper.right {
        padding-right: 140px;
    }
}

/*  📱 iPad portrait / kleinere Tablets (600–749px)
    → noch etwas enger */
@media (max-width: 749px) {
    .dialog-bubble-wrapper.left {
        padding-left: 25px;
    }
    .dialog-bubble-wrapper.right {
        padding-right: 25px;
    }
}

/*  📱 Smartphones (≤600px) */
@media (max-width: 600px) {
    .dialog-bubble-wrapper.left {
        padding-left: 12px;
    }
    .dialog-bubble-wrapper.right {
        padding-right: 12px;
    }
}

/* Avatar */
.avatar-wrapper {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 3px solid transparent;
    background: rgba(255,255,255,0.35);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 14px rgba(0,0,0,0.15);
}

.dialog-bubble-wrapper.left .avatar-wrapper {
    border-color: #ff7aa9; /* Clara pink */
}

.dialog-bubble-wrapper.right .avatar-wrapper {
    border-color: #7dc6ff; /* Mateo blau */
}

.avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Chat-Bubble */
.dialog-bubble {
    max-width: 66%;
    padding: 16px 20px;
    border-radius: 18px;
    font-size: 16px;
    line-height: 1.5;
    background: rgba(255,255,255,0.52);
    border: 1px solid rgba(255,255,255,0.65);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 
        0 4px 18px rgba(0,0,0,0.12),
        inset 0 1px 1px rgba(255,255,255,0.45);
}

.dialog-bubble-wrapper.right .dialog-bubble {
    background: rgba(255,255,255,0.62);

}

/* Dark Mode */
@media (prefers-color-scheme: dark) {
    .dialog-bubble {
        background: rgba(255,255,255,0.08);
        border: 1px solid rgba(255,255,255,0.18);
        box-shadow: 0 4px 14px rgba(0,0,0,0.45);
    }
    .avatar-wrapper {
        background: rgba(255,255,255,0.1);
        box-shadow: 0 2px 8px rgba(0,0,0,0.5);
    }
}
    /* Mateo – rechte Bubble (helle Antwort im Dark Mode) */
    .dialog-bubble-wrapper.right .dialog-bubble {
        background: rgba(255, 255, 255, 0.22);  /* NICHT 0.6! – viel subtiler */
        border: 1px solid rgba(255, 255, 255, 0.28);
        color: #f6f6f6; /* heller Text für bessere Lesbarkeit */
    }

/* Animation */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Mobile */
@media (max-width: 600px) {
    .dialog-bubble {
        max-width: 85%;
        font-size: 15px;
        padding: 14px 16px;
    }
    .avatar-wrapper {
        width: 48px;
        height: 48px;
    }
}
/* MCQ komplett mittig ausrichten */
.mcq-container {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    text-align: center; /* sorgt für zentrierten Container */
}

/* Jede Fragekarte mittig, aber Text links */
.question {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    text-align: left; /* Text linksbündig belassen */
}

/* Optionen ebenfalls linksbündig */
.options {
    text-align: left;
}

/* Optionen selbst dürfen NICHT breiter als die Karte werden */
.option {
    max-width: 100%;
}

/* Button in der Mitte */
.question .check-button {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    max-width: 60%;
}

@media (prefers-color-scheme: light) {

/* 🌞 LIGHT MODE – Bubble-Farben zurücksetzen */
.dialog-bubble-wrapper.left .dialog-bubble {
    color: #1a1a1a;
}

.dialog-bubble-wrapper.right .dialog-bubble {
    color: #1a1a1a;
}
}