.setup-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto;
  padding: 6rem 1.5rem 4rem;
}
@media (min-width: 900px) {
  .setup-layout { grid-template-columns: 240px 1fr; }
  .setup-sidebar {
    position: sticky; top: 5rem; align-self: start;
    max-height: calc(100vh - 6rem); overflow-y: auto;
  }
}
.setup-sidebar ol { list-style: none; padding: 0; display: flex; flex-direction: column; gap: .25rem; }
.setup-sidebar a {
  display: block; padding: .6rem .9rem; border-radius: .5rem;
  font-size: .9rem; font-weight: 600; color: #444;
  transition: background .15s, color .15s;
}
.setup-sidebar a:hover { background: rgba(249,78,3,.08); color: #F94E03; }
.setup-sidebar a.is-current { background: rgba(249,78,3,.15); color: #F94E03; }
.setup-content section { scroll-margin-top: 6rem; margin-bottom: 3rem; }
.setup-content h2 { font-size: 1.5rem; font-weight: 900; margin-bottom: .75rem; color: #050505; }
.setup-content p { line-height: 1.7; margin-bottom: 1rem; color: #333; }
.setup-content code {
  background: #f4f1e8; padding: .12em .35em; border-radius: .25em;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .9em;
}
.setup-content pre {
  position: relative; background: #050505; color: #E0E0DA;
  padding: 1rem 1.25rem; border-radius: .75rem;
  border: 2px solid #050505; box-shadow: 0 4px 0 #050505;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .85rem;
  line-height: 1.6; overflow-x: auto; margin-bottom: 1rem;
}
.setup-content pre code { background: transparent; padding: 0; color: inherit; }
.copy-btn {
  position: absolute; top: .5rem; right: .5rem;
  font-size: .7rem; padding: .25rem .6rem; border-radius: .375rem;
  background: #F94E03; color: #fff; font-weight: 700; cursor: pointer; border: none;
}
.copy-btn:hover { background: #FF8C00; }
.os-tabs { display: flex; gap: .5rem; margin-bottom: 1rem; flex-wrap: wrap; }
.os-tab {
  padding: .5rem 1rem; border: 2px solid #050505; border-radius: .5rem;
  background: #fff; font-weight: 700; font-size: .85rem; cursor: pointer;
}
.os-tab.is-active { background: #F94E03; color: #fff; }
.os-panel { display: none; }
.os-panel.is-active { display: block; }
