.crag-layout{padding-top:4rem}.sector-navigation{margin-bottom:1.25rem}.sector-navigation-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:2.75rem;padding:.6rem .8rem;border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-bg-card);color:var(--color-text-primary);font:inherit;font-weight:600;cursor:pointer}.sector-navigation-toggle:focus-visible,.sector-navigation-list a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sector-navigation-toggle[aria-expanded=true] span{transform:rotate(180deg)}.sector-navigation-list{display:block;max-height:min(50dvh,22rem);overflow-y:auto;margin-top:.4rem;padding:.4rem;border:1px solid var(--color-border-light);border-radius:8px;background:var(--color-bg-card)}.sector-navigation.is-ready:not(.is-open) .sector-navigation-list{display:none}.sector-navigation-list a{display:flex;justify-content:space-between;gap:.75rem;padding:.55rem .65rem;border-radius:6px;color:var(--color-text-primary);text-decoration:none}.sector-navigation-list a[hidden]{display:none}.sector-navigation-list a:hover,.sector-navigation-list a[aria-current=location]{background:#e8f0eb;color:var(--color-accent-text)}.sector-navigation-count{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.sector{margin-bottom:2.5rem}.sector:last-of-type{margin-bottom:2rem}.sectors-container{padding-bottom:2rem;min-width:0}.grade-filter-summary{margin:0 0 1.5rem;padding:.65rem .8rem;border:1px solid #cfded3;border-left:3px solid var(--color-accent);border-radius:6px;background:#f0f6f1;color:var(--color-accent-text);font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums}.grade-filter-summary:not([hidden]){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem}.grade-filter-summary button{border:0;background:none;color:var(--color-accent-text);font:inherit;text-decoration:underline;cursor:pointer}.grade-filter-summary button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sector-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 1.25rem;cursor:pointer;user-select:none}.sector-heading{min-width:0}.sector-name{font-size:1.15rem;font-weight:700;line-height:1.3;letter-spacing:-.01em;text-wrap:pretty;color:var(--color-text-primary);margin:0;padding-bottom:0}.sector-route-order{margin:.3rem 0 0;color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;line-height:1.35;font-variant-numeric:tabular-nums}.sector-filter-count:before{content:"|";margin:0 .4rem}.sector-shade{color:var(--color-accent-text);font-weight:600}.sector-shade:before{content:"|";margin:0 .4rem;color:var(--color-text-secondary);font-weight:400}.sector-toggle{background:none;border:none;cursor:pointer;padding:.25rem .5rem;color:var(--color-text-secondary);font-size:1rem;display:flex;align-items:center;justify-content:center;border-radius:4px;min-width:2.75rem;min-height:2.75rem}.sector-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sector-toggle:disabled{cursor:default;opacity:.55}.sector.minimized .routes-list{display:none}.sector.minimized .sector-toggle{transform:rotate(180deg)}.routes-list{display:flex;flex-direction:column;gap:.6rem}.route-card{background:var(--color-bg-card);border-radius:6px;padding:1rem 1.1rem;margin-bottom:0;border:1px solid var(--color-border)}.route-name{font-weight:600;color:var(--color-text-primary);font-size:1.1rem;margin:0 0 .35rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem}.route-number{color:var(--color-accent);font-weight:700}.route-title{min-width:0}.route-details{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.9rem;color:var(--color-text-secondary)}.route-detail-item{display:flex;align-items:center;gap:.25rem}.route-grade{color:var(--color-accent);font-weight:500}.pitch-details{margin-top:.65rem;font-size:.875rem}.pitch-details summary{width:fit-content;min-height:2.75rem;padding:.65rem 0;color:var(--color-accent-text);font-weight:600;cursor:pointer}.pitch-details summary:hover{text-decoration:underline;text-underline-offset:.15em}.pitch-details summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.pitch-list{margin:.5rem 0 0;padding:0;list-style:none}.pitch-list li{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem 1rem;padding:.55rem 0;border-top:1px solid var(--color-border-light);color:var(--color-text-secondary)}.pitch-number{min-width:4.5rem;font-weight:600;color:var(--color-text-primary)}.pitch-grade{color:var(--color-accent-text);font-weight:600}@media(max-width:599px){.routes-list{gap:.5rem}.route-card{padding:.9rem}}.sector,.route-card{scroll-margin-top:11rem}@media(max-width:420px){.route-name{grid-template-columns:auto minmax(0,1fr)}.route-grade{grid-column:2}}@media(min-width:900px){.crag-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:2rem;padding-top:1rem}.sector-navigation{position:sticky;top:6rem;align-self:start;margin-bottom:0}.sector-navigation-toggle{display:none}.sector-navigation-list{display:block;max-height:calc(100dvh - 10rem - env(safe-area-inset-bottom));margin-top:0;overscroll-behavior:contain}.sector-navigation.is-ready:not(.is-open) .sector-navigation-list{display:block}.sector,.route-card{scroll-margin-top:7rem}}.sector-name:focus-visible,.route-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.search-target{outline:2px solid var(--color-accent);outline-offset:3px}.search-target-flash{animation:search-target-pulse 1.2s ease-out}@keyframes search-target-pulse{0%{box-shadow:0 0 #4a7c598c}45%{box-shadow:0 0 0 9px #4a7c5933}to{box-shadow:0 0 #4a7c5900}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.search-target-flash{animation:none;outline-width:4px}}
