:root{--teal:#0f6f8c;--ink:#183c4d;--muted:#526a75;--line:#c8e0e6;--cream:#fff8e9}*{box-sizing:border-box}body{margin:0;background:#f4fafb;color:var(--ink);font:17px/1.8 system-ui,-apple-system,sans-serif}header{background:#fff;border-bottom:1px solid var(--line);padding:16px max(20px,calc((100vw - 1000px)/2))}a{color:var(--teal);text-underline-offset:4px}header a{display:flex;justify-content:space-between;font-weight:750;text-decoration:none}header span{font-weight:500;font-size:14px}main{width:min(920px,calc(100% - 32px));margin:28px auto 60px}.preview-note{background:#fff2d7;border:1px solid #c6a66b;border-radius:12px;padding:10px 16px;font-size:13px;color:#684917;margin-bottom:24px}section{background:white;border:1px solid var(--line);border-radius:26px;padding:40px}h1{font-size:clamp(26px,4vw,38px);line-height:1.55;margin:10px 0 18px;letter-spacing:-.025em}h2{font-size:24px}h3{font-size:19px}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--teal);font-weight:750}.lead{color:var(--muted);font-size:18px}.skills,.scores{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.skills>div,.scores>div{border:1px solid var(--line);background:#edf8fa;border-radius:18px;padding:20px}.skills strong,.skills span{display:block}.skills span{font-size:14px;color:var(--muted)}aside{background:var(--cream);padding:20px 24px;border-radius:16px;margin:24px 0}aside p{margin:8px 0 0}.small,.disclosure,footer{font-size:14px;color:var(--muted)}button{font:700 17px/1.6 system-ui;min-height:52px;border:1px solid var(--teal);border-radius:14px;background:white;color:var(--teal);padding:13px 20px;cursor:pointer}.primary{background:var(--teal);color:white;min-height:60px;width:100%;margin-top:18px}button:disabled{opacity:.65;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,audio:focus-visible{outline:3px solid var(--teal);outline-offset:4px}[hidden]{display:none!important}.question{border:1px solid var(--line);border-radius:18px;padding:22px;margin:20px 0;min-width:0}.question legend{padding:0 8px;font-weight:700}.stem{font-size:18px;margin:4px 0 16px}.choices{display:grid;gap:10px}.choices label{display:flex;gap:12px;align-items:center;min-height:52px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.choices label:has(input:checked){background:#e5f5f8;border-color:var(--teal);box-shadow:inset 3px 0 var(--teal)}input{width:20px;height:20px;accent-color:var(--teal);flex-shrink:0}input:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.context{background:#f1f8f9;border-radius:16px;padding:22px;margin:24px 0 10px}.context p:first-child{margin-top:0}audio{display:block;width:100%;margin:12px 0;min-height:54px}.audio-error,#error{padding:16px;color:#8b2525;border:1px solid #b54c4c;background:#fff3f1;border-radius:12px}#error:focus{outline:3px solid #8b2525}.audio-state{font-size:14px;color:var(--muted)}.scores strong{display:block;font-size:32px;color:var(--teal)}.total{font-size:48px;font-weight:750;color:var(--teal);margin:12px 0}.course-options{display:flex;flex-wrap:wrap;gap:12px}.course-options a{display:block;border:1px solid var(--line);border-radius:10px;padding:12px 16px}.review{border-top:1px solid var(--line);padding:16px 0}details{padding:12px 0}summary{cursor:pointer;font-weight:700}footer{padding:28px 8px}#progress{position:sticky;top:0;background:#e6f4f7;padding:10px 14px;border-radius:12px;z-index:1;font-weight:700}.section-label{border-top:2px solid var(--line);padding-top:28px;margin-top:32px}p,legend,a{overflow-wrap:anywhere}@media(max-width:600px){body{font-size:16px}main{width:calc(100% - 24px);margin-top:16px}section{padding:24px 18px;border-radius:20px}.skills,.scores{gap:10px}.skills>div,.scores>div{padding:14px}.question,.context{padding:16px}.choices label{padding:12px}.scores{grid-template-columns:1fr}.lead{font-size:16px}.course-options{display:grid}.stem{font-size:17px}aside{padding:18px}.preview-note{font-size:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.part-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:20px 0}.part-nav button{padding:10px 4px;font-size:14px;min-height:48px}.part-heading{scroll-margin-top:85px}.part-heading:focus{outline:2px solid var(--teal);outline-offset:4px}.question{scroll-margin-top:75px}@media(max-width:600px){.part-nav{grid-template-columns:repeat(4,minmax(0,1fr))}}
.question-photo{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:16px}.audio-play{min-height:52px;min-width:150px}.audio-play:disabled{opacity:1;color:var(--muted);background:#edf3f4;cursor:default}.audio-state:empty{display:none}.context audio[hidden]{display:none}.review h3{margin:0 0 8px}.review p{margin:7px 0}.your-answer{font-weight:600}.correct-answer{font-weight:700;color:var(--teal)}.answer-status{font-weight:600}.review[data-correct=false]{border-left:3px solid #9b752d;padding-left:16px}.answer-key{margin-top:26px}.listening-instruction{margin-bottom:24px}

/* Intro presentation only; quiz, audio, scoring and result styles stay untouched. */
#intro .intro-skill{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:14px;min-width:0;padding:18px;background:linear-gradient(145deg,#f1fbfd,#e5f4f8)}
#intro .intro-skill:last-child{background:linear-gradient(145deg,#fffdf7,#fbf3e1);border-color:#e5d6b0}
#intro .intro-skill img{display:block;width:104px;height:108px;object-fit:contain}
#intro .intro-skill strong{font-size:20px;line-height:1.5;color:var(--ink)}
#intro .intro-skill span{line-height:1.75;margin-top:4px}
#intro .pretest-notice{display:grid;grid-template-columns:136px minmax(0,1fr);grid-template-areas:"mascot title" "mascot bullets";column-gap:22px;row-gap:10px;padding:26px;border:2px solid #d4b975;border-radius:24px;background:radial-gradient(ellipse at top left,#e8f6fa,transparent 50%),linear-gradient(135deg,#fffdf5,#fff3d9);box-shadow:0 10px 26px -19px #8c6d31}
#intro .pretest-notice__mascot{grid-area:mascot;align-self:center;position:relative}
#intro .pretest-notice__mascot img{display:block;width:136px;height:156px;object-fit:contain}
#intro .pretest-notice__mascot>span{position:absolute;right:0;top:2px;display:grid;place-items:center;width:34px;height:34px;border:2px solid #c09a45;border-radius:50%;background:#fff0b9;color:#795411;font-size:23px;font-weight:800;line-height:1}
#intro .pretest-notice h2{grid-area:title;font-size:22px;line-height:1.55;margin:0;color:#51401f;overflow-wrap:anywhere}
#intro .pretest-notice ul{grid-area:bullets;margin:0;padding-left:21px;line-height:1.8;color:#3e5158}
#intro .pretest-notice li+li{margin-top:9px}
#intro .pretest-notice li::marker{color:#a17a2c}
@media(max-width:600px){
 #intro .intro-skill{display:flex;flex-direction:column;gap:8px;padding:14px 10px;text-align:center}
 #intro .intro-skill img{width:96px;max-width:100%;height:100px}
 #intro .intro-skill strong{font-size:19px}
 #intro .pretest-notice{grid-template-columns:78px minmax(0,1fr);grid-template-areas:"mascot title" "bullets bullets";gap:14px 12px;padding:18px 16px;border-radius:20px}
 #intro .pretest-notice__mascot img{width:78px;height:98px}
 #intro .pretest-notice__mascot>span{width:27px;height:27px;right:-1px;top:0;font-size:18px}
 #intro .pretest-notice h2{font-size:18px;line-height:1.6}
 #intro .pretest-notice ul{font-size:16px;line-height:1.8;padding-left:20px}
}
