.quiz-app nav {display:flex;gap:20px;flex-wrap:wrap;font-size:15px}
.quiz-app a {color:var(--accent);text-underline-offset:4px}
.quiz-app .portal-list {display:grid;gap:20px;margin:24px 0}
.quiz-app .portal-card {border:1px solid var(--line);padding:24px;overflow-wrap:anywhere}
.quiz-app .portal-card h2 {margin-top:0;font-size:24px}
.quiz-app .portal-actions {display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:16px}
.quiz-app .portal-form {display:grid;gap:18px;max-width:760px}
.quiz-app .portal-form label {display:grid;gap:8px}
.quiz-app .portal-form input,.quiz-app .portal-form textarea,.quiz-app .portal-form select {font:inherit;color:var(--text);padding:13px;border:1px solid var(--line);background:#fff;width:100%}
.quiz-app fieldset {border:1px solid var(--line);padding:20px;margin:0;display:grid;gap:16px;min-width:0}
.quiz-app .portal-message {border-left:4px solid var(--accent);padding:18px;background:#fff;white-space:pre-line;margin:20px 0}
.quiz-app button:disabled {cursor:wait;opacity:.6}
@media(max-width:600px){.quiz-app nav{gap:12px}.quiz-app .portal-card{padding:18px}.quiz-app .portal-actions{align-items:stretch;flex-direction:column}}
