*{box-sizing:border-box}body{margin:0;background:#f4f7fa;color:#172d43;font:17px/1.65 system-ui,"Microsoft YaHei",sans-serif}header{background:#fff;border-bottom:1px solid #d9e2ea;padding:20px max(5vw,20px);display:flex;align-items:center;justify-content:space-between;gap:22px}.logo{font-size:28px;font-weight:800;color:#142e43;text-decoration:none;white-space:nowrap}.logo b{color:#087e80}.logo small{display:block;font-size:12px;letter-spacing:2px;font-weight:500}nav{display:flex;gap:10px;flex-wrap:wrap}nav a{padding:10px 17px;color:#243e55;text-decoration:none;font-size:18px;font-weight:650;border-radius:10px}nav a:hover,nav a[href="/practice"]:focus{background:#e6f3f1}main{max-width:1280px;margin:auto;padding:40px 28px}h1{font-size:clamp(32px,4vw,56px);line-height:1.2;letter-spacing:-1.5px;margin:18px 0}h2{font-size:24px;line-height:1.4}p{color:#4b6073}.eyebrow,.tag{font-size:13px;font-weight:750;letter-spacing:2px;color:#087e80}.hero{padding:25px 0}.hero>p{font-size:20px;max-width:720px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.role{display:block;text-decoration:none;color:#fff;background:#163c50;border-radius:22px;padding:32px;box-shadow:0 12px 35px #12344c15;border:1px solid #163c50}.role .tag,.role p{color:#c6e6e8}.role h2{font-size:30px}.role h2 span{float:right}.role strong{display:inline-block;padding-top:15px;color:#fff}.teacher{background:#fff;color:#172d43;border-color:#d6e2e8}.teacher .tag,.teacher strong{color:#087e80}.teacher p{color:#4b6073}.role:hover{transform:translateY(-3px)}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:38px 0}.features>div{border-top:3px solid #e1b76d;padding-top:20px}footer{text-align:center;padding:24px;font-size:14px;color:#54687a}.page-title{margin-bottom:26px}.page-title h1{font-size:38px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 36px}.stat,.unit{background:#fff;border:1px solid #d7e2e9;border-radius:15px;padding:20px}.stat strong{display:block;font-size:32px;color:#126b6e}.unit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.unit{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.unit[aria-pressed=true]{border:2px solid #087e80;background:#eef9f6}.unit b,.unit span{display:block}.unit small{color:#526577}.unit progress{width:100%;height:9px;accent-color:#087e80}.muted{font-size:14px;color:#526577}.practice-box{background:white;border:1px solid #d7e2e9;border-radius:20px;padding:28px;margin-top:28px}.filters{display:flex;gap:20px;border-bottom:1px solid #e0e7ed;padding-bottom:22px;flex-wrap:wrap}.filters label{flex:1;min-width:180px;font-weight:650}select,textarea{display:block;width:100%;font:inherit;border:1px solid #bacbd8;border-radius:9px;padding:11px;background:white;color:#172d43;margin-top:7px}button,.button{font:inherit;cursor:pointer;border:1px solid #b6cbd6;border-radius:10px;padding:11px 20px;background:white;color:#183f56;font-weight:650}button:disabled{opacity:.55;cursor:not-allowed}.primary{background:#087e80;border-color:#087e80;color:white}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.option{display:flex;gap:13px;border:1px solid #c7d6df;border-radius:10px;padding:16px;margin:12px 0;cursor:pointer;white-space:pre-wrap}.option input{width:20px;height:20px;flex-shrink:0;accent-color:#087e80}.option:has(input:checked){background:#eaf7f4;border-color:#087e80}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.7 Consolas,monospace;padding:20px;background:#f2f6f8;border-radius:12px}textarea{min-height:230px;font:16px/1.6 Consolas,monospace}.task{white-space:pre-wrap}.question-image{max-width:100%;height:auto;border:1px solid #d9e2e8}.answer{border-left:4px solid #087e80;background:#f1faf7;padding:20px;margin-top:20px}.answer h3{margin-top:0}.result{font-weight:700;font-size:21px}.error{color:#9b3928}:focus-visible{outline:3px solid #dd9a39;outline-offset:4px}#notice:empty{display:none}#notice{padding:12px;background:#fff4dd;border-radius:10px}@media(max-width:760px){header{align-items:flex-start;flex-direction:column;padding:16px 20px}nav{gap:4px}nav a{font-size:16px;padding:8px 10px}main{padding:24px 16px}.role-grid,.features{grid-template-columns:1fr}.stats,.unit-grid{grid-template-columns:1fr 1fr}.role{padding:24px}.practice-box{padding:18px}.filters{gap:12px}.stat{padding:16px}.page-title h1{font-size:32px}}
.unit:first-child{grid-column:1/-1;padding:10px 18px;width:auto;justify-self:start}.unit-grid{margin-top:16px}

/* Original scoring pages stay in the answer flow, including on mobile. */
.inline-scoring-guide { margin-top: 24px; }
.inline-scoring-guide figure { margin: 16px 0; }
.inline-scoring-guide figcaption { margin-bottom: 8px; font-size: 1rem; font-weight: 600; }
.inline-scoring-guide img { display: block; width: 100%; max-width: 1050px; height: auto; background: white; border: 1px solid #d4e1e3; border-radius: 8px; }
#reference-answer { scroll-margin-top: 100px; }
.inline-scoring-guide img[hidden] { display: none; }
