@font-face{font-family:'RH Text';src:url('font/redhattext-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'RH Text';src:url('font/redhattext-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'RH Text';src:url('font/redhattext-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'RH Text';src:url('font/redhattext-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'RH Mono';src:url('font/redhatmono-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'RH Mono';src:url('font/redhatmono-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'RH Mono';src:url('font/redhatmono-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --bg:#06090b; --bg2:#0b1013; --panel:#111619; --panel2:#161d21;
  --line:#212a2e; --line2:#313d42;
  --ink:#dbe4e7; --dim:#94a3a8; --dim2:#68767c;
  --hot:#35c9c0; --hot2:#1c817b; --ok:#9ad552;
  --w:1080px;
  --mono:'RH Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:'RH Text',ui-sans-serif,system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--sans);font-size:16px;line-height:1.62;color:var(--ink);
  background:var(--bg);background-image:linear-gradient(180deg,#0c1215 0,#06090b 460px);
  background-repeat:no-repeat;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--w);margin:0 auto;padding:0 22px}
a{color:var(--hot);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--hot);outline-offset:2px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:10px;z-index:9;background:var(--panel2);border:1px solid var(--hot2);color:var(--ink);padding:9px 13px;font-family:var(--mono);font-size:11px;letter-spacing:.1em}
.sl{color:var(--hot2)}

/* header */
header.site{background:linear-gradient(180deg,#151d21,#0d1316);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:11px;color:var(--ink)}
.mark:hover{text-decoration:none}
.glyph{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:19px;color:#06181a;background:linear-gradient(158deg,#54e0d6,#1c9c94);border:1px solid #12615d}
.wm{font-family:var(--mono);font-size:15px;letter-spacing:.14em}
.wm b{color:#f0f6f7;font-weight:700}
.wm i{color:var(--hot);font-style:normal;font-weight:400}
.nav{display:flex;flex-wrap:wrap;gap:2px}
.nl{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}
.nl:hover{color:var(--ink);border-color:var(--line2);text-decoration:none}
.nl.on{color:var(--hot);border-color:var(--hot2);background:linear-gradient(180deg,#0f2220,#111719)}
.nn{color:var(--dim2)} .nl.on .nn{color:var(--hot2)}

/* head of page */
main{display:block;padding:30px 0 48px}
.crumb{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim2);margin:0 0 16px;display:flex;gap:8px;flex-wrap:wrap}
.crumb a{color:var(--dim2)} .crumb a:hover{color:var(--hot)}
.kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--hot);margin:0 0 10px}
.rectag{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:#06181a;background:var(--hot);padding:2px 7px}
h1{font-size:31px;line-height:1.22;font-weight:700;letter-spacing:-.01em;margin:0 0 12px}
.lead{font-size:18px;line-height:1.55;color:#c3ccd0;max-width:70ch;margin:0 0 22px}
p{max-width:74ch}
h2{display:flex;align-items:baseline;gap:10px;font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:#eaf1f2;border-bottom:1px solid var(--line2);padding-bottom:9px;margin:38px 0 14px}
h2 .rn{color:var(--hot);min-width:2ch;font-weight:700}
h3{font-size:15.5px;font-weight:600;margin:24px 0 7px}
code{font-family:var(--mono);font-size:.92em;background:#0a1013;border:1px solid var(--line);padding:1px 5px;color:#e6eef0}
strong{color:#eef4f5;font-weight:600}

/* addresses */
.mirrors{margin:0 0 28px;border:1px solid var(--line2);background:linear-gradient(180deg,#101619 0,#0a0e10 100%)}
.mirrors .mh{display:block;margin:0;padding:11px 16px;border-bottom:1px solid var(--line2);background:linear-gradient(90deg,#161f22,#0e1315);font-size:11.5px}
.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:#070b0d;border:1px solid var(--line2);border-left:3px solid var(--hot);padding:9px 11px;color:#e7eff0}
.copy{flex:0 0 auto;min-width:96px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;cursor:pointer;color:#06181a;background:linear-gradient(180deg,#54e0d6,#22a89f);border:1px solid var(--hot2);padding:0 14px}
.copy:hover{background:linear-gradient(180deg,#6ef0e6,#35c9c0)}
.copy.done{background:linear-gradient(180deg,#bce87c,#82bf42);border-color:#6ea337}
.mhint{margin:12px 16px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--dim2);max-width:none}

/* record rows */
.rows{border:1px solid var(--line2);margin:16px 0}
.row{display:flex;gap:14px;flex-wrap:wrap;padding:11px 14px;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row:nth-child(odd){background:#0a0f11}
.rk{flex:0 0 210px;font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;color:var(--dim2);padding-top:3px;text-transform:uppercase}
.rv{flex:1 1 300px;font-size:14.5px;max-width:none}
.rv.hot{color:var(--hot)} .rv.ok{color:var(--ok)}

/* lists */
.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;margin:14px 0;padding:0;max-width:78ch}
.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}

/* note */
.note{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0;padding:14px 16px;background:linear-gradient(90deg,#0f1e1d,#0d1214);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}

/* table */
.tw{overflow-x:auto;margin:16px 0;border:1px solid var(--line2)}
table{border-collapse:collapse;width:100%;min-width:560px;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,#161d21,#0f1416);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:#0a0f11}
td code{font-size:12px}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:9px;margin:16px 0}
.xlink{display:flex;flex-direction:column;gap:5px;padding:13px 14px;background:linear-gradient(158deg,#141b1e,#0c1113);border:1px solid var(--line2)}
.xlink:hover{border-color:var(--hot2);text-decoration:none}
.xt{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--hot);text-transform:uppercase}
.xh{font-size:14.5px;color:var(--ink);font-weight:600}
.xd{font-size:13.5px;color:var(--dim);max-width:none}

/* faq */
.faq{margin:16px 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,#121719,#0d1113)}
.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}
.qab p{margin:10px 0 0;font-size:15px;color:#c6ced1}

/* glossary */
.gloss{border:1px solid var(--line2);margin:16px 0}
.gr{display:flex;gap:14px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line)}
.gr:last-child{border-bottom:0}
.gr:nth-child(even){background:#0a0f11}
.gr dt{flex:0 0 170px;font-family:var(--mono);font-size:12.5px;color:var(--hot);margin:0}
.gr dd{flex:1 1 320px;margin:0;font-size:14.5px}

/* footer */
footer.site{border-top:1px solid var(--line2);background:linear-gradient(180deg,#0b1013,#050708)}
.ft{padding-top:26px;padding-bottom:34px}
.fnav{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;margin-bottom:24px}
.pn{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line2);background:#0c1113}
.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}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-bottom:20px}
.fk{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--hot2);margin-bottom:8px}
.fl{list-style:none;margin:0;padding:0}
.fl li{margin-bottom:4px;font-size:13.5px}
.fl a{color:var(--dim)} .fl a:hover{color:var(--hot)}
.fo li{font-family:var(--mono);font-size:11px;color:var(--dim2);word-break:break-all;line-height:1.5}
.fabout{margin:0;font-size:13.5px;color:var(--dim2);max-width:88ch}

@media (max-width:900px){
  h1{font-size:26px}
  .rk{flex:0 0 100%}
  .gr dt{flex:0 0 100%}
}
@media (max-width:560px){
  .nl{padding:6px 8px}
  .copy{width:100%;padding:9px 0}
  h1{font-size:23px}
  .lead{font-size:16.5px}
  main{padding-top:22px}
}
