:root{
  --hero1:#0f172a;
  --hero2:#1e3a8a;
  --soft:#f8fafc;
  --accent:#0d6efd;
}
body{background:#eef2f7;color:#1f2937;}
.hero{
  background: linear-gradient(135deg,var(--hero1),var(--hero2));
  color:#fff;
  border-radius: 1.5rem;
  overflow:hidden;
  position:relative;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto -10% -20% auto;
  width:340px;height:340px;
  background:rgba(255,255,255,.08);
  border-radius:50%;
  filter:blur(2px);
}
.section-card{
  background:#fff;
  border:0;
  border-radius:1.25rem;
  box-shadow:0 10px 30px rgba(15,23,42,.06);
}
.chip{
  display:inline-block;
  padding:.35rem .75rem;
  border-radius:999px;
  background:#e9f2ff;
  color:#0d47a1;
  font-size:.85rem;
  font-weight:600;
  margin:.15rem;
}
pre{
  background:#0b1220;
  color:#dbeafe;
  padding:1rem;
  border-radius:1rem;
  overflow:auto;
  font-size:.92rem;
  line-height:1.5;
  margin-bottom:0;
}
.table thead th{
  background:#f1f5f9;
  border-bottom-width:1px;
}
.small-note{font-size:.92rem;color:#475569;}
.sticky-toc{
  position:sticky;
  top:1rem;
}
.toc a{
  text-decoration:none;
  color:#334155;
  display:block;
  padding:.45rem .75rem;
  border-radius:.75rem;
  margin-bottom:.2rem;
}
.toc a:hover{
  background:#eff6ff;
  color:#0d6efd;
}
.kbd{
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  background:#e2e8f0;
  padding:.15rem .4rem;
  border-radius:.35rem;
  font-size:.88em;
}
.callout{
  border-left:5px solid var(--accent);
  background:#eff6ff;
  border-radius:1rem;
  padding:1rem 1.1rem;
}
