:root{font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif;color:#193148;background:#f2f7f8}*{box-sizing:border-box}body{margin:0}header{background:#10263a;color:white;padding:18px max(22px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;gap:16px}header a{color:white;text-decoration:none;font-weight:850}main{max-width:1180px;margin:auto;padding:25px 20px 80px}.hero{border-radius:26px;background:linear-gradient(130deg,#e1f5f0,#edf6fb 60%,#fff4e5);padding:32px 38px;margin-bottom:22px}.eyebrow{color:#147786;font-size:12px;font-weight:900;letter-spacing:.12em}.hero h1{font-size:clamp(30px,4vw,48px);line-height:1.2;margin:10px 0}.hero em{font-style:normal;color:#087f83}.hero p{max-width:730px;line-height:1.75}.hero a,a{color:#0b727c}.layout{display:grid;grid-template-columns:240px 1fr;gap:22px;align-items:start}aside,.work{background:#fff;border:1px solid #d8e5e9;border-radius:19px;padding:22px}aside{position:sticky;top:14px}aside label{font-weight:800;display:block;margin-bottom:8px}select{width:100%;padding:12px;border:1px solid #aec9d0;border-radius:10px;font:inherit;background:white}.chapters{display:grid;gap:3px;max-height:430px;overflow:auto;margin-top:13px}.chapters button{border:0;background:transparent;text-align:left;border-radius:8px;padding:9px;color:#345267;cursor:pointer;font:inherit;font-size:13px}.chapters button.active{background:#dff4ee;color:#075b63;font-weight:800}aside p{font-size:13px;line-height:1.6}.workHead{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #dae8ea;padding-bottom:14px}.workHead span{color:#177987;font-weight:800;font-size:12px}.workHead h2{margin:4px 0}.workHead strong{color:#176f74;white-space:nowrap}.question{padding:22px 0;border-bottom:1px solid #e5edef}.question h3{font-size:17px;line-height:1.55;margin:4px 0 14px}.question small{color:#69818b;font-weight:750}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.choices button{background:#f7fbfb;border:1px solid #c8dfe2;border-radius:12px;padding:12px;text-align:left;cursor:pointer;font:inherit;line-height:1.45;color:#274052}.choices button:hover,.choices button.selected{border-color:#098e91;background:#e4f6f1}.choices button.correct{border-color:#12835d;background:#e1f6e9}.choices button.wrong{border-color:#d9776f;background:#fff0ee}.feedback{font-weight:750;min-height:22px}.feedback.good{color:#17754f}.feedback.bad{color:#aa5149}.solution{border:1px solid #b9d9db;background:#f0faf8;border-radius:12px;padding:13px 16px;margin-top:9px;line-height:1.7}.solution summary{cursor:pointer;font-weight:800;color:#096d75}.solution p{margin:8px 0 0}.finish{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:18px}.finish p{margin-right:auto}.finish button{background:#146b79;border:0;color:#fff;border-radius:10px;padding:11px 14px;cursor:pointer;font-weight:750}@media(max-width:760px){.layout{grid-template-columns:1fr}aside{position:static}.chapters{display:none}.choices{grid-template-columns:1fr}.hero{padding:24px}.workHead{align-items:start}}

/* Focused one-question practice */
.hero{padding:23px 30px;margin-bottom:18px}.hero h1{font-size:clamp(25px,3vw,36px);margin:6px 0}.hero p{margin:8px 0;max-width:830px}.work{min-height:560px}.quizPrimer{background:#ecf7f4;border:1px solid #c1e1d8;border-radius:14px;padding:16px 18px;margin:18px 0;line-height:1.7}.quizPrimer strong{font-size:16px;color:#155f69}.quizPrimer p{margin:6px 0;font-size:15px}.quizPrimer details{margin-top:8px}.quizPrimer summary{cursor:pointer;font-weight:800;color:#0b6674}.quizPrimer ol{margin:8px 0;padding-left:22px}.quizProgress{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #e0eaed;padding-bottom:15px}.quizProgress button{border:1px solid #b9d2d9;background:#fff;color:#3b6570;border-radius:9px;min-width:39px;height:35px;cursor:pointer}.quizProgress button.active{background:#107d85;color:white}.quizProgress button.done:not(.active){background:#e3f5ee;border-color:#7cc0a9}.question{border-bottom:0;padding:21px 0 8px}.question h3{font-size:22px;margin:8px 0 20px}.choices{grid-template-columns:1fr}.choices button{font-size:16px;padding:14px}.solution{font-size:16px}.solution p{line-height:1.8}.feedback{font-size:15px}.finish{border-top:1px solid #e3edee}.finish button{font-size:14px}.finish #reset{background:#ecf3f5;color:#315d67}@media(max-width:760px){.hero{padding:21px}.question h3{font-size:19px}}
