:root{color-scheme:light;--paper:#f6f7f1;--white:#fff;--ink:#202b28;--muted:#65716d;--green:#315d4d;--green-dark:#214638;--pale:#e8efe8;--line:#d9e0d9;--amber:#f6edda;--red:#8f4e42;--shadow:0 12px 34px rgba(29,52,42,.07);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px;line-height:1.55}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit}button,a,summary,select,input,textarea{outline-offset:4px}a{color:var(--green-dark);text-underline-offset:3px}.topbar{min-height:76px;padding:12px max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.78)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-weight:750;font-size:1.05rem;letter-spacing:-.02em}.brand-mark{width:33px;height:33px;background:var(--green);color:white;border-radius:10px;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.15rem}.profile-area{display:flex;gap:9px;align-items:center;font-size:.82rem}.profile-area label{color:var(--muted)}select,input,textarea{border:1px solid #bcc8c0;border-radius:9px;padding:9px 12px;background:white;color:var(--ink)}select{max-width:220px}.profile-area select{padding:7px 10px}main{max-width:1160px;margin:auto;padding:54px 24px 78px;min-height:calc(100vh - 155px)}.screen{animation:appear .18s ease-out}@keyframes appear{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}.hidden{display:none!important}.welcome{max-width:730px;margin:46px auto}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.73rem;font-weight:750;color:var(--green);margin:0 0 9px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,5vw,3.3rem);line-height:1.1;letter-spacing:-.035em;margin-bottom:15px}h2{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1.2;margin-bottom:0}h3{font-size:1.05rem;margin-bottom:8px}.lede{color:#4f5e58;font-size:1.05rem;max-width:750px;line-height:1.6}.welcome .lede{font-size:1.15rem}.notice{margin:32px 0 26px;padding:19px 21px;background:#edf1e9;border-left:3px solid var(--green);border-radius:0 12px 12px 0}.notice p{margin:5px 0 0;color:#52615b}.primary,.outline,.quiet,.text-button,.back-button{border:0;border-radius:9px;cursor:pointer;font-weight:650;transition:background .15s,border-color .15s,transform .15s}.primary{background:var(--green);color:#fff;padding:11px 19px;box-shadow:0 3px 8px rgba(49,93,77,.16)}.primary:hover{background:var(--green-dark);transform:translateY(-1px)}.primary:disabled{background:#98a79e;cursor:wait;transform:none}.outline{border:1px solid #9baea2;color:var(--green-dark);background:transparent;padding:10px 17px}.outline:hover,.quiet:hover{background:#e9efe8}.quiet{padding:6px 10px;color:var(--green);background:transparent;font-size:.8rem}.text-button{background:transparent;color:var(--green-dark);padding:5px 7px;font-size:.86rem;text-decoration:underline;text-underline-offset:3px}.text-button:hover{background:var(--pale)}.back-button{display:inline-block;background:transparent;color:var(--green-dark);padding:5px 8px;margin:-7px 0 25px;font-size:.89rem}.back-button:hover{background:var(--pale)}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 29px;gap:20px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);gap:22px}.panel{background:var(--white);border:1px solid var(--line);border-radius:17px;padding:23px;box-shadow:var(--shadow)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;gap:14px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:3px}.subject-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.subject-tile{border:1px solid var(--line);border-radius:12px;padding:15px;text-align:left;background:#fff;color:var(--ink);cursor:pointer;min-height:88px}.subject-tile:hover{border-color:#93ab99;background:#f5f8f3}.subject-tile strong{display:block;font-size:1rem}.subject-tile small{display:block;color:var(--muted);margin-top:4px;font-size:.78rem}.side-panel{align-self:start}.muted{color:var(--muted);font-size:.88rem}.review-item{border-top:1px solid var(--line);padding:13px 0}.review-item button{border:0;background:none;padding:0;color:var(--green-dark);font-weight:650;cursor:pointer;text-align:left}.review-item small{display:block;color:var(--muted);font-size:.77rem}.progress-summary{margin-top:19px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:.84rem}.subject-meta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:15px 0;border-block:1px solid var(--line);margin:5px 0 22px;font-size:.85rem;color:var(--muted)}.lesson-list{display:grid;gap:11px}.lesson-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:white;border:1px solid var(--line);border-radius:13px;padding:18px 20px;cursor:pointer}.lesson-card:hover{border-color:#8caa94;box-shadow:var(--shadow)}.lesson-card h3{margin:0 0 5px}.lesson-card p{color:var(--muted);font-size:.84rem;margin:0}.lesson-status{white-space:nowrap;font-size:.75rem;color:var(--green);background:var(--pale);padding:5px 9px;border-radius:30px}.lesson-heading{margin:0 auto 25px;max-width:850px}.lesson-heading h1{font-size:clamp(2rem,4vw,2.8rem)}.time-estimate{font-size:.82rem;color:var(--muted)}.prerequisite{background:#edf1e9;padding:12px 15px;border-radius:9px;margin:15px auto;max-width:850px;font-size:.9rem}.task-card{max-width:850px;margin:auto;background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:clamp(20px,5vw,38px)}.task-counter{color:var(--muted);font-size:.78rem;margin-bottom:9px}.task-card h2{font-size:1.35rem;margin-bottom:15px}.task-context{background:#f4f6f2;border-radius:9px;padding:14px;white-space:pre-wrap;font-size:.94rem}.answer-box{margin:20px 0}.answer-box label{display:block;font-size:.88rem;font-weight:650;margin-bottom:6px}.answer-box textarea{display:block;min-height:145px;width:100%;resize:vertical;line-height:1.5}.answer-box input[type=number],.answer-box input[type=text]{width:min(100%,400px)}.answer-box .unit{margin-left:8px;color:var(--muted)}.choice-list{display:grid;gap:9px}.choice-option{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;cursor:pointer}.choice-option:has(input:checked){border-color:var(--green);background:#f0f5f0}.choice-option input{margin-top:7px;accent-color:var(--green)}.rubric-list{display:grid;gap:8px}.rubric-check{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;background:#f7f8f5;border-radius:8px;font-size:.9rem}.rubric-check input{accent-color:var(--green);margin-top:6px}.save-line{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.75rem;min-height:32px;border-top:1px solid var(--line);margin-top:16px}.help-disclosure{border-top:1px solid var(--line);margin-top:12px;padding-top:14px}.help-disclosure summary,.nested-help summary{cursor:pointer;color:var(--green-dark);font-weight:680;list-style-position:outside}.help-content{padding:15px 0 2px;color:#3d4b45;font-size:.94rem}.help-content p{margin:0 0 10px;white-space:pre-wrap}.nested-help{background:#f2f5f0;padding:13px;border-radius:10px;margin:14px 0}.nested-help .help-content{padding-bottom:0}.model-answer-label{font-weight:700}.help-content ul{padding-left:21px;margin-bottom:0}.common-error{color:var(--red);background:#faf0ed;border-radius:8px;padding:10px!important}.task-actions{display:flex;gap:10px;margin-top:17px}.feedback{margin-top:17px;padding:14px 16px;background:#edf4ee;border-left:3px solid var(--green);border-radius:0 9px 9px 0;font-size:.93rem;white-space:pre-wrap}.feedback.incorrect{background:#faf0ed;border-color:#a75b4b}.coverage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.coverage-card{border:1px solid var(--line);border-radius:12px;background:white;padding:17px}.coverage-card h2{font-size:1.2rem;margin-bottom:10px}.coverage-card ul{margin:0;padding-left:22px;color:#52615b;font-size:.9rem}.past-papers{margin-top:42px;padding-top:20px;border-top:1px solid var(--line)}.past-paper{border:1px solid var(--line);border-radius:12px;background:white;padding:18px;margin-top:12px}.past-paper h3{margin:0 0 2px}.past-paper .paper-date{font-size:.78rem;color:var(--muted)}.past-paper p{font-size:.9rem;white-space:pre-wrap;margin:8px 0}.paper-sections{background:#f6f7f3;padding:12px;border-radius:8px;margin-top:12px}.paper-sections h4{margin:0 0 4px;font-size:.9rem}.paper-sections p{margin:0 0 12px}.paper-sections p:last-child{margin:0}footer{border-top:1px solid var(--line);max-width:1160px;margin:auto;padding:19px 24px 27px;display:flex;gap:20px;align-items:center;color:var(--muted);font-size:.78rem}footer .footer-note{margin-left:auto}.about-content{max-width:760px}.about-content p{max-width:720px}dialog{border:0;border-radius:17px;width:min(480px,calc(100% - 30px));padding:0;box-shadow:0 25px 90px rgba(21,42,32,.24)}dialog::backdrop{background:rgba(23,36,30,.45)}#profile-form{padding:31px;display:grid;gap:9px}#profile-form h2{margin:0 0 9px}#profile-form label{font-size:.83rem;font-weight:650;margin-top:8px}#profile-form .muted{margin:6px 0 3px}.dialog-close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:1.6rem;cursor:pointer;color:var(--muted)}
@media(max-width:760px){.topbar{padding:12px 18px}.profile-area label{display:none}.profile-area select{max-width:130px}main{padding:35px 17px 50px}.dashboard-grid{grid-template-columns:1fr}.side-panel{order:2}.page-heading{align-items:flex-start}.subject-list{grid-template-columns:1fr}.coverage-list{grid-template-columns:1fr}.lesson-card{padding:15px;align-items:flex-start}.lesson-status{font-size:.7rem}.welcome{margin:24px auto}.panel{padding:18px}.task-card{padding:21px 17px}.footer-note{display:none}footer{padding:16px 18px;justify-content:space-between}.task-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.lesson-card{width:100%;text-align:left;font:inherit}.lesson-card-text{display:grid;gap:4px}.lesson-card-text strong{font-size:1rem}.lesson-card-text small{color:var(--muted);font-size:.84rem}.set-summary{margin-top:18px;color:var(--muted);font-size:.87rem}.task-navigation{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px}.nav-caption{font-size:.78rem;color:var(--muted);margin-right:5px}.task-navigation .outline{font-size:.76rem;padding:6px 9px}.task-nav-item{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);cursor:pointer;font-size:.8rem}.task-nav-item.is-draft{border-color:#bf9d5d;background:#fff6e6}.task-nav-item.is-answered{border-color:#a75b4b;background:#faf0ed}.task-nav-item.is-correct{border-color:var(--green);background:var(--pale)}.task-nav-item[aria-current=step]{outline:2px solid var(--green);outline-offset:2px}.model-answer:not(:empty){font-weight:650;margin:13px 0 5px}.feedback ul{margin:8px 0 0;padding-left:20px}.coverage-list{grid-template-columns:1fr}.coverage-card{padding:22px}.coverage-set{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.coverage-set h3{margin-bottom:3px}.objective-coverage{padding:8px 0;border-top:1px solid #edf0eb}.objective-coverage summary{cursor:pointer;color:var(--green-dark);font-weight:650}.objective-coverage p{margin:8px 0;font-size:.87rem}.objective-coverage a,.objective-tasks{font-size:.83rem}.objective-tasks{margin-top:8px}.objective-tasks .text-button{padding:0 3px;font-size:.83rem}
main:focus{outline:none}
