.profession-filter{border:0;margin:0;padding:0;min-width:0}
.profession-filter legend{font-size:13px;margin-bottom:7px}
.profession-filter>div{display:flex;min-height:44px;border:1px solid var(--border);border-radius:7px;overflow:hidden;background:var(--surface-2)}
.profession-option{flex:1;border:0;border-right:1px solid var(--border);background:transparent;color:var(--muted);font:inherit;font-size:13px;padding:7px 8px;cursor:pointer}
.profession-option:last-child{border-right:0}
.profession-option:hover:where(html:not(.is-scrolling) *){color:var(--text);background:var(--surface)}
.profession-option[aria-pressed=true]{color:#101820;background:var(--primary);font-weight:700}
.filters>.button{align-self:end}
.route-grid .card{gap:10px}
.route-card-heading{display:flex;align-items:flex-start;gap:10px}
.profession-icon{flex:0 0 auto;font-size:24px;line-height:1.1;letter-spacing:2px}
.route-card-heading h2{margin:1px 0 0}
.route-meta{font-size:13px;color:var(--muted)}
.profession-label{font-size:14px;font-weight:700;color:var(--primary);margin-left:34px!important}
.route-library-page :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--primary);outline-offset:1px;box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 35%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--primary) 28%,transparent)}
@media(max-width:650px){.profession-option{font-size:12px;padding-inline:5px}}

/* Compact zone-first cards; only the two action buttons are interactive. */
.library-field{font-size:13px;display:flex;flex-direction:column;gap:7px;min-width:0}
.results-toolbar .library-field{flex-direction:row;align-items:center;white-space:nowrap}
.route-title-group{min-width:0;flex:1}
.route-grid .route-title-group h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.25;margin:0;min-height:2.5em}
.route-card-metadata{display:flex;flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--muted);min-width:0}
.route-card-metadata li{position:relative;padding-left:13px;min-width:0;overflow-wrap:anywhere}
.route-card-metadata li::before{content:'•';position:absolute;left:0;pointer-events:none}
.route-card-metadata .route-description{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:5px}
.route-grid .route-actions{padding-top:4px;gap:8px;align-items:stretch}
.route-grid .route-actions .button{padding:9px 12px;gap:6px;min-height:46px;flex:1 1 auto;align-self:stretch}
@media(max-width:380px){.route-grid .route-actions{flex-direction:column}.route-grid .route-actions .button{width:100%}}
