.lesson-cli{margin:24px 0;padding:clamp(16px,3vw,28px);border:1px solid #d8e2e8;border-radius:18px;background:#f7fafb}.lesson-cli-heading,.lesson-cli-practice>header,.lesson-cli-actions,.lesson-cli-independent>[data-lesson-cli-lock]{display:flex;align-items:center;justify-content:space-between;gap:16px}.lesson-cli-heading h3,.lesson-cli-practice h4{margin:3px 0 0}.lesson-cli-scope,.lesson-cli-repeat{padding:6px 10px;border-radius:999px;background:#e5f3ee;color:#155d48;font-size:.76rem;font-weight:700}.lesson-cli-intro{max-width:74ch;color:#52646e}.lesson-cli-practice{margin-top:18px;padding:20px;border:1px solid #cbd9df;border-radius:14px;background:#fff}.lesson-cli-practice>header span{color:#58717d;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.lesson-cli-topology{margin:18px 0;padding:12px;border:1px solid #dce6ea;border-radius:12px;background:#f9fbfc}.lesson-cli-topology svg{display:block;width:100%;height:auto;max-height:150px}.lesson-cli-topology line{stroke:#71909f;stroke-width:3}.lesson-cli-topology rect{fill:#fff;stroke:#287b65;stroke-width:2}.lesson-cli-topology text{text-anchor:middle;fill:#203740;font-size:13px;font-weight:700}.lesson-cli-topology text.role{fill:#647983;font-size:10px;font-weight:500}.lesson-cli-topology-list{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lesson-cli-workspace{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:16px;align-items:start}.lesson-cli-objectives{padding:16px;border-radius:12px;background:#eef4f5}.lesson-cli-objectives h5{margin:0 0 10px}.lesson-cli-objectives ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}.lesson-cli-objectives li{display:grid;grid-template-columns:14px 1fr;gap:2px 8px;align-items:center}.lesson-cli-objectives li>span:first-child{width:11px;height:11px;border:2px solid #8aa0aa;border-radius:50%}.lesson-cli-objectives li small{grid-column:2;color:#52646e;text-transform:capitalize}.lesson-cli-objectives li[data-status=passed]>span:first-child{border-color:#16825f;background:#16825f}.lesson-cli-objectives li[data-status=needs_recheck]>span:first-child{border-color:#bd7a16;background:#fff3d7}.lesson-cli-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:15px}.lesson-cli-feedback,.lesson-cli-hints{margin-top:12px;padding:12px 14px;border-left:4px solid #26866b;background:#edf8f4}.lesson-cli-hints p{margin:4px 0}.lesson-cli-independent{margin-top:18px}.lesson-cli-independent>[data-lesson-cli-lock]{padding:18px;border:1px dashed #9aadb5;border-radius:12px}.lesson-cli-independent>[data-lesson-cli-lock]>span{font-size:1.5rem}.lesson-cli-independent h4,.lesson-cli-independent p{margin:0}.lesson-cli-live{min-height:1.4em;margin:12px 0 0;color:#425b66}.lesson-cli[data-busy=true]{cursor:progress}.lesson-cli .switch-simulator{min-width:0;margin:0}.lesson-cli .switch-terminal-screen{height:300px}
@media(max-width:720px){.lesson-cli-heading,.lesson-cli-independent>[data-lesson-cli-lock]{align-items:flex-start;flex-direction:column}.lesson-cli-workspace{grid-template-columns:1fr}.lesson-cli-practice{padding:14px}.lesson-cli .switch-simulator{max-width:100%;overflow:hidden}.lesson-cli .switch-device-tabs{overflow-x:auto}.lesson-cli .switch-terminal-screen{height:270px}.lesson-cli-scope{align-self:flex-start}.lesson-cli-topology{overflow-x:auto}.lesson-cli-topology svg{min-width:520px}}
@media(prefers-reduced-motion:reduce){.lesson-cli *{scroll-behavior:auto!important}}
.lesson-cli-topology-nodes,.lesson-cli-topology-links{display:flex;align-items:center;justify-content:center;gap:12px;margin:0;padding:0;list-style:none}.lesson-cli-topology-nodes li{min-width:112px;padding:9px 12px;text-align:center;border:2px solid #287b65;border-radius:8px;background:#fff}.lesson-cli-topology-nodes span{display:block;color:#647983;font-size:.72rem;text-transform:capitalize}.lesson-cli-topology-links{margin-top:8px;color:#536d78;font-size:.75rem}.lesson-cli-topology-links li{display:flex;gap:7px;align-items:center}.lesson-cli-topology-links strong{color:#287b65}
.lesson-workbench,.lesson-cli .linux-simulator{min-width:0;max-width:100%}
.lesson-workbench{padding:18px;border:1px solid #cbd9df;border-radius:12px;background:#fcfdfd}
.lesson-practice-evidence{display:grid;gap:12px;margin:14px 0}
.lesson-practice-evidence section{padding:12px;border-left:3px solid #287b65;background:#eef4f5;min-width:0}
.lesson-practice-evidence h5{margin:0 0 6px}
.lesson-practice-evidence p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.65}
/* Bound native field overflow while leaving room for the keyboard focus ring. */
.lesson-practice-fields{display:grid;gap:8px;min-width:0;padding:6px;margin:-6px;overflow-x:clip}
.lesson-practice-fields label{font-weight:700;margin-top:8px}
.lesson-practice-fields input,.lesson-practice-fields select,.lesson-practice-fields textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;padding:10px;border:1px solid #819aa6;border-radius:6px;background:#fff;color:#203740;font:inherit}
.lesson-practice-fields textarea{min-height:144px;resize:vertical;font-family:ui-monospace,monospace;white-space:pre-wrap}
.lesson-practice-fields :focus-visible{outline:3px solid #166e58;outline-offset:2px}
.lesson-practice-notice{font-size:.85rem;color:#52646e;line-height:1.5}
.lesson-practice-options{font-size:.9rem;color:#425b66;overflow-wrap:anywhere}.lesson-practice-options summary{cursor:pointer;padding:10px 0;min-height:44px;box-sizing:border-box}.lesson-practice-options ul{padding-left:20px;margin:4px 0}.lesson-practice-options li{margin:8px 0;line-height:1.5}
.lesson-cli .linux-terminal-screen{height:300px}
.lesson-cli-topology-nodes,.lesson-cli-topology-links{flex-wrap:wrap}
.lesson-cli-topology-links li{flex-wrap:wrap;overflow-wrap:anywhere}
.lesson-cli .lesson-practice-decision-feedback{min-width:0;margin:8px 0;overflow-wrap:anywhere}.lesson-cli .lesson-practice-decision-feedback summary{min-height:44px;padding:8px 0;cursor:pointer;font-weight:700}.lesson-cli .lesson-practice-decision-feedback p{margin:8px 0;line-height:1.65;color:var(--text-primary)}
@media(max-width:720px){.lesson-workbench{padding:12px}.lesson-cli .linux-simulator{overflow:hidden}.lesson-cli .linux-terminal-screen{height:270px}.lesson-cli-practice>header{flex-wrap:wrap}.lesson-cli-topology-nodes li{min-width:0;max-width:100%;overflow-wrap:anywhere}}
