/* nexus-info.store :: system fonts only, no external requests */

:root{
  --bg:#0b0c0e;
  --bg2:#101215;
  --panel:#16181b;
  --panel2:#1c1f23;
  --line:#2a2e33;
  --line2:#3a3f46;
  --ink:#dfe3e8;
  --dim:#9aa3ad;
  --dim2:#6c757e;
  --hot:#ff5050;
  --hot2:#c73c3c;
  --ok:#5ec98a;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  --sans:ui-sans-serif,system-ui,sans-serif;
  --w:1080px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.62;
  background-image:linear-gradient(180deg,#101215 0,#0b0c0e 420px);
  background-repeat:no-repeat;
}
.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}

a{color:var(--hot);text-decoration:none}
a:hover{text-decoration:underline}
code{font-family:var(--mono);font-size:.92em;background:#0e1013;border:1px solid var(--line);padding:1px 5px;color:#e8ebef}

.skip{position:absolute;left:-9999px;top:0;background:var(--hot);color:#101215;padding:10px 16px;font-family:var(--mono);z-index:9}
.skip:focus{left:0}

/* ---------- language bar ---------- */
.langbar{background:linear-gradient(90deg,#0b0c0e 0,#16181b 50%,#0b0c0e 100%);border-bottom:1px solid var(--line)}
.lb{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:38px}
.lbk{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--dim2);text-transform:uppercase}
.lblist{list-style:none;display:flex;flex-wrap:wrap;gap:2px;margin:0;padding:0}
.lblist a{display:flex;gap:6px;align-items:baseline;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--dim);padding:5px 9px;border:1px solid transparent}
.lblist a:hover{color:var(--ink);border-color:var(--line2);text-decoration:none}
.lblist a.on{color:#101215;background:linear-gradient(180deg,#ff6a6a,#ff5050);border-color:var(--hot)}
.lc{font-weight:700}
.ln{opacity:.85}

/* ---------- header ---------- */
header.site{background:linear-gradient(180deg,#16181b 0,#0f1114 100%);border-bottom:1px solid var(--line2)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.mark{display:flex;align-items:center;gap:10px;color:var(--ink)}
.mark:hover{text-decoration:none}
.markbox{display:grid;place-items:center;width:34px;height:34px;background:linear-gradient(160deg,#ff6a6a,#d94040);color:#101215;font-family:var(--mono);font-weight:700;font-size:20px}
.markt{font-family:var(--mono);letter-spacing:.14em;font-size:15px}
.markt b{color:var(--ink)}
.markt i{color:var(--hot);font-style:normal}
.nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:2px;margin:0;padding:0}
.nav a{display:flex;align-items:baseline;gap:6px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);padding:7px 10px;border:1px solid transparent}
.nav a:hover{color:var(--ink);border-color:var(--line2);text-decoration:none}
.nav a.on{color:var(--hot);border-color:var(--hot2);background:linear-gradient(180deg,#1e1517,#141618)}
.nn{color:var(--dim2)}
.nav a.on .nn{color:var(--hot2)}
.sep{color:var(--hot2)}

/* ---------- main ---------- */
main{padding:34px 0 46px}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--hot);margin:0 0 10px;text-transform:uppercase}
h1{font-size:31px;line-height:1.22;margin:0 0 14px;letter-spacing:-.01em;font-weight:650}
.lead{font-size:18px;color:#c8ced6;margin:0 0 24px;max-width:70ch}
main p{max-width:74ch}
h2{display:flex;align-items:baseline;gap:9px;font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin:38px 0 14px;padding-bottom:9px;border-bottom:1px solid var(--line2);font-weight:600}
h2 .num{color:var(--hot);min-width:2ch}
h2 .ttl{color:var(--ink)}
h3{font-size:16px;margin:24px 0 8px;letter-spacing:.01em}
.mh{margin-top:0}
.mh .ttl{color:var(--ink)}

/* ---------- address block ---------- */
.mirrors{margin:0 0 26px;border:1px solid var(--line2);background:linear-gradient(180deg,#15181c 0,#101215 100%)}
.mirrors .mh{margin:0;padding:11px 16px;border-bottom:1px solid var(--line2);background:linear-gradient(90deg,#1c1f23,#131518)}
.mcap{margin:14px 16px 12px;color:var(--dim);font-size:14px;max-width:78ch}
.mlist{list-style:none;margin:0;padding:0 16px}
.mrow{display:flex;align-items:stretch;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.onion{flex:1 1 420px;font-family:var(--mono);font-size:13px;line-height:1.5;word-break:break-all;background:#0a0b0d;border:1px solid var(--line2);border-left:3px solid var(--hot);padding:9px 11px;color:#e9ecf0}
.copy{flex:0 0 auto;min-width:96px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;cursor:pointer;color:#101215;background:linear-gradient(180deg,#ff6a6a,#e04747);border:1px solid var(--hot2);padding:0 14px}
.copy:hover{background:linear-gradient(180deg,#ff8080,#ff5050)}
.copy.done{background:linear-gradient(180deg,#7fe0a5,#4bb377);border-color:#3f9964}
.mhint{margin:12px 16px 16px;font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:var(--dim2)}

/* ---------- generic content ---------- */
.bul{margin:12px 0;padding-left:0;list-style:none;max-width:78ch}
.bul li{position:relative;padding-left:22px;margin-bottom:9px}
.bul li:before{content:"//";position:absolute;left:0;top:0;font-family:var(--mono);font-size:12px;color:var(--hot2)}

.steps{list-style:none;counter-reset:none;margin:14px 0;padding:0}
.steps li{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.stepk{flex:0 0 auto;font-family:var(--mono);font-size:13px;color:var(--hot);padding-top:2px}
.stepb{display:block;max-width:72ch}
.stepb strong{color:var(--ink)}

.rows{border:1px solid var(--line2);margin:14px 0}
.row{display:flex;gap:14px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row:nth-child(odd){background:#0f1114}
.rk{flex:0 0 220px;font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;color:var(--dim2);padding-top:3px}
.rv{flex:1 1 300px;font-size:14.5px}

.tw{overflow-x:auto;margin:14px 0;border:1px solid var(--line2)}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px}
th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim2);background:linear-gradient(180deg,#1c1f23,#141619);padding:10px 12px;border-bottom:1px solid var(--line2)}
td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
tbody tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:#0e1013}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:14px 0}
.card{padding:14px;background:linear-gradient(160deg,#181b1f,#101215);border:1px solid var(--line2)}
.card h3{margin:0 0 6px;font-size:14px}
.card p{margin:0;font-size:14px;color:var(--dim)}

.note{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0;padding:14px 16px;background:linear-gradient(90deg,#1a1416,#111315);border:1px solid var(--hot2);border-left:3px solid var(--hot)}
.notek{flex:0 0 auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--hot);padding-top:3px}
.note p{margin:0;font-size:14.5px}

.faq{margin:14px 0;border:1px solid var(--line2)}
.qa{border-bottom:1px solid var(--line)}
.qa:last-child{border-bottom:0}
.qa summary{cursor:pointer;list-style:none;padding:13px 16px;font-size:15.5px;font-weight:600;background:linear-gradient(90deg,#141719,#0f1113)}
.qa summary::-webkit-details-marker{display:none}
.qa summary:before{content:"+";font-family:var(--mono);color:var(--hot);margin-right:10px}
.qa[open] summary:before{content:"-"}
.qa[open] summary{color:var(--hot)}
.qab{padding:4px 16px 14px 16px}
.qab p{margin:10px 0 0;font-size:15px;color:#c9cfd6}

.figure{margin:16px 0}
.fig{display:block;width:100%;height:auto;border:1px solid var(--line2);background:#0d0f11}
figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--dim2);margin-top:8px}

.xlinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:18px 0 0}
.xlink{display:flex;flex-direction:column;gap:4px;padding:13px 14px;background:linear-gradient(160deg,#181b1f,#0f1113);border:1px solid var(--line2)}
.xlink:hover{border-color:var(--hot2);text-decoration:none}
.xt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--hot)}
.xd{font-size:13.5px;color:var(--dim)}

/* ---------- pgp tool ---------- */
.pgp{margin:16px 0;border:1px solid var(--line2);background:linear-gradient(180deg,#141619,#0d0f11);padding:16px}
.pgplab{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--dim2);margin-bottom:8px}
.pgpin{display:block;width:100%;font-family:var(--mono);font-size:12.5px;line-height:1.5;color:#e6e9ed;background:#08090b;border:1px solid var(--line2);padding:11px;resize:vertical}
.pgpin:focus{outline:0;border-color:var(--hot2)}
.pgpbtns{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.btn{font-family:var(--mono);font-size:11px;letter-spacing:.1em;cursor:pointer;padding:9px 14px;color:var(--ink);background:linear-gradient(180deg,#23272c,#171a1d);border:1px solid var(--line2)}
.btn:hover{border-color:var(--dim2)}
.btn.primary{color:#101215;background:linear-gradient(180deg,#ff6a6a,#e04747);border-color:var(--hot2)}
.pgpoff{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--ok)}
.pgpout{margin-top:12px;border:1px solid var(--line);background:#08090b;padding:12px;font-family:var(--mono);font-size:12.5px;overflow-x:auto}
.pgpidle{margin:0;color:var(--dim2)}
.pgpout h4{margin:12px 0 5px;font-size:10.5px;letter-spacing:.13em;color:var(--hot);text-transform:uppercase;font-weight:600}
.pgpout h4:first-child{margin-top:0}
.pgpout pre{margin:0;white-space:pre-wrap;word-break:break-word;color:#dfe3e8}
.pgpout ul{margin:0;padding-left:18px;color:#c3c9d0}
.pgpout .bad{color:var(--hot)}
.pgpout .good{color:var(--ok)}
.pgpout .meta{color:var(--dim2)}
.pgpwarn{margin:12px 0 0;font-size:13px;color:var(--dim)}

/* ---------- site index ---------- */
.siteindex{border-top:1px solid var(--line2);background:linear-gradient(180deg,#0d0f11,#101215)}
.siteindex .wrap{max-width:1240px;padding-top:30px;padding-bottom:30px}
.sidn{margin:10px 0 16px;font-size:13.5px;color:var(--dim2)}
.sgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.scol{border:1px solid var(--line);padding:12px;background:#0c0e10}
.sch{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--hot2);margin-bottom:8px}
.scol ul{list-style:none;margin:0;padding:0}
.scol li{margin-bottom:4px}
.scol a{font-size:13px;color:var(--dim)}
.scol a:hover{color:var(--hot)}

/* ---------- footer ---------- */
footer.site{border-top:1px solid var(--line2);background:linear-gradient(180deg,#101215,#08090b)}
.ft{padding-top:26px;padding-bottom:34px}
.fnav{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-bottom:22px}
.pn{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line2);background:#0e1013}
.pn:hover{border-color:var(--hot2);text-decoration:none}
.pn span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--dim2);text-transform:uppercase}
.pn b{font-size:14px;color:var(--ink);font-weight:500}
.pn.nx{text-align:right}
.fabout{margin:0 0 14px;font-size:13.5px;color:var(--dim2);max-width:88ch}
.frev{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--dim2);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.frev code{background:#0d0f11;border-color:var(--line);color:var(--hot)}
.fbuilt{color:var(--line2)}

/* ---------- 404 ---------- */
.is404 main{min-height:52vh}
.plain{list-style:none;padding:0;margin:16px 0;display:flex;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:13px}

/* ---------- narrow ---------- */
@media (max-width:900px){
  .sgrid{grid-template-columns:repeat(3,1fr)}
  h1{font-size:26px}
  .rk{flex:0 0 100%}
}
@media (max-width:560px){
  .sgrid{grid-template-columns:repeat(2,1fr)}
  .lb{padding-top:6px;padding-bottom:6px}
  .nav a{padding:6px 8px}
  .copy{width:100%;padding:9px 0}
  h1{font-size:23px}
  .lead{font-size:16.5px}
  .pn.nx{text-align:left}
}
