.Topology-module__ks20kq__figure{margin:0}.Topology-module__ks20kq__tiers{justify-items:center;display:grid}.Topology-module__ks20kq__tier{text-align:center;width:100%}.Topology-module__ks20kq__tier+.Topology-module__ks20kq__tier:before{content:"";background:linear-gradient(var(--line), color-mix(in srgb, var(--accent) 45%, var(--line)));width:1px;height:1.75rem;margin:0 auto;display:block}.Topology-module__ks20kq__hop{border:1px solid var(--line);background:var(--panel);color:var(--fg);font-family:var(--font-code);font-size:var(--step--2);letter-spacing:.04em;border-radius:10px;padding:.6rem .9rem;display:inline-block}.Topology-module__ks20kq__hostLabel{color:var(--muted);font-family:var(--font-code);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;margin-block-end:1.25rem}.Topology-module__ks20kq__nodes{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:1.25rem .75rem;padding-top:1.25rem;display:grid}.Topology-module__ks20kq__node{border:1px solid var(--line);background:var(--panel);font-family:var(--font-code);font-size:var(--step--2);letter-spacing:.04em;border-radius:10px;padding:.6rem .7rem;position:relative}.Topology-module__ks20kq__node:before{content:"";background:var(--line);width:1px;height:1.25rem;position:absolute;top:-1.25rem;left:50%}.Topology-module__ks20kq__node[data-here=true]{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent), 0 0 28px -8px var(--accent)}.Topology-module__ks20kq__nodeLabel{display:block}.Topology-module__ks20kq__here{color:var(--accent);font-size:var(--step--2);justify-content:center;align-items:center;gap:.4rem;margin-block-start:.4rem;display:flex}.Topology-module__ks20kq__aside{color:var(--muted);font-family:var(--font-code);font-size:var(--step--2);letter-spacing:.04em;margin-block-start:1.25rem}.Topology-module__ks20kq__caption{max-width:74ch;color:var(--muted);font-size:var(--step--1);text-align:left;margin-block-start:1.75rem;margin-inline:auto}@media (min-width:34em){.Topology-module__ks20kq__nodes{grid-template-columns:repeat(3,minmax(0,1fr))}.Topology-module__ks20kq__node:before{content:none}}@media (min-width:68em){.Topology-module__ks20kq__nodes{grid-template-columns:repeat(6,minmax(0,1fr))}.Topology-module__ks20kq__node:before{content:""}}
.HomeView-module__TG1Euq__main{flex-direction:column;display:flex}
.ProjectCard-module__U_VZua__card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);flex-direction:column;gap:.6rem;padding:clamp(1rem,2.5vw,1.4rem);display:flex}.ProjectCard-module__U_VZua__name{font-size:var(--step-1)}.ProjectCard-module__U_VZua__tagline{color:color-mix(in srgb, var(--fg) 88%, var(--muted))}.ProjectCard-module__U_VZua__list{margin:0;flex-direction:column;gap:.6rem;margin-block-start:.2rem;display:flex}.ProjectCard-module__U_VZua__row{gap:.15rem;display:grid}.ProjectCard-module__U_VZua__term{color:var(--muted);font-family:var(--font-code);font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;font-weight:600}.ProjectCard-module__U_VZua__detail{font-size:var(--step--1);margin:0}.ProjectCard-module__U_VZua__tags{flex-wrap:wrap;gap:.35rem;margin-block-start:.15rem;display:flex}.ProjectCard-module__U_VZua__tag{border:1px solid var(--line);background:var(--bg);color:var(--muted);font-family:var(--font-code);font-size:var(--step--2);letter-spacing:.04em;border-radius:999px;padding:.2rem .55rem}
.Projects-module__2BoJ-q__intro{max-width:68ch}.Projects-module__2BoJ-q__grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;margin-block-start:.5rem;display:grid}
.SiteFooter-module__wWXZva__footer{border-top:1px solid var(--line);padding-block:clamp(2rem,5vw,3rem);padding-inline:var(--gutter)}.SiteFooter-module__wWXZva__inner{max-width:var(--maxw);flex-direction:column;gap:.5rem;margin-inline:auto;display:flex}.SiteFooter-module__wWXZva__colophon,.SiteFooter-module__wWXZva__note{max-width:68ch;color:var(--muted);font-size:var(--step--1)}.SiteFooter-module__wWXZva__copyright{color:var(--muted);font-family:var(--font-code);font-size:var(--step--1);letter-spacing:.04em;margin-block-start:.5rem}
