/* HSK 1–9 scenario writing workshop */
.hws-root{--hws-ink:#284534;--hws-muted:#5a7363;--hws-border:#d3e4d8;--hws-soft:#eaf5ec;--hws-card:#fff;--hws-accent:#217552;background:linear-gradient(125deg,#f1f9f2,#f7faf3);border:1px solid var(--hws-border);border-radius:21px;padding:23px;margin:20px 0;color:var(--hws-ink)}
.hws-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.hws-header>div:first-child{flex:1;min-width:0}.hws-kicker{font-size:11px;font-weight:850;letter-spacing:.085em;color:var(--hws-accent)}
.hws-header h2{font-size:clamp(21px,2.6vw,30px);margin:10px 0;color:var(--hws-ink)}.hws-header p,.hws-disclaimer{font-size:12px;line-height:1.8;color:var(--hws-muted)}
.hws-progress{border:1px solid #add5bc;background:#e3f5e7;min-width:166px;display:grid;text-align:center;gap:6px;border-radius:14px;padding:17px;color:#236746}.hws-progress strong{font-size:25px}.hws-progress span{font-size:11px;line-height:1.6}
.hws-summary{display:flex;align-items:center;gap:17px;flex-wrap:wrap;background:var(--hws-soft);border-radius:12px;padding:12px 16px;margin:19px 0;color:var(--hws-ink);font-size:11px}.hws-summary button{margin-left:auto;font-size:11px}
.hws-panel{border-radius:16px;border:1px solid var(--hws-border);background:var(--hws-card);padding:22px}
.hws-context{border:1px solid var(--hws-border);background:var(--hws-soft);border-radius:13px;padding:15px 19px;margin-bottom:20px}
.hws-context h3,.hws-rubric h3{font-size:14px;color:var(--hws-ink);margin:10px 0}.hws-context p{font-size:13px;line-height:1.85;color:var(--hws-ink)}.hws-context p[lang]{font:600 clamp(18px,2.3vw,24px)/1.9 "Microsoft YaHei",sans-serif}
.hws-panel label[for=hws-draft]{font-size:12px;font-weight:750;display:block;margin-bottom:10px}
.hws-panel textarea{border:1px solid #afd1b9;background:var(--hws-card);color:var(--hws-ink);width:100%;border-radius:12px;padding:14px;min-height:138px;font:15px/1.85 "Microsoft YaHei",sans-serif;resize:vertical}
.hws-feedback{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:10px}
.hws-feedback span{font-size:11px;line-height:1.7;color:var(--hws-muted)}.hws-feedback span.ready{font-weight:750;color:var(--hws-accent)}
.hws-sample{border-top:1px solid var(--hws-border);padding-top:15px;margin-top:17px}.hws-sample button{font-size:11px}
.hws-example{background:var(--hws-soft);padding:14px 18px;margin-top:11px;border-radius:11px}.hws-example strong{font-size:11px;color:var(--hws-ink)}.hws-example p{font:600 18px/1.9 "Microsoft YaHei",sans-serif;color:var(--hws-ink)}
.hws-rubric{margin-top:17px;border-top:1px solid var(--hws-border);padding-top:12px}.hws-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0}
.hws-checks label{background:var(--hws-soft);border:1px solid var(--hws-border);border-radius:11px;padding:12px;display:flex;gap:9px;align-items:flex-start;cursor:pointer}
.hws-checks input{accent-color:#238d57;width:17px;height:17px;flex-shrink:0;margin-top:3px}
.hws-checks span{display:grid;gap:5px}.hws-checks b{font-size:11px;color:var(--hws-ink)}.hws-checks small{font-size:10px;line-height:1.7;color:var(--hws-muted)}
.hws-actions{display:flex;gap:10px;flex-wrap:wrap}.hws-actions button{font-size:11px;padding:10px 15px}
.hws-notice{font-size:11px;color:var(--hws-accent);min-height:22px;margin:9px 0}
.hws-result{margin:13px 0;padding:13px 16px;font-size:11px;line-height:1.7;border-radius:11px}.hws-result p{margin:4px 0}.hws-result.complete{background:#dff4e7;color:#195d3c}.hws-result.revise{background:#fcf1d9;color:#735327}
.hws-root :is(textarea,button,input):focus-visible{outline:3px solid #2a9762;outline-offset:3px}
body.dark .hws-root{--hws-ink:#e0f7e9;--hws-muted:#b9d5c4;--hws-border:#4f7258;--hws-soft:#2a4433;--hws-card:#213629;--hws-accent:#a5edbf;background:linear-gradient(120deg,#263d2e,#1e3326)}
body.dark .hws-progress{background:#335943;border-color:#5a986e;color:#d2f5dd}
body.dark .hws-result.complete{background:#2d533d;color:#d8f9e5}
body.dark .hws-result.revise{background:#59462d;color:#ffe1b5}
@media(max-width:810px){.hws-checks{grid-template-columns:1fr}.hws-header{align-items:stretch;flex-direction:column}.hws-progress{min-width:0}.hws-summary button{margin-left:0}}
@media(max-width:520px){.hws-root{padding:14px}.hws-panel{padding:14px}.hws-actions button{flex:1}}
