.grades-page main{max-width:1180px}.grades-page .page-heading{align-items:flex-start}.grades-page h1{margin-bottom:12px}.grades-portfolio{color:var(--accent);padding:10px 0;min-height:44px}.grades-jumps{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:24px}.grades-jumps a{min-height:44px;display:flex;align-items:center;color:var(--accent)}
.grades-section{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;margin-bottom:24px;scroll-margin-top:24px}.grades-section h2{margin-bottom:8px}.grades-section h3{margin:24px 0 8px}.grades-section p{max-width:72ch}.grades-section .muted{font-size:.9375rem}.grades-controls{display:flex;flex-wrap:wrap;gap:16px;margin:22px 0}.grades-controls label{display:grid;gap:6px;max-width:100%}.grades-controls select{min-height:48px;border:1px solid var(--line);border-radius:8px;padding:8px 36px 8px 12px;background:var(--surface);color:var(--ink);max-width:100%}
.grades-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px;margin:20px 0;padding:20px 0;border-block:1px solid var(--line)}.grades-summary div{min-width:0}.grades-summary dt{font-size:.9375rem;color:var(--muted)}.grades-summary dd{margin:4px 0 0;font-size:1.5rem;font-weight:650;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.grades-summary dd small{display:block;font-size:.875rem;font-weight:400;color:var(--muted);margin-top:4px}
.grades-record{padding:18px 0;border-bottom:1px solid var(--line);scroll-margin-block:32px 100px;overflow-wrap:anywhere}.grades-record:last-child{border-bottom:0}.grades-record h3{margin:0 0 6px}.grades-record a{color:var(--accent);min-height:44px;display:inline-flex;align-items:center}.grades-record:focus{outline:3px solid var(--accent);outline-offset:5px}.grades-score{font-size:1.25rem;font-weight:650;font-variant-numeric:tabular-nums}.grades-feedback{margin-top:8px;white-space:pre-wrap}.grades-meta{color:var(--muted);font-size:.9375rem}.grades-section details{margin:18px 0}.grades-section summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:600;color:var(--accent)}
.grades-chart{display:grid;gap:16px;margin:16px 0;padding:0;list-style:none}.grades-chart li{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,1fr) auto;gap:12px;align-items:center}.grades-chart .bar-track{height:10px;background:var(--soft);border-radius:5px;overflow:hidden}.grades-chart .bar-fill{height:100%;background:var(--accent);border-radius:5px;transform-origin:left;animation:grade-reveal .35s cubic-bezier(.16,1,.3,1)}.grades-chart .bar-track.excluded .bar-fill{background:var(--muted)}.grades-chart .bar-value{font-variant-numeric:tabular-nums}.grades-chart a{color:var(--accent)}
.grades-terms{display:grid;gap:12px;list-style:none;padding:0}.grades-terms li{display:flex;gap:16px;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}.grades-terms a{color:var(--accent)}.grades-empty,.grades-status{padding:18px 0;color:var(--muted)}#gradeError{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:24px}#gradeRetry{min-height:48px;padding:10px 16px;margin-top:12px;color:var(--surface);background:var(--accent);border:0;border-radius:8px}#gradeRetry:hover{background:#0058a5}.grades-priority{color:var(--danger);font-weight:600}.grades-section .evidence-list{padding-left:20px}.evidence-list li{padding:8px 0}.grades-section [tabindex=-1]{scroll-margin-block:24px 100px}
@keyframes grade-reveal{from{transform:scaleX(.2)}to{transform:scaleX(1)}}
.grades-number{white-space:nowrap}
.learning-profile-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:28px;align-items:start}.learning-radar-wrap{min-width:0}.learning-radar-svg{display:block;width:100%;max-width:360px;height:auto;margin:auto;overflow:visible}.learning-radar-ring{fill:none;stroke:var(--line);stroke-width:1}.learning-radar-spoke{stroke:var(--line);stroke-width:1}.learning-radar-value{fill:rgba(0,109,204,.18);stroke:var(--accent);stroke-width:2}.learning-radar-label{font-size:10px;fill:var(--ink)}.learning-radar-note{font-size:.875rem;text-align:center;margin:8px auto;max-width:32ch}.learning-axis-list{display:grid;gap:8px}.learning-axis{border-bottom:1px solid var(--line);padding:4px 0}.learning-axis summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;color:var(--ink)}.learning-axis summary strong{font-variant-numeric:tabular-nums}.learning-axis summary small{font-size:.875rem}.learning-axis-change.up{color:var(--success,#24664f)}.learning-axis-change.down{color:var(--danger,#a53242)}.learning-axis p{margin:8px 0;font-size:.9375rem}.learning-feedback{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.learning-feedback h3{margin-top:0}.learning-feedback ol,.learning-feedback ul{padding-left:22px}.learning-feedback .grades-record{display:inline-flex;border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin-top:8px;text-decoration:none;min-height:44px}@media(max-width:767px){.learning-profile-layout{grid-template-columns:1fr;gap:12px}.learning-radar-svg{max-width:320px}.learning-axis summary{grid-template-columns:minmax(0,1fr) auto}.learning-axis-change{grid-column:1/-1;margin-top:-4px}}
@container(max-width:20em){.grades-page .grades-summary{grid-template-columns:minmax(0,1fr)}}
@media(max-width:767px){.grades-page .page-heading{display:block}.grades-portfolio{display:inline-flex;margin-top:12px}.grades-section{padding:20px 16px}.grades-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.grades-chart li{grid-template-columns:minmax(0,1fr) auto}.grades-chart .bar-track{grid-column:1/-1;grid-row:2}.grades-controls{display:block}.grades-controls label+label{margin-top:16px}.grades-controls select{width:100%}.grades-terms li{display:block}.grades-terms li span{display:block;margin-top:6px}.grades-jumps{gap:4px 18px}}
@media(prefers-reduced-motion:reduce){.grades-chart .bar-fill{animation:none}}
.learning-profile-pending{min-height:460px;box-sizing:border-box}.learning-profile-pending button,[data-radar-retry]{min-height:44px;padding:10px 16px;font:inherit;color:var(--accent);background:var(--surface);border:1px solid var(--line);border-radius:8px}
.ability-independent .learning-axis summary{color:var(--ink)}.ability-radar-segment{stroke:var(--accent);stroke-width:2;fill:none}.ability-radar-dot{fill:var(--accent)}.ability-evidence{max-height:26rem;overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere}.ability-evidence article{border-top:1px solid var(--line);padding:12px 0}.ability-evidence h3{margin-top:0;font-size:1rem}.ability-evidence blockquote{margin:10px 0;padding:10px 14px;background:var(--soft);white-space:pre-wrap}.ability-independent a{color:var(--accent);text-underline-offset:.2em}.ability-independent summary:focus-visible,.ability-independent a:focus-visible,.ability-evidence:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ability-receipt-values{font-variant-numeric:tabular-nums}.ability-receipt-values div{display:grid;grid-template-columns:6em minmax(0,1fr);gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}.ability-receipt-values dd{margin:0}.ability-receipts{overflow-wrap:anywhere}
