.guide { padding-top: 58px; padding-bottom: 100px; }
.guide-intro { max-width: 860px; margin-bottom: 64px; }
.guide-back, .guide-meta { color: var(--muted); font-size: 14px; }
.guide-intro h1 { font-size: clamp(38px, 4.5vw, 60px); letter-spacing: -.055em; margin: 24px 0; }
.guide-lead { font-size: 18px; max-width: 720px; line-height: 1.7; }
.guide-meta { margin-top: 20px; }
.guide-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 56px; align-items: start; }
.guide-toc { position: sticky; top: 32px; display: flex; flex-direction: column; gap: 12px; font-size: 14px; }
.guide-toc span { font-size: 12px; letter-spacing: .1em; color: var(--muted); margin-bottom: 6px; }
.guide-toc a { color: var(--muted); }
.guide-toc a:hover { color: var(--text); }
.guide-body { min-width: 0; }
.guide-body h2 { font-size: 30px; line-height: 1.2; margin-bottom: 20px; }
.guide-body p + p { margin-top: 16px; }
.guide-body strong { color: var(--text); font-weight: 550; }
.guide-body p a { color: var(--text); text-decoration: underline; text-underline-offset: 4px; }
.guide-prerequisites { padding: 28px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg, #ffffff06, #ffffff02); box-shadow: var(--card-shadow); }
.guide-prerequisites h2 { font-size: 23px; }
.guide-prerequisites ul { padding-left: 20px; margin: 0 0 20px; color: var(--muted); }
.guide-prerequisites li + li { margin-top: 14px; }
.guide-step { padding-top: 54px; margin-top: 48px; border-top: 1px solid var(--line); scroll-margin-top: 24px; }
.guide-step-label { display: block; color: var(--muted); font-size: 13px; letter-spacing: .12em; margin-bottom: 14px; }
.guide-body figure { margin: 26px 0; }
.guide-body figure img { display: block; width: auto; max-width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--line); box-shadow: var(--card-shadow); }
.guide-body figure a { display: block; border-radius: 10px; }
.guide-body figcaption { font-size: 14px; color: var(--muted); line-height: 1.6; margin-top: 12px; }
.guide-navigation-step { display: grid; grid-template-columns: 1fr 200px; gap: 30px; align-items: start; }
.guide-body .guide-navigation-image { margin: 0; }
.guide-body .guide-menu-image { max-width: 320px; }
.guide-groups { display: flex; flex-direction: column; gap: 20px; margin: 24px 0; }
.guide-groups dt { font-weight: 550; margin-bottom: 6px; }
.guide-groups dd { margin: 0; color: var(--muted); }
.guide-finish { display: flex; justify-content: flex-end; margin-top: 28px; }
.guide-step details { padding: 20px 0; border-bottom: 1px solid var(--line); }
.guide-step summary { cursor: pointer; font-weight: 500; }
.guide-step summary:focus-visible { outline: 2px solid var(--ring); outline-offset: 5px; }
.guide-step details p { margin-top: 14px; }
.guide-reference { margin-top: 28px; font-size: 14px; }
@media (max-width: 900px) {
  .guide-layout { grid-template-columns: 1fr; gap: 38px; }
  .guide-toc { position: static; display: grid; grid-template-columns: 1fr 1fr; }
  .guide-toc span { grid-column: 1 / -1; }
  .guide-intro { margin-bottom: 36px; }
}
@media (max-width: 550px) {
  .guide { padding-top: 36px; padding-bottom: 64px; }
  .guide .desktop-break { display: none; }
  .guide-lead { font-size: 17px; }
  .guide-toc { display: flex; gap: 10px; }
  .guide-prerequisites { padding: 22px; }
  .guide-step { padding-top: 36px; margin-top: 36px; }
  .guide-body h2 { font-size: 27px; }
  .guide-navigation-step { grid-template-columns: 1fr; gap: 24px; }
  .guide-body .guide-navigation-image { max-width: 200px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
