/* NextWave theme mapping for the shared quiz engine. Works in light and dark themes. */
.quiz-root {
  --q-surface: var(--color-surface);
  --q-text: var(--color-text);
  --q-muted: var(--color-text-muted);
  --q-line: var(--color-border);
  --q-accent: var(--color-primary);
  --q-accent-soft: color-mix(in oklab, var(--color-primary) 12%, var(--color-surface));
  --q-strong: var(--color-text);
  --q-good: var(--color-primary);
  --q-radius: var(--radius-sm);
  --q-focus: 0 0 0 3px var(--color-surface), 0 0 0 5px var(--color-primary);
  --q-tint: var(--color-surface-2);
  --q-rule: color-mix(in oklab, var(--color-text) 22%, transparent);
  --q-warn: color-mix(in oklab, #b87400 80%, var(--color-text));
}
.quiz-intro h2, .quiz-title, .quiz-results-head h2 { font-weight: 600; letter-spacing: -0.01em; }
.quiz-shell { border-radius: var(--radius-md); }
.quiz-progress-track, .quiz-area-bar span, .quiz-bandscale span { background-color: var(--q-tint); }
.quiz-bandscale span { background: none; border-top-color: var(--q-rule); }
.quiz-area-bar span { background: var(--q-rule); }
.quiz-areas li.is-unknown .quiz-area-bar span { background: repeating-linear-gradient(135deg, var(--q-rule) 0 4px, transparent 4px 8px); }
.quiz-note, .quiz-privacy, .quiz-block-score, .quiz-cta { background: var(--q-tint); }
.quiz-notice.is-success { background: color-mix(in oklab, var(--color-primary) 10%, var(--color-surface)); }
.quiz-notice.is-error { background: color-mix(in oklab, #b3261e 10%, var(--color-surface)); }
.quiz-root input[type="text"], .quiz-root input[type="email"], .quiz-root select { background: var(--color-surface); color: var(--color-text); border-color: var(--q-rule); }
.quiz-option { border-color: var(--q-rule); }
.quiz-taglist li { border-color: var(--q-rule); }
.quiz-badge { background: transparent; color: var(--q-warn); border-color: var(--q-warn); }
.quiz-areas li.is-unknown .quiz-area-value { color: var(--q-warn); }
.quiz-root .btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); padding: var(--space-3) var(--space-6); border: 1px solid transparent; border-radius: var(--radius-sm); font-size: var(--text-sm); font-weight: 600; line-height: 1.2; cursor: pointer; text-decoration: none; }
.quiz-root .btn-primary { color: #fff; background: var(--color-primary); }
.quiz-root .btn-primary:hover { background: var(--color-primary-hover); }
.quiz-root .btn-secondary { color: var(--color-text); border-color: var(--color-border); background: var(--color-surface); }
.quiz-root a:not(.btn) { color: var(--color-primary); text-decoration: underline; text-underline-offset: 2px; }
.ops-page-hero { padding-block: clamp(7.5rem, 12vw, 10rem) clamp(2rem, 4vw, 3rem); }
.ops-page-hero h1 { max-width: 20ch; font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem); line-height: 1.05; letter-spacing: -0.02em; }
.ops-page-hero .ops-lead { max-width: 60ch; margin-top: var(--space-5); color: var(--color-text-muted); font-size: var(--text-lg); }
.ops-meta { margin-top: var(--space-4); color: var(--color-text-muted); font-size: var(--text-sm); font-weight: 500; }
.ops-section { padding-block: 0 clamp(4rem, 7vw, 6rem); }
.quiz-aside h2 { color: var(--color-primary); }
.quiz-root h2 { font-size: clamp(1.4rem, 1.15rem + 1vw, 1.9rem); line-height: 1.2; max-width: 32ch; }
.quiz-root .quiz-results-head h2 { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.2rem); }
.quiz-root h3 { font-size: clamp(1.15rem, 1.05rem + 0.5vw, 1.4rem); line-height: 1.25; letter-spacing: -0.01em; margin-bottom: 0.5rem; }
.quiz-root h4 { font-size: 1.05rem; line-height: 1.3; }
@media (max-width: 560px) { .quiz-root [data-field="model"] .quiz-inline-options { grid-template-columns: minmax(0, 1fr); } }
.quiz-aside a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 2px; }
