.guide a:not(.btn, .logo) { color: #075c46; text-underline-offset: .16em; }
.guide-hero { margin-block: 2rem; padding: clamp(1.25rem, 4vw, 3rem); display: grid; grid-template-columns: 2fr 1fr; align-items: center; gap: 2rem; }
.guide-hero figure { margin: 0; text-align: center; }
.guide-hero img { display: block; width: 100%; max-width: 240px; height: auto; margin: auto; border-radius: var(--radius); }
.guide-hero figcaption { margin-top: .5rem; color: var(--muted); font-size: .9rem; }
.guide-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: clamp(1rem, 3vw, 3rem); align-items: start; }
.contents { position: sticky; top: 5.3rem; max-height: calc(100vh - 6rem); overflow: auto; padding: 1.2rem; background: var(--chip); border-radius: var(--radius); }
.contents h2 { font-size: 1.15rem; }
.contents ol, .signal ol, .kit-list { padding-inline-start: 1.3rem; }
.contents li + li, .kit-list li + li { margin-top: .65rem; }
.chapter { padding: clamp(1rem, 3vw, 2.2rem); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); margin-bottom: 1rem; }
.chapter p, .kit-list { max-width: 72ch; }
.chapter h3 { margin-top: 1.5rem; font-size: 1.18rem; }
.chapter details + details { margin-top: .5rem; }
.guide table { width: 100%; border-collapse: collapse; text-align: start; font-size: .94rem; }
.guide th, .guide td { text-align: start; vertical-align: top; padding: .65rem; border-bottom: 1px solid var(--line); }
.guide thead { background: var(--chip); }
.signal { margin: 1.3rem 0; }
.signal figcaption { font-weight: bold; }
.signal ol { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.3rem; padding: 0; }
.signal li { position: relative; background: var(--chip); padding: .85rem; border-radius: .6rem; }
.signal li + li::before { content: "→"; position: absolute; left: -1.2rem; color: var(--brand); }
.signal p { margin-bottom: 0; }
.refs { display: flex; flex-wrap: wrap; column-gap: 1.8rem; row-gap: .5rem; padding-left: 1.2rem; }
@media (max-width: 800px) {
  .guide-layout { display: block; }
  .contents { position: static; max-height: none; margin-bottom: 1rem; }
}
@media (max-width: 600px) {
  .guide-hero { grid-template-columns: 1fr; gap: 1rem; }
  .guide-hero img { width: 128px; }
  .signal ol { grid-template-columns: 1fr; }
  .signal li + li::before { content: "↓"; left: 1rem; top: -1.4rem; }
  .guide th, .guide td { padding: .4rem .25rem; overflow-wrap: anywhere; }
  .guide table { font-size: .88rem; }
  .guide .topbar-inner { flex-wrap: wrap; }
}
.guide .lang-switch a[aria-current="page"] { background: var(--brand); color: white; }
