.library-page{width:88%;max-width:1100px;margin:auto}.library-hero{padding:70px 0 62px}.library-hero h1{font-family:var(--title);font-size:clamp(42px,5.5vw,72px);line-height:1.12;letter-spacing:-2.5px;margin:0 0 24px}.library-intro{font-size:21px;line-height:1.6;max-width:730px}.quiet-links{display:flex;gap:20px;flex-wrap:wrap}.quiet-links a,.context-note a{font-size:14px;color:#60717c;text-decoration:underline;text-underline-offset:5px}.library-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:54px;margin-bottom:80px}.library-rail{align-self:start;position:sticky;top:110px;background:linear-gradient(120deg,#f0faff,#fffef1);border:1px solid #dce8ec;border-radius:24px;padding:22px 15px}.library-rail>.eyebrow{display:block;margin:0 10px 20px;font-size:11px;letter-spacing:1.6px}.axis-switch{display:flex;background:#eaf1f3;border-radius:99px;padding:4px;margin-bottom:18px}.axis-switch button{flex:1;border:0;border-radius:99px;background:none;font:inherit;font-size:13px;padding:10px 5px;cursor:pointer}.axis-switch button[aria-pressed=true]{background:white;box-shadow:0 1px 5px #142b4010}.library-rail ol{list-style:none;padding:0;margin:10px 0}.library-rail nav button{width:100%;border:1px solid transparent;border-radius:14px;background:transparent;padding:12px 8px;display:flex;align-items:center;gap:10px;text-align:left;font:inherit;font-size:13px;line-height:1.45;cursor:pointer;color:var(--ink)}.library-rail nav button[aria-pressed=true]{background:white;border-color:#cee0e7}.filter-number,.guide-number{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;border:1px dashed #a5bec9;border-radius:50%;background:white}.library-rail nav button[aria-pressed=true] .filter-number{background:#18788a;color:white;border-style:solid;border-color:#18788a}.library-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-bottom:30px}.library-filters label{font-size:13px;font-weight:600}.library-filters label[for=topic-filter]{grid-column:2;grid-row:1}.library-filters input,.library-filters select{min-width:0;width:100%;border:1px solid #dce8ec;border-radius:14px;padding:14px;background:white;font:inherit;font-size:16px;color:var(--ink)}.library-results h2{font-size:27px;margin:10px 0}.library-results #result-count{font-size:13px;color:#60717c;margin-bottom:24px}.library-card{position:relative;border:1px solid #dce8ec;border-radius:22px;padding:25px;margin:0 0 18px;background:#fff}.library-card h3{font-size:23px;line-height:1.3;margin:12px 0}.library-card h3 a{text-decoration:none;color:inherit}.library-card h3 a:after{content:'';position:absolute;inset:0;border-radius:22px}.library-card:has(a):hover{border-color:#87bac1;background:#fcffff}.library-card:focus-within{outline:2px solid #18788a;outline-offset:3px}.library-card p{font-size:16px;line-height:1.65;margin:0 0 20px}.card-topic,.card-foot{font-size:12px;color:#60717c}#more-notes{border:1px solid #c8dce3;border-radius:99px;background:white;padding:13px 24px;font:inherit;color:var(--ink);cursor:pointer}.guide-story{max-width:800px;margin:0 auto 75px}.guide-page h2{font-size:clamp(28px,3vw,38px);line-height:1.25;letter-spacing:-.7px}.guide-page p{font-size:18px;line-height:1.8}.guide-routes{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:75px}.guide-routes>div{border:1px solid #dce8ec;border-radius:26px;padding:30px;background:linear-gradient(120deg,#f7fcfe,#fffef4)}.guide-routes h2{font-size:27px}.guide-routes p{font-size:16px}.axis-label{display:inline-block;border-radius:99px;padding:7px 15px;font-size:12px}.project-label{background:#fff6b2}.person-label{background:#d5f1fa}.guide-routes ol{list-style:none;padding:0}.guide-routes li{position:relative;padding:15px 0}.guide-routes li:not(:last-child):before{content:'';position:absolute;left:14px;top:43px;bottom:-15px;border-left:1px solid #cbdde4}.guide-routes li a{display:flex;gap:15px;text-decoration:none;color:inherit}.guide-routes li a>span:last-child{display:flex;flex-direction:column;gap:6px}.guide-routes li strong{font-size:16px}.guide-routes li span span{font-size:13px;line-height:1.6;color:#60717c}.guide-start{max-width:800px;margin:auto}.entry-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}.entry-choices a{display:flex;flex-direction:column;gap:15px;border:1px solid #dce8ec;border-radius:20px;padding:24px;text-decoration:none;color:var(--ink)}.entry-choices span{font-size:13px;color:#60717c}.guide-book{max-width:800px;margin:65px auto 80px;padding:35px;border:1px solid #dce8ec;border-radius:28px;background:linear-gradient(120deg,#e8f8ff,#fffccb)}
@media(max-width:800px){.library-layout{grid-template-columns:1fr;gap:25px}.library-rail{position:static;padding:20px}.library-rail ol{display:grid;grid-template-columns:1fr 1fr}.library-hero{padding:45px 0}.guide-routes{grid-template-columns:1fr;gap:22px}.guide-story{margin-bottom:45px}.guide-page p{font-size:16px}.guide-routes>div{padding:24px}.library-filters{grid-template-columns:1fr}.library-filters label[for=topic-filter]{grid-column:auto;grid-row:auto}.library-card{padding:22px}.entry-choices{grid-template-columns:1fr}.quiet-links{gap:12px}.library-card h3{font-size:21px}.guide-book{padding:25px}.library-hero h1{letter-spacing:-1.7px}}
.glossary-page{max-width:1100px}.glossary-page label{display:block;font-size:13px;margin:28px 0 8px}.glossary-page input{box-sizing:border-box;width:100%;border:1px solid #d8e6ed;border-radius:16px;padding:16px;font:inherit;background:white;color:var(--ink)}#glossary-count{font-size:12px;color:var(--muted)}.glossary-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.glossary-term{border:1px solid #d8e6ed;border-radius:22px;padding:26px;scroll-margin-top:120px}.glossary-term[hidden]{display:none}.glossary-term h2{font-size:23px;line-height:1.3;margin:0 0 14px}.glossary-term p{font-size:16px;line-height:1.7}.glossary-term a{font-size:13px;color:var(--muted);text-underline-offset:4px;text-decoration:underline}.glossary-term:target{background:linear-gradient(120deg,#eefafb,#fffde9);border-color:#90c7cf}@media(max-width:650px){.glossary-list{grid-template-columns:1fr}.glossary-term{padding:22px}}

/* Catálogo: acceso global, camino continuo y acentos de lectura. */
#all-notes{width:100%;border:1px solid #cee0e7;border-radius:14px;background:transparent;padding:12px 10px;margin:0 0 16px;font:inherit;font-size:13px;text-align:left;color:var(--ink);cursor:pointer}
#all-notes[aria-pressed=true]{background:#fff;font-weight:600}
#all-notes:hover{background:#fff}
#route-filter ol{display:block}
#route-filter li{position:relative}
#route-filter li:not(:last-child)::before{content:"";position:absolute;left:23px;top:calc(50% + 14px);height:100%;border-left:1px solid #b8d2da;pointer-events:none}
#route-filter button{position:relative}
.filter-number{position:relative;z-index:1}
.library-card{background:#fff;transition:border-color .18s,box-shadow .18s}
.library-card .card-topic{display:inline-flex;padding:6px 12px;border-radius:99px;background:linear-gradient(110deg,#ddf3fb,#fff6bd);color:#34505f;font-size:12px;line-height:1.4}
.library-card .card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card-read{display:inline-flex;padding:8px 13px;border-radius:99px;background:#edf7fa;color:#205d6b;font-weight:600}
.library-card:has(a):hover{background:#fff;box-shadow:0 5px 20px #17344709}
.library-card:hover .card-read{background:#173447;color:white}
@media(max-width:400px){.library-card .card-foot{font-size:11px;gap:8px}.card-read{padding:8px 10px}}

/* Coherencia con las etiquetas y botones de las entradas. */
.card-topline{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.card-number{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(125deg,#c9edf7,#fff2a8);color:#173447;font-size:14px;font-weight:600}
.library-card .card-topic{background:white;border:1px dashed #bac8ce;color:#60717c}
.card-read{background:white;border:1px solid #dce8ec;color:#173447}
.library-card:hover .card-read,.library-card:focus-within .card-read{background:#173447;border-color:#173447;color:white}

.catalogue-page .library-intro{max-width:none;width:100%;text-align:justify}

/* Guía de lectura: misma columna editorial que Cómo se ha construido. */
.guide-revised{max-width:860px;padding:60px 0 90px}
.guide-back{font-size:14px;color:#60717c;text-decoration:none}
.guide-back:hover{text-decoration:underline}
.guide-copy{margin-top:38px}
.guide-copy h1{font-family:var(--title);font-size:clamp(32px,4vw,48px);font-weight:800;letter-spacing:-1.3px;line-height:1.2;margin:0 0 30px}
.guide-copy p{margin:0 0 24px}
.guide-path-card{margin-top:40px;padding:32px;border:1px solid #e6dfb8;border-radius:26px;background:#fffbea;transition:background-color .2s,border-color .2s}
.guide-path-card[data-path=person]{background:#eef9fd;border-color:#cee2ec}
.guide-path-card .axis-switch{max-width:300px;margin:0 0 28px;background:#ffffff80;border:1px solid #dce8ec}
.guide-path-card .axis-switch button{color:var(--ink)}
.guide-path-card[data-path=project] button[aria-pressed=true]{background:#fff1a8}
.guide-path-card[data-path=person] button[aria-pressed=true]{background:#ccecf7}
.guide-path-card h2{font-size:clamp(24px,3vw,30px);margin:0 0 14px}
.guide-path-card .guide-path-summary{font-size:16px;line-height:1.65;margin:0 0 24px}
.guide-path-list{list-style:none;padding:0;margin:0}
.guide-path-list li{position:relative}
.guide-path-list li:not(:last-child)::before{content:'';position:absolute;left:18px;top:48px;bottom:-12px;border-left:1px solid #bccbd0}
.guide-path-list a{position:relative;display:flex;align-items:flex-start;gap:16px;padding:14px 0;color:var(--ink);text-decoration:none;border-radius:12px}
.guide-path-list a:hover .guide-route-copy strong{text-decoration:underline;text-underline-offset:4px}
.guide-path-list a:focus-visible{outline:2px solid #18788a;outline-offset:4px}
.guide-path-list .guide-number{box-sizing:border-box;width:36px;height:36px;flex:0 0 36px;border:1px dashed #91a8b2;background:#fff;font-size:14px;line-height:1;position:relative;z-index:1}
.guide-route-copy{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.guide-route-copy strong{font-size:16px;line-height:1.5}
.guide-route-copy>span{font-size:14px;line-height:1.6;color:#60717c}
.guide-route-arrow{font-size:18px;line-height:30px}
@media(max-width:600px){.guide-revised{padding:36px 0 60px}.guide-path-card{padding:22px 18px}.guide-path-list a{gap:12px}.guide-route-arrow{display:none}.guide-path-card .axis-switch{max-width:none}}
@media(prefers-reduced-motion:reduce){.guide-path-card{transition:none}}

.guide-revised .guide-path-card{width:calc(100% - 48px);box-sizing:border-box;margin:40px auto 0}
@media(max-width:600px){.guide-revised .guide-path-card{width:calc(100% - 16px)}}

.guide-revised .guide-path-card + .guide-start{margin-top:64px}

.guide-revised .entry-choices a>span{text-decoration:underline;text-decoration-color:#b9cbd0;text-decoration-thickness:1px;text-underline-offset:5px}
.guide-revised .entry-choices a:hover>span{text-decoration-color:currentColor}
.guide-revised .guide-book.home-book{grid-template-columns:minmax(0,1fr) 210px;gap:32px;padding:35px;margin-bottom:0}
.guide-revised .guide-book h2{margin:0 0 20px;font-size:30px}
.guide-revised .guide-book .book-intro p{font-size:17px;line-height:1.8}
.guide-revised .guide-book .book-cover p{font-size:11px;line-height:1.55}
@media(max-width:650px){.guide-revised .guide-book.home-book{grid-template-columns:1fr;padding:28px 24px;gap:32px}.guide-revised .guide-book .book-preview{max-width:210px}}

/* Portada compacta en la guía; conservar la miniatura de la home. */
.guide-revised .guide-book .book-cover{min-height:0;padding:18px 19px 16px 24px}
.guide-revised .guide-book .book-author{margin-bottom:14px}
.guide-revised .guide-book .book-cover strong{font-size:29px}
.guide-revised .guide-book .book-cover p{margin:10px 0 12px}
.guide-revised .guide-book .book-mark{font-size:44px;margin:2px 0 12px}

.guide-revised .guide-start,.guide-revised .guide-book{width:100%;max-width:none;box-sizing:border-box}

.catalogue-route-toggle{display:none}
@media(max-width:800px){
 .catalogue-page .library-rail>.eyebrow{margin-bottom:12px}
 .catalogue-route-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px;border:0;border-radius:14px;background:white;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
 .catalogue-current{display:flex;align-items:center;gap:10px;min-width:0}
 .catalogue-current .filter-number{background:#18788a;color:white;border:1px solid #18788a}
 .catalogue-close{display:none;font-size:12px;color:#60717c}
 .catalogue-chevron{flex:none}
 .library-rail:not(.is-expanded) #catalogue-route-options{display:none}
 .library-rail.is-expanded .catalogue-current{display:none}
 .library-rail.is-expanded .catalogue-close{display:inline}
 .library-rail.is-expanded .catalogue-chevron{transform:rotate(180deg)}
 .library-rail.is-expanded .catalogue-route-toggle{background:transparent;margin-bottom:12px}
 .catalogue-route-toggle:focus-visible{outline:2px solid #18788a;outline-offset:3px}
}

.catalogue-filters-toggle{display:none}
@media(max-width:800px){
 .catalogue-filters-toggle{display:inline-flex;align-items:center;gap:18px;border:1px solid #dce8ec;border-radius:99px;padding:10px 18px;margin:0 0 18px;background:white;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
 .catalogue-filters-toggle:hover,.catalogue-filters-toggle[aria-expanded=true]{background:#142b40;color:white;border-color:#142b40}
 .catalogue-filters-toggle:focus-visible{outline:2px solid #18788a;outline-offset:3px}
 .catalogue-filters-toggle[aria-expanded=true] .filters-chevron{transform:rotate(180deg)}
 .library-results:not(.filters-expanded) .library-filters{display:none}
 .library-results.filters-expanded .library-filters{display:grid;gap:8px;margin-bottom:24px}
}

@media(max-width:800px){
 .catalogue-filters-toggle{gap:8px;border:0;border-radius:0;padding:0;margin-bottom:22px;background:transparent;color:#60717c;font-size:14px}
 .catalogue-filters-toggle .filters-label{text-decoration:underline;text-decoration-color:#b9cbd0;text-decoration-thickness:1px;text-underline-offset:5px}
 .catalogue-filters-toggle:hover,.catalogue-filters-toggle[aria-expanded=true]{background:transparent;color:#142b40;border-color:transparent}
 .catalogue-filters-toggle:hover .filters-label{text-decoration-color:currentColor}
 .filters-search-icon{flex:none}
}

/* Título y búsqueda comparten fila en todos los tamaños. */
.catalogue-results-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.catalogue-results-heading h2{margin:0;min-width:0}
.catalogue-results-heading .catalogue-filters-toggle{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;border:0;border-radius:0;padding:0;margin:0;background:transparent;color:#60717c;font:inherit;font-size:14px;cursor:pointer}
.catalogue-filters-toggle .filters-label{text-decoration:underline;text-decoration-color:#b9cbd0;text-decoration-thickness:1px;text-underline-offset:5px}
.catalogue-results-heading .catalogue-filters-toggle:hover,.catalogue-results-heading .catalogue-filters-toggle[aria-expanded=true]{background:transparent;color:#142b40}
.catalogue-filters-toggle:hover .filters-label{text-decoration-color:currentColor}
.catalogue-filters-toggle:focus-visible{outline:2px solid #18788a;outline-offset:4px}
.library-results:not(.filters-expanded) .library-filters{display:none}
.library-results.filters-expanded .library-filters{display:grid}
@media(max-width:800px){.catalogue-results-heading{flex-wrap:wrap;gap:12px}.catalogue-results-heading .catalogue-filters-toggle{font-size:14px}}

.library-results.filters-expanded .library-filters{margin:0 0 22px}

.filters-label-mobile{display:none}
@media(max-width:800px){.filters-label-desktop{display:none}.filters-label-mobile{display:inline}}

/* Glosario: entrada directa, búsqueda próxima a las fichas y cierre con aire. */
.glossary-page{padding-bottom:105px}
.glossary-page .library-hero{padding-bottom:20px}
.glossary-page .library-intro{max-width:none}
.glossary-page .quiet-links{margin:0 0 42px}
.glossary-page .quiet-links a{font-size:14px}
.glossary-page label{margin:0 0 8px}
.glossary-page #glossary-count{margin:8px 0 0}
@media(max-width:650px){.glossary-page{padding-bottom:75px}.glossary-page .library-hero{padding-bottom:18px}}

/* El campo de búsqueda se explica por sí mismo, como en el mapa. */
.catalogue-search-field,.glossary-search-field{position:relative;display:block}
.catalogue-search-field{grid-column:1;grid-row:2;min-width:0}
.search-field-icon{position:absolute;left:15px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:#60717c;pointer-events:none}
.library-filters .catalogue-search-field input,.glossary-page .glossary-search-field input{padding-left:43px}
.glossary-page .glossary-search-field{margin:0}
@media(max-width:800px){
 .catalogue-search-field{grid-column:1;grid-row:1}
 .library-filters label[for=topic-filter]{grid-column:1;grid-row:2}
 .library-filters select{grid-column:1;grid-row:3}
}
.library-filters select{grid-column:2;grid-row:2}
@media(max-width:800px){.library-filters select{grid-column:1;grid-row:3}}

/* Las dos opciones del filtro conservan su rótulo y quedan alineadas. */
.library-filters label[for=search-notes]{grid-column:1;grid-row:1}
@media(max-width:800px){
 .library-filters label[for=search-notes]{grid-column:1;grid-row:1}
 .catalogue-search-field{grid-column:1;grid-row:2}
 .library-filters label[for=topic-filter]{grid-column:1;grid-row:3}
 .library-filters select{grid-column:1;grid-row:4}
}
