[hidden] { display: none !important; }
.guide-status { color: var(--muted, #52645f); line-height: 1.7; }
.goal-nav, .goal-nav-inner { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.4rem 0; }
.goal-link { border: 1px solid #c5d8cf; border-radius: 999px; background: #fff; padding: .65rem 1rem; }
.guide-boundary, .guide-footer { padding: 1rem 1.4rem; border-radius: 1rem; background: #f2f6f3; line-height: 1.8; }
.guide-route { margin-top: 2.5rem; padding-top: 1rem; border-top: 2px solid #d9e5de; }
.route-gap { padding: 1rem; border-left: 4px solid #b18b4a; background: #fbf7ed; line-height: 1.8; }
.self-check { line-height: 1.8; }
.route-step, .guide-unit { margin: 1rem 0; padding: 1.25rem; border: 1px solid #d8e4dd; border-radius: 1rem; background: #fff; }
.guide-unit-title { margin-top: 0; }
.guide-unit p, .unit-prerequisites { line-height: 1.8; }
.guide-learn { display: inline-block; margin: .4rem 0; font-weight: 700; text-underline-offset: .2em; }
.guide-limit { color: #5a655f; }
.guide-support { padding: .7rem; border: 1px dashed #a98551; background: #fffaf0; }
.guide-unit-details { margin-top: 1rem; }
.guide-unit-details summary, .guide-branch summary, .all-units summary { cursor: pointer; font-weight: 600; padding: .6rem 0; }
.guide-branch { margin: 1rem 0; padding: 0 1rem .4rem; background: #f4f7f5; border-radius: .8rem; }
.all-units { margin: 3rem 0; }
.guide-footer { margin-top: 2rem; }
a:focus-visible, summary:focus-visible { outline: 3px solid #476c55; outline-offset: 4px; }
@media (max-width: 640px) {
  .goal-nav, .goal-nav-inner { flex-direction: column; align-items: flex-start; }
  .guide-boundary, .guide-unit, .route-step { padding: 1rem; }
}
