html,
body {

    width: 100%;

    overflow-x: hidden;

    background-color: #0f172a;

    color: #ffffff;

    font-family: Arial, Helvetica, sans-serif;

    margin: 0;

    padding: 0;
}

/* ---------------- Allgemein ---------------- */

h1,
h2,
h3,
h4,
h5 {

    font-weight: 700;
}

.container {

    max-width: 1200px;
}

/* ---------------- Fragekarte ---------------- */

.frage {

    background: linear-gradient(
        135deg,
        #1e293b,
        #334155
    );

    border: none;

    border-radius: 18px;

    min-height: 350px;

    box-shadow:
        0 10px 30px rgba(0,0,0,0.35);
}

/* ---------------- Antwortbuttons ---------------- */

.btn-answer {

    font-size: 18px;

    padding: 15px;

    border-radius: 12px;

    transition: all 0.2s ease;

    -webkit-tap-highlight-color: transparent !important;

    -webkit-appearance: none !important;

    appearance: none !important;

    outline: none !important;

    box-shadow: none !important;

    border: none;

    cursor: pointer;
}

.btn-answer:hover {

    transform: translateY(-2px);
}

.btn-answer:active {

    transform: scale(0.98);
}

/* ---------------- Eigene Antwortbuttons ---------------- */

.quiz-answer {

    background: #ffffff;

    color: #000000;

    border-radius: 12px;

    padding: 15px;

    font-size: 18px;

    cursor: pointer;

    transition: transform 0.15s ease;

    user-select: none;

    -webkit-user-select: none;

    -webkit-touch-callout: none;

    -webkit-tap-highlight-color: transparent;

    -webkit-appearance: none;

    appearance: none;

    outline: none !important;

    box-shadow: none !important;

    border: none;

    margin-top: 10px;
}

.quiz-answer:active {

    transform: scale(0.98);
}

.quiz-answer:focus {

    outline: none !important;

    box-shadow: none !important;
}

/* ---------------- iOS Fixes ---------------- */

button,
button:focus,
button:active,
button:hover {

    outline: none !important;

    box-shadow: none !important;

    -webkit-tap-highlight-color: transparent !important;
}

.btn {

    -webkit-appearance: none !important;

    appearance: none !important;
}

/* ---------------- Joker ---------------- */

#joker5050,
#jokerGift {

    font-size: 18px;

    padding: 14px;

    border-radius: 12px;

    font-weight: 700;
}

/* ---------------- Statistik ---------------- */

.card.bg-dark {

    border: none;

    border-radius: 18px;

    box-shadow:
        0 10px 25px rgba(0,0,0,0.3);
}

/* ---------------- Alert Box ---------------- */

.alert {

    border-radius: 14px;
}

/* ---------------- Restart Button ---------------- */

#restartQuiz {

    border-radius: 14px;

    padding: 14px 30px;

    font-size: 20px;

    font-weight: bold;
}

/* ---------------- Offcanvas ---------------- */

.offcanvas {

    max-width: 280px;
}

/* ---------------- Startbutton ---------------- */

.quiz-start-button {

    display: inline-block;

    background: #0d6efd;

    color: white;

    text-decoration: none;

    border-radius: 14px;

    padding: 16px 40px;

    font-size: 22px;

    font-weight: bold;

    cursor: pointer;

    transition: transform 0.15s ease;

    user-select: none;

    -webkit-user-select: none;

    -webkit-touch-callout: none;

    -webkit-tap-highlight-color: transparent;

    touch-action: manipulation;
}



@media (hover: hover) {

    .quiz-start-button:hover {

        color: white;

        text-decoration: none;

        opacity: 0.9;
    }
}

/* ---------------- Mobile Optimierung ---------------- */

@media (max-width: 768px) {

    .container {

        padding-left: 15px;

        padding-right: 15px;
    }

    .frage {

        min-height: auto;
    }

    .btn-answer,
    .quiz-answer {

        font-size: 17px;

        padding: 14px;
    }

    h1 {

        font-size: 2rem;
    }

    .joker-column {

        margin-top: 35px;
    }
}
.intro-screen {

    min-height: 100vh;
}
.intro-wrapper {

    min-height: 100vh;

    display: flex;

    justify-content: center;

    align-items: center;

    padding: 20px;
}

.intro-card {

    background: white;

    color: black;

    border-radius: 20px;

    padding: 40px;

    text-align: center;

    width: 100%;

    max-width: 500px;

    box-shadow:
        0 10px 30px rgba(0,0,0,0.25);
}

.intro-logo {

    width: 180px;

    max-width: 100%;

    margin-bottom: 30px;
}