/* ===== EMB 2D Configurator CSS ===== */
.emb2d{ 
  --emb-bg:#ffffff;
  --emb-fg:#1f2937;
  --emb-muted:#6b7280;
  --emb-line:#e5e7eb;
  --emb-primary:#111827;
  --emb-card:#f9fafb;
  display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap:20px;
  align-items:start;
  color:var(--emb-fg);
}
@media (max-width: 1024px){ .emb2d{ grid-template-columns: 1fr; } }
.emb2d * { box-sizing:border-box; }
.emb2d, .emb2d p, .emb2d label, .emb2d select, .emb2d button, .emb2d small, .emb2d h2 { color:var(--emb-fg) !important; }
/* Preview / Stage */
.emb2d__preview{ width:100%; }
.emb2d__stage{
  position:relative; width:100%;
  aspect-ratio: 16 / 9;
  background:#f6f7f9; border:1px solid var(--emb-line); border-radius:16px; overflow:hidden;
}
.emb2d__stage svg{ position:absolute; inset:0; width:100% !important; height:100% !important; display:block; }
.emb2d__empty{ display:flex; align-items:center; justify-content:center; color:var(--emb-muted); height:240px; background:var(--emb-card); border:1px dashed var(--emb-line); border-radius:12px; }
/* Panel */
.emb2d__panel{ background:var(--emb-bg); border:1px solid var(--emb-line); border-radius:16px; padding:16px; }
.emb2d__panel-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.emb2d__panel h2{ font-size:20px; margin:0; }
.emb2d__divider{ margin:14px 0 6px; padding-top:12px; border-top:1px solid var(--emb-line); color:var(--emb-muted); font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.emb2d__group{ margin-top:12px; }
.emb2d__label{ display:block; margin-bottom:6px; font-weight:600; }
.emb2d__row{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.emb2d__select{ padding:8px 10px; border:1px solid var(--emb-line); border-radius:8px; background:#fff; color:var(--emb-fg); }
.emb2d__hint{ color:var(--emb-muted); }
.emb2d__actions{ display:flex; gap:10px; margin-top:16px; }
.emb2d__btn{ appearance:none; border:1px solid var(--emb-primary); background:var(--emb-primary); color:#fff; padding:10px 14px; border-radius:10px; cursor:pointer; font-weight:600; }
.emb2d__btn--ghost{ background:#fff; color:var(--emb-primary); }
.emb2d__debug{ font-size:12px; color:#111; }
.hidden{ display:none !important; }
.emb2d__diag{ margin-top:10px; }
