/* Shared Atmosphere style, with room for directory data. */
:root { --mut:#b2acb8; --faint:#948e9b; --ink-2:#c4becb; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { font-size:13px; }
.sheet { max-width:1120px; padding:clamp(22px,4vw,36px); }
a { text-underline-offset:3.5px; }
:focus-visible { outline:2px solid var(--c); outline-offset:4px; }
.site-nav { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.nav-brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; min-width:0; }
.wm { font:600 26px/1.2 var(--display); letter-spacing:-.045em; }
.wm b { color:var(--ink); }
.nav-links { display:flex; gap:5px; align-items:center; flex-wrap:wrap; }
.nav-links a,.section-nav a { font:10px/1.5 var(--mono); padding:7px 10px; border:1px solid transparent; border-radius:5px; text-decoration:none; color:var(--mut); }
.nav-links a:hover,.section-nav a:hover { border-color:var(--line); color:var(--ink); }
.nav-links a[aria-current],.section-nav a[aria-current] { color:var(--c-2); background:rgba(249,115,22,.09); border-color:rgba(249,115,22,.25); }
.tag { margin-top:24px; }
.intro-title,.ptitle { font:500 20px/1.4 var(--display); letter-spacing:-.02em; color:var(--ink); }
.intro-title a { text-decoration-color:rgba(249,115,22,.5); }
.tag-2 { max-width:720px; line-height:1.8; color:var(--mut); }
.ptitle { margin-top:28px; overflow-wrap:anywhere; }
.relay-page #host { margin-top:5px; font:11px/1.8 var(--mono); overflow-wrap:anywhere; color:var(--mut); }
.counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:24px; padding:19px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.count b { font:500 27px/1.3 var(--display); letter-spacing:-.03em; }
.count span { display:block; margin-top:4px; font:10px/1.5 var(--mono); letter-spacing:.09em; color:var(--mut); }
.relay-page .counts { grid-template-columns:repeat(6,minmax(0,1fr)); }
.relay-page .count b { font-size:23px; }
.directory-toolbar { position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:20px; padding:15px 0; border-bottom:1px solid var(--line); background:var(--sheet); }
#directory-search,.tool-input { border:1px solid var(--line); background:var(--well); border-radius:6px; padding:11px 13px; color:var(--ink); font:11px/1.7 var(--mono); }
#directory-search { width:100%; max-width:520px; }
#directory-search::placeholder,.tool-input::placeholder { color:var(--faint); }
#directory-search:focus,.tool-input:focus { outline:2px solid rgba(249,115,22,.2); outline-offset:1px; border-color:var(--c); box-shadow:none; }
#search-summary { margin-left:auto; font:10px/1.7 var(--mono); color:var(--faint); text-align:right; }
.directory-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:32px; }
.directory-grid .grp { min-width:0; margin-top:26px; scroll-margin-top:90px; }
.glabel { font-weight:500; letter-spacing:.17em; margin-bottom:9px; }
.gnote { font-size:12px; line-height:1.7; color:var(--mut); }
.svc { padding:17px 0; }
.svc-top { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 14px; }
.svc-top a.s { min-width:0; font:500 12px/1.75 var(--mono); overflow-wrap:anywhere; }
.svc-top .rd { grid-column:1/-1; font:10px/1.6 var(--mono); white-space:normal; }
.stat { font-size:8px; letter-spacing:.07em; white-space:nowrap; }
.stat .dot { box-shadow:none!important; }
.svc[hidden],.search-empty[hidden] { display:none; }
.search-empty { font:11px/1.8 var(--mono); padding:20px 0; color:var(--mut); }
.stamp { margin-top:24px; padding-top:12px; border-top:1px solid var(--line); }
.directory-page .grp:last-of-type { margin-top:26px; }
.directory-page .grp:last-of-type .svc { padding:13px 0; }
.directory-page .grp:last-of-type .svc-top { display:flex; }
.directory-page .grp:last-of-type .svc-top .rd { margin-left:auto; }
footer { margin-top:28px; padding-top:18px; gap:18px; }
footer>span:first-child { white-space:nowrap; }
.pk-card { background:var(--sheet); -webkit-backdrop-filter:none; backdrop-filter:none; }
.section-nav { display:flex; gap:7px; flex-wrap:wrap; padding:14px 0; border-bottom:1px solid var(--line); }
.section-nav a { border-color:var(--line); }
.relay-page .grp { margin-top:28px; scroll-margin-top:24px; }
.relay-page #relay .svc { padding:5px 0 0; }
.relay-page #relay .svc-top { display:flex; }
.relay-page #relay .acts { margin-top:7px; }
.browse-toolbar { display:flex; align-items:flex-end; flex-wrap:wrap; gap:14px 22px; padding:14px 0; }
.browse-toolbar .field { flex:1; min-width:220px; }
.browse-toolbar .tool-input { width:100%; }
.browse-toolbar .chips { margin:0 0 2px; gap:5px; }
.chip { border-radius:5px; font-size:10px; padding:8px 10px; }
.chip.on { background:rgba(249,115,22,.1); color:var(--c-2); border-color:rgba(249,115,22,.4); }
.tw { margin-top:0; border:1px solid var(--line); border-radius:7px; overflow:auto; }
table.dir { min-width:780px; }
table.dir th { padding:11px 12px; background:var(--well); font-size:9px; letter-spacing:.08em; }
table.dir td { padding:12px; font-size:10.5px; }
table.dir tr:last-child td { border-bottom:0; }
table.dir tbody tr:hover { background:rgba(249,115,22,.025); }
table.dir th button { font:inherit; letter-spacing:inherit; text-transform:inherit; color:inherit; border:0; padding:0; background:none; cursor:pointer; }
table.dir th[aria-sort=ascending],table.dir th[aria-sort=descending] { color:var(--c-2); }
td.host { min-width:230px; }
.st { font-size:9px; letter-spacing:.06em; }
.pager { margin-top:14px; }
.pager .s2 { border:1px solid var(--line); border-radius:5px; padding:7px 11px; text-decoration:none; }
.pager .s2:hover:not(:disabled) { border-color:var(--c); }
button:disabled { opacity:.35; cursor:default; }
.panel { border-radius:7px; padding:20px; background:var(--well); }
#tools .panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
#tools .field { margin:0!important; padding:0!important; border:0!important; min-width:0; }
.field label { font-size:10px; letter-spacing:.09em; }
.field .hint { display:block; margin:5px 0 0; font:11px/1.6 var(--sans); }
.tool-row { gap:10px; }
.tool-go { font-size:10px; letter-spacing:0; text-transform:none; border-radius:5px; padding:11px 13px; }
@media(min-width:800px) { .directory-grid #jetstreams { padding-left:30px; border-left:1px solid var(--line); } }
@media(max-width:799px) {
 .site-nav { gap:16px; flex-wrap:wrap; }
 .nav-links { margin-left:-10px; }
 .directory-grid { grid-template-columns:1fr; gap:0; }
 .relay-page .counts { grid-template-columns:repeat(3,minmax(0,1fr)); }
 #tools .panel { grid-template-columns:1fr; gap:26px; }
 .directory-toolbar { gap:12px; }
 #search-summary { max-width:130px; flex-shrink:0; }
}
@media(max-width:520px) {
 body { padding:16px 12px; }
 .sheet { padding:22px 18px; }
 .wm { font-size:23px; }
 .nav-links a { font-size:10px; }
 .intro-title,.ptitle { font-size:18px; }
 .counts { gap:12px; }
 .count b { font-size:23px; }
 .count span { font-size:8px; letter-spacing:.06em; }
 .directory-toolbar { flex-wrap:wrap; gap:7px; }
 #search-summary { margin-left:0; max-width:none; font-size:9px; }
 .svc-top { gap:7px 10px; }
 .svc-top a.s { font-size:11px; }
 .stat { font-size:7px; }
 .browse-toolbar .chips { gap:5px; }
 .chip { padding:7px 9px; font-size:9px; }
 .tool-row { align-items:stretch; flex-wrap:wrap; }
 .tool-input { width:100%; flex-basis:100%; }
 .directory-page .grp:last-of-type .svc-top .rd { margin-left:0; }
 footer { font-size:11px; gap:14px; }
 footer .grow { display:none; }
 footer>span:first-child { width:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
.pds-link { color:var(--ink); text-decoration-color:rgba(249,115,22,.4); }
.pds-link:hover { color:#fff; text-decoration-color:var(--c); }
.count-link { color:inherit; text-decoration-color:rgba(249,115,22,.4); }
.count-link:hover { color:var(--c-2); text-decoration-color:var(--c); }
.sort-indicator { display:none; width:12px; height:12px; margin-left:4px; vertical-align:-2px; background:currentColor; mask-position:center; mask-repeat:no-repeat; mask-size:contain; }
th[aria-sort="ascending"] .sort-indicator { display:inline-block; mask-image:url('/assets/icons/arrow-up-outline.svg'); }
th[aria-sort="descending"] .sort-indicator { display:inline-block; mask-image:url('/assets/icons/arrow-down-outline.svg'); }

.taproot-secondary { font-size:9px; color:var(--mut); white-space:nowrap; }
.directory-grid .svc-top .rd { display:flex; gap:12px; flex-wrap:wrap; align-items:baseline; }
.directory-grid .taproot-secondary { margin-left:auto; }
.host .taproot-secondary { margin-left:8px; }

/* Contextual explorer actions and snapshot freshness. */
.stamp { margin:10px 0 4px; padding:0; border:0; font:10px/1.7 var(--mono); color:var(--faint); }
.row-links,.record-links { display:flex; flex-wrap:wrap; gap:5px 12px; align-items:baseline; }
.directory-grid .row-links { margin-left:auto; }
.directory-grid .row-links .taproot-secondary,.host .taproot-secondary { margin-left:0; }
.record-links { margin-top:5px; }
.action-label { font:9px/1.6 var(--mono); color:var(--faint); }
#relay-actions { gap:10px 18px; }
#relay-actions[hidden] { display:none; }
#relay-json { margin-left:auto; }
@media(max-width:520px) {
 .relay-page .counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #relay-json { margin-left:0; }
}

#load-more { height:1px; }

.stat.unavailable { color:var(--mut); }
.stat.unavailable .dot { animation:none; }
