.lab-image-stage{border:1px solid var(--line);padding:10px;border-radius:12px;background:repeating-conic-gradient(#e5ece7 0% 25%,#fff 0% 50%) 0/20px 20px;line-height:0;text-align:center;overflow:hidden}
.lab-image-stage canvas{width:auto;max-width:100%;height:auto;max-height:520px;touch-action:none;cursor:crosshair;vertical-align:middle;object-fit:contain}
.lab-swatch{height:100px;border:1px solid #cddad2;border-radius:10px;overflow:hidden;background:repeating-conic-gradient(#e5ece7 0% 25%,#fff 0% 50%) 0/20px 20px;margin-bottom:18px}.lab-swatch>span{display:block;width:100%;height:100%}
.lab-export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lab-export-card{min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fbf9}.lab-export-card img{display:block;max-height:220px;object-fit:contain;margin:0 auto 10px}.lab-export-card a{display:block;color:var(--green);font-size:.8125rem;font-weight:600;overflow-wrap:anywhere;text-decoration:underline}
.lab-markdown{background:#fff;border:1px solid #d4e2d9;border-radius:12px;padding:22px;margin-bottom:20px;overflow:auto;max-height:650px;line-height:1.75}.lab-markdown h1{font-size:1.8rem}.lab-markdown h2{font-size:1.4rem}.lab-markdown h3{font-size:1.1rem}.lab-markdown pre{max-width:100%;overflow:auto;background:#f3f7f4;padding:15px;border-radius:8px;font-size:.875rem}.lab-markdown code{overflow-wrap:anywhere}.lab-markdown blockquote{border-left:3px solid var(--green);padding-left:18px;margin-left:0;color:var(--muted)}.lab-markdown table{border-collapse:collapse;margin:15px 0;font-size:.875rem}.lab-markdown td,.lab-markdown th{padding:9px 14px;border:1px solid #ceddd3;text-align:left}.lab-markdown a{color:var(--green);text-decoration:underline}.lab-image-caption{color:var(--muted);font-style:italic}
@media(max-width:460px){.lab-export-grid{grid-template-columns:1fr}.lab-markdown{padding:16px}.lab-image-stage{padding:5px}}
