:root {
            /* OSHAcademy-inspired palette: deep navy, safety blue, gold accent, clean white */
            --osh-navy: #17365d;
            --osh-blue: #1f5f99;
            --osh-light-blue: #e8f2fb;
            --osh-gold: #f2b705;
            --osh-green: #2f855a;
            --osh-red: #c53030;
            --osh-gray: #f4f6f8;
            --text: #1f2933;
            --white: #ffffff;
            --shadow: 0 8px 24px rgba(23, 54, 93, 0.16);
        }

        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            font-family: Arial, Helvetica, sans-serif;
            background: linear-gradient(180deg, var(--osh-light-blue), var(--white));
            color: var(--text);
            line-height: 1.5;
        }

        .app {
            width: min(100%, 760px);
            margin: 0 auto;
            padding: 16px;
        }

        .header {
            background: var(--osh-navy);
            color: var(--white);
            padding: 22px 18px;
            border-radius: 18px;
            box-shadow: var(--shadow);
            border-top: 6px solid var(--osh-gold);
        }

        .eyebrow {
            margin: 0 0 6px;
            font-size: 0.78em;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: var(--osh-gold);
            font-weight: 700;
        }

        h1 {
            margin: 0;
            font-size: clamp(1.35em, 5vw, 2em);
            line-height: 1.15;
        }

        .subtitle {
            margin: 10px 0 0;
            color: #dbeafe;
            font-size: 0.98em;
        }

        .card {
            background: var(--white);
            border-radius: 18px;
            box-shadow: var(--shadow);
            padding: 18px;
            margin-top: 16px;
            border: 1px solid #d8e2ee;
        }

        h2 {
            color: var(--osh-navy);
            font-size: 1.2em;
            margin: 0 0 8px;
        }

        h3 {
            color: var(--osh-blue);
            margin: 16px 0 8px;
            font-size: 1em;
        }

        ul {
            padding-left: 1.2em;
            margin: 8px 0;
        }

        .decision {
            background: var(--osh-gray);
            border-left: 6px solid var(--osh-gold);
        }

        .choices {
            display: grid;
            gap: 10px;
            margin-top: 12px;
        }

        button.choice {
            width: 100%;
            border: 2px solid #c9d7e6;
            background: var(--white);
            color: var(--text);
            text-align: left;
            padding: 14px;
            border-radius: 14px;
            font-size: 1em;
            cursor: pointer;
            transition: transform 0.12s ease, border-color 0.12s ease, background 0.12s ease;
            min-height: 54px;
        }

        button.choice:hover {
            transform: translateY(-1px);
            border-color: var(--osh-blue);
            background: #f8fbff;
        }

        button.choice:focus-visible {
            outline: 3px solid rgba(242, 183, 5, 0.45);
            outline-offset: 2px;
            transform: translateY(-1px);
            border-color: var(--osh-blue);
            background: #f8fbff;
        }

        button.choice.correct {
            border-color: var(--osh-green);
            background: #ecfdf3;
        }

        button.choice.incorrect {
            border-color: var(--osh-red);
            background: #fff5f5;
        }

        .letter {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 28px;
            height: 28px;
            margin-right: 8px;
            border-radius: 999px;
            background: var(--osh-navy);
            color: var(--white);
            font-weight: 700;
            font-size: 0.9em;
            vertical-align: middle;
        }

        .feedback {
            display: none;
            margin-top: 14px;
            padding: 16px;
            border-radius: 14px;
            border: 2px solid transparent;
        }

        .feedback.show {
            display: block;
        }

        .feedback.correct {
            border-color: var(--osh-green);
            background: #ecfdf3;
        }

        .feedback.incorrect {
            border-color: var(--osh-red);
            background: #fff5f5;
        }

        .feedback-title {
            margin: 0 0 8px;
            font-weight: 800;
            font-size: 1.05em;
        }

        .feedback.correct .feedback-title {
            color: var(--osh-green);
        }

        .feedback.incorrect .feedback-title {
            color: var(--osh-red);
        }

        .actions {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            margin-top: 14px;
        }

        .reset-btn {
            border: 0;
            background: var(--osh-blue);
            color: var(--white);
            padding: 12px 16px;
            border-radius: 12px;
            font-weight: 700;
            cursor: pointer;
            min-height: 48px;
        }

        .reset-btn:hover,
        .reset-btn:focus {
            background: var(--osh-navy);
            outline: 3px solid rgba(242, 183, 5, 0.45);
        }

        .note {
            font-size: 0.9em;
            color: #52616f;
            margin-top: 10px;
        }

        @media (max-width: 480px) {
            .app {
                padding: 10px;
            }

            .header,
            .card {
                border-radius: 14px;
            }

            button.choice {
                font-size: 0.96em;
                padding: 13px 12px;
            }
        }