.hljs{color:#dbe7d1}.hljs-keyword,.hljs-built_in{color:#c2db81}.hljs-string{color:#d6bd8a}.hljs-number,.hljs-literal{color:#96c6bc}.hljs-comment{color:#93a18c}.hljs-meta,.hljs-variable{color:#a8c8de}:root{--bg:#f5f7f4;--surface:#fff;--text:#30463e;--primary:#596f35;--border:#e5eae3;--muted:#5d6a5b;--subtle:#a0ac98;--tint:#f1f6e7;--soft:#f8faf6;--code:#24372f;--sidebar:230px;font-synthesis:none;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans CJK TC,Noto Sans TC,Microsoft JhengHei,sans-serif;font-size:14px;line-height:1.7}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary)}svg{flex-shrink:0}button{color:inherit}p,h1,h2,h3{margin-top:0}h1{letter-spacing:.025em;font-size:29px;font-weight:700;line-height:1.5}h2{font-size:21px;line-height:1.5}h3{font-size:15px}small{font-size:11px}code,pre,.json-input{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}pre{white-space:pre;max-width:100%;font-size:12px;line-height:1.9;overflow:auto}ul,ol{padding-left:22px}li{margin:8px 0}.green{color:#93b650}.icon{vertical-align:middle}.eyebrow{letter-spacing:1.8px;color:var(--muted);font-size:10px;font-weight:700}.skip-link{z-index:100;background:var(--text);color:var(--surface);padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.sidebar{width:var(--sidebar);background:var(--surface);border-right:1px solid var(--border);z-index:40;flex-direction:column;padding:31px 15px 18px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{align-items:flex-start;gap:10px;margin:4px 4px 49px;display:flex}.brand-mark{color:#d8e99b;background:#294438;border-radius:10px;place-items:center;width:39px;height:40px;margin-top:2px;display:grid}.brand strong{letter-spacing:-1.2px;font-size:27px;font-weight:750;line-height:1.05;display:block}.brand strong span{font-weight:400}.brand small{letter-spacing:1px;color:var(--muted);margin:8px 0 0 1px;font-size:7px;font-weight:700;line-height:1.4;display:block}.nav-label{letter-spacing:1.7px;color:var(--muted);margin:0 14px 14px;font-size:10px;font-weight:750}.nav-item{min-height:48px;color:var(--muted);border-radius:8px;align-items:center;gap:12px;margin-bottom:7px;padding:12px 14px;font-size:13px;display:flex}.nav-item:hover{background:var(--soft);color:var(--text)}.nav-item.active{color:#48664b;background:#edf4e5;font-weight:650}.nav-item b{color:#466341;background:#dae8c6;border-radius:3px;margin-left:auto;padding:0 5px;font-size:10px;line-height:1.5}.nav-item .icon{width:18px;height:18px}.nav-dot{background:#a8bb8e;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-card{color:#425846;background:#f5f7ee;border:1px solid #e9eddf;border-radius:10px;min-height:250px;margin-top:auto;padding:25px 17px 20px}.sidebar-card .eyebrow{letter-spacing:1px;font-size:8px}.cable{color:#7d964c;margin:22px 0 6px;display:block}.sidebar-card h3{margin:0 0 7px;font-size:13px}.sidebar-card p{color:#626f55;margin-bottom:24px;font-size:11px;line-height:1.9}.sidebar-progress{background:#e1e8d4;border-radius:5px;height:4px;margin:15px 0 9px}.micro{color:#5e6f54;justify-content:space-between;align-items:center;font-size:8px;display:flex}.micro .icon{width:12px}.sidebar-bottom{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:40px;padding:20px 0 0;display:flex}.avatar{background:var(--border);width:34px;height:34px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:10px;display:grid}.sidebar-bottom strong{font-size:10px;display:block}.sidebar-bottom small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.sidebar-bottom>.icon,.sidebar-bottom form{width:14px;color:var(--muted);margin-left:auto}.app-shell{margin-left:var(--sidebar);flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;height:76px;min-height:76px;padding:0 38px;display:flex}.breadcrumbs{color:var(--muted);align-items:center;gap:20px;font-size:11px;display:flex}.breadcrumbs i{color:var(--subtle);font-style:normal}.breadcrumbs strong{color:var(--text);font-size:11px;font-weight:600}.top-actions{align-items:center;gap:24px;display:flex}.private-badge{background:var(--tint);color:#5b7047;border:1px solid #e0e8d7;border-radius:5px;align-items:center;gap:7px;padding:5px 10px;font-size:10px;display:flex}.private-badge .icon{width:12px;height:12px}.top-version{color:var(--muted);letter-spacing:1px;font-size:10px}.icon-button{color:var(--muted);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:5px;display:inline-flex}.icon-button:hover{background:var(--tint);color:var(--primary)}.icon-button.saved{color:var(--primary);background:var(--tint)}.mobile-menu{display:none}.main{flex:1;width:100%;max-width:1770px;margin:0 auto;padding:36px 5.4% 60px}.workspace-heading{justify-content:space-between;align-items:center;gap:24px;margin:0 0 26px;display:flex}.hero-eyebrow{align-items:center;gap:15px;margin-bottom:11px;display:flex}.hero-eyebrow span{background:#ccd5bf;width:22px;height:1px;display:block}.workspace-heading h1{margin:0 0 8px}.workspace-heading p{color:var(--muted);margin-bottom:0;font-size:12px}.button{color:#fff;white-space:nowrap;background:#607637;border:1px solid #607637;border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:40px;padding:10px 16px;font-size:12px;font-weight:600;display:inline-flex}.button:hover{filter:brightness(.94)}.button .icon{width:15px;height:15px}.button.secondary{background:var(--surface);border:1px solid var(--border);color:var(--text)}.button.small{min-height:33px;padding:6px 12px;font-size:11px}.button.full{width:100%}.stats-strip{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:0;min-height:72px;margin-bottom:26px;padding:12px 25px;display:flex}.stats-strip>div{border-right:1px solid var(--border);align-items:center;gap:10px;margin-right:29px;padding-right:29px;display:flex}.stats-strip>div:nth-child(3){border:0}.stats-strip .icon{color:#91a77e;width:21px}.stats-strip strong{font-size:17px;line-height:1}.stats-strip span{color:var(--muted);font-size:10px}.stats-strip p{color:var(--muted);align-items:center;gap:9px;margin:0 0 0 auto;font-size:9px;display:flex}.status-dot{background:#88a451;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.workspace-grid{grid-template-columns:263px minmax(0,1fr);align-items:start;gap:24px;display:grid}.lab-picker{background:var(--surface);border:1px solid var(--border);border-radius:10px;position:sticky;top:20px;overflow:hidden}.picker-title{justify-content:space-between;align-items:center;padding:18px 16px 14px;display:flex}.picker-title h2{margin:0;font-size:13px}.picker-title small{letter-spacing:1px;color:var(--muted);font-size:8px}.search-form{padding:0 13px}.search-field{border:1px solid var(--border);background:var(--soft);border-radius:5px;align-items:center;padding:0 9px;display:flex}.search-field .icon{width:14px;height:14px;color:var(--muted)}.search-field input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;padding:9px;font-size:11px}.search-field input::placeholder{color:var(--muted)}.filter-selects{gap:5px;margin-top:8px;display:flex}.filter-selects select{border:1px solid var(--border);background:var(--surface);width:60%;color:var(--muted);border-radius:4px;padding:4px;font-size:10px}.filter-selects select+select{width:40%}.filter-tabs{gap:5px;margin:10px 0;display:flex}.filter-tabs button{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:5px 9px;font-size:10px}.filter-tabs button.active{color:#597248;background:#edf3e3;font-weight:700}.lab-list{scrollbar-width:thin;scrollbar-color:#dce4d5 transparent;max-height:790px;padding:0 12px 10px;overflow-y:auto}.lab-card{border:1px solid #0000;border-radius:7px;margin-bottom:5px;padding:15px 13px 13px;transition:background .15s;display:block}.lab-card:hover{background:var(--soft)}.lab-card.selected{background:#f2f7e7;border-color:#dce7c2}.lab-card-meta{letter-spacing:.35px;color:#5c704b;justify-content:space-between;gap:5px;font-size:8px;display:flex}.lab-card-meta span:first-child{letter-spacing:1px;font-size:8px}.lab-card h3{margin:6px 0 8px;font-size:12px;font-weight:650;line-height:1.6}.lab-card-footer{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.lab-card-footer .icon{width:12px;height:12px;color:var(--primary);margin-left:auto}.draft-label{color:#66705c;margin-left:auto;font-size:9px}.picker-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;padding:13px 17px;font-size:9px;display:flex}.picker-footer .icon{width:13px}.lab-workspace{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:0;overflow:hidden}.lab-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:25px 26px 22px;display:flex}.lab-kicker{color:var(--muted);letter-spacing:.4px;align-items:center;gap:10px;margin-bottom:9px;font-size:9px;display:flex}.tag{background:var(--tint);color:#566c3e;border-radius:3px;padding:2px 6px;font-size:9px;line-height:1.5;display:inline-flex}.tag.muted{background:var(--soft);color:var(--muted)}.lab-header h2{letter-spacing:.02em;margin:0 0 3px;font-size:21px;font-weight:650}.english-subtitle{color:var(--muted);letter-spacing:.2px;margin:2px 0 12px;font-size:10px}.lab-description{color:var(--muted);margin:0;font-size:12px;line-height:1.9}.lab-header-actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.lab-header-actions>span{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:flex}.lab-header-actions .icon{width:13px;height:13px}.lab-tabs{border-top:1px solid #f4f6f1;border-bottom:1px solid var(--border);scrollbar-width:none;gap:27px;padding:0 25px;display:flex;overflow-x:auto}.lab-tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:14px 0 13px;font-size:12px;position:relative}.lab-tabs button.active{color:#566f41;font-weight:700}.lab-tabs button.active:after{content:"";background:#9cbe59;height:2px;position:absolute;bottom:0;left:0;right:0}.lab-tabs button span{background:var(--tint);color:#5c7048;border-radius:2px;margin-left:4px;padding:1px 4px;font-size:8px}.panel{padding:22px 23px 0}.panel[data-panel]{display:none}.panel[data-panel=topology]{display:block}.section-caption{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.section-caption h3{color:#5c7147;align-items:center;gap:8px;margin:0;font-size:11px;font-weight:600;display:flex}.section-caption h3 small{letter-spacing:1px;color:var(--muted);font-size:8px;font-weight:400}.section-caption>span{color:var(--muted);font-size:9px}.topology-canvas{background-color:#fafcf6;background-image:radial-gradient(#dce6cc .85px,#0000 .85px);background-size:14px 14px;border:1px solid #edf1e6;border-radius:8px;justify-content:flex-start;align-items:center;min-height:270px;display:flex;overflow-x:auto}.topology-svg{width:100%;min-width:660px;height:auto;display:block}.topology-line{stroke:#a7b98e;stroke-width:1.8px;fill:none}.topology-link-label{fill:#708653;font-family:inherit;font-size:10px}.topology-node rect{fill:#fff;stroke:#d5e1cc;stroke-width:1.8px}.topology-node path{fill:none;stroke:#809d5b;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round}.topology-node.router-node rect{fill:#edf5d8;stroke:#91b549;stroke-width:2px}.topology-node .node-name{fill:#526d40;font-family:inherit;font-size:14px;font-weight:700}.topology-node .node-model{fill:#778e64;font-family:inherit;font-size:11px}.network-label{fill:#7d916c;font-family:inherit;font-size:10px}.diagram-legend{color:var(--muted);flex-wrap:wrap;gap:20px;margin:13px 0 20px;font-size:9px;display:flex}.diagram-legend span{align-items:center;gap:6px;display:flex}.diagram-legend i{border:1px solid #d5e1cc;border-radius:2px;width:9px;height:9px;display:inline-block}.diagram-legend .legend-router{background:#eaf3d3;border-color:#91b549}.diagram-legend>span:last-child{margin-left:auto}.subsection{border-top:1px solid var(--border);padding:22px 0}.table-scroll{max-width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{color:var(--muted);background:var(--soft);white-space:nowrap;font-size:10px;font-weight:500}td,th{border-bottom:1px solid var(--border);padding:12px 13px}td{font-size:11px}th small{letter-spacing:.7px;margin-left:6px;font-size:8px}td code{font-size:10px}.address-table td{white-space:nowrap}.device-dot{background:#9cae83;border-radius:2px;width:5px;height:5px;margin-right:9px;display:inline-block}.connection-details{color:var(--muted);margin:13px 0 0;font-size:11px}summary{cursor:pointer;outline-offset:5px}.learning-summary{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:25px;padding:25px 0;display:grid}.learning-summary h3{margin:7px 0 12px;font-size:15px}.learning-summary ul{margin:0;padding:0;list-style:none}.learning-summary li{color:var(--muted);gap:8px;font-size:11px;line-height:1.9;display:flex}.learning-summary .icon{color:var(--primary);width:14px;height:14px;margin-top:3px}.environment{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;font-size:11px;display:flex}.environment>span:last-child{width:100%;color:var(--muted)}.panel-cta{background:var(--soft);border:1px solid var(--border);color:var(--muted);border-radius:6px;justify-content:space-between;align-items:center;gap:15px;margin:0 0 22px;padding:17px;font-size:11px;display:flex}.step-layout{grid-template-columns:minmax(0,1fr) 150px;gap:26px;display:grid}.step-index{border-left:1px solid var(--border);align-self:start;padding-left:15px;position:sticky;top:20px}.step-index a{color:var(--muted);margin:14px 0;font-size:10px;display:block}.learning-step{border-bottom:1px solid var(--border);min-width:0;padding:16px 0 28px;scroll-margin-top:20px}.step-title{align-items:center;gap:12px;display:flex}.step-title>span{background:var(--tint);color:var(--primary);border-radius:5px;padding:5px 8px;font-size:11px}.step-title h3{margin:0;font-size:15px}.learning-step p{color:var(--muted);font-size:12px;line-height:2}.preserve-lines{white-space:pre-wrap}.command-details{border:1px solid var(--border);border-radius:6px;margin:15px 0;overflow:hidden}.command-details>summary,.output-details>summary{color:var(--primary);background:var(--soft);padding:11px 12px;font-size:11px}.command-details>summary span,.output-details>summary span{color:var(--muted);margin-left:9px;font-size:9px}.code-block{background:var(--code);color:#e2ead9}.code-block pre{margin:0;padding:17px}.code-header{color:#d2debc;border-bottom:1px solid #425345;justify-content:space-between;align-items:center;gap:10px;padding:9px 13px;font-size:10px;display:flex}.code-header small{color:#a5b399;margin-left:9px;font-size:8px}.copy-button{color:#dce7ca;white-space:nowrap;background:#3b5040;border:0;border-radius:4px;align-items:center;gap:5px;padding:5px 8px;font-size:10px;display:flex}.copy-button .icon{width:12px;height:12px}.explanation{padding:0 13px}.output-details{margin:13px 0}.expected-output{background:var(--soft);border:1px solid var(--border);border-radius:0 0 5px 5px;margin:0;padding:16px}.verification-card{border-bottom:1px solid var(--border);padding:19px 0}.verification-card>code{color:var(--primary);background:var(--tint);border-radius:3px;padding:4px 8px;font-size:12px}.verification-card p{color:var(--muted);margin:10px 0 0;font-size:12px}.verification-card p strong{color:var(--text);margin-right:6px}.troubleshoot{border:1px solid var(--border);border-radius:6px;margin-bottom:10px;font-size:12px}.troubleshoot summary{background:var(--soft);padding:13px 15px}.troubleshoot p{color:var(--muted);margin:0;padding:15px}.reference-list{color:var(--primary);font-size:11px}.reference-list .icon{width:12px;height:12px}.checkpoints{margin:25px 0}.checkpoint{border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:15px;margin:12px 0;padding:17px;display:flex}.checkpoint input{accent-color:var(--primary);flex-shrink:0;width:17px;height:17px}.checkpoint>span{flex:1}.checkpoint strong{margin-bottom:4px;font-size:12px;display:block}.checkpoint span span{color:var(--muted);font-size:11px}.checkpoint .icon{color:var(--primary);width:16px;display:none}.checkpoint:has(input:checked){background:var(--tint);border-color:#c7d7ad}.checkpoint:has(input:checked) .icon{display:block}.completion-bar{width:100%;height:8px;accent-color:var(--primary)}.save-status{color:var(--primary);font-size:11px}.content-disclaimer{background:var(--soft);border-top:1px solid var(--border);align-items:center;gap:11px;padding:20px 25px;display:flex}.content-disclaimer>.icon{width:16px;height:16px;color:var(--muted)}.content-disclaimer p{color:var(--muted);margin:0;font-size:10px;line-height:1.9}.content-disclaimer p span{font-size:9px}.original-badge{color:var(--muted);letter-spacing:.8px;border:1px solid var(--border);white-space:nowrap;border-radius:4px;margin-left:auto;padding:4px 7px;font-size:8px}.lab-pagination{border-top:1px solid var(--border);justify-content:space-between;gap:20px;padding:20px 25px;display:flex}.lab-pagination a{flex-direction:column;gap:4px;max-width:48%;font-size:11px;display:flex}.lab-pagination a:last-child{text-align:right}.lab-pagination small{color:var(--muted);font-size:9px}.draft-state{text-align:center;border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:12px;padding:75px 25px 85px;display:flex}.draft-icon{background:var(--tint);width:65px;height:65px;color:var(--primary);border-radius:20px;place-items:center;margin-bottom:10px;display:grid}.draft-icon .icon{width:27px;height:27px}.draft-state h3{margin:5px 0;font-size:23px}.draft-state p{max-width:390px;color:var(--muted);margin-bottom:12px;font-size:12px}.draft-state small{color:var(--muted);margin-top:10px;font-size:10px}.empty-search{color:var(--muted);padding:25px 10px;font-size:12px}.empty-search a{text-decoration:underline;display:block}.site-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;gap:20px;margin:0 5.4%;padding:20px 0;font-size:9px;display:flex}.site-footer .icon{width:11px;height:11px}.notice{background:var(--tint);border:1px solid var(--border);color:var(--text);overflow-wrap:anywhere;border-radius:7px;margin-bottom:22px;padding:14px 17px;font-size:12px}.notice a{text-decoration:underline}.notice.error{color:#8c3a21;background:#fff0e8;border-color:#efd4c7}.notice ul{margin:0}.muted-text{color:var(--muted);font-size:12px}.white-card{background:var(--surface);border:1px solid var(--border);border-radius:9px;min-width:0;padding:27px}.white-card h2{font-size:18px}.white-card>p{color:var(--muted);font-size:12px;line-height:1.9}.reference-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.reference-grid li{color:var(--muted);font-size:12px}.reference-grid a:not(.button){color:var(--primary);font-size:12px}.section-space{margin-top:28px}.auth-layout{grid-template-columns:1.1fr 1fr;align-items:center;gap:7%;max-width:1080px;margin:70px auto;display:grid}.auth-intro h1{margin:18px 0;font-size:35px}.auth-intro p{color:var(--muted);font-size:13px;line-height:2}.auth-art{color:var(--primary);align-items:center;margin-top:55px;display:flex}.auth-art .icon{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:46px;height:46px;padding:10px}.auth-art>span{background:#b8c7a1;width:80px;height:1px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:36px}.auth-card h2{margin:13px 0 5px}.auth-card form{margin:25px 0 0}label{font-size:12px}label:not(.search-field):not(.checkpoint):not(.inline-check){color:var(--text)}.auth-card form>label,.form-grid>label,.white-card form>label{flex-direction:column;gap:7px;margin-bottom:17px;display:flex}input:not([type=checkbox]):not([type=hidden]),textarea,select{background:var(--soft);border:1px solid var(--border);color:var(--text);border-radius:5px;min-width:0;max-width:100%;padding:9px 11px}textarea{resize:vertical}.auth-options{justify-content:space-between;align-items:center;margin:6px 0 24px;font-size:11px;display:flex}.auth-options label{align-items:center;gap:6px;font-size:11px;display:flex}.auth-options a{color:var(--muted);font-size:11px}input[type=checkbox]{accent-color:var(--primary)}.auth-switch{text-align:center;margin:20px 0;font-size:12px}.guest-link{color:var(--muted);text-align:center;margin-top:24px;font-size:11px;display:block}.admin-tabs{color:var(--muted);flex-wrap:wrap;gap:24px;margin:20px 0;font-size:12px;display:flex}.admin-tabs a:hover{color:var(--primary)}.block{color:var(--muted);font-size:10px;display:block}.text-link{color:var(--primary);white-space:nowrap}.form-grid{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.span-2{grid-column:span 2}.form-grid>.button{justify-self:start}.admin-details{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.admin-details summary{color:var(--primary);margin-bottom:14px;font-size:13px}.admin-details p{color:var(--muted);font-size:11px}.admin-details .json-input{width:100%;margin-bottom:15px;font-size:11px;line-height:1.8}.media-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:15px;margin-top:20px;display:grid}.media-grid a{border:1px solid var(--border);border-radius:5px;flex-direction:column;padding:10px;font-size:12px;display:flex}.media-grid img{object-fit:contain;height:100px}.media-grid small{color:var(--muted)}.user-row{border-top:1px solid var(--border);align-items:center;gap:15px;padding:15px 0;display:flex}.user-row>div{flex:1}.user-row strong{font-size:12px;display:block}.user-row small{color:var(--muted);font-size:10px}.user-row select{font-size:11px}.editor-heading{justify-content:space-between;align-items:center;margin-top:25px;display:flex}.editor-heading h2{margin:0}.editor-actions{flex-wrap:wrap;gap:10px;margin-top:25px;display:flex}.step-edit-card{background:var(--soft);border:1px solid var(--border);border-radius:6px;margin:15px 0;padding:18px}.step-edit-card.dragging{opacity:.4}.step-edit-head{align-items:center;gap:7px;margin-bottom:14px;font-size:12px;display:flex}.step-edit-head strong{margin-right:auto}.step-edit-card label{flex-direction:column;gap:6px;margin-bottom:12px;font-size:11px;display:flex}.step-edit-card textarea{background:var(--surface);width:100%;font-size:11px}.step-edit-card input,.step-edit-card select{background:var(--surface)}.step-edit-head button{border:1px solid var(--border);background:var(--surface);border-radius:4px;padding:3px 8px;font-size:10px}.revision-row{border-top:1px solid var(--border);justify-content:space-between;gap:20px;min-width:0;padding:20px 0;display:flex}.revision-row>div{flex:1;min-width:0}.revision-row strong{font-size:13px}.revision-row span{color:var(--muted);margin-left:12px;font-size:10px}.revision-row p{margin:6px 0;font-size:12px}.revision-row small{color:var(--muted);font-size:11px}.revision-row summary{color:var(--primary);margin-top:10px;font-size:11px}.revision-json{background:var(--soft);white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;padding:15px}.inline-check{align-items:center;gap:8px;margin:20px 0;display:flex}.pagination{justify-content:center;gap:20px;margin-top:20px;font-size:11px;display:flex}.lesson-image{max-width:100%;height:auto}#toast{color:#fff;z-index:100;opacity:0;pointer-events:none;background:#294438;border-radius:6px;padding:10px 20px;font-size:12px;transition:opacity .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}#toast.visible{opacity:1}:root[data-theme=dark] .sidebar-card,:root[data-theme=dark] .nav-item.active,:root[data-theme=dark] .lab-card.selected,:root[data-theme=dark] .filter-tabs button.active{background:var(--tint);color:var(--text);border-color:var(--border)}:root[data-theme=dark] .topology-canvas{background-color:#e9efe2}:root[data-theme=dark] .lab-tabs button.active{color:var(--primary)}@media (width>=1700px){:root{--sidebar:240px}.main{padding-top:39px}.workspace-grid{grid-template-columns:280px minmax(0,1fr);gap:25px}.lab-header{padding:27px}.lab-list{max-height:880px}.topology-canvas{min-height:340px}.sidebar-card{margin-bottom:20px}}@media (width<=1250px){:root{--sidebar:205px}.main{padding:30px 28px 50px}.workspace-grid{grid-template-columns:220px minmax(0,1fr);gap:18px}.stats-strip{padding:15px 20px}.stats-strip>div{margin-right:18px;padding-right:18px}.stats-strip p{display:none}.step-layout{display:block}.step-index{display:none}.lab-header{padding:22px}.lab-tabs{gap:20px;padding:0 22px}.lab-tabs button{font-size:11px}.lab-header h2{font-size:19px}.lab-header-actions{flex-direction:column}.lab-picker .lab-card{padding:12px 9px}.lab-card-meta span:first-child{font-size:7px}.lab-card-footer{font-size:9px}.auth-layout{gap:30px}.auth-intro h1{font-size:28px}}@media (width<=980px){:root{--sidebar:180px}.sidebar{padding:25px 10px 15px}.brand{gap:7px}.brand strong{font-size:23px}.brand-mark{width:32px;height:34px}.nav-item{gap:9px;padding:10px;font-size:12px}.sidebar-card{padding:18px 13px}.sidebar-bottom{gap:7px}.sidebar-bottom strong{font-size:9px}.sidebar-bottom small{font-size:8px}.workspace-grid{grid-template-columns:195px minmax(0,1fr);gap:15px}.main{padding:25px 20px 40px}.topbar{padding:0 20px}.stats-strip>div{gap:7px;margin-right:15px;padding-right:15px}.stats-strip strong{font-size:15px}.stats-strip span{font-size:9px}.stats-strip>div:nth-child(3){margin:0;padding:0}.panel{padding:18px 17px 0}.lab-header{padding:20px 17px}.lab-tabs{gap:17px;padding:0 17px}.lab-tabs button{font-size:10px}.learning-summary{grid-template-columns:1fr}.diagram-legend>span:last-child{margin-left:0}.section-caption>span{font-size:8px}.lab-header h2{font-size:18px}.original-badge{display:none}.workspace-heading h1{font-size:25px}.workspace-heading>.button{font-size:10px}.hero-eyebrow{font-size:8px}.reference-grid,.auth-layout{grid-template-columns:1fr}.auth-layout{max-width:450px;margin:15px auto}.auth-intro{display:none}.sidebar-card{min-height:230px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.user-row{flex-wrap:wrap}.user-row>div{min-width:100%}.revision-row{flex-wrap:wrap}.lab-picker{top:15px}.private-badge{display:none}}@media (width<=767px){:root{--sidebar:220px}.sidebar{transition:transform .2s;transform:translate(-100%);box-shadow:10px 0 40px #1020161a}.sidebar.open{transform:translate(0)}.app-shell{margin-left:0}.mobile-menu{display:inline-flex}.topbar{height:60px;min-height:60px;padding:0 18px}.breadcrumbs{gap:11px;font-size:10px}.breadcrumbs>span,.breadcrumbs>i{display:none}.top-actions{gap:12px}.top-version{font-size:9px}.main{padding:26px 16px 40px}.workspace-heading{gap:10px;margin-bottom:21px}.workspace-heading h1{letter-spacing:0;font-size:23px}.workspace-heading p{max-width:310px;font-size:11px}.workspace-heading>.button{display:none}.hero-eyebrow{gap:10px;margin-bottom:10px;font-size:8px}.stats-strip{gap:0;min-height:64px;margin-bottom:20px;padding:16px 12px}.stats-strip>div{flex:1;justify-content:center;gap:6px;margin:0;padding:0 8px}.stats-strip>div:first-child{padding-left:0}.stats-strip .icon{width:17px;height:17px}.stats-strip strong{font-size:15px}.stats-strip span{max-width:40px;font-size:8px;line-height:1.5}.workspace-grid{grid-template-columns:1fr;gap:18px}.lab-picker{position:static}.picker-title{padding:14px 15px 10px}.search-form{flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:9px;display:flex}.search-field{flex:1;min-width:160px}.filter-selects{display:none}.filter-tabs{gap:1px;margin:0}.filter-tabs button{padding:6px 7px;font-size:9px}.lab-list{scroll-snap-type:x mandatory;gap:8px;max-height:none;padding-bottom:12px;display:flex;overflow:auto hidden}.lab-card{scroll-snap-align:start;border-color:var(--border);flex:none;min-width:200px;max-width:200px;margin:0;padding:11px!important}.lab-card h3{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.lab-card-meta{font-size:7px}.lab-card-footer{font-size:9px}.picker-footer{display:none}.lab-header{padding:21px 18px}.lab-header h2{font-size:20px;line-height:1.5}.lab-kicker{gap:8px;font-size:8px}.lab-description{font-size:11px}.english-subtitle{font-size:9px}.lab-header-actions>span{font-size:8px}.lab-tabs{gap:22px;padding:0 18px}.lab-tabs button{padding:12px 0;font-size:10px}.lab-tabs button span{font-size:7px}.panel{padding:19px 16px 0}.section-caption{gap:8px}.section-caption>span{text-align:right;max-width:145px;font-size:8px}.section-caption h3{gap:6px;font-size:10px}.section-caption h3 small{font-size:7px}.topology-canvas{min-height:245px}.topology-svg{min-width:650px}.diagram-legend{gap:10px;font-size:8px}.diagram-legend>span:last-child{width:100%;margin-left:0}.table-scroll{margin-right:-1px}td,th{padding:10px}th{font-size:9px}td{font-size:10px}.learning-summary{gap:18px;padding:20px 0}.learning-summary h3{font-size:14px}.learning-summary li{font-size:11px}.panel-cta{flex-wrap:wrap;padding:14px}.panel-cta>.button{margin-left:auto}.content-disclaimer{padding:17px}.content-disclaimer p{font-size:9px}.content-disclaimer p span{font-size:8px}.lab-pagination{padding:17px}.lab-pagination a{font-size:10px}.site-footer{flex-wrap:wrap;gap:8px;margin:0 16px;font-size:8px}.auth-card{padding:25px}.auth-layout{margin:0 auto}.reference-grid{gap:17px}.white-card{padding:20px}.white-card h2{font-size:17px}.draft-state{padding:50px 18px}.draft-state h3{font-size:20px}.draft-state p{font-size:11px}.step-title h3{font-size:13px}.step-title{gap:10px}.code-header{flex-wrap:wrap}.code-header small{display:none}.command-details>summary span,.output-details>summary span{margin:4px 0 0 13px;display:block}.checkpoint{gap:10px;padding:14px}.checkpoint strong{font-size:11px}.checkpoint span span{font-size:10px}.step-edit-card{padding:12px}.step-edit-head{flex-wrap:wrap}.editor-heading h2{font-size:16px}.editor-heading .button{font-size:10px}.revision-row{display:block}.revision-row>form{margin-top:15px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}:root[data-theme=dark] .lab-card-meta,:root[data-theme=dark] .tag,:root[data-theme=dark] .private-badge,:root[data-theme=dark] .section-caption h3,:root[data-theme=dark] .lab-tabs button span{color:var(--primary)}:root[data-theme=dark] .sidebar-card p,:root[data-theme=dark] .micro,:root[data-theme=dark] .draft-label{color:var(--muted)}.search-field input[name=q]{box-shadow:none;background:0 0;border:0}:root[data-theme=dark]{--bg:#000;--surface:#0e1114;--text:#cfd5dc;--primary:#93b9ae;--border:#30363d;--muted:#a3adb8;--subtle:#919ca9;--tint:#1b2a28;--soft:#15191e;--code:#090c10;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.brand strong{white-space:nowrap;letter-spacing:-.6px;font-size:22px}.brand small{letter-spacing:1.2px;font-size:8px}.brand-mark{color:var(--primary);background:var(--tint)}:root[data-theme=dark] .topology-canvas{border-color:var(--border);background-color:#080b0e;background-image:radial-gradient(#29313a .85px,#0000 .85px)}:root[data-theme=dark] .topology-line{stroke:#7b9da0}:root[data-theme=dark] .topology-link-label{fill:#bfccd5;paint-order:stroke;stroke:#080b0e;stroke-width:5px;stroke-linejoin:round}:root[data-theme=dark] .topology-node rect{fill:#151d25;stroke:#839ba8}:root[data-theme=dark] .topology-node.router-node rect{fill:#182b29;stroke:#93b9ae}:root[data-theme=dark] .topology-node path{stroke:#afc8c0}:root[data-theme=dark] .topology-node .node-name{fill:#d1dbdf}:root[data-theme=dark] .topology-node .node-model,:root[data-theme=dark] .network-label{fill:#abb7c4}:root[data-theme=dark] .button:not(.secondary){color:#0b1714;background:#91b6aa;border-color:#91b6aa}:root[data-theme=dark] .brand strong span,:root[data-theme=dark] .green{color:var(--primary)}:root[data-theme=dark] .code-block{color:#cdd9e5}:root[data-theme=dark] .code-header{color:#b5c8d4;border-color:var(--border)}:root[data-theme=dark] .code-header small{color:#a4b3c1}:root[data-theme=dark] .copy-button{color:#cbd9df;background:#26363d}:root[data-theme=dark] .notice.error{color:#e1b6a6;background:#2b1c1a;border-color:#6c4940}:root[data-theme=dark] .checkpoint:has(input:checked){border-color:#52796e}:root[data-theme=dark] .diagram-legend i{background:#151d25;border-color:#839ba8}:root[data-theme=dark] .diagram-legend .legend-router{background:#182b29;border-color:#93b9ae}.topology-line.wireless-line{stroke-dasharray:7 6}.topology-line.console-line{stroke-dasharray:3 5}.topology-link-label{paint-order:stroke;stroke:#fafcf6;stroke-width:4px;font-size:11px}.node-model{font-size:10px!important}@media (width<=980px){.brand strong{font-size:19px}.brand small{letter-spacing:.6px;font-size:7px}}.topology-controls{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;font-size:11px;display:flex}.topology-controls .button{padding:5px 10px;font-size:11px}.topology-svg.topology-overview{min-width:650px!important}.topology-svg.topology-width-8{min-width:800px}.topology-svg.topology-width-9{min-width:900px}.topology-svg.topology-width-10{min-width:1000px}.topology-svg.topology-width-11{min-width:1100px}.topology-svg.topology-width-12{min-width:1200px}.topology-svg.topology-width-13{min-width:1300px}.topology-svg.topology-width-14{min-width:1400px}.topology-svg.topology-width-15{min-width:1500px}.topology-svg.topology-width-16{min-width:1600px}.topology-svg.topology-width-17{min-width:1700px}.topology-svg.topology-width-18{min-width:1800px}.topology-svg.topology-width-19{min-width:1900px}.topology-svg.topology-width-20{min-width:2000px}.topology-svg.topology-width-21{min-width:2100px}.topology-svg.topology-width-22{min-width:2200px}.topology-svg.topology-width-23{min-width:2300px}.topology-svg.topology-width-24{min-width:2400px}.topology-svg.topology-width-25{min-width:2500px}.topology-svg.topology-width-26{min-width:2600px}.topology-svg.topology-width-27{min-width:2700px}.topology-svg.topology-width-28{min-width:2800px}.topology-svg.topology-width-29{min-width:2900px}.topology-svg.topology-width-30{min-width:3000px}.topology-svg.topology-width-31{min-width:3100px}.topology-svg.topology-width-32{min-width:3200px}.topology-svg.topology-width-33{min-width:3300px}.topology-svg.topology-width-34{min-width:3400px}.topology-svg.topology-width-35{min-width:3500px}.topology-svg.topology-width-36{min-width:3600px}.topology-svg.topology-width-37{min-width:3700px}.topology-svg.topology-width-38{min-width:3800px}.topology-svg.topology-width-39{min-width:3900px}.topology-svg.topology-width-40{min-width:4000px}.topology-svg.topology-width-41{min-width:4100px}.topology-svg.topology-width-42{min-width:4200px}
