/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--color-orange-100:#ffead5;--color-orange-400:oklch(75% .183 55.934);--color-orange-500:#f97316;--color-orange-600:#ea580c;--color-orange-950:oklch(26.6% .079 36.259);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-bold:700;--font-weight-extrabold:800;--radius-xl:.75rem;--radius-3xl:1.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-outfit:"Outfit", sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:after,:before{border-color:var(--color-gray-200,#e5e7eb)}.dark *,.dark :after,.dark :before{border-color:var(--color-gray-800,#1f2937)}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#f97316}.dark *{scrollbar-color:#374151 transparent}.dark ::-webkit-scrollbar-thumb{background:#374151}.dark ::-webkit-scrollbar-thumb:hover{background:#ea580c}body{font-family:var(--font-outfit)}code,pre,kbd{font-family:var(--font-mono)}}@layer components;@layer utilities{.static{position:static}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-16{height:calc(var(--spacing) * 16)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.w-16{width:calc(var(--spacing) * 16)}.w-auto{width:auto}.max-w-sm{max-width:var(--container-sm)}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-xl{border-radius:var(--radius-xl)}.bg-\[\#fcfcfb\]{background-color:#fcfcfb}.bg-gray-50{background-color:var(--color-gray-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-600{background-color:var(--color-orange-600)}.object-contain{object-fit:contain}.p-6{padding:calc(var(--spacing) * 6)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.font-outfit{font-family:var(--font-outfit)}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-orange-600{color:var(--color-orange-600)}.text-white{color:var(--color-white)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}.selection\:bg-orange-500 ::selection{background-color:var(--color-orange-500)}.selection\:bg-orange-500::selection{background-color:var(--color-orange-500)}.selection\:text-white ::selection{color:var(--color-white)}.selection\:text-white::selection{color:var(--color-white)}@media(hover:hover){.hover\:bg-orange-500:hover{background-color:var(--color-orange-500)}}.dark\:bg-gray-950:is(.dark *){background-color:var(--color-gray-950)}.dark\:bg-orange-950\/60:is(.dark *){background-color:#44130699}@supports (color:color-mix(in lab,red,red)){.dark\:bg-orange-950\/60:is(.dark *){background-color:color-mix(in oklab,var(--color-orange-950) 60%,transparent)}}.dark\:text-gray-100:is(.dark *){color:var(--color-gray-100)}.dark\:text-gray-300:is(.dark *){color:var(--color-gray-300)}.dark\:text-orange-400:is(.dark *){color:var(--color-orange-400)}.dark\:text-white:is(.dark *){color:var(--color-white)}}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background:#374151}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.landing{--ink: #141414;--paper: #f7f7f4;--line: #d9d9d4;--orange: #ff4b12;min-height:100vh;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;letter-spacing:-.02em}.landing a{color:inherit;text-decoration:none}.landing-nav{display:grid;grid-template-columns:52px 1fr auto;min-height:44px;border-bottom:1px solid var(--line);font-size:10px;font-weight:600}.landing-mark{display:grid;place-items:center;border-right:1px solid var(--line)}.landing-mark>span{width:28px;height:28px}.landing-nav nav{display:flex;align-items:stretch}.landing-nav nav a,.landing-nav-actions>a{display:flex;align-items:center;padding:0 14px;border-right:1px solid var(--line);transition:background .2s ease}.landing-nav nav a:hover,.landing-nav-actions>a:hover{background:#ecece8}.landing-nav-actions{display:flex;align-items:stretch}.landing-nav-actions .nav-cta{color:#fff;background:var(--ink);padding-inline:22px}.landing-nav-actions span{margin-left:10px;font-size:14px}.hero-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.8fr);grid-template-rows:310px 420px;max-width:1180px;margin:0 auto}.hero-copy{position:relative;z-index:2;padding:112px 22px 24px;border-right:1px solid var(--line)}.hero-copy h1,.section-heading h2,.statement-section h2{margin:20px 0 0;font-size:clamp(3.3rem,6.2vw,6.5rem);line-height:.86;letter-spacing:-.075em;font-weight:700}.hero-copy h1 em,.section-heading h2 em,.statement-section h2 em{font-style:normal;font-weight:400}.hero-aside{display:flex;flex-direction:column;justify-content:flex-end;padding:24px;border-bottom:1px solid var(--line)}.hero-aside p{max-width:260px;margin:0 0 22px;font-size:18px;line-height:1.05;font-weight:600}.eyebrow{display:block;color:#74746e;font:9px/1.2 Courier New,monospace;letter-spacing:.04em}.scroll-cue{display:flex;gap:12px;align-items:center;color:#858580;font-size:11px}.scroll-cue:first-letter{font-size:20px}.hero-art{position:relative;z-index:1;overflow:hidden;background:#050505;border-right:1px solid #1d1d1d}.hero-illustration{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.hero-news{padding:116px 22px 20px;background:#f3f3ef}.hero-news .eyebrow{margin-bottom:12px}.hero-news a{display:flex;gap:14px;justify-content:space-between;border-block:1px solid var(--line);padding:11px 0;font-size:11px;line-height:1.2;font-weight:600}.tools-section,.curriculum-section{max-width:1180px;margin:0 auto;padding:102px 22px;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.section-heading h2{font-size:clamp(2.7rem,5vw,5.4rem);margin-top:20px}.text-link{padding-bottom:7px;border-bottom:1px solid var(--ink);font-size:11px;font-weight:600}.text-link span{margin-left:20px;font-size:16px}.section-intro{max-width:310px;margin:66px 0 26px 34%;color:#686861;font-size:13px;line-height:1.35}.tool-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.tool-card{position:relative;display:flex;flex-direction:column;min-height:280px;padding:22px;background:var(--paper);transition:color .2s,background .2s}.tool-card:hover{color:#fff;background:var(--orange)}.tool-card .tool-icon{width:27px;height:27px;margin:50px 0 auto;stroke-width:1.2}.tool-card h3{margin:0 0 7px;font-size:21px;letter-spacing:-.06em}.tool-card p{max-width:225px;margin:0;color:#75756f;font-size:12px;line-height:1.35}.tool-card:hover p,.tool-card:hover .eyebrow{color:#ffffffbf}.card-arrow{position:absolute;right:22px;bottom:20px;font-size:20px}.tool-card-2{background:#ecece8}.tool-card-3{background:#e1e1dc}.practice-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:1px;border:1px solid var(--line);background:#ecece8}.practice-strip>div{display:grid;grid-template-columns:34px 1fr;column-gap:10px;padding:18px 22px;border-right:1px solid var(--line)}.practice-strip>div:last-child{border-right:0}.practice-strip strong{grid-row:span 2;color:var(--orange);font:10px Courier New,monospace}.practice-strip span{font-size:13px;font-weight:700}.practice-strip p{grid-column:2;margin:4px 0 0;color:#686861;font-size:11px;line-height:1.3}.curriculum-section{display:grid;grid-template-columns:.9fr 1.4fr;gap:100px}.curriculum-section .section-heading{display:block}.curriculum-section .text-link{display:inline-block;margin-top:50px}.module-list{border-top:1px solid var(--line)}.module-row{display:grid;grid-template-columns:70px 1fr 1fr 20px;align-items:center;gap:16px;min-height:74px;border-bottom:1px solid var(--line)}.module-row:hover h3{color:var(--orange)}.module-code{color:#85857f;font:9px Courier New,monospace}.module-row h3{margin:0;font-size:14px;text-transform:capitalize}.module-row p{margin:0;color:#75756f;font-size:11px;line-height:1.25}.statement-section{padding:145px 22px 160px;text-align:center;background:var(--orange)}.statement-section .eyebrow{color:#7e1e0b}.statement-section h2{margin:30px auto 28px;font-size:clamp(3.3rem,7vw,7rem)}.statement-section p{max-width:400px;margin:0 auto 31px;font-size:14px;line-height:1.35}.dark-button{display:inline-flex;gap:25px;align-items:center;padding:13px 17px;color:#fff!important;background:var(--ink);font-size:11px;font-weight:600}.dark-button span{font-size:17px}.landing-footer{display:flex;align-items:center;justify-content:space-between;min-height:90px;padding:20px 22px;font-size:10px}.landing-footer>div{display:flex;gap:20px}@media(max-width:720px){.landing-nav{grid-template-columns:50px 1fr auto}.landing-nav nav{display:none}.landing-nav-actions>a:first-child{display:none}.hero-grid{display:block}.hero-copy{min-height:300px;padding:80px 20px 40px;border-right:0}.hero-aside{min-height:160px;padding:24px 20px}.hero-art{height:auto;aspect-ratio:1.5}.hero-news{padding:35px 20px}.tools-section,.curriculum-section{padding:75px 20px}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:32px}.section-intro{margin:45px 0 22px}.tool-grid,.curriculum-section{display:block}.tool-card{min-height:245px;border-bottom:1px solid var(--line)}.practice-strip{display:block}.practice-strip>div{border-right:0;border-bottom:1px solid var(--line)}.practice-strip>div:last-child{border-bottom:0}.curriculum-section .module-list{margin-top:55px}.module-row{grid-template-columns:54px 1fr 18px;gap:10px;padding:15px 0}.module-row p{display:none}.landing-footer{align-items:flex-start;flex-direction:column;gap:18px}}.topo-sim-container{margin-top:30px;border:1px solid var(--basic-line);background:var(--basic-paper)}.topo-sim-tabs{display:flex;background:var(--basic-line);border-bottom:1px solid var(--basic-line);gap:1px}.topo-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;background:#ecece8;border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;color:#777770;letter-spacing:.02em;transition:all .2s ease}.topo-tab-btn:hover{background:#e4e4df;color:var(--basic-ink)}.topo-tab-btn.active{background:var(--basic-paper);color:var(--basic-orange)}.topo-sim-viewport{position:relative;background:var(--basic-paper)}.star-sim-root{display:flex;flex-direction:column}.star-config-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:#f0f0eb;border-bottom:1px solid var(--basic-line)}.star-config-group{display:flex;align-items:center;gap:12px}.star-config-label{font:10px/1.2 Courier New,monospace;font-weight:700;letter-spacing:.05em;color:#777770}.star-toggle-btns{display:flex;gap:4px;background:#e2e2dc;padding:3px;border-radius:2px}.star-btn-option{padding:5px 12px;font-size:11px;font-weight:600;border:none;background:transparent;color:#555550;cursor:pointer;border-radius:2px;transition:all .15s ease}.star-btn-option:hover:not(:disabled){color:var(--basic-ink)}.star-btn-option.is-selected{background:var(--basic-paper);color:var(--basic-orange);box-shadow:0 1px 3px #0000000f}.star-btn-option:disabled{opacity:.6;cursor:not-allowed}.star-stage-canvas{position:relative;height:400px;background:var(--basic-paper);overflow:hidden}.star-svg-cables{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.star-cable-line{stroke:#d0d0c8;stroke-width:2px;vector-effect:non-scaling-stroke;transition:stroke .3s ease,stroke-width .3s ease}.star-cable-line.active{stroke:var(--basic-orange);stroke-width:3px;stroke-dasharray:6 3;animation:cableDashFlow .5s linear infinite}@keyframes cableDashFlow{0%{stroke-dashoffset:9}to{stroke-dashoffset:0}}.star-center-device{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140px;background:#171717;color:#fff;border:1px solid #333333;border-radius:4px;padding:10px;z-index:3;box-shadow:0 8px 24px #0000001f;display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .2s ease,box-shadow .2s ease}.star-center-device.pulse{box-shadow:0 0 0 4px #ff4b1240,0 8px 24px #0003;transform:translate(-50%,-50%) scale(1.03)}.center-device-header{display:flex;align-items:center;gap:6px;color:var(--basic-orange)}.center-device-header strong{font-size:11px;font-family:Courier New,monospace;letter-spacing:.06em;color:#fff}.center-ports-row{display:flex;gap:8px;background:#242422;padding:4px 8px;border-radius:3px;border:1px solid #383834}.center-port-item{display:flex;flex-direction:column;align-items:center;gap:2px}.port-led{width:6px;height:6px;border-radius:50%;background:#444440;transition:all .2s ease}.port-led.lit{background:#22c55e;box-shadow:0 0 6px #22c55e}.center-port-item small{font:8px Courier New,monospace;color:#888884}.center-device-status{font:9px/1.2 Courier New,monospace;color:#a0a09a;text-align:center;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.star-node-item{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;z-index:3;background:var(--basic-paper);padding:8px 12px;border:1px solid var(--basic-line);box-shadow:0 2px 8px #0000000a;transition:all .2s ease;min-width:90px}.node-pos-a{top:22%;left:20%}.node-pos-b{top:22%;left:80%}.node-pos-c{top:78%;left:80%}.node-pos-d{top:78%;left:20%}.node-icon-box{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#ecece8;border-radius:3px;color:var(--basic-ink);margin-bottom:4px}.star-node-item.node-sending .node-icon-box{color:var(--basic-orange);background:#ffe8df}.node-title{font-size:11px;display:flex;align-items:center;gap:4px}.tag-role{font:8px/1 Courier New,monospace;padding:1px 3px;border-radius:2px;font-weight:700}.tag-role.tx{background:var(--basic-ink);color:#fff}.tag-role.rx{background:var(--basic-orange);color:#fff}.node-ip{font:9px Courier New,monospace;color:#777770}.node-mac{font:8px Courier New,monospace;color:#999990}.node-badge{margin-top:4px;display:inline-flex;align-items:center;gap:3px;padding:2px 5px;font-size:9px;font-weight:600;border-radius:2px}.node-badge.sending{background:#ffe8df;color:#b9380f}.node-badge.success{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.node-badge.rejected{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.star-anim-packet{position:absolute;transform:translate(-50%,-50%);z-index:10;pointer-events:none}.pkt-content{display:inline-flex;align-items:center;padding:4px 8px;background:var(--basic-orange);color:#fff;font:9px/1.2 Courier New,monospace;font-weight:700;border-radius:12px;box-shadow:0 2px 10px #ff4b1266;white-space:nowrap}@keyframes animAtoCenter{0%{left:20%;top:22%;opacity:1}to{left:50%;top:50%;opacity:1}}@keyframes animCenterToB{0%{left:50%;top:50%;opacity:1}to{left:80%;top:22%;opacity:1}}@keyframes animCenterToC{0%{left:50%;top:50%;opacity:1}to{left:80%;top:78%;opacity:1}}@keyframes animCenterToD{0%{left:50%;top:50%;opacity:1}to{left:20%;top:78%;opacity:1}}.pkt-a-to-center{animation:animAtoCenter 1.2s forwards ease-in-out}.pkt-center-to-b{animation:animCenterToB 1.2s forwards ease-in-out}.pkt-center-to-c{animation:animCenterToC 1.2s forwards ease-in-out}.pkt-center-to-d{animation:animCenterToD 1.2s forwards ease-in-out}.star-footer-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;background:#ecece8;border-top:1px solid var(--basic-line)}.star-status-narration{display:flex;align-items:center;gap:10px;flex:1}.status-indicator-dot{width:8px;height:8px;border-radius:50%;background:var(--basic-orange);flex-shrink:0;box-shadow:0 0 6px #ff4b1266}.star-status-narration p{margin:0;font-size:13px;color:#444440;line-height:1.4}.star-action-btns{display:flex;gap:8px;flex-shrink:0}.star-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--basic-orange);color:#fff;border:none;font-size:12px;font-weight:600;cursor:pointer;border-radius:2px;transition:opacity .2s ease}.star-btn-primary:hover:not(:disabled){opacity:.9}.star-btn-primary:disabled{background:#b0b0a8;cursor:not-allowed}.star-btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;background:transparent;color:#666660;border:1px solid var(--basic-line);font-size:12px;font-weight:600;cursor:pointer;border-radius:2px;transition:all .2s ease}.star-btn-secondary:hover{background:var(--basic-paper);color:var(--basic-ink)}.star-insight-card{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--basic-line);border-top:1px solid var(--basic-line)}.insight-item{padding:16px 20px;background:var(--basic-paper)}.insight-item strong{display:block;font:10px Courier New,monospace;color:#777770;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.insight-item p{margin:0;font-size:12px;color:#555550;line-height:1.4}.bus-sim-root{display:flex;flex-direction:column}.bus-stage-canvas{position:relative;height:420px;background:var(--basic-paper);overflow:hidden}.bus-svg-grid{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.bus-backbone-line{stroke:var(--basic-ink);stroke-width:5px;vector-effect:non-scaling-stroke;transition:stroke .2s ease,stroke-width .2s ease}.bus-backbone-line.active{stroke:var(--basic-orange);stroke-width:6px;stroke-dasharray:8 4;animation:cableDashFlow .5s linear infinite}.bus-backbone-line.broken-line{stroke:#ef4444;stroke-dasharray:6 3}.bus-backbone-line.right-open{stroke:#999990}.bus-drop-line{stroke:#b0b0a8;stroke-width:2px;vector-effect:non-scaling-stroke;transition:stroke .2s ease,stroke-width .2s ease}.bus-drop-line.active{stroke:var(--basic-orange);stroke-width:3px;stroke-dasharray:4 2;animation:cableDashFlow .5s linear infinite}.bnc-terminator{position:absolute;top:50%;transform:translateY(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;transition:all .2s ease}.bnc-terminator.term-left{left:4%}.bnc-terminator.term-right{right:4%}.term-barrel{background:#222220;color:#d0d0c8;border:2px solid #50504a;padding:5px 8px;border-radius:3px;font:9px/1.2 Courier New,monospace;font-weight:700;letter-spacing:.05em;box-shadow:0 2px 6px #00000026;transition:all .3s ease}.term-sub{font:8px Courier New,monospace;color:#777770;margin-top:3px}.bnc-terminator.absorbed .term-barrel{border-color:#22c55e;color:#22c55e;box-shadow:0 0 10px #22c55e80}.bnc-terminator.inactive{opacity:.3}.bnc-t-connector{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:3;display:flex;flex-direction:column;align-items:center;pointer-events:none}.t-conn-1{left:20%}.t-conn-2{left:40%}.t-conn-3{left:60%}.t-conn-4{left:80%}.t-dot{width:12px;height:12px;border-radius:50%;background:#333330;border:2px solid #ffffff;box-shadow:0 0 4px #00000040}.bnc-t-connector small{font:7px/1 Courier New,monospace;color:#888880;margin-top:2px;background:var(--basic-paper);padding:1px 2px}.bus-node-box{position:absolute;transform:translate(-50%);z-index:4;background:var(--basic-paper);padding:8px 12px;border:1px solid var(--basic-line);box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;align-items:center;min-width:90px;transition:all .2s ease}.bnode-a{left:20%;top:7%}.bnode-b{left:40%;bottom:7%}.bnode-c{left:60%;top:7%}.bnode-d{left:80%;bottom:7%}.bus-node-box.node-sending .node-icon-box{color:var(--basic-orange);background:#ffe8df}.node-badge.backoff{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.bus-anim-packet{position:absolute;transform:translate(-50%,-50%);z-index:10;pointer-events:none}@keyframes kfBusDropA{0%{left:20%;top:24%;opacity:1}to{left:20%;top:50%;opacity:1}}@keyframes kfBusDropD{0%{left:80%;top:76%;opacity:1}to{left:80%;top:50%;opacity:1}}@keyframes kfBusFlowLeft{0%{left:20%;top:50%;opacity:1}to{left:8%;top:50%;opacity:1}}@keyframes kfBusFlowRight{0%{left:20%;top:50%;opacity:1}to{left:92%;top:50%;opacity:1}}@keyframes kfColAtoCenter{0%{left:20%;top:50%;opacity:1}to{left:50%;top:50%;opacity:1}}@keyframes kfColDtoCenter{0%{left:80%;top:50%;opacity:1}to{left:50%;top:50%;opacity:1}}.pkt-bus-drop-a{animation:kfBusDropA .8s forwards ease-in-out}.pkt-bus-drop-d{animation:kfBusDropD .8s forwards ease-in-out}.pkt-bus-flow-left{animation:kfBusFlowLeft 1.8s forwards linear}.pkt-bus-flow-right{animation:kfBusFlowRight 1.8s forwards linear}.pkt-col-a-to-center{animation:kfColAtoCenter 1s forwards ease-in}.pkt-col-d-to-center{animation:kfColDtoCenter 1s forwards ease-in}.bus-collision-banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:12;background:#dc2626;color:#fff;padding:10px 18px;border-radius:4px;display:flex;align-items:center;gap:12px;box-shadow:0 0 24px #dc262699;animation:colPulse .3s infinite alternate ease-in-out}@keyframes colPulse{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1.05)}}.collision-spark-icon{font-size:24px}.collision-text strong{display:block;font:12px Courier New,monospace;font-weight:700;letter-spacing:.05em}.collision-text small{display:block;font-size:10px;opacity:.9;margin-top:2px}.bus-broken-marker{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:8;background:#fee2e2;border:1px dashed #ef4444;color:#b91c1c;padding:4px 8px;border-radius:3px;font:9px/1 Courier New,monospace;font-weight:700;display:flex;align-items:center;gap:4px}.bus-broken-marker.sparking{box-shadow:0 0 14px #ef4444b3;animation:sparkFlash .2s infinite alternate}@keyframes sparkFlash{0%{background:#fee2e2}to{background:#fca5a5}}.bus-reflection-anim{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);z-index:9;background:#fff;border:1px solid #ef4444;color:#b91c1c;padding:3px 8px;border-radius:2px;font:10px/1.2 Courier New,monospace;font-weight:700;box-shadow:0 2px 6px #00000014}.status-indicator-dot.collision{background:#dc2626;box-shadow:0 0 6px #dc2626b3}.ring-sim-root{display:flex;flex-direction:column}.ring-stage-canvas{position:relative;width:100%;height:460px;background:var(--basic-paper);overflow:hidden}.ring-loop-wrapper{position:relative;width:100%;max-width:640px;height:100%;margin:0 auto}.ring-svg-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.ring-arc-path{stroke:#c8c8c0;stroke-width:4px;fill:none;vector-effect:non-scaling-stroke;transition:stroke .2s ease,stroke-width .2s ease}.ring-arc-path.active{stroke:var(--basic-orange);stroke-width:6px;stroke-dasharray:6 3;animation:cableDashFlow .5s linear infinite}.ring-arc-path.broken-path{stroke:#ef4444;stroke-dasharray:4 3}.ring-arc-path.severed-dual{stroke:#ef4444;stroke-width:2px;stroke-dasharray:4 4}.ring-secondary-circle{stroke:#3b82f6;stroke-width:2px;stroke-dasharray:4 3;fill:none;opacity:.45;transition:all .3s ease}.ring-secondary-circle.wrap-active{stroke:var(--basic-orange);stroke-width:5px;stroke-dasharray:6 3;opacity:1;animation:cableDashFlow .5s linear infinite}.wrap-bridge{stroke:var(--basic-orange);stroke-width:4px;fill:none;stroke-dasharray:4 2}.ring-cable-arrow{fill:#888880;font-size:8px;font-family:monospace;text-anchor:middle;dominant-baseline:central}.ring-center-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 16px;background:#f0f0eb;border:1px solid var(--basic-line);border-radius:4px;box-shadow:0 2px 10px #0000000a;text-align:center}.ring-center-hub.broken{background:#fef2f2;border-color:#fca5a5}.ring-center-hub.dual_ring{background:#eff6ff;border-color:#bfdbfe}.hub-tag{display:flex;align-items:center;gap:6px;font:10px Courier New,monospace;font-weight:700;color:var(--basic-ink);letter-spacing:.05em}.ring-center-hub.broken .hub-tag{color:#b91c1c}.ring-center-hub.dual_ring .hub-tag{color:#1d4ed8}.hub-status-text{font:9px/1.2 Courier New,monospace;color:#777770}.spin-ring{animation:spinSlow 3s linear infinite}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ring-node-card{position:absolute;transform:translate(-50%,-50%);z-index:4;background:var(--basic-paper);padding:8px 12px;border:1px solid var(--basic-line);box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;align-items:center;min-width:90px;transition:all .2s ease}.rnode-a{left:50%;top:14%}.rnode-b{left:82%;top:50%}.rnode-c{left:50%;top:86%}.rnode-d{left:18%;top:50%}.ring-node-card.node-sending .node-icon-box{color:var(--basic-orange);background:#ffe8df}.node-ports{font:8px Courier New,monospace;color:#888880;margin-top:1px}.node-badge.neutral{background:#ecece8;color:#666660;border:1px solid #d9d9d4}.ring-anim-token{position:absolute;transform:translate(-50%,-50%);z-index:10;pointer-events:none;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--basic-orange);color:#fff;font:9px/1.2 Courier New,monospace;font-weight:700;border-radius:12px;box-shadow:0 2px 10px #ff4b1266;white-space:nowrap}.pos-token-a{left:50%;top:14%;background:#d97706;box-shadow:0 2px 10px #d9770666}@keyframes kfHopAB{0%{left:50%;top:14%}45%{left:72%;top:24%}to{left:82%;top:50%}}@keyframes kfHopBC{0%{left:82%;top:50%}45%{left:72%;top:76%}to{left:50%;top:86%}}@keyframes kfHopCD{0%{left:50%;top:86%}45%{left:28%;top:76%}to{left:18%;top:50%}}@keyframes kfHopDA{0%{left:18%;top:50%}45%{left:28%;top:24%}to{left:50%;top:14%}}@keyframes kfDualWrap{0%{left:82%;top:50%}25%{left:70%;top:50%}50%{left:50%;top:74%}75%{left:50%;top:86%}to{left:50%;top:86%}}.anim-hop-ab{animation:kfHopAB .9s forwards ease-in-out}.anim-hop-bc{animation:kfHopBC .9s forwards ease-in-out}.anim-hop-cd{animation:kfHopCD .9s forwards ease-in-out}.anim-hop-da{animation:kfHopDA .9s forwards ease-in-out}.anim-dual-wrap{animation:kfDualWrap 2.2s forwards ease-in-out;background:#2563eb;box-shadow:0 2px 10px #2563eb80}.ring-broken-marker{position:absolute;left:71%;top:73%;transform:translate(-50%,-50%);z-index:8;background:#fee2e2;border:1px dashed #ef4444;color:#b91c1c;padding:4px 8px;border-radius:3px;font:9px/1 Courier New,monospace;font-weight:700;display:flex;align-items:center;gap:4px}.ring-broken-marker.sparking{box-shadow:0 0 14px #ef4444b3;animation:sparkFlash .2s infinite alternate}@media(max-width:768px){.star-config-bar{flex-direction:column;align-items:flex-start}.star-stage-canvas{height:440px}.star-footer-bar{flex-direction:column;text-align:center;gap:14px}.star-insight-card{grid-template-columns:1fr}.node-pos-a{top:18%;left:20%}.node-pos-b{top:18%;left:80%}.node-pos-c{top:82%;left:80%}.node-pos-d{top:82%;left:20%}}.basic-page{--basic-ink: #171717;--basic-paper: #f7f7f4;--basic-line: #d9d9d4;--basic-orange: #ff4b12;min-height:100vh;color:var(--basic-ink);background:var(--basic-paper);font-family:Arial,Helvetica,sans-serif}.basic-page,.basic-page *{box-sizing:border-box}.basic-page a{color:inherit;text-decoration:none}.basic-nav{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 24px;border-bottom:1px solid var(--basic-line);font-size:10px;font-weight:600}.basic-back{display:inline-flex;align-items:center;gap:8px}.basic-back:hover{color:var(--basic-orange)}.basic-nav-label,.basic-progress,.basic-eyebrow,.layer-detail-top,.layer-facts span{color:#777770;font:9px/1.2 Courier New,monospace;letter-spacing:.04em}.basic-hero{max-width:1440px;margin:0 auto;padding:110px clamp(28px,5vw,80px) 92px;border-bottom:1px solid var(--basic-line)}.basic-hero h1,.basic-section-title h2,.lesson-next h2{margin:22px 0 26px;font-size:clamp(3.4rem,7vw,7.2rem);line-height:.88;letter-spacing:-.075em}.basic-hero h1 em,.basic-section-title h2 em,.lesson-next h2 em{font-style:normal;font-weight:400}.basic-hero>p{max-width:390px;margin:0 0 24px;color:#5f5f59;font-size:15px;line-height:1.4}.basic-hero-meta{display:flex;gap:26px;color:#7a7a73;font:10px Courier New,monospace}.lesson-layout{display:grid;grid-template-columns:230px minmax(0,1fr);width:100%;max-width:1440px;margin:0 auto}.lesson-sidebar{border-right:1px solid var(--basic-line)}.lesson-sidebar-inner{position:sticky;top:0;padding:38px 22px}.lesson-sidebar h2{margin:14px 0 28px;font-size:20px;letter-spacing:-.05em}.lesson-progress{padding-bottom:22px;border-bottom:1px solid var(--basic-line);color:#777770;font:10px Courier New,monospace}.lesson-progress strong{color:var(--basic-orange);font-size:18px}.lesson-progress i{display:block;height:3px;margin-top:12px;background:#dfdfda}.lesson-progress b{display:block;width:16.6%;height:100%;background:var(--basic-orange)}.lesson-sidebar nav{display:flex;flex-direction:column;margin:20px 0 32px}.lesson-sidebar nav a{display:grid;grid-template-columns:25px 1fr;gap:7px;padding:10px 0;color:#777770;font-size:11px;line-height:1.2}.lesson-sidebar nav a:hover,.lesson-sidebar nav a.is-current{color:var(--basic-orange)}.lesson-sidebar nav span{font:9px Courier New,monospace}.sidebar-home{display:inline-flex;align-items:center;gap:7px;color:#777770;font-size:10px}.sidebar-home:hover{color:var(--basic-orange)}.lesson-content{min-width:0}.concept-section,.osi-section{max-width:none;margin:0;padding:100px 22px;border-bottom:1px solid var(--basic-line)}.basic-section-title h2{font-size:clamp(2.8rem,5.5vw,5.8rem)}.concept-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:70px;border:1px solid var(--basic-line);background:var(--basic-line)}.concept-card{min-height:210px;padding:22px;background:var(--basic-paper)}.concept-card:nth-child(2){background:#ecece8}.concept-card:nth-child(3){background:#e3e3de}.concept-card:nth-child(4){color:#fff;background:var(--basic-orange)}.concept-card svg{margin-bottom:66px}.concept-card h3{margin:0 0 7px;font-size:17px;letter-spacing:-.04em}.concept-card p{max-width:190px;margin:0;color:#6f6f68;font-size:11px;line-height:1.4}.concept-card:nth-child(4) p{color:#76250f}.pdu-list{margin-top:66px;border-top:1px solid var(--basic-line)}.pdu-row{display:grid;grid-template-columns:1.1fr .7fr 1.5fr;align-items:center;gap:20px;min-height:76px;border-bottom:1px solid var(--basic-line)}.pdu-layer,.pdu-row p{color:#777770;font-size:11px}.pdu-row strong{color:var(--basic-orange);font-size:20px;letter-spacing:-.05em}.pdu-row p{margin:0;line-height:1.35}.tcp-section{background:#ecece8}.tcp-title{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}.tcp-title .basic-eyebrow,.tcp-title h2{grid-column:1}.tcp-title p{grid-column:2;align-self:end;max-width:290px;margin:0 0 28px;color:#6f6f68;font-size:13px;line-height:1.4}.tcp-stack{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:68px;border:1px solid var(--basic-line);background:var(--basic-line)}.tcp-layer{min-height:260px;padding:20px;background:var(--basic-paper)}.tcp-layer-2{background:#e3e3de}.tcp-layer-3{background:#d9d9d4}.tcp-layer-4{color:#fff;background:var(--basic-orange)}.tcp-layer>span{color:#777770;font:9px Courier New,monospace}.tcp-layer-4>span{color:#76250f}.tcp-layer h3{margin:62px 0 7px;font-size:20px;letter-spacing:-.05em}.tcp-layer strong{font:10px Courier New,monospace}.tcp-layer p{max-width:190px;margin:14px 0 0;color:#696962;font-size:11px;line-height:1.35}.tcp-layer-4 p{color:#76250f}.osi-title{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}.osi-title .basic-eyebrow,.osi-title h2{grid-column:1}.osi-title p{grid-column:2;align-self:end;max-width:270px;margin:0 0 28px;color:#6f6f68;font-size:13px;line-height:1.4}.osi-illustration{margin:70px 0 0;padding:18px;background:#050505}.osi-illustration img{display:block;width:100%;max-height:460px;object-fit:contain}.osi-illustration figcaption{margin:12px 4px 0;color:#94948e;font:9px Courier New,monospace;letter-spacing:.03em}.osi-explorer{display:grid;grid-template-columns:.9fr 1.4fr;gap:1px;margin-top:60px;border:1px solid var(--basic-line);background:var(--basic-line)}.layer-list{display:flex;flex-direction:column;gap:1px;background:var(--basic-line)}.layer-button{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;min-height:52px;padding:0 18px;border:0;color:var(--basic-ink);background:var(--basic-paper);text-align:left;cursor:pointer;font-family:inherit}.layer-button:hover,.layer-button.is-selected{color:#fff;background:var(--basic-orange)}.layer-button>span{color:#888880;font:10px Courier New,monospace}.layer-button:hover>span,.layer-button.is-selected>span{color:#76250f}.layer-button strong{font-size:13px}.layer-button small{color:#8a8a84;font:10px Courier New,monospace}.layer-button:hover small,.layer-button.is-selected small{color:#76250f}.layer-detail{min-height:365px;padding:30px;background:#ecece8}.layer-detail-top{display:flex;justify-content:space-between;color:#777770}.layer-detail-top svg{color:var(--basic-orange)}.layer-detail h3{margin:70px 0 12px;font-size:38px;letter-spacing:-.06em}.layer-detail>p{max-width:420px;margin:0;color:#5f5f59;font-size:14px;line-height:1.4}.layer-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:55px}.layer-facts div{display:flex;flex-direction:column;gap:7px}.layer-facts strong{font-size:12px;font-weight:600}.layer-tip{display:flex;align-items:center;gap:8px;margin-top:28px;color:#696962;font-size:11px}.layer-tip svg{color:var(--basic-orange)}.lesson-next{display:flex;align-items:end;justify-content:space-between;padding:110px max(22px,8vw) 130px;background:var(--basic-orange)}.lesson-next h2{margin-bottom:0;font-size:clamp(3rem,6vw,6.5rem)}.lesson-button{display:inline-flex;align-items:center;gap:24px;padding:14px 17px;color:#fff!important;background:var(--basic-ink);font-size:11px;font-weight:600}.lesson-button svg{transition:transform .2s ease}.lesson-button:hover svg{transform:translate(4px)}@media(max-width:720px){.basic-nav{padding:0 18px}.basic-nav-label{display:none}.basic-hero{padding:76px 20px 70px}.basic-hero h1{font-size:clamp(3.2rem,15vw,5rem)}.basic-hero-meta{flex-direction:column;gap:8px}.lesson-layout{display:block}.lesson-sidebar{overflow-x:auto;border-right:0;border-bottom:1px solid var(--basic-line)}.lesson-sidebar-inner{position:static;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px 18px;padding:18px 20px;min-width:610px}.lesson-sidebar h2,.lesson-progress{display:none}.lesson-sidebar nav{grid-column:1 / -1;flex-direction:row;gap:20px;margin:0}.lesson-sidebar nav a{display:flex;gap:7px;padding:5px 0;white-space:nowrap}.sidebar-home{justify-self:end}.lesson-content .concept-section,.lesson-content .osi-section{padding-inline:20px}.concept-section,.osi-section{padding:70px 20px}.concept-grid,.osi-explorer{display:block}.pdu-row{grid-template-columns:1fr .7fr;gap:10px;padding:16px 0}.pdu-row p{grid-column:1 / -1}.tcp-title{display:block}.tcp-title p{margin-top:26px}.tcp-stack{display:block}.tcp-layer{min-height:170px;border-bottom:1px solid var(--basic-line)}.tcp-layer:last-child{border-bottom:0}.tcp-layer h3{margin-top:30px}.concept-card{min-height:170px;border-bottom:1px solid var(--basic-line)}.concept-card:last-child{border-bottom:0}.concept-card svg{margin-bottom:35px}.osi-title{display:block}.osi-title p{margin-top:26px}.osi-illustration{margin-top:40px;padding:8px}.osi-explorer{margin-top:40px}.layer-detail{min-height:340px}.lesson-next{display:block;padding:80px 20px 90px}.lesson-button{margin-top:35px}}.sub-heading{margin:0 0 20px;font-size:14px;font-weight:600;letter-spacing:-.02em;color:#76250f;text-transform:uppercase}.types-grid{display:flex;flex-direction:column;gap:1px;background:var(--basic-line);border:1px solid var(--basic-line)}.type-card{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:24px;background:var(--basic-paper)}.type-icon-wrapper{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#ecece8;border-radius:4px;color:var(--basic-ink)}.type-card h3{margin:0 0 6px;font-size:17px;letter-spacing:-.04em}.type-card .subtitle{font-size:13px;font-weight:400;color:#888880}.type-card p{margin:0;color:#5f5f59;font-size:13px;line-height:1.4}.topo-grid{grid-template-columns:repeat(3,1fr);margin-top:20px}.topo-card{min-height:180px}.simulation-section{padding-bottom:120px}.simulation-panel{margin-top:60px;border:1px solid var(--basic-line);background:#ecece8}.sim-visuals{position:relative;display:flex;justify-content:space-between;align-items:center;padding:60px 40px;min-height:250px;background:var(--basic-paper);border-bottom:1px solid var(--basic-line);overflow:hidden}.sim-node{display:flex;flex-direction:column;align-items:center;gap:12px;z-index:2;color:#888880;transition:color .3s}.sim-node.active{color:var(--basic-orange)}.sim-node span{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.sim-path-container{position:absolute;top:50%;left:120px;right:120px;height:2px;transform:translateY(-50%);z-index:1}.sim-path-line{width:100%;height:100%;background:dashed 2px var(--basic-line);opacity:.5}.sim-data-carrier{position:absolute;top:50%;left:0;transform:translateY(-50%);display:flex;align-items:center;transition:all .8s ease-in-out}.step-0,.step-1,.step-2,.step-3,.step-4,.step-5,.step-6,.step-7{left:0%}.step-8{left:50%;transform:translate(-50%,-50%)}.step-9,.step-10,.step-11,.step-12,.step-13,.step-14,.step-15,.step-16{left:100%;transform:translate(-100%,-50%)}.sim-payload-wrapper{display:flex;box-shadow:0 4px 12px #0000000d}.sim-block{padding:8px 12px;font-size:10px;font-weight:600;font-family:Courier New,monospace;white-space:nowrap;border:1px solid var(--basic-line)}.sim-block.data{background:#fff;border-color:var(--basic-ink);color:var(--basic-ink)}.sim-block.header{background:var(--basic-ink);color:#fff;border-color:var(--basic-ink);border-right:1px solid #444}.sim-block.trailer{background:#555;color:#fff;border-color:#555}.sim-block.bits{background:#e3e3de;color:#76250f;border-color:var(--basic-orange);font-style:italic}.sim-block.header.l4{background:#333}.sim-block.header.l3{background:#222}.sim-block.header.l2{background:#111}.sim-controls{display:flex;align-items:center;justify-content:space-between;padding:20px 40px}.sim-status{font-size:13px;color:#5f5f59}.sim-status strong{color:var(--basic-ink)}.sim-actions{display:flex;gap:12px}.sim-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:0;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.sim-btn.start{background:var(--basic-orange);color:#fff}.sim-btn.start:hover{opacity:.9}.sim-btn.reset{background:transparent;color:#888880;border:1px solid #d9d9d4}.sim-btn.reset:hover{background:#fff;color:var(--basic-ink)}@media(max-width:720px){.types-grid{gap:10px;border:0;background:transparent}.type-card{padding:20px;border:1px solid var(--basic-line)}.topo-grid{grid-template-columns:1fr}.sim-visuals{flex-direction:column;gap:40px;padding:40px 20px}.sim-path-container{display:none}.sim-controls{flex-direction:column;gap:20px;text-align:center}.sim-data-carrier{position:static;transform:none!important;margin:20px 0}}.ipv4-page{--ipv4-ink: #171717;--ipv4-paper: #f7f7f4;--ipv4-line: #d9d9d4;--ipv4-orange: #ff4b12;min-height:100vh;color:var(--ipv4-ink);background:var(--ipv4-paper);font-family:Arial,Helvetica,sans-serif}.ipv4-page,.ipv4-page *{box-sizing:border-box}.ipv4-page a{color:inherit;text-decoration:none}.ipv4-nav{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 24px;border-bottom:1px solid var(--ipv4-line);color:#777770;font:9px Courier New,monospace}.ipv4-back{display:inline-flex;align-items:center;gap:8px;font-family:Arial,sans-serif;font-size:10px;font-weight:600}.ipv4-back:hover{color:var(--ipv4-orange)}.ipv4-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:center;max-width:1440px;margin:0 auto;padding:100px clamp(28px,5vw,80px) 90px;border-bottom:1px solid var(--ipv4-line)}.ipv4-eyebrow{display:block;color:#777770;font:9px/1.2 Courier New,monospace;letter-spacing:.04em}.ipv4-hero h1,.ipv4-heading h2,.ipv4-next h2{margin:22px 0 26px;font-size:clamp(3.4rem,7vw,7.2rem);line-height:.88;letter-spacing:-.075em}.ipv4-hero h1 em,.ipv4-heading h2 em,.ipv4-next h2 em{font-style:normal;font-weight:400}.ipv4-hero p,.ipv4-heading>p{max-width:400px;color:#63635d;font-size:14px;line-height:1.4}.ipv4-hero-illustration{margin:0;overflow:hidden;background:transparent;border:0}.ipv4-hero-illustration img{display:block;width:100%;height:100%;min-height:300px;object-fit:contain}.ipv4-section{max-width:1440px;margin:0 auto;padding:100px clamp(28px,6vw,100px);border-bottom:1px solid var(--ipv4-line)}.ipv4-heading h2{font-size:clamp(2.8rem,5.5vw,5.8rem)}.address-parts{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:70px;background:var(--ipv4-line)}.address-parts article{min-height:205px;padding:24px;background:var(--ipv4-paper)}.address-parts article:last-child{color:#fff;background:var(--ipv4-orange)}.address-parts strong{display:block;margin-bottom:56px;font:10px Courier New,monospace;text-transform:uppercase}.address-parts span{font:36px Courier New,monospace;letter-spacing:-.08em}.address-parts p{max-width:230px;margin:14px 0 0;color:#6b6b64;font-size:12px;line-height:1.35}.address-parts article:last-child p{color:#76250f}.binary-note{display:grid;grid-template-columns:100px 1fr;gap:10px 24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--ipv4-line)}.binary-note span{color:#777770;font:9px Courier New,monospace}.binary-note code{color:var(--ipv4-orange);font:16px Courier New,monospace;letter-spacing:.04em}.binary-note p{grid-column:2;margin:0;color:#696962;font-size:11px}.bit-section{display:grid;grid-template-columns:.85fr 1.5fr;gap:80px;background:#ecece8}.bit-panel{padding:24px;background:var(--ipv4-paper);border:1px solid var(--ipv4-line)}.bit-controls label{display:block;margin-bottom:7px;color:#777770;font:9px Courier New,monospace;text-transform:uppercase}.bit-controls label strong{color:var(--ipv4-orange);font-size:16px}.bit-controls input[type=text],.bit-controls>input:not([type]){width:100%;padding:11px;border:1px solid var(--ipv4-line);font:13px Courier New,monospace}.bit-controls>input:first-of-type{width:100%;padding:11px;border:1px solid var(--ipv4-line);color:var(--ipv4-ink);background:#fff;font:13px Courier New,monospace}.bit-controls input[type=range]{width:100%;accent-color:var(--ipv4-orange)}.prefix-presets{display:flex;gap:6px;margin-top:9px}.prefix-presets button{padding:7px 10px;border:1px solid var(--ipv4-line);color:#777770;background:transparent;font:10px Courier New,monospace;cursor:pointer}.prefix-presets button:hover,.prefix-presets button.is-active{color:#fff;background:var(--ipv4-orange);border-color:var(--ipv4-orange)}.bit-display{margin-top:42px}.bit-address{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ipv4-line);padding-bottom:10px}.bit-address span{color:#777770;font:9px Courier New,monospace}.bit-address strong{font:14px Courier New,monospace}.bit-octets{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:26px 0 17px;overflow-x:auto}.bit-octet{display:grid;grid-template-columns:repeat(8,1fr);flex:1;min-width:100px}.bit-octet span{padding:8px 0;text-align:center;font:16px Courier New,monospace}.bit-octet .network-bit{color:#fff;background:var(--ipv4-orange)}.bit-octet .host-bit{color:#55554f;background:#deded9}.bit-octets>i{color:#777770;font-style:normal;font-size:18px}.bit-legend{display:flex;flex-wrap:wrap;gap:18px;align-items:center;color:#777770;font-size:10px}.bit-legend span{display:inline-flex;align-items:center;gap:5px}.bit-legend b{width:9px;height:9px;display:inline-block}.network-key{background:var(--ipv4-orange)}.host-key{background:#deded9}.bit-legend strong{margin-left:auto;color:var(--ipv4-orange);font:10px Courier New,monospace}.calculator-section{display:grid;grid-template-columns:.9fr 1.4fr;gap:80px;background:#ecece8}.calculator-panel{padding:24px;background:var(--ipv4-paper);border:1px solid var(--ipv4-line)}.calculator-panel label{display:block;margin-bottom:8px;color:#777770;font:9px Courier New,monospace;text-transform:uppercase}.calculator-input{display:flex;gap:8px}.calculator-input input{min-width:0;flex:1;padding:12px;border:1px solid var(--ipv4-line);color:var(--ipv4-ink);background:#fff;font:14px Courier New,monospace;outline-color:var(--ipv4-orange)}.calculator-input button{display:inline-flex;align-items:center;gap:7px;padding:0 15px;color:#fff;background:var(--ipv4-orange);border:0;font-size:11px;font-weight:700;cursor:pointer}.calculator-input button:hover{background:#d83d0c}.calculator-error{color:#b42318;font-size:11px}.result-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:25px;background:var(--ipv4-line)}.result-summary div{padding:14px;background:#ecece8}.result-summary span{display:block;color:#777770;font:9px Courier New,monospace}.result-summary strong{display:block;margin-top:8px;font-size:22px;letter-spacing:-.05em}.result-table{margin-top:24px;border-top:1px solid var(--ipv4-line)}.result-table div{display:grid;grid-template-columns:110px 1fr 1.3fr;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--ipv4-line)}.result-table span,.result-table small{color:#777770;font-size:10px}.result-table strong{color:var(--ipv4-orange);font:12px Courier New,monospace}.result-table small{line-height:1.25}.binary-mask{display:flex;justify-content:space-between;gap:12px;margin-top:20px;color:#777770;font-size:10px}.binary-mask code{color:var(--ipv4-ink);font:10px Courier New,monospace}.cidr-table{margin-top:70px;border-top:1px solid var(--ipv4-line)}.cidr-table-head,.cidr-row{display:grid;grid-template-columns:.6fr 1fr .8fr 1.6fr;gap:18px;align-items:center}.cidr-table-head{padding:12px 0;color:#777770;font:9px Courier New,monospace}.cidr-row{min-height:58px;border-top:1px solid var(--ipv4-line)}.cidr-row strong{color:var(--ipv4-orange);font:18px Courier New,monospace}.cidr-row code,.cidr-row span{font:11px Courier New,monospace}.cidr-row p{margin:0;color:#777770;font-size:11px}.vlsm-section{display:grid;grid-template-columns:.8fr 1.5fr;gap:90px;background:#ecece8}.vlsm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ipv4-line)}.vlsm-grid article{min-height:240px;padding:20px;background:var(--ipv4-paper)}.vlsm-grid article:nth-child(2){background:#e3e3de}.vlsm-grid article:nth-child(3){color:#fff;background:var(--ipv4-orange)}.vlsm-grid article>span{display:block;margin-bottom:48px;color:var(--ipv4-orange);font:9px Courier New,monospace}.vlsm-grid article:nth-child(3)>span{color:#76250f}.vlsm-grid svg{margin-bottom:18px;color:var(--ipv4-orange)}.vlsm-grid article:nth-child(3) svg{color:#fff}.vlsm-grid h3{margin:0 0 7px;font-size:17px;letter-spacing:-.04em}.vlsm-grid p{max-width:190px;margin:0;color:#6b6b64;font-size:11px;line-height:1.4}.vlsm-grid article:nth-child(3) p{color:#76250f}.vlsm-calculator{margin-top:50px;padding:24px;background:var(--ipv4-paper);border:1px solid var(--ipv4-line)}.vlsm-inputs>label{display:block;margin-bottom:8px;color:#777770;font:9px Courier New,monospace;text-transform:uppercase}.vlsm-inputs>input{width:100%;padding:11px;border:1px solid var(--ipv4-line);color:var(--ipv4-ink);background:#fff;font:13px Courier New,monospace;outline-color:var(--ipv4-orange)}.vlsm-inputs>span{display:block;margin:10px 0 18px;color:#777770;font-size:11px}.vlsm-requirements{border-top:1px solid var(--ipv4-line)}.vlsm-requirement{display:grid;grid-template-columns:1fr 130px 34px;gap:8px;padding:8px 0;border-bottom:1px solid var(--ipv4-line)}.vlsm-requirement input{min-width:0;padding:9px;border:1px solid var(--ipv4-line);color:var(--ipv4-ink);background:#fff;font-size:12px}.vlsm-requirement input[type=number]{font-family:Courier New,monospace}.vlsm-requirement button{display:grid;place-items:center;border:0;color:#777770;background:transparent;cursor:pointer}.vlsm-requirement button:hover{color:#b42318}.vlsm-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.vlsm-add,.vlsm-run{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border:0;font-size:11px;font-weight:700;cursor:pointer}.vlsm-add{color:var(--ipv4-ink);background:#e5e5e0}.vlsm-run{color:#fff;background:var(--ipv4-orange)}.vlsm-error{margin:14px 0 0;color:#b42318;font-size:11px}.vlsm-results{margin-top:26px;border-top:1px solid var(--ipv4-line)}.vlsm-results-head,.vlsm-result-row{display:grid;grid-template-columns:1.1fr .6fr 1.2fr 1.2fr;gap:14px;align-items:center}.vlsm-results-head{padding:11px 0;color:#777770;font:9px Courier New,monospace}.vlsm-result-row{min-height:66px;border-top:1px solid var(--ipv4-line)}.vlsm-result-row strong{font-size:12px}.vlsm-result-row strong small,.vlsm-result-row span small{display:block;margin-top:4px;color:#777770;font:9px Courier New,monospace}.vlsm-result-row code{color:var(--ipv4-orange);font:14px Courier New,monospace}.vlsm-result-row>span{color:#55554f;font:10px/1.4 Courier New,monospace}.drill-section{display:grid;grid-template-columns:.85fr 1.5fr;gap:80px}.drill-panel{padding:24px;background:#ecece8;border:1px solid var(--ipv4-line)}.drill-top{display:flex;align-items:center;gap:15px;color:#777770;font:9px Courier New,monospace}.drill-top strong{color:var(--ipv4-orange);font-size:12px}.drill-top button{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:7px 10px;border:1px solid var(--ipv4-line);color:var(--ipv4-ink);background:transparent;font-size:10px;cursor:pointer}.drill-question{margin:38px 0 24px;font-size:18px;line-height:1.2;letter-spacing:-.03em}.drill-question strong{color:var(--ipv4-orange);font-family:Courier New,monospace}.drill-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.drill-fields label{display:flex;flex-direction:column;gap:7px;color:#777770;font:9px Courier New,monospace;text-transform:uppercase}.drill-fields input{padding:10px;border:1px solid var(--ipv4-line);color:var(--ipv4-ink);background:#fff;font:12px Courier New,monospace;outline-color:var(--ipv4-orange)}.drill-check{display:inline-flex;align-items:center;gap:7px;margin-top:22px;padding:11px 14px;color:#fff;background:var(--ipv4-orange);border:0;font-size:11px;font-weight:700;cursor:pointer}.drill-feedback{margin:15px 0 0;color:#b42318;font-size:11px}.drill-feedback.correct{color:#14783c}.ipv4-next{display:flex;align-items:end;justify-content:space-between;padding:110px clamp(28px,6vw,100px) 130px;background:var(--ipv4-orange)}.ipv4-next h2{margin-bottom:0;font-size:clamp(3rem,6vw,6.5rem)}.ipv4-button{display:inline-flex;align-items:center;gap:24px;padding:14px 17px;color:#fff!important;background:var(--ipv4-ink);font-size:11px;font-weight:600}.ipv4-button svg{transition:transform .2s ease}.ipv4-button:hover svg{transform:translate(4px)}@media(max-width:720px){.ipv4-nav{padding:0 18px}.ipv4-nav>span:nth-child(2){display:none}.ipv4-hero{display:block;padding:76px 20px 70px}.ipv4-hero h1{font-size:clamp(3.2rem,15vw,5rem)}.ipv4-hero-illustration{margin-top:45px}.ipv4-hero-illustration img{min-height:220px}.ipv4-section{padding:70px 20px}.address-parts,.calculator-section,.vlsm-section,.bit-section,.drill-section{display:block}.address-parts article{min-height:170px;border-bottom:1px solid var(--ipv4-line)}.address-parts article:last-child{border-bottom:0}.address-parts strong{margin-bottom:35px}.binary-note{display:block}.binary-note code{display:block;margin:14px 0;font-size:11px}.calculator-panel,.bit-panel,.drill-panel{margin-top:35px;padding:17px}.bit-legend strong{width:100%;margin-left:0}.calculator-input{display:block}.calculator-input button{width:100%;justify-content:center;min-height:42px;margin-top:8px}.result-summary{grid-template-columns:1fr}.result-table div{grid-template-columns:1fr 1fr}.result-table small{grid-column:1 / -1}.binary-mask{display:block}.binary-mask code{display:block;margin-top:8px}.cidr-table{overflow-x:auto}.cidr-table-head,.cidr-row{min-width:650px}.vlsm-grid{display:block;margin-top:35px}.vlsm-grid article{min-height:170px;border-bottom:1px solid var(--ipv4-line)}.vlsm-grid article:last-child{border-bottom:0}.vlsm-grid article>span{margin-bottom:25px}.vlsm-calculator{margin-top:35px;padding:17px}.vlsm-requirement{grid-template-columns:1fr 82px 28px}.vlsm-actions{display:grid;grid-template-columns:1fr}.vlsm-add,.vlsm-run{justify-content:center}.vlsm-results{overflow-x:auto}.vlsm-results-head,.vlsm-result-row{min-width:620px}.ipv4-next{display:block;padding:80px 20px 90px}.ipv4-button{margin-top:35px}}.routing-page{--routing-ink: #171717;--routing-paper: #f7f7f4;--routing-line: #d9d9d4;--routing-orange: #ff4b12;min-height:100vh;color:var(--routing-ink);background:var(--routing-paper);font-family:Arial,Helvetica,sans-serif}.routing-page,.routing-page *{box-sizing:border-box}.routing-page a{color:inherit;text-decoration:none}.routing-nav{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 24px;border-bottom:1px solid var(--routing-line);color:#777770;font:9px Courier New,monospace}.routing-back{display:inline-flex;align-items:center;gap:8px;color:var(--routing-ink)!important;font:600 10px Arial,sans-serif}.routing-back:hover{color:var(--routing-orange)!important}.routing-eyebrow{display:block;color:#777770;font:9px/1.2 Courier New,monospace;letter-spacing:.04em}.routing-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:center;max-width:1440px;margin:0 auto;padding:100px clamp(28px,5vw,80px) 90px;border-bottom:1px solid var(--routing-line)}.routing-hero h1,.routing-heading h2,.routing-next h2{margin:22px 0 26px;font-size:clamp(3.4rem,7vw,7.2rem);line-height:.88;letter-spacing:-.075em}.routing-hero h1 em,.routing-heading h2 em,.routing-next h2 em{font-style:normal;font-weight:400}.routing-hero p,.routing-heading>p{max-width:400px;color:#63635d;font-size:14px;line-height:1.4}.routing-hero-illustration{margin:0;overflow:hidden;background:transparent}.routing-hero-illustration img{display:block;width:100%;min-height:360px;object-fit:contain}.routing-section{max-width:1440px;margin:0 auto;padding:100px clamp(28px,6vw,100px);border-bottom:1px solid var(--routing-line)}.routing-concept{background:#ecece8}.routing-concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:70px;background:var(--routing-line)}.routing-concept-grid article{min-height:235px;padding:22px;background:var(--routing-paper)}.routing-concept-grid article:nth-child(2){background:#e2e2dd}.routing-concept-grid article:nth-child(3){color:#fff;background:var(--routing-orange)}.routing-concept-grid article>span{display:block;margin-bottom:50px;color:var(--routing-orange);font:9px Courier New,monospace}.routing-concept-grid article:nth-child(3)>span{color:#76250f}.routing-concept-grid svg{margin-bottom:18px;color:var(--routing-orange)}.routing-concept-grid article:nth-child(3) svg{color:#fff}.routing-concept-grid h3{margin:0 0 8px;font-size:18px;letter-spacing:-.04em}.routing-concept-grid p{max-width:230px;margin:0;color:#6b6b64;font-size:11px;line-height:1.4}.routing-concept-grid article:nth-child(3) p{color:#76250f}.topology-section{display:flex;flex-direction:column;gap:36px;background:#f4f4f0}.topology-section .routing-heading>p{max-width:680px}.lab-topology-container{display:flex;flex-direction:column;border:1px solid var(--routing-line);background:var(--routing-paper);box-shadow:0 4px 20px #00000008}.lab-topo-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:16px 24px;border-bottom:1px solid var(--routing-line);background:#ebebe6}.lab-topo-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lab-topo-label{font:700 9px Courier New,monospace;color:#777770;letter-spacing:.06em}.lab-topo-btn-group{display:inline-flex;border:1px solid var(--routing-line);background:#fff}.lab-topo-btn{padding:7px 14px;border:0;border-right:1px solid var(--routing-line);background:transparent;font:600 11px Arial,sans-serif;color:var(--routing-ink);cursor:pointer;transition:all .15s ease}.lab-topo-btn:last-child{border-right:0}.lab-topo-btn:hover:not(:disabled){background:#f0f0ec}.lab-topo-btn.is-active{background:var(--routing-ink);color:#fff}.lab-topo-btn:disabled{opacity:.5;cursor:not-allowed}.lab-topo-status-badge{display:flex;align-items:center}.badge-route-wrapper{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.badge-route{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font:700 10px Courier New,monospace;letter-spacing:.02em;border:1px solid transparent}.badge-route.success{background:#e8f5e9;color:#1b5e20;border-color:#a5d6a7}.badge-route.danger{background:#ffebee;color:#c62828;border-color:#ef9a9a}.btn-quick-add-route{display:inline-flex;align-items:center;padding:6px 12px;background:var(--routing-orange);color:#fff;border:0;font:700 10px Arial,sans-serif;cursor:pointer;transition:opacity .15s ease}.btn-quick-add-route:hover{opacity:.88}.lab-topo-canvas{display:flex;flex-direction:column;gap:24px;padding:36px 28px 28px;background:#fafaf8;overflow-x:auto}.lab-topo-flow{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:860px}.topo-device-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:20px 14px 16px;background:#fff;border:1px solid var(--routing-line);box-shadow:0 2px 8px #00000005;transition:all .25s ease}.device-pc1,.device-server{width:150px;flex-shrink:0}.device-r1,.device-r2{width:200px;flex-shrink:0}.topo-device-card.active-sender{border-color:var(--routing-orange);box-shadow:0 0 0 3px #ff4b122e}.topo-device-card.active-processing{border-color:var(--routing-orange);box-shadow:0 0 0 3px #ff4b1240;animation:pulseDevice 1.2s infinite}.topo-device-card.active-dropped{border-color:#c62828;box-shadow:0 0 0 3px #c6282840}.topo-device-card.active-target{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d3240}@keyframes pulseDevice{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.device-icon-box{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:10px;background:#f5f5f0;border:1px solid var(--routing-line);color:var(--routing-ink)}.device-icon-box.router-box{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.device-icon-box.server-box{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.device-name{font-size:13px;font-weight:700;color:var(--routing-ink);margin-bottom:3px}.device-ip{font:11px Courier New,monospace;color:var(--routing-orange);font-weight:600}.device-gw{margin-top:2px;font:9px Courier New,monospace;color:#777770}.device-network-tag{display:inline-block;margin-top:8px;padding:2px 6px;background:#f4f4f0;border:1px solid var(--routing-line);font:8px Courier New,monospace;color:#555550}.device-ports{display:flex;justify-content:space-between;width:100%;margin-top:10px;padding-top:8px;border-top:1px dashed var(--routing-line);font:9px Courier New,monospace;color:#666660}.port-item.left{text-align:left}.port-item.right{text-align:right}.device-routing-status{width:100%;margin-top:8px}.lookup-pill{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:4px 6px;font:700 8px Courier New,monospace;background:#fff8e1;color:#b78103;border:1px solid #ffe082}.lookup-pill.drop{background:#ffebee;color:#c62828;border-color:#ef9a9a}.spin-fast{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.route-info{display:block;padding:3px 6px;font:700 8px Courier New,monospace;text-align:center}.route-info.active{color:#166534;background:#dcfce7;border:1px solid #86efac}.route-info.inactive{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.topo-link-segment{flex:1;min-width:80px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 4px}.topo-link-segment.link-wan{flex:1.35;min-width:120px}.cable-line{position:relative;width:100%;height:3px;background:var(--routing-line);transition:background .3s ease}.cable-line.wan-cable{height:5px;background:#d4d4cb;border-top:1px dashed #888880;border-bottom:1px dashed #888880}.cable-line.cable-active{background:var(--routing-orange)}.link-label{font:8px Courier New,monospace;color:#777770;white-space:nowrap;letter-spacing:.02em}.flowing-packet{position:absolute;top:-14px;transform:translate(-50%);display:inline-flex;align-items:center;padding:3px 8px;border-radius:12px;font:700 9px Courier New,monospace;white-space:nowrap;pointer-events:none;z-index:10}.packet-forward{background:var(--routing-orange);color:#fff;animation:packetFlowForward .9s cubic-bezier(.4,0,.2,1) infinite;box-shadow:0 2px 8px #ff4b1266}.packet-reply{background:#15803d;color:#fff;animation:packetFlowReply .9s cubic-bezier(.4,0,.2,1) infinite;box-shadow:0 2px 8px #15803d66}@keyframes packetFlowForward{0%{left:0%;opacity:0}15%{opacity:1}85%{opacity:1}to{left:100%;opacity:0}}@keyframes packetFlowReply{0%{left:100%;opacity:0}15%{opacity:1}85%{opacity:1}to{left:0%;opacity:0}}.lab-packet-inspector{display:flex;flex-direction:column;gap:10px;padding:16px 20px;background:#171717;border:1px solid #333330;color:#fff}.inspector-header{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid #292929;color:var(--routing-orange);font:700 10px Courier New,monospace;letter-spacing:.06em}.inspector-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.insp-item{display:flex;flex-direction:column;gap:4px}.insp-item small{font:700 9px Courier New,monospace;color:#888880;letter-spacing:.04em;text-transform:uppercase}.insp-item code{font:11px Courier New,monospace;color:#38bdf8;word-break:break-all}.lab-cli-output{display:flex;flex-direction:column;border:1px solid #333330;background:#0d0d0d}.cli-bar{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid #262626;background:#1a1a1a;color:#b2b2aa;font:10px Courier New,monospace}.lab-cli-output pre{margin:0;padding:16px 20px;color:#deded8;font:11px/1.6 Courier New,monospace;white-space:pre-wrap;max-height:200px;overflow-y:auto}.lab-topo-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-top:1px solid var(--routing-line);background:#ebebe6;flex-wrap:wrap}.lab-topo-narration{display:flex;align-items:center;gap:12px;flex:1;min-width:280px}.status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:#888880}.status-dot.active{background:var(--routing-orange);animation:pulseDot 1s infinite alternate}.status-dot.success{background:#16a34a}.status-dot.danger{background:#dc2626}@keyframes pulseDot{0%{transform:scale(.9);opacity:.6}to{transform:scale(1.3);opacity:1}}.lab-topo-narration p{margin:0;font-size:13px;line-height:1.45;color:var(--routing-ink);font-weight:500}.lab-topo-actions{display:flex;align-items:center;gap:10px}.lab-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border:0;background:var(--routing-orange);color:#fff;font:700 11px Arial,sans-serif;cursor:pointer;transition:all .15s ease}.lab-btn-primary:hover{background:#e03e09}.lab-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border:0;background:#242422;color:#fff;font:700 11px Arial,sans-serif;cursor:pointer;transition:all .15s ease}.lab-btn-secondary:hover{background:#3b3b38}.interface-section{display:grid;grid-template-columns:.85fr 1.5fr;gap:80px;background:#ecece8}.interface-panel{padding:24px;background:var(--routing-paper);border:1px solid var(--routing-line)}.interface-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.interface-form label{display:flex;flex-direction:column;gap:7px;color:#777770;font:9px Courier New,monospace;text-transform:uppercase}.interface-form input{min-width:0;padding:10px;border:1px solid var(--routing-line);color:var(--routing-ink);background:#fff;font:12px Courier New,monospace;outline-color:var(--routing-orange)}.interface-form label:nth-child(3){grid-column:1 / 2}.interface-form button{align-self:end;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:37px;padding:0 13px;color:#fff;background:var(--routing-orange);border:0;font-size:10px;font-weight:700;cursor:pointer}.interface-list{margin-top:28px;border-top:1px solid var(--routing-line)}.interface-row{display:grid;grid-template-columns:10px 1.1fr 1.1fr 1fr .7fr;gap:12px;align-items:center;min-height:56px;border-bottom:1px solid var(--routing-line);font-size:10px}.interface-row code{color:var(--routing-orange);font:10px Courier New,monospace}.interface-row>span:not(.interface-status){color:#777770}.interface-row small{color:#14783c;font:9px Courier New,monospace}.interface-status{width:7px;height:7px;border-radius:50%;background:#14783c}.interface-status.disabled{background:#b42318}.route-table-section{display:grid;grid-template-columns:.85fr 1.5fr;gap:80px;background:#ecece8}.route-panel{padding:24px;background:var(--routing-paper);border:1px solid var(--routing-line)}.route-form{display:grid;grid-template-columns:1fr 1fr 100px auto;gap:10px;align-items:end}.route-form label{display:flex;flex-direction:column;gap:7px;color:#777770;font:9px Courier New,monospace;text-transform:uppercase}.route-form input{min-width:0;padding:10px;border:1px solid var(--routing-line);color:var(--routing-ink);background:#fff;font:12px Courier New,monospace;outline-color:var(--routing-orange)}.route-form button{display:inline-flex;align-items:center;gap:7px;height:37px;padding:0 13px;color:#fff;background:var(--routing-orange);border:0;font-size:10px;font-weight:700;cursor:pointer}.route-table{margin-top:28px;border-top:1px solid var(--routing-line)}.route-table-head,.route-row{display:grid;grid-template-columns:1.3fr 1.1fr 1.1fr .8fr;gap:12px;align-items:center}.route-table-head{padding:10px 0;color:#777770;font:9px Courier New,monospace}.route-row{min-height:50px;border-top:1px solid var(--routing-line);color:#65655e;font-size:10px}.route-row code{color:var(--routing-orange);font:10px Courier New,monospace}.route-success{display:flex;align-items:center;gap:7px;margin:20px 0 0;color:#14783c;font-size:11px}.lookup-section{display:grid;grid-template-columns:.85fr 1.5fr;gap:80px}.lookup-panel{align-self:center;padding:24px;background:#ecece8;border:1px solid var(--routing-line)}.lookup-panel>label{display:block;margin-bottom:8px;color:#777770;font:9px Courier New,monospace;text-transform:uppercase}.lookup-input{display:flex;align-items:center;gap:12px}.lookup-input input{width:180px;padding:11px;border:1px solid var(--routing-line);color:var(--routing-ink);background:#fff;font:12px Courier New,monospace;outline-color:var(--routing-orange)}.lookup-input>span{color:var(--routing-orange);font-size:18px}.lookup-input strong{color:var(--routing-orange);font:12px Courier New,monospace}.lookup-result,.lookup-error{display:flex;align-items:flex-start;gap:8px;margin:24px 0 0;padding-top:18px;border-top:1px solid var(--routing-line);color:#14783c;font-size:12px;line-height:1.35}.lookup-result p{margin:0}.lookup-result svg{flex:0 0 auto}.lookup-error{color:#b42318}.terminal-section{background:#171717;color:#fff}.terminal-section .routing-eyebrow{color:#96968e}.terminal-section .routing-heading h2{color:#fff}.terminal-panel{max-width:760px;margin-top:65px;border:1px solid #3b3b38;background:#0d0d0d}.terminal-title{display:flex;align-items:center;gap:8px;padding:12px 15px;border-bottom:1px solid #3b3b38;color:#b2b2aa;font:10px Courier New,monospace}.terminal-title svg{color:var(--routing-orange)}.terminal-title span{margin-left:auto;color:#76250f}.terminal-panel pre{min-height:250px;max-height:350px;overflow:auto;margin:0;padding:18px;color:#deded8;font:11px/1.55 Courier New,monospace;white-space:pre-wrap}.terminal-input{display:flex;gap:9px;padding:12px 15px;border-top:1px solid #3b3b38;color:var(--routing-orange);font:12px Courier New,monospace}.terminal-input input{flex:1;min-width:0;color:#fff;background:transparent;border:0;outline:0;font:inherit}.terminal-input input::placeholder{color:#66665f}.command-chips{display:flex;flex-wrap:wrap;gap:8px;max-width:760px;margin-top:15px}.command-chips button{padding:7px 10px;color:#b2b2aa;background:#242422;border:1px solid #3b3b38;font:10px Courier New,monospace;cursor:pointer}.command-chips button:hover{color:#fff;border-color:var(--routing-orange)}.diagnostic-section{display:grid;grid-template-columns:.85fr 1.5fr;gap:80px;background:#ecece8}.diagnostic-panel{padding:24px;background:var(--routing-paper);border:1px solid var(--routing-line)}.diagnostic-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--routing-line)}.diagnostic-steps button{display:flex;flex-direction:column;align-items:flex-start;min-height:150px;padding:17px;border:0;text-align:left;background:var(--routing-paper);cursor:pointer}.diagnostic-steps button:nth-child(2){background:#e3e3de}.diagnostic-steps button:nth-child(3){color:#fff;background:var(--routing-orange)}.diagnostic-steps button:hover{outline:2px solid var(--routing-orange);outline-offset:-2px}.diagnostic-steps span{margin-bottom:auto;color:var(--routing-orange);font:9px Courier New,monospace}.diagnostic-steps button:nth-child(3) span{color:#76250f}.diagnostic-steps strong{font-size:14px}.diagnostic-steps small{margin-top:7px;color:#777770;font:9px Courier New,monospace}.diagnostic-steps button:nth-child(3) small{color:#76250f}.diagnostic-output{display:flex;align-items:flex-start;gap:8px;margin-top:20px;padding:14px;color:#14783c;background:#e6f4eb;font-size:11px;line-height:1.35}.diagnostic-output.is-error{color:#b42318;background:#fcebea}.routing-next{display:flex;align-items:end;justify-content:space-between;padding:110px clamp(28px,6vw,100px) 130px;background:var(--routing-orange)}.routing-next h2{margin-bottom:0;font-size:clamp(3rem,6vw,6.5rem)}.routing-button{display:inline-flex;align-items:center;gap:24px;padding:14px 17px;color:#fff!important;background:var(--routing-ink);font-size:11px;font-weight:600}.routing-button svg{transition:transform .2s ease}.routing-button:hover svg{transform:translate(4px)}@media(prefers-reduced-motion:reduce){.routing-link.is-running i{animation:none}}@media(max-width:720px){.routing-nav{padding:0 18px}.routing-nav>span:nth-child(2){display:none}.routing-hero{display:block;padding:76px 20px 70px}.routing-hero h1{font-size:clamp(3.2rem,15vw,5rem)}.routing-hero-illustration{margin-top:45px}.routing-hero-illustration img{min-height:240px}.routing-section{padding:70px 20px}.routing-concept-grid,.interface-section,.route-table-section,.lookup-section,.diagnostic-section{display:block}.topology-section{display:flex;flex-direction:column;gap:24px}.lab-topo-toolbar{padding:14px 16px}.lab-topo-btn-group{width:100%;overflow-x:auto}.lab-topo-btn{flex:1;text-align:center;padding:7px 8px;font-size:10px;white-space:nowrap}.lab-topo-canvas{padding:20px 14px}.inspector-grid{grid-template-columns:repeat(2,1fr)}.lab-topo-footer{padding:14px 16px;flex-direction:column;align-items:stretch}.lab-topo-actions{width:100%}.lab-btn-primary,.lab-btn-secondary{width:100%;justify-content:center}.routing-concept-grid article{min-height:180px;border-bottom:1px solid var(--routing-line)}.routing-concept-grid article:last-child{border-bottom:0}.routing-concept-grid article>span{margin-bottom:30px}.interface-panel{margin-top:35px;padding:17px}.interface-form{grid-template-columns:1fr}.interface-form label:nth-child(3){grid-column:auto}.interface-form button{margin-top:3px}.interface-list{overflow-x:auto}.interface-row{min-width:620px}.route-panel{margin-top:35px;padding:17px}.route-form{grid-template-columns:1fr}.route-form button{justify-content:center}.route-table{overflow-x:auto}.route-table-head,.route-row{min-width:570px}.lookup-panel,.diagnostic-panel{margin-top:35px;padding:17px}.lookup-input{flex-wrap:wrap}.lookup-input input,.lookup-input strong{width:100%}.terminal-panel{margin-top:35px}.diagnostic-steps{display:block}.diagnostic-steps button{min-height:120px;border-bottom:1px solid var(--routing-line)}.diagnostic-steps button:last-child{border-bottom:0}.routing-next{display:block;padding:80px 20px 90px}.routing-button{margin-top:35px}}
