.photo-lab{max-width:64rem;margin-inline:auto;display:grid;gap:1rem}.photo-lab [hidden]{display:none!important}.photo-lab .pl-panel{padding:1.25rem;display:grid;gap:1rem;min-width:0}.photo-lab form{display:grid;gap:1rem;min-width:0}.photo-lab fieldset{min-width:0}.photo-lab .pl-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1.2rem}.photo-lab label,.photo-lab figcaption{display:block;font-size:.875rem;font-weight:600;color:#334155;margin-bottom:.5rem}.photo-lab output{font-variant-numeric:tabular-nums;color:#4338ca;margin-inline-start:.5rem}.photo-lab select,.photo-lab input[type=text]{width:100%;min-width:0;min-height:48px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;padding:.5rem .75rem}.photo-lab input[type=range]{width:100%;min-height:44px;accent-color:#4f46e5}.photo-lab .pl-color{display:flex;gap:.5rem}.photo-lab input[type=color]{height:48px;width:48px;flex:none;border:1px solid #cbd5e1;border-radius:10px;padding:4px;background:#fff}.photo-lab .pl-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;align-items:start}.photo-lab figure{min-width:0;margin:0}.photo-lab .pl-canvas{position:relative;line-height:0;background:repeating-conic-gradient(#e2e8f0,#e2e8f0 25%,#fff 0%,#fff 50%) 50%/20px 20px;border:1px solid #cbd5e1;border-radius:12px;overflow:hidden}.photo-lab canvas{width:100%;height:auto;display:block}.photo-lab [data-corners]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.photo-lab [data-comparison].with-grid .pl-canvas:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(#4f46e580 1px,transparent 1px),linear-gradient(90deg,#4f46e580 1px,transparent 1px);background-size:10% 10%}.photo-lab .pl-muted{font-size:.8125rem;line-height:1.6;color:#64748b}.photo-lab [data-error]{color:#b91c1c}.photo-lab .pl-check{display:flex;align-items:center;gap:.75rem;min-height:48px}.photo-lab input[type=checkbox]{width:24px;height:24px;accent-color:#4f46e5}.photo-lab .pl-curve{width:220px;max-width:100%;height:auto;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px}.photo-lab :focus-visible{outline:3px solid #818cf8;outline-offset:3px}.photo-lab .app-action-row{display:flex;flex-wrap:wrap;gap:.75rem}.photo-lab button:disabled{opacity:.55;cursor:wait}@media(max-width:600px){.photo-lab .pl-panel{padding:1rem}.photo-lab .app-action-row>button{width:100%}}
