:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1f2430;--muted:#6b7280;--border:#d9dce1;--accent:#2f6feb;--accent-ink:#fff;--bg:#f6f7f9;--card:#fff;--error:#c0392b;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}.app{max-width:960px;margin:0 auto;padding:1.5rem 1rem 4rem}.app-header h1{margin-bottom:1rem;font-size:1.4rem}.steps{flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.steps li{background:var(--card);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.3rem .75rem;font-size:.85rem}.steps li.active{border-color:var(--accent);color:var(--accent);font-weight:600}.steps li.done{color:var(--ink)}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.card h2{margin-top:0}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--error)}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;border-radius:8px;padding:.55rem 1rem}button:disabled{opacity:.5;cursor:not-allowed}button.back{color:var(--muted);border-color:var(--border);background:0 0;margin-top:1.5rem}input[type=text],input[type=number],input[type=search]{font:inherit;border:1px solid var(--border);border-radius:8px;padding:.5rem}.toolbar{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.toolbar input{flex:1;min-width:200px}.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin:1rem 0;display:grid}.blueprint-card{background:var(--card);color:var(--ink);border:1px solid var(--border);text-align:center;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem;display:flex}.blueprint-card:hover{border-color:var(--accent)}.blueprint-card img{object-fit:contain;width:100%;max-height:120px}.design-preview img{border:1px solid var(--border);border-radius:8px;max-width:260px;max-height:260px;margin:1rem 0;display:block}.variant-list{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.4rem;max-height:260px;margin-bottom:1rem;padding:.5rem;display:grid;overflow-y:auto}.variant-row{align-items:center;gap:.4rem;font-size:.9rem;display:flex}.form-row{flex-wrap:wrap;gap:1.5rem;margin-bottom:1.25rem;display:flex}.form-row label{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}
