.ex-main{max-width:820px;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-16);display:flex;flex-direction:column;gap:var(--space-6)}.ex-head{position:sticky;top:0;z-index:10;margin:0 calc(-1 * var(--space-6));padding:var(--space-3) var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:color-mix(in srgb,var(--color-canvas) 92%,transparent);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--color-rule)}.ex-head__right{text-align:right}.ex-label{font-family:var(--font-sans);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-ink-muted);margin:0}.ex-answered{font-size:var(--fs-sm);color:var(--color-ink);margin:2px 0 0}.ex-timer{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xl);font-weight:600;color:var(--color-ink);margin:2px 0 0}.ex-progress-track{height:4px;width:100%;background:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--radius-pill);overflow:hidden}.ex-progress-bar{height:100%;background:var(--color-primary);transition:width var(--dur-base) var(--ease-standard)}.ex-q{display:flex;flex-direction:column;gap:var(--space-5)}.ex-q__meta{display:flex;align-items:center;gap:var(--space-2)}.ex-q__num{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--color-ink-muted)}.ex-q__flag{font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:600;color:var(--color-warning)}.ex-q__stem{font-family:var(--font-serif);font-size:var(--fs-xl);font-weight:600;line-height:var(--lh-normal);color:var(--color-ink);margin:0;text-wrap:pretty}@media(min-width:640px){.ex-q__stem{font-size:var(--fs-2xl)}}.ex-diff{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--_bar, var(--color-border));background:var(--_bg, transparent);color:var(--_text, var(--color-ink-muted))}.ex-diff--easy{--_bar: var(--color-success);--_bg: color-mix(in srgb, var(--color-success) 10%, transparent);--_text: var(--color-success)}.ex-diff--medium{--_bar: var(--color-warning);--_bg: color-mix(in srgb, var(--color-warning) 10%, transparent);--_text: var(--color-warning)}.ex-diff--hard{--_bar: var(--color-danger);--_bg: color-mix(in srgb, var(--color-danger) 10%, transparent);--_text: var(--color-danger)}.ex-diff--neutral{--_bar: var(--color-border);--_bg: transparent;--_text: var(--color-ink-muted)}.ex-options{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.ex-option{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:var(--space-4);width:100%;padding:var(--space-4);text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-ink);cursor:pointer;font:inherit;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.ex-option:hover{background:var(--color-primary-soft);border-color:color-mix(in srgb,var(--color-primary) 50%,var(--color-border))}.ex-option[data-selected=true]{background:var(--color-primary-soft);border-color:var(--color-primary)}.ex-option__key{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-display, var(--font-serif));font-weight:700;font-size:var(--fs-sm);line-height:1}.ex-option[data-selected=true] .ex-option__key{background:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}.ex-option__text{font-family:var(--font-serif);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--color-ink);margin:0;text-wrap:pretty}.ex-nav{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);border-top:1px solid var(--color-rule)}.ex-nav__group{display:flex;align-items:center;gap:var(--space-3)}.ex-nav__btn{background:transparent;border:0;padding:0;font:inherit;font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--color-ink-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease-standard)}.ex-nav__btn:hover:not(:disabled){color:var(--color-primary)}.ex-nav__btn:disabled{opacity:.4;cursor:not-allowed}.ex-nav__btn--flag:hover:not(:disabled){color:var(--color-warning)}.ex-submit-row{display:flex;justify-content:flex-end}.ex-submit{display:inline-flex;align-items:center;gap:var(--space-2);padding:10px var(--space-5);background:var(--color-primary);color:var(--color-primary-contrast);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600;cursor:pointer;text-decoration:none;transition:background-color var(--dur-fast) var(--ease-standard)}.ex-submit:hover{background:var(--color-primary-hover)}.ex-submit--secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border)}.ex-submit--secondary:hover{background:var(--color-surface-raised);border-color:var(--color-ink-faint)}.ex-jump-nav{display:flex;flex-wrap:wrap;gap:6px;padding-top:var(--space-4);border-top:1px solid var(--color-rule)}.ex-jump-cell{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);font-weight:600;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.ex-jump-cell--pending:hover{border-color:var(--color-ink-muted)}.ex-jump-cell--current{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.ex-jump-cell--answered{background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface));border-color:var(--color-success);color:var(--color-success)}.ex-jump-cell--flagged{box-shadow:0 0 0 2px var(--color-warning)}.ex-result{display:flex;flex-direction:column;gap:var(--space-6)}.ex-score{text-align:center;padding:var(--space-10) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.ex-score[data-pass=true]{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 8%,var(--color-surface))}.ex-score[data-pass=false]{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface))}.ex-score__caption{font-family:var(--font-sans);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--tracking-caps);margin:0;color:var(--color-ink-muted)}.ex-score[data-pass=true] .ex-score__caption{color:var(--color-success)}.ex-score[data-pass=false] .ex-score__caption{color:var(--color-danger)}.ex-score__big{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:56px;font-weight:700;color:var(--color-ink);line-height:1;margin:var(--space-3) 0 var(--space-2)}.ex-score__pct{font-family:var(--font-serif);font-size:var(--fs-sm);color:var(--color-ink-muted);margin:0}.ex-panel{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.ex-panel__title{font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-ink-muted);margin:0 0 var(--space-3)}.ex-domain-list{list-style:none;padding:0;margin:0}.ex-domain-row{display:flex;align-items:baseline;justify-content:space-between;padding:var(--space-2) 0;border-top:1px solid var(--color-rule);font-size:var(--fs-sm);color:var(--color-ink)}.ex-domain-row:first-child{border-top:0}.ex-domain-row__num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-ink-muted)}.ex-review-list{display:flex;flex-direction:column;gap:var(--space-2)}.ex-review{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.ex-review__summary{cursor:pointer;padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);user-select:none}.ex-review__status{font-size:var(--fs-xs);font-weight:700;width:16px;text-align:center}.ex-review__status--correct{color:var(--color-success)}.ex-review__status--wrong{color:var(--color-danger)}.ex-review__status--skipped{color:var(--color-ink-faint)}.ex-review__num{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--color-ink-muted);width:32px}.ex-review__stem{flex:1;min-width:0;font-size:var(--fs-sm);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-review__body{padding:0 var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--fs-sm);color:var(--color-ink);border-top:1px solid var(--color-rule);padding-top:var(--space-3)}.ex-review__answer{margin:0}.ex-review__pick--correct{color:var(--color-success);font-weight:600}.ex-review__pick--wrong{color:var(--color-danger);font-weight:600}.ex-review__pick--skipped{color:var(--color-ink-muted)}.ex-review__opts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.ex-review__opt{padding:4px 0 4px var(--space-3);border-left:2px solid var(--color-border);color:var(--color-ink)}.ex-review__opt[data-state=correct]{border-left-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 8%,transparent)}.ex-review__opt[data-state=wrong]{border-left-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,transparent)}.ex-result__ctas{display:flex;flex-wrap:wrap;gap:var(--space-3)}.ex-confirm{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.ex-confirm[hidden]{display:none}.ex-confirm__backdrop{position:absolute;inset:0;background:#0000008c;backdrop-filter:blur(2px)}.ex-confirm__card{position:relative;max-width:420px;width:100%;padding:var(--space-6);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-5)}.ex-confirm__msg{margin:0;font-family:var(--font-serif);font-size:var(--fs-lg);line-height:var(--lh-normal);color:var(--color-ink)}.ex-confirm__actions{display:flex;justify-content:flex-end;gap:var(--space-3)}
