.lmm{box-sizing:border-box;max-width:1200px;margin:20px auto;font:inherit;color:inherit}.lmm *{box-sizing:border-box}.lmm-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:16px;border:1px solid #ccd1d6;border-radius:12px}.lmm-field{flex:1 1 145px;min-width:126px}.lmm-field label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600}.lmm-field input,.lmm-field select,.lmm-replace select,.lmm-mode select{min-height:36px;max-width:100%;padding:5px;border:1px solid #aab0b7;border-radius:5px;background:#fff;color:#222}.lmm-field input[type=range]{padding:0}.lmm-upload,.lmm button{background:#1f344d;color:#fff;padding:10px 14px;border-radius:6px;cursor:pointer;border:0;font:inherit;font-size:14px;font-weight:600}.lmm-upload input{display:block;max-width:185px;padding-top:4px;font-size:12px}.lmm-actions{width:100%;display:flex;flex-wrap:wrap;gap:8px}.lmm button:disabled{opacity:.4;cursor:not-allowed}.lmm-status{margin:12px 0;padding:8px 12px;background:#ecf2f8;color:#21374b;border-radius:6px}.lmm-colors{flex:1 1 100%;border:1px solid #d1d5dc;border-radius:8px;padding:12px}.lmm-colors legend,.lmm-mode legend{font-weight:700}.lmm-colors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px}.lmm-colors-grid label{display:flex;align-items:center;gap:8px;font-size:13px}.lmm-swatch{width:20px;height:20px;border:1px solid #999;border-radius:4px;flex-shrink:0;display:inline-block}.lmm-mode{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:14px;border:1px solid #d1d5dc;border-radius:8px;padding:12px}.lmm-mode label{display:flex;align-items:center;gap:7px}.lmm-mode small{flex:1 1 100%;color:#606e7a}.lmm [hidden]{display:none!important}.lmm-workspace{display:grid;grid-template-columns:minmax(180px,1fr) minmax(250px,1.8fr);gap:18px;margin-top:18px}.lmm-panel{min-width:0}.lmm-panel h3,.lmm-legend h3,.lmm-replace h3{margin:0 0 10px;font-size:18px}.lmm-panel small,.lmm-legend small{font-weight:400;color:#70777e}.lmm canvas{display:block;max-width:100%;height:auto}.lmm [data-source]{width:100%;border:1px solid #d7d7d7}.lmm-canvas-wrap{background:#f4f4f4;overflow:auto;border:1px solid #d7d7d7;max-height:75vh;min-height:200px}.lmm [data-pattern]{width:auto;max-width:none;cursor:crosshair}.lmm-preview-tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:10px;font-size:14px}.lmm-preview-tools label{display:flex;align-items:center;gap:6px}.lmm-preview-tools button{padding:5px 12px}.lmm-replace{margin:20px 0;padding:14px;border:1px solid #d1d5dc;border-radius:10px;display:flex;align-items:end;gap:12px;flex-wrap:wrap}.lmm-replace h3{flex:1 1 100%}.lmm-replace label{display:flex;flex-direction:column;gap:5px}.lmm-legend{border-top:1px solid #d8d8d8;margin-top:20px;padding-top:16px}.lmm [data-legend]{display:flex;flex-wrap:wrap;gap:10px}.lmm .lmm-color{display:flex;align-items:center;gap:8px;padding:8px 12px;border:2px solid #ddd;background:transparent;color:inherit;border-radius:8px;cursor:pointer}.lmm-color[aria-pressed=true]{border-color:#267bc0;box-shadow:0 0 0 1px #267bc0}.lmm-hint{font-size:13px;color:#69717a}@media(max-width:700px){.lmm-workspace{grid-template-columns:1fr}.lmm-controls{padding:10px}.lmm-actions button{flex:1 1 120px}}

.lmm .lmm-view{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0;padding:6px 10px;border:1px solid #cbd2db;border-radius:7px}.lmm .lmm-view legend{font-weight:700;padding:0 4px}.lmm .lmm-view label{white-space:nowrap}.lmm .lmm-view input{margin:0 3px 0 0}

/* Independent color picker for manual stud painting */
.lmm-paint-tools{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0 18px}.lmm-paint-tools label{display:flex;flex-direction:column;gap:6px;font-weight:600}.lmm-paint-tools select{min-width:210px;max-width:100%;padding:8px}.lmm-paint-tools .lmm-swatch{width:28px;height:28px;display:inline-block;flex:none;border:1px solid #777;border-radius:4px;margin-bottom:5px}.lmm-legend .lmm-color:disabled{opacity:1;cursor:default}
/* v3.0 compact palette and unified editor actions */
.lmm-colors-grid{display:flex;flex-wrap:wrap;gap:3px;align-items:center}
.lmm-colors-grid label{position:relative;width:26px;height:26px;display:inline-flex;padding:0;cursor:pointer;border-radius:3px;gap:0}
.lmm-colors-grid .lmm-swatch{width:26px;height:26px;margin:0;border-radius:3px}
.lmm-colors-grid input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:1;margin:0;width:100%;height:100%}
.lmm-colors-grid label:has(input:checked){outline:2px solid #1268bd;outline-offset:1px}
.lmm-colors-grid label:not(:has(input:checked)){opacity:.45}
.lmm-colors-grid label:has(input:focus-visible){outline:3px solid #111}
.lmm-colors legend button{padding:4px 10px;margin-left:12px}
.lmm-actions label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}
.lmm-actions select{height:41px;min-width:180px;border:1px solid #aab0b7;border-radius:6px;background:#fff;color:#222;padding:6px}
.lmm-cost{flex:1 1 100%;padding:12px;background:#eef2f6;border-radius:7px;display:flex;flex-direction:column;gap:3px}
.lmm-cost small{font-size:12px;color:#4e5968}

/* v3.1 palette quick presets */
.lmm-colors legend button[data-grayscale]{margin-left:5px}

/* v3.4.2 missing pricing detail */
.lmm-unpriced{margin-top:10px;padding-top:10px;border-top:1px solid #cdd5dd;font-size:13px;color:#314050}.lmm-unpriced ul{margin:6px 0 0 20px;padding:0}.lmm-unpriced li{margin:3px 0}.lmm-unpriced[hidden]{display:none}

/* v3.6: consistent controls alignment, including select fields and range outputs. */
.lmm-controls{align-items:stretch;}
.lmm-field{align-self:stretch;}
.lmm-field>label{display:grid;grid-template-rows:24px 44px 23px;align-content:end;height:100%;gap:2px;}
.lmm-field input:not([type=range]),.lmm-field select{width:100%;height:44px;min-height:44px;}
.lmm-field input[type=range]{width:100%;height:44px;margin:0;min-height:44px;}
.lmm-field output{display:block;font-size:14px;font-weight:400;line-height:22px;}

/* Seven preferred LEGO colors come first; visual break before remaining swatches. */
.lmm-colors-grid .lmm-preferred-end{margin-right:15px;}
