/* ============================================================================
 * VEUS Quiz — quiz-pages.css
 * MVP 1.3 / M6 frontend (2026-05-16).
 *
 * Cobre as 4 novas telas do MVP 1.3:
 *   (.quiz-page-list)    — lista de quizzes (flashcards com flip on hover)
 *   (.quiz-page-edit)    — editor de quiz (drag-and-drop de questões)
 *   (.quiz-page-take)    — execução (1 pergunta por tela, progressbar)
 *   (.quiz-page-result)  — resultado (confetti + score grande + share)
 *
 * Filosofia:
 *  - Reutiliza TOKENS de quiz.css (--veus-yellow, --veus-ink-*, sombras…).
 *  - Reutiliza tema light de quiz-theme.css ([data-theme="light"] cascade).
 *  - Introduz family display secundária Space Grotesk (--quiz-font-display-2)
 *    apenas em títulos das novas telas — Barlow Condensed continua dominante
 *    no shell (topbar + footer) por continuidade visual com Call/Authentik.
 *  - Usa o acento terciário coral (--quiz-coral, --quiz-coral-soft/deep) APENAS
 *    em micro-detalhes (progressbar fill, hover de option correta, badge de
 *    pontos, gradient hero result). NUNCA como cor base — gate M9 cumprido.
 *
 * Escopo: TUDO está sob .quiz-page-{list|edit|take|result}. Quiz home.html
 * permanece intacto.
 *
 * Estrutura interna em 9 seções:
 *  (1) shell wrapper compartilhado das 4 páginas
 *  (2) page header (title + breadcrumb)
 *  (3) LIST — flashcard grid com flip on hover
 *  (4) EDIT — editor inline + drag-handle + question card
 *  (5) TAKE — monumento centralizado + progressbar + option button
 *  (6) RESULT — score gigante + confetti SVG + share + ranking
 *  (7) shared widgets (badge de pontos, status dots, divider)
 *  (8) animações + reduced-motion (extends quiz.css base)
 *  (9) responsivo
 * ========================================================================== */


/* ====================================================================
 * (1) Wrapper compartilhado
 * ==================================================================== */
.quiz-page-list,
.quiz-page-edit,
.quiz-page-take,
.quiz-page-result {
    max-width: var(--veus-content-max);
    margin: 0 auto;
    padding: var(--veus-space-7) var(--veus-gutter) var(--veus-space-9);
    position: relative;
    z-index: 1;
}

/* TAKE foge do container porque o monumento de pergunta precisa ser
   centralizado verticalmente na viewport inteira (sem topbar/footer). */
.quiz-page-take {
    min-height: 100vh;
    min-height: 100dvh;
    padding-top: var(--veus-space-6);
}


/* ====================================================================
 * (2) Page header (compartilhado por list/edit)
 *
 * Padrão: kicker mono + título Space Grotesk + ação opcional à direita.
 * ==================================================================== */
.quiz-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--veus-space-5);
    margin: var(--veus-space-7) 0 var(--veus-space-8);
    opacity: 0;
    animation: veus-fade-up .8s cubic-bezier(0.0, 0.0, 0.2, 1) .1s forwards;
}

.quiz-page-header__col { display: flex; flex-direction: column; gap: var(--veus-space-3); }

.quiz-page-header__kicker {
    font-family: var(--veus-font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--veus-text-faint);
    display: inline-flex;
    align-items: center;
    gap: var(--veus-space-2);
}
.quiz-page-header__kicker::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 1px;
    background: linear-gradient(90deg, var(--quiz-coral), transparent);
}

.quiz-page-header__title {
    margin: 0;
    font-family: var(--quiz-font-display-2);
    font-weight: 600;
    font-size: clamp(2.2rem, 4vw + 1rem, 3.4rem);
    line-height: 1.05;
    letter-spacing: -0.025em;
    color: var(--veus-text);
}
.quiz-page-header__title em {
    font-style: italic;
    font-family: var(--veus-font-body);
    font-weight: 500;
    color: var(--quiz-coral-soft);
    font-size: 0.85em;
    letter-spacing: 0;
}

.quiz-page-header__lede {
    max-width: 56ch;
    color: var(--veus-text-soft);
    font-size: clamp(0.95rem, 0.3vw + 0.9rem, 1.1rem);
}


/* ====================================================================
 * (3) LIST — flashcard grid com flip on hover
 *
 * Cada card de quiz é um "flashcard": face frontal mostra capa
 * (título + categoria + nº de perguntas + duração); face traseira
 * revela descrição + CTA "Jogar agora" + última pontuação.
 *
 * Tech: 3D transform com perspective no container, rotateY no inner.
 * Hover → flip; focus dentro do botão também triggera (a11y).
 * reduced-motion: substituído por crossfade de opacity.
 * ==================================================================== */
.quiz-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--veus-space-5);
    margin-bottom: var(--veus-space-10);
    opacity: 0;
    animation: veus-fade-up .9s cubic-bezier(0.0, 0.0, 0.2, 1) .25s forwards;
}

.quiz-card {
    position: relative;
    perspective: 1200px;
    height: 280px;
}

.quiz-card__inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform-style: preserve-3d;
}
.quiz-card:hover .quiz-card__inner,
.quiz-card:focus-within .quiz-card__inner {
    transform: rotateY(180deg);
}

.quiz-card__face {
    position: absolute;
    inset: 0;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    padding: var(--veus-space-6);
    display: flex;
    flex-direction: column;
    border: 1px solid var(--veus-ink-600);
    border-radius: var(--veus-radius-2xl);
    background: var(--veus-ink-750);
    box-shadow: var(--veus-shadow-card);
    overflow: hidden;
}

/* Face frontal: capa */
.quiz-card__face--front { z-index: 2; }
.quiz-card__face--front::after {
    /* Duotone gradient: cinza → coral. Diferenciação visual única dos cards de quiz. */
    content: "";
    position: absolute;
    inset: auto -20% -40% auto;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--quiz-coral-glow) 0%, transparent 60%);
    pointer-events: none;
    transition: transform .6s cubic-bezier(0.0, 0.0, 0.2, 1);
}
.quiz-card:hover .quiz-card__face--front::after {
    transform: scale(1.4) translate(-10%, -10%);
}

.quiz-card__category {
    font-family: var(--veus-font-mono);
    font-size: 0.68rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--quiz-coral-soft);
    margin-bottom: var(--veus-space-3);
    display: inline-flex;
    align-items: center;
    gap: var(--veus-space-2);
}
.quiz-card__category::before {
    content: "";
    width: 5px; height: 5px;
    border-radius: 50%;
    background: var(--quiz-coral);
}

.quiz-card__title {
    margin: 0 0 var(--veus-space-3);
    font-family: var(--quiz-font-display-2);
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 1.15;
    letter-spacing: -0.015em;
    color: var(--veus-text);
    /* Limit to 3 lines clean. */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.quiz-card__meta {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: var(--veus-space-4);
    color: var(--veus-text-faint);
    font-size: 0.82rem;
    font-family: var(--veus-font-mono);
    letter-spacing: 0.05em;
}
.quiz-card__meta span { display: inline-flex; align-items: center; gap: 4px; }
.quiz-card__meta svg { width: 13px; height: 13px; opacity: 0.85; }

/* Face traseira: descrição + CTA */
.quiz-card__face--back {
    transform: rotateY(180deg);
    background:
        linear-gradient(180deg, rgba(226,89,143,.05) 0%, rgba(226,89,143,0) 60%),
        var(--veus-ink-700);
    border-color: rgba(226,89,143,.30);
}

.quiz-card__desc {
    color: var(--veus-text-soft);
    font-size: 0.92rem;
    line-height: 1.55;
    margin-bottom: var(--veus-space-5);
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.quiz-card__back-meta {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: var(--veus-space-4);
    font-family: var(--veus-font-mono);
    font-size: 0.78rem;
    color: var(--veus-text-faint);
}
.quiz-card__back-meta strong {
    font-family: var(--quiz-font-display-2);
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--quiz-coral-soft);
    letter-spacing: -0.02em;
}

.quiz-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--veus-space-2);
    margin-top: auto;
    padding: 12px 18px;
    border-radius: var(--veus-radius-lg);
    background: var(--veus-yellow);
    color: #1A1300;
    font-family: var(--veus-font-display);
    font-weight: 600;
    font-size: 0.92rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: transform .2s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color .2s ease;
}
.quiz-card__cta:hover { background: var(--veus-yellow-deep); }
.quiz-card__cta:focus-visible { outline: 3px solid #1A1300; outline-offset: 3px; }

/* Card "criar novo" — placeholder dashed */
.quiz-card--new {
    border: 1.5px dashed var(--veus-ink-500);
    border-radius: var(--veus-radius-2xl);
    background: transparent;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--veus-space-3);
    height: 280px;
    color: var(--veus-text-faint);
    transition: border-color .25s ease, color .25s ease, background-color .25s ease;
    text-align: center;
    padding: var(--veus-space-6);
}
.quiz-card--new:hover {
    border-color: var(--veus-yellow);
    color: var(--veus-yellow-soft);
    background: rgba(255,179,22,.04);
}
.quiz-card--new__icon {
    width: 42px; height: 42px;
    display: grid; place-items: center;
    border-radius: 50%;
    border: 1.5px solid currentColor;
    font-family: var(--veus-font-display);
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
}
.quiz-card--new__label {
    font-family: var(--veus-font-display);
    font-weight: 500;
    font-size: 1.05rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.quiz-card--new__hint {
    font-size: 0.82rem;
    color: var(--veus-text-faint);
}

/* Toolbar de filtro (lista) */
.quiz-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--veus-space-3);
    margin-bottom: var(--veus-space-7);
    padding: var(--veus-space-3) var(--veus-space-4);
    border: 1px solid var(--veus-ink-600);
    border-radius: var(--veus-radius-xl);
    background: rgba(255,255,255,.015);
}
.quiz-toolbar__chip {
    padding: 6px 14px;
    border: 1px solid var(--veus-ink-600);
    border-radius: 999px;
    background: transparent;
    color: var(--veus-text-soft);
    font-family: var(--veus-font-mono);
    font-size: 0.74rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color .18s ease, color .18s ease, background-color .18s ease;
}
.quiz-toolbar__chip:hover { color: var(--veus-text); border-color: var(--veus-ink-400); }
.quiz-toolbar__chip[aria-pressed="true"] {
    background: var(--quiz-coral);
    border-color: var(--quiz-coral);
    color: #fff;
}
.quiz-toolbar__search {
    flex: 1 1 240px;
    min-width: 0;
    padding: 8px 14px;
    border: 1px solid var(--veus-ink-600);
    border-radius: 999px;
    background: rgba(0,0,0,.18);
    color: var(--veus-text);
    font-family: var(--veus-font-body);
    font-size: 0.9rem;
    transition: border-color .18s ease;
}
.quiz-toolbar__search::placeholder { color: var(--veus-text-faint); }
.quiz-toolbar__search:focus { outline: none; border-color: var(--veus-yellow); }


/* ====================================================================
 * (4) EDIT — editor inline + drag-and-drop de questões
 *
 * Layout: coluna única (modo Notion). Cada questão é um card com
 * drag-handle à esquerda, conteúdo editável no centro, ações à direita.
 *
 * Drag pattern (JS em quiz-editor.js):
 *   - drag-handle aciona setData("text/quiz-question-id", id)
 *   - dropzone visualmente realçada via .is-drop-target
 *   - elemento sendo arrastado vira .is-dragging (opacity .5 + rotate)
 * ==================================================================== */
.quiz-edit__form {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--veus-space-7);
    margin-bottom: var(--veus-space-10);
    opacity: 0;
    animation: veus-fade-up .9s cubic-bezier(0.0, 0.0, 0.2, 1) .25s forwards;
}

.quiz-edit__meta {
    padding: var(--veus-space-6);
    border: 1px solid var(--veus-ink-600);
    border-radius: var(--veus-radius-2xl);
    background: var(--veus-ink-750);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--veus-space-5);
}
.quiz-edit__meta--full { grid-template-columns: 1fr; }

.quiz-field { display: flex; flex-direction: column; gap: var(--veus-space-2); }
.quiz-field__label {
    font-family: var(--veus-font-mono);
    font-size: 0.7rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--veus-text-faint);
}
.quiz-field__input,
.quiz-field__textarea,
.quiz-field__select {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--veus-ink-600);
    border-radius: var(--veus-radius-md);
    background: rgba(0,0,0,.18);
    color: var(--veus-text);
    font-family: var(--veus-font-body);
    font-size: 0.96rem;
    transition: border-color .18s ease;
}
.quiz-field__input::placeholder,
.quiz-field__textarea::placeholder { color: var(--veus-text-faint); }
.quiz-field__input:focus,
.quiz-field__textarea:focus,
.quiz-field__select:focus { outline: none; border-color: var(--veus-yellow); box-shadow: 0 0 0 3px rgba(255,179,22,.18); }
.quiz-field__textarea { min-height: 96px; resize: vertical; line-height: 1.5; }

/* Editor inline tipo Notion para título: input invisível + tamanho display */
.quiz-edit__title-input {
    width: 100%;
    padding: 6px 0;
    border: 0;
    border-bottom: 1px solid transparent;
    background: transparent;
    color: var(--veus-text);
    font-family: var(--quiz-font-display-2);
    font-weight: 600;
    font-size: clamp(1.8rem, 3vw + 1rem, 2.8rem);
    line-height: 1.1;
    letter-spacing: -0.022em;
    transition: border-color .18s ease;
}
.quiz-edit__title-input:focus {
    outline: none;
    border-bottom-color: var(--quiz-coral);
}
.quiz-edit__title-input::placeholder { color: var(--veus-text-faint); font-style: italic; }


/* --- Questões drag-and-drop ----------------------------------------- */
.quiz-edit__questions {
    display: flex;
    flex-direction: column;
    gap: var(--veus-space-4);
}

.quiz-edit__section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 var(--veus-space-3);
    font-family: var(--quiz-font-display-2);
    font-weight: 600;
    font-size: 1.3rem;
    color: var(--veus-text);
    letter-spacing: -0.01em;
}
.quiz-edit__section-title small {
    font-family: var(--veus-font-mono);
    font-size: 0.7rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--veus-text-faint);
    font-weight: 400;
}

.question-card {
    position: relative;
    display: grid;
    grid-template-columns: 36px 1fr auto;
    gap: var(--veus-space-4);
    padding: var(--veus-space-5);
    border: 1px solid var(--veus-ink-600);
    border-radius: var(--veus-radius-xl);
    background: var(--veus-ink-750);
    transition: border-color .2s ease, transform .25s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow .2s ease, opacity .2s ease;
}
.question-card.is-dragging {
    opacity: 0.45;
    transform: scale(0.98) rotate(-0.6deg);
    border-color: var(--quiz-coral);
    box-shadow: 0 12px 32px -8px rgba(0,0,0,.5);
    cursor: grabbing;
}
.question-card.is-drop-target {
    border-color: var(--quiz-coral);
    background: linear-gradient(180deg, rgba(226,89,143,.08), transparent);
    box-shadow: inset 0 0 0 1px rgba(226,89,143,.4);
}
.question-card.is-drop-above::before {
    content: ""; position: absolute; top: -4px; left: 6%; right: 6%;
    height: 3px; border-radius: 2px;
    background: linear-gradient(90deg, transparent, var(--quiz-coral) 30%, var(--quiz-coral) 70%, transparent);
}
.question-card.is-drop-below::after {
    content: ""; position: absolute; bottom: -4px; left: 6%; right: 6%;
    height: 3px; border-radius: 2px;
    background: linear-gradient(90deg, transparent, var(--quiz-coral) 30%, var(--quiz-coral) 70%, transparent);
}

.question-card__handle {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: var(--veus-radius-sm);
    color: var(--veus-text-faint);
    cursor: grab;
    transition: color .18s ease, background-color .18s ease;
    user-select: none;
    -webkit-user-select: none;
}
.question-card__handle:hover { color: var(--veus-text); background: rgba(255,255,255,.04); }
.question-card__handle:active { cursor: grabbing; }
.question-card__handle svg { width: 18px; height: 18px; pointer-events: none; }

.question-card__body { display: flex; flex-direction: column; gap: var(--veus-space-3); min-width: 0; }

.question-card__index {
    font-family: var(--veus-font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--quiz-coral-soft);
}

.question-card__prompt {
    width: 100%;
    padding: 6px 0;
    border: 0;
    border-bottom: 1px solid transparent;
    background: transparent;
    color: var(--veus-text);
    font-family: var(--quiz-font-display-2);
    font-weight: 500;
    font-size: 1.15rem;
    line-height: 1.35;
    transition: border-color .18s ease;
    resize: none;
    min-height: 1.6em;
}
.question-card__prompt:focus { outline: none; border-bottom-color: var(--quiz-coral); }
.question-card__prompt::placeholder { color: var(--veus-text-faint); font-style: italic; }

.question-card__options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--veus-space-3);
    margin-top: var(--veus-space-2);
}
.question-card__option {
    display: flex;
    align-items: center;
    gap: var(--veus-space-3);
    padding: 8px 12px;
    border: 1px solid var(--veus-ink-600);
    border-radius: var(--veus-radius-md);
    background: rgba(0,0,0,.18);
    transition: border-color .18s ease, background-color .18s ease;
}
.question-card__option:focus-within { border-color: var(--quiz-coral); }
.question-card__option--correct {
    border-color: rgba(255,179,22,.45);
    background: rgba(255,179,22,.06);
}
.question-card__option-mark {
    width: 18px; height: 18px;
    border-radius: 50%;
    border: 1.5px solid var(--veus-ink-500);
    flex-shrink: 0;
    cursor: pointer;
    position: relative;
    transition: border-color .18s ease, background-color .18s ease;
}
.question-card__option-mark[aria-pressed="true"] {
    border-color: var(--veus-yellow);
    background: var(--veus-yellow);
}
.question-card__option-mark[aria-pressed="true"]::after {
    content: ""; position: absolute; inset: 4px;
    border-radius: 50%; background: #1A1300;
}
.question-card__option-input {
    flex: 1;
    border: 0;
    background: transparent;
    color: var(--veus-text);
    font-family: var(--veus-font-body);
    font-size: 0.95rem;
    padding: 4px 0;
}
.question-card__option-input:focus { outline: none; }
.question-card__option-input::placeholder { color: var(--veus-text-faint); }

.question-card__actions {
    display: flex;
    flex-direction: column;
    gap: var(--veus-space-2);
    align-self: flex-start;
}
.question-card__action {
    width: 32px; height: 32px;
    display: grid; place-items: center;
    border: 1px solid var(--veus-ink-600);
    border-radius: var(--veus-radius-sm);
    color: var(--veus-text-faint);
    background: transparent;
    cursor: pointer;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}
.question-card__action:hover {
    color: var(--veus-text);
    border-color: var(--veus-ink-400);
    background: rgba(255,255,255,.03);
}
.question-card__action--danger:hover {
    color: var(--quiz-coral-soft);
    border-color: var(--quiz-coral);
    background: var(--quiz-coral-glow-soft);
}
.question-card__action svg { width: 15px; height: 15px; }

.quiz-edit__add-row {
    display: flex;
    gap: var(--veus-space-3);
    align-items: stretch;
    margin-top: var(--veus-space-4);
}
.quiz-edit__add-btn {
    flex: 1;
    padding: var(--veus-space-4);
    border: 1.5px dashed var(--veus-ink-500);
    border-radius: var(--veus-radius-xl);
    background: transparent;
    color: var(--veus-text-faint);
    font-family: var(--veus-font-display);
    font-weight: 500;
    font-size: 0.95rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: border-color .2s ease, color .2s ease, background-color .2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--veus-space-3);
}
.quiz-edit__add-btn:hover {
    border-color: var(--quiz-coral);
    color: var(--quiz-coral-soft);
    background: var(--quiz-coral-glow-soft);
}

.quiz-edit__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--veus-space-4);
    padding-top: var(--veus-space-6);
    border-top: 1px solid var(--veus-ink-600);
    flex-wrap: wrap;
}
.quiz-edit__autosave {
    font-family: var(--veus-font-mono);
    font-size: 0.78rem;
    color: var(--veus-text-faint);
    display: inline-flex;
    align-items: center;
    gap: var(--veus-space-2);
}
.quiz-edit__autosave::before {
    content: "";
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--quiz-coral);
    box-shadow: 0 0 0 0 var(--quiz-coral-glow);
    animation: veus-pulse 2.4s cubic-bezier(0.4, 0.0, 0.6, 1) infinite;
}


/* ====================================================================
 * (5) TAKE — monumento centralizado + progressbar + option button
 *
 * Layout: bar de progresso topo + bloco vertical centralizado (kicker +
 * pergunta monumental + opções verticais). Mantém atmosfera escura
 * mas o monumento ganha respiro vertical extra (espaço Joseph Müller-Brockmann).
 *
 * Animação: ao avançar, sai com translateX(-40px)+opacity 0, entra com
 * translateX(40px) → 0. Direção configurável via .is-going-back.
 * ==================================================================== */
.quiz-take__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--veus-space-5);
    padding: var(--veus-space-3) 0;
    margin-bottom: var(--veus-space-9);
    border-bottom: 1px solid var(--veus-ink-600);
}
.quiz-take__abort {
    color: var(--veus-text-faint);
    font-family: var(--veus-font-mono);
    font-size: 0.78rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: var(--veus-space-2);
    background: transparent;
    border: 0;
    cursor: pointer;
    padding: 6px 0;
    transition: color .18s ease;
}
.quiz-take__abort:hover { color: var(--veus-text); }

.quiz-take__counter {
    font-family: var(--veus-font-mono);
    font-size: 0.78rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--veus-text-soft);
}
.quiz-take__counter strong {
    color: var(--quiz-coral-soft);
    font-weight: 600;
}

.quiz-take__progress {
    position: relative;
    width: 100%;
    height: 4px;
    background: var(--veus-ink-700);
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: var(--veus-space-10);
}
.quiz-take__progress-fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--quiz-progress, 30%);
    background: linear-gradient(90deg, var(--quiz-coral) 0%, var(--veus-yellow) 100%);
    border-radius: 999px;
    transition: width .55s cubic-bezier(0.0, 0.0, 0.2, 1);
    box-shadow: 0 0 12px var(--quiz-coral-glow);
}

.quiz-take__stage {
    position: relative;
    max-width: 780px;
    margin: 0 auto;
    text-align: center;
    padding: var(--veus-space-8) 0;
    /* Animação de transição entre perguntas */
    animation: quiz-take-in .6s cubic-bezier(0.0, 0.0, 0.2, 1) both;
}
.quiz-take__stage.is-leaving {
    animation: quiz-take-out .35s cubic-bezier(0.4, 0.0, 1, 1) both;
}
.quiz-take__stage.is-going-back {
    animation: quiz-take-in-back .6s cubic-bezier(0.0, 0.0, 0.2, 1) both;
}

.quiz-take__kicker {
    display: inline-flex;
    align-items: center;
    gap: var(--veus-space-3);
    margin-bottom: var(--veus-space-7);
    font-family: var(--veus-font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--quiz-coral-soft);
}
.quiz-take__kicker::before,
.quiz-take__kicker::after {
    content: "";
    display: inline-block;
    width: 28px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--quiz-coral), transparent);
}

.quiz-take__prompt {
    margin: 0 auto var(--veus-space-9);
    max-width: 22ch;
    font-family: var(--quiz-font-display-2);
    font-weight: 500;
    font-size: clamp(1.8rem, 3.5vw + 1rem, 3.4rem);
    line-height: 1.18;
    letter-spacing: -0.02em;
    color: var(--veus-text);
    text-wrap: balance;
}

.quiz-take__options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--veus-space-4);
    max-width: 640px;
    margin: 0 auto var(--veus-space-7);
}

.quiz-take__option {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--veus-space-4);
    padding: var(--veus-space-5) var(--veus-space-5);
    border: 1.5px solid var(--veus-ink-600);
    border-radius: var(--veus-radius-xl);
    background: var(--veus-ink-750);
    color: var(--veus-text);
    font-family: var(--veus-font-body);
    font-size: 1.02rem;
    text-align: left;
    cursor: pointer;
    transition:
        border-color .2s ease,
        background-color .2s ease,
        transform .25s cubic-bezier(0.175, 0.885, 0.32, 1.275),
        box-shadow .25s ease;
}
.quiz-take__option:hover {
    border-color: var(--quiz-coral);
    background: var(--veus-ink-700);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -16px var(--quiz-coral-glow);
}
.quiz-take__option:focus-visible {
    outline: 3px solid var(--quiz-coral);
    outline-offset: 4px;
}

.quiz-take__option-key {
    display: grid;
    place-items: center;
    width: 32px; height: 32px;
    border: 1.5px solid var(--veus-ink-500);
    border-radius: 8px;
    font-family: var(--veus-font-mono);
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--veus-text-soft);
    flex-shrink: 0;
    transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}
.quiz-take__option:hover .quiz-take__option-key {
    border-color: var(--quiz-coral);
    color: var(--quiz-coral-soft);
}

/* Estados pós-resposta */
.quiz-take__option.is-correct {
    border-color: var(--veus-yellow);
    background: rgba(255,179,22,.08);
    animation: quiz-correct-pulse .6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.quiz-take__option.is-correct .quiz-take__option-key {
    background: var(--veus-yellow);
    border-color: var(--veus-yellow);
    color: #1A1300;
}
.quiz-take__option.is-wrong {
    border-color: var(--quiz-coral-deep);
    background: rgba(168,50,108,.10);
    opacity: 0.85;
}
.quiz-take__option.is-wrong .quiz-take__option-key {
    background: var(--quiz-coral);
    border-color: var(--quiz-coral);
    color: #fff;
}
.quiz-take__option:disabled,
.quiz-take__option.is-disabled {
    cursor: default;
    transform: none;
}
.quiz-take__option:disabled:hover,
.quiz-take__option.is-disabled:hover {
    transform: none;
    box-shadow: none;
}

.quiz-take__hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--veus-space-3);
    color: var(--veus-text-faint);
    font-size: 0.85rem;
}


/* ====================================================================
 * (6) RESULT — score gigante + confetti SVG + share + ranking
 *
 * Layout: hero centralizado com score monumental, breakdown abaixo,
 * CTAs lado a lado. Confetti SVG container absoluto cobrindo viewport
 * (z-index baixo, pointer-events: none).
 * ==================================================================== */
.quiz-result {
    position: relative;
    text-align: center;
    padding-top: var(--veus-space-9);
}

.quiz-result__confetti {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}
.quiz-result__confetti svg {
    position: absolute;
    /* JS positions individually with --x, --y, --delay, --rot. */
    top: var(--y, 0);
    left: var(--x, 0);
    width: var(--size, 12px);
    height: var(--size, 12px);
    transform-origin: center;
    animation: quiz-confetti-fall var(--dur, 4.5s) cubic-bezier(0.4, 0.0, 0.6, 1) var(--delay, 0s) forwards;
}

.quiz-result__kicker {
    font-family: var(--veus-font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--quiz-coral-soft);
    margin-bottom: var(--veus-space-4);
    position: relative;
    z-index: 2;
}

.quiz-result__verdict {
    margin: 0 0 var(--veus-space-7);
    font-family: var(--quiz-font-display-2);
    font-weight: 600;
    font-size: clamp(2rem, 3.5vw + 1rem, 3.2rem);
    line-height: 1.1;
    letter-spacing: -0.025em;
    color: var(--veus-text);
    position: relative;
    z-index: 2;
}
.quiz-result__verdict em {
    font-style: italic;
    font-family: var(--veus-font-body);
    font-weight: 500;
    color: var(--quiz-coral-soft);
    font-size: 0.7em;
    letter-spacing: 0;
}

.quiz-result__score {
    position: relative;
    z-index: 2;
    margin: 0 auto var(--veus-space-6);
    display: inline-flex;
    align-items: baseline;
    gap: var(--veus-space-3);
    font-family: var(--veus-font-display);
    font-weight: 700;
    line-height: 0.9;
    color: var(--veus-text);
}
.quiz-result__score-num {
    font-size: clamp(7rem, 18vw, 16rem);
    letter-spacing: -0.04em;
    background: linear-gradient(180deg, var(--veus-yellow) 0%, var(--quiz-coral) 100%);
    -webkit-background-clip: text;
            background-clip: text;
    color: transparent;
    animation: quiz-result-count .9s cubic-bezier(0.175, 0.885, 0.32, 1.275) .15s both;
}
.quiz-result__score-den {
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 500;
    color: var(--veus-text-faint);
    letter-spacing: -0.02em;
}

.quiz-result__breakdown {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--veus-space-4);
    max-width: 560px;
    margin: 0 auto var(--veus-space-9);
}
.quiz-result__stat {
    padding: var(--veus-space-5) var(--veus-space-4);
    border: 1px solid var(--veus-ink-600);
    border-radius: var(--veus-radius-xl);
    background: rgba(255,255,255,.02);
}
.quiz-result__stat-num {
    font-family: var(--quiz-font-display-2);
    font-weight: 600;
    font-size: clamp(1.5rem, 2vw + 1rem, 2.2rem);
    color: var(--veus-text);
    line-height: 1;
    letter-spacing: -0.02em;
    margin-bottom: var(--veus-space-2);
}
.quiz-result__stat-num--coral { color: var(--quiz-coral-soft); }
.quiz-result__stat-num--yellow { color: var(--veus-yellow-soft); }
.quiz-result__stat-label {
    font-family: var(--veus-font-mono);
    font-size: 0.68rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--veus-text-faint);
}

.quiz-result__ctas {
    position: relative;
    z-index: 2;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--veus-space-4);
    margin-bottom: var(--veus-space-7);
}

.quiz-result__share {
    position: relative;
    z-index: 2;
    color: var(--veus-text-faint);
    font-size: 0.85rem;
    margin-top: var(--veus-space-4);
}
.quiz-result__share button {
    color: var(--quiz-coral-soft);
    background: transparent;
    border: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 3px;
}
.quiz-result__share button:hover { color: var(--veus-text); }


/* ====================================================================
 * (7) Shared widgets
 * ==================================================================== */
.quiz-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--quiz-coral-glow-soft);
    color: var(--quiz-coral-soft);
    font-family: var(--veus-font-mono);
    font-size: 0.65rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}
.quiz-badge--yellow {
    background: rgba(255,179,22,.10);
    color: var(--veus-yellow-soft);
}

.quiz-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--veus-ink-600) 20%, var(--veus-ink-600) 80%, transparent);
    border: 0;
    margin: var(--veus-space-9) 0;
}


/* ====================================================================
 * (8) Animações
 *
 * Extends quiz.css base — não redeclara keyframes já existentes.
 * Reduced-motion neutraliza em bloco no final.
 * ==================================================================== */
@keyframes quiz-take-in {
    from { opacity: 0; transform: translateX(40px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes quiz-take-in-back {
    from { opacity: 0; transform: translateX(-40px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes quiz-take-out {
    from { opacity: 1; transform: translateX(0); }
    to   { opacity: 0; transform: translateX(-40px); }
}
@keyframes quiz-correct-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(255,179,22,.6); }
    100% { box-shadow: 0 0 0 18px rgba(255,179,22,0); }
}
@keyframes quiz-result-count {
    from { opacity: 0; transform: scale(0.6); filter: blur(8px); }
    to   { opacity: 1; transform: scale(1);   filter: blur(0); }
}
@keyframes quiz-confetti-fall {
    0%   { opacity: 0; transform: translateY(-20vh) rotate(0); }
    8%   { opacity: 1; }
    100% { opacity: 0; transform: translateY(110vh) rotate(var(--rot, 720deg)); }
}


/* ====================================================================
 * (9) Responsivo
 * ==================================================================== */
@media (max-width: 880px) {
    .quiz-edit__meta { grid-template-columns: 1fr; }
    .quiz-result__breakdown { grid-template-columns: 1fr 1fr; }
    .quiz-list { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
    .question-card__options { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .quiz-take__options { grid-template-columns: 1fr; }
    .quiz-page-header { flex-direction: column; align-items: flex-start; }
    .question-card {
        grid-template-columns: 28px 1fr;
    }
    .question-card__actions {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: flex-end;
    }
    .quiz-card { height: 240px; }
    .quiz-card--new { height: 240px; }
    .quiz-result__breakdown { grid-template-columns: 1fr; }
}


/* ====================================================================
 * (10) Light theme — overrides para as 4 novas telas
 *
 * Mantém estrutura idêntica, troca tokens para coerência cream/paper.
 * ==================================================================== */
[data-theme="light"] .quiz-card__face {
    background: #ffffff;
    border-color: var(--veus-ink-600);
}
[data-theme="light"] .quiz-card__face--back {
    background:
        linear-gradient(180deg, rgba(168,50,108,.06) 0%, rgba(168,50,108,0) 60%),
        #fffcf9;
    border-color: rgba(168,50,108,.30);
}
[data-theme="light"] .quiz-card__face--front::after {
    background: radial-gradient(circle, rgba(168,50,108,.18) 0%, transparent 60%);
}
[data-theme="light"] .quiz-card__category { color: var(--quiz-coral-deep); }
[data-theme="light"] .quiz-card__category::before { background: var(--quiz-coral-deep); }
[data-theme="light"] .quiz-card__title { color: var(--veus-text); }
[data-theme="light"] .quiz-card__meta { color: var(--veus-text-faint); }
[data-theme="light"] .quiz-card__desc { color: var(--veus-text-soft); }
[data-theme="light"] .quiz-card__back-meta strong { color: var(--quiz-coral-deep); }

[data-theme="light"] .quiz-card--new {
    border-color: var(--veus-ink-500);
    color: var(--veus-text-faint);
}
[data-theme="light"] .quiz-card--new:hover {
    border-color: var(--veus-yellow-deep);
    color: var(--veus-yellow-deep);
    background: rgba(255,179,22,.08);
}

[data-theme="light"] .quiz-toolbar {
    border-color: var(--veus-ink-600);
    background: rgba(255,255,255,.55);
}
[data-theme="light"] .quiz-toolbar__chip {
    border-color: var(--veus-ink-600);
    color: var(--veus-text-soft);
}
[data-theme="light"] .quiz-toolbar__chip:hover { color: var(--veus-text); border-color: var(--veus-ink-400); }
[data-theme="light"] .quiz-toolbar__chip[aria-pressed="true"] {
    background: var(--quiz-coral-deep);
    border-color: var(--quiz-coral-deep);
    color: #fff;
}
[data-theme="light"] .quiz-toolbar__search {
    background: #ffffff;
    border-color: var(--veus-ink-600);
    color: var(--veus-text);
}
[data-theme="light"] .quiz-toolbar__search::placeholder { color: var(--veus-text-faint); }
[data-theme="light"] .quiz-toolbar__search:focus { border-color: var(--veus-yellow-deep); }

[data-theme="light"] .quiz-edit__meta {
    background: #ffffff;
    border-color: var(--veus-ink-600);
}
[data-theme="light"] .quiz-field__input,
[data-theme="light"] .quiz-field__textarea,
[data-theme="light"] .quiz-field__select {
    background: rgba(255,255,255,.95);
    border-color: var(--veus-ink-600);
    color: var(--veus-text);
}
[data-theme="light"] .quiz-field__input:focus,
[data-theme="light"] .quiz-field__textarea:focus,
[data-theme="light"] .quiz-field__select:focus {
    border-color: var(--veus-yellow-deep);
    box-shadow: 0 0 0 3px rgba(255,179,22,.22);
}
[data-theme="light"] .quiz-edit__title-input { color: var(--veus-text); }
[data-theme="light"] .quiz-edit__title-input:focus { border-bottom-color: var(--quiz-coral-deep); }

[data-theme="light"] .question-card {
    background: #ffffff;
    border-color: var(--veus-ink-600);
}
[data-theme="light"] .question-card.is-drop-target {
    border-color: var(--quiz-coral-deep);
    background: linear-gradient(180deg, rgba(168,50,108,.06), transparent);
    box-shadow: inset 0 0 0 1px rgba(168,50,108,.35);
}
[data-theme="light"] .question-card.is-drop-above::before,
[data-theme="light"] .question-card.is-drop-below::after {
    background: linear-gradient(90deg, transparent, var(--quiz-coral-deep) 30%, var(--quiz-coral-deep) 70%, transparent);
}
[data-theme="light"] .question-card__handle { color: var(--veus-text-faint); }
[data-theme="light"] .question-card__handle:hover { color: var(--veus-text); background: rgba(0,0,0,.04); }
[data-theme="light"] .question-card__index { color: var(--quiz-coral-deep); }
[data-theme="light"] .question-card__prompt { color: var(--veus-text); }
[data-theme="light"] .question-card__prompt:focus { border-bottom-color: var(--quiz-coral-deep); }
[data-theme="light"] .question-card__option {
    background: rgba(255,255,255,.85);
    border-color: var(--veus-ink-600);
}
[data-theme="light"] .question-card__option--correct {
    background: rgba(255,179,22,.10);
    border-color: rgba(255,179,22,.55);
}
[data-theme="light"] .question-card__option-input { color: var(--veus-text); }
[data-theme="light"] .question-card__action {
    border-color: var(--veus-ink-600);
    color: var(--veus-text-faint);
}
[data-theme="light"] .question-card__action:hover {
    border-color: var(--veus-ink-400);
    color: var(--veus-text);
    background: rgba(0,0,0,.04);
}
[data-theme="light"] .question-card__action--danger:hover {
    color: var(--quiz-coral-deep);
    border-color: var(--quiz-coral-deep);
}

[data-theme="light"] .quiz-edit__add-btn {
    border-color: var(--veus-ink-500);
    color: var(--veus-text-faint);
}
[data-theme="light"] .quiz-edit__add-btn:hover {
    border-color: var(--quiz-coral-deep);
    color: var(--quiz-coral-deep);
    background: rgba(168,50,108,.06);
}
[data-theme="light"] .quiz-edit__autosave { color: var(--veus-text-faint); }

[data-theme="light"] .quiz-take__topbar { border-bottom-color: var(--veus-ink-600); }
[data-theme="light"] .quiz-take__counter { color: var(--veus-text-soft); }
[data-theme="light"] .quiz-take__counter strong { color: var(--quiz-coral-deep); }
[data-theme="light"] .quiz-take__progress { background: var(--veus-ink-700); }
[data-theme="light"] .quiz-take__progress-fill {
    background: linear-gradient(90deg, var(--quiz-coral-deep) 0%, var(--veus-yellow-deep) 100%);
    box-shadow: 0 0 12px rgba(168,50,108,.35);
}
[data-theme="light"] .quiz-take__kicker { color: var(--quiz-coral-deep); }
[data-theme="light"] .quiz-take__kicker::before,
[data-theme="light"] .quiz-take__kicker::after {
    background: linear-gradient(90deg, transparent, var(--quiz-coral-deep), transparent);
}
[data-theme="light"] .quiz-take__prompt { color: var(--veus-text); }
[data-theme="light"] .quiz-take__option {
    background: #ffffff;
    border-color: var(--veus-ink-600);
    color: var(--veus-text);
}
[data-theme="light"] .quiz-take__option:hover {
    border-color: var(--quiz-coral-deep);
    background: #fffaf5;
    box-shadow: 0 14px 30px -16px rgba(168,50,108,.35);
}
[data-theme="light"] .quiz-take__option-key {
    border-color: var(--veus-ink-500);
    color: var(--veus-text-soft);
}
[data-theme="light"] .quiz-take__option:hover .quiz-take__option-key {
    border-color: var(--quiz-coral-deep);
    color: var(--quiz-coral-deep);
}
[data-theme="light"] .quiz-take__option.is-correct {
    background: rgba(255,179,22,.10);
    border-color: var(--veus-yellow);
}
[data-theme="light"] .quiz-take__option.is-wrong {
    background: rgba(168,50,108,.08);
    border-color: var(--quiz-coral-deep);
}
[data-theme="light"] .quiz-take__hint { color: var(--veus-text-faint); }

[data-theme="light"] .quiz-result__kicker { color: var(--quiz-coral-deep); }
[data-theme="light"] .quiz-result__verdict { color: var(--veus-text); }
[data-theme="light"] .quiz-result__verdict em { color: var(--quiz-coral-deep); }
[data-theme="light"] .quiz-result__score-num {
    background: linear-gradient(180deg, var(--veus-yellow-deep) 0%, var(--quiz-coral-deep) 100%);
    -webkit-background-clip: text;
            background-clip: text;
}
[data-theme="light"] .quiz-result__score-den { color: var(--veus-text-faint); }
[data-theme="light"] .quiz-result__stat {
    background: rgba(255,255,255,.7);
    border-color: var(--veus-ink-600);
}
[data-theme="light"] .quiz-result__stat-num { color: var(--veus-text); }
[data-theme="light"] .quiz-result__stat-num--coral { color: var(--quiz-coral-deep); }
[data-theme="light"] .quiz-result__stat-num--yellow { color: var(--veus-yellow-deep); }
[data-theme="light"] .quiz-result__stat-label { color: var(--veus-text-faint); }
[data-theme="light"] .quiz-result__share button { color: var(--quiz-coral-deep); }

[data-theme="light"] .quiz-badge {
    background: rgba(168,50,108,.08);
    color: var(--quiz-coral-deep);
}
[data-theme="light"] .quiz-badge--yellow {
    background: rgba(255,179,22,.12);
    color: var(--veus-yellow-deep);
}
[data-theme="light"] .quiz-divider {
    background: linear-gradient(90deg, transparent, var(--veus-ink-600) 20%, var(--veus-ink-600) 80%, transparent);
}


/* ====================================================================
 * (11) prefers-reduced-motion — neutraliza animações pesadas
 * ==================================================================== */
@media (prefers-reduced-motion: reduce) {
    .quiz-card:hover .quiz-card__inner,
    .quiz-card:focus-within .quiz-card__inner {
        transform: none;
    }
    .quiz-card__face--back {
        /* No reduced mode: back face shows via opacity crossfade on hover */
        backface-visibility: visible;
        opacity: 0;
        transition: opacity .25s ease;
        transform: none;
    }
    .quiz-card:hover .quiz-card__face--back,
    .quiz-card:focus-within .quiz-card__face--back {
        opacity: 1;
    }
    .quiz-take__stage,
    .quiz-take__stage.is-leaving,
    .quiz-take__stage.is-going-back {
        animation: none;
    }
    .quiz-take__option:hover { transform: none; }
    .quiz-take__option.is-correct { animation: none; }
    .quiz-result__score-num { animation: none; }
    .quiz-result__confetti svg { animation: none; opacity: 0; }
    .question-card.is-dragging { transform: none; }
    .quiz-edit__autosave::before { animation: none; }
}
