.portal{max-width:1120px;margin:0 auto;padding:120px 24px 72px}.portal-narrow{max-width:540px}.portal-eyebrow{color:#806326;font-size:.75rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px}.portal h1{font-size:clamp(2rem,4vw,3.2rem);font-weight:850;line-height:1.12;margin:0 0 16px}.portal h2{font-weight:800;font-size:1.35rem;margin-bottom:12px}.portal-lead{color:#526077;font-size:1.08rem;line-height:1.7;max-width:680px}.portal-card{background:#fff;border:1px solid #1a305018;border-radius:20px;padding:clamp(20px,3vw,32px);box-shadow:0 4px 20px #1a305005}.portal-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;margin-top:32px;align-items:start}.portal-stack>*+*{margin-top:20px}.portal-field{display:grid;gap:8px;font-size:.9rem;font-weight:800;margin-bottom:20px}.portal input,.portal select{min-width:0;width:100%;border:1px solid #b8c2ce;border-radius:10px;padding:13px 14px;background:#fff;color:#1a3050;font:inherit}.portal input:focus,.portal select:focus{outline:3px solid #c5a55a66;outline-offset:2px;border-color:#8a6d2b}.portal-code{font-size:1.8rem!important;letter-spacing:.45em;text-align:center}.portal-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:13px 20px;border-radius:10px;background:#1a3050;color:#fff;font-weight:800;cursor:pointer;text-align:center;text-decoration:none;border:1px solid transparent;min-height:48px}.portal-button:hover{background:#243d5e}.portal-button:disabled{opacity:.5;cursor:wait}.portal-button.gold{background:#c5a55a;color:#102139}.portal-button.secondary{color:#1a3050;background:#fff;border-color:#c5ced8}.portal-button:focus-visible,.portal a:focus-visible,.answer-option:focus-visible{outline:3px solid #a88a3e;outline-offset:3px}.portal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}.portal-muted{color:#59677a;font-size:.9rem;line-height:1.6}.portal-message{color:#8b2c24;line-height:1.6;margin-top:16px}.portal-message:empty{display:none}.portal-tag{display:inline-block;padding:5px 10px;border-radius:6px;font-size:.75rem;font-weight:800;background:#edf2f7}.portal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.portal-stats strong{display:block;font-size:2rem}.portal-stats span{color:#526077;font-size:.85rem}.portal-dark{background:#1a3050;color:#fff;border-color:transparent}.portal-dark .portal-muted{color:#d4dde8}.question-text{font-size:1.05rem;line-height:1.8;white-space:pre-line;margin:24px 0}.answer-option{display:flex;width:100%;align-items:start;text-align:left;gap:14px;padding:16px;border:1px solid #cbd3de;border-radius:12px;background:#fff;margin-top:10px;cursor:pointer;line-height:1.65}.answer-option:not(:disabled):hover{border-color:#8a6d2b;background:#fdf8f0}.answer-option b{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:7px;background:#edf2f7}.answer-option[data-result=correct]{background:#edf8f0;border-color:#368650}.answer-option[data-result=wrong]{background:#fff1ee;border-color:#bf5d4f}.explanation-text{white-space:pre-line;line-height:1.85;color:#344359}.explanation-block{border-left:3px solid #c5a55a;padding-left:20px;margin-top:24px}.portal-progress{width:100%;height:7px;border-radius:10px;accent-color:#a88a3e;margin:12px 0}.portal-history{display:grid;gap:10px;margin-top:16px}.portal-history a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #1a305014}.portal [hidden],[data-explanation] [hidden]{display:none!important}.app-access-notice{color:#344359;font-size:.95rem;line-height:1.7}.portal-steps{list-style:decimal;padding-left:24px;line-height:1.8}.portal-steps li+li{margin-top:12px}@media(max-width:760px){.portal-grid{grid-template-columns:1fr}.portal{padding:108px 16px 40px}.portal-stats{gap:8px}.portal-stats .portal-card{padding:16px}.portal-stats strong{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.portal{padding-top:48px;color:#e2e8f0}.portal-card{background:#0f172a;border-color:#334155;color:#e2e8f0}.portal-eyebrow{color:#60a5fa}.portal-lead,.portal-muted,.portal-stats span{color:#94a3b8}.portal input,.portal select{background:#020617;color:#e2e8f0;border-color:#475569}.portal-button,.portal-button.gold{background:#2563eb;color:#fff}.portal-button:hover{background:#1d4ed8}.portal-button.secondary{background:#1e293b;color:#e2e8f0;border-color:#475569}.portal-tag,.answer-option b{background:#1e293b}.portal-message{color:#fca5a5}.portal-dark{background:#172554}.answer-option{background:#0f172a;border-color:#475569}.answer-option>span{min-width:0;flex:1}.answer-option:not(:disabled):hover{background:#1e293b;border-color:#60a5fa}.answer-option[data-result=correct]{background:#052e16;border-color:#4ade80}.answer-option[data-result=wrong]{background:#450a0a;border-color:#f87171}.explanation-text,.app-access-notice{color:#cbd5e1}.explanation-block{border-color:#60a5fa}.portal-history a{border-color:#334155}.question-text,.explanation-text{white-space:normal}.portal .katex-display{overflow-x:auto;overflow-y:hidden}.portal .q-figure img,[data-explanation] img{max-width:100%;max-height:480px;width:auto;margin-inline:auto;object-fit:contain}.portal .q-body p+p,[data-explanation] p+p{margin-top:1em}@media(max-width:760px){.portal{padding-top:32px}}@media(max-width:420px){header nav a{padding-left:8px;padding-right:8px}header .font-display{font-size:15px}}
