:root{--action:#7c3aed;--action-ink:#fff;--success:#147c49;--failure:#c6314f;--line:var(--border,#303b4c)}
html[data-theme=dark]{--action:#a78bfa;--action-ink:#171126;--success:#4ade9a;--failure:#fb7185}
body .hl,body .eyebrow,body .bottom-nav__item.is-active{color:var(--action)}
body .bottom-nav__item.is-active .bottom-nav__icon{background:color-mix(in srgb,var(--action) 15%,transparent)}
body .button:not(.secondary):not(.ghost){box-shadow:0 6px 18px color-mix(in srgb,var(--action) 15%,transparent)}
body .history-pass{color:var(--success)}body .history-fail{color:var(--failure)}
body .button:not(.secondary):not(.ghost):not(.danger-button),body .sign{background:var(--action);border-color:var(--action);color:var(--action-ink)}
body .button,.insights-card button,.report-dialog button{border-radius:12px;min-height:44px;font-weight:700;transition:background .15s,border-color .15s}
body .button.secondary,body .button.ghost{border-color:var(--line)}
body .button:hover:not(:disabled){filter:brightness(1.08)}
body :focus-visible{outline:3px solid var(--action);outline-offset:3px}
body .answer.is-selected:not(.is-correct):not(.is-wrong){border-color:var(--action);box-shadow:0 0 0 1px var(--action);background:color-mix(in srgb,var(--action) 12%,transparent)}
body .bottom-nav a[aria-current=page],body .nav-item.active{color:var(--action)}
.insights-card{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface);margin:24px 0;min-width:0}
.insights-card h2{margin:6px 0 12px;font-size:clamp(1.35rem,3vw,1.85rem)}
.insights-card p{line-height:1.6}.insight-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.insight-pill{padding:9px 14px;border-radius:999px;background:color-mix(in srgb,var(--action) 15%,transparent);color:var(--action);font-weight:800;white-space:nowrap}.insight-pill.success{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}
.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.insight-grid>div{padding:16px;background:color-mix(in srgb,var(--action) 5%,transparent);border-radius:14px;display:grid;gap:6px}.insight-grid strong{font-size:1.6rem}.insight-grid span{font-size:.85rem;color:var(--muted,#9aa7b8)}
.topic-evidence{display:grid;grid-template-columns:1fr 1fr;gap:16px}.topic-evidence>div{display:grid;grid-template-columns:1fr auto;gap:7px}.topic-evidence strong{font-size:.85rem}.topic-evidence progress{grid-column:1/-1;width:100%;height:6px;accent-color:var(--action)}
.readiness-card details{margin-top:20px}.readiness-card summary{cursor:pointer;color:var(--muted,#9aa7b8)}
.exam-chart{display:flex;gap:12px;overflow-x:auto;align-items:end;padding:18px 0 8px}.chart-column{flex:1;min-width:40px;max-width:110px;text-align:center;text-decoration:none!important;display:grid;gap:8px;font-size:.8rem}.chart-column>strong{font-size:1.1rem}.chart-track{height:150px;position:relative;border-radius:6px;background:color-mix(in srgb,currentColor 6%,transparent);overflow:hidden}.chart-track>span{position:absolute;bottom:0;left:12%;width:76%;border-radius:5px 5px 0 0;background:var(--failure)}.chart-column.passed .chart-track>span{background:var(--success)}.chart-track i{position:absolute;left:0;right:0;border-top:1px dashed var(--muted,#aaa)}
.attempt-insights{border-top:1px solid var(--line);margin-top:20px;padding-top:10px;font-size:.9rem}.table-scroll{overflow-x:auto}.attempt-insights table{width:100%;border-collapse:collapse}.attempt-insights caption{text-align:left;color:var(--muted,#9aa7b8);padding:10px 0}.attempt-insights th,.attempt-insights td{padding:8px;text-align:left;border-bottom:1px solid var(--line)}
.answer-comparison{display:grid;gap:8px;margin:16px 0}.answer-comparison p{margin:0;padding:12px;border-radius:10px;background:color-mix(in srgb,currentColor 6%,transparent)}
.repeat-warning{display:inline-block;color:var(--failure);font-weight:700}.review-schedule{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;font-size:.85rem;color:var(--muted,#9aa7b8)}.last-error{margin:12px 0;font-size:.9rem}.last-error summary{cursor:pointer}
.report-question{display:block;background:none;border:0;color:var(--muted,#9aa7b8);font:inherit;font-size:.8rem;text-decoration:underline;cursor:pointer;padding:12px 0;margin-top:8px}
.report-dialog{max-width:560px;width:calc(100% - 32px);padding:24px;border:1px solid var(--line);border-radius:20px;color:var(--ink);background:var(--surface)}.report-dialog::backdrop{background:#050810b8;backdrop-filter:blur(4px)}.report-dialog h2{font-size:1.2rem}.report-dialog [data-close]{background:none;border:0;color:inherit;font-size:1.8rem;min-width:44px}
.report-dialog label,.recovery-form label,.recovery-entry label{display:grid;gap:8px;margin:16px 0}.report-dialog textarea,.report-dialog select,.recovery-form input,.recovery-entry input{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:10px;font:inherit}
.recovery-entry{margin-top:20px;font-size:.85rem}.recovery-entry summary{cursor:pointer}.recovery-form{margin:0}.recovery-form pre{white-space:pre-wrap;font-size:.85rem;overflow-wrap:anywhere}.report-item{padding:20px 0;border-bottom:1px solid var(--line)}.report-item p{white-space:pre-wrap}.source-changes{max-height:550px;overflow:auto}.source-changes details{padding:12px 0;border-top:1px solid var(--line)}.source-changes pre{white-space:pre-wrap;word-break:break-word;font-size:.8rem}
.sync-banner{display:block;border:0;background:transparent;color:var(--muted,#9aa7b8);font:inherit;font-size:.75rem;margin:12px auto 100px;padding:8px 16px;max-width:90%;cursor:pointer;text-align:center}
html[data-theme=light]{--action:#7c3aed;--action-ink:#fff;--success:#147c49;--failure:#c6314f;--surface:#fff;--line:#d9dee8}
@media(max-width:600px){.insights-card{padding:18px;border-radius:16px}.insight-grid{grid-template-columns:1fr;gap:8px}.insight-grid>div{display:flex;align-items:center;gap:14px}.insight-grid strong{font-size:1.3rem;min-width:90px}.topic-evidence{grid-template-columns:1fr}.exam-chart{gap:8px}.chart-track{height:110px}.report-dialog{padding:18px}.insight-heading{gap:8px}.cta-row .button{flex:1;text-align:center}}
@media(prefers-reduced-motion:reduce){body .button{transition:none}}
.login-failed td{background:color-mix(in srgb,var(--failure) 10%,transparent);color:var(--failure)}.login-success td:nth-child(3){color:var(--success)} [data-login-search]{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}
