.controls-module__Ff0QhG__fieldset{border:0;min-width:0;margin:0;padding:0}.controls-module__Ff0QhG__legend{margin-bottom:var(--cui-space-8);font-size:var(--cui-type-compact);line-height:var(--cui-type-compact-leading);font-weight:var(--cui-font-medium);color:var(--cui-text-primary);padding:0}.controls-module__Ff0QhG__swatches{gap:var(--cui-space-8);flex-wrap:wrap;display:flex}.controls-module__Ff0QhG__swatch{display:inline-flex;position:relative}.controls-module__Ff0QhG__swatch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.controls-module__Ff0QhG__chip{width:var(--cui-size-control);height:var(--cui-size-control);border-radius:var(--cui-radius-round);border:var(--cui-border-width) solid var(--cui-border-control);box-shadow:inset 0 0 0 2px var(--cui-surface-card);justify-content:center;align-items:center;display:inline-flex}.controls-module__Ff0QhG__none{background:repeating-conic-gradient(var(--cui-colour-line) 0% 25%, var(--cui-surface-card) 0% 50%) 50% / 12px 12px}.controls-module__Ff0QhG__swatch input:checked+.controls-module__Ff0QhG__chip{border-color:var(--cui-text-primary);box-shadow:inset 0 0 0 2px var(--cui-surface-card), 0 0 0 2px var(--cui-text-primary)}.controls-module__Ff0QhG__swatch input:focus-visible+.controls-module__Ff0QhG__chip{outline:2px solid var(--cui-focus-colour);outline-offset:4px}.controls-module__Ff0QhG__swatch input:disabled+.controls-module__Ff0QhG__chip{opacity:.35;cursor:not-allowed}.controls-module__Ff0QhG__range{gap:var(--cui-space-12);grid-template-columns:1fr 5.5rem;align-items:center;display:grid}.controls-module__Ff0QhG__range input[type=range]{width:100%;accent-color:var(--cui-accent-primary)}.controls-module__Ff0QhG__number{width:100%;height:var(--cui-size-control);padding:0 var(--cui-space-8);border:var(--cui-border-width) solid var(--cui-border-control);border-radius:var(--cui-radius-control);font:inherit;font-size:var(--cui-type-compact);background:var(--cui-surface-card);color:var(--cui-text-primary);font-variant-numeric:tabular-nums}.controls-module__Ff0QhG__hint{margin:var(--cui-space-4) 0 0;font-size:var(--cui-type-caption);line-height:var(--cui-type-caption-leading);color:var(--cui-text-secondary)}.controls-module__Ff0QhG__visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
.tool-layout-module__Pnq1yW__layout{gap:var(--cui-space-24);grid-template-columns:minmax(0,1fr) 22rem;align-items:start;display:grid}.tool-layout-module__Pnq1yW__toolPage .cui-page-body{overflow-x:clip}.tool-layout-module__Pnq1yW__stage{top:var(--cui-space-24);gap:var(--cui-space-12);display:grid;position:sticky}.tool-layout-module__Pnq1yW__canvasArea{padding:var(--cui-space-24);background:var(--cui-surface-band);border-radius:var(--cui-radius-card);justify-content:center;align-items:center;min-height:20rem;max-height:70vh;display:flex}.tool-layout-module__Pnq1yW__frame{max-width:100%;max-height:calc(70vh - 2 * var(--cui-space-24));box-shadow:var(--cui-shadow-card);touch-action:none;position:relative;overflow:hidden}.tool-layout-module__Pnq1yW__frame canvas,.tool-layout-module__Pnq1yW__frame svg{width:100%;height:100%;display:block}.tool-layout-module__Pnq1yW__layer{position:absolute;inset:0}.tool-layout-module__Pnq1yW__layer>svg{width:100%;height:100%;display:block}.tool-layout-module__Pnq1yW__transparent{background:repeating-conic-gradient(var(--cui-colour-line) 0% 25%, var(--cui-surface-card) 0% 50%) 50% / 20px 20px}.tool-layout-module__Pnq1yW__frame:focus-visible{outline:var(--cui-focus-width) solid var(--cui-focus-colour);outline-offset:var(--cui-focus-offset)}.tool-layout-module__Pnq1yW__draggable{cursor:grab}.tool-layout-module__Pnq1yW__draggable:active{cursor:grabbing}.tool-layout-module__Pnq1yW__caption{font-size:var(--cui-type-caption);line-height:var(--cui-type-caption-leading);color:var(--cui-text-secondary);margin:0}.tool-layout-module__Pnq1yW__panel{gap:var(--cui-space-24);min-width:0;padding:var(--cui-space-24);background:var(--cui-surface-card);border:var(--cui-border-width) solid var(--cui-border-subtle);border-radius:var(--cui-radius-card);display:grid}.tool-layout-module__Pnq1yW__section{gap:var(--cui-space-16);display:grid}.tool-layout-module__Pnq1yW__section+.tool-layout-module__Pnq1yW__section{padding-top:var(--cui-space-24);border-top:var(--cui-border-width) solid var(--cui-border-subtle)}.tool-layout-module__Pnq1yW__heading{font-size:var(--cui-type-compact);line-height:var(--cui-type-compact-leading);font-weight:var(--cui-font-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--cui-text-secondary);margin:0}.tool-layout-module__Pnq1yW__row{gap:var(--cui-space-8);flex-wrap:wrap;align-items:center;display:flex}.tool-layout-module__Pnq1yW__grid2{gap:var(--cui-space-12);grid-template-columns:1fr 1fr;display:grid}.tool-layout-module__Pnq1yW__orderList{gap:var(--cui-space-8);margin:0;padding:0;list-style:none;display:grid}.tool-layout-module__Pnq1yW__orderItem{gap:var(--cui-space-8);font-size:var(--cui-type-compact);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.tool-layout-module__Pnq1yW__dot{width:var(--cui-space-24);height:var(--cui-space-24);border-radius:var(--cui-radius-round);border:var(--cui-border-width) solid var(--cui-border-subtle)}.tool-layout-module__Pnq1yW__stackGrid{gap:var(--cui-space-4);max-height:14rem;padding:var(--cui-space-4);grid-template-columns:repeat(6,1fr);display:grid;overflow-y:auto}.tool-layout-module__Pnq1yW__stackOption{aspect-ratio:1;padding:var(--cui-space-4);border-radius:var(--cui-radius-control);background:var(--cui-colour-forest);justify-content:center;align-items:center;display:flex;position:relative}.tool-layout-module__Pnq1yW__stackOption input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.tool-layout-module__Pnq1yW__stackOption:has(input:checked){box-shadow:0 0 0 2px var(--cui-surface-card), 0 0 0 4px var(--cui-text-primary)}.tool-layout-module__Pnq1yW__stackOption:has(input:focus-visible){outline:2px solid var(--cui-focus-colour);outline-offset:5px}.tool-layout-module__Pnq1yW__stackOption svg{width:100%;height:100%}@container (max-width:680px){.tool-layout-module__Pnq1yW__layout{grid-template-columns:minmax(0,1fr)}.tool-layout-module__Pnq1yW__stage{position:static}}
