/*! 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;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@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}.inline{display:inline}.inline-block{display:inline-block}.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)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-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}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.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:260px 340px;max-width:1180px;margin:0 auto}.hero-copy{position:relative;z-index:2;padding:72px 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:center;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:cover;object-position:center}.hero-news{display:flex;flex-direction:column;justify-content:space-between;padding:42px 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}.hero-signal{display:grid;grid-template-columns:28px 1fr;gap:3px 9px;margin-top:20px;color:#74746e;font-size:10px}.hero-signal strong{color:var(--orange);font:11px Courier New,monospace}.hero-signal span{align-self:center}.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:250px;padding:70px 20px 35px;border-right:0}.hero-aside{min-height:160px;padding:24px 20px}.hero-art{height:auto;aspect-ratio:1.5}.hero-news{min-height:180px;padding:30px 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}}.learning-dashboard{display:grid;grid-template-columns:1fr 1.1fr .9fr;max-width:1180px;margin:0 auto;border-bottom:1px solid var(--line)}.dashboard-intro,.resume-card,.learning-stats{padding:58px 22px}.dashboard-intro{background:#ecece8;border-right:1px solid var(--line)}.dashboard-intro h2,.competency-section h2,.mission-section h2,.roadmap-section h2{margin:20px 0;font-size:clamp(2.4rem,4.5vw,4.7rem);line-height:.9;letter-spacing:-.07em}.dashboard-intro h2 em,.competency-section h2 em,.mission-section h2 em,.roadmap-section h2 em{font-style:normal;font-weight:400}.dashboard-intro p{max-width:255px;margin:0;color:#676761;font-size:12px;line-height:1.4}.resume-card{border-right:1px solid var(--line);background:var(--ink);color:#fff}.resume-card-head{display:flex;justify-content:space-between;color:#bcbcb4;font:9px Courier New,monospace}.resume-card-head strong{color:var(--orange);font-size:14px}.resume-progress{height:5px;margin:16px 0 9px;background:#3b3b39}.resume-progress i{display:block;height:100%;background:var(--orange)}.resume-card small{color:#aaa9a3;font-size:10px}.resume-card h3{margin:40px 0 8px;font-size:19px;letter-spacing:-.05em}.resume-card p{min-height:36px;margin:0;color:#b8b8b1;font-size:11px;line-height:1.35}.resume-card a{display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding-bottom:5px;border-bottom:1px solid var(--orange);color:#fff;font-size:11px}.learning-stats{display:grid;gap:1px;padding:0;background:var(--line)}.learning-stats div{display:grid;grid-template-columns:32px 48px 1fr;align-items:center;padding:0 22px;background:#f1f1ed}.learning-stats svg{color:var(--orange)}.learning-stats strong{font-size:21px;letter-spacing:-.06em}.learning-stats span{color:#6d6d67;font-size:11px}.module-row{position:relative;display:block;min-height:86px}.module-main{display:grid;grid-template-columns:70px 1fr 1fr 145px 20px;align-items:center;gap:16px;min-height:86px;padding-right:54px}.module-row.is-completed{background:#eef4eb}.module-row.is-completed .module-code{color:#1e7940}.module-main small{color:#8a8a83;font:9px Courier New,monospace}.completion-toggle{position:absolute;top:calc(50% - 15px);right:0;display:grid;place-items:center;width:30px;height:30px;color:#1e7940;border:1px solid var(--line);background:transparent}.completion-toggle>span{width:10px;height:10px;border:1px solid #9a9a94;border-radius:50%}.competency-section,.mission-section,.roadmap-section{max-width:1180px;margin:0 auto;padding:102px 22px;border-bottom:1px solid var(--line)}.competency-section{display:grid;grid-template-columns:.85fr 1.5fr;gap:90px;background:#ecece8}.competency-map{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.competency-map div{display:flex;min-height:150px;flex-direction:column;align-items:flex-start;padding:18px;background:var(--paper)}.competency-map svg{margin-bottom:auto;color:var(--orange)}.competency-map strong{margin-bottom:6px;font-size:14px}.competency-map span{color:#72726c;font-size:11px;line-height:1.35}.mission-section{background:#f7f7f4}.mission-intro{max-width:270px;margin:0;color:#676761;font-size:12px;line-height:1.4}.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:60px;background:var(--line)}.mission-grid a{position:relative;min-height:240px;padding:20px;background:var(--paper)}.mission-grid a:nth-child(2){background:#ecece8}.mission-grid a:nth-child(3){color:#fff;background:var(--orange)}.mission-grid span{color:var(--orange);font:9px Courier New,monospace}.mission-grid a:nth-child(3) span,.mission-grid a:nth-child(3) p{color:#76250f}.mission-grid h3{margin:52px 0 9px;font-size:19px;letter-spacing:-.05em}.mission-grid p{max-width:210px;color:#6e6e68;font-size:11px;line-height:1.4}.mission-grid svg{position:absolute;right:20px;bottom:20px}.roadmap-section{display:grid;grid-template-columns:.85fr 1.5fr;gap:90px;background:var(--ink);color:#fff}.roadmap-section .eyebrow{color:#a7a7a0}.roadmap-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#3d3d39}.roadmap-list div{min-height:145px;padding:18px;background:#252523}.roadmap-list span{color:var(--orange);font:9px Courier New,monospace}.roadmap-list strong{display:block;margin:27px 0 6px;font-size:14px}.roadmap-list p{margin:0;color:#a4a4a0;font-size:10px;line-height:1.35}@media(max-width:720px){.learning-dashboard,.competency-section,.roadmap-section{display:block}.dashboard-intro,.resume-card{border-right:0;border-bottom:1px solid var(--line)}.learning-stats{min-height:220px}.module-main{grid-template-columns:54px 1fr 18px;gap:10px;padding-right:44px}.module-main p,.module-main small{display:none}.competency-map,.mission-grid,.roadmap-list{display:block}.competency-map div,.mission-grid a,.roadmap-list div{border-bottom:1px solid var(--line)}.mission-intro{margin-top:28px}.mission-grid{margin-top:42px}}.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}.lab-topo-flow.is-direct{min-width:640px;justify-content:flex-start}.topo-link-segment.link-direct{flex:1.2;min-width:110px}.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}.interface-toggle{justify-self:start;padding:5px 7px;color:#14783c;background:transparent;border:1px solid var(--routing-line);font:8px Courier New,monospace;cursor:pointer}.interface-toggle:hover{color:#fff;background:var(--routing-orange);border-color:var(--routing-orange)}.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}}.vlan-page{--vlan-ink: #191a18;--vlan-paper: #f5f5f0;--vlan-muted: #70726b;--vlan-line: #d8d9d1;--vlan-orange: #ff4b12;min-height:100vh;color:var(--vlan-ink);background:var(--vlan-paper);font-family:Arial,Helvetica,sans-serif}.vlan-page,.vlan-page *{box-sizing:border-box}.vlan-page button,.vlan-page input,.vlan-page select{font:inherit}.vlan-page button{cursor:pointer}.vlan-page a{color:inherit;text-decoration:none}.vlan-nav{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 25px;border-bottom:1px solid var(--vlan-line);color:var(--vlan-muted);font:9px Courier New,monospace}.vlan-back{display:inline-flex;align-items:center;gap:8px;color:var(--vlan-ink)!important;font:600 10px Arial,sans-serif}.vlan-back:hover{color:var(--vlan-orange)!important}.vlan-nav-links{display:inline-flex;align-items:center;gap:16px}.vlan-nav-links a{color:var(--vlan-muted);font:9px Courier New,monospace;text-decoration:underline;text-underline-offset:3px}.vlan-nav-links a:hover{color:var(--vlan-orange)}.vlan-kicker{color:var(--vlan-muted);font:9px/1.3 Courier New,monospace;letter-spacing:.08em}.vlan-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,500px);gap:80px;align-items:center;max-width:1440px;margin:auto;padding:108px clamp(28px,7vw,112px) 96px;border-bottom:1px solid var(--vlan-line)}.vlan-intro h1,.vlan-section-title h2,.quiz-section h2,.vlan-next h2{margin:22px 0 26px;font-size:clamp(3.1rem,6.5vw,7rem);line-height:.88;letter-spacing:-.08em}.vlan-intro h1 em,.vlan-section-title h2 em,.quiz-section h2 em,.vlan-next h2 em{font-style:normal;font-weight:400}.vlan-intro p,.vlan-section-title>p{max-width:450px;color:#62645e;font-size:14px;line-height:1.45}.segment-map{padding:19px;border:1px solid var(--vlan-line);background:#e9e9e3}.segment-map-title{margin-bottom:10px;color:var(--vlan-muted);font:9px Courier New,monospace;display:flex;justify-content:space-between;align-items:center}.segment-row{display:grid;grid-template-columns:83px 1.1fr 1.6fr;gap:10px;align-items:center;min-height:54px;padding:0 13px;border-bottom:1px solid rgba(0,0,0,.08);position:relative}.segment-row:last-child{border-bottom:0}.segment-row strong,.segment-row span{font:700 11px Courier New,monospace}.segment-row small{color:#6d6e67;font-size:10px}.segment-row small code{display:block;font-family:Courier New,monospace;font-size:9px;color:inherit;opacity:.85}.segment-row.green{color:#216942;background:#dcebdd}.segment-row.blue{color:#244f76;background:#dce5ef}.segment-row.purple{color:#624676;background:#e8dfef}.segment-row.orange{color:#864125;background:#f5dfd3}.segment-row.teal{color:#1e5a59;background:#d8eceb}.vlan-section{max-width:1440px;margin:auto;padding:105px clamp(28px,7vw,112px);border-bottom:1px solid var(--vlan-line)}.vlan-principles{display:grid;grid-template-columns:.75fr 1.5fr;gap:75px;background:#e9e9e3}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;align-self:end;background:var(--vlan-line)}.principle-grid article{min-height:245px;padding:20px;background:var(--vlan-paper)}.principle-grid article:nth-child(2){background:#e0e1db}.principle-grid article:nth-child(3){color:#fff;background:var(--vlan-orange)}.principle-grid svg{width:23px;height:23px;margin:50px 0 17px;color:var(--vlan-orange);stroke-width:1.3}.principle-grid article:nth-child(3) svg{color:#fff}.principle-grid span{display:block;color:var(--vlan-muted);font:9px Courier New,monospace}.principle-grid article:nth-child(3) span{color:#76250f}.principle-grid h3{margin:0 0 8px;font-size:17px}.principle-grid p{max-width:210px;margin:0;color:#6c6e67;font-size:11px;line-height:1.4}.principle-grid article:nth-child(3) p{color:#76250f}.tag-section{display:grid;grid-template-columns:.75fr 1.5fr;gap:75px}.frame-inspector{padding:22px;background:#e9e9e3;border:1px solid var(--vlan-line)}.frame-selector{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:25px}.frame-selector button{padding:10px 13px;color:var(--vlan-muted);background:transparent;border:1px solid var(--vlan-line);font:11px Courier New,monospace;transition:all .15s ease}.frame-selector button small{display:block;margin-top:4px;font-size:8px}.frame-selector button.is-selected{color:#fff;background:var(--vlan-ink);border-color:var(--vlan-ink)}.frame-visual-wrap{overflow-x:auto;margin-bottom:20px;border:1px solid var(--vlan-line);background:#fff}.frame-visual{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr 1fr 1.2fr .6fr;min-width:600px;min-height:90px}.frame-visual>*{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 6px;border-right:1px solid var(--vlan-line);text-align:center;font:9px Courier New,monospace;gap:3px}.frame-visual>*:last-child{border-right:0}.frame-visual>b{color:var(--vlan-orange);background:#fff0e9}.frame-visual strong{font-size:10px}.frame-visual span{color:var(--vlan-muted)}.frame-notes{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:20px}.frame-notes div{display:flex;flex-direction:column;gap:7px}.frame-notes strong{font:10px Courier New,monospace}.frame-notes span{color:var(--vlan-muted);font-size:10px;line-height:1.35}.frame-detail-box{margin-top:18px;padding:12px 16px;background:#fbfbf9;border:1px solid var(--vlan-line);font:10px Courier New,monospace;color:var(--vlan-ink);line-height:1.6}.frame-detail-box span.accent{color:var(--vlan-orange);font-weight:700}.lab-section{background:#ecece7}.lab-section .vlan-section-title{max-width:600px}.vlan-lab{margin-top:58px}.vlan-topology-stage{border:1px solid var(--vlan-line);background:#fbfbf9;margin-bottom:24px;overflow:hidden}.topo-narration-bar{padding:16px 20px;background:var(--vlan-ink);color:#fff;border-bottom:1px solid #333}.topo-step-indicator{display:flex;align-items:center;gap:10px;margin-bottom:6px}.step-badge{padding:3px 8px;background:var(--vlan-orange);color:#fff;font:700 9px Courier New,monospace;letter-spacing:.05em;border-radius:2px}.step-badge.is-success{background:#216942}.step-badge.is-drop{background:#c93b1b}.step-title{font:700 12px Courier New,monospace;color:#e5e7e0}.step-narrative{margin:0;font-size:12px;line-height:1.45;color:#b5b8ad}.topo-visual-canvas{padding:24px 20px 20px;position:relative;background:#f4f4ee;overflow-x:auto}.topo-canvas-inner{min-width:760px;display:flex;flex-direction:column;gap:14px}.topo-router-row{display:flex;justify-content:center}.topo-router-device{width:360px;padding:12px 16px;background:var(--vlan-ink);color:#fff;border:1px solid #3d4039;box-shadow:0 4px 12px #00000014;position:relative;transition:all .25s ease}.topo-router-device.is-active{border-color:var(--vlan-orange);box-shadow:0 0 16px #ff4b1266}.topo-router-device.is-dropped{border-color:#c93b1b;box-shadow:0 0 16px #c93b1b80}.topo-device-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.topo-device-header small{display:block;font-size:9px;color:#9da095}.topo-router-device svg{color:var(--vlan-orange)}.topo-subif-chips{display:flex;flex-wrap:wrap;gap:5px}.subif-chip{padding:2px 7px;font:9px Courier New,monospace;border-radius:2px}.subif-chip.is-up{background:#235c38;color:#c9efd3}.subif-chip.is-down{background:#472620;color:#f7a694;opacity:.7}.subif-chip.is-pulsing{animation:pulse-border .6s infinite alternate;box-shadow:0 0 8px #ff4b12}.topo-vertical-cable-wrap{display:flex;flex-direction:column;align-items:center;position:relative;height:46px;justify-content:center}.topo-v-cable{width:4px;height:100%;background:#c5c7be;position:relative;transition:background .25s ease}.topo-v-cable.is-cable-active{background:var(--vlan-orange);box-shadow:0 0 10px #ff4b1299}.cable-tag{position:absolute;right:calc(50% + 12px);font:9px Courier New,monospace;color:var(--vlan-muted);white-space:nowrap}.topo-switch-row{display:grid;grid-template-columns:240px 1fr 240px;gap:16px;align-items:center}.topo-switch-device{padding:14px;background:var(--vlan-paper);border:1px solid var(--vlan-line);box-shadow:0 2px 8px #0000000a;position:relative;transition:all .25s ease}.topo-switch-device.is-active{border-color:var(--vlan-orange);box-shadow:0 0 14px #ff4b124d}.topo-switch-device.is-dropped{border-color:#c93b1b;box-shadow:0 0 14px #c93b1b66}.topo-switch-device .topo-device-header strong{font-size:13px}.topo-switch-device .topo-device-header svg{color:var(--vlan-orange)}.topo-port-indicators{display:flex;flex-direction:column;gap:4px;margin-top:10px}.port-indicator{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#ebebe5;border:1px solid var(--vlan-line);font:9px Courier New,monospace;color:var(--vlan-ink);transition:all .2s ease}.port-indicator.trunk-ind{background:#e6ddd5}.port-indicator.is-traffic{background:var(--vlan-orange);color:#fff;border-color:var(--vlan-orange)}.topo-trunk-link-container{display:flex;flex-direction:column;align-items:center;padding:10px 14px;background:#eaeae4;border:1px dashed #cbccbe;position:relative}.trunk-line-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font:9px Courier New,monospace}.trunk-badge{padding:2px 7px;background:var(--vlan-ink);color:#fff;border-radius:2px}.topo-trunk-cable{width:100%;height:6px;background:#c3c5bc;position:relative;margin:6px 0;transition:background .25s ease}.topo-trunk-cable.is-cable-active{background:var(--vlan-orange);box-shadow:0 0 10px #ff4b1299}.trunk-meta-footer{display:flex;justify-content:space-between;width:100%;font:8px Courier New,monospace;color:var(--vlan-muted);margin-top:4px}.topo-endpoints-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:10px}.endpoint-group{display:grid;grid-template-columns:1fr 1fr;gap:12px}.topo-endpoint-card{padding:12px;background:var(--vlan-paper);border:1px solid var(--vlan-line);position:relative;transition:all .25s ease}.topo-endpoint-card.is-src{border-color:var(--vlan-orange);background:#fff8f5}.topo-endpoint-card.is-dst{border-color:#216942;background:#f2f8f4}.topo-endpoint-card.is-active{box-shadow:0 0 12px #ff4b1259}.topo-endpoint-card.is-delivered{border-color:#216942;box-shadow:0 0 15px #21694280;background:#dceede}.ep-badge{display:inline-block;padding:1px 6px;background:var(--vlan-ink);color:#fff;font:700 8px Courier New,monospace;margin-bottom:6px;border-radius:2px}.topo-endpoint-card strong{display:block;font-size:12px;margin-bottom:2px}.topo-endpoint-card span{display:block;font:9px Courier New,monospace;color:var(--vlan-muted)}.topo-endpoint-card small{display:block;font-size:9px;color:#888;margin-top:4px}.topo-packet-pill{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--vlan-orange);color:#fff;border-radius:14px;font:700 9px Courier New,monospace;white-space:nowrap;box-shadow:0 3px 10px #ff4b1280;z-index:30;animation:pulse-packet .7s infinite alternate}.topo-packet-pill.is-untagged{background:#333630;box-shadow:0 3px 10px #0000004d}.topo-packet-pill.is-tagged{background:var(--vlan-orange)}.topo-packet-pill.is-routing{background:#624676;box-shadow:0 3px 10px #62467666}.topo-packet-pill.is-success{background:#216942;box-shadow:0 3px 10px #21694266}.topo-packet-pill.is-dropped{background:#c93b1b;box-shadow:0 3px 10px #c93b1b80}@keyframes pulse-packet{0%{transform:translate(-50%,-50%) scale(.96)}to{transform:translate(-50%,-50%) scale(1.04)}}@keyframes pulse-border{0%{opacity:.7}to{opacity:1}}.topo-control-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:14px 20px;background:#e9e9e3;border-top:1px solid var(--vlan-line)}.topo-control-source-dest{display:flex;align-items:center;gap:12px;font:9px Courier New,monospace}.topo-control-source-dest label{display:flex;align-items:center;gap:6px;color:var(--vlan-ink)}.topo-control-source-dest select{padding:6px 10px;border:1px solid var(--vlan-line);background:#fff;font-size:11px}.topo-btn-actions{display:flex;align-items:center;gap:8px}.btn-start-anim{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;background:var(--vlan-orange);color:#fff;border:0;font:700 10px Courier New,monospace;cursor:pointer;transition:opacity .15s ease}.btn-start-anim:hover:not(:disabled){opacity:.9}.btn-start-anim:disabled{opacity:.5;cursor:not-allowed}.btn-reset-anim{display:inline-flex;align-items:center;gap:5px;padding:9px 14px;background:var(--vlan-paper);border:1px solid var(--vlan-line);color:var(--vlan-ink);font:10px Courier New,monospace;cursor:pointer}.port-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--vlan-line)}.port-card{min-height:178px;padding:16px;background:var(--vlan-paper)}.port-card.trunk{background:#e6ddd5}.port-card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.port-card-head strong{font:11px Courier New,monospace}.port-card-head span{color:var(--vlan-orange);font:9px Courier New,monospace;text-transform:uppercase}.port-target-hint{color:#63655e;font:9px Courier New,monospace;margin-bottom:8px;display:block}.port-card label{display:flex;flex-direction:column;gap:5px;margin-top:9px;color:var(--vlan-muted);font:9px Courier New,monospace}.port-card select,.packet-test select{padding:7px;border:1px solid var(--vlan-line);background:#fff;color:var(--vlan-ink);font-size:11px}.allowed-vlans{margin-top:10px;color:var(--vlan-muted);font:9px Courier New,monospace}.allowed-vlans div{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.allowed-vlans button{padding:5px 7px;border:1px solid var(--vlan-line);color:var(--vlan-muted);background:transparent;font:10px Courier New,monospace;transition:all .15s ease}.allowed-vlans button.allowed{color:#fff;background:var(--vlan-orange);border-color:var(--vlan-orange)}.vlan-create{display:flex;align-items:center;gap:8px;padding:12px 18px;background:#dfe0d9;color:var(--vlan-muted);font:9px Courier New,monospace}.vlan-create input{width:90px;padding:7px;border:1px solid #c5c6be;background:#fff;font:10px Courier New,monospace}.vlan-create input:nth-of-type(2){width:150px}.vlan-create button,.send-frame{padding:7px 11px;color:#fff;background:var(--vlan-orange);border:0;font:9px Courier New,monospace;transition:opacity .15s ease}.vlan-create button:hover,.send-frame:hover{opacity:.9}.vlan-create-msg{color:#a43a1b;margin-left:8px;font-size:9px}.gateway-controls{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:13px 18px;background:#dbdcd5;color:var(--vlan-muted);font:9px Courier New,monospace}.gateway-controls button{padding:6px 9px;border:1px solid #c1c2ba;color:#70726b;background:transparent;font:9px Courier New,monospace;transition:all .15s ease}.gateway-controls button.is-on{color:#fff;background:var(--vlan-orange);border-color:var(--vlan-orange)}.gateway-quick-btn{margin-left:auto;padding:4px 8px;background:transparent;border:1px dashed #a5a79f;color:var(--vlan-ink);font:9px Courier New,monospace}.terminal-layout{display:grid;grid-template-columns:.75fr 1.5fr;gap:75px}.terminal-intro-desc{color:#63655e;font-size:13px;line-height:1.5}.terminal-sim-explain{margin-top:24px;padding:16px;background:#e9e9e3;border:1px solid var(--vlan-line);font:10px/1.6 Courier New,monospace;color:var(--vlan-ink)}.terminal-sim-explain strong{display:block;color:var(--vlan-orange);margin-bottom:6px;font-size:10px}.config-console{overflow:hidden;background:#20211f;color:#d4d6ce;border:1px solid #3b3d39;box-shadow:0 4px 16px #00000026}.platform-tabs{display:flex;align-items:center;flex-wrap:wrap;border-bottom:1px solid #3b3d39;background:#191a18}.platform-tabs button{padding:12px 18px;color:#92958d;background:transparent;border:0;font:10px Courier New,monospace;transition:all .15s ease}.platform-tabs button.active{color:#fff;background:var(--vlan-orange)}.terminal-port-selector{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:6px 14px;color:#92958d;font:9px Courier New,monospace}.terminal-port-selector select{padding:5px 8px;color:#fff;background:#30322e;border:1px solid #494b45;font:9px Courier New,monospace}.terminal-verification-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 16px;background:#161715;border-bottom:1px solid #333630;font:9px Courier New,monospace}.verify-item{display:inline-flex;align-items:center;gap:6px;color:#a2a69c}.verify-badge{padding:2px 7px;background:#292b26;color:#e5e7df;border:1px solid #41443c;border-radius:2px}.verify-badge.orange{background:#ff4b1240;color:#ff916d;border-color:#ff4b1280}.verify-badge.green{background:#2169424d;color:#9de5b7;border-color:#21694280}.verify-sync-pill{padding:2px 6px;background:#216942;color:#fff;font-size:8px;border-radius:2px}.config-console pre{display:block;min-height:180px;max-height:280px;overflow-y:auto;margin:0;padding:18px;white-space:pre-wrap;word-break:break-word;color:#c4c8bd;font:11px/1.65 Courier New,monospace}.config-console pre::-webkit-scrollbar{width:6px}.config-console pre::-webkit-scrollbar-thumb{background:#444740}.config-form-row{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid #3b3d39;background:#252723}.config-console form{display:flex;align-items:center;gap:10px;flex:1;color:var(--vlan-orange);font:11px Courier New,monospace}.config-console form input{width:100%;color:#fff;background:transparent;border:0;outline:0;font:11px Courier New,monospace}.terminal-run-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:var(--vlan-orange);color:#fff;border:0;font:700 9px Courier New,monospace;cursor:pointer;transition:opacity .15s ease}.terminal-run-btn:hover{opacity:.9}.terminal-command-palette{display:flex;flex-direction:column;gap:12px;padding:14px 18px 18px;background:#1e201d;border-top:1px solid #333630}.cmd-palette-group{display:flex;flex-direction:column;gap:6px}.cmd-palette-label{color:#81847a;font:700 9px Courier New,monospace;letter-spacing:.08em;display:flex;align-items:center;gap:6px}.cmd-palette-chips{display:flex;flex-wrap:wrap;gap:6px}.cmd-chip-action{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;color:#cfd2c8;background:#2a2c28;border:1px solid #3d4037;font:9px Courier New,monospace;cursor:pointer;transition:all .15s ease}.cmd-chip-action:hover{background:#363932;border-color:var(--vlan-orange);color:#fff}.cmd-chip-action .chip-tag{font-size:8px;padding:1px 4px;border-radius:2px;background:#ff4b1233;color:#ff9473}.cmd-chip-action .chip-tag.verify{background:#2169424d;color:#92e0b1}.terminal-practice-missions{margin-top:24px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--vlan-line)}.practice-mission-card{padding:18px;background:var(--vlan-paper);display:flex;flex-direction:column;justify-content:space-between;gap:10px}.mission-head{display:flex;justify-content:space-between;align-items:baseline;font:9px Courier New,monospace;color:var(--vlan-muted)}.practice-mission-card strong{font-size:13px;color:var(--vlan-ink)}.practice-mission-card p{margin:0;font-size:11px;color:#63655e;line-height:1.45}.practice-mission-card code{display:block;padding:4px 8px;background:#eaeae4;font:10px Courier New,monospace;color:var(--vlan-ink);margin-top:4px}.mission-action-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:var(--vlan-ink);color:#fff;border:0;font:700 9px Courier New,monospace;cursor:pointer;align-self:flex-start;margin-top:4px;transition:background .15s ease}.mission-action-btn:hover{background:var(--vlan-orange)}.diagnose-section{display:grid;grid-template-columns:.75fr 1.5fr;gap:75px;background:#e9e9e3}.diagnose-cases{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--vlan-line)}.diagnose-cases button{display:flex;align-items:center;gap:9px;min-height:80px;padding:13px;border:0;color:var(--vlan-ink);background:var(--vlan-paper);text-align:left;font-size:11px;transition:all .15s ease}.diagnose-cases button:hover{color:#fff;background:var(--vlan-orange)}.diagnose-cases button.is-active{background:var(--vlan-ink);color:#fff}.diagnose-cases button.is-active span{color:var(--vlan-orange)}.diagnose-cases span{margin-right:auto;color:var(--vlan-orange);font:9px Courier New,monospace}.diagnose-cases button:hover span{color:#76250f}.diagnostic-output{display:flex;gap:12px;margin-top:18px;padding:16px;font-size:12px;line-height:1.45;align-items:flex-start}.diagnostic-output.is-success{color:#1c6138;background:#dceede;border:1px solid #c2e2c7}.diagnostic-output.is-issue{color:#833118;background:#faeade;border:1px solid #f2c7b5}.diagnostic-output p{margin:0;flex:1}.diagnostic-quickfix{margin-top:10px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--vlan-ink);color:#fff;border:0;font:9px Courier New,monospace;cursor:pointer;transition:opacity .15s ease}.diagnostic-quickfix:hover{opacity:.9}.security-note{display:flex;gap:11px;margin-top:18px;padding:16px;color:#7b391e;background:#f5ddd1;font-size:11px;line-height:1.4}.security-note p{margin:0}.security-note svg{flex:0 0 auto}.quiz-section{display:grid;grid-template-columns:.75fr 1.5fr;gap:75px}.quiz-card{padding:27px;background:#e6e6df;border:1px solid var(--vlan-line)}.quiz-top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--vlan-line);font:9px Courier New,monospace;color:var(--vlan-muted)}.quiz-score-indicator{padding:3px 8px;background:#d4d6cd;color:var(--vlan-ink);font-weight:700}.quiz-question-text{margin:0 0 20px;font-size:15px;line-height:1.4;color:var(--vlan-ink);font-weight:500}.quiz-options-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.quiz-option-button{display:flex;align-items:center;gap:10px;padding:12px 15px;background:var(--vlan-paper);border:1px solid var(--vlan-line);color:var(--vlan-ink);font-size:11px;text-align:left;line-height:1.4;transition:all .15s ease}.quiz-option-button:hover{border-color:var(--vlan-ink)}.quiz-option-button.selected{background:var(--vlan-ink);color:#fff;border-color:var(--vlan-ink)}.quiz-option-button span.key{font:700 10px Courier New,monospace;opacity:.7}.quiz-actions-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quiz-actions-row button{padding:9px 14px;border:1px solid var(--vlan-line);color:var(--vlan-ink);background:var(--vlan-paper);font-size:11px;transition:all .15s ease}.quiz-actions-row button.btn-primary{color:#fff;background:var(--vlan-orange);border-color:var(--vlan-orange)}.quiz-actions-row button.btn-secondary{color:var(--vlan-ink);background:#d8dad2}.quiz-feedback-box{margin-top:18px;padding:14px;border:1px solid var(--vlan-line);font-size:11px;line-height:1.45}.quiz-feedback-box.is-correct{background:#dceede;color:#1c6138;border-color:#c2e2c7}.quiz-feedback-box.is-wrong{background:#faeade;color:#833118;border-color:#f2c7b5}.quiz-feedback-box strong{display:block;margin-bottom:4px;font:11px Courier New,monospace}.quiz-feedback-box p{margin:0}.vlan-next{display:flex;align-items:end;justify-content:space-between;padding:100px clamp(28px,7vw,112px) 120px;color:#fff;background:var(--vlan-orange)}.vlan-next .vlan-kicker{color:#76250f}.vlan-next h2{margin-bottom:0}.vlan-next-buttons{display:flex;align-items:center;gap:20px}.vlan-next-button{display:inline-flex;align-items:center;gap:15px;padding-bottom:7px;border-bottom:1px solid #76250f;color:#76250f!important;font-size:11px}@media(max-width:850px){.vlan-intro,.vlan-principles,.tag-section,.terminal-layout,.diagnose-section,.quiz-section{display:block}.segment-map,.principle-grid,.frame-inspector,.config-console,.diagnose-content,.quiz-card{margin-top:40px}.terminal-practice-missions{grid-template-columns:1fr}.vlan-next{display:block}.vlan-next-buttons{display:flex;flex-wrap:wrap;margin-top:45px}}@media(max-width:600px){.vlan-nav{padding:0 14px}.vlan-nav>span:last-child{display:none}.vlan-intro,.vlan-section{padding:70px 18px}.vlan-intro h1,.vlan-section-title h2,.quiz-section h2,.vlan-next h2{font-size:3.25rem}.principle-grid,.port-grid,.diagnose-cases{display:block}.principle-grid article,.port-card,.diagnose-cases button{border-bottom:1px solid var(--vlan-line)}.frame-selector{overflow-x:auto}.frame-notes{grid-template-columns:1fr 1fr}.gateway-controls{align-items:flex-start}.gateway-controls>span{width:100%}.vlan-create{flex-wrap:wrap}.vlan-create input:nth-of-type(2){width:100%}.terminal-port-selector{margin-left:0;width:100%;padding:8px 16px}}@media(prefers-reduced-motion:reduce){.vlan-page *{scroll-behavior:auto!important;transition:none!important}}.dhcp-page{--dhcp-ink:#18201d;--dhcp-paper:#f4f6f0;--dhcp-line:#d2d9d0;--dhcp-muted:#68736c;--dhcp-green:#1e8a58;--dhcp-lime:#dcedc8;--dhcp-yellow:#f1d66b;min-height:100vh;color:var(--dhcp-ink);background:var(--dhcp-paper);font-family:Arial,Helvetica,sans-serif}.dhcp-page,.dhcp-page *{box-sizing:border-box}.dhcp-page a{color:inherit;text-decoration:none}.dhcp-page button,.dhcp-page input,.dhcp-page select{font:inherit}.dhcp-page button{cursor:pointer}.dhcp-nav{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 25px;border-bottom:1px solid var(--dhcp-line);color:var(--dhcp-muted);font:9px Courier New,monospace}.dhcp-back{display:inline-flex;align-items:center;gap:8px;color:var(--dhcp-ink)!important;font:600 10px Arial,sans-serif}.dhcp-back:hover{color:var(--dhcp-green)!important}.dhcp-kicker{color:var(--dhcp-muted);font:9px/1.3 Courier New,monospace;letter-spacing:.08em}.dhcp-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,500px);gap:80px;align-items:center;max-width:1440px;margin:auto;padding:110px clamp(28px,7vw,112px) 100px;border-bottom:1px solid var(--dhcp-line)}.dhcp-hero h1,.dhcp-section-title h2,.explain-block h2,.troubleshooting-section h2,.dhcp-next h2{margin:22px 0 27px;font-size:clamp(3.2rem,6.4vw,7rem);line-height:.86;letter-spacing:-.08em}.dhcp-hero h1 em,.dhcp-section-title h2 em,.explain-block h2 em,.troubleshooting-section h2 em,.dhcp-next h2 em{font-style:normal;font-weight:400}.dhcp-hero p,.dhcp-section-title>p{max-width:450px;color:#5d6962;font-size:14px;line-height:1.45}.service-orbit{position:relative;min-height:360px;border:1px solid var(--dhcp-line);background:#e8eee4}.orbit-center,.orbit-node{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--dhcp-line);background:var(--dhcp-paper);text-align:center}.orbit-center{top:124px;left:calc(50% - 55px);width:110px;height:110px;border-radius:50%;color:var(--dhcp-green)}.orbit-center strong{font:700 19px Courier New,monospace}.orbit-center small,.orbit-node small{color:var(--dhcp-muted);font:8px Courier New,monospace}.orbit-node{width:100px;height:74px}.orbit-node strong{font:11px Courier New,monospace}.node-dhcp{top:38px;left:45px;color:var(--dhcp-green)}.node-nat{right:45px;bottom:38px;color:#b67c0c}.orbit-line{position:absolute;width:135px;height:1px;background:var(--dhcp-green);transform:rotate(33deg);top:110px;left:105px}.line-two{top:240px;left:auto;right:105px;background:#b67c0c;transform:rotate(33deg)}.dhcp-section{max-width:1440px;margin:auto;padding:105px clamp(28px,7vw,112px);border-bottom:1px solid var(--dhcp-line)}.concept-section{background:#e8eee4}.concept-section,.dora-section,.nat-section,.explain-section,.terminal-section,.troubleshooting-section{display:grid;grid-template-columns:.75fr 1.5fr;gap:75px}.concept-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--dhcp-line)}.concept-cards article{min-height:270px;padding:21px;background:var(--dhcp-paper)}.concept-cards article:nth-child(2){background:#e6e5d8}.concept-cards article:nth-child(3){color:#fff;background:var(--dhcp-green)}.concept-cards span{font:9px Courier New,monospace;color:var(--dhcp-green)}.concept-cards article:nth-child(3) span{color:#c5edcc}.concept-cards h3{margin:58px 0 9px;font-size:18px;letter-spacing:-.05em}.concept-cards p{color:#667169;font-size:11px;line-height:1.4}.concept-cards article:nth-child(3) p{color:#c5edcc}.concept-cards code{display:block;margin-top:18px;color:#78837b;font:9px/1.35 Courier New,monospace}.concept-cards article:nth-child(3) code{color:#c5edcc}.dora-section{background:#f0f3ec}.dora-lab{display:grid;grid-template-columns:220px 1fr;gap:28px}.dora-config{padding:18px;background:#e1e9dc;border:1px solid var(--dhcp-line)}.dora-config label,.nat-controls label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;color:var(--dhcp-muted);font:9px Courier New,monospace}.dora-config input,.nat-controls input,.nat-controls select{padding:9px;border:1px solid var(--dhcp-line);background:#fff;color:var(--dhcp-ink);font:11px Courier New,monospace}.dora-actions{display:flex;gap:6px;margin-top:19px}.dora-actions button{display:inline-flex;align-items:center;gap:5px;padding:9px 8px;border:0;color:#fff;background:var(--dhcp-green);font:9px Courier New,monospace}.dora-actions button+button{color:var(--dhcp-ink);background:#fff}.dora-actions button:disabled{opacity:.45;cursor:not-allowed}.form-error{display:block;margin-top:12px;color:#b63424;font:9px Courier New,monospace}.dora-flow{position:relative}.dora-step{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid var(--dhcp-line);opacity:.42}.dora-step.is-done,.dora-step.is-active{opacity:1}.dora-step.is-active{padding-left:13px;border-left:3px solid var(--dhcp-green);background:#e7f2df}.dora-badge{display:grid;place-items:center;width:33px;height:33px;color:var(--dhcp-muted);border:1px solid var(--dhcp-line);border-radius:50%;font:700 12px Courier New,monospace}.is-done .dora-badge{color:#fff;background:var(--dhcp-green);border-color:var(--dhcp-green)}.dora-step strong{display:block;margin-bottom:5px;font:700 12px Courier New,monospace}.dora-step small{display:block;color:var(--dhcp-muted);font-size:11px;line-height:1.35}.dora-step code{display:block;margin-top:9px;color:var(--dhcp-green);font:9px Courier New,monospace}.dora-packet{display:flex;align-items:center;gap:9px;margin:13px 0;color:var(--dhcp-green);font:9px Courier New,monospace}.dora-packet i{width:80px;height:1px;background:var(--dhcp-green);animation:packet-dash .7s linear infinite}.lease-card{display:flex;align-items:flex-start;gap:9px;margin-top:18px;padding:16px;color:#23663d;background:#d7ecd1;font-size:11px}.lease-card p{margin:6px 0 0;color:#56725b;font-size:10px}@keyframes packet-dash{0%{transform:scaleX(.3);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.nat-section{background:#e9eee8}.nat-lab{padding:21px;background:#dfe9dc;border:1px solid var(--dhcp-line)}.nat-controls{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 100px;gap:10px;align-items:end}.nat-toggle{display:flex;flex-direction:column;gap:7px;color:var(--dhcp-muted);font:9px Courier New,monospace}.nat-toggle button{padding:9px;color:#9b3424;background:#f3d9d2;border:1px solid #dda699;font:9px Courier New,monospace}.nat-toggle button.is-on{color:#21633b;background:#d1ead0;border-color:#97c19c}.translate-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:36px;padding:7px;color:#fff;background:var(--dhcp-green);border:0;font:9px Courier New,monospace}.nat-path{display:flex;align-items:center;justify-content:center;gap:16px;margin:19px 0;padding:18px;background:var(--dhcp-ink);color:#c8dbca;text-align:center;font:9px Courier New,monospace}.nat-path i{width:70px;height:1px;background:var(--dhcp-green)}.nat-path strong{padding:7px;color:var(--dhcp-ink);background:var(--dhcp-yellow);font:10px Courier New,monospace}.nat-path b{color:#fff;font-size:11px}.nat-message{min-height:34px;padding:10px 13px;color:#2c643c;background:#d7ecd1;font-size:11px}.nat-table{margin-top:16px;overflow-x:auto;background:var(--dhcp-paper);border:1px solid var(--dhcp-line)}.nat-table-head,.nat-row{display:grid;grid-template-columns:.5fr 1fr 1fr 1fr .6fr 70px;gap:10px;align-items:center;min-width:690px;padding:12px 13px;font:10px Courier New,monospace}.nat-table-head{color:var(--dhcp-muted);background:#e8ede5;border-bottom:1px solid var(--dhcp-line);font-size:9px}.nat-row{border-bottom:1px solid var(--dhcp-line)}.nat-row:last-child{border-bottom:0}.nat-row code{font:10px Courier New,monospace}.nat-row .active{color:#247944}.nat-row .returning{color:#b67c0c}.nat-row button{display:inline-flex;align-items:center;gap:3px;padding:5px;color:var(--dhcp-green);background:transparent;border:1px solid var(--dhcp-line);font:9px Courier New,monospace}.nat-empty{padding:22px;color:var(--dhcp-muted);text-align:center;font:10px Courier New,monospace}.explain-section{background:#f1f2ed}.config-columns{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--dhcp-line)}.config-columns>div{padding:20px;background:var(--dhcp-paper)}.config-columns strong{font:700 12px Courier New,monospace;color:var(--dhcp-green)}.config-columns p{color:var(--dhcp-muted);font-size:11px;line-height:1.45}.config-columns code{display:block;padding:12px;color:#5b765c;background:#e1edda;font:10px/1.55 Courier New,monospace}.security-card{align-self:start;padding:25px;color:#7c5311;background:#f4e9b9}.security-card svg{color:#ae7915}.security-card .dhcp-kicker{display:block;margin-top:17px;color:#967020}.security-card h3{max-width:260px;margin:19px 0;font-size:22px;letter-spacing:-.06em}.security-card ul{margin:0;padding-left:17px;color:#765f28;font-size:11px;line-height:1.8}.terminal-section{background:#e7eee5}.dhcp-terminal{overflow:hidden;background:#1e2520;color:#d2e3d1}.terminal-heading{display:flex;align-items:center;gap:8px;padding:13px 17px;border-bottom:1px solid #354337;color:#fff;font:10px Courier New,monospace}.terminal-heading svg{color:var(--dhcp-green)}.terminal-heading span{margin-left:auto;color:#9db39d;font-size:8px}.dhcp-terminal pre{min-height:150px;margin:0;padding:17px;white-space:pre-wrap;color:#bfd0bf;font:11px/1.6 Courier New,monospace}.dhcp-terminal form{display:flex;gap:9px;padding:12px 17px;border-top:1px solid #354337;color:#8fd29c;font:11px Courier New,monospace}.dhcp-terminal form input{width:100%;border:0;outline:0;color:#fff;background:transparent;font:11px Courier New,monospace}.terminal-chips button{padding:6px 8px;color:#aec1ae;background:#2c372e;border:1px solid #435345;font:9px Courier New,monospace}.terminal-chips button:hover{color:#fff;border-color:var(--dhcp-green)}.troubleshooting-section{background:#e8eee4}.troubleshooting-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--dhcp-line)}.troubleshooting-grid article{min-height:185px;padding:20px;background:var(--dhcp-paper)}.troubleshooting-grid article:nth-child(2){background:#e2e9df}.troubleshooting-grid article:nth-child(3){color:#fff;background:var(--dhcp-green)}.troubleshooting-grid svg{margin-bottom:42px;color:var(--dhcp-green)}.troubleshooting-grid article:nth-child(3) svg{color:#fff}.troubleshooting-grid strong{display:block;font-size:14px}.troubleshooting-grid p{color:#68736b;font-size:11px;line-height:1.4}.troubleshooting-grid article:nth-child(3) p{color:#c9ebce}.dhcp-next{display:flex;align-items:end;justify-content:space-between;padding:100px clamp(28px,7vw,112px) 120px;color:#fff;background:var(--dhcp-green)}.dhcp-next .dhcp-kicker{color:#c8ebcb}.dhcp-next-button{display:flex;align-items:center;gap:14px;padding-bottom:7px;border-bottom:1px solid #c8ebcb;color:#c8ebcb!important;font-size:11px}@media(max-width:900px){.dhcp-hero,.concept-section,.dora-section,.nat-section,.explain-section,.terminal-section,.troubleshooting-section{display:block}.service-orbit,.concept-cards,.dora-lab,.nat-lab,.config-columns,.security-card,.dhcp-terminal,.troubleshooting-grid{margin-top:40px}.nat-controls{grid-template-columns:repeat(2,1fr)}.translate-button{grid-column:span 2}.dora-lab{display:block}.dora-config{margin-bottom:30px}.dhcp-next{display:block}.dhcp-next-button{display:inline-flex;margin-top:45px}}@media(max-width:620px){.dhcp-nav{padding:0 14px}.dhcp-nav>span:last-child{display:none}.dhcp-section,.dhcp-hero{padding:70px 18px}.dhcp-hero h1,.dhcp-section-title h2,.explain-block h2,.troubleshooting-section h2,.dhcp-next h2{font-size:3.3rem}.concept-cards,.config-columns,.troubleshooting-grid{display:block}.concept-cards article,.troubleshooting-grid article{border-bottom:1px solid var(--dhcp-line)}.service-orbit{min-height:290px}.orbit-center{top:95px}.node-dhcp{left:20px}.node-nat{right:20px}.orbit-line{left:70px;top:90px;width:100px}.line-two{right:70px;top:205px}.nat-controls{display:block}.nat-controls label,.nat-toggle,.translate-button{margin-top:12px}.nat-path{gap:7px;font-size:8px}.nat-path i{width:20px}.nat-path b{font-size:9px}.dora-actions{flex-wrap:wrap}.security-card{padding:19px}}@media(prefers-reduced-motion:reduce){.dhcp-page *{animation:none!important;transition:none!important}}.dhcp-page{--dhcp-ink:#171717;--dhcp-paper:#f7f7f4;--dhcp-line:#dedbd4;--dhcp-muted:#77746d;--dhcp-green:#ff4b12;--dhcp-lime:#fff0e8;--dhcp-yellow:#f2cf8f}.dhcp-hero .service-orbit{background:#fff2eb}.concept-section{background:#fff0e8}.dora-section{background:#fff7f1}.nat-section{background:#fff1e9}.explain-section{background:#faf4ef}.terminal-section{background:#f4e9e2}.troubleshooting-section{background:#fff0e8}.dora-config{background:#f8e7de}.nat-lab{background:#f5e2d9}.concept-cards article:nth-child(2){background:#f0e5dc}.troubleshooting-grid article:nth-child(2){background:#f1e5dd}.concept-cards article:nth-child(3),.troubleshooting-grid article:nth-child(3),.dhcp-next{background:var(--dhcp-green)}.concept-cards span,.node-dhcp,.orbit-center,.orbit-line,.terminal-heading svg,.troubleshooting-grid svg{color:var(--dhcp-green)}.line-two{background:#b67c0c}.nat-toggle button.is-on{color:#8d321b;background:#ffe0d1;border-color:#f3a88c}.translate-button,.dora-actions button,.nat-path i,.dora-packet i{background:var(--dhcp-green)}.lease-card,.nat-message{color:#8d321b;background:#ffe0d1}.config-columns code{color:#8d4a2b;background:#fff0e8}.security-card{background:#f7e8c6}.terminal-heading{border-color:#55362b}.dhcp-terminal{background:#241c19;color:#f1d8ca}.dhcp-terminal pre{color:#e7c9b8}.terminal-chips button{color:#e2b9a4;background:#342722;border-color:#624238}.troubleshooting-grid article:nth-child(3) p{color:#ffe0d1}.dhcp-next .dhcp-kicker,.dhcp-next-button{color:#76250f!important;border-color:#76250f}.deep-material-section{background:#fff8f3}.deep-material-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--dhcp-line)}.material-card{min-height:290px;padding:22px;background:var(--dhcp-paper)}.material-card:nth-child(2),.material-card:nth-child(3){background:#f3e9e0}.material-number{color:var(--dhcp-green);font:9px Courier New,monospace}.material-card h3{margin:48px 0 9px;font-size:20px;letter-spacing:-.05em}.material-card p{max-width:420px;color:var(--dhcp-muted);font-size:11px;line-height:1.45}.material-card ul{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 0;padding:0;list-style:none;color:var(--dhcp-muted);font-size:10px}.material-card li code{color:var(--dhcp-green);font:10px Courier New,monospace}.lifecycle{display:flex;align-items:center;gap:7px;margin-top:25px}.lifecycle div{display:flex;flex-direction:column;gap:4px}.lifecycle strong{font:10px Courier New,monospace;color:var(--dhcp-green)}.lifecycle small{color:var(--dhcp-muted);font-size:9px}.lifecycle i{width:22px;height:1px;background:var(--dhcp-green)}.relay-flow{display:flex;align-items:center;gap:9px;margin:26px 0;padding:14px;background:#fff0e8;color:var(--dhcp-green);font:10px Courier New,monospace}.relay-flow i{font-size:16px}.material-note{padding:11px;color:#8d4a2b!important;background:#fff0e8}.nat-types{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:25px;background:var(--dhcp-line)}.nat-types div{display:flex;flex-direction:column;gap:6px;padding:13px;background:#fff0e8}.nat-types strong{font:11px Courier New,monospace}.nat-types span{color:var(--dhcp-muted);font-size:10px}.tuple-code{display:block;margin:22px 0;padding:14px;color:#8d4a2b;background:#fff0e8;font:10px/1.6 Courier New,monospace}.flow-section{background:#f5eee8}.flow-board{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr;align-items:stretch;gap:8px}.flow-step{padding:16px;background:var(--dhcp-paper);border-top:3px solid var(--dhcp-green)}.flow-step span{color:var(--dhcp-green);font:9px Courier New,monospace}.flow-step strong{display:block;margin:35px 0 7px;font-size:14px}.flow-step p{min-height:33px;margin:0;color:var(--dhcp-muted);font-size:10px;line-height:1.35}.flow-step code{display:block;margin-top:16px;color:#8d4a2b;font:9px Courier New,monospace}.flow-arrow{display:grid;place-items:center;color:var(--dhcp-green);font-size:20px}.special-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:22px;background:var(--dhcp-line)}.special-cases div{padding:17px;background:#fff0e8}.special-cases strong{font:11px Courier New,monospace}.special-cases p{margin-bottom:0;color:var(--dhcp-muted);font-size:10px;line-height:1.4}@media(max-width:900px){.deep-material-grid,.flow-board,.special-cases{display:block}.material-card,.flow-step,.special-cases div{border-bottom:1px solid var(--dhcp-line)}.flow-arrow{height:35px;transform:rotate(90deg)}}@media(max-width:620px){.material-card ul,.nat-types{display:block}.material-card li,.nat-types div{padding:8px 0}.lifecycle{flex-wrap:wrap}.lifecycle i{width:13px}.relay-flow{font-size:8px;gap:5px}}.nat-stage-canvas{margin:18px 0;padding:20px;background:#fdfdfb;border:1px solid var(--dhcp-line)}.nat-topology-grid{display:grid;grid-template-columns:240px 1fr 280px 1fr 240px;align-items:center;gap:8px;position:relative}.nat-device-box{padding:16px;background:var(--dhcp-paper);border:1px solid var(--dhcp-line);position:relative;transition:border-color .2s,box-shadow .2s}.nat-device-box.is-highlighted{border-color:var(--dhcp-green);box-shadow:0 0 0 1px var(--dhcp-green)}.nat-device-box.is-router-core{background:#fff5ee;border:2px solid var(--dhcp-ink);text-align:center}.nat-box-tag{display:inline-block;font:700 8px/1.2 Courier New,monospace;padding:2px 6px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;background:#e8ede5;color:var(--dhcp-muted)}.nat-box-tag.is-private{background:#f0e6dc;color:#7b4a2e}.nat-box-tag.is-public{background:#dbeafe;color:#1e40af}.nat-box-tag.is-router{background:#ffedd5;color:#c2410c}.nat-device-name{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}.nat-device-details{font:10px/1.4 Courier New,monospace;color:var(--dhcp-muted)}.nat-device-details strong{color:var(--dhcp-ink)}.nat-port-highlight{display:inline-block;padding:2px 5px;background:#ff4b12;color:#fff;font-weight:700;font-size:10px}.nat-cable-track{position:relative;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center}.nat-cable-line{position:absolute;top:50%;left:0;right:0;height:2px;background:var(--dhcp-line);transform:translateY(-50%);transition:background .2s,box-shadow .2s}.nat-cable-line.is-active{background:var(--dhcp-green);box-shadow:0 0 6px #ff4b1266}.nat-cable-line.is-drop{background:#dc2626;box-shadow:0 0 6px #dc262666}.nat-packet-pill{position:relative;z-index:5;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font:700 9px/1.2 Courier New,monospace;background:#fff;border:1px solid var(--dhcp-ink);box-shadow:0 2px 0 var(--dhcp-ink);white-space:nowrap;animation:natPillPulse 1.2s infinite alternate ease-in-out}@keyframes natPillPulse{0%{transform:scale(.98)}to{transform:scale(1.02)}}.nat-packet-pill.is-lan{border-color:#7b4a2e;box-shadow:0 2px #7b4a2e;color:#7b4a2e}.nat-packet-pill.is-wan{border-color:var(--dhcp-green);box-shadow:0 2px 0 var(--dhcp-green);color:var(--dhcp-green)}.nat-packet-pill.is-reply{border-color:#1e8a58;box-shadow:0 2px #1e8a58;color:#1e8a58;background:#f0fdf4}.nat-packet-pill.is-drop{border-color:#dc2626;box-shadow:0 2px #dc2626;color:#dc2626;background:#fef2f2}.nat-port-inspector{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--dhcp-line);border:1px solid var(--dhcp-line);margin-top:16px}.inspector-col{padding:10px 14px;background:var(--dhcp-paper)}.inspector-col strong{display:block;font:700 9px Courier New,monospace;color:var(--dhcp-muted);text-transform:uppercase;margin-bottom:3px}.inspector-col code{font:11px Courier New,monospace;color:var(--dhcp-ink)}.inspector-col.is-highlight{background:#fff1e9}.inspector-col.is-highlight code{color:var(--dhcp-green);font-weight:700}.nat-presets-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:12px;font:9px Courier New,monospace;color:var(--dhcp-muted)}.nat-preset-chip{padding:4px 8px;font:9px Courier New,monospace;background:#f0e5dc;border:1px solid var(--dhcp-line);color:var(--dhcp-ink);cursor:pointer;transition:all .15s ease}.nat-preset-chip:hover{background:var(--dhcp-green);color:#fff;border-color:var(--dhcp-green)}.nat-step-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.nat-step-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;font:700 9px Courier New,monospace;text-transform:uppercase;border:1px solid var(--dhcp-line);background:#fff;color:var(--dhcp-ink);cursor:pointer;transition:all .15s ease}.nat-step-btn:hover:not(:disabled){border-color:var(--dhcp-ink);background:var(--dhcp-paper)}.nat-step-btn.is-primary{background:var(--dhcp-green);border-color:var(--dhcp-green);color:#fff}.nat-step-btn.is-primary:hover:not(:disabled){opacity:.9}.nat-step-btn:disabled{opacity:.45;cursor:not-allowed}.nat-row.is-active-mapping{background:#fff3ec;font-weight:700}.nat-row-badge{display:inline-block;padding:2px 5px;font:700 8px Courier New,monospace;text-transform:uppercase}.nat-row-badge.active{background:#d1ead0;color:#21633b}.nat-row-badge.returning{background:#fef3c7;color:#92400e}.nat-row-badge.established{background:#ffedd5;color:#c2410c}@media(max-width:900px){.nat-topology-grid{grid-template-columns:1fr;gap:12px}.nat-cable-track{height:36px}.nat-port-inspector{grid-template-columns:1fr 1fr}}.dora-interactive-stage{display:flex;flex-direction:column;gap:14px}.dora-pipeline-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--dhcp-line);border:1px solid var(--dhcp-line)}.dora-pipeline-btn{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--dhcp-paper);border:none;cursor:pointer;transition:all .15s ease;text-align:left}.dora-pipeline-btn:hover{background:#fdf5f0}.dora-pipeline-btn.is-active{background:#fff;box-shadow:inset 0 -3px 0 var(--dhcp-green)}.dora-pipeline-btn.is-done{background:#f4faf4}.dora-pipeline-badge{display:grid;place-items:center;width:26px;height:26px;font:700 12px Courier New,monospace;background:#fff;color:var(--dhcp-muted);border:1px solid var(--dhcp-line);border-radius:50%;flex-shrink:0}.dora-pipeline-btn.is-active .dora-pipeline-badge{background:var(--dhcp-green);color:#fff;border-color:var(--dhcp-green)}.dora-pipeline-btn.is-done .dora-pipeline-badge{background:#1e8a58;color:#fff;border-color:#1e8a58}.dora-pipeline-text strong{display:block;font-size:11px;font-family:Courier New,monospace;letter-spacing:-.02em;color:var(--dhcp-ink)}.dora-pipeline-text small{font-size:9px;color:var(--dhcp-muted);white-space:nowrap}.dora-stage-canvas{padding:18px;background:#fdfdfb;border:1px solid var(--dhcp-line)}.dora-topology-grid{display:grid;grid-template-columns:240px 1fr 240px;align-items:center;gap:12px;position:relative}.dora-device-box{padding:14px;background:var(--dhcp-paper);border:1px solid var(--dhcp-line);position:relative;transition:border-color .2s,box-shadow .2s}.dora-device-box.is-speaking{border-color:var(--dhcp-green);box-shadow:0 0 0 1px var(--dhcp-green);background:#fff8f5}.dora-speaker-tag{display:inline-flex;align-items:center;gap:4px;font:700 8px/1.2 Courier New,monospace;padding:2px 6px;text-transform:uppercase;margin-bottom:6px;background:#e8ede5;color:var(--dhcp-muted)}.dora-speaker-tag.is-active{background:#ff4b12;color:#fff;animation:doraPulse 1s infinite alternate ease-in-out}@keyframes doraPulse{0%{transform:scale(.97)}to{transform:scale(1.03)}}.dora-device-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;margin-bottom:6px}.dora-device-details{font:10px/1.4 Courier New,monospace;color:var(--dhcp-muted)}.dora-device-details strong{color:var(--dhcp-ink)}.dora-cable-track{position:relative;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center}.dora-cable-line{position:absolute;top:50%;left:0;right:0;height:2px;background:var(--dhcp-line);transform:translateY(-50%);transition:background .2s,box-shadow .2s}.dora-cable-line.is-active{background:var(--dhcp-green);box-shadow:0 0 6px #ff4b1266}.dora-packet-pill{position:relative;z-index:5;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font:700 9px/1.2 Courier New,monospace;background:#fff;border:1px solid var(--dhcp-ink);box-shadow:0 2px 0 var(--dhcp-ink);white-space:nowrap;animation:doraPillPulse 1.2s infinite alternate ease-in-out}@keyframes doraPillPulse{0%{transform:scale(.98)}to{transform:scale(1.02)}}.dora-packet-pill.to-server{border-color:var(--dhcp-green);color:var(--dhcp-green);box-shadow:0 2px 0 var(--dhcp-green)}.dora-packet-pill.to-client{border-color:#1e8a58;color:#1e8a58;box-shadow:0 2px #1e8a58;background:#f0fdf4}.dora-dialogue-inspector{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--dhcp-line);border:1px solid var(--dhcp-line);margin-top:14px}.dora-dialogue-col{padding:12px 16px;background:var(--dhcp-paper)}.dora-dialogue-col.is-speaker{background:#fff6f0}.dora-dialogue-col.is-recipient{background:#f2f7f2}.dora-dialogue-col strong{display:block;font:700 9px Courier New,monospace;text-transform:uppercase;color:var(--dhcp-muted);margin-bottom:4px}.dora-dialogue-col.is-speaker strong{color:var(--dhcp-green)}.dora-dialogue-col.is-recipient strong{color:#1e8a58}.dora-dialogue-col code{font:11px Courier New,monospace;color:var(--dhcp-ink);font-weight:700}.dora-human-bubble{grid-column:span 2;padding:14px 16px;background:#fff;border-top:1px solid var(--dhcp-line);font-size:12px;line-height:1.45;color:var(--dhcp-ink)}.dora-human-bubble strong{display:block;font:700 9px Courier New,monospace;text-transform:uppercase;color:var(--dhcp-muted);margin-bottom:5px}.dora-technical-note{grid-column:span 2;padding:10px 16px;background:#fff0e8;border-top:1px solid var(--dhcp-line);font:10px/1.4 Courier New,monospace;color:#8d4a2b}.dora-nav-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:10px}.dora-step-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;font:700 9px Courier New,monospace;text-transform:uppercase;border:1px solid var(--dhcp-line);background:#fff;color:var(--dhcp-ink);cursor:pointer;transition:all .15s ease}.dora-step-btn:hover:not(:disabled){border-color:var(--dhcp-ink);background:var(--dhcp-paper)}.dora-step-btn.is-primary{background:var(--dhcp-green);border-color:var(--dhcp-green);color:#fff}.dora-step-btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:900px){.dora-topology-grid{grid-template-columns:1fr;gap:10px}.dora-cable-track{height:36px}.dora-pipeline-bar{grid-template-columns:1fr 1fr}.dora-dialogue-inspector{grid-template-columns:1fr}.dora-human-bubble,.dora-technical-note{grid-column:span 1}}.firewall-page{--fw-ink:#171717;--fw-paper:#f7f7f4;--fw-line:#dddcd5;--fw-muted:#72726c;--fw-orange:#ff4b12;--fw-red:#b3261e;--fw-green:#287746;min-height:100vh;color:var(--fw-ink);background:var(--fw-paper);font-family:Arial,Helvetica,sans-serif}.firewall-page,.firewall-page *{box-sizing:border-box}.firewall-page a{color:inherit;text-decoration:none}.firewall-page button,.firewall-page input,.firewall-page select{font:inherit}.firewall-page button{cursor:pointer}.firewall-nav{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 25px;border-bottom:1px solid var(--fw-line);color:var(--fw-muted);font:9px Courier New,monospace}.firewall-back{display:inline-flex;align-items:center;gap:8px;color:var(--fw-ink)!important;font:600 10px Arial,sans-serif}.firewall-back:hover{color:var(--fw-orange)!important}.firewall-kicker{color:var(--fw-muted);font:9px/1.3 Courier New,monospace;letter-spacing:.08em}.firewall-hero{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:90px;align-items:center;max-width:1440px;margin:auto;padding:110px clamp(28px,7vw,112px) 100px;border-bottom:1px solid var(--fw-line)}.firewall-hero h1,.firewall-section-title h2,.checklist-section h2,.firewall-next h2{margin:22px 0 27px;font-size:clamp(3.2rem,6.5vw,7rem);line-height:.86;letter-spacing:-.08em}.firewall-hero h1 em,.firewall-section-title h2 em,.checklist-section h2 em,.firewall-next h2 em{font-style:normal;font-weight:400}.firewall-hero p,.firewall-section-title>p{max-width:470px;color:#62625c;font-size:14px;line-height:1.45}.shield-art{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:350px;color:var(--fw-orange);border:1px solid var(--fw-line);background:#fff0e9}.shield-art svg{margin-bottom:25px;stroke-width:1}.shield-art span{color:var(--fw-muted);font:9px Courier New,monospace}.shield-art strong{margin-top:8px;font:700 17px Courier New,monospace}.shield-art i{position:absolute;width:75%;height:1px;background:var(--fw-orange);transform:rotate(-28deg);opacity:.5}.firewall-section{max-width:1440px;margin:auto;padding:105px clamp(28px,7vw,112px);border-bottom:1px solid var(--fw-line)}.concept-section{display:grid;grid-template-columns:.75fr 1.5fr;gap:75px;background:#fff0e9}.chain-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--fw-line)}.chain-cards article{min-height:245px;padding:21px;background:var(--fw-paper)}.chain-cards article:nth-child(2){background:#eee8e2}.chain-cards article:nth-child(3){color:#fff;background:var(--fw-orange)}.chain-cards span{color:var(--fw-orange);font:9px Courier New,monospace}.chain-cards article:nth-child(3) span{color:#76250f}.chain-cards h3{margin:56px 0 9px;font-size:18px}.chain-cards p{color:var(--fw-muted);font-size:11px;line-height:1.4}.chain-cards article:nth-child(3) p{color:#76250f}.chain-cards code{display:block;margin-top:17px;color:#8a6a5b;font:9px Courier New,monospace}.chain-cards article:nth-child(3) code{color:#76250f}.rules-section{display:grid;grid-template-columns:.75fr 1.5fr;gap:75px;background:#f4f2ed}.rules-lab{overflow:hidden;border:1px solid var(--fw-line);background:var(--fw-paper)}.rules-toolbar{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;color:var(--fw-muted);font:9px Courier New,monospace;border-bottom:1px solid var(--fw-line)}.rules-toolbar button{display:inline-flex;align-items:center;gap:5px;padding:7px;color:var(--fw-ink);background:transparent;border:1px solid var(--fw-line);font:9px Courier New,monospace}.rule-list{overflow-x:auto}.rule-row{display:grid;grid-template-columns:26px 45px 58px 60px 42px 52px 38px 60px 1fr 30px;gap:7px;align-items:center;min-width:760px;padding:12px 15px;border-bottom:1px solid var(--fw-line);font:9px Courier New,monospace}.rule-row.disabled{opacity:.38}.rule-row.matched{background:#ffe2d7;box-shadow:inset 3px 0 var(--fw-orange)}.rule-number{color:var(--fw-muted)}.rule-toggle{padding:4px 5px;color:#9e9c94;background:transparent;border:1px solid var(--fw-line);font:8px Courier New,monospace}.rule-toggle.on{color:var(--fw-green);border-color:#9ac3a7}.rule-row strong{font-size:9px}.rule-row strong.accept{color:var(--fw-green)}.rule-row strong.drop{color:var(--fw-red)}.rule-row small{color:var(--fw-muted);font:9px Courier New,monospace}.rule-row b{color:var(--fw-orange);text-align:right}.rule-builder{display:grid;grid-template-columns:80px 75px 65px 70px 70px 1fr 86px;gap:6px;padding:14px;background:#ece9e3}.rule-builder span{grid-column:1/-1}.rule-builder select,.rule-builder input{min-width:0;padding:7px;border:1px solid var(--fw-line);background:#fff;color:var(--fw-ink);font:9px Courier New,monospace}.rule-builder button{padding:7px;color:#fff;background:var(--fw-orange);border:0;font:9px Courier New,monospace}.packet-section{display:grid;grid-template-columns:.75fr 1.5fr;gap:75px;background:#fff8f4}.packet-lab{padding:22px;background:#f2e9e2;border:1px solid var(--fw-line)}.preset-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.preset-buttons button{padding:8px 10px;color:var(--fw-muted);background:transparent;border:1px solid var(--fw-line);font:9px Courier New,monospace}.preset-buttons button.selected,.preset-buttons button:hover{color:#fff;background:var(--fw-ink);border-color:var(--fw-ink)}.packet-form{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;align-items:end}.packet-form label{display:flex;flex-direction:column;gap:5px;color:var(--fw-muted);font:9px Courier New,monospace}.packet-form input,.packet-form select{padding:8px;border:1px solid var(--fw-line);background:#fff;color:var(--fw-ink);font-size:10px}.evaluate-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:35px;padding:7px;color:#fff;background:var(--fw-orange);border:0;font:9px Courier New,monospace}.packet-result{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:16px;font-size:11px}.packet-result p{margin:5px 0 0;line-height:1.35}.packet-result.accepted{color:#245e38;background:#dcefdc}.packet-result.dropped{color:#9e2f22;background:#ffe0d7}.hardening-section{display:grid;grid-template-columns:.75fr 1.5fr;gap:75px;background:#eee9e3}.hardening-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--fw-line)}.hardening-grid article{min-height:220px;padding:20px;background:var(--fw-paper)}.hardening-grid article:nth-child(2){background:#e8e2dc}.hardening-grid article:nth-child(3){color:#fff;background:var(--fw-orange)}.hardening-grid svg{margin-bottom:45px;color:var(--fw-orange)}.hardening-grid article:nth-child(3) svg{color:#fff}.hardening-grid strong{display:block;font-size:14px}.hardening-grid p{color:var(--fw-muted);font-size:11px;line-height:1.4}.hardening-grid article:nth-child(3) p{color:#76250f}.hardening-grid code{font:9px Courier New,monospace;color:#8a6a5b}.hardening-grid article:nth-child(3) code{color:#76250f}.terminal-section{display:grid;grid-template-columns:.75fr 1.5fr;gap:75px;background:#f4f0eb}.firewall-terminal{overflow:hidden;background:#201c1a;color:#ead8ce}.terminal-heading{display:flex;align-items:center;gap:8px;padding:13px 17px;border-bottom:1px solid #4b342c;color:#fff;font:10px Courier New,monospace}.terminal-heading svg{color:var(--fw-orange)}.terminal-heading span{margin-left:auto;color:#c5a99c;font-size:8px}.firewall-terminal pre{min-height:150px;margin:0;padding:17px;white-space:pre-wrap;color:#e3c7b8;font:11px/1.6 Courier New,monospace}.firewall-terminal form{display:flex;gap:9px;padding:12px 17px;border-top:1px solid #4b342c;color:var(--fw-orange);font:11px Courier New,monospace}.firewall-terminal form input{width:100%;border:0;outline:0;color:#fff;background:transparent;font:11px Courier New,monospace}.terminal-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 17px 17px}.terminal-chips button{padding:6px 8px;color:#d4b6a8;background:#332722;border:1px solid #594137;font:9px Courier New,monospace}.terminal-chips button:hover{color:#fff;border-color:var(--fw-orange)}.checklist-section{display:grid;grid-template-columns:.75fr 1.5fr;gap:75px;background:#fff0e9}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--fw-line)}.checklist p{display:flex;align-items:flex-start;gap:9px;margin:0;padding:18px;background:var(--fw-paper);font-size:11px;line-height:1.4}.checklist svg{flex:0 0 auto;color:var(--fw-orange)}.firewall-next{display:flex;align-items:end;justify-content:space-between;padding:100px clamp(28px,7vw,112px) 120px;color:#fff;background:var(--fw-orange)}.firewall-next .firewall-kicker,.firewall-next-button{color:#76250f!important}.firewall-next-button{display:flex;align-items:center;gap:14px;padding-bottom:7px;border-bottom:1px solid #76250f;font-size:11px}@media(max-width:900px){.firewall-hero,.concept-section,.rules-section,.packet-section,.hardening-section,.terminal-section,.checklist-section{display:block}.shield-art,.chain-cards,.rules-lab,.packet-lab,.hardening-grid,.firewall-terminal,.checklist{margin-top:40px}.rule-builder{grid-template-columns:repeat(3,1fr)}.rule-builder span{grid-column:1/-1}.packet-form{grid-template-columns:repeat(2,1fr)}.evaluate-button{grid-column:span 2}.firewall-next{display:block}.firewall-next-button{display:inline-flex;margin-top:45px}}@media(max-width:620px){.firewall-nav{padding:0 14px}.firewall-nav>span:last-child{display:none}.firewall-section,.firewall-hero{padding:70px 18px}.firewall-hero h1,.firewall-section-title h2,.checklist-section h2,.firewall-next h2{font-size:3.3rem}.chain-cards,.hardening-grid,.checklist{display:block}.chain-cards article,.hardening-grid article,.checklist p{border-bottom:1px solid var(--fw-line)}.rule-builder{display:block}.rule-builder>*{display:block;width:100%;margin-top:7px}.packet-form{display:block}.packet-form label,.evaluate-button{display:flex;width:100%;margin-top:11px}.shield-art{min-height:280px}.checklist p{padding:15px}}@media(prefers-reduced-motion:reduce){.firewall-page *{animation:none!important;transition:none!important}}.rule-row.evaluating-glow{background:#fffdf5;box-shadow:inset 3px 0 #d9c82c;transition:all .2s}.rule-row.evaluating-glow .rule-number{color:#d9c82c}.packet-trace{margin-top:18px;padding:12px;background:#e5dbd3;color:var(--fw-muted);font:10px Courier New,monospace;border-left:2px solid #d9c82c;animation:pulse 1s infinite}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}
