[hidden]{display:none!important}
.hero.net .frame{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);background:var(--black);box-shadow:inset 0 0 0 1px var(--line)}
.net-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:end;padding:34px 48px 28px}
.net-head .t{grid-column:1/9}
.net-head .t .label{margin-bottom:14px;color:var(--silver-bright)}
.net-head .h1{font-size:clamp(34px,3.7vw,58px)}
.net-head .s{grid-column:9/13;justify-self:end;max-width:420px;font:300 15px/1.6 var(--fb);color:var(--silver-bright)}
.net-bar{display:flex;align-items:center;gap:20px;min-width:0;min-height:58px;padding:0 48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.net-bar>.label{flex:none}
.chips{display:flex;flex:none;box-shadow:inset 0 0 0 1px var(--line)}
.chips button,.taa-chip{background:none;border:0;cursor:pointer;padding:12px 16px;font:500 11px/1 var(--fd);letter-spacing:.2em;text-transform:uppercase;color:var(--silver-light);white-space:nowrap;transition:background .45s var(--out),color .45s var(--out)}
.chips button+button{border-left:1px solid var(--line)}
.taa-chip{flex:none;box-shadow:inset 0 0 0 1px var(--line)}
.taa-chip .taa{margin-right:8px;transition:color .45s var(--out)}
.chips button[aria-pressed="true"],.taa-chip[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.taa-chip[aria-pressed="true"] .taa{color:var(--accent-ink)}
@media(hover:hover) and (pointer:fine){.chips button:not([aria-pressed="true"]):hover,.taa-chip:not([aria-pressed="true"]):hover{background:rgba(245,245,245,.06);color:var(--white)}}
.readout{margin-left:auto;text-align:right;font:400 12px/1.4 var(--fd);letter-spacing:.16em;text-transform:uppercase;color:var(--silver-bright);min-height:1.4em}
.net-stage{display:grid;grid-template-columns:minmax(0,1fr) 412px;min-height:0}
.net-mapwrap{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;scroll-margin-top:calc(var(--nav) + 8px)}
.net-map{position:relative;flex:1;min-height:0;overflow:clip;background:var(--black)}
html:not(.js) .net-mapwrap,html:not(.js) .net-bar{display:none}
.net-map svg{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1.6s var(--out)}
.net-map.ready svg{opacity:1}
.net-map::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 80px 24px rgba(10,10,10,.92)}
.net-legend{position:absolute;right:24px;bottom:18px;z-index:2;display:flex;gap:22px;pointer-events:none;font:400 10.5px/1 var(--fd);letter-spacing:.18em;text-transform:uppercase;color:var(--silver)}
.net-legend span{display:inline-flex;align-items:center;gap:8px}
.net-legend .o{width:7px;height:7px;border-radius:50%;box-shadow:inset 0 0 0 1.2px var(--silver-bright)}
#map .land{fill:rgba(200,200,200,.075)}
#map .c{fill:var(--silver-bright);fill-opacity:.17;stroke:rgba(216,216,216,.46);stroke-width:1;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill-opacity .6s var(--out),stroke .6s var(--out)}
#map.filtered .c{fill-opacity:.055;stroke:rgba(216,216,216,.2)}
#map.filtered .c.on{fill:var(--accent);fill-opacity:.5;stroke:rgba(245,245,245,.85)}
#map .c.hover,#map.filtered .c.hover{fill:var(--accent);fill-opacity:.42;stroke:rgba(245,245,245,.9)}
#map.filtered .c.on.hover{fill-opacity:.64}
#map .c.sel,#map.filtered .c.sel{fill:var(--accent);fill-opacity:.82;stroke:var(--accent)}
#map.picked .c{fill-opacity:.1;stroke:rgba(216,216,216,.32)}
#map.picked.filtered .c{fill-opacity:.04;stroke:rgba(216,216,216,.16)}
#map.picked.filtered .c.on{fill-opacity:.24;stroke:rgba(245,245,245,.5)}
#map.picked .c.hover,#map.picked.filtered .c.hover{fill-opacity:.36;stroke:rgba(245,245,245,.8)}
#map.picked .c.sel,#map.picked.filtered .c.sel{fill:var(--accent);fill-opacity:.9;stroke:#fff;stroke-width:2}
#map.picked.filtered .m.on:not(.sel){opacity:.7}
#map .m{pointer-events:none;transition:opacity .6s var(--out)}
#map .m .hit{fill:transparent;pointer-events:all;cursor:pointer}
#map .m .ring,#map .m .st,#map .m .ping{transform-box:fill-box;transform-origin:center}
#map .m .ring,#map .m .st{transform:scale(.74);transition:transform .7s var(--out),fill .5s var(--out),stroke .5s var(--out),color .5s var(--out),opacity .5s var(--out)}
#map.near .m .ring,#map.near .m .st{transform:none}
#map .m .ring{fill:var(--black);stroke:var(--silver-bright);stroke-width:1.2}
#map .m .st{color:var(--accent);stroke:rgba(10,10,10,.8);stroke-width:30;stroke-linejoin:round;paint-order:stroke}
#map .m .ping{fill:none;stroke:var(--accent);stroke-width:1;opacity:0}
#map .m.pinged .ping{animation:ping 1.7s var(--out) 1}
@keyframes ping{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(5)}}
#map .m text{font:500 10.5px var(--fd);letter-spacing:.2em;fill:var(--silver-bright);paint-order:stroke;stroke:rgba(10,10,10,.82);stroke-width:3px;stroke-linejoin:round;opacity:0;transition:opacity .6s var(--out)}
#map .m.wl text,#map.near .m text{opacity:1}
#map.filtered .m{opacity:.28}
#map.filtered .m.on{opacity:1}
#map .m.hover .ring,#map.near .m.hover .ring{fill:var(--accent);stroke:var(--accent);transform:scale(1.2)}
#map .m.hover .st,#map.near .m.hover .st{transform:scale(1.15)}
#map .m.hover text{opacity:1;fill:var(--white)}
#map .m.sel{opacity:1}
#map .m.sel .ring{fill:var(--accent-ink);stroke:var(--accent-ink)}
#map .m.sel .st{color:var(--accent-ink);stroke:none}
#map .m.sel text{opacity:0}
.net-rail{border-left:1px solid var(--line);min-height:0;overflow:auto;background:var(--black);scrollbar-width:thin;scrollbar-color:rgba(192,192,192,.25) transparent}
.rail-list,.rail-detail{display:flex;flex-direction:column;min-height:100%;padding:24px 32px 22px}
.rail-detail{padding-bottom:0}
.rail-list>.label{margin-bottom:14px;color:var(--silver-bright)}
.rail-list ol{list-style:none;flex:1;display:grid;grid-auto-rows:minmax(42px,1fr);border-top:1px solid var(--line)}
.rail-list li{display:flex;border-bottom:1px solid var(--line)}
.rail-list button{flex:1;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 6px;background:none;border:0;cursor:pointer;text-align:left;transition:background .45s var(--out),opacity .45s var(--out)}
.rail-list .idx{font:300 13px/1 var(--fd);letter-spacing:.16em;color:var(--silver)}
.rail-list .nm{font:500 15px/1.3 var(--fb);color:var(--white)}
.rail-list .nm .taa{margin-left:7px;font-size:12px}
.rail-list .cm{font:400 10.5px/1.3 var(--fd);letter-spacing:.16em;text-transform:uppercase;color:var(--silver);white-space:nowrap}
.rail-list button.hover,.rail-list button:focus-visible{background:rgba(245,245,245,.055)}
.rail-list.filtered button:not(.on){opacity:.32}
.rail-detail{animation:railin .8s var(--out) both}
@keyframes railin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.rail-detail .back{align-self:flex-start;background:none;border:0;cursor:pointer;padding:6px 0;margin-bottom:18px;font:500 11px/1 var(--fd);letter-spacing:.2em;text-transform:uppercase;color:var(--silver-light);transition:color .4s var(--out)}
.rail-detail .back:hover{color:var(--white)}
.rail-detail .cname{font:300 clamp(34px,2.9vw,44px)/1.04 var(--fd);color:var(--white);margin-top:10px;outline:none}
.rail-detail .cname .taa{font-size:.46em;vertical-align:.62em;margin-left:10px}
.rail-detail .taaline{margin-top:12px;font:400 14px/1.6 var(--fb);color:var(--silver-light)}
.rail-detail .bl{margin-top:22px}
.built{margin-top:12px;border-top:1px solid var(--line)}
.built a{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:background .45s var(--out)}
.built .n{font:300 18px/1 var(--fd);color:var(--silver);align-self:start;padding-top:3px}
.built b{display:block;font:500 15px/1.4 var(--fb);color:var(--white)}
.built b .taa{margin-left:7px;font-size:12px}
.built small{display:block;margin-top:2px;font:400 13px/1.5 var(--fb);color:var(--silver)}
.built small.nt{color:var(--silver-light)}
.built .go{font:300 20px/1 var(--fd);color:var(--silver);padding:0 4px 0 8px;transition:transform .5s var(--out),color .5s var(--out)}
@media(hover:hover) and (pointer:fine){.built a:hover{background:rgba(245,245,245,.04)}.built a:hover .go{transform:translateX(4px);color:var(--white)}}
.alt{margin-top:16px;font:400 13px/1.7 var(--fb);color:var(--silver)}
.alt button{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:var(--white);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.alt button .taa{margin-left:4px;font-size:11px}
.rail-detail .foot{position:sticky;bottom:0;margin-top:auto;padding:30px 0 20px;background:linear-gradient(180deg,rgba(10,10,10,0),var(--black) 26px)}
.rail-detail .foot .btn{width:100%;justify-content:center;padding:17px 28px}
.pn{display:flex;justify-content:space-between;gap:16px;margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}
.pn button{background:none;border:0;cursor:pointer;padding:6px 0;font:500 11px/1 var(--fd);letter-spacing:.2em;text-transform:uppercase;color:var(--silver-light);transition:color .4s var(--out)}
.pn button:hover{color:var(--white)}
.statement.net-by .ledger .row.link-row{grid-template-columns:72px 3fr 6fr 200px;align-items:baseline}
.statement.net-by .ledger .link{justify-self:end}
@media(max-height:759px) and (min-width:1101px){
  .hero.net{position:relative;height:auto;min-height:0}
  .hero.net .hero-in{position:relative;inset:auto;transform:none!important;opacity:1!important}
  .hero.net .frame{position:relative;inset:auto;margin:var(--nav) var(--inset) 0}
  .hero.net .veil{display:none}
  .net-stage{height:540px}
}
@media(max-width:1100px){
  .hero.net{position:relative;height:auto;min-height:0}
  .hero.net .hero-in{position:relative;inset:auto;transform:none!important;opacity:1!important}
  .hero.net .frame{position:relative;inset:auto;margin:var(--nav) var(--inset) 0}
  .hero.net .veil{display:none}
  .net-head{grid-template-columns:1fr;row-gap:14px;padding:28px 32px 24px}
  .net-head .t,.net-head .s{grid-column:1}.net-head .s{justify-self:start;max-width:62ch}
  .net-bar{flex-wrap:wrap;gap:10px 14px;padding:12px 32px}
  .readout{flex-basis:100%;margin:0;text-align:left}
  .net-stage{grid-template-columns:minmax(0,1fr)}
  .net-map{flex:none;aspect-ratio:16/10;max-height:60svh;width:100%}
  .net-legend{position:static;padding:12px 32px;border-top:1px solid var(--line);flex-wrap:wrap;gap:8px 22px}
  .net-rail{border-left:0;border-top:1px solid var(--line);overflow:visible}
  .rail-list,.rail-detail{min-height:0;padding:24px 32px 28px}
  .rail-list ol{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;grid-auto-rows:54px}
  .rail-list .cm{display:none}
  .rail-detail{padding-bottom:8px}.rail-detail .foot{position:static;margin-top:4px;background:none}.rail-detail .foot .btn{width:auto}
  .statement.net-by .ledger .row.link-row{grid-template-columns:56px 1fr 1fr;gap:12px 20px}.statement.net-by .ledger .row.link-row .link{grid-column:2;justify-self:start}
}
@media(max-width:640px){
  .net-head{padding:24px 20px 20px}.net-head .h1{font-size:clamp(32px,9.4vw,42px)}.net-head .s{font-size:14px}
  .net-bar{padding:12px 20px}.net-bar>.label{display:none}
  .chips{max-width:100%;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
  .chips .chip-x{display:none}
  .chips button,.taa-chip{padding:12px 13px;font-size:10.5px;letter-spacing:.16em}
  .net-map{aspect-ratio:3/2}
  #map .m .st{transform:scale(.62)}#map.near .m .st{transform:none}
  .net-legend{padding:11px 20px;gap:6px 18px;font-size:10px}
  .rail-list,.rail-detail{padding:20px 20px 24px}
  .rail-list ol{grid-template-columns:minmax(0,1fr);grid-auto-rows:50px}
  .rail-list .cm{display:block}
  .rail-detail .foot .btn{width:100%}
  .statement.net-by .ledger .row.link-row{grid-template-columns:48px 1fr}.statement.net-by .ledger .row.link-row .v,.statement.net-by .ledger .row.link-row .link{grid-column:2}
}
@media(prefers-reduced-motion:reduce){.net-map svg{transition:none}.rail-detail{animation:none}#map .c,#map .m,#map .m text,#map .m .ring,#map .m .st{transition:none}#map .m.pinged .ping{animation:none}}
