/* ============================================================
   ADS.system - asys-blog.css
   Guides index, single guide, 404, search.
   Loads after asys.css and reuses its tokens.
   ============================================================ */

.gpad{padding-bottom:70px}
.ghead{margin-bottom:24px}
.ghead .rule4{margin-bottom:14px}

.sect{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink30);margin:40px 0 12px;padding-top:18px;
  border-top:1px solid var(--rule)}

/* --- article body ------------------------------------------ */
.art h2{font-family:'Chivo',sans-serif;font-weight:900;font-size:clamp(20px,2.6vw,25px);
  letter-spacing:-.035em;line-height:1.2;margin:36px 0 12px;scroll-margin-top:78px}
.art h3{font-family:'Chivo',sans-serif;font-weight:700;font-size:17px;letter-spacing:-.02em;
  line-height:1.3;margin:24px 0 8px}
.art p{margin:0 0 13px;color:var(--ink60);font-size:16px;line-height:1.65}
.art p:last-child{margin-bottom:0}
.art strong,.art b{color:var(--ink);font-weight:600}
.art em,.art i{font-style:italic}
.art a{color:var(--acc2);text-decoration:underline;text-underline-offset:2px;
  text-decoration-thickness:1px;text-decoration-color:rgba(59,76,202,.35)}
.art a:hover{text-decoration-color:var(--acc)}

.art ul{list-style:none;margin:6px 0 18px;padding:0;display:grid;gap:8px}
.art ul li{position:relative;padding-left:19px;color:var(--ink60);font-size:15px;line-height:1.6}
.art ul li::before{content:'';position:absolute;left:0;top:9px;width:7px;height:7px;
  border-radius:2px;background:var(--acc);opacity:.55}
.art ol{margin:6px 0 18px;padding-left:23px;display:grid;gap:8px}
.art ol li{color:var(--ink60);font-size:15px;line-height:1.6;padding-left:3px}
.art ol li::marker{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--acc2)}
.art li b,.art li strong{color:var(--ink)}

.art pre{background:var(--acc-lt);border:1px solid rgba(59,76,202,.22);border-radius:var(--r-m);
  padding:14px 16px;margin:8px 0 20px;overflow-x:auto}
.art pre code{font-family:'JetBrains Mono',monospace;font-size:13.5px;line-height:1.75;
  color:var(--acc2);background:none;border:none;padding:0;white-space:pre}
.art :not(pre)>code{font-family:'JetBrains Mono',monospace;font-size:13px;background:var(--paper2);
  border:1px solid var(--rule);border-radius:4px;padding:1px 5px;color:var(--ink)}

.art blockquote{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:14px 0;margin:20px 0;font-family:'Chivo',sans-serif;font-weight:700;font-size:17px;
  letter-spacing:-.02em;color:var(--ink);line-height:1.35;max-width:60ch}
.art blockquote p{color:inherit;font-size:inherit;margin:0}

.art figure{margin:22px 0}
.art img{max-width:100%;height:auto;display:block;border-radius:var(--r-l);border:1px solid var(--rule)}
.art figcaption{margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:11.5px;
  color:var(--ink30);letter-spacing:.02em}
.art hr{border:none;border-top:1px solid var(--rule);margin:28px 0}
.art .bench{max-width:100%}
.art>*:first-child{margin-top:0}

/* --- post meta line ---------------------------------------- */
.pmeta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 20px;
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink30)}
.pmeta i{width:3px;height:3px;border-radius:50%;background:var(--rule);flex:none}
.pmeta b{font-weight:500;color:var(--ink60)}

/* --- guides index ------------------------------------------ */
.plist{display:grid;gap:10px;margin-top:20px}
.pcard{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-l);
  padding:20px 22px;display:block;transition:.14s}
.pcard:hover{border-color:var(--acc);transform:translateY(-2px)}
.pcard__m{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:8px;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink30)}
.pcard__m i{width:3px;height:3px;border-radius:50%;background:var(--rule);flex:none}
.pcard__t{font-family:'Chivo',sans-serif;font-weight:900;font-size:clamp(18px,2.3vw,21px);
  letter-spacing:-.035em;line-height:1.2;color:var(--ink);margin-bottom:7px}
.pcard:hover .pcard__t{color:var(--acc2)}
.pcard__d{font-size:14.5px;color:var(--ink60);line-height:1.55;max-width:72ch;margin:0}
.pcard__go{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--acc2)}

.empty{background:var(--card);border:1.5px dashed #C9CBD8;border-radius:var(--r-l);
  padding:34px 24px;color:var(--ink60);font-size:14.5px;max-width:62ch}
.empty b{display:block;color:var(--ink);font-family:'Chivo',sans-serif;font-weight:700;
  font-size:16px;letter-spacing:-.02em;margin-bottom:6px}

/* --- prev / next ------------------------------------------- */
.pnav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:36px;padding-top:22px;
  border-top:1px solid var(--rule)}
.pnav a{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-m);
  padding:13px 15px;display:flex;flex-direction:column;gap:5px;transition:.14s}
.pnav a:hover{border-color:var(--acc);transform:translateY(-2px)}
.pnav span{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink30)}
.pnav b{font-size:14px;font-weight:600;color:var(--ink);line-height:1.35}
.pnav a.nx{text-align:right;align-items:flex-end}
@media(max-width:620px){.pnav{grid-template-columns:1fr}.pnav a.nx{text-align:left;align-items:flex-start}}

/* --- 404 ---------------------------------------------------- */
.nf{padding:44px 0 4px;max-width:70ch}
.nf__c{font-family:'Chivo',sans-serif;font-weight:900;font-size:clamp(58px,12vw,108px);
  letter-spacing:-.06em;line-height:.86;color:var(--ink);margin-bottom:16px}
.nf__c s{text-decoration:none;color:var(--acc)}
.nf h1{font-family:'Chivo',sans-serif;font-weight:900;font-size:clamp(22px,3.4vw,32px);
  letter-spacing:-.04em;line-height:1.1;margin-bottom:10px}
.nf__p{display:inline-block;max-width:100%;overflow-wrap:anywhere;margin:0 0 18px;
  font-family:'JetBrains Mono',monospace;font-size:12.5px;background:var(--paper2);
  border:1px solid var(--rule);border-radius:var(--r-s);padding:7px 11px;color:var(--ink60)}
.nf__p b{color:var(--neg);font-weight:500}

/* --- search ------------------------------------------------- */
.sfind{display:flex;gap:8px;margin:18px 0 4px;max-width:520px}
.sfind input{flex:1;min-width:0;height:46px;border:1px solid var(--rule);border-radius:var(--r-m);
  background:var(--card);padding:0 14px;font-family:'Inter',sans-serif;font-size:15px;color:var(--ink)}
.sfind input:focus{outline:none;border-color:var(--acc)}
.sfind input::placeholder{color:var(--ink30)}
.sfind button{height:46px;padding:0 18px;border:none;border-radius:var(--r-m);background:var(--ink);
  color:#fff;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:.14s}
.sfind button:hover{background:var(--acc2)}

@media(max-width:620px){
  .pcard{padding:17px 18px}
  .art h2{margin-top:30px}
}
