Utvid multiple choice: 137 spørsmål fordelt på 36 deltemaer

- Quiz utvidet fra 49 til 137 spørsmål
- Hvert hovedtema (etikk/bærekraft/samfunn/verktoy) får 30-37 spørsmål
- Nytt subtopic-felt grupperer spørsmål i finere kategorier
  (Pliktetikk (Kant), Carrolls pyramide, CSRD og dobbel vesentlighet, etc.)
- Quiz-UI har nå et "deltema-hub" som lar deg velge mellom alle eller et spesifikt deltema
- Resultatside viser fordeling per deltema med fargekodede progressbarer
- Tastatursnarveier (1-4 svarer, Enter/Space går videre)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-29 19:04:49 +02:00
parent 8933e9501d
commit 9a7a7b9ef1
3 changed files with 1725 additions and 108 deletions

View File

@@ -1453,6 +1453,113 @@ blockquote {
font-weight: 400;
}
/* Sub-topic grid */
.quiz-sub-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: var(--sp-3);
margin-top: var(--sp-4);
}
.quiz-sub-card {
text-align: left;
padding: var(--sp-5);
background: var(--surface);
border: 1px solid var(--line);
border-radius: var(--radius);
cursor: pointer;
transition: all 0.18s var(--ease);
display: flex;
flex-direction: column;
gap: 4px;
}
.quiz-sub-card:hover {
border-color: var(--ink-2);
background: var(--surface-2);
transform: translateY(-1px);
}
.quiz-sub-card--all {
background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, var(--surface)), var(--surface));
border-color: color-mix(in srgb, var(--accent) 28%, var(--line));
}
.quiz-sub-card--all:hover {
border-color: var(--accent);
}
.quiz-sub-card__count {
font-family: var(--f-display);
font-size: var(--s-6);
font-weight: 300;
font-variation-settings: "opsz" 48, "SOFT" 30;
line-height: 1;
color: var(--ink);
letter-spacing: -0.03em;
}
.quiz-sub-card--all .quiz-sub-card__count { color: var(--accent); }
.quiz-sub-card__label {
font-family: var(--f-body);
font-size: var(--s-2);
font-weight: 500;
color: var(--ink);
margin-top: 4px;
}
.quiz-sub-card__hint {
font-family: var(--f-mono);
font-size: 0.6875rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--muted);
margin-top: 2px;
}
/* Per-subtopic breakdown on quiz result */
.subtopic-breakdown {
margin: var(--sp-7) auto 0;
max-width: 620px;
padding: var(--sp-5);
background: var(--surface);
border: 1px solid var(--line);
border-radius: var(--radius-lg);
}
.subtopic-breakdown__label {
font-family: var(--f-mono);
font-size: var(--s-0);
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--muted);
margin-bottom: var(--sp-4);
text-align: center;
}
.subtopic-row {
display: grid;
grid-template-columns: 1fr 1fr auto;
gap: var(--sp-3);
align-items: center;
padding: var(--sp-2) 0;
border-bottom: 1px solid var(--line);
}
.subtopic-row:last-child { border-bottom: 0; }
.subtopic-row__name {
font-size: var(--s-1);
color: var(--ink);
}
.subtopic-row__bar {
height: 6px;
background: var(--line);
border-radius: 3px;
overflow: hidden;
}
.subtopic-row__fill {
height: 100%;
transition: width 0.6s var(--ease);
}
.subtopic-row__score {
font-family: var(--f-mono);
font-size: var(--s-0);
color: var(--ink-2);
font-variant-numeric: tabular-nums;
min-width: 3em;
text-align: right;
}
/* ===================================================
Eksamen page
=================================================== */