/* Particle Lab — three canvas experiments; all canvas drawing is isolated and DPR capped. */
.particle-lab-card{position:relative;overflow:hidden;background:#0b1821;isolation:isolate}
.particle-lab-card[data-particle-kind="gravity"]{background:radial-gradient(circle at 50% 50%,#243b44,#0b1920 80%)}
.particle-lab-card[data-particle-kind="voronoi"]{background:radial-gradient(circle,#34434a,#141d28 80%)}
.particle-lab-card canvas,.particle-lab-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.particle-lab-card .particle-lab-caption{position:absolute;top:20px;left:22px;color:#bad2d4;font:10px/1.5 monospace;letter-spacing:.1em;pointer-events:none}
.particle-lab-card .card-coordinates{color:#a1b7be}
.particle-lab-card button.particle-lab-action{position:absolute;bottom:18px;right:17px;min-height:38px;padding:9px 12px;z-index:2;font:700 10px Arial,sans-serif;letter-spacing:.1em;color:#e5fff0;border:1px solid #b5dcc6;background:#0d2326c7}
.particle-lab-card button.particle-lab-action:hover{background:#28464c}
.particle-lab-card button.particle-lab-action:focus-visible{outline:2px solid #caffdb;outline-offset:4px}
.particle-lab-card .particle-lab-hint{position:absolute;top:20px;right:20px;max-width:45%;text-align:right;color:#9cbbc7;font:9px/1.5 monospace;pointer-events:none}
.particle-lab-stage[hidden]{display:none!important}
.particle-lab-stage{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 50% 45%,#203541,#0c1b25 80%);overflow:hidden}
.particle-lab-stage .particle-lab-label{position:absolute;left:20px;top:18px;color:#b2d5d8;font:10px monospace;letter-spacing:.11em;pointer-events:none}
.particle-lab-stage .particle-lab-instruction{position:absolute;left:20px;bottom:18px;right:20px;color:#9bbbc0;font:10px monospace;letter-spacing:.08em;pointer-events:none}
.particle-lab-controls[hidden]{display:none!important}
.particle-lab-controls{border-top:1px solid #3b4547;padding-top:18px;display:grid;gap:17px}
.particle-lab-controls .range-control{display:block}
.particle-lab-controls .range-control span{display:flex}
.particle-lab-controls button{background:transparent;color:#d1ead8;border:1px solid #647e75;padding:13px;font:700 10px Arial,sans-serif;letter-spacing:.1em}
@media(prefers-reduced-motion:reduce){.particle-lab-card canvas,.particle-lab-stage canvas{opacity:1}}

#mesh-controls[hidden]{display:none!important}
#mesh-controls{display:grid;gap:17px}
.particle-lab-card[data-particle-kind="mesh"]{background:radial-gradient(circle at 50% 40%,#243f44,#101f27 80%)}

.particle-lab-card[data-particle-kind="mesh"] canvas{touch-action:none}
