.lab-image { display: block; width: 120px; height: 120px; margin-bottom: 16px; border-radius: 16px; object-fit: cover; border: 1px solid var(--border); }
/* Server-rendered /lab/<type>/<code> pages. Builds on model-page.css and community.css. */
.lab-byline { margin-top: 6px; color: var(--muted); }
.lab-byline a { color: var(--accent); text-decoration: none; }
.lab-byline a:hover { text-decoration: underline; }
.lab-changelog, .lab-fork { margin-bottom: 12px; color: var(--muted); font-size: 14px; }
.lab-fork a { color: var(--accent); }
.lab-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.lab-code code { padding: 4px 8px; border-radius: 6px; background: var(--bg); }
.lab-status { min-height: 1.4em; margin-top: 12px; color: var(--muted); font-size: 13px; }
.lab-status.error { color: var(--danger-ink); }
.lab-stats .metric { overflow-wrap: anywhere; }
.lab-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin-bottom: 8px; }
.lab-chips li { padding: 4px 12px; border: 1px solid var(--border); border-radius: 999px; font-size: 13px; }
.lab-history ol { display: grid; gap: 12px; padding-left: 18px; }
.lab-history .muted { color: var(--muted); font-size: 12px; }
.lab-history p { color: var(--muted); font-size: 14px; }
.lab-comments, .lab-vote, .model-spec-wrap { margin-top: 12px; }
.lab-report { margin-top: 16px; }

.lab-keys { display: grid; gap: 8px; margin-top: 12px; }
.lab-key-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg); }
.lab-key-row strong { overflow-wrap: anywhere; }
.lab-key-row span { display: block; color: var(--muted); font-size: 12px; }
.lab-panel { margin-top: 14px; padding: 16px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.lab-panel h2 { margin-bottom: 4px; font-size: 14px; }
