.bc{--bc-line:var(--line,#dfe3dc);--bc-ink:var(--ink,#131713);--bc-muted:var(--muted,#687068);--bc-accent:var(--green,#1e5b3a);--bc-soft:var(--green-soft,#e7f0e9);display:grid;gap:16px;min-width:0}
.bc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.bc-fields{display:grid;gap:12px;background:#fff;border:1px solid var(--bc-line);border-radius:12px;padding:14px;min-width:0}
.bc-fields label{display:grid;gap:6px;align-content:start;font-size:13px;font-weight:600;color:var(--bc-ink);min-width:0}
.bc-help{margin:-4px 0 0;font-size:13px;color:var(--bc-muted)}
.bc-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;border-top:1px solid var(--bc-line);padding-top:12px}
.bc-fields .bc-check{display:flex;align-items:center;gap:8px;font-size:14px;grid-column:1/-1}
.bc-preview{display:grid;gap:10px;justify-items:center;background:#fff;border:1px solid var(--bc-line);border-radius:12px;padding:14px;text-align:center;min-width:0}
.bc-canvas{max-width:100%;height:auto;border:1px solid var(--bc-line);border-radius:6px}
.bc-empty,.bc-size{margin:0;font-size:13px;color:var(--bc-muted)}
.bc-size:empty,.bc-status:empty{display:none}
.bc-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.bc-btn{border:0;border-radius:999px;padding:10px 18px;font-weight:700;font-size:14px;cursor:pointer;background:var(--bc-ink);color:#fff}
.bc-btn.ghost{background:transparent;border:1px solid var(--bc-ink);color:var(--bc-ink)}
.bc-btn:disabled{opacity:.45;cursor:not-allowed}
.bc-status{margin:0;font-size:13px;color:var(--bc-accent);font-weight:600;overflow-wrap:anywhere}
.bc-error{margin:0;background:#fbeeee;border:1px solid #e3b9b9;color:#7d2424;border-radius:10px;padding:10px 12px;font-size:14px}
.bc-info{margin:0;background:var(--bc-soft);border:1px solid #c9dccf;color:var(--bc-accent);border-radius:10px;padding:10px 12px;font-size:14px}
.bc-warn{margin:0;background:#fff8e6;border:1px solid #ecd9a4;color:#6b5210;border-radius:10px;padding:10px 12px;font-size:14px}
.bc-note{font-size:13px;color:var(--bc-muted);margin:0}
.bc-extra .bc-wide{grid-column:1/-1}
.bc-sheet{display:grid;gap:12px;background:#fff;border:1px solid var(--bc-line);border-radius:12px;padding:14px;min-width:0}
.bc .bc-sub{margin:0;font-size:17px;line-height:1.3}
.bc-sheet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}
.bc-sheet-grid label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--bc-ink);min-width:0}
.bc-sheet .bc-check{display:flex;align-items:center;gap:8px;font-size:14px;grid-column:1/-1}
.bc-sheet .bc-actions{justify-content:flex-start;align-items:center}
.bc-sheet-info{font-size:13px;color:var(--bc-accent);font-weight:600;overflow-wrap:anywhere}
.bc-sheet .bc-help{margin:0}
.bc-extra textarea{width:100%;min-width:0;padding:8px 10px;border:1px solid var(--bc-line);border-radius:8px;font:13px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}
@media (max-width:700px){.bc-grid{grid-template-columns:minmax(0,1fr)}.bc-preview{order:-1}}
/* the page styles every input and button inside .lab-tool; these rules win back the tool's own look */
.bc [hidden]{display:none!important}
.bc .bc-check input,.bc .pg-check input{width:auto;padding:0;border:0}
.bc .bc-opts input[type=color]{height:38px;padding:3px;cursor:pointer;background:#fff}
