:root{
  --night:#10141A;
  --panel:#1A2028;
  --panel-2:#212936;
  --edge:#2C3646;
  --linen:#E8E4DA;
  --slate:#8A94A2;
  --brass:#D9A441;
  --embed:#3D8BF0;
  --victory:#46C46E;
  --defeat:#E23D3D;
  --radius:6px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--night);
  color:var(--linen);
  font:400 16px/1.65 "IBM Plex Sans",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  background-image:
    linear-gradient(var(--night) 0%, transparent 30%, var(--night) 85%),
    repeating-linear-gradient(0deg, transparent 0 47px, #1A212B 47px 48px),
    repeating-linear-gradient(90deg, transparent 0 47px, #1A212B 47px 48px);
}
h1,h2,h3{font-family:"Jost",system-ui,sans-serif;text-wrap:balance;line-height:1.12}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace}
.eyebrow{
  font-family:"IBM Plex Mono",ui-monospace,monospace;
  font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);
}
kbd{
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.86em;
  background:var(--panel-2);border:1px solid var(--edge);border-radius:4px;
  padding:.1em .45em;white-space:nowrap;
}
nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0 10px}
.brand{display:flex;align-items:center;gap:10px;font-family:"Jost",sans-serif;font-weight:600;font-size:1.05rem;letter-spacing:.04em;text-decoration:none}
.brand img{width:26px;height:26px;border-radius:6px;flex:none}
.brandblock{display:flex;flex-direction:column;gap:2px}
.builtby{font-size:.72rem;color:var(--slate);text-decoration:none;letter-spacing:.03em;padding-left:36px}
.builtby:hover{color:var(--linen)}
.builtby .tag{font-family:"IBM Plex Mono",monospace;color:var(--brass)}
nav .links{display:flex;gap:26px;font-size:.92rem;color:var(--slate)}
nav .links a{text-decoration:none}
nav .links a:hover{color:var(--linen)}
.btn{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  font-family:"Jost",sans-serif;font-weight:600;font-size:1rem;letter-spacing:.03em;
  padding:13px 26px;border-radius:var(--radius);transition:transform .12s ease,background .12s ease;
}
.btn-primary{background:var(--brass);color:#181206}
.btn-primary:hover{background:#E5B45C;transform:translateY(-1px)}
.btn-ghost{border:1px solid var(--edge);color:var(--linen)}
.btn-ghost:hover{background:var(--panel)}
.cta-row{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}
.crumbs{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.78rem;color:var(--slate);margin:28px 0 0;letter-spacing:.04em}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--linen)}
.crumbs span{margin:0 .5em;color:var(--edge)}
.page{max-width:760px;padding:18px 0 80px}
.page h1{font-size:clamp(2rem,4.6vw,3rem);font-weight:700;margin-top:12px}
.page .lede{margin-top:18px;font-size:1.12rem;color:var(--slate)}
.page h2{font-size:clamp(1.45rem,3vw,1.9rem);font-weight:600;margin-top:56px;padding-top:22px;border-top:1px solid var(--edge)}
.page h3{font-size:1.15rem;font-weight:600;margin-top:30px}
.page p,.page li{margin-top:14px;color:var(--linen)}
.page li{margin-top:8px}
.page ul,.page ol{padding-left:1.4em;margin-top:6px}
.page p.note{color:var(--slate);font-size:.94rem}
.page a:not(.btn){color:var(--linen);text-decoration:none;border-bottom:1px solid var(--edge)}
.page a:not(.btn):hover{color:var(--brass);border-color:var(--brass)}
.page table{width:100%;border-collapse:collapse;margin-top:18px;font-size:.94rem}
.page th,.page td{text-align:left;vertical-align:top;padding:10px 10px 10px 0;border-top:1px solid var(--edge)}
.page th{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);border-top:none}
.page td:first-child{white-space:nowrap}
.tablewrap{overflow-x:auto}
.yes{color:var(--victory)}
.no{color:var(--slate)}
.callout{
  position:relative;background:var(--panel);border:1px solid var(--edge);border-radius:var(--radius);
  padding:20px 22px;margin-top:26px;
}
.callout::before,.callout::after{
  content:"";position:absolute;width:14px;height:14px;border-color:var(--brass);border-style:solid;opacity:.85;
}
.callout::before{top:-1px;left:-1px;border-width:2px 0 0 2px}
.callout::after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}
.callout p:first-child{margin-top:0}
.cmd{
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.9rem;color:var(--brass);
  background:var(--panel-2);border:1px solid var(--edge);border-radius:4px;padding:10px 14px;margin-top:14px;
  overflow-x:auto;white-space:nowrap;
}
.steps{counter-reset:step;margin-top:10px}
.step{border-top:2px solid var(--brass);padding-top:16px;margin-top:34px;counter-increment:step}
.step::before{
  content:"0" counter(step);font-family:"IBM Plex Mono",monospace;font-size:.78rem;
  letter-spacing:.2em;color:var(--brass);
}
.step h3{margin-top:6px}
.faqlist article{border-top:1px solid var(--edge);padding-top:18px;margin-top:22px}
.faqlist h3{margin-top:0;font-size:1.08rem}
.faqlist p{color:var(--slate);font-size:.95rem}
.closing{text-align:center;padding:72px 0 96px;border-top:1px solid var(--edge)}
.closing h2{font-size:clamp(1.7rem,3.6vw,2.4rem);font-weight:700}
.closing .cta-row{justify-content:center}
.closing p{margin-top:14px;color:var(--slate)}
footer{border-top:1px solid var(--edge);padding:30px 0 44px;color:var(--slate);font-size:.84rem}
footer .wrap{display:flex;flex-direction:column;align-items:center;gap:14px}
footer .credit{text-align:center;color:var(--slate)}
footer .credit a{color:var(--linen);text-decoration:none;border-bottom:1px solid var(--edge)}
footer .credit a:hover{color:var(--brass);border-color:var(--brass)}
footer .tag{font-family:'IBM Plex Mono',monospace;color:var(--brass);letter-spacing:.02em}
footer .flinks{display:flex;gap:10px 22px;flex-wrap:wrap;justify-content:center}
footer .flinks a{text-decoration:none}
footer .flinks a:hover{color:var(--linen)}
@media (max-width:700px){
  nav{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 0}
  nav .links{gap:8px 18px;font-size:.85rem;flex-wrap:wrap}
  .cta-row .btn{flex:1 1 100%;justify-content:center}
  kbd{white-space:normal;overflow-wrap:anywhere}
  .page{padding-bottom:56px}
  .page td:first-child{white-space:normal}
  .closing{padding:56px 0 72px}
}
