/* nightwire.css — the redesigned pwhois.org.
   Dark, monospaced, purple phosphor. All assets first-party. */

@font-face{font-family:'JetBrains Mono';src:url(../fonts/JetBrainsMono-var.woff2) format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:'Nunito Sans';src:url(../fonts/NunitoSans-var2.woff2) format('woff2');font-weight:200 1000;font-style:normal;font-display:swap}

:root{
  --purple:#9487d8; --purple-hi:#b6aaff; --purple-deep:#6b58d6; --purple-ink:#241d50;
  --bg:#08070d; --bg2:#0e0c17; --panel:#12101d; --panel2:#171430;
  --line:rgba(148,135,216,.18); --line2:rgba(148,135,216,.34);
  --txt:#e7e3f7; --txt2:#cfc9ea; --mute:#8b85a8; --dim:#7d78a0;
  --teal:#4fd8c0; --amber:#f0b64a; --hot:#ff8f7a; --ok:#4fd8a0;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --body:'Nunito Sans',system-ui,-apple-system,Segoe UI,sans-serif;
  --display:var(--mono);
  --r:6px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--txt);font:400 16.5px/1.72 var(--body);overflow-x:hidden;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--purple-hi);text-decoration:none;text-underline-offset:3px}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
code,kbd,pre,samp{font-family:var(--mono)}
code{font-size:.92em;color:var(--purple-hi);background:rgba(148,135,216,.10);padding:.1em .38em;border-radius:4px}
pre code{background:none;padding:0;color:inherit;font-size:inherit}
hr{border:0;border-top:1px solid var(--line);margin:34px 0}
::selection{background:rgba(148,135,216,.35);color:#fff}
.nw-wrap{width:min(1240px,92vw);margin:0 auto}
.nw-skip{position:absolute;left:-999px;top:8px;background:var(--purple);color:var(--bg);padding:10px 14px;z-index:200;border-radius:var(--r)}
.nw-skip:focus{left:8px}

/* ---------- ambient ---------- */
#nw-mesh{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.nw-veil{position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 70% 55% at 50% 0%,rgba(148,135,216,.13),transparent 70%)}
.nw-main,.nw-foot,.nw-head,.nw-rail{position:relative;z-index:2}

/* ---------- live rail ---------- */
.nw-rail{background:#050409;border-bottom:1px solid var(--line);overflow:hidden;z-index:71}
.nw-rail-track{display:flex;white-space:nowrap;padding:7px 0;animation:nw-slide 48s linear infinite;
  font:500 11.5px/1 var(--mono);letter-spacing:.09em;color:var(--mute);text-transform:uppercase}
.nw-rail-track:hover,.nw-rail.paused .nw-rail-track,.nw-rail:focus-within .nw-rail-track{animation-play-state:paused}
.nw-rail{position:relative}
.nw-rail-pause{position:absolute;right:6px;top:50%;transform:translateY(-50%);font:400 9px/1 var(--mono);padding:4px 6px;border-radius:3px;border:1px solid var(--line2);background:var(--bg);color:var(--mute);cursor:pointer}
.nw-rail-pause:hover{color:var(--purple-hi)}
.nw-rail b{color:var(--purple-hi);font-weight:500}
.nw-rail .ok{color:var(--ok)}
@keyframes nw-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.nw-rail-track{animation:none}}

/* ---------- header ---------- */
.nw-head{position:sticky;top:0;z-index:70;background:rgba(8,7,13,.84);backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nw-bar{display:flex;align-items:center;gap:22px;padding:12px 0}
.nw-brand{display:flex;align-items:center;gap:13px;text-decoration:none !important}
.nw-brand img{height:44px;width:auto;display:block}
.nw-brand-sig{font:400 14.5px/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--txt2);white-space:nowrap;
  border-left:1px solid var(--line);padding-left:13px;max-width:120px}
.nw-nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.nw-link{position:relative;display:inline-flex;align-items:center;gap:6px;text-decoration:none !important;
  font:400 12.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:14px 14px;transition:color .2s}
.nw-link::before{content:'';position:absolute;left:14px;right:14px;bottom:8px;height:1px;background:var(--purple);
  transform:scaleX(0);transform-origin:right;transition:transform .3s}
.nw-link:hover{color:var(--txt)}
.nw-link:hover::before{transform:scaleX(1);transform-origin:left}
.nw-link.active{color:var(--purple-hi)}
.nw-link.active::before{transform:scaleX(1);background:var(--purple-hi)}
.nw-caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);opacity:.7}
.nw-cta{margin-left:12px;font:700 12.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--bg) !important;background:var(--purple);padding:12px 18px;border-radius:3px;text-decoration:none !important;
  transition:.22s;white-space:nowrap}
.nw-cta:hover,.nw-cta.active{background:var(--purple-hi);box-shadow:0 0 26px rgba(148,135,216,.5)}
.nw-dd{position:relative}
.nw-menu{position:absolute;top:100%;left:0;min-width:280px;background:var(--panel);border:1px solid var(--line2);
  border-radius:5px;padding:8px;display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:.2s;box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.nw-dd:hover .nw-menu,.nw-dd:focus-within .nw-menu,.nw-dd.open .nw-menu{opacity:1;visibility:visible;transform:none}
.nw-menu a{display:block;padding:10px 12px;border-radius:4px;text-decoration:none !important;color:var(--txt2);
  font:400 14px/1.3 var(--body);transition:.15s}
.nw-menu a b{display:block;font-weight:600;color:var(--txt)}
.nw-menu a small{display:block;color:var(--mute);font-size:12.5px;margin-top:2px}
.nw-menu a:hover{background:rgba(148,135,216,.12)}
.nw-menu a:hover b{color:var(--purple-hi)}
.nw-burger{display:none;margin-left:auto;width:44px;height:44px;background:none;border:1px solid var(--line);
  border-radius:4px;cursor:pointer;padding:0}
.nw-burger span{display:block;width:18px;height:1.6px;background:var(--purple-hi);margin:4.5px auto;transition:.26s}
.nw-burger.x span:nth-child(1){transform:translateY(6.1px) rotate(45deg)}
.nw-burger.x span:nth-child(2){opacity:0}
.nw-burger.x span:nth-child(3){transform:translateY(-6.1px) rotate(-45deg)}

/* ---------- type ---------- */
.nw-eyebrow{font:400 11.5px/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--purple);
  display:flex;align-items:center;gap:12px}
.nw-eyebrow::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent);max-width:220px}
h1,.nw-h1{font:400 clamp(34px,4.6vw,60px)/1.08 var(--mono);letter-spacing:-.035em;margin:20px 0 18px;color:var(--txt)}
h1 b,.nw-h1 b,.nw-glow{font-weight:400;color:var(--purple-hi);text-shadow:0 0 34px rgba(148,135,216,.5)}
h2,.nw-h2{font:400 clamp(23px,2.6vw,33px)/1.18 var(--mono);letter-spacing:-.03em;margin:0 0 14px;color:var(--txt)}
h3,.nw-h3{font:700 17px/1.32 var(--body);margin:0 0 8px;letter-spacing:.005em;color:var(--txt)}
h4{font:400 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--purple);margin:0 0 14px}
p{margin:0 0 1em}
.nw-lead{font-size:18.5px;color:var(--mute);max-width:62ch}
.nw-prose{max-width:74ch}
.nw-prose p,.nw-prose li{color:var(--txt2)}
.nw-prose li{margin:.35em 0}
.nw-prose ul,.nw-prose ol{padding-left:1.3em}
.nw-prose h2{margin-top:2em}
.nw-prose>h2:first-child,.nw-prose>h3:first-child{margin-top:0}
.nw-prose h3{margin-top:1.6em;color:var(--purple-hi)}
.nw-prose strong{color:var(--txt)}
.nw-mono{font-family:var(--mono)}
.nw-mute{color:var(--mute)}
.nw-small{font-size:14px}

/* ---------- layout ---------- */
.nw-sec{padding:74px 0}
.nw-sec.tight{padding:44px 0}
.nw-hero{padding:76px 0 46px}
.nw-grid{display:grid;gap:20px}
.nw-grid>*,.nw-split>*{min-width:0}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:repeat(3,1fr)}
.g21{grid-template-columns:1.25fr .75fr}
.g12{grid-template-columns:.75fr 1.25fr}
.g5545{grid-template-columns:1.08fr .92fr}
.g5545 .nw-term pre{font-size:12.5px;padding:18px}
.nw-center{text-align:center}
.nw-center .nw-lead{margin-left:auto;margin-right:auto}
.nw-center .nw-eyebrow{justify-content:center}
.nw-center .nw-eyebrow::after{display:none}

/* ---------- buttons ---------- */
.nw-btnrow{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.nw-btn{display:inline-block;text-decoration:none !important;font:700 12.5px/1 var(--mono);letter-spacing:.08em;
  text-transform:uppercase;padding:15px 24px;border-radius:3px;border:1px solid var(--purple);transition:.24s;
  cursor:pointer;background:none;color:var(--purple-hi)}
.nw-btn.solid{background:var(--purple);color:var(--bg)}
.nw-btn.solid:hover{background:var(--purple-hi);box-shadow:0 0 30px rgba(148,135,216,.6)}
.nw-btn.ghost:hover{background:rgba(148,135,216,.12);box-shadow:inset 0 0 24px rgba(148,135,216,.18)}
.nw-btn:disabled{opacity:.55;cursor:default;box-shadow:none}

/* ---------- panels ---------- */
.nw-panel{background:linear-gradient(160deg,rgba(148,135,216,.07),rgba(255,255,255,.012)),rgba(8,7,13,.75);
  border:1px solid var(--line);border-radius:5px;padding:26px 24px;position:relative;transition:.28s}
.nw-panel.hover:hover{border-color:var(--line2);transform:translateY(-3px);box-shadow:0 22px 50px -34px rgba(148,135,216,.7)}
.nw-panel .nw-id{font:400 10.5px/1 var(--mono);letter-spacing:.2em;color:var(--purple);margin-bottom:14px;display:block}
.nw-panel p{color:var(--mute);margin:0;font-size:15.5px}
.nw-panel p+p{margin-top:.8em}
.nw-fld{font:400 11.5px/1 var(--mono);color:var(--teal);background:rgba(79,216,192,.09);
  border:1px solid rgba(79,216,192,.24);padding:5px 9px;border-radius:3px;margin:14px 6px 0 0;display:inline-block}
.nw-tag{display:inline-block;font:400 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--mute);border:1px solid var(--line);padding:5px 9px;border-radius:3px}
.nw-tag.hi{color:var(--purple-hi);border-color:var(--line2)}
.nw-tag.ok{color:var(--ok);border-color:rgba(79,216,160,.3)}

/* ---------- readouts (live) ---------- */
.nw-readouts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:5px;overflow:hidden}
.nw-ro{background:var(--bg2);padding:22px 20px;position:relative;overflow:hidden}
.nw-ro::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:linear-gradient(90deg,var(--purple),transparent);opacity:.5}
.nw-ro .n{font:400 29px/1 var(--mono);color:var(--purple-hi);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.nw-ro .k{font:400 10.5px/1.45 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-top:10px}
.nw-ro .s{font-size:12.5px;color:var(--dim);margin-top:5px}
.nw-ro.live .n::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal);
  margin-right:10px;vertical-align:middle;box-shadow:0 0 12px var(--teal);animation:nw-pulse 1.7s ease-in-out infinite}
@keyframes nw-pulse{0%,100%{opacity:1}50%{opacity:.25}}
.nw-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok);
  vertical-align:middle;margin-right:6px;animation:nw-pulse 1.9s ease-in-out infinite}

/* ---------- terminal ---------- */
.nw-term{background:rgba(12,10,24,.92);border:1px solid var(--line);border-radius:5px;overflow:hidden;
  box-shadow:0 30px 70px -40px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.04)}
.nw-term-top{display:flex;align-items:center;gap:9px;padding:11px 15px;border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.025)}
.nw-term-top i{width:9px;height:9px;border-radius:50%;background:#332e50;display:block}
.nw-term-top i.a{background:var(--purple)}
.nw-term-top span{margin-left:8px;font:400 11px/1 var(--mono);color:var(--mute);letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw-term{max-width:100%}
.nw-term pre{margin:0;padding:20px;font:400 13px/1.8 var(--mono);color:var(--txt);white-space:pre;overflow-x:auto}
.nw-term.wrap pre{white-space:pre-wrap;word-break:break-word}
.nw-term .k{color:var(--purple-hi)}.nw-term .v{color:var(--teal)}.nw-term .c{color:var(--mute)}.nw-term .w{color:var(--amber)}
.nw-term .h{color:var(--hot)}
.nw-cur{display:inline-block;width:8px;height:15px;background:var(--purple-hi);vertical-align:-2px;animation:nw-blink 1.05s step-end infinite}
@keyframes nw-blink{50%{opacity:0}}
.nw-code{max-width:100%;background:rgba(12,10,24,.92);border:1px solid var(--line);border-radius:5px;padding:16px 18px;
  font:400 13px/1.75 var(--mono);color:var(--txt2);overflow-x:auto;margin:14px 0 20px;white-space:pre}
.nw-code.wrap{white-space:pre-wrap}

/* ---------- tables / rows ---------- */
.nw-tbl{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:rgba(14,12,23,.7)}
.nw-trow{display:grid;grid-template-columns:1.2fr 2.4fr auto;gap:18px;padding:16px 22px;align-items:center;
  border-bottom:1px solid var(--line);transition:.2s}
.nw-trow:last-child{border-bottom:0}
.nw-trow:hover{background:rgba(148,135,216,.07)}
.nw-trow b{font:400 15px/1.25 var(--mono);color:var(--purple-hi)}
.nw-trow b a{color:inherit}
.nw-trow span{color:var(--mute);font-size:15px}
.nw-trow em{font:400 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-style:normal;white-space:nowrap}
.nw-meter{display:flex;flex-direction:column;gap:10px}
.nw-mrow{display:grid;grid-template-columns:200px 1fr 82px;gap:14px;align-items:center}
.nw-mrow .l{font:400 12.5px/1 var(--mono);color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw-mrow .t{height:6px;background:rgba(148,135,216,.13);border-radius:3px;overflow:hidden}
.nw-mrow .f{display:block;height:100%;width:0;border-radius:3px;background:linear-gradient(90deg,var(--purple-deep),var(--purple-hi));
  box-shadow:0 0 14px rgba(148,135,216,.6);transition:width 1s cubic-bezier(.2,.9,.3,1)}
.nw-mrow .v{font:400 12.5px/1 var(--mono);color:var(--txt);text-align:right}
table.nw-data{width:100%;border-collapse:collapse;font-size:14.5px}
table.nw-data th{text-align:left;font:400 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);
  padding:0 12px 10px;border-bottom:1px solid var(--line)}
table.nw-data td{padding:11px 12px;border-bottom:1px solid var(--line);color:var(--txt2);vertical-align:top}
table.nw-data td:first-child{font-family:var(--mono);color:var(--purple-hi);white-space:nowrap}
table.nw-data tr:last-child td{border-bottom:0}

/* ---------- FAQ / accordion ---------- */
.nw-faq details{border:1px solid var(--line);border-radius:5px;background:rgba(14,12,23,.7);margin-bottom:10px}
.nw-faq summary{cursor:pointer;padding:16px 20px;font:600 16px/1.4 var(--body);color:var(--txt);list-style:none;display:flex;gap:14px}
.nw-faq summary::-webkit-details-marker{display:none}
.nw-faq summary::before{content:'>';font-family:var(--mono);color:var(--purple);flex:0 0 auto;transition:transform .2s}
.nw-faq details[open] summary::before{transform:rotate(90deg)}
.nw-faq details>div{padding:0 20px 18px 44px;color:var(--txt2)}
.nw-faq details>div p:last-child{margin-bottom:0}

/* ---------- forms ---------- */
.nw-form{display:grid;gap:16px}
.nw-fg{display:grid;gap:6px}
.nw-fg label{font:700 12.5px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--purple-hi)}
.nw-fg label em{font-weight:400;font-style:normal;text-transform:none;letter-spacing:0;color:var(--mute)}
.nw-in{width:100%;font:400 15px/1.3 var(--body);padding:13px 15px;border-radius:4px;border:1px solid var(--line2);
  background:rgba(255,255,255,.04);color:var(--txt);transition:.2s}
.nw-in.mono{font-family:var(--mono);font-size:14px}
.nw-in:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px rgba(148,135,216,.2);background:rgba(255,255,255,.06)}
.nw-in::placeholder{color:var(--dim)}
textarea.nw-in{min-height:150px;resize:vertical;line-height:1.55}
select.nw-in{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--purple) 50%),linear-gradient(135deg,var(--purple) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px}
select.nw-in option{background:var(--panel);color:var(--txt)}
.nw-fg.ok .nw-in{border-color:rgba(79,216,160,.55)}
.nw-fg.bad .nw-in{border-color:rgba(255,143,122,.7)}
.nw-fmsg{font:400 12.5px/1.45 var(--mono);color:var(--mute);min-height:1em}
.nw-fg.ok .nw-fmsg{color:var(--ok)}
.nw-fg.bad .nw-fmsg{color:var(--hot)}
.nw-fg.checking .nw-fmsg{color:var(--purple)}
.nw-frow2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.nw-drop{border:1px dashed var(--line2);border-radius:5px;padding:18px;text-align:center;color:var(--mute);
  font-size:14px;cursor:pointer;transition:.2s;background:rgba(148,135,216,.03)}
.nw-drop:hover,.nw-drop.over{border-color:var(--purple);background:rgba(148,135,216,.08);color:var(--txt)}
.nw-drop b{color:var(--purple-hi);font-weight:600}
.nw-files{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.nw-files li{display:flex;align-items:center;gap:10px;font:400 13px/1.3 var(--mono);color:var(--txt2);
  border:1px solid var(--line);border-radius:4px;padding:8px 10px}
.nw-files li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nw-files li small{color:var(--dim)}
.nw-files li button{background:none;border:0;color:var(--hot);cursor:pointer;font:400 16px/1 var(--mono)}
.nw-fmeter{font:400 12px/1 var(--mono);color:var(--mute);margin-top:6px}
.nw-fmeter.near{color:var(--amber)}.nw-fmeter.over{color:var(--hot)}
.nw-ffoot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding-top:16px;border-top:1px solid var(--line)}
.nw-alert{border:1px solid rgba(255,143,122,.5);background:rgba(255,143,122,.08);border-left:3px solid var(--hot);
  border-radius:4px;padding:14px 16px;color:var(--txt);font-size:14.5px}
.nw-alert ul{margin:6px 0 0 18px;padding:0}
.nw-alert.good{border-color:rgba(79,216,160,.5);background:rgba(79,216,160,.08);border-left-color:var(--ok)}
.nw-receipt{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;font-size:14.5px}
.nw-receipt dt{font:400 11px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.nw-receipt dd{margin:0;color:var(--txt2)}
.vouch-mount{display:inline-block;min-height:34px}

/* ---------- downloads ---------- */
.nw-dl{border:1px solid var(--line2);border-radius:5px;padding:20px 20px 18px;background:linear-gradient(160deg,rgba(148,135,216,.10),rgba(255,255,255,.012))}
.nw-dl-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.nw-dl-title{font:700 16px/1.3 var(--body);color:var(--txt)}
.nw-dl-ver{font:400 12px/1 var(--mono);color:var(--purple-hi);letter-spacing:.06em}
.nw-dl-file{font-size:13.5px;color:var(--mute);margin-bottom:6px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.nw-dl-size{font:400 11.5px/1 var(--mono);color:var(--dim)}
.nw-dl-hash{font:400 11px/1.5 var(--mono);color:var(--dim);word-break:break-all;margin-bottom:14px}
.nw-dl-hash code{background:none;padding:0;color:var(--mute)}
.nw-dl-mail{display:grid;gap:6px;margin-bottom:12px}
.nw-dl-mail span{font:400 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.nw-dl-mail span em{font-style:normal;text-transform:none;letter-spacing:0;color:var(--dim)}
.nw-dl-mail input{font:400 14px/1.3 var(--body);padding:11px 13px;border-radius:4px;border:1px solid var(--line2);
  background:rgba(255,255,255,.04);color:var(--txt)}
.nw-dl-mail input:focus{outline:none;border-color:var(--purple)}
.nw-dl .nw-btn{width:100%;text-align:center}
.nw-dl-note{font-size:12.5px;color:var(--dim);margin:12px 0 0;line-height:1.5}

/* ---------- misc blocks ---------- */
.nw-note{border-left:3px solid var(--purple);background:rgba(148,135,216,.07);padding:14px 18px;border-radius:0 4px 4px 0;
  color:var(--txt2);font-size:15px;margin:18px 0}
.nw-note.warn{border-left-color:var(--amber);background:rgba(240,182,74,.07)}
.nw-kv{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:14.5px}
.nw-kv dt{font-family:var(--mono);color:var(--purple-hi);white-space:nowrap}
.nw-kv dd{margin:0;color:var(--txt2)}
.nw-logos{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:18px}
.nw-logos a{display:inline-flex;align-items:center;padding:12px 16px;border:1px solid var(--line);border-radius:5px;
  background:rgba(255,255,255,.04)}
.nw-logos img{height:40px;width:auto;filter:grayscale(1) brightness(1.15) contrast(.9);opacity:.85;transition:.2s}
.nw-logos a:hover img{filter:none;opacity:1}
.nw-steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:14px}
.nw-steps li{position:relative;padding-left:52px;color:var(--txt2)}
.nw-steps li::before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;left:0;top:2px;
  font:400 13px/1 var(--mono);color:var(--purple);border:1px solid var(--line2);border-radius:3px;padding:6px 7px}
.nw-toc{position:sticky;top:96px;border-left:1px solid var(--line);padding-left:16px;display:grid;gap:8px;align-self:start}
.nw-toc a{font:400 12px/1.4 var(--mono);color:var(--mute);letter-spacing:.04em;text-decoration:none}
.nw-toc a:hover{color:var(--purple-hi)}
.nw-split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.nw-feature{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start}
.nw-feature .ic{width:52px;height:52px;border:1px solid var(--line2);border-radius:5px;display:grid;place-items:center;
  font:400 15px/1 var(--mono);color:var(--purple-hi);background:rgba(148,135,216,.08)}
.nw-feature p{color:var(--mute);margin:0;font-size:15px}
.nw-quote{font:400 clamp(20px,2.4vw,28px)/1.35 var(--mono);color:var(--txt);letter-spacing:-.02em;max-width:30ch}
.nw-quote b{font-weight:400;color:var(--purple-hi)}
.nw-stagetag{color:var(--amber)}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}
.js .rv.on{opacity:1;transform:none}
:is(a,button,[tabindex],input,select,textarea,summary):focus-visible{outline:2px solid var(--purple-hi);outline-offset:2px;border-radius:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}html{scroll-behavior:auto}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---------- footer ---------- */
.nw-foot{border-top:1px solid var(--line);background:var(--bg2);padding:56px 0 30px;margin-top:40px}
.nw-fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px}
.nw-fblurb{color:var(--mute);font-size:14.5px;margin:14px 0 10px;max-width:36ch}
.nw-fstatus{font:400 11.5px/1.7 var(--mono);color:var(--dim);margin:0}
.nw-foot a{display:block;text-decoration:none;color:var(--mute);padding:5px 0;font-size:14.5px;transition:.2s}
.nw-foot a:hover{color:var(--purple-hi)}
.nw-fbot{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;
  gap:12px;flex-wrap:wrap;color:var(--dim);font:400 11.5px/1.7 var(--mono);letter-spacing:.05em}
.nw-fbot a{display:inline;padding:0;font:inherit;color:var(--mute)}
.nw-fblurb+.nw-fstatus{margin-top:6px}
.nw-fbot span a{color:var(--mute)}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .g2,.g3,.g21,.g12,.g5545,.nw-split,.nw-fgrid{grid-template-columns:1fr}
  .nw-readouts{grid-template-columns:repeat(2,1fr)}
  .nw-toc{position:static;border-left:0;padding-left:0;display:flex;flex-wrap:wrap;gap:12px}
  .nw-brand-sig{display:none}
  .nw-head{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(8,7,13,.97)}
  .nw-nav{position:fixed;left:0;right:0;top:calc(var(--nw-head-h,69px));bottom:0;flex-direction:column;align-items:stretch;
    gap:0;background:var(--bg2);border-top:1px solid var(--line);padding:10px 5vw 30px;margin:0;overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-10px);
    transition:opacity .28s,transform .34s cubic-bezier(.3,1,.4,1),visibility 0s .34s}
  .nw-nav.open{opacity:1;visibility:visible;transform:none;transition:opacity .28s,transform .34s cubic-bezier(.3,1,.4,1)}
  .nw-link{padding:15px 6px;font-size:13.5px;border-bottom:1px solid var(--line)}
  .nw-link::before{display:none}
  .nw-cta{margin:14px 0 0;text-align:center}
  .nw-dd .nw-menu{position:static;opacity:1;visibility:visible;transform:none;border:0;background:none;box-shadow:none;
    padding:0 0 8px 14px;display:none}
  .nw-dd.open .nw-menu{display:grid}
  .nw-burger{display:block}
  .nw-trow{grid-template-columns:1fr;gap:5px}
  .nw-mrow{grid-template-columns:1fr 74px}
  .nw-mrow .t{display:none}
  .nw-frow2{grid-template-columns:1fr}
  .nw-sec{padding:52px 0}
  .nw-hero{padding:52px 0 36px}
  .nw-receipt{grid-template-columns:1fr}
}
@media(max-width:560px){
  table.nw-data td:first-child{white-space:normal}
  .nw-readouts{grid-template-columns:1fr}
  .nw-btn{width:100%;text-align:center}
  .nw-kv{grid-template-columns:1fr}
}

/* ==================== LFT & WhoB section ==================== */
.lft-sub{position:sticky;top:calc(var(--nw-head-h,69px) - 1px);z-index:60;background:rgba(8,7,13,.9);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line)}
.lft-sub-in{display:flex;align-items:center;gap:16px}
.lft-tabs{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.lft-tabs::-webkit-scrollbar{display:none}
.lft-tabs a{flex:0 0 auto;text-decoration:none !important;font:400 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--mute);padding:14px 13px;border-bottom:2px solid transparent;transition:.2s;white-space:nowrap}
.lft-tabs a:hover{color:var(--txt)}
.lft-tabs a.on{color:var(--purple-hi);border-bottom-color:var(--purple-hi)}
.lft-dl-btn{flex:0 0 auto;text-decoration:none !important;font:700 11.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--bg);background:var(--purple);padding:10px 14px;border-radius:3px;transition:.2s}
.lft-dl-btn:hover{background:var(--purple-hi);box-shadow:0 0 22px rgba(148,135,216,.5)}
.lft-40{display:inline-block;font:700 10px/1 var(--mono);letter-spacing:.12em;color:var(--bg);background:var(--teal);
  padding:4px 7px;border-radius:3px;vertical-align:middle;margin-left:8px}
.lft-dl{border:1px solid var(--line2);border-radius:6px;background:linear-gradient(160deg,rgba(148,135,216,.11),rgba(255,255,255,.012));overflow:hidden}
.lft-dl-main{padding:24px}
.lft-dl-big{width:100%;text-align:center;font-size:13.5px;padding:18px 20px}
.lft-dl-meta{font:400 12px/1.6 var(--mono);color:var(--mute);margin-top:12px;text-align:center}
.lft-sums{margin-top:16px;display:grid;gap:8px}
.lft-sums>div{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;font:400 11px/1.5 var(--mono)}
.lft-sums span{color:var(--purple);letter-spacing:.14em}
.lft-sums code{background:none;padding:0;color:var(--mute);word-break:break-all;font-size:11px}
.lft-copy{background:none;border:1px solid var(--line2);color:var(--purple-hi);font:400 10px/1 var(--mono);letter-spacing:.1em;
  text-transform:uppercase;padding:6px 9px;border-radius:3px;cursor:pointer}
.lft-copy:hover{background:rgba(148,135,216,.12)}
.lft-dl-note{font-size:12.5px;color:var(--dim);margin-top:12px;line-height:1.55}
.lft-dl-optin{padding:18px 24px 22px;border-top:1px solid var(--line);display:grid;gap:10px}
.lft-dl-optin label{display:grid;gap:6px}
.lft-dl-optin label span{font:400 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.lft-dl-optin label span em{font-style:normal;text-transform:none;letter-spacing:0;color:var(--dim)}
.lft-dl-optin input{font:400 14px/1.3 var(--body);padding:11px 13px;border-radius:4px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--txt)}
.lft-dl-optin .nw-btn{width:100%;text-align:center}

/* typed terminals */
.lft-type pre{min-height:120px}
.lft-type .cur{display:inline-block;width:8px;height:14px;background:var(--purple-hi);vertical-align:-2px;animation:nw-blink 1s step-end infinite}

/* engines diagram */
.eng-root{display:inline-block;border:1.5px solid var(--purple);border-radius:8px;padding:12px 18px;background:rgba(148,135,216,.08)}
.eng-root code{font-size:15px;background:none;padding:0}
.eng-root small{display:block;color:var(--mute);font-size:12.5px;margin-top:4px}
.eng-row{display:grid;grid-template-columns:1.9fr 1fr 1fr 1fr;gap:14px;margin-top:22px;align-items:start}
.eng-card{border:1.5px solid var(--c,var(--line2));border-radius:8px;background:var(--panel);overflow:hidden;cursor:pointer;transition:.2s;position:relative}
.eng-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px -28px var(--c,var(--purple))}
.eng-card.sel{box-shadow:0 0 0 2px var(--c,var(--purple)),0 18px 40px -28px var(--c,var(--purple))}
.eng-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}
.eng-head code{background:none;padding:0;color:var(--c,var(--purple-hi));font-size:13px}
.eng-head b{font:700 16px/1 var(--mono);color:var(--txt)}
.eng-body{padding:12px 14px;font-size:13px;color:var(--mute);line-height:1.55}
.eng-body b{color:var(--txt2);font-weight:600}
.eng-fam{margin-top:8px;font:400 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.eng-tcp{--c:#b6aaff}.eng-udp{--c:#8ec0ff}.eng-icmp{--c:#ffe066}.eng-rfc{--c:#a99bd1}
.eng-sub{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.eng-sub>div{background:var(--panel);padding:12px 14px;font-size:12.5px;color:var(--mute);line-height:1.5;cursor:pointer;transition:.15s}
.eng-sub>div:hover{background:rgba(148,135,216,.10)}
.eng-sub>div.sel{background:rgba(148,135,216,.16);box-shadow:inset 0 0 0 1.5px var(--purple-hi)}
.eng-sub code{background:none;padding:0;color:var(--purple-hi)}
.eng-sub b{display:block;color:var(--txt);margin-bottom:4px;font:700 13px/1.3 var(--mono)}
.eng-band{margin-top:30px;padding:9px 14px;background:rgba(148,135,216,.10);border-radius:5px;font:400 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--purple-hi)}
.eng-mods{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.eng-mod{border:1px solid var(--line2);border-radius:8px;background:var(--panel);padding:14px;cursor:pointer;transition:.2s;position:relative}
.eng-mod:hover{border-color:var(--purple)}
.eng-mod.sel{box-shadow:0 0 0 2px var(--purple-hi);border-color:var(--purple-hi)}
.eng-mod.dis{opacity:.45;cursor:not-allowed}
.eng-mod .mh{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.eng-mod .mh code{background:none;padding:0;color:var(--purple-hi);font-size:13px}
.eng-mod .mh b{font:700 13.5px/1.2 var(--body);color:var(--txt)}
.eng-mod p{font-size:12.5px;color:var(--mute);margin:8px 0 10px;line-height:1.5}
.chips{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.chips small{font:400 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-right:4px}
.chip{font:400 10px/1 var(--mono);padding:4px 7px;border-radius:999px;border:1px solid var(--line2);color:var(--dim)}
.chip.on{color:var(--bg);background:var(--purple-hi);border-color:var(--purple-hi)}
.chip.on.udp{background:#8ec0ff;border-color:#8ec0ff}.chip.on.icmp{background:#ffe066;border-color:#ffe066}.chip.on.rfc{background:#a99bd1;border-color:#a99bd1}
.eng-shape{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.eng-shape>div{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:14px}
.eng-shape h3{font:700 14px/1.2 var(--body);margin:0 0 10px}
.eng-shape dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:5px 12px;font-size:12.5px}
.eng-shape dt{color:var(--purple-hi);font-family:var(--mono);white-space:nowrap;cursor:pointer}
.eng-shape dt:hover{text-decoration:underline}
.eng-shape dt.sel{color:var(--teal)}
.eng-shape dd{margin:0;color:var(--mute)}
.eng-views{margin-top:14px;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.eng-views>div{display:grid;grid-template-columns:170px 1fr;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--mute);line-height:1.6}
.eng-views>div:last-child{border-bottom:0}
.eng-views>div>b{font:400 12px/1.6 var(--mono);color:var(--teal)}
.eng-views code{cursor:pointer}
.eng-views code:hover{text-decoration:underline}
.eng-views code.sel{color:var(--teal);background:rgba(79,216,192,.12)}

/* command builder */
.bld{position:sticky;bottom:0;z-index:50;margin-top:26px;background:rgba(8,7,13,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line2)}
.bld-in{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px 0}
.bld-cmd{font:400 15px/1.5 var(--mono);color:var(--txt);background:rgba(148,135,216,.08);border:1px solid var(--line2);border-radius:5px;padding:11px 14px;overflow-x:auto;white-space:nowrap}
.bld-cmd .p{color:var(--purple)}.bld-cmd .f{color:var(--purple-hi)}.bld-cmd .t{color:var(--teal)}
.bld-read{font-size:13px;color:var(--mute);margin-top:6px;line-height:1.5}
.bld-read b{color:var(--txt2);font-weight:600}
.bld-tgt{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.bld-tgt input{font:400 13px/1 var(--mono);padding:9px 12px;border-radius:4px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--txt);width:220px}
.bld-tgt input.port{width:80px}
.bld-tgt label{font:400 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.bld-btns{display:grid;gap:8px}
.bld-hint{font:400 11.5px/1.5 var(--mono);color:var(--amber);min-height:1em;margin-top:6px}

/* watch replay */
.wr{background:#050409;border:1px solid var(--line2);border-radius:6px;overflow:hidden;font:400 12.5px/1.55 var(--mono);color:var(--txt2)}
.wr-top{display:flex;justify-content:space-between;gap:10px;padding:8px 14px;background:rgba(148,135,216,.10);color:var(--purple-hi);flex-wrap:wrap}
.wr-top b{font-weight:400;color:var(--txt)}
.wr-status{padding:6px 14px;border-bottom:1px solid var(--line);color:var(--mute);min-height:30px}
.wr-status.alert{background:var(--hot);color:#1a0a08;font-weight:700}
.wr-status.learn{color:var(--amber)}
.wr-status.armed{color:var(--ok)}
.wr table{width:100%;border-collapse:collapse}
.wr th{text-align:left;font-weight:400;color:var(--purple);padding:8px 10px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.1em}
.wr td{padding:6px 10px;border-bottom:1px solid rgba(148,135,216,.08);white-space:nowrap}
.wr td.sp{letter-spacing:-1px;color:var(--ok)}
.wr td.sp i{font-style:normal}
.wr td.sp .y{color:var(--amber)}.wr td.sp .m{color:#e879f9}.wr td.sp .r{color:var(--hot)}
.wr tr.chg td{background:rgba(255,143,122,.14)}
.wr-log{padding:8px 14px;border-top:1px solid var(--line);color:var(--dim);max-height:96px;overflow:hidden}
.wr-log div{white-space:nowrap}
.wr-log .ev{color:var(--amber)}.wr-log .chg{color:var(--hot)}
.wr-keys{padding:7px 14px;background:rgba(148,135,216,.08);color:var(--mute);font-size:11px;white-space:nowrap;overflow:hidden}
.wr-ctl{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.wr-ctl button{font:400 11.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:9px 13px;border-radius:3px;
  border:1px solid var(--line2);background:none;color:var(--purple-hi);cursor:pointer}
.wr-ctl button.on,.wr-ctl button:hover{background:rgba(148,135,216,.16)}
.wr-ctl .cyc{font:400 12px/1 var(--mono);color:var(--mute);margin-left:auto}

/* output switcher */
.osw-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px}
.osw-tabs button{font:400 11.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:10px 13px;border-radius:3px;
  border:1px solid var(--line2);background:none;color:var(--mute);cursor:pointer;transition:.15s}
.osw-tabs button:hover{color:var(--txt)}
.osw-tabs button.on{color:var(--bg);background:var(--purple-hi);border-color:var(--purple-hi)}
.osw-pane{display:none}
.osw-pane.on{display:block}
.osw-cap{font-size:13.5px;color:var(--mute);margin:10px 0 0}
.osw-img{border:1px solid var(--line2);border-radius:6px;background:#fff;padding:14px;display:flex;justify-content:center}
.osw-img img{max-height:640px;width:auto}

/* ecmp */
.ecmp-vis{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.ecmp-toggle{display:inline-flex;border:1px solid var(--line2);border-radius:4px;overflow:hidden;margin-bottom:14px}
.ecmp-toggle button{font:400 11.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:10px 16px;border:0;background:none;color:var(--mute);cursor:pointer}
.ecmp-toggle button.on{background:var(--purple-hi);color:var(--bg)}
.diamond{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.diamond .node{border:1px solid var(--line2);border-radius:6px;padding:8px 10px;font:400 11.5px/1.4 var(--mono);color:var(--txt2);text-align:center;background:rgba(148,135,216,.06);transition:.4s}
.diamond .col{display:grid;gap:8px}
.diamond .col .node.ghost{opacity:0;transform:scale(.8)}
.diamond .col .node.show{opacity:1;transform:none}
.diamond .arrow{color:var(--purple);font-size:18px}

/* icon strip */
.icons{display:grid;grid-template-columns:repeat(9,1fr);gap:10px;margin-top:14px}
.icons figure{margin:0;text-align:center;border:1px solid var(--line);border-radius:6px;padding:10px 6px;background:var(--panel)}
.icons img{width:48px;height:48px}
.icons figcaption{font:400 10px/1.3 var(--mono);color:var(--mute);margin-top:6px;letter-spacing:.04em}

/* examples gallery */
.ex-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ex-card{display:grid;gap:10px;min-width:0}
.ex-cmd{display:flex;gap:8px;align-items:center;min-width:0}
.ex-cmd code{display:block;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ex-card .q{font:400 16px/1.35 var(--mono);color:var(--purple-hi)}
.ex-card .a{font-size:14px;color:var(--mute)}
.ex-card .a a{color:var(--purple-hi)}

@media(max-width:1000px){
  .eng-row,.eng-mods,.eng-shape,.ecmp-vis,.ex-grid{grid-template-columns:1fr}
  .eng-sub{grid-template-columns:1fr}
  .eng-views>div{grid-template-columns:1fr;gap:4px}
  .bld-in{grid-template-columns:1fr}
  .icons{grid-template-columns:repeat(3,1fr)}
  .lft-dl-btn{display:none}
  .diamond{grid-template-columns:1fr;text-align:center}
  .diamond .arrow{transform:rotate(90deg)}
}

/* ---- review fixes ---- */
[data-eng],[data-mod],[data-shape],[data-out],[data-name],[data-watch],[data-fam],[data-adaptive]{cursor:pointer}
.eng-card::after,.eng-mod::after{content:'select';position:absolute;right:12px;bottom:10px;font:400 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.eng-card.sel::after,.eng-mod.sel::after{content:'selected';color:var(--teal)}
.eng-mod.dis::after{content:'n/a here'}
.eng-sub>div{position:relative}
.eng-shape dt{padding:4px 0;min-height:24px}
.eng-shape dt.sel::before,.eng-views code.sel::before{content:'\2713 ';color:var(--teal)}
.bld-cmd .f40{color:var(--amber)}
.bld-inline{display:inline-flex;gap:6px;align-items:center;margin-left:8px}
.bld-inline input{width:88px;font:400 12px/1 var(--mono);padding:5px 8px;border-radius:3px;border:1px solid var(--purple);background:var(--bg2);color:var(--txt)}
.bld-inline button{font:400 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:6px 8px;border-radius:3px;border:1px solid var(--line2);background:none;color:var(--purple-hi);cursor:pointer}
.bld-tog{display:none}
.lft-tabs{mask-image:linear-gradient(90deg,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent)}
.wr-ctl .replay{display:none}
.wr.done + .wr-ctl .replay{display:inline-block}
@media(max-width:1000px){
  .bld-tog{display:inline-block;font:400 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:8px 10px;border-radius:3px;border:1px solid var(--line2);background:none;color:var(--purple-hi);cursor:pointer}
  .bld:not(.open) .bld-tgt,.bld:not(.open) .bld-read,.bld:not(.open) .bld-hint,.bld:not(.open) #bld-reset,.bld:not(.open) .bld-btns a{display:none}
  .bld-in{padding:10px 0;gap:8px}
  .bld-btns{grid-template-columns:1fr auto;display:grid}
  .bld-cmd{font-size:13px;padding:8px 10px}
  .lft-dl-btn{display:inline-block;padding:8px 10px}
}
.nw-term-inline .k{color:var(--purple-hi)}.nw-term-inline .v{color:var(--teal)}.nw-term-inline .c{color:var(--mute)}.nw-term-inline .w{color:var(--amber)}
.nw-skip.h2{position:absolute;left:-999px}

/* ---- source listings ---- */
.nw-src{border:1px solid var(--line2);border-radius:6px;background:var(--bg2);overflow:hidden;margin:18px 0}
.nw-src-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line);font:400 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.nw-src-name{color:var(--purple-hi);text-transform:none;letter-spacing:0;font-size:13px}
.nw-src-tools{margin-left:auto;display:flex;gap:10px;align-items:center}
.nw-src-tools a,.nw-src-tools button{font:400 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:6px 9px;border-radius:3px;border:1px solid var(--line2);background:none;color:var(--purple-hi);cursor:pointer;text-decoration:none}
.nw-src-tools a:hover,.nw-src-tools button:hover{border-color:var(--purple)}
.nw-src-code{margin:0;padding:14px 0;font:400 12.5px/1.5 var(--mono);color:var(--txt);white-space:pre;overflow:auto;max-height:78vh;counter-reset:ln;tab-size:4}
.nw-src-code .ln{display:block;padding:0 18px 0 0;counter-increment:ln}
.nw-src-code .ln::before{content:counter(ln);display:inline-block;width:3.6em;margin-right:1.4em;padding-right:.6em;text-align:right;color:var(--dim);border-right:1px solid var(--line);user-select:none}
.nw-src-code .ln:hover{background:rgba(148,135,216,.06)}
.nw-src-code i{font-style:normal}
.nw-src-code .cc{color:var(--mute)}
.nw-src-code .cs{color:var(--teal)}
.nw-src-code .cp{color:var(--amber)}
.nw-src-code .cn{color:#e0b8ff}
.nw-src-code .ck{color:var(--purple-hi)}
.nw-src-code .ct{color:#8fd0ff}
.nw-src-code .cf{color:#f2ecff}
.nw-src-code .cv{color:#ffc9a3}
.nw-api{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:18px}
.nw-api .nw-panel{padding:16px 18px}
.nw-api code{display:block;font-size:12.5px;color:var(--purple-hi);margin-bottom:6px;white-space:pre-wrap;word-break:break-word}
.nw-api p{margin:0;font-size:14px;color:var(--txt2)}
@media(max-width:640px){.nw-src-code{font-size:11.5px}.nw-src-code .ln::before{width:2.6em;margin-right:.8em}}

/* ---- separators between flags / labels: quiet glyph, real breathing room ---- */
.sep{font-style:normal;color:var(--dim);margin:0 .7em;font-weight:400;font-family:var(--mono)}
.nw-eyebrow .sep,.nw-id .sep{margin:0 .8em;color:var(--dim)}
.nw-eyebrow code{background:none;padding:0;color:var(--purple-hi);font-size:inherit;letter-spacing:.06em}
.nw-panel h3.flags{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 0}
.nw-panel h3.flags code{background:none;padding:0;font:700 16px/1.3 var(--mono);color:var(--txt);letter-spacing:0}
.eng-card b code,.eng-sub b code{background:none;padding:0;font:700 13px/1 var(--mono);color:var(--purple-hi)}
.eng-views span .sep{margin:0 .75em}
.ecmp-toggle button code{background:none;padding:0;font:inherit;color:inherit}

/* full-width hero headline: one thought per line, sized to the wrap */
.nw-h1-wide{font-size:clamp(30px,4.6vw,66px);line-height:1.08;letter-spacing:-.02em;white-space:nowrap;max-width:none}
@media(max-width:900px){.nw-h1-wide{white-space:normal;font-size:clamp(28px,7vw,44px)}}
.nw-h1-full{font-size:clamp(30px,4.6vw,66px);line-height:1.08;letter-spacing:-.02em;max-width:none;white-space:normal}   /* full-width headline that wraps */

/* ---- queries by country ---- */
.nw-crow{display:grid;grid-template-columns:22px 30px 150px 1fr 96px;gap:12px;align-items:center}
.nw-crow .n{font:400 11.5px/1 var(--mono);color:var(--dim);text-align:right}
.nw-crow.unk{opacity:.7}
.nw-crow .v small{display:block;font-size:10px;color:var(--dim);margin-top:3px}
.nw-crow .cc{font:700 11px/1 var(--mono);letter-spacing:.08em;color:var(--purple-hi);background:rgba(148,135,216,.12);border:1px solid var(--line2);border-radius:3px;text-align:center;padding:4px 0}
.nw-crow .l{font:400 13px/1.2 var(--body);color:var(--txt2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nw-crow .t{height:6px;background:rgba(148,135,216,.13);border-radius:3px;overflow:hidden}
.nw-crow .f{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--teal),var(--purple-hi));transition:width .8s}
.nw-crow .v{font:400 12.5px/1 var(--mono);color:var(--txt);text-align:right}
.nw-meter{display:grid;gap:9px}
.nw-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
@media(max-width:900px){.nw-stats-grid{grid-template-columns:1fr}.nw-crow{grid-template-columns:18px 30px 100px 1fr 52px}.nw-mrow{grid-template-columns:120px 1fr 70px}}

/* ---- whole-panel links ---- */
.nw-panel-link{cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}
.nw-panel-link:hover{border-color:var(--purple);box-shadow:0 0 0 1px rgba(148,135,216,.25),0 14px 40px rgba(0,0,0,.35);transform:translateY(-2px)}
.nw-panel-link:hover h3,.nw-panel-link:hover h3 a{color:var(--purple-hi)}
.nw-panel-link a{text-decoration-color:var(--line2)}
.nw-panel-link:hover a{text-decoration-color:var(--purple-hi)}
@media(prefers-reduced-motion:reduce){.nw-panel-link:hover{transform:none}}

/* ---- community table: title + visible URL ---- */
.nw-tbl-links .nw-trow b{display:flex;flex-direction:column;gap:5px}
.nw-tbl-links .nw-trow b small{font:400 11.5px/1.3 var(--mono);letter-spacing:0;color:var(--mute);word-break:break-all}
.nw-tbl-links .nw-trow b small a{color:var(--mute);text-decoration:none;border-bottom:1px dotted var(--line2)}
.nw-tbl-links .nw-trow b small a:hover{color:var(--purple-hi)}
.nw-tbl-links .nw-trow em .sep{margin:0 .5em}

/* ---- web lookup builder ---- */
.pwq fieldset{border:0;margin:0;padding:0;min-width:0}
.pwq-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.pwq-row[hidden],.pwq [hidden]{display:none !important}
.pwq-lbl{font:700 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--purple-hi);min-width:74px;padding:0;float:left;margin-right:14px}
.pwq-seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line2);border-radius:5px;overflow:hidden;background:var(--bg2)}
.pwq-seg label{position:relative;cursor:pointer}
.pwq-seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pwq-seg span{display:block;padding:11px 16px;font:400 12.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);border-right:1px solid var(--line);transition:.15s}
.pwq-seg label:last-child span{border-right:0}
.pwq-seg input:checked+span{background:var(--purple-hi);color:var(--bg);font-weight:700}
.pwq-seg input:focus-visible+span{outline:2px solid var(--purple-hi);outline-offset:-2px}
.pwq-seg label:hover span{color:var(--txt)}
.pwq-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pwq-chips .nw-tag{cursor:pointer;padding:9px 11px}
.pwq-chips .nw-tag input{accent-color:var(--purple-hi);margin:0 4px 0 0;vertical-align:-1px}
.pwq-chips .nw-tag:has(input:checked){background:rgba(148,135,216,.16);border-color:var(--purple)}
.pwq-chips .nw-tag i{color:var(--amber);font-style:normal;font-size:9px;margin-left:4px}
.pwq-input{margin:18px 0 6px}
.pwq-inrow{display:flex;gap:10px;align-items:stretch}
.pwq-inrow .nw-in{flex:1 1 auto;min-width:0}
.pwq-inrow .nw-btn{flex:none;white-space:nowrap}
@media(max-width:560px){.pwq-inrow{flex-wrap:wrap}.pwq-inrow .nw-btn{width:100%}}
.pwq-ex{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;align-items:center}
.pwq-ex small{font:400 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-right:4px}
.pwq-ex button{font:400 12px/1 var(--mono);padding:6px 9px;border-radius:3px;border:1px solid var(--line2);background:none;color:var(--purple-hi);cursor:pointer}
.pwq-ex button:hover{border-color:var(--purple)}
.pwq-opts{margin-top:14px}
.pwq-help{font:400 14px/1.55 var(--body);color:var(--txt2);margin:6px 0 16px;max-width:820px}
.pwq-preview{margin-top:4px}
.pwq-preview pre{padding:14px 18px;font-size:12.5px;line-height:1.9;white-space:pre-wrap;word-break:break-all}
.pwq-line{display:block;position:relative;padding-right:64px}
.pwq-line .nw-copy{position:absolute;right:0;top:4px}
.pwq-line .none{color:var(--dim)}
.pwq-status{display:inline-flex;align-items:center;gap:8px;font:400 12.5px/1.4 var(--body);color:var(--mute)}
.pwq-status i{width:8px;height:8px;border-radius:50%;background:var(--dim);flex:none}
.pwq-status.checking i{background:var(--amber);box-shadow:0 0 10px var(--amber);animation:nw-pulse 1.4s ease-in-out infinite}
.pwq-status.ready i{background:var(--teal);box-shadow:0 0 10px var(--teal)}
.pwq-status.bad i{background:var(--hot)}
.nw-copy{font:400 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border-radius:3px;border:1px solid var(--line2);background:none;color:var(--purple-hi);cursor:pointer}
.nw-copy:hover{border-color:var(--purple)}
/* results */
.pwq-res-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.pwq-res-top .osw-tabs{margin:0}
.pwq-res-top .tools{margin-left:auto;display:flex;gap:8px;align-items:center}
.pwq-res-top .tools input{font:400 12px/1 var(--mono);padding:7px 9px;border-radius:3px;border:1px solid var(--line2);background:var(--bg2);color:var(--txt);width:150px}
.pwq-kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.pwq-card{border:1px solid var(--line2);border-radius:6px;background:var(--bg2);padding:16px 18px}
.pwq-card h4{font:700 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--purple-hi);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.pwq-card dl{margin:0;display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:6px 14px}
.pwq-card dt{font:400 11.5px/1.5 var(--mono);color:var(--mute);letter-spacing:.04em}
.pwq-card dd{margin:0;font:400 13.5px/1.5 var(--mono);color:var(--txt);word-break:break-word}
.pwq-card dd.big{font-size:17px;color:var(--purple-hi)}
.pwq-card dd a{color:var(--purple-hi)}
.pwq-card dd .cmt{display:block;font:400 12.5px/1.5 var(--body);color:var(--txt2);max-height:5.5em;overflow:hidden;position:relative}
.pwq-card dd .cmt.open{max-height:none}
.pwq-card dd .more{font:400 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--purple-hi);background:none;border:0;cursor:pointer;padding:4px 0}
.pwq-tblwrap{overflow:auto;max-height:70vh;border:1px solid var(--line2);border-radius:6px}
.pwq-tbl{width:100%;border-collapse:collapse;font:400 12.5px/1.5 var(--mono)}
.pwq-tbl th{position:sticky;top:0;background:var(--bg2);text-align:left;padding:9px 12px;font:700 10.5px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--purple-hi);border-bottom:1px solid var(--line2);white-space:nowrap}
.pwq-tbl th button{all:unset;cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit}
.pwq-tbl th[aria-sort] button::after{content:' ↕';color:var(--dim)}
.pwq-tbl th[aria-sort="ascending"] button::after{content:' ↑';color:var(--teal)}
.pwq-tbl th[aria-sort="descending"] button::after{content:' ↓';color:var(--teal)}
.pwq-tbl td{padding:7px 12px;border-bottom:1px solid var(--line);color:var(--txt);white-space:nowrap;vertical-align:top}
.pwq-tbl tr:hover td{background:rgba(148,135,216,.06)}
.pwq-tbl td.best{color:var(--teal);font-weight:700}
.pwq-tbl td .lnk{color:var(--purple-hi);text-decoration:none;border-bottom:1px dotted var(--line2)}
.pwq-pre{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 10px;font:400 12.5px/1.5 var(--mono);color:var(--mute)}
.pwq-pre b{color:var(--txt);font-weight:400}
.pwq-trunc{margin-top:10px;font:400 12.5px/1.5 var(--mono);color:var(--amber)}
.pwq-json{font:400 12.5px/1.7 var(--mono);color:var(--txt);white-space:pre-wrap;word-break:break-word;margin:0;padding:18px;background:var(--bg2);border:1px solid var(--line2);border-radius:6px;max-height:70vh;overflow:auto}
.pwq-json .k{color:var(--purple-hi)}.pwq-json .s{color:var(--teal)}.pwq-json .n{color:#e0b8ff}
@media(max-width:700px){.pwq-lbl{float:none;display:block;margin:0 0 8px}.pwq-seg span{padding:10px 12px;font-size:11.5px}.pwq-row{gap:8px}.pwq-kv{grid-template-columns:1fr}.pwq-res-top .tools{margin-left:0;width:100%}.pwq-res-top .tools input{flex:1}}

/* ---- stats: donuts, line, bars ---- */
.nw-donut-row{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:8px}
.nw-donut{width:150px;height:150px;flex:none}
.nw-donut .track{fill:none;stroke:rgba(148,135,216,.14);stroke-width:14}
.nw-donut .seg{fill:none;stroke-width:14;stroke-linecap:butt;transition:stroke-dasharray .9s cubic-bezier(.2,.9,.3,1)}
.nw-donut text{font:700 15px var(--mono);fill:var(--txt);text-anchor:middle}
.nw-donut text.sub{font:400 9px var(--mono);fill:var(--mute);letter-spacing:.1em}
.nw-donut-legend{display:grid;gap:10px;font:400 14px/1.4 var(--body);color:var(--txt2)}
.nw-donut-legend div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nw-donut-legend i{width:10px;height:10px;border-radius:2px;flex:none}
.nw-donut-legend b{font:700 15px/1 var(--mono);color:var(--txt)}
.nw-donut-legend small{font:400 12px/1 var(--mono);color:var(--mute)}
.nw-line-legend{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:10px;font-size:12.5px}
.nw-line,.nw-bars{width:100%;height:auto;display:block;margin-top:10px}
.nw-line .grid{stroke:rgba(148,135,216,.12);stroke-width:1}
.nw-line .ax{font:400 10px var(--mono);fill:var(--mute)}
.nw-line path.v4{fill:none;stroke:var(--purple-hi);stroke-width:1.8}
.nw-line path.v6{fill:none;stroke:var(--teal);stroke-width:1.8}
.nw-line path.area4{fill:url(#g4);opacity:.35}
.nw-line circle.own{fill:var(--amber);stroke:var(--bg);stroke-width:1}
.nw-line .cursor{stroke:var(--purple-hi);stroke-width:1;stroke-dasharray:3 3;opacity:0}
.nw-line .tip{font:400 11px var(--mono);fill:var(--txt)}
.nw-chart-tabs{margin:8px 0 0}
.nw-chart-tabs button{padding:7px 10px;font-size:10.5px}
.nw-bars rect.bar{fill:var(--purple-hi);opacity:.85}
.nw-bars rect.bar.hi{fill:var(--teal)}
.nw-bars text{font:400 10px var(--mono);fill:var(--mute)}
.nw-bars text.v{fill:var(--txt);font-size:9.5px}
.nw-readouts-sm{margin-top:14px;grid-template-columns:repeat(2,1fr)}
.nw-readouts-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:1000px){.nw-readouts-5,.nw-readouts-sm{grid-template-columns:repeat(2,1fr)}}
.nw-readouts-sm .nw-ro .n{font-size:26px}

/* ---- composition views ---- */
.nw-hbars,.nw-stack{width:100%;height:auto;display:block;margin-top:6px}
.nw-hbars .track{fill:rgba(148,135,216,.10)}
.nw-hbars .bar{fill:var(--purple-hi);transition:width .9s cubic-bezier(.2,.9,.3,1)}
.nw-hbars .bar.hi{fill:var(--teal)}
.nw-hbars text,.nw-stack text{font:400 11px var(--mono);fill:var(--mute)}
.nw-hbars text.v{fill:var(--txt)}
.nw-hbars text.lbl,.nw-stack text.lbl{fill:var(--txt2)}
.nw-stack text.band{font:700 11px var(--mono);fill:var(--txt)}
.nw-stack text.band.dark{fill:var(--bg)}

/* ---- top origin ASes ---- */
.nw-topgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.nw-top td.r{text-align:right}
.nw-top td.rank{color:var(--dim);width:2.2em}
.nw-top td small{display:block;font:400 11px/1.3 var(--body);color:var(--mute);white-space:normal}
.nw-top td.org{white-space:normal;max-width:260px}
@media(max-width:1000px){.nw-topgrid{grid-template-columns:1fr}}

/* ===== MCP page ===== */
.mcp-demo{margin-top:28px;max-width:820px}.mcp-demo pre{font-size:12.5px;line-height:1.55;padding:18px 20px;white-space:pre-wrap}
.mcp-steps ol{margin:0;padding-left:22px;color:var(--txt2);line-height:1.6}.mcp-steps ol li{margin:6px 0}.mcp-steps code{word-break:break-all}
.mcp-urlrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.mcp-urlrow code{font:400 13px/1.4 var(--mono);color:var(--purple-hi);word-break:break-all}
.mcp-tools .nw-panel h3{margin:10px 0 8px}.mcp-tool-hd{display:flex;justify-content:space-between;align-items:center;gap:12px}
.mcp-tool-hd code{font:400 13px/1 var(--mono);color:var(--purple-hi)}
.mcp-cost{font:400 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--teal);border:1px solid rgba(94,234,212,.35);border-radius:3px;padding:6px 8px;white-space:nowrap}
.mcp-ex{color:var(--mute);font-size:14px;margin:12px 0 0;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.mcp-list{margin:14px 0 0;padding-left:20px;color:var(--txt2);line-height:1.6}.mcp-list li{margin:8px 0}
.mcp-facts{margin-top:18px}.mcp-facts .nw-ro .s{margin-top:8px}
.mcp-daily{width:100%;height:auto;display:block}
.nw-line .bar{fill:var(--purple-hi);opacity:.85}.nw-line .line2{fill:none;stroke:var(--teal);stroke-width:1.8}.nw-line .dot2{fill:var(--teal)}.nw-line .ax2{fill:var(--teal)}
@media (max-width:760px){.mcp-tools.nw-grid.g2{grid-template-columns:1fr}}

/* function signatures (PHP library page) */
.nw-tbl-sig .nw-trow{grid-template-columns:minmax(300px,1.35fr) 2fr;align-items:start}
.nw-sig{font:400 13.5px/1.55 var(--mono);color:var(--txt2);white-space:nowrap}.nw-sig i{font-style:normal}
.nw-sig .fn{color:var(--purple-hi);font-weight:600}.nw-sig .pn{color:var(--mute)}.nw-sig .ret .ct{color:#8fd0ff}
.nw-sig .params{display:block;padding-left:1.6em}.nw-sig .p{display:block}.nw-sig .ct{color:#8fd0ff}.nw-sig .cv{color:#ffc9a3}.nw-sig .df{color:var(--mute)}
@media(max-width:760px){.nw-tbl-sig .nw-trow{grid-template-columns:1fr}.nw-sig{white-space:normal}}

/* download opt-in e-mail field */
.lft-dl-optin .lft-dl-mail{display:flex;flex-direction:column;gap:6px;flex:1;min-width:240px}.lft-dl-optin .lft-dl-mail label span{font:400 12.5px/1.4 var(--body);color:var(--txt2)}.lft-dl-optin .lft-dl-mail label em{color:var(--mute);font-style:normal}
/* real watch-mode captures */
.tcap-fig{margin:26px 0 0}
.tcap-fig figcaption{font:400 14px/1.5 var(--body);color:var(--txt);margin-bottom:10px}
.tcap-fig figcaption .nw-id{margin-right:10px}
.tcap{background:#050409;border:1px solid var(--line2);border-radius:6px;overflow-x:auto}
.tcap pre{margin:0;padding:12px 14px;font:400 11.5px/1.32 ui-monospace,Menlo,Consolas,'DejaVu Sans Mono',monospace;color:var(--txt2);white-space:pre;tab-size:8}
.tcap i{font-style:normal}.tcap .b{font-weight:700;color:var(--txt)}.tcap .d{color:var(--dim)}
.tcap .c1,.tcap .c9{color:var(--hot)}.tcap .c2,.tcap .c10{color:var(--ok)}.tcap .c3,.tcap .c11{color:var(--amber)}
.tcap .c4,.tcap .c12{color:var(--purple-hi)}.tcap .c5,.tcap .c13{color:#e879f9}.tcap .c6,.tcap .c14{color:var(--teal)}
.tcap .c0,.tcap .c8{color:var(--dim)}.tcap .c7,.tcap .c15{color:var(--txt)}
.tcap-notes{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px 22px}
.tcap-notes li{font:400 13.5px/1.6 var(--body);color:var(--txt2);padding-left:14px;position:relative}
.tcap-notes li::before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:50%;background:var(--purple)}
.tcap-notes li b{color:var(--txt);font-weight:600}
.tcap .x75{color:#5fafff}.tcap .x147{color:#afafff}.tcap .x195{color:#d7ffff}
/* LFT credits */
.nw-credits{list-style:none;padding:0;margin:10px 0 18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 22px}
.nw-credits li{margin:0;padding:7px 0 7px 14px;border-bottom:1px solid var(--line);position:relative;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.nw-credits li::before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;border-radius:50%;background:var(--purple)}
.nw-credits b{color:var(--txt);font-weight:600}
.nw-credits span{font:400 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--purple-hi);background:rgba(148,135,216,.10);border:1px solid var(--line);border-radius:3px;padding:4px 7px;white-space:nowrap}
