:root{--bg:#fafafa;--panel:#efefef;--text:#222;--muted:#666;--accent:#0d69ab;--accent-text:#fff;--control:#9a9a9a;--control-active:#555;--border:#d4d4d4;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:Open Sans,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);margin:0}a{color:var(--accent)}[hidden]{display:none!important}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{text-align:center;padding:56px 16px 32px}.logo{margin:0 0 8px;font-family:Pacifico,cursive;font-size:clamp(2.5rem,8vw,4.5rem);font-weight:400}.logo span{font-family:Sigmar One,sans-serif}.logo .red{color:#c4281b}.logo .blue{color:#0d69ab}.logo .yellow{color:#f5cd2f}.logo .black{color:#1b2a34}.logo .green{color:#287f46}.tagline{color:var(--muted);margin:0;font-size:1.2rem}.site-footer{text-align:center;color:var(--muted);padding:48px 16px 64px}.section-heading,.panel-title{color:#777;text-transform:uppercase;letter-spacing:.02em;font-weight:700}.section-heading{text-align:center;margin:48px 0 24px;font-size:1.5rem}.hint{color:var(--muted);margin:8px 0 0;font-size:.875rem}.workspace{grid-template-columns:minmax(0,1fr);gap:24px;max-width:1600px;margin:0 auto;padding:0 16px;display:grid}@media (width>=1000px){.workspace{grid-template-columns:360px minmax(0,1fr);align-items:start}}.toolbar{flex-direction:column;gap:12px;display:flex}@media (width<=999px){.toolbar{order:2}}.panel{background:var(--panel);border-radius:var(--radius);overflow:hidden}.panel-title{margin:0;padding:12px 16px 4px;font-size:1.1rem}.panel-body{padding:8px 16px 12px}.panel-footer{color:#333;padding:0 16px 12px}.panel-actions{justify-content:space-between;align-items:center;display:flex}.button{background:var(--control);color:#fff;min-height:40px;font:inherit;cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0 14px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.button:hover{background:var(--control-active)}.button:disabled,.button[aria-disabled=true]{opacity:.5;pointer-events:none}.button-primary{background:var(--accent);color:var(--accent-text)}.button-primary:hover{background:#0a5387}.button-row{flex-wrap:wrap;gap:8px;display:flex}.link-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.field{grid-template-columns:140px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:10px;display:grid}.field>label,.field .field-label{color:#777;text-transform:uppercase;font-size:.8rem;font-weight:700}.field select{font:inherit;border:1px solid var(--border);background:#fff;border-radius:6px;padding:6px}.row-input{align-items:center;gap:8px;display:flex}.row-input input[type=range]{min-width:0;accent-color:var(--accent);flex:1}.row-input input[type=number]{width:64px;font:inherit;text-align:center;border:1px solid var(--border);border-radius:6px;padding:6px 4px;font-weight:700}.segmented{border-radius:6px;justify-self:start;display:inline-flex;overflow:hidden}.segmented button{font:inherit;color:var(--text);cursor:pointer;background:#fff;border:0;padding:6px 14px}.segmented button[aria-checked=true]{background:var(--control-active);color:#fff}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{min-width:64px;font:inherit;color:var(--muted);cursor:pointer;background:#fff;border:0;border-radius:6px;padding:6px 10px;font-weight:600}.chip[aria-pressed=true]{background:var(--control-active);color:#fff}.chip:disabled{cursor:default;opacity:.8}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{cursor:pointer;opacity:.35;border:1px solid #444;border-radius:7px;width:30px;height:30px;padding:0;transition:opacity .2s,transform .2s}.swatch:hover{opacity:.8}.swatch[aria-pressed=true]{opacity:1;box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--control-active)}.swatch:disabled{cursor:not-allowed}.swatch-small{opacity:1;cursor:default;vertical-align:middle;width:20px;height:20px;display:inline-block}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.thumbnails{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;display:grid}.thumbnail{aspect-ratio:1;cursor:pointer;background:#ddd 50%/cover no-repeat;border:2px solid #0000;border-radius:10px;padding:0;transition:filter .2s,border-color .2s}.thumbnail:hover{filter:brightness(.85)}.thumbnail[aria-pressed=true]{border-color:var(--control-active)}.thumbnail-upload{background:var(--control);color:#fff;justify-content:center;align-items:center;font-weight:700;display:flex;position:relative;overflow:hidden}.thumbnail-upload:hover{background:var(--control-active)}.thumbnail-upload:focus-within{outline:3px solid var(--accent)}.thumbnail-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.preview{border-radius:var(--radius);outline:3px dashed #0000;transition:outline-color .15s}.preview[data-dragging]{outline-color:var(--accent)}.preview-frame{-webkit-user-select:none;user-select:none;touch-action:pan-y;cursor:pointer;position:relative}.preview-frame[data-busy] .preview-canvas{opacity:.6;transition:opacity .3s .15s}.preview-canvas,.preview-original{object-fit:contain;border-radius:4px;width:100%;height:auto;max-height:85vh;display:block}.preview-original{object-fit:fill;height:100%;position:absolute;inset:0}.preview-placeholder{text-transform:uppercase;color:#999;place-items:center;min-height:300px;font-weight:700;display:grid}.preview-error{color:#c4281b;font-weight:600}.instructions{max-width:1600px;margin:0 auto;padding:0 16px}.instructions-controls{justify-content:center;gap:8px;margin:24px 0 8px;display:flex}.instructions-controls+.hint{text-align:center;margin-bottom:16px}.table-scroll{justify-content:safe center;display:flex;overflow-x:auto}.parts-table{border-collapse:collapse;white-space:nowrap;background:#fff}.parts-table th,.parts-table td{border:1px solid var(--border);text-align:center;font-variant-numeric:tabular-nums;padding:6px 10px}.parts-table tbody th,.parts-table tfoot th{text-align:left}.parts-table tfoot{font-weight:700}.build-rows{padding-bottom:8px;overflow-x:auto}.build-row{width:max-content;height:var(--row-height);content-visibility:auto;contain-intrinsic-size:auto var(--row-height);display:flex}.build-row-number{background:#ddd;border:1px solid #fff;flex:none;place-items:center;width:48px;font:700 12px/1 ui-monospace,monospace;display:grid}.build-brick{cursor:default;border:1px solid #fff;border-radius:2px;flex:none;place-items:center;font:700 11px/1 ui-monospace,monospace;display:grid}.build-rows:not([data-labels]) .build-brick{color:#0000!important}
