/* Updated: 2026-11-06T23:56:04+00:00; Europe/Berlin: 2026-11-07T00:56:04+01:00; Version: 1.3.3 */
:root{color-scheme:light;--ink:#153b35;--green:#17654e;--paper:#f7f8f2;--line:#dce5dc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,sans-serif}header,main,footer{max-width:1140px;margin:auto;padding:22px}header{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}a{color:var(--green)}.brand{font-size:26px;text-decoration:none;font-weight:800;white-space:nowrap}.brand span{color:#689a70}.topnav,.footer-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.topnav{flex:1}.topnav #language{margin-left:auto}.hero{padding:40px 0 24px}.eyebrow{font-size:15px;font-weight:700;color:var(--green)}h1{font-size:clamp(30px,5vw,52px);line-height:1.3;margin:12px 0}p{margin:8px 0}.muted{color:#586d66}.notice{background:#eaf0e4;border:1px solid var(--line);border-radius:12px;padding:14px 18px}.category{margin-top:24px;font-weight:650}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px;margin:20px 0}label{font-size:13px;font-weight:600}input,select{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #b8cbbd;border-radius:9px;background:white;color:var(--ink);font:inherit}:focus-visible{outline:3px solid #8bbda2;outline-offset:3px}.classes{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}button,.classes a,summary{padding:8px 14px;border:1px solid #c5d6c8;background:white;border-radius:9px;color:var(--ink);font:inherit;cursor:pointer;text-decoration:none}.classes a[aria-current=page]{background:var(--green);color:white}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0}.card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.cover{height:220px;background:#dfebde;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-size:24px;font-weight:700;color:#285941}.cover img{height:100%;max-width:100%;object-fit:contain}.body{padding:20px;display:flex;flex-direction:column;flex:1}.meta{font-size:13px;color:#596f65}.card h2{font-size:21px;margin:8px 0}.actions{margin-top:auto;padding-top:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.primary{background:var(--green);color:white;padding:9px 14px;border-radius:8px;text-decoration:none}#status{padding:16px 0}.error{color:#8a2626}footer{border-top:1px solid var(--line);font-size:13px;margin-top:40px}.footer-links button{font-size:13px}.project-list{position:absolute;z-index:5;background:white;box-shadow:0 12px 30px #153b3520;padding:14px;border:1px solid var(--line);border-radius:10px;min-width:210px;max-width:85vw}.project-list a{display:block;padding:8px}.project-list p{margin:0}dialog{border:1px solid var(--line);border-radius:16px;max-width:700px;width:94%;max-height:90dvh;padding:24px;color:var(--ink)}dialog::backdrop{background:#102c2490}.modal-head{display:flex;justify-content:space-between;align-items:start;gap:14px}.modal-head h2{margin:0 0 18px;font-size:22px}.modal-head button{white-space:nowrap}.document-text{white-space:pre-wrap;overflow-wrap:anywhere}.source-url{display:block;overflow-wrap:anywhere;margin-bottom:14px}.reader{max-width:1200px;width:96%;height:94dvh;max-height:94dvh}.reader #modalBody{height:calc(100% - 70px);display:flex;flex-direction:column;gap:8px}.reader iframe{width:100%;flex:1;min-height:200px;border:1px solid var(--line);background:white}.reader-hint{font-size:13px}.reader .modal-head h2{font-size:18px}.footer-links{margin-bottom:18px}[hidden]{display:none!important}@media(max-width:780px){header{align-items:start;flex-direction:column;gap:12px}.filters{grid-template-columns:1fr 1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topnav{width:100%}.project-list{right:16px}}@media(max-width:480px){.grid,.filters{grid-template-columns:1fr}header,main,footer{padding:16px}.hero{padding-top:25px}.topnav{gap:6px}.topnav button,summary{font-size:13px;padding:8px}.reader{padding:12px}.modal-head{gap:8px}}

.brand-group{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}.brand-tagline{font-size:14px;color:var(--green);white-space:nowrap}.source-filter{display:block;max-width:420px}.card{position:relative}.card-open::after{content:"";position:absolute;inset:0;z-index:1;border-radius:16px}.card-open:focus-visible::after{outline:3px solid #17654e;outline-offset:-4px}.book-details{position:relative;z-index:2}.source-choice{padding:2px 6px;text-decoration:underline}.brand-group .brand span{color:#689a70}

.brand{display:inline-flex;align-items:center;gap:8px}.brand-logo{display:block;width:44px;height:44px;object-fit:contain;flex:none}.brand-group{align-items:center}

/* Compact catalogue header and independent logo/wordmark spacing. */
.brand .wordmark{display:inline-block;white-space:nowrap;color:var(--ink);letter-spacing:normal}
.brand .domain-suffix{color:#689a70}
header{padding:12px 22px;gap:16px;flex-wrap:wrap}
.brand{font-size:24px;gap:8px}.brand-logo{width:36px;height:36px}
.brand-group{gap:4px 10px}.brand-tagline{font-size:13px}
.topnav{gap:6px}.topnav button,summary{padding:6px 10px;font-size:14px;min-height:36px}
main{padding-top:12px}.hero{padding:8px 0}
h1{font-size:clamp(24px,3vw,34px);line-height:1.25;margin:4px 0}
.hero p{margin:4px 0;font-size:14px}
.notice{padding:8px 12px;margin:6px 0;font-size:13px;line-height:1.45}
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.catalog-toolbar .category{margin:0;font-size:14px}
#resetFilters{font-size:13px;padding:6px 10px;min-height:36px;white-space:nowrap}
.filters{grid-template-columns:2fr repeat(4,minmax(0,1fr));gap:10px;margin:8px 0}
.filters label{min-width:0}.source-filter{max-width:none}
input,select{margin-top:4px;padding:8px;font-size:14px;min-height:38px}
.classes{gap:6px;margin:8px 0}.classes a{padding:5px 10px;font-size:14px;min-height:36px}
#status{padding:4px 0;margin:4px 0;font-size:14px}.grid{margin-top:10px}
@media(max-width:1000px){.filters{grid-template-columns:2fr 1fr 1fr}.source-filter{grid-column:auto}}
@media(max-width:780px){header{padding:12px 16px;gap:8px}.brand-group{width:100%}.hero{padding:4px 0}.filters{grid-template-columns:1fr 1fr}.filters > .search-field{grid-column:1/-1}.topnav{width:100%}}
@media(max-width:480px){main{padding:10px 16px 16px}.grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.brand-tagline{font-size:12px}.brand{font-size:23px}.catalog-toolbar{gap:6px}.catalog-toolbar .category{font-size:13px}#resetFilters{font-size:12px}.hero h1{font-size:26px}}

/* Layout density is controlled in layout-settings.css. */
header{padding:calc(12px * var(--space-scale)) 18px;gap:calc(16px * var(--space-scale))}
main{padding:calc(12px * var(--space-scale)) 18px 18px}
.brand{gap:0}.brand-group{gap:calc(8px * var(--space-scale)) 10px}
.brand-group .brand .wordmark{color:var(--ink)}.brand-group .brand .domain-suffix{color:#689a70}
.hero{padding:calc(8px * var(--space-scale)) 0}
.hero h1{font-size:var(--hero-title-size);margin:calc(4px * var(--space-scale)) 0;line-height:1.2}
.hero p{margin:calc(4px * var(--space-scale)) 0;font-size:13px;line-height:1.4}
.notice{padding:calc(8px * var(--space-scale)) 10px;margin:calc(6px * var(--space-scale)) 0;line-height:1.35}
.catalog-toolbar{margin-top:calc(8px * var(--space-scale));gap:8px}
.filters{grid-template-columns:2fr repeat(3,minmax(0,1fr));gap:calc(10px * var(--space-scale));margin:calc(8px * var(--space-scale)) 0}
.filters.has-multiple-sources{grid-template-columns:2fr repeat(4,minmax(0,1fr))}
input,select{font-size:var(--filter-font-size);margin-top:3px;padding:6px 8px;min-height:36px}
.classes{margin:calc(8px * var(--space-scale)) 0;gap:5px}
#status{margin:calc(4px * var(--space-scale)) 0;padding:calc(4px * var(--space-scale)) 0}
.grid{gap:var(--book-card-gap);margin-top:calc(10px * var(--space-scale))}
.foundation-credit{font-size:16px;font-weight:650;color:var(--green);margin:10px 0}
.card{transition:box-shadow 100ms ease,transform 100ms ease}
.card.is-pressed,.card:focus-within{outline:3px solid #75a88a;outline-offset:-3px;box-shadow:0 0 0 2px #17654e26}
.card.is-pressed{transform:translateY(1px)}.card.is-pressed .cover{filter:brightness(.96)}
.card-open:active::after{background:#17654e0d;box-shadow:inset 0 0 0 3px #75a88a}
.book-details:active{background:#e6f0e8}
@media(prefers-reduced-motion:reduce){.card{transition:none}.card.is-pressed{transform:none}}
@media(max-width:780px){header{padding:calc(12px * var(--space-scale)) 14px;gap:6px}main{padding:calc(12px * var(--space-scale)) 14px 14px}.filters,.filters.has-multiple-sources{grid-template-columns:1fr 1fr}.filters > .search-field{grid-column:1/-1}.hero{padding:calc(8px * var(--space-scale)) 0}}

/* Small reset icon beside Find a book; no extra toolbar row. */
.search-field{min-width:0}.search-field>label{display:block}
.search-input-row{display:flex;align-items:center;gap:8px;margin-top:3px}
.search-input-row input{flex:1;min-width:0;width:auto;margin-top:0}
#resetFilters{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;min-height:30px;flex:0 0 30px;padding:4px;border-radius:6px;margin:0;line-height:1}
#resetFilters svg{display:block;pointer-events:none}
#resetFilters:active{background:#dcebdd}
.filters{grid-template-columns:1.6fr repeat(3,minmax(0,1fr))}
.filters.has-multiple-sources{grid-template-columns:1.6fr repeat(4,minmax(0,1fr))}
@media(max-width:780px){.filters,.filters.has-multiple-sources{grid-template-columns:1fr 1fr}.filters>.search-field{grid-column:1/-1}}
