.hero-intro[data-astro-cid-lcobthjc]{max-width:none;margin-bottom:18px}.hero-intro[data-astro-cid-lcobthjc] h2[data-astro-cid-lcobthjc]{letter-spacing:-.02em;margin-bottom:10px;font-family:Fraunces,Georgia,serif;font-size:2rem;font-weight:300}.hero-intro[data-astro-cid-lcobthjc] p[data-astro-cid-lcobthjc]{max-width:none;color:var(--sub,#5c584f);font-size:1.22rem;line-height:1.62}.gapp{height:84vh;min-height:620px;color:var(--navy);grid-template-columns:330px minmax(0,1fr) 400px;gap:16px;font-size:1rem;display:grid}.gpanel{background:var(--cream-2);border:1px solid var(--line);border-radius:8px;overflow:hidden}.gsidebar{padding:22px;overflow:auto}.gsidebar .gintro{color:var(--muted);margin-bottom:18px;font-size:1.04rem;line-height:1.55}.gsection{border-top:1px solid var(--line);padding:16px 0}.gsection:first-of-type{border-top:0;padding-top:0}.gsection-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px;font-family:Courier New,monospace;font-size:.84rem;font-weight:700}.gsection-note{color:var(--muted);margin-top:8px;font-size:.78rem;line-height:1.45}.gswitch-row{justify-content:space-between;align-items:center;gap:10px;margin:10px 0;font-size:1.02rem;display:flex}.gswitch{flex:none;width:34px;height:19px;position:relative}.gswitch input{opacity:0;width:0;height:0}.gslider{background:var(--line);cursor:pointer;border-radius:999px;transition:all .2s;position:absolute;inset:0}.gslider:before{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.gswitch input:checked+.gslider{background:var(--orange)}.gswitch input:checked+.gslider:before{transform:translate(15px)}.glegend{gap:9px;font-size:.94rem;display:grid}.glegend span{align-items:center;gap:8px;display:flex}.gswatch{border-radius:50%;flex:none;width:10px;height:10px}.gapp select,.gapp input[type=search]{border:1px solid var(--line);width:100%;color:var(--navy);font:inherit;background:#fff;border-radius:6px;padding:8px 10px;font-size:.9rem}.gbtn{cursor:pointer;letter-spacing:.03em;border:0;border-radius:6px;width:100%;padding:8px 11px;font-family:Courier New,monospace;font-size:.78rem;font-weight:700}.gbtn-dark{background:var(--navy);color:var(--cream)}.gbtn-light{background:var(--cream-2);color:var(--navy);border:1px solid var(--line)}.gcanvas-panel{min-width:0;position:relative}.gtoolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;height:48px;padding:0 12px;display:flex}.gtoolbar-left,.gtoolbar-right{align-items:center;gap:6px;display:flex}.gicon-btn{border:1px solid var(--line);cursor:pointer;color:var(--navy);background:#fff;border-radius:6px;padding:5px 9px;font-family:Courier New,monospace;font-size:.8rem}.gicon-btn:hover{background:var(--cream-2)}.gzoom-label{color:var(--muted);text-align:center;min-width:36px;font-family:Courier New,monospace;font-size:.72rem}.ggraph-wrap{background:#fcfcfa;height:calc(100% - 48px);position:relative;overflow:hidden}.ggraph-wrap svg{user-select:none;width:100%;height:100%;display:block}.gedge{opacity:.24;stroke-linecap:round;mix-blend-mode:multiply;transition:all .15s}.ghidden{display:none}.gedge.gdim{opacity:.05}.gedge.gactive{stroke-width:2.4px;opacity:.9;mix-blend-mode:normal;stroke:var(--orange)!important}.gnode-group{cursor:grab}.gnode-group:active{cursor:grabbing}.gnode-halo{fill:#fcfcfa;stroke-width:1.6px}.gnode-core{stroke:#fff;stroke-width:1.2px}.gnode-label{fill:var(--navy);paint-order:stroke;stroke:var(--cream);stroke-width:4px;stroke-linejoin:round;pointer-events:none;font-size:14.5px;font-weight:700}.gnode-sub{fill:var(--muted);paint-order:stroke;stroke:var(--cream);stroke-width:3px;pointer-events:none;font-family:Courier New,monospace;font-size:11px}.gnode-group.gdim{opacity:.15}.gnode-group.gactive .gnode-halo{stroke-width:3.5px;stroke:var(--orange)}.gempty{color:var(--muted);justify-content:center;align-items:center;font-size:.85rem;display:none;position:absolute;inset:0}.gdetails{flex-direction:column;display:flex}.gdetails-head{border-bottom:1px solid var(--line);padding:16px}.gkicker{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-family:Courier New,monospace;font-size:.74rem;font-weight:700}.gdetails h2{letter-spacing:-.01em;margin:6px 0;font-family:Fraunces,Georgia,serif;font-size:1.5rem;font-weight:300;line-height:1.22}.gdetails p{color:var(--muted);margin:0;font-size:.94rem;line-height:1.55}.gdetails-body{padding:18px;overflow:auto}.gpills{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.gpill{background:var(--cream);color:var(--tan);text-transform:uppercase;letter-spacing:.04em;border-radius:10px;padding:2px 9px;font-family:Courier New,monospace;font-size:.68rem}.gstat-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:18px;display:grid}.gstat{border:1px solid var(--line);border-radius:6px;padding:10px}.gstat b{color:var(--navy);font-size:1.35rem;font-weight:400;display:block}.gstat span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-family:Courier New,monospace;font-size:.66rem}.gconnection{border-top:1px solid var(--line);padding:10px 0;font-size:.9rem}.gconnection b{margin-bottom:3px;font-weight:700;display:block}.gconnection span{color:var(--muted);font-family:Courier New,monospace;font-size:.78rem}.gnotice{color:var(--muted);background:var(--cream);border-radius:6px;margin-top:12px;padding:10px;font-size:.8rem;line-height:1.5}.gcount{color:var(--muted);font-family:Courier New,monospace;font-size:.78rem}.gstructure-list{gap:5px;max-height:280px;display:grid;overflow:auto}.gstructure-choice{border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:7px;padding:7px 8px;font-size:.88rem;display:flex}.gstructure-choice input{accent-color:var(--orange)}.gmini-actions{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.gmini-btn{border:1px solid var(--line);background:var(--cream);cursor:pointer;border-radius:6px;padding:6px 7px;font-family:Courier New,monospace;font-size:.68rem;font-weight:700}.gmini-btn:hover{background:var(--cream-2)}@media (width<=1050px){.gapp{grid-template-columns:230px minmax(560px,1fr);height:auto}.gdetails{display:none}.gcanvas-panel{height:640px}}
