/* Campus learning system: shared by study, exams, results and account administration. */

body{}button,input,select,textarea{font-family:inherit}a{color:var(--blue)}main,.main,.case-content,.learning-content,.panel,.card{min-width:0}h1,.practice-hero h1,.scheme-hero h1{font-size:26px;letter-spacing:0;line-height:1.45}h2{font-size:20px;letter-spacing:0}h3{font-size:17px}.practice-hero{padding:12px 0 20px}.eyebrow{letter-spacing:.5px;color:var(--muted);margin:0 0 5px;font-size:12px}.brand-mark,.brand-logo{background:var(--blue);border-radius:6px}#account{flex-wrap:wrap}
main#app{max-width:1280px;padding:26px 24px 46px}.panel,.card,.surface,.question,.exam-card,.module-card,.round,.stage,.scheme-hero,.result-banner,.resume-card{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:none}.panel{padding:22px;margin-bottom:20px}.scheme-hero{padding:26px}.scheme-hero p{max-width:959px}.module-heading h1{font-size:26px}.score-card{background:var(--paper);color:var(--ink)}
.primary,button.primary,a.primary{background:var(--blue);border:1px solid var(--blue);color:#fff;border-radius:6px}.secondary,.button,button{border-radius:6px}.primary:hover{background:#2d578f;color:#fff}.status,.pass,.complete,.correct,.save-message{color:var(--green)}.note,.pending,.hint.pending{color:var(--pending)}.note{background:#faf7f0}.result-banner .hint{color:var(--pending)}.progress i{background:var(--green)}
:where(button,a,input,textarea,select,summary):focus-visible{outline:3px solid var(--blue);outline-offset:3px}button:disabled{cursor:default;opacity:.6}button,a.button{min-height:40px}.quota-badge{display:inline-block;font-size:12px;font-weight:400;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:5px 9px;white-space:normal;background:var(--paper)}
.learning-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.learning-heading h1{margin:0}.learning-layout{display:grid;grid-template-columns:232px minmax(0,1fr);gap:24px;align-items:start}.course-directory{background:var(--paper);border:1px solid var(--line);border-radius:8px;position:sticky;top:18px;padding:16px}.course-directory summary{font-weight:700;cursor:pointer;padding:0 0 12px}.course-directory nav{display:grid;gap:3px}.course-directory a{display:block;padding:10px 8px;border-bottom:1px solid var(--line);font-size:13px;text-decoration:none;line-height:1.6;color:var(--ink)}.course-directory a:hover{background:var(--bg);color:var(--blue)}.course-directory small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.practice-entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.practice-entry,.practice-entry.theory{padding:20px 18px;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink);transition:none}.practice-entry:hover{transform:none;box-shadow:none;border-color:var(--blue)}.practice-entry h2{font-size:20px;margin:0 0 10px}.practice-entry>p,.practice-entry.theory>p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 16px}.practice-entry .entry-progress{color:var(--green);font-size:12px;margin-top:auto}.practice-entry .button{font-size:13px;padding:8px 12px}.course-progress{padding:20px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px}.section-title h2{margin:0}.section-title span{font-size:12px}.course-row{display:grid;grid-template-columns:minmax(155px,1.5fr) minmax(70px,1fr) 106px 64px;align-items:center;gap:14px;padding:15px 0;border-top:1px solid var(--line);font-size:12px}.course-row strong{font-size:13px;font-weight:600}.course-row small{display:block;color:var(--muted);font-size:11px}.course-row span{color:var(--green);text-align:right}.course-row a{font-size:12px;white-space:nowrap}.course-row progress{width:100%;height:6px;accent-color:var(--green);border:0;border-radius:4px;overflow:hidden}.course-row progress::-webkit-progress-bar{background:var(--bg)}.course-row progress::-webkit-progress-value{background:var(--green)}.progress-note{font-size:12px;line-height:1.8}.history-row{flex-wrap:wrap}.history-actions{flex-wrap:wrap}.history-actions span{font-size:13px}
pre,code,.code-scroll,.inline-code-gap,.answer-field:not(.written) textarea{font-family:Consolas,"Cascadia Mono","SFMono-Regular",monospace}.code-scroll,pre,.template,.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.code-scroll{background:var(--paper)}.inline-code-gap{color:var(--ink);background:#f3f6fa}.comparison-columns>div{min-width:0}.code-comparison pre{white-space:pre;overflow-x:auto}.paper-score-options{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}.paper-score-options .quota-badge{margin-bottom:8px}.paper-score-options [role=status]{font-size:13px;line-height:1.7;color:var(--muted)}.exam-actions{background:var(--paper);box-shadow:none}.exam-actions [data-act=next]{background:var(--paper);color:var(--blue);border:1px solid var(--line)}.exam-actions [data-act=submit]{background:var(--blue);color:white}.paper-result-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}.paper-result-layout>details{position:sticky;top:18px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px}.paper-result-layout .controls{display:grid;gap:8px}.paper-result-layout button[aria-current=true]{background:var(--blue);color:white}.paper-result-layout>div{min-width:0}
@media(max-width:1100px){.learning-layout{grid-template-columns:200px minmax(0,1fr);gap:18px}.practice-entry{padding:17px 14px}.course-row{grid-template-columns:minmax(130px,1fr) 80px 98px 60px;gap:10px}}
@media(max-width:760px){main#app{padding:20px 16px 32px}.learning-heading{align-items:flex-start;margin-bottom:16px;flex-wrap:wrap}.learning-layout,.paper-result-layout{grid-template-columns:1fr;gap:16px}.course-directory,.paper-result-layout>details{position:static;padding:13px 16px}.course-directory summary{padding:0}.course-directory[open] summary{padding-bottom:10px}.practice-entries{grid-template-columns:1fr;gap:12px;margin-bottom:16px}.practice-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;padding:18px}.practice-entry h2{grid-column:1;margin-bottom:7px}.practice-entry>p{grid-column:1;margin-bottom:8px}.practice-entry .entry-progress{margin:0}.practice-entry .button{grid-column:2;grid-row:1/4;align-self:center}.course-progress{padding:17px}.section-title{align-items:flex-start;flex-direction:column;gap:3px}.course-row{grid-template-columns:minmax(0,1fr) 94px;gap:8px;padding:14px 0}.course-row>div{grid-column:1}.course-row>span{grid-column:2;grid-row:auto}.course-row progress{grid-column:1;grid-row:auto}.course-row>a{grid-column:2;text-align:right}.panel{padding:18px}.scheme-hero{padding:20px}h1,.scheme-hero h1{font-size:23px}.exam-actions{gap:8px}.exam-actions button{padding:9px 12px}.history-row{gap:12px}.history-actions{width:100%;justify-content:space-between}.paper-result-layout .controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.paper-rubrics>.rubric-row{display:block;border-top:1px solid var(--line);padding:16px 0}.paper-rubrics input[type=number]{max-width:110px}.paper-rubrics blockquote{margin:12px 0;border-left:3px solid var(--line);padding-left:12px;color:var(--muted)}.status-button[data-status=review][aria-pressed=true],.case-buttons .partial small{color:var(--pending)}.code-scroll .inline-code-gap:focus{outline-color:var(--blue)}

.practice-entries{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.practice-entries{grid-template-columns:1fr}}
