/* Shared visual language for the additive library surfaces. */
:root{--lib-paper:#f5f2eb;--lib-panel:#fffdf8;--lib-line:#ddd8cc;--lib-ink:#171b18;--lib-muted:#69736e;--lib-green:#176b58;--lib-green-soft:#dcece3;--lib-orange:#d87d48;--lib-blue:#47758a}
body{background:var(--lib-paper);color:var(--lib-ink);font-family:'DM Sans',Inter,sans-serif}
h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;letter-spacing:-.04em;line-height:1.06}
nav.top{background:rgba(245,242,235,.88);border-bottom-color:var(--lib-line)}
.logo{font-family:Brefly,Arial,sans-serif}.nav-links{font-family:Arial,sans-serif}
.btn-primary{background:var(--lib-green);box-shadow:0 8px 22px -10px rgba(23,107,88,.65)}.btn-primary:hover{background:#0f5647}
.library-main{padding:72px 0 0}.library-k{font:500 11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--lib-green);margin-bottom:17px}
.library-hero{max-width:760px}.library-hero h1{font-size:clamp(46px,7vw,78px)}.library-hero h1 span{color:var(--lib-green)}.library-hero p{max-width:650px;color:var(--lib-muted);font-size:17px;margin:18px 0 0}
.library-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.library-meta span{font:500 11px 'DM Mono',monospace;border:1px solid var(--lib-line);border-radius:999px;padding:6px 9px;color:var(--lib-muted)}
.library-panel{background:var(--lib-panel);border:1px solid var(--lib-line);border-radius:20px;padding:25px}.library-panel h2{font-size:32px;margin:0 0 10px}.library-panel p{color:var(--lib-muted);font-size:13.5px;margin:0}.library-panel + .library-panel{margin-top:12px}
.brief-list{margin-top:38px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.brief-card{display:block;background:var(--lib-panel);border:1px solid var(--lib-line);border-radius:17px;padding:20px;text-decoration:none;color:inherit;transition:transform .18s,border-color .18s,box-shadow .18s}.brief-card:hover{transform:translateY(-3px);border-color:rgba(23,107,88,.45);box-shadow:0 18px 42px -30px rgba(23,107,88,.5)}.brief-card .eyebrow{font:500 10px 'DM Mono',monospace;color:var(--lib-orange);text-transform:uppercase;letter-spacing:.1em}.brief-card h2{font-size:27px;margin:14px 0 8px}.brief-card p{font-size:13px;color:var(--lib-muted);margin:0}.brief-card .arrow{display:block;color:var(--lib-green);font-size:12px;font-weight:700;margin-top:16px}
.topic-hero{display:grid;grid-template-columns:1fr .8fr;gap:12px;align-items:stretch}.topic-hero .library-panel:first-child{background:var(--lib-ink);color:#f8f3ea;border-color:var(--lib-ink)}.topic-hero .library-panel:first-child p{color:#bdc8c0}.topic-hero .topic-tag{font:500 10px 'DM Mono',monospace;color:#9bc9b5;text-transform:uppercase;letter-spacing:.1em}.topic-hero h1{font-size:clamp(42px,6vw,70px);margin:15px 0 0}.topic-hero .library-panel:last-child{background:var(--lib-green-soft);border-color:transparent}.topic-hero .library-panel:last-child h2{font-family:'DM Sans',sans-serif;font-size:18px;letter-spacing:-.03em}.topic-hero .library-panel:last-child p{color:#456859}
.topic-briefs{margin-top:30px}.topic-briefs h2{font-size:36px;margin:0 0 15px}.topic-count{font:500 12px 'DM Mono',monospace;letter-spacing:.04em;color:var(--lib-green);white-space:nowrap}.topic-briefs .empty{padding:26px;border:1px dashed #b9b3a7;border-radius:16px;color:var(--lib-muted);font-size:13px;background:rgba(255,253,248,.45)}
.topic-hub{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px}.topic-hub a{display:block;background:var(--lib-panel);border:1px solid var(--lib-line);border-radius:17px;padding:22px;text-decoration:none;color:inherit}.topic-hub a:hover{border-color:rgba(23,107,88,.45)}.topic-hub .status{font:500 10px 'DM Mono',monospace;color:var(--lib-green);text-transform:uppercase;letter-spacing:.08em}.topic-hub h2{font-size:32px;margin:15px 0 7px}.topic-hub p{font-size:13px;color:var(--lib-muted);margin:0}.topic-hub .go{display:block;margin-top:16px;font-size:12px;color:var(--lib-green);font-weight:700}
.library-cta{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:30px;padding:19px 22px;background:#ebe7de;border:1px solid var(--lib-line);border-radius:17px}.library-cta h3{font-family:'DM Sans',sans-serif;letter-spacing:-.03em;font-size:17px;margin:0 0 3px}.library-cta p{color:var(--lib-muted);font-size:12px;margin:0}.library-cta .btn{font-size:12px;padding:9px 13px;white-space:nowrap}
footer.site{background:var(--dark);border-top-color:var(--line);margin-top:76px}
@media(max-width:760px){.brief-list,.topic-hub,.topic-hero{grid-template-columns:1fr}.library-main{padding-top:56px}.topic-hero h1{font-size:50px}.library-cta{display:block}.library-cta .btn{display:inline-flex;margin-top:13px}}
