.asset-library { padding-block:2.75rem 5rem; color:var(--forest); }
.asset-library [hidden] { display:none!important; }
.al-intro { display:flex; justify-content:space-between; gap:2rem; align-items:flex-end; margin-bottom:2rem; }
.al-intro h1 { font-size:clamp(2.8rem,4.6vw,5rem); line-height:1.15; margin:.7rem 0 1rem; }
.al-intro p:not(.eyebrow) { color:var(--muted); font-size:1.125rem; max-width:52ch; }
.al-intro>a { flex-shrink:0; font-size:.9375rem; }
.al-stats { display:flex; flex-wrap:wrap; gap:.75rem; margin-bottom:1.25rem; }
.al-stats button { display:flex; align-items:baseline; gap:.7rem; padding:.85rem 1.2rem; border:1px solid var(--line); border-radius:5px; font-size:.9375rem; }
.al-stats strong { font-family:Outfit,sans-serif; font-size:1.65rem; font-weight:500; }
.al-stats button[aria-pressed=true] { background:var(--forest); color:white; border-color:var(--forest); }
.al-guide { margin-bottom:2rem; font-size:.9375rem; }
.al-guide summary { cursor:pointer; padding:.8rem 0; }
.al-guide>div { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; background:var(--wash); padding:1.3rem; border-radius:5px; }
.al-guide strong { display:block; margin-bottom:.5rem; }
.al-guide p { color:var(--muted); }
.al-controls { display:grid; grid-template-columns:1.7fr 1.1fr .8fr 1.1fr; gap:1rem; }
.al-controls label { font-size:.875rem; color:var(--muted); display:flex; flex-direction:column; gap:.45rem; min-width:0; }
.al-controls input,.al-controls select { border:1px solid #b7c6b5; background:white; color:var(--forest); width:100%; min-width:0; border-radius:4px; min-height:48px; padding:.65rem .8rem; font-size:1rem; }
.al-results-heading { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; margin:1.5rem 0 .6rem; font-size:.9375rem; }
.al-results-heading .text-link { font-size:.875rem; }
.al-category-note { font-size:.9375rem; color:var(--muted); margin-bottom:1.5rem; max-width:90ch; }
.al-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; }
.al-card { min-width:0; }
.al-card-open { display:block; width:100%; padding:0; text-align:left; border:1px solid #e2e7df; border-radius:6px; overflow:hidden; height:100%; }
.al-card-open:hover { border-color:var(--green); box-shadow:0 5px 20px #073c2b0a; }
.al-card-image { height:220px; position:relative; display:flex; align-items:center; justify-content:center; padding:1.2rem; background:#fff; }
.al-card-image img { width:100%; height:100%; object-fit:contain; }
.al-card-info { padding:1.1rem; background:#f6f8f3; }
.al-card-type { font-size:.8125rem; color:var(--muted); display:block; margin-bottom:.45rem; }
.al-card h2 { font-family:Jost,sans-serif; font-size:1.1rem; font-weight:500; line-height:1.35; letter-spacing:0; overflow-wrap:anywhere; }
.al-card-state { font-size:.8125rem; color:var(--green); display:block; margin-top:.75rem; }
.al-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; width:100%; height:100%; min-height:160px; padding:1rem; border:1px dashed #b5c5aa; background:#f7f9f4; gap:.65rem; border-radius:4px; }
.al-placeholder-label { font-size:.8125rem; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.al-placeholder strong { font-family:Outfit,sans-serif; font-size:1.6rem; font-weight:500; line-height:1.2; }
.al-placeholder>span:last-child { font-size:.875rem; color:var(--muted); }
.al-type-sample { font-family:Outfit,sans-serif; font-size:5rem; }
.al-file-preview { font-size:.875rem; margin-left:1rem; }
.al-document-sample { font-size:2.5rem; letter-spacing:.1em; color:var(--green); }
.al-empty { padding:3rem 0; }
.al-empty h2 { font-size:2rem; margin-bottom:1rem; }
.al-more { display:flex; margin:2rem auto 0; }
.al-dialog { width:min(1100px,calc(100% - 2rem)); max-height:90svh; padding:1.5rem; border:0; border-radius:8px; color:var(--forest); overflow:auto; }
.al-dialog::backdrop { background:#031e15aa; }
.al-dialog-top { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.25rem; }
.al-dialog-top p { font-size:.9375rem; color:var(--muted); }
.al-dialog-top button { min-height:44px; padding:.5rem; font-size:1rem; }
.al-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.al-preview-stage { height:min(55vh,530px); min-height:250px; padding:1rem; display:flex; align-items:center; justify-content:center; background:white; border-radius:5px; }
.al-preview-stage img { max-height:100%; width:100%; height:100%; object-fit:contain; }
.al-dark,.al-preview-stage[data-bg=green] { background:#073c2b; }
.al-preview-stage[data-bg=grid] { background-color:#fff; background-image:linear-gradient(45deg,#e7e9e5 25%,transparent 25%),linear-gradient(-45deg,#e7e9e5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e7e9e5 75%),linear-gradient(-45deg,transparent 75%,#e7e9e5 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0; }
.al-backdrops { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:1rem; }
.al-backdrops button { border:1px solid var(--line); border-radius:4px; padding:.55rem .8rem; min-height:44px; font-size:.875rem; }
.al-backdrops button[aria-pressed=true] { background:var(--forest); color:white; }
.al-detail-copy { min-width:0; }
.al-badge { font-size:.8125rem; display:inline-block; background:var(--wash); padding:.35rem .6rem; margin-bottom:.8rem; }
.al-detail-copy h2 { font-size:clamp(1.8rem,2.8vw,2.8rem); line-height:1.15; overflow-wrap:anywhere; }
#al-detail-meta { font-size:.875rem; color:var(--muted); margin-top:.8rem; }
.al-asset-id { font-size:.875rem; color:var(--muted); overflow-wrap:anywhere; margin-top:.5rem; user-select:all; }
.al-detail-part { margin-top:1.3rem; }
.al-detail-part h3 { font-size:1rem; line-height:1.4; font-weight:500; letter-spacing:0; margin-bottom:.3rem; }
.al-detail-part p { font-size:.9375rem; color:var(--muted); overflow-wrap:anywhere; }
.al-used { margin-top:1.4rem; }
.al-used summary { cursor:pointer; font-size:.9375rem; padding:.5rem 0; }
.al-used a { display:flex; width:fit-content; font-size:.875rem; }
.al-downloads { display:flex; flex-wrap:wrap; gap:.6rem 1.2rem; margin-top:1.5rem; }
.al-downloads a { font-size:.875rem; overflow-wrap:anywhere; }
.al-detail-actions { margin-top:1rem; }
.al-detail-actions button { font-size:.875rem; }
#al-copy-status { margin-top:.5rem; font-size:.875rem; color:var(--green); }
.al-fallback { color:var(--muted); font-size:.9375rem; }
@media(max-width:1100px) { .al-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.al-controls { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .al-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.al-intro { align-items:flex-start; flex-direction:column; gap:1rem; }.al-guide>div { grid-template-columns:1fr; gap:1rem; }.al-detail-grid { grid-template-columns:1fr; }.al-preview-stage { height:280px; }.al-card-image { height:190px; } }
@media(max-width:450px) { .al-controls { grid-template-columns:1fr; }.al-grid { grid-template-columns:1fr; }.al-card-image { height:240px; }.al-stats { gap:.5rem; }.al-stats button { flex:1; align-items:flex-start; flex-direction:column; gap:0; padding:.6rem; font-size:.8125rem; }.al-dialog { padding:1rem; } }
