/* 安盾守护 — 深黑底极简主题。左对齐、低饱和、青色 accent；为中文内容放宽行距与字距。 */
:root{
  --bg:#07070a;
  --bg-2:#0c0c12;
  --surface:#0f0f18;
  --surface-2:#141422;
  --line:#1c1c2a;
  --line-2:#2a2a3c;
  --text:#e7e7f0;
  --text-mute:#9a9aaf;
  --text-dim:#5f5f74;
  --acc:#62d4c4;
  --acc-h:#82e0d1;
  --acc-soft:rgba(98,212,196,.1);
  --warn:#f4c96a;
  --danger:#f47a6b;
  --r:6px;
  --r-lg:10px;
  --container:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'PingFang SC','Microsoft YaHei',sans-serif;font-size:15px;line-height:1.75;letter-spacing:.01em;-webkit-font-smoothing:antialiased}
body.is-nav-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,textarea{font:inherit}
::selection{background:rgba(98,212,196,.3);color:#fff}
code{font-size:.92em;background:var(--surface-2);padding:2px 6px;border-radius:4px;color:var(--acc)}
pre{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;overflow-x:auto;font-size:13px;line-height:1.6}
pre code{background:none;padding:0;color:var(--text)}
table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px}
th,td{text-align:left;padding:10px 12px;border:1px solid var(--line)}
th{background:var(--surface);font-weight:600;color:#fff}

.container{max-width:var(--container);margin:0 auto;padding:0 28px}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,7,10,.88);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}
.site-header__inner{max-width:var(--container);margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:32px}
.brand{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;color:#fff;letter-spacing:-.2px}
.brand__mark{display:inline-flex;width:22px;height:22px;color:var(--acc)}
.site-nav{margin-left:auto;display:flex;align-items:center;gap:28px}
.site-nav__list{display:flex;gap:22px;margin:0;padding:0;list-style:none;align-items:center}
.site-nav__link{color:var(--text-mute);font-size:13px;font-weight:400;padding:6px 0;transition:color .12s}
.site-nav__link:hover,.site-nav__link.is-active{color:#fff}
.site-nav__lang{display:flex;align-items:center;gap:2px;font-size:11px;color:var(--text-dim)}
.site-nav__lang-icon{display:inline-flex;margin-right:4px;color:var(--text-dim)}
.site-nav__lang a{color:var(--text-dim);padding:2px 6px;border-radius:4px;transition:color .12s}
.site-nav__lang a:hover,.site-nav__lang a.is-active{color:#fff}
.site-header__burger{display:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:var(--r);font-size:13px;font-weight:500;transition:all .15s;white-space:nowrap;border:1px solid transparent}
.btn--primary{background:var(--acc);color:#07070a}
.btn--primary:hover{background:var(--acc-h)}
.btn--outline{background:transparent;border-color:var(--line-2);color:var(--text)}
.btn--outline:hover{border-color:var(--text-mute);color:#fff}
.btn--ghost{background:transparent;color:var(--text-mute)}
.btn--ghost:hover{color:#fff}
.btn--lg{padding:11px 18px;font-size:14px}
.btn--full{width:100%;justify-content:center}
.btn--warn{background:var(--warn);color:#1a1300}
.btn--warn:hover{filter:brightness(1.08)}

/* ---------- hero ---------- */
.hero{padding:88px 0 48px;border-bottom:1px solid var(--line)}
.hero__badge{display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border:1px solid var(--line-2);border-radius:999px;font-size:12px;color:var(--text-mute);margin-bottom:28px}
.hero__dot{width:6px;height:6px;background:var(--acc);border-radius:50%;box-shadow:0 0 8px var(--acc)}
.hero__title{font-size:54px;line-height:1.06;font-weight:600;margin:0 0 20px;color:#fff;letter-spacing:-1.2px;max-width:840px}
.hero__lede{font-size:17px;line-height:1.65;color:var(--text-mute);max-width:680px;margin:0 0 32px}
.hero__actions{display:flex;gap:10px;flex-wrap:wrap}
.hero__quick{margin:18px 0 0;font-size:13px;color:var(--text-mute)}
.hero__quick a{color:var(--acc);transition:color .12s}
.hero__quick a:hover{color:var(--acc-h)}

/* hero spec panel — mimic linear hero screenshot */
.hero__panel{margin-top:56px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface) 0%,var(--bg-2) 100%);border-radius:var(--r-lg);padding:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.hero__spec-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.8px;margin:0 0 6px}
.hero__spec-value{font-size:22px;color:#fff;font-weight:600;margin:0;line-height:1.3;letter-spacing:-.3px}

/* ---------- marquee (trust band) ---------- */
.marquee{padding:32px 0;border-bottom:1px solid var(--line);overflow:hidden}
.marquee__track{display:flex;gap:54px;white-space:nowrap;animation:mar 48s linear infinite;color:var(--text-dim);font-size:13px;letter-spacing:.5px}
.marquee__track span{flex:0 0 auto}
@keyframes mar{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- generic section ---------- */
.section{padding:80px 0;border-bottom:1px solid var(--line)}
.section:last-child{border-bottom:0}
.section__head{max-width:720px;margin:0 0 48px}
.kicker{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--acc);margin:0 0 12px;font-weight:500}
.section__title{font-size:34px;line-height:1.15;font-weight:600;margin:0 0 14px;color:#fff;letter-spacing:-.6px}
.section__lede{color:var(--text-mute);font-size:15px;line-height:1.7;margin:0}

/* ---------- features (three boxes like linear "new species") ---------- */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.feat-cell{background:var(--bg);padding:36px 28px;min-height:280px;display:flex;flex-direction:column;gap:16px}
.feat-cell__icon{width:44px;height:44px;border:1px solid var(--line-2);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--acc)}
.feat-cell__title{font-size:17px;font-weight:600;color:#fff;margin:0;letter-spacing:-.2px}
.feat-cell__desc{font-size:13.5px;color:var(--text-mute);line-height:1.65;margin:0;flex:1}

/* ---------- split section (image-text, alternating) ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:48px;align-items:center}
.split--rev{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.split--rev .split__copy{order:2}
.split__copy h3{font-size:28px;line-height:1.2;color:#fff;margin:0 0 12px;font-weight:600;letter-spacing:-.4px}
.split__copy p{color:var(--text-mute);font-size:15px;margin:0 0 14px}
.split__panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:22px 24px;display:flex;flex-direction:column;gap:14px}
.split__panel-item{padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.split__panel-item--ok{border-color:rgba(98,212,196,.35);background:rgba(98,212,196,.06)}
.split__panel-item--bad{border-color:rgba(244,122,107,.32);background:rgba(244,122,107,.05)}
.split__panel-tag{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--acc);margin:0 0 6px;font-weight:500}
.split__panel-item--bad .split__panel-tag{color:var(--danger)}
.split__panel-title{font-size:14.5px;color:#fff;margin:0 0 8px;font-weight:500}
.split__panel-list{margin:0;padding-left:18px;color:var(--text-mute);font-size:13.5px;line-height:1.7}
.split__panel-list li{margin-bottom:4px}
.split__panel-list--devices{list-style:none;padding-left:0}
.split__panel-list--devices li{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.split__panel-list--devices li:last-child{border-bottom:0}
.split__panel-ok{display:inline-flex;padding:2px 8px;border-radius:3px;background:var(--acc-soft);color:var(--acc);font-size:11.5px;letter-spacing:.4px}
.split__panel-warn{display:inline-flex;padding:2px 8px;border-radius:3px;background:rgba(244,122,107,.12);color:var(--danger);font-size:11.5px;letter-spacing:.4px}
.split__panel-note{margin:4px 0 0;color:var(--text-mute);font-size:13px;line-height:1.65}

/* ---------- topic grid (10 categories) ---------- */
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.topic-card{display:block;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:20px 22px;transition:border-color .15s,background .15s}
.topic-card:hover{border-color:var(--line-2);background:var(--surface-2)}
.topic-card__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.topic-card__icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--acc)}
.topic-card__name{font-size:15px;font-weight:600;color:#fff;margin:0}
.topic-card__desc{font-size:13px;color:var(--text-mute);line-height:1.6;margin:0 0 14px}
.topic-card__more{font-size:12px;color:var(--acc);letter-spacing:.2px}

/* ---------- changelog feed (latest posts as linear changelog) ---------- */
.feed{border-top:1px solid var(--line)}
.feed__row{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}
.feed__date{font-size:12px;color:var(--text-dim);padding-top:3px}
.feed__body h3{font-size:17px;line-height:1.35;margin:0 0 6px;color:#fff;font-weight:500;letter-spacing:-.2px}
.feed__body h3 a:hover{color:var(--acc)}
.feed__body p{margin:0 0 8px;color:var(--text-mute);font-size:13.5px;line-height:1.6}
.feed__tags{display:flex;gap:6px;flex-wrap:wrap}

/* ---------- chip ---------- */
.chip{display:inline-flex;align-items:center;font-size:11.5px;padding:3px 8px;border:1px solid var(--line-2);border-radius:3px;color:var(--text-mute);transition:all .12s}
.chip:hover,.chip--active{color:var(--acc);border-color:var(--acc);background:var(--acc-soft)}

/* ---------- FAQ Ledger (custom for ft-binance) ---------- */
.faq-ledger{position:relative;display:grid;grid-template-columns:340px 1fr;gap:0;margin-top:32px;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(135deg,var(--surface) 0%,var(--bg-2) 100%);overflow:hidden;min-height:360px}
.faq-ledger__radio{position:absolute;opacity:0;pointer-events:none}
.faq-ledger__index{display:flex;flex-direction:column;border-right:1px solid var(--line);background:rgba(7,7,10,.4)}
.faq-ledger__tab{position:relative;display:flex;align-items:flex-start;gap:14px;padding:20px 22px;cursor:pointer;border-bottom:1px solid var(--line);transition:background .18s,color .18s;color:var(--text-mute)}
.faq-ledger__tab:last-child{border-bottom:0}
.faq-ledger__tab:hover{background:rgba(98,212,196,.04);color:#dcdce8}
.faq-ledger__num{font-family:'SF Mono',Menlo,Consolas,monospace;font-size:13px;font-weight:600;color:var(--acc);letter-spacing:.06em;padding-top:2px;min-width:24px}
.faq-ledger__short{font-size:13.5px;line-height:1.55;font-weight:500;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.faq-ledger__bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .18s}
.faq-ledger__panes{position:relative;padding:48px 56px}
.faq-ledger__pane{display:none;animation:faqLedgerIn .35s ease}
.faq-ledger__kicker{font-family:'SF Mono',Menlo,Consolas,monospace;font-size:11px;letter-spacing:.18em;color:var(--acc);text-transform:uppercase;margin:0 0 18px}
.faq-ledger__q{font-size:24px;line-height:1.4;font-weight:600;color:#fff;margin:0 0 22px;letter-spacing:-.005em}
.faq-ledger__q a{color:inherit;text-decoration:none;background-image:linear-gradient(var(--acc),var(--acc));background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s,color .18s}
.faq-ledger__q a:hover{color:var(--acc);background-size:100% 1px}
.faq-ledger__a{font-size:15px;line-height:1.85;color:var(--text-mute);margin:0 0 28px}
.faq-ledger__cta{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid var(--acc);border-radius:999px;color:var(--acc);font-size:13px;font-weight:500;transition:background .18s,color .18s,transform .18s;text-decoration:none}
.faq-ledger__cta:hover{background:var(--acc);color:#07070a;transform:translateX(2px)}
/* radio-driven active states */
.faq-ledger__radio--1:checked ~ .faq-ledger__index .faq-ledger__tab--1,
.faq-ledger__radio--2:checked ~ .faq-ledger__index .faq-ledger__tab--2,
.faq-ledger__radio--3:checked ~ .faq-ledger__index .faq-ledger__tab--3,
.faq-ledger__radio--4:checked ~ .faq-ledger__index .faq-ledger__tab--4,
.faq-ledger__radio--5:checked ~ .faq-ledger__index .faq-ledger__tab--5{background:rgba(98,212,196,.08);color:#fff}
.faq-ledger__radio--1:checked ~ .faq-ledger__index .faq-ledger__tab--1 .faq-ledger__bar,
.faq-ledger__radio--2:checked ~ .faq-ledger__index .faq-ledger__tab--2 .faq-ledger__bar,
.faq-ledger__radio--3:checked ~ .faq-ledger__index .faq-ledger__tab--3 .faq-ledger__bar,
.faq-ledger__radio--4:checked ~ .faq-ledger__index .faq-ledger__tab--4 .faq-ledger__bar,
.faq-ledger__radio--5:checked ~ .faq-ledger__index .faq-ledger__tab--5 .faq-ledger__bar{background:var(--acc);box-shadow:0 0 16px rgba(98,212,196,.5)}
.faq-ledger__radio--1:checked ~ .faq-ledger__panes .faq-ledger__pane--1,
.faq-ledger__radio--2:checked ~ .faq-ledger__panes .faq-ledger__pane--2,
.faq-ledger__radio--3:checked ~ .faq-ledger__panes .faq-ledger__pane--3,
.faq-ledger__radio--4:checked ~ .faq-ledger__panes .faq-ledger__pane--4,
.faq-ledger__radio--5:checked ~ .faq-ledger__panes .faq-ledger__pane--5{display:block}
@keyframes faqLedgerIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:780px){
  .faq-ledger{grid-template-columns:1fr}
  .faq-ledger__index{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;overflow-x:auto}
  .faq-ledger__tab{flex:0 0 auto;border-bottom:0;border-right:1px solid var(--line);padding:14px 16px;min-width:180px}
  .faq-ledger__short{-webkit-line-clamp:2;font-size:12.5px}
  .faq-ledger__panes{padding:32px 22px}
  .faq-ledger__q{font-size:19px}
}

/* ---------- CTA strip ---------- */
.cta-strip{padding:64px 0;text-align:center}
.cta-strip h2{font-size:38px;margin:0 0 14px;color:#fff;font-weight:600;letter-spacing:-.6px;line-height:1.2}
.cta-strip p{color:var(--text-mute);margin:0 0 24px;font-size:15px}
.cta-strip .btn{margin:0 6px}

/* ---------- footer (centered hero-style, distinct from peer sites) ---------- */
.sn-foot{border-top:1px solid var(--line);background:linear-gradient(180deg,var(--bg) 0%,#05050a 100%);padding:72px 0 28px;position:relative}
.sn-foot::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(640px,80%);height:1px;background:linear-gradient(90deg,transparent,var(--acc),transparent);opacity:.55}
.sn-foot__inner{max-width:760px;margin:0 auto;padding:0 28px;text-align:center}
.sn-foot__hero{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:34px}
.sn-foot__brand{display:inline-flex;flex-direction:column;align-items:center;gap:10px;color:#fff}
.sn-foot__mark{display:inline-flex;width:56px;height:56px;align-items:center;justify-content:center;color:var(--acc);background:var(--surface);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 0 0 1px rgba(98,212,196,.08),0 10px 40px -12px rgba(98,212,196,.25)}
.sn-foot__name{font-size:18px;font-weight:600;letter-spacing:.3px;color:#fff}
.sn-foot__tag{color:var(--text-mute);font-size:13.5px;line-height:1.7;margin:0;max-width:520px}
.sn-foot__social{display:flex;gap:14px;margin-top:4px}
.sn-foot__social a{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);border:1px solid var(--line);border-radius:50%;transition:all .15s}
.sn-foot__social a:hover{color:var(--acc);border-color:var(--acc)}
.sn-foot__nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:0 auto 26px;font-size:13.5px}
.sn-foot__nav a{color:var(--text-mute);transition:color .12s}
.sn-foot__nav a:hover{color:#fff}
.sn-foot__dot{width:3px;height:3px;background:var(--text-dim);border-radius:50%;opacity:.55}
.sn-foot__cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 26px;max-width:640px}
.sn-foot__tagchip{font-size:12px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;color:var(--text-mute);background:rgba(255,255,255,.015);transition:all .15s}
.sn-foot__tagchip:hover{color:var(--acc);border-color:var(--acc);background:var(--acc-soft)}
.sn-foot__lang{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;margin:0 auto 26px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:12.5px}
.sn-foot__lang a{padding:6px 12px;border-radius:6px;color:var(--text-mute);transition:all .12s}
.sn-foot__lang a:hover{color:#fff}
.sn-foot__lang a.is-active{color:#07070a;background:var(--acc);font-weight:500}
.sn-foot__risk{max-width:620px;margin:0 auto 26px;padding:12px 18px;border:1px dashed var(--line-2);border-radius:var(--r);font-size:12px;color:var(--text-dim);line-height:1.65}
.sn-foot__bar{display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:22px;border-top:1px solid var(--line);font-size:11.5px;color:var(--text-dim);letter-spacing:.2px}
.sn-foot__sig{color:var(--acc);opacity:.8;font-size:12px;letter-spacing:.3px}

/* ---------- inner page shell ---------- */
.page-shell{padding:40px 0 80px}
.breadcrumb{font-size:12px;color:var(--text-dim);margin-bottom:22px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.breadcrumb a{color:var(--text-dim);transition:color .12s}
.breadcrumb a:hover{color:var(--text)}
.breadcrumb__current{color:var(--text-mute)}
.page-header{margin-bottom:40px;max-width:760px}
.page-header h1{font-size:40px;line-height:1.15;color:#fff;margin:0 0 12px;font-weight:600;letter-spacing:-.8px}
.page-header__lede{color:var(--text-mute);font-size:15px;margin:0}

/* ---------- library listing ---------- */
.library-list{border-top:1px solid var(--line)}
.library-list__item{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}
.library-list__date{font-size:12px;color:var(--text-dim)}
.library-list__title{font-size:17px;line-height:1.4;font-weight:500;margin:0 0 6px;color:#fff}
.library-list__title:hover{color:var(--acc)}
.library-list__desc{color:var(--text-mute);font-size:13.5px;margin:0 0 10px;line-height:1.6}
.library-list__meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* pager */
.pager{display:flex;gap:6px;margin-top:40px;flex-wrap:wrap;align-items:center}
.pager__btn,.pager__num{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--r);color:var(--text-mute);font-size:13px;transition:all .12s}
.pager__btn:hover,.pager__num:hover{border-color:var(--line-2);color:#fff}
.pager__num.is-active{background:var(--acc);color:#07070a;border-color:var(--acc)}

/* ---------- category index ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.cat-card{display:block;padding:22px 24px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);transition:all .15s}
.cat-card:hover{border-color:var(--line-2);background:var(--surface-2)}
.cat-card__icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--acc);margin-bottom:10px}
.cat-card__name{font-size:17px;color:#fff;font-weight:600;margin:0 0 6px}
.cat-card__desc{font-size:13px;color:var(--text-mute);line-height:1.6;margin:0 0 10px}
.cat-card__more{font-size:12px;color:var(--acc)}

/* ---------- post detail ---------- */
.post-shell{padding:32px 0 80px}
.post-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:56px;align-items:start}
.post-article__head{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:32px}
.post-article__chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.post-article h1{font-size:34px;line-height:1.2;color:#fff;margin:0 0 12px;font-weight:600;letter-spacing:-.6px}
.post-article__meta{display:flex;gap:10px;color:var(--text-dim);font-size:12.5px;flex-wrap:wrap}
.post-article__lede{color:var(--text-mute);font-size:15px;margin:14px 0 0;line-height:1.65}
.post-article__body{color:var(--text);font-size:15px;line-height:1.8}
.post-article__body h2{font-size:22px;color:#fff;margin:40px 0 14px;font-weight:600;letter-spacing:-.3px;padding-top:12px;border-top:1px solid var(--line)}
.post-article__body h3{font-size:17px;color:#fff;margin:28px 0 10px;font-weight:600}
.post-article__body p{margin:0 0 14px}
.post-article__body ul,.post-article__body ol{padding-left:22px;margin:0 0 16px}
.post-article__body li{margin-bottom:6px}
.post-article__body a:not(.btn){color:var(--acc);text-decoration:underline;text-decoration-color:rgba(98,212,196,.3);text-underline-offset:3px}
.post-article__body a:not(.btn):hover{text-decoration-color:var(--acc)}
.post-article__body strong{color:#fff}
.post-article__body blockquote{border-left:2px solid var(--acc);padding:4px 16px;margin:16px 0;color:var(--text-mute);background:var(--acc-soft)}
.post-article__cta{margin:40px 0 20px;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;background:var(--surface)}
.post-article__cta h3{margin:0 0 6px;font-size:17px;color:#fff}
.post-article__cta p{margin:0 0 14px;color:var(--text-mute);font-size:13.5px}
.post-article__related{margin-top:40px}
.post-article__related h3{font-size:17px;color:#fff;margin:0 0 14px;font-weight:600}
.post-related__list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.post-related__item{display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:var(--r);transition:all .15s}
.post-related__item:hover{border-color:var(--line-2);background:var(--surface)}
.post-related__title{font-size:14px;color:#fff;margin-bottom:4px}
.post-related__date{font-size:11.5px;color:var(--text-dim)}

.post-aside{position:sticky;top:88px}
.post-aside__block{padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-bottom:14px}
.post-aside__block h4{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.8px;margin:0 0 14px;font-weight:500}
.post-aside__block ol{list-style:decimal;padding-left:20px;margin:0;color:var(--text-mute)}
.post-aside__block ol li{margin-bottom:8px;font-size:13px;line-height:1.5}
.post-aside__block ol a:hover{color:#fff}
.post-aside__cats{display:flex;flex-wrap:wrap;gap:5px}
.post-aside__block--cta p{font-size:12.5px;color:var(--text-mute);margin:0 0 12px;line-height:1.6}

/* ---------- page generic ---------- */
.page-body{color:var(--text);font-size:15px;line-height:1.8}
.page-body h2{font-size:22px;color:#fff;margin:32px 0 12px;font-weight:600}
.page-body h3{font-size:17px;color:#fff;margin:24px 0 8px;font-weight:600}
.page-body ul,.page-body ol{padding-left:22px}
.page-body li{margin-bottom:6px}
.page-body a:not(.btn):not(.dl-hero-card__cta){color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.page-body strong{color:#fff}

/* ---------- download page ---------- */
.dl-hero{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0 36px}
.dl-hero-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 22px 20px;background:var(--surface)}
.dl-hero-card__icon{color:var(--acc);margin-bottom:12px}
.dl-hero-card__title{font-size:18px;color:#fff;font-weight:600;margin:0 0 6px}
.dl-hero-card__meta{font-size:13px;color:var(--text-mute);margin:0 0 14px;line-height:1.6}
.dl-hero-card__specs{list-style:none;margin:0 0 16px;padding:0;font-size:12.5px;color:var(--text-mute)}
.dl-hero-card__specs li{padding:4px 0;border-bottom:1px solid var(--line)}
.dl-hero-card__specs li:last-child{border-bottom:0}
.dl-hero-card__specs strong{color:#fff;font-weight:500}
.dl-hero-card__cta{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r);background:var(--acc);color:#07070a;font-size:13px;font-weight:500}
.dl-hero-card__cta:hover{background:var(--acc-h)}
.dl-warning{padding:14px 18px;background:rgba(244,122,107,.08);border:1px solid rgba(244,122,107,.28);border-radius:var(--r);margin:22px 0;color:var(--text);font-size:13.5px;line-height:1.7}
.dl-block{margin:36px 0}
.dl-block__title{display:flex;align-items:center;gap:10px;font-size:22px;color:#fff;font-weight:600;margin:0 0 14px}
.dl-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.dl-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;background:var(--surface)}
.dl-card h4{font-size:15px;color:#fff;margin:0 0 10px;font-weight:600}
.dl-card ol{padding-left:20px;margin:0;font-size:13.5px;color:var(--text-mute);line-height:1.7}
.dl-card ol li{margin-bottom:5px}
.dl-compare{margin:16px 0}
.dl-faq{margin-top:16px}
.dl-faq-item{border-bottom:1px solid var(--line);padding:14px 0}
.dl-faq-item__q{font-size:15px;color:#fff;margin:0 0 6px;font-weight:500}
.dl-faq-item__a{color:var(--text-mute);font-size:13.5px;line-height:1.7;margin:0}

/* ---------- error page ---------- */
.error-page{padding:120px 0;text-align:center}
.error-page__code{font-size:92px;color:var(--acc);font-weight:700;margin-bottom:14px;line-height:1;letter-spacing:-2px}
.error-page h1{font-size:28px;color:#fff;margin:0 0 10px}
.error-page p{color:var(--text-mute);margin:0 0 24px}
.error-page__actions{display:flex;gap:10px;justify-content:center}

/* ---------- mobile ---------- */
@media (max-width:960px){
  .hero{padding:56px 0 36px}
  .hero__title{font-size:36px;letter-spacing:-.6px}
  .hero__lede{font-size:15px}
  .hero__panel{grid-template-columns:repeat(2,1fr);padding:20px;gap:20px}
  .feat-grid{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:24px}
  .split--rev .split__copy{order:0}
  .topic-grid{grid-template-columns:1fr 1fr}
  .cat-grid{grid-template-columns:1fr}
  .feed__row,.library-list__item{grid-template-columns:1fr;gap:6px}
  .feed__date,.library-list__date{font-size:11px}
  .section{padding:56px 0}
  .section__title{font-size:26px}
  .post-grid{grid-template-columns:1fr;gap:36px}
  .post-aside{position:static}
  .post-related__list{grid-template-columns:1fr}
  .dl-hero{grid-template-columns:1fr}
  .dl-row{grid-template-columns:1fr}
  .cta-strip h2{font-size:26px}
  .site-header__burger{display:inline-flex;margin-left:auto;color:var(--text);padding:6px}
  .site-nav{position:fixed;top:0;right:-100%;width:82%;max-width:320px;height:100vh;background:var(--bg);border-left:1px solid var(--line);padding:68px 24px 24px;flex-direction:column;align-items:flex-start;gap:16px;transition:right .25s;z-index:60}
  .site-nav.is-open{right:0}
  .site-nav__list{flex-direction:column;gap:4px;width:100%}
  .site-nav__list li{width:100%}
  .site-nav__link{padding:10px 0;display:block;font-size:15px;border-bottom:1px solid var(--line);width:100%}
  .site-nav__lang{flex-wrap:wrap;margin-top:20px}
  .site-nav__overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity .2s;z-index:55}
  .site-nav__overlay.is-open{opacity:1;pointer-events:auto}
}
@media (min-width:961px){
  .site-nav__overlay{display:none}
}
@media (max-width:560px){
  .topic-grid{grid-template-columns:1fr}
  .sn-foot{padding:56px 0 24px}
  .sn-foot__nav{gap:10px;font-size:13px}
  .page-header h1{font-size:28px}
  .post-article h1{font-size:24px}
}
