Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
217 changes: 217 additions & 0 deletions blocks/quiz/quiz.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,217 @@
/* Quiz block – scoped to .quiz per AGENTS.md */
.quiz {
max-width: var(--grid-container-width);
margin: 0 auto;
padding: var(--space-s) 0;
}

.quiz .quiz-status {
margin: 0 0 var(--space-s);
font-size: var(--body-font-size-s);
color: light-dark(var(--color-gray-700), var(--color-gray-300));
}

.quiz .quiz-form {
display: grid;
gap: var(--space-m);
}

.quiz .quiz-slider {
overflow: hidden;
padding-inline: 2px;
}

.quiz .quiz-slider-shell {
margin-bottom: 0;
}

/* Base .quiz-question before child selector (no-descending-specificity) */
.quiz .quiz-question {
margin: 0;
border: 1px solid light-dark(var(--color-gray-200), var(--color-gray-700));
border-radius: 12px;
padding: var(--space-m);
background: light-dark(var(--color-light), rgb(21 25 31));
}

.quiz .quiz-question.is-correct {
border-inline-start: 3px solid var(--color-green-500);
}

.quiz .quiz-question.is-incorrect {
border-inline-start: 3px solid light-dark(var(--color-red-500), var(--color-red-300));
}

.quiz .quiz-slider-track {
display: flex;
flex-wrap: nowrap;
width: 100%;
align-items: stretch;
transition: transform 0.3s ease;
}

.quiz .quiz-slider-track > .quiz-question {
flex: 0 0 100%;
box-sizing: border-box;
}

.quiz .quiz-nav {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-s);
margin-top: var(--space-xs);
position: static;
transform: none;
pointer-events: auto;
z-index: auto;
padding-inline: 0;
}

.quiz .quiz-nav-btn {
border: 1px solid light-dark(rgb(255 255 255 / 55%), rgb(255 255 255 / 16%));
border-radius: 999px;
inline-size: 44px;
block-size: 44px;
padding: 0;
font: inherit;
font-size: 22px;
line-height: 1;
color: inherit;
background: light-dark(rgb(255 255 255 / 72%), rgb(24 27 32 / 70%));
backdrop-filter: blur(8px);
box-shadow: 0 10px 24px rgb(0 0 0 / 14%);
cursor: pointer;
pointer-events: auto;
}

.quiz .quiz-nav-btn:disabled {
opacity: 0.35;
cursor: default;
}

.quiz .quiz-nav-btn.is-hidden {
opacity: 0;
visibility: hidden;
pointer-events: none;
transform: scale(0.9);
}

.quiz .quiz-nav-count {
margin: 0;
position: static;
inset: auto;
text-align: center;
font-size: var(--body-font-size-s);
color: light-dark(var(--color-gray-600), var(--color-gray-300));
pointer-events: auto;
}

.quiz .quiz-question-title {
margin: 0;
padding: 0;
font-size: var(--heading-font-size-xs);
font-weight: 600;
}

.quiz .quiz-instruction {
margin: var(--space-xs) 0 0;
font-size: var(--body-font-size-s);
color: light-dark(var(--color-gray-600), var(--color-gray-300));
}

.quiz .quiz-options {
margin-top: var(--space-s);
display: grid;
gap: var(--space-xs);
}

.quiz .quiz-option {
display: flex;
align-items: flex-start;
gap: var(--space-xs);
border: 1px solid light-dark(var(--color-gray-200), var(--color-gray-700));
border-radius: 10px;
padding: 10px 12px;
background: light-dark(rgb(250 250 250), rgb(29 34 40));
cursor: pointer;
}

.quiz .quiz-option input {
margin-top: 2px;
}

.quiz .quiz-option-label {
font-size: var(--body-font-size-m);
line-height: 1.35;
}

.quiz .quiz-option.is-selected.is-correct {
border-color: var(--color-green-500);
background: light-dark(rgb(36 176 50 / 10%), rgb(24 114 32 / 20%));
}

.quiz .quiz-option.is-selected.is-wrong {
border-color: light-dark(var(--color-red-500), var(--color-red-300));
background: light-dark(rgb(248 20 0 / 9%), rgb(149 12 0 / 20%));
}

.quiz .quiz-feedback-slot {
margin-top: var(--space-xs);
}

.quiz .quiz-feedback {
border-radius: 8px;
padding: 8px 10px;
}

.quiz .quiz-feedback.is-correct {
background: light-dark(rgb(36 176 50 / 10%), rgb(24 114 32 / 20%));
}

.quiz .quiz-feedback.is-incorrect {
background: light-dark(rgb(248 20 0 / 9%), rgb(149 12 0 / 20%));
}

.quiz .quiz-feedback-result {
margin: 0;
font-size: var(--body-font-size-s);
font-weight: 700;
}

.quiz .quiz-feedback-snippets {
margin: 6px 0 0;
padding-inline-start: 16px;
font-size: var(--body-font-size-s);
}

.quiz .quiz-feedback-snippets li {
margin-block: 0.35em;
}

.quiz .quiz-submit {
justify-self: start;
border: 1px solid var(--color-accent);
border-radius: 999px;
padding: 8px 14px;
font: inherit;
font-size: var(--body-font-size-s);
font-weight: 600;
color: #fff;
background: var(--color-accent);
cursor: pointer;
}

.quiz .quiz-submit[hidden] {
display: none;
}

.quiz .quiz-empty {
margin: 0;
}

@media (width >= 900px) {
.quiz .quiz-question {
padding: var(--space-l);
}
}
Loading