body {font-size:16px}
.tabs {gap:24px;flex-wrap:wrap;overflow:visible}
.tabs button,.exercise label,.lesson-footer button {font-size:14px}
.deck,.exercise>p,.steps li,.lesson-notes p,.lesson-notes li,.feedback,.status {font-size:16px}
.guide {max-width:850px}
.guide-top,.task-top {display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--muted);font-size:14px}
.guide-top {border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:18px}
.step-label {display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.guide h2 {margin-top:28px;font-size:24px}
.guide p {line-height:1.7}
.guide select {max-width:100%;text-overflow:ellipsis}
.guide-nav {display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid var(--border);margin-top:28px;padding-top:20px}
.concept-flow {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:26px 0}
.concept-flow li {position:relative;border-top:3px solid #37816b;background:#f1f7f5;padding:16px 12px;min-width:0}
.concept-flow li:nth-child(2) {border-color:#4b7e9a;background:#f1f6fa}
.concept-flow li:nth-child(3) {border-color:#b65d52;background:#fcf4f2}
.concept-flow li:not(:last-child)::after {content:'\2192';position:absolute;right:-23px;top:24px;color:var(--muted)}
.concept-flow strong,.concept-flow span {display:block;overflow-wrap:anywhere}
.concept-flow span {font-size:14px;margin-top:8px}
.request-map {margin:24px 0}
.request-map>div {padding:16px 0;border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:24px}
.request-map dt {font-weight:600}
.request-map dd {margin:0;overflow-wrap:anywhere}
.plain-answer {border-left:3px solid #4b7e9a;padding:8px 18px;margin:24px 0}
.plain-answer p {margin:8px 0}
.mini-result {border-left:3px solid var(--green);padding:8px 18px;margin:24px 0}
.mini-result ul {margin:8px 0;padding-left:22px}
.table-wrap {max-width:100%;overflow:auto;margin:16px 0;border:1px solid var(--border);border-radius:4px}
.table-wrap table {width:100%;border-collapse:collapse;font-size:14px}
.table-wrap th,.table-wrap td {padding:10px 12px}
.task-top label {margin:0;font-size:16px}
.task-top {margin:26px 0 8px}
.task-brief {padding:2px 0 8px;border-bottom:1px solid var(--border);margin-bottom:20px}
.task-brief h3 {font-size:20px;margin-top:24px}
.field-note {font-size:14px;color:var(--muted);margin:8px 0 16px}
.exercise details {padding:14px 0;border-top:1px solid var(--border);margin-top:8px}
summary {cursor:pointer;font-weight:600}
.guide-points li {margin:20px 0}
.workflow {list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0;margin:24px 0}
.workflow li {padding:16px;border:1px solid var(--border);border-top:3px solid #4b7e9a;border-radius:4px;min-width:0}
.workflow li:nth-child(even) {border-top-color:var(--green)}
.workflow select {font-size:14px;min-width:0;text-overflow:ellipsis}
.workflow .feedback {font-size:14px;margin-bottom:0}
.question legend {white-space:pre-line}
.code,pre {font-size:14px}
@media(max-width:660px) {
 .tabs {gap:6px 18px}.tabs button {font-size:14px}
 .concept-flow {grid-template-columns:1fr;gap:26px}
 .concept-flow li:not(:last-child)::after {content:'\2193';top:auto;bottom:-26px;right:50%}
 .request-map>div {grid-template-columns:1fr;gap:8px}
 .workflow {grid-template-columns:1fr}
 .guide h2 {font-size:22px}
 .task-top {align-items:flex-start;flex-wrap:wrap;gap:4px}
 .guide-nav button {flex:1 1 125px}
 .row {grid-template-columns:1fr;gap:0}
}
