:root {
  --bg:#09090b;--s0:#0e0e11;--s1:#141418;--s2:#1b1b20;--s3:#232328;
  --b0:#202025;--b1:#2c2c33;--b2:#3c3c45;
  --txt:#efecea;--t1:#9b9793;--t2:#5c5955;
  --red:#e5271c;--redg:rgba(229,39,28,.13);
  --teal:#00c49a;--tealg:rgba(0,196,154,.11);--teald:#006b54;
  --amb:#f0a500;--blu:#4a9eff;
  --fl:'Syncopate',sans-serif;--fh:'Rajdhani',sans-serif;
  --fb:'DM Sans',sans-serif;--fm:'IBM Plex Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--txt);font-family:var(--fb);-webkit-font-smoothing:antialiased}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}

/* ── HEADER ── */
header{position:fixed;top:0;left:0;right:0;height:52px;background:var(--s0);border-bottom:1px solid var(--b0);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:100}
header .logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--txt)}
.logo-mark{width:28px;height:28px;background:var(--red);border-radius:4px;display:flex;align-items:center;justify-content:center;font-family:var(--fl);font-weight:700;font-size:12px;color:#fff}
.logo-text{font-family:var(--fh);font-weight:700;font-size:13px;letter-spacing:.05em}
.logo-sub{font-family:var(--fm);font-size:8px;color:var(--t1);letter-spacing:.06em;text-transform:uppercase}
header .nav{display:flex;gap:24px;align-items:center}
header .nav a{font-family:var(--fm);font-size:11px;color:var(--t1)}
header .nav a:hover{color:var(--teal)}
.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;background:none;border:none;padding:0}
.hamburger span{width:20px;height:2px;background:var(--teal)}

/* ── MAIN LAYOUT ── */
#sidebar{position:fixed;left:0;top:52px;width:260px;height:calc(100vh-52px);background:var(--s0);border-right:1px solid var(--b0);overflow-y:auto;padding:24px 20px}
.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99}
body.sidebar-open .sidebar-backdrop{display:block}
body.sidebar-open #sidebar{transform:translateX(0)}

.main{margin-left:260px;margin-top:52px;min-height:100vh}
.content{max-width:760px;padding:40px 48px;margin:0 auto}
.breadcrumb{font-family:var(--fm);font-size:10px;color:var(--t2);margin-bottom:24px;letter-spacing:.05em}

/* ── CONTENT STYLES ── */
.content h1{font-family:var(--fl);font-size:34px;font-weight:700;color:var(--txt);margin-bottom:28px;line-height:1.2}
.content h1 em{color:var(--red);font-style:normal}

.lead{font-size:15px;color:var(--t1);line-height:1.8;margin-bottom:24px;padding-left:14px;border-left:3px solid var(--teal)}
.body-p{font-size:13.5px;color:var(--t1);line-height:1.85;margin-bottom:18px}
.h2{font-family:var(--fh);font-size:18px;font-weight:700;color:var(--txt);letter-spacing:.04em;text-transform:uppercase;margin:28px 0 12px;display:flex;align-items:center;gap:8px}
.h2::before{content:'';width:3px;height:16px;background:var(--red);border-radius:2px}
.h3{font-family:var(--fh);font-size:14px;font-weight:700;color:var(--txt);letter-spacing:.05em;text-transform:uppercase;margin:20px 0 10px}

.steps{counter-reset:step-counter;list-style:none;margin:20px 0}
.steps li{counter-increment:step-counter;margin-bottom:18px;display:flex;gap:14px;font-size:13.5px;color:var(--t1);line-height:1.8}
.steps li::before{content:counter(step-counter);display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;border-radius:50%;border:2px solid var(--red);background:var(--s1);font-family:var(--fm);font-weight:600;font-size:11px;color:var(--red)}
.steps li strong{color:var(--txt)}

.mult-table{width:100%;border-collapse:collapse;font-size:12.5px;margin:18px 0}
.mult-table th{font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t2);padding:10px 12px;background:var(--s0);border-bottom:1px solid var(--b1);text-align:left}
.mult-table td{padding:10px 12px;border-bottom:1px solid var(--b0);color:var(--t1)}
.mult-table tr:last-child td{border-bottom:none}

.callout{background:var(--s1);border:1px solid rgba(229,39,28,.2);border-left:3px solid var(--red);border-radius:0 6px 6px 0;padding:16px 18px;margin:22px 0}
.callout.info{background:rgba(0,196,154,.06);border-color:rgba(0,196,154,.2);border-left-color:var(--teal)}
.callout.warn{background:rgba(240,165,0,.06);border-color:rgba(240,165,0,.2);border-left-color:var(--amb)}
.callout-label{font-family:var(--fm);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:6px;font-weight:600}
.callout.info .callout-label{color:var(--teald)}
.callout.warn .callout-label{color:#8a5e00}
.callout-body{font-size:12.5px;color:var(--t1);line-height:1.7}
.callout.info .callout-body{color:var(--t1)}
.callout.warn .callout-body{color:var(--t1)}
.callout-body strong{color:var(--txt);font-weight:600}

.badge{display:inline-block;font-family:var(--fm);font-size:10px;padding:3px 9px;border-radius:3px;font-weight:500}
.badge.r{background:var(--redg);color:var(--red);border:1px solid rgba(229,39,28,.2)}
.badge.t{background:var(--tealg);color:var(--teald);border:1px solid rgba(0,196,154,.2)}
.badge.a{background:rgba(240,165,0,.1);color:var(--amb);border:1px solid rgba(240,165,0,.2)}
.badge.d{background:rgba(255,255,255,.04);color:var(--t2);border:1px solid var(--b1)}
.badge.b{background:rgba(74,158,255,.1);color:var(--blu);border:1px solid rgba(74,158,255,.2)}

.code-block{background:var(--s1);border-radius:6px;padding:16px 18px;margin:18px 0;overflow-x:auto}
.code-block pre{font-family:var(--fm);font-size:11.5px;color:var(--t1);line-height:1.7;margin:0}

.asa{font-family:var(--fm);font-size:11px;background:var(--s2);padding:2px 8px;border-radius:3px;color:var(--teal);cursor:pointer;position:relative}
.asa::after{content:'';margin-left:6px}

.card-grid{display:grid;gap:14px;margin:20px 0}
.card-grid.c2{grid-template-columns:1fr 1fr}
.card-grid.c3{grid-template-columns:1fr 1fr 1fr}
.card-grid.c4{grid-template-columns:1fr 1fr 1fr 1fr}
.card{background:var(--s1);border:1px solid var(--b0);border-radius:8px;padding:18px 16px;position:relative}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--red);border-radius:2px 2px 0 0}
.card.tc::before{background:var(--teal)}
.card.ac::before{background:var(--amb)}
.card.bc::before{background:var(--blu)}
.card-label{font-family:var(--fm);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:6px;font-weight:600}
.card.tc .card-label{color:var(--teald)}
.card.ac .card-label{color:#8a5e00}
.card.bc .card-label{color:#1a55a0}
.card-desc{font-size:12px;color:var(--t2);line-height:1.6}

/* ── PREVNEXT ── */
#prevnext{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:48px 0 32px;border-top:1px solid var(--b0);padding-top:32px}
.pn-card{border:1px solid var(--b0);border-radius:6px;padding:16px 18px;text-decoration:none;transition:border-color .2s}
.pn-card:hover{border-color:var(--teal)}
.pn-label{font-family:var(--fm);font-size:9px;color:var(--t2);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.pn-title{font-family:var(--fh);font-size:13px;font-weight:700;color:var(--txt)}
.pn-card.disabled{opacity:.5;cursor:default;pointer-events:none}

/* ── FOOTER ── */
.docfoot{border-top:1px solid var(--b0);padding-top:24px;margin-top:40px;font-family:var(--fm);font-size:10px;color:var(--t2);letter-spacing:.05em;text-align:center}
.docfoot a{color:var(--teal)}

/* ── MOBILE ── */
@media(max-width:1023px){
  #sidebar{transform:translateX(-100%);transition:transform .3s;z-index:101}
  .main{margin-left:0}
  .content{padding:24px 20px}
  .hamburger{display:flex}
  header .nav{display:none}
}
@media(max-width:720px){
  .content h1{font-size:24px}
  .card-grid.c2,.card-grid.c3,.card-grid.c4{grid-template-columns:1fr}
  .mult-table{font-size:11px}
  .mult-table th,.mult-table td{padding:6px 8px}
  #prevnext{grid-template-columns:1fr;gap:12px}
}
