.entity-main{padding-bottom:var(--space-12)}.entity-wrap{max-width:1100px;padding:var(--space-6) var(--space-8) 0;margin:0 auto}@media (width<=768px){.entity-wrap{padding:var(--space-4) var(--space-5) 0}}.entity-hero{gap:var(--space-6);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border);align-items:flex-start;display:flex}@media (width<=620px){.entity-hero{gap:var(--space-4);flex-direction:column}}.entity-avatar,.entity-glyph{border-radius:var(--radius-lg);object-fit:cover;width:92px;height:92px;box-shadow:var(--elev-1);background:var(--surface-raised);flex-shrink:0}.entity-glyph{font-family:var(--font-display);color:#fff;background:var(--accent);place-items:center;font-size:2.4rem;font-weight:600;display:grid}.entity-glyph.is-tint{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface-raised))}.entity-head{flex:1;min-width:0}.entity-kind{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.72rem;font-weight:600}.entity-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text);margin:var(--space-1) 0 var(--space-2);word-break:break-word;font-size:clamp(1.9rem,4vw,2.6rem);font-weight:600;line-height:1.1}.entity-owner{font-family:var(--font-sans);color:var(--color-text-muted);font-size:.95rem}.entity-owner a{color:var(--color-primary);font-weight:600}.entity-meta{font-family:var(--font-sans);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:.95rem;display:flex}.entity-meta .ent-org-name{color:var(--color-primary);font-weight:600;text-decoration:none}.entity-meta .ent-org-name:hover{text-decoration:underline}.ent-meta-sep{color:var(--color-text-muted)}.ent-license-link{color:inherit;border-bottom:1px solid #0000;text-decoration:none}.ent-license-link:hover{color:var(--color-primary);border-bottom-color:currentColor}.lic-card{padding:var(--space-5);background:var(--surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--elev-1)}.lic-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.lic-name{font-family:var(--font-display);color:var(--color-text);font-size:1.15rem;font-weight:600}.lic-cat{font-family:var(--font-sans);border-radius:var(--radius-pill);color:#475569;background:#64748b21;padding:.15rem .55rem;font-size:.72rem;font-weight:600}.lic-cat-permissive{color:#047857;background:#10b9811f}.lic-cat-copyleft{color:#b45309;background:#d9770621}.lic-cat-public-domain{color:#1a4480;background:#2c5aa01f}.lic-cat-data{color:#6d28d9;background:#7c3aed1f}.lic-cat-other{color:#475569;background:#64748b21}.lic-summary{font-family:var(--font-sans);color:var(--color-text-muted);margin:var(--space-3) 0 0;max-width:72ch;font-size:.95rem;line-height:1.6}.lic-text{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:var(--space-3) 0 0;padding:var(--space-4);background:var(--surface-recessed);border-radius:var(--radius-md);max-height:420px;color:var(--color-text);font-size:.8rem;line-height:1.5;overflow-y:auto}.lic-link{margin-top:var(--space-3);font-family:var(--font-sans);color:var(--color-primary);align-items:center;gap:.35rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.lic-link:hover{text-decoration:underline}.entity-lede{font-family:var(--font-sans);color:var(--color-text-muted);margin:var(--space-4) 0 0;max-width:70ch;font-size:1.05rem;line-height:1.55}.entity-stats{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.stat-chip{padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--grad-chip);box-shadow:var(--push-out);font-family:var(--font-sans);color:var(--color-text-muted);align-items:baseline;gap:.35rem;font-size:.8rem;display:inline-flex}.stat-chip b{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--color-text);font-size:.9rem}.entity-cta{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.entity-section{padding-top:var(--space-10)}.entity-section>h2{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text);margin-bottom:var(--space-4);font-size:1.45rem;font-weight:600}.entity-section>h2 .tnum{color:var(--color-text-muted);font-size:1rem}.sample-gallery{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.sample-gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--surface-recessed);width:100%;box-shadow:var(--elev-1)}.class-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.class-chip{padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--surface-raised);border:1px solid var(--color-border);font-family:var(--font-sans);color:var(--color-text);align-items:center;gap:.45rem;font-size:.82rem;display:inline-flex}.class-chip .swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px;box-shadow:inset 0 0 0 1px #0000001f}.class-chip .cnt{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-size:.78rem}.readme{font-family:var(--font-sans);color:var(--color-text);max-width:76ch;font-size:1rem;line-height:1.7}.readme h2,.readme h3,.readme h4{font-family:var(--font-display);letter-spacing:-.01em;margin:var(--space-6) 0 var(--space-2);font-weight:600;line-height:1.25}.readme h2{font-size:1.35rem}.readme h3{font-size:1.15rem}.readme h4{font-size:1rem}.readme p{margin:0 0 var(--space-4)}.readme ul,.readme ol{margin:0 0 var(--space-4) var(--space-5)}.readme li{margin-bottom:var(--space-1)}.readme a{color:var(--color-primary);text-decoration:underline}.readme code{font-family:var(--font-mono);background:var(--color-border);border-radius:var(--radius-xs);padding:.1rem .35rem;font-size:.85em}.readme pre{color:#d4d4d4;padding:var(--space-4);border-radius:var(--radius-md);margin:0 0 var(--space-4);background:#1e1e1e;overflow-x:auto}.readme pre code{background:0 0;padding:0}.readme blockquote{border-left:3px solid var(--accent);padding-left:var(--space-4);color:var(--color-text-muted);margin:0 0 var(--space-4)}.readme hr{border:0;border-top:1px solid var(--color-border);margin:var(--space-6) 0}.entity-empty{font-family:var(--font-sans);color:var(--color-text-muted);padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface-chrome);border:1px dashed #2c5aa04d;font-size:.95rem}.entity-appnote{margin-top:var(--space-6);font-family:var(--font-sans);color:var(--color-text-muted);font-size:.9rem}.entity-appnote a{color:var(--color-primary);font-weight:600}
