.bc-overlay{
  position:fixed;
  inset:0;
  background:radial-gradient(circle at 30% 20%,rgba(59,130,246,.12),transparent 42%),rgba(15,23,42,.5);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}
.bc-overlay.show{display:flex;}
.bc-modal{
  width:420px;
  background:#fff;
  border:1px solid #d8e2ee;
  border-radius:14px;
  box-shadow:0 24px 56px rgba(15,23,42,.28);
  overflow:hidden;
  font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;
}
.bc-head{
  height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px;
  border-bottom:1px solid #e9eef5;
  background:linear-gradient(135deg,#fff3ea,#f2f6ff 55%,#eefaf2);
}
.bc-head strong{font-size:16px;color:#1f2937;}
.bc-close{
  border:none;background:none;font-size:22px;cursor:pointer;line-height:1;color:#6b7280;
}
.bc-body{padding:14px;}
.bc-title{
  font-size:14px;color:#334155;margin-bottom:10px;
  padding:8px 10px;
  border:1px solid #e4ebf5;
  border-radius:10px;
  background:linear-gradient(135deg,#fff6ef,#f3f8ff 55%,#eef9f2);
}
.bc-canvas-wrap{
  width:320px;height:180px;border:1px solid #d6e0ec;border-radius:12px;overflow:hidden;margin:0 auto;background:#fff;position:relative;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}
.bc-canvas-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg,rgba(255,255,255,0) 15%,rgba(255,255,255,.23) 42%,rgba(255,255,255,0) 68%);
}
.bc-canvas-wrap img{width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none;}
.bc-canvas-status{
  position:absolute;
  left:8px;
  right:8px;
  bottom:8px;
  min-height:28px;
  line-height:28px;
  text-align:center;
  font-size:13px;
  font-weight:600;
  border-radius:8px;
  color:#fff;
  z-index:3;
  pointer-events:none;
  box-shadow:0 4px 10px rgba(15,23,42,.18);
}
.bc-canvas-status-success{background:rgba(22,163,74,.92);}
.bc-canvas-status-error{background:rgba(220,38,38,.92);}
.bc-canvas-status-info{background:rgba(71,85,105,.88);}
.bc-slider-track{
  margin-top:12px;
  height:44px;
  border:1px solid #d3dce8;
  border-radius:12px;
  background:linear-gradient(135deg,#fff4ec,#f5f8ff 55%,#eef8f2);
  position:relative;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.05);
}
.bc-slider-btn{
  position:absolute;left:0;top:0;width:56px;height:42px;border-radius:11px;border:1px solid #e5a17a;background:linear-gradient(180deg,#ffe4d4,#ffd2ba);color:#9a4a27;
  cursor:grab;font-size:18px;
  box-shadow:0 4px 10px rgba(30,64,175,.16);
  transition:transform .15s ease,box-shadow .15s ease;
}
.bc-slider-btn:active{transform:scale(.98);box-shadow:0 2px 6px rgba(30,64,175,.2);}
.bc-tip{
  margin-top:10px;font-size:13px;color:#64748b;min-height:20px;
  padding:6px 8px;
  background:#f8fafc;
  border:1px solid #e6ecf3;
  border-radius:8px;
}
.bc-actions{
  margin-top:12px;display:flex;justify-content:space-between;gap:8px;
}
.bc-btn{
  height:38px;border-radius:9px;border:1px solid #cbd5e1;background:#fff;color:#334155;padding:0 14px;cursor:pointer;
}
.bc-btn.primary{background:linear-gradient(180deg,#2a86ff,#1677ff);border-color:#1677ff;color:#fff;box-shadow:0 6px 12px rgba(22,119,255,.24);}
.bc-btn.primary:hover{background:linear-gradient(180deg,#3f92ff,#1f7fff);}
.bc-list{
  display:flex;gap:8px;flex-wrap:wrap;padding:10px;border:1px dashed #d5deea;border-radius:12px;background:#f8fafc;
}
.bc-item{
  background:#fff;border:1px solid #d2dbe7;border-radius:10px;padding:10px 14px;cursor:grab;user-select:none;
  box-shadow:0 2px 6px rgba(15,23,42,.06);
  transition:all .15s ease;
}
.bc-item:hover{transform:translateY(-1px);border-color:#b8c8dd;box-shadow:0 6px 14px rgba(15,23,42,.1);}
.bc-drop{
  margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;min-height:46px;padding:8px;border:1px solid #d2dbe7;border-radius:12px;background:#fff;
}
.bc-noise-bar{
  margin-top:8px;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  padding:8px 10px;
  border:1px dashed #d9e2ee;
  border-radius:10px;
  background:#f8fafc;
}
.bc-noise-tag{
  font-size:12px;
  color:#64748b;
  border:1px dashed #cdd8e5;
  border-radius:999px;
  padding:2px 8px;
  background:#fff;
}
.bc-success{
  color:#15803d;font-weight:600;
}
.bc-error{
  color:#b91c1c;font-weight:600;
}
