.as-personal-result{margin:20px 0;padding:22px;border:1px solid var(--brand-line,#E5D5E9);border-radius:18px;background:var(--brand-surface,#fff);color:var(--brand-ink,#35243A)}
.as-personal-result h3{margin:0 0 10px;font-size:1.2rem}.as-personal-result p{line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.as-pr-status{font-size:.9rem;color:var(--brand-muted,#6C5C72)}.as-pr-summary{font-size:1.05rem}.as-pr-label{font-size:.8rem;font-weight:600;color:var(--brand-primary,#81318B)}
.as-pr-evidence{padding:12px 16px;margin:14px 0;border-radius:12px;background:var(--brand-tint,#F3EAF5)}.as-pr-evidence p{margin:6px 0 0}
.as-personal-result details{margin:12px 0}.as-personal-result summary{cursor:pointer;color:var(--brand-primary,#81318B)}
.as-pr-actions{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-top:18px}.as-pr-actions button{min-height:44px;white-space:normal}
.as-pr-recommendation{flex:1 1 260px;border:1px solid var(--brand-line,#E5D5E9);border-radius:12px;padding:16px}.as-pr-recommendation h4{margin:6px 0;font-size:1rem}.as-pr-recommendation p{margin:8px 0 14px}
.as-personal-result a,.as-personal-result button{text-decoration:none}.as-personal-result :focus-visible{outline:2px solid var(--brand-primary,#81318B);outline-offset:3px}
@media(max-width:600px){.as-personal-result{padding:16px}.as-pr-actions{flex-direction:column;align-items:stretch}.as-pr-recommendation{flex:auto}.as-pr-actions button{width:100%}}
.as-pr-choice { margin-block: 1rem; }
.as-pr-choice dialog { max-width: min(34rem, calc(100vw - 3rem)); border: 1px solid var(--brand-line,#dce4ee); border-radius: 1rem; padding: 1.5rem; color: var(--brand-ink,#193451); background: var(--brand-surface,#fff); }
.as-pr-choice dialog::backdrop { background: rgb(0 0 0 / .35); }
.as-pr-choice dialog button { margin: .4rem .4rem .4rem 0; }
.as-pr-score{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:20px;margin:18px 0;border-radius:14px;background:var(--brand-soft,#f3edf6)}
.as-pr-score strong{font-size:2rem;line-height:1.2;color:var(--brand-primary,#81318b);font-variant-numeric:tabular-nums}.as-pr-score>span:last-child{flex-basis:100%;font-size:.85rem;color:var(--brand-muted,#6c5c72)}
.as-pr-rubric{display:grid;gap:14px;margin:24px 0}.as-pr-rubric>h4{margin:0 0 2px}.as-pr-point{padding:18px;border:1px solid #dce3e7;border-left:4px solid #7b8490;border-radius:12px;background:#fff;color:#283443}
.as-pr-point-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.as-pr-point h5{font-size:1rem;line-height:1.6;margin:0}.as-pr-credit{white-space:nowrap;padding:3px 10px;border-radius:20px;font-size:.85rem;font-weight:700;background:#eef1f5;color:#455568}
.as-pr-point[data-credit=full]{border-left-color:#25805c}.as-pr-point[data-credit=full] .as-pr-credit{background:#e9f5ed;color:#17623f}
.as-pr-point[data-credit=partial]{border-left-color:#b07920}.as-pr-point[data-credit=partial] .as-pr-credit{background:#fff3d9;color:#7a510a}
.as-pr-point[data-credit=missing]{border-left-color:#b75050}.as-pr-point[data-credit=missing] .as-pr-credit{background:#fcecec;color:#933737}
.as-pr-point blockquote{margin:8px 0 0;padding:12px 14px;background:#f7f8fa;border-radius:8px;white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere}.as-pr-point details{font-size:.9rem}.as-pr-next{padding:18px 20px;background:var(--brand-soft,#f3edf6);border-radius:12px}.as-pr-next h4{margin:0}.as-pr-transcript{padding:16px;border:1px solid var(--brand-line,#e5d5e9);border-radius:12px}.as-personal-result .katex-display{overflow-x:auto;overflow-y:hidden;padding:4px 0}.as-pr-point p{margin:12px 0}
@media(max-width:600px){.as-pr-point{padding:14px}.as-pr-point-head{gap:8px}.as-pr-score{padding:16px}.as-pr-score strong{font-size:1.7rem}}
/* Result head badges: source/status explanation. */
.as-pr-badges{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 8px}
.as-pr-badge{display:inline-flex;align-items:center;font-size:.8rem;line-height:1.4;padding:3px 10px;border-radius:999px;background:var(--brand-tint,#F3EAF5);color:var(--brand-primary,#81318B);font-weight:600}
.as-pr-badge[data-badge=status]{background:var(--brand-soft,#f3edf6);color:var(--brand-muted,#6C5C72)}
/* Suggested score + fixed AI-advice disclaimer. */
.as-pr-score .as-pr-basis{flex-basis:100%;font-size:.85rem;color:var(--brand-muted,#6c5c72)}
.as-pr-note{flex-basis:100%;margin:0;padding:8px 12px;border:1px solid #f0d9a8;border-radius:10px;background:#fff7e6;color:#8a5a12;font-size:.85rem;font-weight:600;line-height:1.6}
/* Per-status overview chips (>0 only, coloured by data-kind). */
.as-pr-overview{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}
.as-pr-chip{display:inline-flex;gap:6px;align-items:center;padding:4px 12px;border:1px solid transparent;border-radius:999px;background:#eef1f5;color:#455568;font-size:.82rem;font-weight:600}
.as-pr-chip[data-kind=met]{border-color:#bfe0cc;background:#e9f5ed;color:#17623f}
.as-pr-chip[data-kind=math_error]{border-color:#e6bcbc;background:#fcecec;color:#933737}
.as-pr-chip[data-kind=missing_argument]{border-color:#ecd3a0;background:#fff3d9;color:#7a510a}
.as-pr-chip[data-kind=unknown],.as-pr-chip[data-kind=rubric_gap]{border-color:#c8d3e2;background:#eef2f8;color:#455a7a}
/* Pending credit stays neutral grey; data-credit remains the coarse full/partial/missing/pending signal. */
.as-pr-point[data-credit=pending]{border-left-color:#7b8490}
.as-pr-point[data-credit=pending] .as-pr-credit{background:#eef1f5;color:#455568}
/* Per-status card colours. */
.as-pr-point[data-status=math_error]{border-left-color:#b75050}
.as-pr-point[data-status=math_error] .as-pr-credit{background:#fcecec;color:#933737}
.as-pr-point[data-status=missing_argument]{border-left-color:#b07920}
.as-pr-point[data-status=missing_argument] .as-pr-credit{background:#fff3d9;color:#7a510a}
.as-pr-point[data-status=unknown],.as-pr-point[data-status=rubric_gap]{border-left-color:#6b7f9e}
.as-pr-point[data-status=unknown] .as-pr-credit,.as-pr-point[data-status=rubric_gap] .as-pr-credit{background:#eef2f8;color:#455a7a}
.as-pr-point .as-pr-deduction{display:inline-block;margin:6px 0;padding:2px 8px;border-radius:6px;background:#fcecec;color:#933737}
.as-pr-point .as-pr-equivalent{display:inline-block;margin:6px 0;padding:2px 8px;border-radius:6px;background:#e9f5ed;color:#17623f}
/* Long summary fold: the button is a real local toggle, never a second model call. */
.as-pr-summary-fold .as-pr-summary{margin:0 0 8px}
.as-pr-fold{min-height:36px;padding:6px 14px;border:1px solid var(--brand-line,#E5D5E9);border-radius:10px;background:var(--brand-surface,#fff);color:var(--brand-primary,#81318B);font-weight:600;cursor:pointer;text-decoration:none}
/* Local read-only context tools (not server grading actions). */
.as-pr-tools{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 0}
.as-pr-tools button{min-height:44px;white-space:normal}
.as-pr-locate{min-height:36px;margin-top:10px;padding:4px 12px;border:1px solid var(--brand-line,#E5D5E9);border-radius:10px;background:var(--brand-surface,#fff);color:var(--brand-primary,#81318B);cursor:pointer;text-decoration:none}
/* Long formulas scroll horizontally instead of overflowing the card. */
.as-personal-result .math-content{overflow-wrap:anywhere}
.as-pr-point .math-content{overflow-x:auto}
.as-pr-point .katex-display{overflow-x:auto;overflow-y:hidden}
/* Links and link-style buttons never show an underline, including hover/focus/active. */
.as-personal-result a,.as-personal-result a:link,.as-personal-result a:visited,.as-personal-result a:hover,.as-personal-result a:focus,.as-personal-result a:active,.as-personal-result button{text-decoration:none}
@media(max-width:600px){.as-pr-tools{flex-direction:column;align-items:stretch}.as-pr-tools button,.as-pr-locate,.as-pr-fold{width:100%}.as-pr-badges,.as-pr-overview{gap:6px}.as-pr-note{padding:8px 10px}}

/* Shared grading surface: practice and learning history use the same spacing. */
.as-pr-choice{margin:24px 0;padding:clamp(18px,2.2vw,30px);border:1px solid var(--brand-line,#e5d5e9);border-radius:20px;background:var(--brand-surface,#fff);color:var(--brand-ink,#35243a);min-width:0}
.as-pr-choice>h3{margin:0 0 8px;font-size:1.18rem;line-height:1.5}
.as-pr-choice>p[role=status]{margin:0 0 18px;color:var(--brand-muted,#6c5c72);font-size:.9rem;line-height:1.75}
.as-pr-choice>button{min-height:44px;margin:0 10px 12px 0;padding:10px 18px;line-height:1.5;white-space:normal}
.as-pr-choice>button:first-of-type{border-color:var(--brand-primary,#81318b);color:var(--brand-primary,#81318b);background:var(--brand-tint,#f3eaf5)}
.as-pr-choice dialog{box-sizing:border-box;width:640px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:30px;border:1px solid var(--brand-line,#e5d5e9);border-radius:24px;box-shadow:0 24px 80px rgb(30 20 30 / .18);font:inherit}
.as-pr-choice dialog[open]{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.as-pr-choice dialog::backdrop{background:rgb(24 18 24 / .45);backdrop-filter:blur(3px)}
.as-pr-choice dialog>h3{grid-column:1/-1;margin:0;font-size:1.35rem;line-height:1.5;letter-spacing:.01em}
.as-pr-choice dialog>p{grid-column:1/-1;margin:0 0 8px;font-size:.9rem;line-height:1.85;color:var(--brand-muted,#6c5c72);overflow-wrap:anywhere}
.as-pr-choice dialog>button{margin:0;min-width:0;min-height:72px;padding:18px 14px;border:1px solid var(--brand-line,#e5d5e9);border-radius:14px;font:inherit;font-weight:650;line-height:1.5;white-space:normal;cursor:pointer;transition:background .15s,border-color .15s}
.as-pr-choice dialog>button:first-of-type{color:#fff;background:var(--brand-primary,#81318b);border-color:var(--brand-primary,#81318b)}
.as-pr-choice dialog>button:nth-of-type(2){color:var(--brand-primary,#81318b);background:var(--brand-tint,#f3eaf5);border-color:var(--brand-line,#e5d5e9)}
.as-pr-choice dialog>button:nth-of-type(3){grid-column:1/-1;justify-self:center;min-height:40px;padding:8px 24px;background:transparent;border-color:transparent;color:var(--brand-muted,#6c5c72);font-size:.9rem;font-weight:500}
.as-pr-choice dialog>button:hover:not(:disabled){filter:brightness(.97)}
.as-pr-choice dialog>button:disabled{opacity:.55;cursor:wait}
.as-pr-choice dialog>p[role=status]{margin:0;padding:12px 14px;border-radius:10px;background:var(--brand-tint,#f3eaf5);color:var(--brand-ink,#35243a)}
.as-pr-choice dialog>p[role=status]:empty{display:none}
.as-pr-choice :focus-visible{outline:3px solid var(--brand-primary,#81318b);outline-offset:3px}
.as-pr-choice a,.as-pr-choice a:hover,.as-pr-choice a:focus,.as-pr-choice button{text-decoration:none}
.as-pr-choice .as-personal-result{margin:12px 0 0;padding:clamp(18px,2vw,28px);border-radius:16px;box-shadow:none}
.as-personal-result>h3{font-size:1.25rem;line-height:1.5;margin-bottom:12px}
.as-personal-result .as-pr-badges{gap:8px;margin-bottom:14px}
.as-personal-result .as-pr-badge{padding:5px 11px;font-weight:600}
.as-personal-result .as-pr-status{line-height:1.8;margin:12px 0;color:var(--brand-muted,#6c5c72)}
.as-personal-result .as-pr-summary{font-size:1rem;line-height:1.95;letter-spacing:.01em;margin:20px 0;padding:20px 22px;background:var(--brand-tint,#f3eaf5);border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.as-personal-result .as-pr-summary-fold .as-pr-summary{margin:20px 0 10px}
.as-personal-result .as-pr-score{margin:22px 0;padding:22px;border:1px solid var(--brand-line,#e5d5e9);background:var(--brand-tint,#f3eaf5)}
.as-personal-result .as-pr-rubric{gap:16px;margin:26px 0}
.as-personal-result .as-pr-point{padding:20px;border-color:var(--brand-line,#e5d5e9);border-left-color:#7b8490;background:var(--brand-surface,#fff);color:var(--brand-ink,#35243a)}
.as-personal-result .as-pr-point[data-credit=full],.as-personal-result .as-pr-point[data-status=met]{border-left-color:#25805c}
.as-personal-result .as-pr-point[data-credit=partial],.as-personal-result .as-pr-point[data-status=missing_argument]{border-left-color:#b07920}
.as-personal-result .as-pr-point[data-credit=missing],.as-personal-result .as-pr-point[data-status=math_error]{border-left-color:#b75050}
.as-personal-result .as-pr-point[data-credit=pending],.as-personal-result .as-pr-point[data-status=unknown],.as-personal-result .as-pr-point[data-status=rubric_gap]{border-left-color:#6b7f9e}
.as-personal-result .as-pr-point p,.as-personal-result .as-pr-next p{line-height:1.9}
.as-personal-result .as-pr-point blockquote{background:var(--brand-tint,#f3eaf5);line-height:1.9}
.as-personal-result .as-pr-tools,.as-personal-result .as-pr-actions{gap:10px;margin-top:22px}
.as-personal-result .as-pr-tools{padding-top:20px;border-top:1px solid var(--brand-line,#e5d5e9)}
.as-personal-result .as-pr-tools button,.as-personal-result .as-pr-actions button{padding:10px 18px;line-height:1.5;min-height:44px}
.as-manual-reference{margin-top:24px;padding:22px;border:1px solid var(--brand-line,#e5d5e9);border-radius:16px;background:var(--brand-surface,#fff);overflow-wrap:anywhere}
.as-manual-reference>h3{margin:0 0 10px;line-height:1.5}.as-manual-reference p{line-height:1.85}.as-manual-reference .katex-display{overflow-x:auto;overflow-y:hidden}
@media(max-width:600px){
 .as-pr-choice{padding:16px;border-radius:16px;margin:18px 0}
 .as-pr-choice>button{display:block;width:100%;margin:0 0 10px}
 .as-pr-choice dialog{padding:22px 18px;border-radius:20px;max-height:calc(100dvh - 24px)}
 .as-pr-choice dialog[open]{grid-template-columns:1fr;gap:12px}
 .as-pr-choice dialog>h3{font-size:1.18rem}.as-pr-choice dialog>button{min-height:56px;padding:14px}
 .as-pr-choice dialog>button:nth-of-type(3){width:100%;min-height:42px}
 .as-pr-choice .as-personal-result{padding:16px 14px}
 .as-personal-result .as-pr-summary{padding:16px;line-height:1.9;font-size:.96rem}
 .as-personal-result .as-pr-point{padding:16px}.as-personal-result .as-pr-score{padding:16px}
 .as-personal-result .as-pr-point-head{flex-wrap:wrap;gap:10px}
 .as-personal-result .as-pr-credit{white-space:normal}.as-manual-reference{padding:16px}
}
@media(prefers-reduced-motion:reduce){.as-pr-choice dialog>button{transition:none}}

/* v3.3: readable point-by-point evidence and stable step references. */
.as-pr-steps{margin:22px 0;padding:20px;border:1px solid var(--brand-line,#e5d5e9);border-radius:16px;background:var(--brand-bg,#f8f7fa)}
.as-pr-steps h4{margin:0 0 14px;font-size:1rem}
.as-pr-steps ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.as-pr-step{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;padding:12px 14px;border-radius:10px;background:var(--brand-surface,#fff);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.as-pr-step-number{color:var(--brand-primary,#81318b);font-weight:700;white-space:nowrap}
.as-pr-step-refs{margin:8px 0;color:var(--brand-primary,#81318b);font-weight:650}
.as-pr-gap-note,.as-pr-no-evidence{margin:10px 0;padding:10px 12px;border-radius:9px;background:#eef2f8;color:#455a7a;line-height:1.75}
.as-pr-point blockquote{max-height:none;white-space:pre-wrap;user-select:text}
@media(max-width:600px){.as-pr-steps{padding:14px}.as-pr-step{grid-template-columns:1fr;gap:2px;padding:10px}}
.as-manual-points{margin-top:22px;padding:20px;border:1px solid var(--brand-line,#e5d5e9);border-radius:14px;background:var(--brand-bg,#f8f7fa)}
.as-manual-points h4{margin:0 0 8px}.as-manual-point{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:8px 12px;align-items:center;margin:14px 0;padding:14px;background:var(--brand-surface,#fff);border-radius:10px}
.as-manual-point strong{grid-column:1/-1}.as-manual-point input{box-sizing:border-box;width:90px;min-height:44px;padding:8px;font:inherit;border:1px solid var(--brand-line,#ddd);border-radius:8px}.as-manual-point>span{line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){.as-manual-points{padding:12px}.as-manual-point{grid-template-columns:90px 1fr}.as-manual-point>span:first-of-type{grid-column:1/-1}}

/* Long evidence remains complete and selectable behind a native disclosure. */
.as-pr-evidence-fold{margin:12px 0;border:1px solid var(--brand-line,#e5d5e9);border-radius:10px;padding:0 14px}
.as-pr-evidence-fold>summary{padding:12px 0;min-height:24px;cursor:pointer;font-weight:600;line-height:1.6;color:var(--brand-primary,#81318b);text-decoration:none}
.as-pr-evidence-fold[open]>blockquote{max-height:480px;overflow:auto;overscroll-behavior:contain;margin:0 0 14px;padding:14px;white-space:pre-wrap;user-select:text}
.as-pr-evidence-fold .katex-display{margin:.65em 0}
