:root{font-family:system-ui,-apple-system,sans-serif;color:#253337;background:#f5f6f5;font-size:15px;line-height:1.55;color-scheme:light}*{box-sizing:border-box}body{margin:0}a{color:#126a61;text-decoration:none}a:hover{text-decoration:underline}header{display:flex;align-items:center;gap:24px;background:#fff;border-bottom:1px solid #d9dfdc;padding:20px max(24px,calc((100vw - 1220px)/2));flex-wrap:wrap}.brand{font-size:24px;font-weight:750;letter-spacing:-1px;color:#253337}.search{display:flex;flex:1;gap:8px;min-width:220px;max-width:540px}.search input{margin:0}header form{margin:0}main{max-width:1220px;margin:38px auto;padding:0 24px;min-height:70vh}h1{font-size:30px;letter-spacing:-.6px;margin:12px 0 20px}h2{font-size:20px;margin:24px 0 12px}h3{font-size:17px}.title{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tabs{display:flex;gap:24px;border-bottom:1px solid #d9dfdc;padding:8px 0 14px;margin:20px 0 24px;flex-wrap:wrap}.table-wrap{overflow:auto;max-width:100%;background:#fff;border:1px solid #d9dfdc;border-radius:8px}table{width:100%;border-collapse:collapse;text-align:left}th{background:#edf1ee;font-size:12px;letter-spacing:.04em;color:#5a6863}td,th{padding:14px 16px;border-bottom:1px solid #e5e9e6;vertical-align:top}tr:last-child td{border:0}td{max-width:360px;overflow-wrap:anywhere}small{display:block;color:#6b7672;font-size:12px;margin-top:3px}time{font-size:12px;color:#69756f;overflow-wrap:anywhere}.reason{display:block;font-size:13px;color:#84652e}.muted{color:#6b7672}section{margin:24px 0}article{padding:16px 0;border-bottom:1px solid #d9dfdc}details{padding:14px 0;border-bottom:1px solid #d9dfdc}summary{cursor:pointer;font-weight:600}form{margin:16px 0}label{display:block;margin:12px 0;font-size:13px;font-weight:600}input,select,textarea{font:inherit;color:inherit;display:block;width:100%;padding:10px 12px;border:1px solid #cbd4ce;border-radius:5px;background:#fff;margin-top:5px;max-width:100%}textarea{resize:vertical;font-family:ui-monospace,monospace;font-size:13px}.editor{max-width:780px}button{font:inherit;border:1px solid #126a61;border-radius:5px;background:#126a61;color:#fff;padding:9px 16px;cursor:pointer;white-space:nowrap}.quiet{background:transparent;color:#126a61}.inline{display:inline-flex;gap:8px;align-items:center}.inline input{width:auto}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;background:#edf1ee;padding:16px;border-radius:5px;max-width:100%}.excerpt{max-height:140px;overflow:auto}.login{max-width:440px;margin:10vh auto}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#6b7672}.error{color:#a23e30;background:#f7e8e3;padding:16px}.empty{padding:40px;color:#6b7672}footer{max-width:1220px;margin:36px auto;padding:24px;color:#77817b;font-size:12px;border-top:1px solid #d9dfdc}:focus-visible{outline:3px solid #d0a94d;outline-offset:3px}@media(max-width:600px){header{padding:16px;gap:14px}.search{order:4;flex-basis:100%;max-width:none}main{padding:0 16px;margin-top:24px}h1{font-size:25px}td,th{padding:10px 8px;font-size:12px}.tabs{gap:16px;font-size:13px}.title{align-items:flex-start}.table-wrap{border-radius:5px}header>a:not(.brand){font-size:13px}footer{padding:16px}table{min-width:580px}.login{margin:6vh auto}}

.badge{display:inline-block;border-radius:4px;background:#dceee6;color:#245c48;padding:3px 7px;font-size:11px;font-weight:600;margin:3px 3px 3px 0}.quiet-badge{background:#e9eeeb;color:#52645b}.service-tags{margin-top:8px}.tabs [aria-current=page]{font-weight:700;color:#253337;border-bottom:2px solid #126a61}.map-summary{display:flex;gap:22px;flex-wrap:wrap;margin:18px 0;font-size:13px;color:#52645b}.map-key{margin-left:auto}.map-canvas{overflow:auto;background:#edf1ee;border:1px solid #d9dfdc;border-radius:12px}.map-canvas svg{display:block;max-width:none}.map-node rect{fill:#fff;stroke:#bacdc1;stroke-width:1.5}.map-node a:hover rect{stroke:#126a61;stroke-width:2.5}.map-kind{font-size:11px;fill:#77817b}.map-name{font-size:15px;font-weight:700;fill:#253337}.map-address{font-size:11px;fill:#69756f}.map-services{font-size:12px;fill:#126a61}.map-node.unmanaged rect{fill:#f5f6f5;stroke-dasharray:5 4}.map-edge{fill:none;stroke:#80958c;stroke-width:2}.map-edge.wireguard{stroke:#467fc1;stroke-width:2.5}.map-edge.observed{stroke-dasharray:6 5}.service-card{padding:18px 0}@media(max-width:600px){.map-key{margin-left:0}.map-summary{gap:8px 18px}}
