.fabric-swatches{--ref:120px;margin:1.25rem 0 2rem}.fabric-swatches .fs-controls{flex-wrap:wrap;gap:.75rem 1rem;margin-bottom:1rem;display:flex}.fabric-swatches .fs-controls label{color:var(--muted);gap:.25rem;font-size:.875rem;display:grid}.fabric-swatches .fs-controls input,.fabric-swatches .fs-controls select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:9rem;padding:.35rem .5rem}.fabric-swatches .fs-controls input[type=number]{width:6rem;min-width:0}.fabric-swatches .fs-swatch{background-color:var(--tint);background-image:var(--tile,none);background-size:calc(var(--ref) / var(--rx,1)) calc(var(--ref) / var(--ry,1));display:block}.fabric-swatches .fs-compare{--ref:240px;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.fabric-swatches .fs-dress{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius);gap:1rem;margin-bottom:1.25rem;padding:1rem;display:grid}@media (width>=720px){.fabric-swatches .fs-dress{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}.fabric-swatches .fs-dress-stage{border-radius:var(--radius);background:linear-gradient(#f6f1e7,#e9e1d2);height:clamp(340px,50vh,560px);position:relative;overflow:hidden}.fabric-swatches .fs-dress-stage canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.fabric-swatches .fs-dress-status,.fabric-swatches .fs-dress-tip{color:var(--muted);pointer-events:none;margin:0;font-size:.8rem;position:absolute;left:.6rem;right:.6rem}.fabric-swatches .fs-dress-status{top:.6rem}.fabric-swatches .fs-dress-tip{bottom:.6rem}.fabric-swatches .fs-dress-controls{align-content:start;gap:.6rem;display:grid}.fabric-swatches .fs-dress-parts{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.5rem .75rem;display:grid}.fabric-swatches .fs-dress label{color:var(--muted);gap:.25rem;font-size:.875rem;display:grid}.fabric-swatches .fs-dress label[hidden]{display:none}.fabric-swatches .fs-dress select,.fabric-swatches .fs-dress-sew button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:.35rem .5rem}.fabric-swatches .fs-dress-label{margin:.25rem 0 0;font-size:.875rem;font-weight:600}.fabric-swatches .fs-brushes{flex-wrap:wrap;gap:.4rem;display:flex}.fabric-swatches .fs-brushes:empty{display:none}.fabric-swatches .fs-brush{max-width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .5rem .25rem .25rem;font-size:.8rem;display:inline-flex}.fabric-swatches .fs-brush[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.fabric-swatches .fs-brush-swatch{border:1px solid var(--border);border-radius:50%;flex:none;width:1.25rem;height:1.25rem}.fabric-swatches .fs-dress-sew{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.fabric-swatches .fs-dress-sew label{flex:12rem}.fabric-swatches .fs-dress-sew button{cursor:pointer;background:var(--accent);border-color:var(--accent);color:#fff}.fabric-swatches .fs-hint{color:var(--muted);margin:0}.fabric-swatches .fs-tray{margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.fabric-swatches .fs-tray:empty{display:none}.fabric-swatches .fs-tray>li{text-align:center;flex:1 1 0;min-width:6.5rem;margin:0}.fabric-swatches .fs-tray .fs-swatch{height:clamp(160px,40vw,280px)}.fabric-swatches .fs-tray .fs-name{overflow-wrap:break-word;margin:.4rem .2rem .25rem;font-size:.8rem;line-height:1.25;display:block}.fabric-swatches .fs-tools{gap:.15rem;display:inline-flex}.fabric-swatches .fs-tools button{font:inherit;min-width:1.9rem;min-height:1.9rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:.2rem;line-height:1}.fabric-swatches .fs-tools button:disabled{opacity:.35;cursor:default}.fabric-swatches .fs-count{color:var(--muted);margin:0 0 .5rem;font-size:.875rem}.fabric-swatches .fs-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.fabric-swatches .fs-grid>li{margin:0}.fabric-swatches .fs-grid>li[hidden]{display:none}.fabric-swatches .fs-card{width:100%;height:100%;font:inherit;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;gap:.15rem;padding:0 0 .4rem;display:grid;overflow:hidden}.fabric-swatches .fs-card .fs-swatch{aspect-ratio:1;margin-bottom:.25rem}.fabric-swatches .fs-card>.fs-name,.fabric-swatches .fs-card>.fs-meta{padding:0 .45rem}.fabric-swatches .fs-card .fs-name{font-size:.85rem;font-weight:600;line-height:1.25}.fabric-swatches .fs-meta{color:var(--muted);font-size:.75rem;line-height:1.3}.fabric-swatches .fs-card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.fabric-swatches .fs-card:focus-visible,.fabric-swatches .fs-brush:focus-visible,.fabric-swatches .fs-dress :focus-visible,.fabric-swatches .fs-tools button:focus-visible,.fabric-swatches .fs-controls :focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}
