.exercise{margin:2rem 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);overflow:hidden}.exercise__prompt{padding:1rem 1.1rem;border-bottom:1px solid var(--border)}.exercise__prompt p{margin:.4rem 0 0;color:var(--fg)}.exercise__badge{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.smithy-editor{border-bottom:1px solid var(--border)}.smithy-editor .cm-editor{background:var(--bg-elev);max-height:460px}.smithy-editor .cm-scroller{overflow:auto}.smithy-editor .cm-gutters{background:var(--bg-elev);color:var(--fg-faint);border-right:1px solid var(--border)}.smithy-editor .cm-activeLine{background:color-mix(in srgb,var(--fg) 4%,transparent)}.smithy-editor .cm-activeLineGutter{background:color-mix(in srgb,var(--fg) 6%,transparent)}.exercise__bar{display:flex;align-items:center;gap:.9rem;padding:.8rem 1.1rem}.exercise__autohint{font-size:.78rem;color:var(--fg-muted)}.exercise__status-wrap{margin-left:auto}.exercise__status{font-size:.85rem;font-weight:500}.exercise__status.pass{color:#3fb950}.exercise__status.fail{color:var(--sev-error)}.exercise__results{padding:0 1.1rem 1rem;display:flex;flex-direction:column;gap:.8rem}.checks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.check{display:flex;gap:.6rem;align-items:baseline;font-size:.85rem}.check__mark{flex-shrink:0;font-weight:700;width:1rem;text-align:center}.check--pass .check__mark{color:#3fb950}.check--fail .check__mark{color:var(--sev-error)}.check__body{display:flex;flex-direction:column;gap:.15rem}.check--fail .check__label{color:var(--fg)}.check--pass .check__label{color:var(--fg-muted)}.check__detail{font-size:.78rem;color:var(--sev-error);font-family:var(--font-mono)}.diag-empty{color:var(--fg-muted);font-size:.85rem}.diag-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.diag{display:flex;gap:.7rem;align-items:baseline;padding:.6rem .7rem;border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius-sm);background:var(--bg);font-size:.85rem}.diag--error{border-left-color:var(--sev-error)}.diag--danger{border-left-color:var(--sev-danger)}.diag--warning{border-left-color:var(--sev-warning)}.diag--note{border-left-color:var(--sev-note)}.diag__sev{font-weight:600;text-transform:uppercase;font-size:.65rem;letter-spacing:.06em;flex-shrink:0;width:4.5rem}.diag--error .diag__sev{color:var(--sev-error)}.diag--danger .diag__sev{color:var(--sev-danger)}.diag--warning .diag__sev{color:var(--sev-warning)}.diag--note .diag__sev{color:var(--sev-note)}.diag__body{display:flex;flex-direction:column;gap:.2rem}.diag__loc,.diag__hint{font-size:.75rem;color:var(--fg-muted);font-family:var(--font-mono)}.diag__hint{font-family:var(--font-sans);font-style:italic}.lesson-progress{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border)}.lesson-progress--pending{color:var(--fg-muted);font-size:.9rem}.lesson-progress--done{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem}.lesson-progress__cheer{margin:0;color:#3fb950;font-weight:600}.lesson-progress__next{text-decoration:none;font-size:1rem;padding:.6rem 1.2rem}.lesson-progress__next:hover{text-decoration:none}code.language-smithy{font-family:var(--font-mono);font-size:.85rem;line-height:1.5;white-space:pre}.tok-keyword,.tok-include{color:#ff7b9c}.tok-type{color:#79c0ff}.tok-attribute{color:#d2a8ff}.tok-string{color:#a5d6ff}.tok-number,.tok-constant{color:#f0883e}.tok-comment{color:var(--fg-faint);font-style:italic}.tok-namespace{color:#ffa657}.tok-field,.tok-property{color:#ededed}.tok-preproc{color:#8b949e}.tok-operator,.tok-punctuation{color:var(--fg-muted)}:root[data-theme=light] .tok-keyword,:root[data-theme=light] .tok-include{color:#cf222e}:root[data-theme=light] .tok-type{color:#0550ae}:root[data-theme=light] .tok-attribute{color:#8250df}:root[data-theme=light] .tok-string{color:#0a3069}:root[data-theme=light] .tok-number,:root[data-theme=light] .tok-constant{color:#953800}:root[data-theme=light] .tok-namespace{color:#953800}.lesson-wide[data-astro-cid-srewu4vx]{max-width:1100px;margin:0 auto;padding:2.5rem 1.5rem 60vh}.lesson__back[data-astro-cid-srewu4vx]{font-size:.85rem;color:var(--fg-muted)}.prose[data-astro-cid-srewu4vx]>p,.prose[data-astro-cid-srewu4vx]>ul,.prose[data-astro-cid-srewu4vx]>ol,.prose[data-astro-cid-srewu4vx]>h1,.prose[data-astro-cid-srewu4vx]>h2,.prose[data-astro-cid-srewu4vx]>h3,.prose[data-astro-cid-srewu4vx]>blockquote,.prose[data-astro-cid-srewu4vx]>pre{max-width:720px}.lesson__order[data-astro-cid-srewu4vx]{margin:1.5rem 0 0;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.lesson[data-astro-cid-srewu4vx] h1[data-astro-cid-srewu4vx]{margin:.3rem 0 1.5rem;font-size:2rem}.prose[data-astro-cid-srewu4vx] h1{font-size:1.5rem;margin-top:2.5rem}.prose[data-astro-cid-srewu4vx] h2{font-size:1.25rem;margin-top:2rem}.prose[data-astro-cid-srewu4vx] pre{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;overflow-x:auto}
