/* Catalogue choices use the existing library palette. Resource bodies keep their own layout. */
.year-chooser{padding:1rem 0 1.4rem;scroll-margin-top:1rem}
.year-chooser h2{font-size:1.4rem;margin:0 0 .7rem}
.year-choices{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}
.year-choices a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:.55rem .4rem;border:1px solid var(--sn-library-control-border);border-radius:.65rem;background:var(--sn-library-white);color:var(--sn-library-ink);font-size:.9rem;font-weight:700;text-align:center;line-height:1.3;text-decoration:none}
.year-choices a:hover{border-color:var(--sn-library-green);background:var(--sn-library-green-light);color:var(--sn-library-green)}
.year-choices a:focus-visible,.subject-nav a:focus-visible,.catalog-review summary:focus-visible{outline:3px solid var(--sn-library-focus);outline-offset:3px}
.year-chooser>p{margin:.7rem 0 0;font-size:.85rem}
.library-home .search-filters{grid-row:auto}
.library-home .browse .search-topic{margin-top:.6rem}
.library-home .search-recovery{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin:.5rem 0}
.search-recovery button{min-height:44px}
.search-recovery [hidden]{display:none}
.search-recovery a{display:inline-flex;align-items:center;min-height:44px;font-size:.88rem;font-weight:650}
.library-catalog .hero{padding:2rem 0 1.3rem;border:0}
.library-catalog .hero h1{max-width:24ch;font-size:clamp(2rem,4vw,3.4rem)}
.library-catalog .hero>p:not(.eyebrow){font-size:1rem;max-width:70ch}
.library-catalog .hero .honest{font-size:.87rem!important}
.subject-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0}
.subject-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.45rem .9rem;border:1px solid var(--sn-library-control-border);border-radius:.6rem;text-decoration:none;background:var(--sn-library-white);font-weight:700;font-size:.9rem}
.subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem 0 1.5rem}
.subject-group{min-width:0;background:var(--sn-library-white);border:1px solid var(--sn-library-line);border-radius:1rem;padding:1.3rem;scroll-margin-top:1rem}
.subject-group h2{font-size:1.6rem;margin:0 0 .6rem}
.subject-group ul{list-style:none;padding:0;margin:0}
.subject-group li+li{border-top:1px solid var(--sn-library-line)}
.subject-group li>a{display:flex;align-items:center;min-height:44px;padding:.6rem 0;font-weight:650;line-height:1.45;overflow-wrap:anywhere}
.subject-group .subject-starters{border:0;margin:.5rem 0 0;padding:0}
.catalog-review{border-top:1px solid var(--sn-library-line);padding:.5rem 0 1.5rem;color:var(--sn-library-muted)}
.catalog-review>summary{display:flex;align-items:center;min-height:44px;cursor:pointer;color:var(--sn-library-green);font-weight:700;gap:.5rem}
.catalog-review>summary::before{content:'+';font-weight:500}
.catalog-review[open]>summary::before{content:'−'}
.catalog-review p{max-width:75ch;font-size:.92rem}
.library-home .catalog-review .source-grid{margin:1rem 0}
@media(max-width:680px){.year-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.year-choices a{min-height:52px;font-size:.84rem}.year-chooser{padding:.8rem 0 1rem}.year-chooser h2{font-size:1.2rem}.subject-grid{grid-template-columns:minmax(0,1fr)}.library-catalog .mast{padding:.6rem 1rem;gap:.3rem}.library-catalog main{padding-inline:1rem}.library-catalog .hero{padding:1.3rem 0 .5rem}.library-catalog .hero h1{font-size:2rem}.subject-group{padding:1rem}.subject-nav a{flex:1 1 auto}}
@media(max-width:360px){.year-choices{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media print{.year-chooser,.subject-nav,.search-recovery{display:none}.catalog-review>summary::before{content:''}.catalog-review::details-content{display:block;content-visibility:visible}.catalog-review>p,.catalog-review>.source-grid{display:block!important}.subject-grid{display:block}.subject-group{break-inside:avoid;box-shadow:none;margin-bottom:1rem}}
@media(forced-colors:active){.year-choices a,.subject-nav a{border-color:ButtonText;background:ButtonFace;color:ButtonText}.year-choices a:hover{background:ButtonFace;color:ButtonText}.subject-group{border-color:CanvasText}}
