@import "https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;800&family=Fraunces:opsz,wght@9..144,500;9..144,700&display=swap";:root{--paper:#f5efe2;--panel:#fff9ee;--ink:#19231f;--muted:#5d6a63;--line:#d7ccb6;--accent:#005f59;--accent-soft:#e2f0ec}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(900px 540px at 110% -10%, #d8f1ed 0, transparent 62%), radial-gradient(800px 500px at -10% 0, #f3dcb6 0, transparent 54%), var(--paper);margin:0;font-family:Archivo,Segoe UI,sans-serif}#app{min-height:100vh}.catalog-shell{gap:1rem;width:min(1240px,100% - 2.2rem);margin:1.4rem auto 2.2rem;display:grid}.hub-nav{flex-wrap:wrap;gap:.55rem;display:flex}.hub-nav a{color:#0f5e57;text-transform:uppercase;letter-spacing:.08em;background:#ebf6f2;border:1px solid #8fbcb2;border-radius:999px;padding:.4rem .76rem;font-size:.78rem;text-decoration:none}.catalog-header{border:1px solid var(--line);background:linear-gradient(130deg,#fffdf7 0%,#f0f8f5 100%);border-radius:1.3rem;padding:1.4rem 1.5rem}.signal-strip{background:var(--panel);border:1px solid var(--line);border-radius:1.1rem;padding:1rem 1.1rem}.signal-strip h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.35rem}.signal-strip p{color:var(--muted);margin:.45rem 0 .8rem}.signal-links{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem;display:grid}.signal-links a{color:#134840;background:#f0f7f4;border:1px solid #a9cdc5;border-radius:.8rem;padding:.55rem .65rem;text-decoration:none}.signal-links span{text-transform:uppercase;letter-spacing:.1em;color:#3f7166;font-size:.67rem;display:block}.signal-links strong{margin-top:.2rem;font-size:.9rem;display:block}.kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:.75rem;font-weight:700}.catalog-header h1{margin:.7rem 0 .75rem;font-family:Fraunces,Georgia,serif;font-size:clamp(1.95rem,3.9vw,3.15rem);line-height:1.08}.subtitle{color:var(--muted);max-width:65ch;margin:0;line-height:1.5}.kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem;display:grid}.kpi-strip div{background:var(--accent-soft);border:1px dashed #8fbcb2;border-radius:.9rem;padding:.8rem}.kpi-strip span{text-transform:uppercase;letter-spacing:.12em;color:#1f5048;font-size:.75rem;display:block}.kpi-strip strong{margin-top:.25rem;font-size:1.2rem;display:block}.workspace{grid-template-columns:280px 1fr;gap:.9rem;display:grid}.left-rail{align-content:start;gap:.9rem;display:grid}.left-rail section{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:.95rem}.left-rail h2{text-transform:uppercase;letter-spacing:.09em;margin:0 0 .75rem;font-size:1rem}.chip-list{flex-wrap:wrap;gap:.45rem;display:flex}.chip-list button{color:#14463f;cursor:pointer;background:#f2f8f5;border:1px solid #abcfc7;border-radius:999px;padding:.4rem .75rem;font-size:.78rem;transition:all .2s}.chip-list button.active{color:#fff;background:#0f5e57;border-color:#0f5e57}.creator-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.creator-list li{background:#fffaf1;border:1px solid #e3dbc8;border-radius:.75rem;justify-content:space-between;padding:.5rem .6rem;display:flex}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.catalog-card{border:1px solid var(--line);background:var(--panel);border-radius:1rem;animation:.45s both card-in;overflow:hidden}.catalog-card img{object-fit:cover;width:100%;height:175px}.card-copy{padding:.8rem}.topic{color:var(--accent);text-transform:uppercase;letter-spacing:.11em;margin:0;font-size:.72rem;font-weight:700}.card-copy h3{margin:.45rem 0 .5rem;font-family:Fraunces,Georgia,serif;font-size:1.12rem;line-height:1.23}.card-copy p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45}.card-copy footer{color:#567067;justify-content:space-between;margin-top:.7rem;font-size:.78rem;display:flex}.card-links{gap:.4rem;margin-top:.7rem;display:flex}.card-links a{color:#0f5e57;border:1px solid #8ab9ae;border-radius:999px;padding:.36rem .65rem;font-size:.74rem;text-decoration:none}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=1060px){.workspace{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.catalog-shell{width:min(1240px,100% - 1rem);margin-top:.8rem}.catalog-header{padding:1rem}.kpi-strip,.catalog-grid{grid-template-columns:1fr}}
