:root{color-scheme:light;--blue:#234b70;--navy:#153952;--red:#a73531;--cream:#fcf7ea;--gold:#c39743;--ink:#253b49;--line:#d8cbb1}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 system-ui,sans-serif}a{color:var(--blue);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #186ab2;outline-offset:4px}.site-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;max-width:1120px;margin:auto;padding:24px}.site-header>a:first-child{font:700 23px Georgia,serif;text-decoration:none}.site-header>a:last-child{font-size:14px}main{max-width:960px;margin:20px auto 60px;padding:0 24px}h1,h2,h3{font-family:Georgia,serif;line-height:1.2;color:var(--navy)}h1{font-size:clamp(2.2rem,5vw,3.5rem);margin:12px 0 22px}h2{font-size:1.8rem}p{margin:0 0 18px}.panel{background:#fffdf6;border:1px solid var(--line);border-radius:12px;padding:24px;margin:24px 0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:700}.milestone{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(145deg,#e4edf4,#f8f3e4 68%);border:1px solid #c5b585;box-shadow:0 12px 40px #173b5810;padding:48px 60px;text-align:center}.welcome-copy{position:relative;z-index:1;max-width:660px;margin:auto}.milestone-mark{display:block;font-size:42px;color:#9d762c;margin:20px}.milestone-label{font:700 26px Georgia,serif;color:var(--blue);margin-top:32px}.small{font-size:14px}.welcome-copy>.small{margin:22px 0 0}.primary,.secondary,.quiet{display:inline-block;padding:12px 22px;border-radius:7px;border:1px solid transparent;font-weight:650;line-height:1.4}.primary{background:var(--red);color:#fff}.primary:hover{background:#862c28}.secondary{background:#fffdf6;border-color:#9badb8;color:var(--blue)}.quiet{background:transparent;color:var(--blue);text-decoration:underline}.exam-heading{border-left:4px solid var(--gold);padding-left:24px;margin:36px 0}.exam-heading h1{font-size:2.6rem}.instructions summary{cursor:pointer;font-weight:700;color:var(--blue)}.instructions[open] summary{margin-bottom:16px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}.toolbar p{flex:1 1 240px;margin:0;font-size:14px}.toolbar button{font-size:14px}.section-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.section-nav button{background:transparent;border:1px solid var(--line);border-radius:7px;padding:9px 15px;color:var(--blue)}.section-nav [aria-current="step"]{background:var(--blue);color:white;border-color:var(--blue)}#completion{margin-top:12px}.question{border:0;border-top:1px solid var(--line);padding:25px 0;margin:16px 0;min-width:0}.question legend{font-weight:650;max-width:100%;padding:0 12px 0 0}.question textarea{display:block;width:100%;min-height:125px;resize:vertical;border:1px solid #9aaab1;border-radius:7px;padding:12px;background:white;color:var(--ink);margin:8px 0 16px}.question textarea.essay{min-height:290px}.question label.choice{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;margin:6px 0;border:1px solid #e2dbca;border-radius:6px;background:#fffdf8}.choice input{margin-top:7px;accent-color:var(--blue);flex-shrink:0}.question select{padding:9px;max-width:100%;background:white;border:1px solid #9aaab1;border-radius:6px}.question blockquote{margin:10px 0 22px;border-left:3px solid var(--gold);padding:14px 20px;background:#f3ecd9}.question .hint{font-size:14px}.actions{display:flex;justify-content:space-between;gap:12px;padding:24px 0;flex-wrap:wrap}.error{border-color:var(--red);color:#812622}.feedback{padding:16px;border-left:3px solid var(--gold);background:#f2eddf;margin-top:16px}.feedback p:last-child{margin:0}.bottom-nav{margin-top:35px}footer{text-align:center;padding:24px;font-size:14px;color:#516774}#fireworks{position:relative;height:140px;margin:-24px -20px 8px;pointer-events:none;overflow:hidden}#fireworks:not(.playing)::before{content:"✧  ✦  ✧";display:block;text-align:center;font-size:48px;line-height:140px;letter-spacing:20px;color:#a87512}.spark{position:absolute;left:var(--x);top:var(--y);width:8px;height:8px;border-radius:50%;background:var(--color);opacity:0;animation:spark 1700ms ease-out var(--delay) 1 both}@keyframes spark{0%{opacity:0;transform:translate(0,0) scale(.4)}15%,45%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.1)}}@media(prefers-reduced-motion:reduce){#fireworks:not(.motion-requested) .spark{animation:none!important}*{scroll-behavior:auto!important}}@media(max-width:600px){main{padding:0 16px;margin-top:4px}.site-header{padding:18px 16px;align-items:flex-start}.site-header>a:first-child{font-size:19px;max-width:175px}.milestone{padding:32px 20px}.milestone h1{font-size:2.3rem}.panel{padding:18px}.section-nav button{padding:8px 12px}.actions button{flex:1}.question legend{font-size:16px}}@media print{.site-header,.toolbar,.section-nav,.actions,.bottom-nav,#welcome,footer{display:none!important}.exam-section[hidden]{display:block!important}body{background:white}.question{break-inside:avoid}textarea{height:auto}}
