.network-tool-page{--tool-panel:#101520;--tool-raised:#171e2b;--tool-deep:#0b0e16;--tool-line:#303a4b;--tool-text:#edf2f7;--tool-muted:#99a6b8;--tool-blue:#70a9d6;--tool-green:#69d59b;--tool-amber:#efb46a;--tool-salmon:#e98c77;--tool-lavender:#ad96d8;min-height:80vh}.network-tool-page [hidden]{display:none!important}.network-tool-page button,.network-tool-page input,.network-tool-page select{font:inherit}.network-tool-page button{cursor:pointer}.network-tool-page .mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.network-tool-hero{padding-block:70px 36px}.network-tool-back{gap:.55rem;margin-bottom:2.5rem;font-size:.76rem;font-weight:750;text-decoration:none;display:inline-flex;color:var(--tool-muted)!important}.network-tool-back:hover{color:var(--tool-text)!important}.network-tool-heading{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.network-tool-heading h1,.network-tools-index-hero h1{color:var(--tool-text);letter-spacing:-.055em;text-transform:none;margin:0 0 1.1rem;font-size:clamp(2.7rem,5vw,4.7rem);font-weight:650;line-height:.98}.network-tool-lede{max-width:760px;color:var(--tool-muted);font-size:1.04rem;line-height:1.75}.local-badge{color:var(--tool-green);letter-spacing:.08em;text-transform:uppercase;border:1px solid #397f68;border-radius:999px;flex:none;align-items:center;gap:.5rem;padding:.45rem .75rem;font-family:ui-monospace,monospace;font-size:.66rem;font-weight:800;display:inline-flex}.local-badge i{background:var(--tool-green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 9px #69d59b80}.network-tool-tabs{border:1px solid var(--tool-line);background:var(--tool-line);border-radius:6px 22px 22px 6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:2.5rem;display:grid;overflow:hidden}.network-tool-tabs a{background:var(--tool-panel);color:var(--tool-muted);border-left:5px solid #0000;gap:.25rem;padding:1rem 1.2rem;text-decoration:none;display:grid}.network-tool-tabs a:hover{background:var(--tool-raised);color:var(--tool-text);text-decoration:none}.network-tool-tabs a.active{border-left-color:var(--tool-lavender);background:var(--tool-raised);color:var(--tool-text)}.network-tool-tabs span{color:var(--tool-blue);letter-spacing:.11em;text-transform:uppercase;font-family:ui-monospace,monospace;font-size:.6rem;font-weight:800}.network-tool-tabs strong{color:var(--tool-text);font-size:.88rem}.network-tool-tabs small{color:var(--tool-muted);font-size:.7rem}.network-tool-workspace{padding-bottom:35px}.tool-panel{border:1px solid var(--tool-line);border-left:7px solid var(--tool-blue);background:var(--tool-panel);border-radius:7px 25px 25px 7px;padding:clamp(1rem,3vw,2rem);box-shadow:18px 18px #05070c}.vlan-planner{border-left-color:var(--tool-lavender)}.tool-privacy-note{border-bottom:1px solid var(--tool-line);color:var(--tool-muted);margin:0 0 1rem;padding:0 0 1rem;font-size:.78rem;line-height:1.55}.tool-privacy-note strong{color:var(--tool-green)}.tool-notice{border:1px solid #725a36;border-left:5px solid var(--tool-amber);color:#f3d6a8;background:#2a241c;border-radius:5px 14px 14px 5px;margin:1rem 0 0;padding:.75rem .9rem;font-size:.76rem;line-height:1.5}[data-planner-state=failed] .planner-startup{border-color:#8c4149;border-left-color:var(--tool-salmon);color:#ffc1bd;background:#371b21}.tool-kicker,.tool-section-heading p{color:var(--tool-blue);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .35rem;font-family:ui-monospace,monospace;font-size:.62rem;font-weight:800}.tool-section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.tool-section-heading h2,.vlan-parent-controls h2{color:var(--tool-text);letter-spacing:0;text-transform:none;margin:0;font-size:1.05rem}.tool-section-heading small{max-width:680px;color:var(--tool-muted);margin-top:.5rem;font-size:.74rem;line-height:1.5;display:block}.tool-button{border:1px solid var(--tool-blue);color:#eef7ff;background:#244868;border-radius:5px 14px 14px 5px;min-height:38px;padding:.55rem .9rem;font-weight:800}.tool-button:hover{background:#315c7f}.tool-button-small{flex:none;font-size:.72rem}.network-tool-page input:not([type=range]),.network-tool-page select{width:100%;min-height:42px;color:var(--tool-text);background:#090d15;border:1px solid #495568;border-radius:5px 12px 12px 5px;margin-top:.4rem;padding:.65rem .75rem}.network-tool-page input:hover,.network-tool-page select:hover{border-color:var(--tool-blue)}.network-tool-page input:focus,.network-tool-page select:focus{border-color:var(--tool-blue);outline-offset:2px;outline:2px solid #70a9d655}.network-tool-page label{color:var(--tool-muted);letter-spacing:.035em;font-size:.7rem;font-weight:800}.subnet-controls{border:1px solid var(--tool-line);background:var(--tool-deep);border-radius:10px;grid-template-columns:minmax(260px,.85fr) minmax(380px,1.35fr);gap:1rem 1.25rem;margin-top:1rem;padding:1rem;display:grid}.subnet-address-field{align-self:end}.subnet-address-field input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem}.subnet-address-field small{color:var(--tool-muted);margin-top:.4rem;font-size:.68rem;font-weight:400;display:block}.subnet-presets{border:0;min-width:0;margin:0;padding:0}.subnet-presets legend{color:var(--tool-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.45rem;font-size:.68rem;font-weight:800}.subnet-presets>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.subnet-presets button{border:1px solid var(--tool-line);background:var(--tool-raised);min-width:0;min-height:39px;color:var(--tool-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:5px 12px 12px 5px;padding:.42rem .5rem;font-size:.67rem;overflow:hidden}.subnet-presets button:hover{border-color:var(--tool-blue);color:var(--tool-text)}.subnet-presets button[aria-pressed=true]{border-color:var(--tool-lavender);color:var(--tool-text);box-shadow:inset 0 0 0 1px var(--tool-lavender);background:#302742}.subnet-presets button span{color:var(--tool-blue);font-family:ui-monospace,monospace}.subnet-prefix-control{grid-column:1/-1}.subnet-prefix-control>div:first-child{justify-content:space-between;align-items:center;display:flex}.subnet-prefix-control output{border:1px solid var(--tool-blue);color:#b8dcf8;border-radius:12px;padding:.22rem .55rem;font-family:ui-monospace,monospace;font-size:.78rem;font-weight:800}.subnet-prefix-control input[type=range]{width:100%;height:24px;accent-color:var(--tool-blue);cursor:pointer;margin:.5rem 0 0;padding:0}.subnet-prefix-scale{color:var(--tool-muted);grid-template-columns:repeat(5,1fr);font-family:ui-monospace,monospace;font-size:.6rem;display:grid}.subnet-prefix-scale span{text-align:center}.subnet-prefix-scale span:first-child{text-align:left}.subnet-prefix-scale span:last-child{text-align:right}.subnet-error{grid-column:1/-1;margin:0}.subnet-results{gap:1rem;margin-top:1rem;display:grid}.subnet-visual,.subnet-range,.vlan-map-panel,.vlan-plan-table{border:1px solid var(--tool-line);background:linear-gradient(145deg,#111824,#0c111a);border-radius:10px;min-width:0;padding:1rem}.subnet-legend{color:var(--tool-muted);flex-wrap:wrap;gap:.75rem;font-size:.68rem;display:flex}.subnet-legend span{align-items:center;gap:.35rem;display:flex}.subnet-legend i{border-radius:3px;width:9px;height:9px}.subnet-key-network{background:var(--tool-blue)}.subnet-key-host{background:var(--tool-green)}.subnet-octets{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:1rem;display:grid}.subnet-octet{min-width:0}.subnet-octet>div:first-child{justify-content:space-between;align-items:baseline;margin-bottom:.4rem;padding:0 .15rem;display:flex}.subnet-octet>div:first-child span{color:var(--tool-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.61rem;font-weight:750}.subnet-octet>div:first-child strong{color:var(--tool-text);font-family:ui-monospace,monospace;font-size:.88rem}.subnet-bit-row,.subnet-bit-weights{grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;display:grid}.subnet-bit{border:1px solid #0000;border-radius:4px;place-items:center;min-width:0;height:30px;font-family:ui-monospace,monospace;font-size:.7rem;font-weight:800;display:grid}.subnet-bit-network{color:#d9edff;background:#244868;border-color:#497ba3}.subnet-bit-host{color:#d8f8e8;background:#1d573f;border-color:#397f68}.subnet-bit-boundary{box-shadow:-3px 0 0 var(--tool-amber)}.subnet-bit-weights{color:#768497;text-align:center;margin-top:.25rem;font-family:ui-monospace,monospace;font-size:.49rem}.subnet-cidr{color:#b8dcf8}.subnet-range-track{--subnet-address-position:50%;height:42px;margin:1.65rem .25rem .35rem;position:relative}.subnet-range-track:before{background:linear-gradient(90deg, var(--tool-salmon), var(--tool-green) 4%, var(--tool-green) 96%, var(--tool-salmon));content:"";border-radius:3px;height:4px;position:absolute;top:20px;left:0;right:0}.subnet-range-start,.subnet-range-end{background:var(--tool-salmon);border:3px solid #351c1b;border-radius:50%;width:14px;height:14px;position:absolute;top:15px}.subnet-range-start{left:-1px}.subnet-range-end{right:-1px}.subnet-address-marker{z-index:2;top:-7px;left:var(--subnet-address-position);color:#b8dcf8;white-space:nowrap;justify-items:center;font-size:.61rem;font-weight:800;display:grid;position:absolute;transform:translate(-50%)}.subnet-address-marker i{background:var(--tool-blue);width:2px;height:28px;margin-top:.2rem;box-shadow:0 0 9px #70a9d688}.subnet-range-labels{justify-content:space-between;gap:1rem;display:flex}.subnet-range-labels>span{gap:.2rem;display:grid}.subnet-range-labels>span:last-child{text-align:right;justify-items:end}.subnet-range-labels small{color:var(--tool-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.61rem;font-weight:750}.subnet-range-labels strong{color:var(--tool-text);font-size:.72rem}.subnet-facts{border:1px solid var(--tool-line);background:var(--tool-line);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.subnet-facts>div{background:var(--tool-raised);min-width:0;padding:.85rem 1rem}.subnet-facts dt{color:var(--tool-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.3rem;font-size:.63rem}.subnet-facts dd{color:var(--tool-text);overflow-wrap:anywhere;margin:0;font-size:.84rem;font-weight:750}.vlan-form{gap:1rem;margin-top:1rem;display:grid}.vlan-parent-controls,.vlan-requirements{border:1px solid var(--tool-line);background:var(--tool-deep);border-radius:10px;padding:1rem}.vlan-parent-controls{grid-template-columns:minmax(260px,1fr) minmax(220px,.55fr);gap:.75rem 1rem;display:grid}.vlan-parent-controls>div{grid-column:1/-1}.vlan-parent-controls input{font-family:ui-monospace,monospace}.vlan-row-head,.vlan-row{grid-template-columns:minmax(180px,1.35fr) minmax(100px,.55fr) minmax(130px,.65fr) 36px;align-items:center;gap:.55rem;display:grid}.vlan-row-head{color:var(--tool-muted);letter-spacing:.06em;text-transform:uppercase;padding:.8rem .2rem .4rem;font-size:.61rem;font-weight:800}.vlan-rows{gap:.45rem;display:grid}.vlan-row{border-top:1px solid #263142;padding-top:.45rem}.vlan-row label>span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.vlan-row input{min-width:0;margin:0!important;padding:.55rem .65rem!important}.vlan-remove{border:1px solid var(--tool-line);width:34px;height:34px;color:var(--tool-muted);background:0 0;border-radius:50%;place-items:center;padding:0;font-size:1.1rem;display:grid}.vlan-remove:hover{border-color:var(--tool-salmon);color:#ffb3ad;background:#371b21}.vlan-error{margin:0}.vlan-results{gap:1rem;min-width:0;margin-top:1rem;display:grid}.vlan-summary{border:1px solid var(--tool-line);background:var(--tool-line);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.vlan-summary>div{background:var(--tool-raised);padding:.8rem 1rem}.vlan-summary span,.vlan-summary strong{display:block}.vlan-summary span{color:var(--tool-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.6rem;font-weight:800}.vlan-summary strong{color:var(--tool-text);font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:1.1rem}.vlan-map{background:#0b1018;border:1px solid #405069;border-radius:7px;width:100%;min-height:112px;margin-top:1rem;display:flex;overflow:hidden}.vlan-map-segment{color:#f6f9fc;text-shadow:0 1px 2px #0008;border-right:2px solid #0b1018;flex-direction:column;flex-basis:0;justify-content:end;min-width:4px;padding:.65rem .6rem;display:flex;overflow:hidden}.vlan-map-segment:last-child{border-right:0}.vlan-map-segment strong,.vlan-map-segment span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vlan-map-segment strong{font-size:.7rem}.vlan-map-segment span{opacity:.86;margin-top:.15rem;font-family:ui-monospace,monospace;font-size:.58rem}.vlan-map-compact{text-align:center;padding:.5rem .25rem}.vlan-map-remaining{min-width:48px;color:var(--tool-muted);text-shadow:none;background:repeating-linear-gradient(135deg,#263142,#263142 7px,#1c2533 7px 14px)}.vlan-map-boundaries{color:var(--tool-muted);justify-content:space-between;gap:1rem;margin-top:.4rem;font-size:.66rem;display:flex}.vlan-color-0{background:#346d91}.vlan-color-1{background:#4d4f96}.vlan-color-2{background:#287966}.vlan-color-3{background:#8b5d35}.vlan-color-4{background:#7c486a}.vlan-color-5{background:#47713c}.vlan-color-6{background:#7a4c4f}.vlan-color-7{background:#366f78}.vlan-warnings{border-left-color:var(--tool-green);color:#c8e9d7;background:#19362e;margin:0}.vlan-warnings ul{gap:.35rem;margin:.55rem 0 0;padding-left:1.15rem;font-size:.73rem;display:grid}.tool-table-scroll{margin-top:.8rem;overflow-x:auto}.tool-table-scroll:focus{outline:2px solid var(--tool-blue);outline-offset:2px}.vlan-plan-table table{border-collapse:collapse;width:100%;min-width:1080px;color:var(--tool-text);font-size:.74rem}.vlan-plan-table th{border-bottom:1px solid var(--tool-line);color:var(--tool-muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:.65rem;font-size:.6rem}.vlan-plan-table td{vertical-align:middle;border-bottom:1px solid #252e3c;padding:.7rem .65rem}.vlan-plan-table tr:last-child td{border-bottom:0}.vlan-plan-identity{align-items:center;gap:.55rem;min-width:140px;display:flex}.vlan-plan-identity>span,.vlan-plan-identity strong,.vlan-plan-identity small{display:block}.vlan-plan-identity small{max-width:150px;color:var(--tool-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-size:.65rem;overflow:hidden}.vlan-plan-swatch{border-radius:3px;flex:none;width:10px;height:30px}.vlan-usable-range{min-width:225px}.network-tool-cta{border:1px solid var(--tool-line);background:#0b0e16;border-radius:6px 24px 24px 6px;justify-content:space-between;align-items:center;gap:3rem;margin-block:70px 20px;padding:2.5rem 3rem;display:flex}.network-tool-cta h2{color:var(--tool-text);letter-spacing:-.035em;text-transform:none;margin:0 0 .8rem;font-size:clamp(1.7rem,3vw,2.7rem)}.network-tool-cta p:not(.signal-label){max-width:720px;color:var(--tool-muted);margin:0;font-size:.9rem;line-height:1.65}.network-tool-cta .signal-button{flex:none}.network-tools-index-hero{padding-block:100px 60px}.network-tools-index-hero h1 em{color:var(--tool-lavender);font-family:Iowan Old Style,Baskerville,Times New Roman,serif;font-weight:400}.network-tools-index-hero>p:last-child{max-width:760px;color:var(--tool-muted);font-size:1.08rem;line-height:1.75}.network-tool-card-grid{border:1px solid var(--tool-line);background:var(--tool-line);border-radius:6px 25px 25px 6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.network-tool-card{--card-accent:var(--tool-amber);background:var(--tool-panel);min-height:360px;padding:2.4rem;text-decoration:none;display:block;position:relative;color:var(--tool-text)!important}.network-tool-card.lavender{--card-accent:var(--tool-lavender)}.network-tool-card:before{background:var(--card-accent);content:"";width:6px;position:absolute;inset:0 auto 0 0}.network-tool-card:hover{background:var(--tool-raised);text-decoration:none}.network-tool-card>span{color:var(--card-accent);letter-spacing:.12em;font-family:ui-monospace,monospace;font-size:.67rem;font-weight:800}.network-tool-card h2{color:var(--tool-text);letter-spacing:-.025em;text-transform:none;margin:5rem 0 1rem;font-size:1.65rem}.network-tool-card p{max-width:500px;color:var(--tool-muted);font-size:.92rem;line-height:1.7}.network-tool-card>strong{color:var(--card-accent);gap:.8rem;margin-top:1.25rem;font-size:.78rem;display:inline-flex}.network-tool-card i{font-style:normal}.network-tools-privacy{border-block:1px solid var(--tool-line);grid-template-columns:minmax(180px,.5fr) minmax(0,1.5fr);align-items:center;gap:4rem;margin-block:110px 30px;padding-block:65px;display:grid}.network-tools-privacy h2{color:var(--tool-text);letter-spacing:-.045em;text-transform:none;margin:0 0 1rem;font-size:clamp(1.8rem,4vw,3.5rem)}.network-tools-privacy p:not(.signal-label){max-width:720px;color:var(--tool-muted);line-height:1.7}.privacy-signal{border:1px solid var(--tool-line);background:var(--tool-panel);border-radius:6px 22px 22px 6px;justify-content:center;align-items:center;gap:1rem;min-height:150px;display:flex}.privacy-signal i{background:var(--tool-green);border-radius:50%;width:13px;height:13px;box-shadow:0 0 18px #69d59b88}.privacy-signal i:nth-child(2){opacity:.72;width:8px;height:8px}.privacy-signal i:nth-child(3){opacity:.44;width:5px;height:5px}@media (width<=850px){.subnet-controls{grid-template-columns:1fr}.subnet-prefix-control{grid-column:auto}.subnet-octets,.vlan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.network-tool-cta{flex-direction:column;align-items:flex-start}}@media (width<=650px){.network-tool-hero{padding-block:48px 24px}.network-tool-heading{flex-direction:column}.network-tool-tabs,.network-tool-card-grid{grid-template-columns:1fr}.tool-panel{padding:.9rem;box-shadow:8px 8px #05070c}.subnet-presets>div{grid-template-columns:repeat(2,minmax(0,1fr))}.subnet-octets{grid-template-columns:1fr}.tool-section-heading{flex-direction:column;align-items:flex-start}.subnet-range-labels{font-size:.65rem}.subnet-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.vlan-parent-controls{grid-template-columns:1fr}.vlan-row-head{display:none}.vlan-row{border:1px solid var(--tool-line);border-radius:8px;grid-template-columns:1fr 1fr 36px;padding:.7rem}.vlan-row label:first-child{grid-column:1/-1}.vlan-row label>span{clip:auto;white-space:normal;width:auto;height:auto;margin-bottom:.3rem;display:block;position:static;overflow:visible}.vlan-summary{grid-template-columns:1fr 1fr}.vlan-map{min-height:90px}.network-tool-cta{margin-top:50px;padding:2rem 1.4rem}.network-tool-cta .signal-button{width:100%}.network-tools-index-hero{padding-block:65px 40px}.network-tool-card{min-height:310px;padding:1.8rem}.network-tool-card h2{margin-top:3.6rem}.network-tools-privacy{grid-template-columns:1fr;gap:2rem;margin-top:70px}}
