/* Guide pages — /guide/* (audit T-20). Reuses LP tokens + fig styles. */
.guide { background: var(--paper); color: var(--ink); min-height: 100vh; }
.guide__head { padding: var(--sp-3) 0 var(--sp-2); }
.guide__main { padding-bottom: var(--sp-6); }
.guide__prose { max-width: 42rem; margin: 0 auto; }
.guide__prose h1 { font-size: var(--fs-h2); margin: 0 0 var(--sp-3); line-height: 1.25; }
.guide__prose h2 { font-size: var(--fs-h3); margin: var(--sp-4) 0 var(--sp-2); line-height: 1.3; }
.guide__prose p, .guide__prose li { font-size: var(--fs-body); line-height: 1.65; margin: 0 0 var(--sp-2); }
.guide__prose ul { margin: 0 0 var(--sp-3); padding-left: 1.25rem; }
.guide__prose a { color: var(--indigo-deep); text-decoration: underline; }
.guide__cta { margin: var(--sp-4) 0 var(--sp-2); text-align: center; }
.guide__cta .cta { display: inline-flex; }
.guide__faq { margin: var(--sp-4) 0; padding: var(--sp-3); background: var(--surface); border-radius: var(--r-md); }
.guide__faq dt { font-weight: 700; margin: var(--sp-2) 0 var(--sp-1); }
.guide__faq dd { margin: 0 0 var(--sp-2); color: var(--ink-soft); }
.gojuon { margin: var(--sp-3) 0 var(--sp-4); }
.gojuon__row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-1); margin-bottom: var(--sp-2); }
.gojuon__label {
  flex: 0 0 2.5rem; font-size: var(--fs-caption); font-weight: 700; color: var(--ink-soft);
}
.gojuon__cells { display: flex; flex-wrap: wrap; gap: var(--sp-1); flex: 1; }
.gojuon__cell {
  min-width: 2.75rem; min-height: 2.75rem; padding: 0 var(--sp-1);
  border: 2px solid var(--line); border-radius: var(--r-md); background: var(--surface);
  font-size: var(--fs-h3); font-family: inherit; cursor: pointer; color: var(--ink);
}
.gojuon__cell:hover, .gojuon__cell:focus-visible {
  border-color: var(--indigo); background: var(--paper-deep); outline: none;
}
.gojuon__hint { font-size: var(--fs-caption); color: var(--ink-soft); margin: 0 0 var(--sp-3); }
