:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#102921;background:#f3f6f4;--ink:#071815;--green:#2d6b5c;--lime:#d8ff46;--line:#dce6e0}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.page-header{background:var(--ink);color:#fff;min-height:82px;display:flex;align-items:center;justify-content:space-between;padding:18px max(24px,calc((100vw - 1440px)/2));gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:800}.brand-mark{display:grid;place-items:center;background:var(--lime);color:var(--ink);width:40px;height:40px;border-radius:11px;font-size:25px}.brand small{display:block;font-size:9px;letter-spacing:.19em;color:#a1b8af;margin-top:4px}.home-link{font-size:13px;color:#d8e7e0}.home-link span{margin-left:10px;color:var(--lime)}main{max-width:1488px;margin:auto;padding:44px 24px 42px}.page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px}.eyebrow{color:var(--green);font-weight:800;letter-spacing:.18em;font-size:10px;margin:0 0 12px}h1{font-family:Georgia,serif;font-weight:700;font-size:clamp(36px,4vw,56px);letter-spacing:-.045em;line-height:1.07;margin:0}h1 span{color:var(--green)}.intro-copy{color:#64776d;font-size:14px;margin:17px 0 0}.intro-aside{text-align:right}.reference-badge{display:inline-flex;gap:8px;align-items:center;background:#e6eee9;border:1px solid #cedcd3;padding:8px 12px;border-radius:999px;font-weight:800;font-size:10px;letter-spacing:.1em}.reference-badge i{width:7px;height:7px;background:var(--green);border-radius:100%}.intro-aside p{font-size:12px;color:#6a7b70;line-height:1.7;margin:12px 0 0}.diagram-panel,.detail-panel{background:#fff;border:1px solid var(--line);border-radius:19px;overflow:hidden}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;border-bottom:1px solid var(--line)}.panel-toolbar .eyebrow{margin-bottom:6px}h2{font-size:22px;font-family:Georgia,serif;letter-spacing:-.025em;margin:0}.toolbar-actions{display:flex;gap:9px;flex-wrap:wrap}.toolbar-actions button{min-height:40px;padding:10px 15px;background:#fff;border:1px solid #d3dfd7;border-radius:8px;color:var(--ink);font-size:12px;font-weight:800}.toolbar-actions button span{margin-left:12px}.toolbar-actions .primary{background:var(--ink);color:#fff;border-color:var(--ink)}a:focus-visible,button:focus-visible,.diagram-viewport:focus-visible{outline:3px solid #82b6a5;outline-offset:3px}.diagram-viewport{overflow:auto;padding:14px;background-image:radial-gradient(#dae4df .6px,transparent .6px);background-size:20px 20px}#topology{display:block;width:100%;min-width:1020px;height:auto}#topology text{font-family:Inter,Arial,sans-serif;fill:#173e31}#topology .node-box{fill:#fff;stroke:#cbded4;stroke-width:1.5}#topology .node-title{font-size:19px;font-weight:700}#topology .node-note{font-size:13px;fill:#667e70}#topology .node-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.5px;fill:#477b65}#topology .node-mini{font-size:12px;fill:#375945}#topology .wire{fill:none;stroke:#3c8166;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}#topology .vpn-wire{stroke:#719418;stroke-width:2.5;stroke-dasharray:9 7}#topology .wireless-wire{stroke:#7d978b;stroke-dasharray:2 6}#topology .link-label{font-size:11px;fill:#3c6652;font-weight:700}#topology .icon{color:#285f49;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#topology .dark-card .node-box{fill:#0c2c22;stroke:#0c2c22}#topology .dark-card text{fill:#fff}#topology .dark-card .node-eyebrow{fill:#bce36b}#topology .dark-card .node-note,#topology .dark-card .node-mini{fill:#c0d7c9}#topology .dark-card .icon{color:#d8ff46}.diagram-caption{border-top:1px solid var(--line);padding:17px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}.diagram-caption p{font-size:12px;color:#64786d;margin:0}.legend{display:flex;gap:20px;flex-wrap:wrap;font-size:10px;font-weight:600;color:#526e5e}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:22px;border-top:2px solid #3c8166}.legend .wireless{border-top:2px dotted #7d978b}.legend .vpn{border-top:2px dashed #719418}.details-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:22px;margin-top:24px}.detail-heading{padding:25px 28px 18px}.detail-heading p:not(.eyebrow){font-size:12px;color:#6a7b70;margin:9px 0 0}.table-scroll{overflow:auto;padding:0 28px 22px}table{width:100%;border-collapse:collapse;font-size:11px;min-width:570px;text-align:left}thead{background:#f0f5f2;color:#587161}th,td{padding:11px 10px;border-bottom:1px solid #e6eee8}thead th{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}tbody th{font-weight:700}td:first-child{font-family:ui-monospace,monospace;color:#60816d}td:nth-child(3){font-family:ui-monospace,monospace;white-space:nowrap;color:#457257}.policy-item{display:flex;gap:15px;margin:0 28px;padding:20px 0;border-bottom:1px solid #e3ece6}.policy-item>span{font-size:10px;font-family:ui-monospace,monospace;color:#88a28f;padding-top:4px}h3{font-size:13px;margin:0 0 7px}.policy-item p{font-size:12px;color:#687d6e;line-height:1.65;margin:0}.design-note{margin:20px 28px 25px;padding:14px 15px;background:#f3f6f3;border-radius:9px;font-size:11px;line-height:1.7;color:#64776a}footer{max-width:1440px;margin:0 auto;padding:20px 0 28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:10px;color:#6e8374;border-top:1px solid #dce6df}footer strong{color:#285a40}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:850px){.page-intro{align-items:flex-start;flex-direction:column}.intro-aside{text-align:left}.intro-aside p{display:none}.details-grid{grid-template-columns:1fr}.panel-toolbar{align-items:flex-start;flex-direction:column}.diagram-caption{align-items:flex-start;flex-direction:column}footer{margin-inline:24px}.page-header{padding-inline:20px}}@media(max-width:480px){main{padding:28px 16px}.brand{font-size:14px}.home-link{font-size:11px}.page-header{gap:10px}.panel-toolbar,.detail-heading{padding:20px}.table-scroll{padding-inline:15px}.toolbar-actions{width:100%}.toolbar-actions button{flex:1}.diagram-caption{padding:18px 20px}.legend{gap:10px}.policy-item{margin-inline:20px}.design-note{margin-inline:20px}h2{font-size:21px}}
@page{size:A3 landscape;margin:12mm}@media print{:root{background:#fff;color:#111}.page-header,.toolbar-actions,.intro-aside,.home-link{display:none}main{max-width:none;padding:0}.page-intro{margin-bottom:14px}h1{font-size:26px}h1 br{display:none}h1 span{margin-left:6px;color:#111}.intro-copy{font-size:10px;margin-top:8px}.diagram-panel,.detail-panel{border-color:#bbb;border-radius:8px;break-inside:avoid}.panel-toolbar{padding:12px 16px}.panel-toolbar h2{font-size:16px}.eyebrow{font-size:8px}.diagram-viewport{overflow:visible;background:none;padding:5px}#topology{width:100%;min-width:0}#topology .node-box{fill:#fff;stroke:#555}#topology .dark-card .node-box{fill:#fff;stroke:#333}#topology .dark-card text,#topology .dark-card .node-note,#topology .dark-card .node-mini,#topology .dark-card .node-eyebrow,#topology text{fill:#111}#topology .icon,#topology .dark-card .icon{color:#111}#topology .wire{stroke:#555}.diagram-caption{padding:10px 14px}.details-grid{grid-template-columns:1.8fr 1fr;gap:14px;margin-top:14px}.detail-heading{padding:14px 16px 8px}.detail-heading h2{font-size:16px}.table-scroll{overflow:visible;padding:0 14px 12px}table{min-width:0;font-size:9px}th,td{padding:6px 7px}.policy-item{margin:0 16px;padding:10px 0}.policy-item h3{font-size:10px}.policy-item p,.design-note{font-size:9px}.design-note{margin:12px 16px}.legend,.diagram-caption p{font-size:9px}footer{margin-top:14px;padding:10px 0 0;font-size:8px}a{color:#111}}
