/* mSamex blog — terminal-documentation article system (v1) */
.bl{max-width:820px;margin:0 auto;padding:34px 22px 70px;color:var(--snow-dim,#C7CFDA);font:400 16.5px/1.75 Geist,system-ui,sans-serif}
.bl .mono{font-family:'Geist Mono',monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
/* hero */
.bl-hero{position:relative;padding:26px 0 8px}
.bl-kicker{font:600 11px/1 'Geist Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--mint,#00D68F)}
.bl-hero h1{font:800 clamp(32px,5.4vw,50px)/1.08 Geist,sans-serif;letter-spacing:-.022em;color:var(--snow,#F2F5F8);margin:14px 0 14px}
.bl-lead{font-size:19px;line-height:1.6;color:var(--snow-mute,#8B95A3);max-width:60ch;margin:0 0 18px}
.bl-meta{display:flex;gap:14px;flex-wrap:wrap;font:500 12px/1 'Geist Mono',monospace;color:var(--snow-mute,#8B95A3);margin-bottom:6px}
.bl-mesh{position:absolute;top:10px;right:0;opacity:.16;pointer-events:none}
/* signature: the data rail */
.bl-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:26px 0 8px}
.bl-stat{background:var(--elevated,#14181E);border:1px solid var(--line,#252A33);border-radius:12px;padding:16px 16px 13px}
.bl-stat b{display:block;font:700 25px/1.1 'Geist Mono',monospace;color:var(--mint,#00D68F);font-variant-numeric:tabular-nums}
.bl-stat span{display:block;font:600 10.5px/1.4 Geist,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--snow-mute,#8B95A3);margin-top:6px}
/* body rhythm */
.bl h2{font:700 27px/1.2 Geist,sans-serif;letter-spacing:-.015em;color:var(--snow,#F2F5F8);margin:46px 0 14px;padding-top:10px;position:relative}
.bl h2::before{content:"";position:absolute;top:0;left:0;width:34px;height:3px;background:var(--mint,#00D68F);border-radius:2px}
.bl h3{font:600 19px/1.3 Geist,sans-serif;color:var(--snow,#F2F5F8);margin:28px 0 10px}
.bl p{margin:0 0 16px}
.bl a{color:var(--mint,#00D68F);text-decoration:none}
.bl a:hover{text-decoration:underline}
.bl b,.bl strong{color:var(--snow,#F2F5F8);font-weight:600}
/* components */
.bl-callout{border-left:3px solid var(--mint,#00D68F);background:color-mix(in oklab,var(--mint,#00D68F) 6%,transparent);border-radius:0 12px 12px 0;padding:15px 18px;margin:22px 0;font-size:15.5px}
.bl-callout .t{font:700 11px/1 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--mint,#00D68F);display:block;margin-bottom:7px}
.bl-note{border-left:3px solid #E8B44C;background:rgba(232,180,76,.06);border-radius:0 12px 12px 0;padding:15px 18px;margin:22px 0;font-size:14.5px;color:var(--snow-mute,#98A2B0)}
.bl-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14.5px}
.bl-table th{font:700 10.5px/1 'Geist Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--snow-mute,#8B95A3);text-align:left;padding:9px 12px;border-bottom:1px solid var(--line,#252A33)}
.bl-table td{padding:11px 12px;border-bottom:1px solid color-mix(in oklab,var(--line,#252A33) 55%,transparent);color:var(--snow-dim,#C7CFDA)}
.bl-table td.n{font-family:'Geist Mono',monospace;font-variant-numeric:tabular-nums;color:var(--snow,#F2F5F8)}
.bl-table tr:hover td{background:color-mix(in oklab,var(--elevated,#14181E) 70%,transparent)}
.bl-figure{margin:26px 0;background:var(--elevated,#14181E);border:1px solid var(--line,#252A33);border-radius:14px;padding:22px}
.bl-figure svg{width:100%;height:auto;display:block}
.bl-figure figcaption{font:500 12px/1.5 'Geist Mono',monospace;color:var(--snow-mute,#8B95A3);margin-top:14px;text-align:center}
/* real-sequence stepper */
.bl-steps{list-style:none;margin:22px 0;padding:0;counter-reset:blstep}
.bl-steps li{position:relative;padding:0 0 22px 52px;counter-increment:blstep}
.bl-steps li::before{content:counter(blstep);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--elevated,#14181E);border:1.5px solid var(--mint,#00D68F);color:var(--mint,#00D68F);font:700 14px/32px 'Geist Mono',monospace;text-align:center}
.bl-steps li::after{content:"";position:absolute;left:15.5px;top:34px;bottom:4px;width:1.5px;background:var(--line,#252A33)}
.bl-steps li:last-child::after{display:none}
.bl-steps li b{display:block;font-size:15.5px;margin-bottom:3px}
.bl-steps li span{font-size:14px;color:var(--snow-mute,#8B95A3)}
/* FAQ */
.bl-faq{margin:24px 0}
.bl-faq details{border:1px solid var(--line,#252A33);border-radius:12px;margin-bottom:10px;background:var(--elevated,#14181E)}
.bl-faq summary{cursor:pointer;padding:15px 18px;font:600 15px/1.4 Geist,sans-serif;color:var(--snow,#F2F5F8);list-style:none;display:flex;justify-content:space-between;gap:12px}
.bl-faq summary::after{content:"+";font:400 20px/1 'Geist Mono',monospace;color:var(--mint,#00D68F)}
.bl-faq details[open] summary::after{content:"–"}
.bl-faq details p{padding:0 18px 15px;margin:0;font-size:14.5px;color:var(--snow-mute,#98A2B0)}
/* CTA */
.bl-cta{margin:44px 0 0;border:1px solid color-mix(in oklab,var(--mint,#00D68F) 40%,transparent);background:linear-gradient(135deg,color-mix(in oklab,var(--mint,#00D68F) 8%,transparent),transparent 55%);border-radius:16px;padding:26px 24px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.bl-cta .tx b{display:block;font:700 19px/1.3 Geist,sans-serif;color:var(--snow,#F2F5F8)}
.bl-cta .tx span{font-size:13.5px;color:var(--snow-mute,#8B95A3)}
.bl-cta .go{background:var(--mint,#00D68F);color:#0B0E11;font:600 14px/1 Geist,sans-serif;padding:13px 22px;border-radius:10px;white-space:nowrap}
.bl-cta .go:hover{filter:brightness(1.08);text-decoration:none}
/* index */
.bl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:26px}
.bl-card{display:flex;flex-direction:column;gap:10px;background:var(--elevated,#14181E);border:1px solid var(--line,#252A33);border-radius:14px;padding:20px;transition:border-color .15s,transform .15s}
.bl-card:hover{border-color:color-mix(in oklab,var(--mint,#00D68F) 45%,transparent);transform:translateY(-2px);text-decoration:none}
.bl-card .cat{font:600 10.5px/1 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--mint,#00D68F)}
.bl-card h2{font:700 19px/1.3 Geist,sans-serif;letter-spacing:-.01em;color:var(--snow,#F2F5F8);margin:0;padding:0}
.bl-card h2::before{display:none}
.bl-card p{font-size:13.5px;color:var(--snow-mute,#8B95A3);margin:0;flex:1}
.bl-card .meta{font:500 11.5px/1 'Geist Mono',monospace;color:var(--snow-mute,#6C7683)}
@media(max-width:640px){.bl{padding:24px 16px 56px}.bl-mesh{display:none}}
