:root{
  --aa20-ink:#0b1220;
  --aa20-muted:#6b7280;
  --aa20-accent:#ff5a3d;
  --aa20-border:rgba(11,18,32,.12);
  --aa20-bg:#fff;
  --aa20-soft:#f6f7f9;
}
*{box-sizing:border-box}

.aa20-app{min-height:100vh;background:var(--aa20-bg);color:var(--aa20-ink)}
.aa20-wrap{max-width:1120px;margin:0 auto;padding:0 14px}

.aa20-top{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--aa20-border)}
.aa20-top-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}

#logo.aa20-logo img{height:34px;width:auto;display:block}

.aa20-brand{display:flex;flex-direction:column;gap:2px;min-width:0}
.aa20-brand strong{font-weight:900;letter-spacing:.2px}
.aa20-brand .aa20-tag{color:var(--aa20-muted);font-size:.9rem;line-height:1.2}

.aa20-tools{display:flex;align-items:center;gap:8px}
.aa20-find{display:flex;align-items:center;gap:8px;background:var(--aa20-soft);border:1px solid var(--aa20-border);border-radius:999px;padding:6px 10px}
.aa20-find input{border:0;background:transparent;outline:none;margin:0;height:auto;padding:0;min-width:180px}
.aa20-find .aa20-hint{font-size:.82rem;color:var(--aa20-muted)}

.aa20-nav{border-top:1px dashed var(--aa20-border)}
.aa20-nav-inner{display:flex;gap:8px;overflow:auto;padding:10px 0;scrollbar-width:thin}
.aa20-chip{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid var(--aa20-border);background:var(--aa20-soft);text-decoration:none;color:var(--aa20-ink)}
.aa20-chip:hover{border-color:rgba(255,90,61,.35)}
.aa20-chip.is-active{background:rgba(255,90,61,.10);border-color:rgba(255,90,61,.35)}

.aa20-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;padding:14px 0 26px;align-items:start}
.aa20-article{border:1px solid var(--aa20-border);border-radius:16px;padding:18px;background:#fff;min-width:0}
.aa20-article :where(h1,h2,h3){scroll-margin-top:130px}

.aa20-toc{position:sticky;top:122px}
.aa20-box{border:1px solid var(--aa20-border);border-radius:16px;background:var(--aa20-soft);overflow:hidden}
.aa20-box-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--aa20-border)}
.aa20-box-b{padding:12px 14px}
.aa20-toc a{display:block;padding:8px 10px;border-radius:12px;text-decoration:none;color:var(--aa20-ink);border:1px solid transparent}
.aa20-toc a:hover{border-color:var(--aa20-border);background:#fff}
.aa20-toc a.is-hit{border-color:rgba(255,90,61,.35);background:rgba(255,90,61,.08)}
.aa20-toc .aa20-l2{font-weight:700}
.aa20-toc .aa20-l3{padding-left:18px;color:var(--aa20-muted)}

@media (max-width: 980px){
  .aa20-shell{grid-template-columns:1fr}
  .aa20-toc{position:relative;top:auto}
  .aa20-find input{min-width:120px}
}
