.bc{--bc-events:#9a6b00;--bc-control:#b25400;--bc-motion:#1f5a85;--bc-looks:#6b3f7a;--bc-sensing:#00727a;--bc-operators:#2f7a16;--bc-variables:#a3392b;--bc-stage:#ffffff;--bc-grid:#f1e7de;--bc-axis:#e0cfc1;--bc-outline:#292222;display:grid;gap:var(--space-4);margin:var(--space-6) 0;padding:var(--space-4);border:1.5px solid var(--color-line-strong);border-radius:var(--radius-l);background:var(--color-surface);box-shadow:var(--shadow-m);min-width:0}html[data-theme=dark] .bc{--bc-events:#f0c25a;--bc-control:#ffaa66;--bc-motion:#8cc4ef;--bc-looks:#dcb2ec;--bc-sensing:#6fd6dc;--bc-operators:#9ede84;--bc-variables:#ff9e8f;--bc-stage:#1e1a18;--bc-grid:#2b2522;--bc-axis:#3d3430;--bc-outline:#f6ece3}@media (prefers-color-scheme:dark){html:not([data-theme]) .bc{--bc-events:#f0c25a;--bc-control:#ffaa66;--bc-motion:#8cc4ef;--bc-looks:#dcb2ec;--bc-sensing:#6fd6dc;--bc-operators:#9ede84;--bc-variables:#ff9e8f;--bc-stage:#1e1a18;--bc-grid:#2b2522;--bc-axis:#3d3430;--bc-outline:#f6ece3}}.bc .cat-events{--c:var(--bc-events)}.bc .cat-control{--c:var(--bc-control)}.bc .cat-motion{--c:var(--bc-motion)}.bc .cat-looks{--c:var(--bc-looks)}.bc .cat-sensing{--c:var(--bc-sensing)}.bc .cat-operators{--c:var(--bc-operators)}.bc .cat-variables{--c:var(--bc-variables)}.bc h2{margin:0 0 var(--space-2);font:700 var(--text-2xs)/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.bc-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-sunken)}.bc-bar button{min-width:44px}.bc-run{min-width:104px}.bc-spacer{flex:1}.bc-mode{padding:4px 10px;border-radius:999px;font:700 var(--text-2xs)/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);border:1px solid var(--color-line-strong)}.bc-mode.is-running{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.bc-mode.is-paused{color:var(--color-ink);background:var(--color-accent-soft);border-color:var(--color-accent)}.bc-layout{display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:start}@media (min-width:960px){.bc-layout{grid-template-columns:minmax(300px,5fr) minmax(0,7fr)}}.bc-code-col,.bc-stage-col{display:grid;gap:var(--space-3);min-width:0}@media (min-width:960px){.bc-stage-col{position:sticky;top:var(--space-4)}}.bc-stage{border:1.5px solid var(--color-line-strong);border-radius:var(--radius-m);overflow:hidden;background:var(--bc-stage)}.bc-canvas{display:block;width:100%;aspect-ratio:4/3;touch-action:none;cursor:pointer;outline:none}.bc-stage:has(.bc-canvas:focus-visible){box-shadow:0 0 0 3px var(--color-focus)}.bc[data-mode=running] .bc-stage:has(.bc-canvas:focus){box-shadow:0 0 0 3px var(--color-accent)}.bc-pad{display:flex;flex-wrap:wrap;gap:var(--space-2)}.bc-pad button{flex:1 1 44px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.bc-panel{display:grid;align-content:start;gap:var(--space-3);min-width:0;margin:0;padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-m);background:var(--color-bg)}.bc-panel legend{padding:0 var(--space-1);font:700 var(--text-2xs)/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.bc-panel>h2{margin:0}.bc-panel .field{margin-bottom:0}.bc-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3)}.bc-note{margin:0;font-size:var(--text-xs);line-height:1.6}.bc-note,.bc-status{color:var(--color-muted)}.bc-status{min-height:1.4em;font:600 var(--text-xs)/1.4 var(--font-mono)}.bc .notice{margin:0}.bc .notice.error{border-left-color:var(--color-danger);background:var(--color-danger-soft)}.bc-actions,.bc-inline{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.bc-inline input{flex:1 1 160px}.bc-file{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:9px 16px;border:1.5px solid var(--color-line-strong);border-radius:var(--radius-m);background:var(--color-surface);font-weight:700;font-size:var(--text-s);cursor:pointer}.bc-file:hover{border-color:var(--color-edge);background:var(--color-sunken)}.bc-file:focus-within{outline:3px solid var(--color-focus);outline-offset:3px}.bc-check{display:flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--text-s);font-weight:700;cursor:pointer}.bc-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--space-3)}.bc-num,.bc-table{width:100%}.bc-table{border-collapse:collapse;font:600 var(--text-xs)/1.4 var(--font-mono)}.bc-table td,.bc-table th{padding:4px 6px;text-align:left;border-bottom:1px solid var(--color-line);overflow-wrap:anywhere}.bc-table thead th{color:var(--color-muted);font-weight:700}.bc-issues{display:grid;gap:var(--space-2)}.bc-issue{margin:0;padding:var(--space-2) var(--space-3);border-left:4px solid var(--color-danger);border-radius:var(--radius-s);background:var(--color-danger-soft);font-size:var(--text-xs);overflow-wrap:anywhere}.bc-issue.is-warning{border-left-color:var(--bc-events);background:var(--color-sunken)}.bc-link{min-height:0;padding:0 4px;border:0;background:transparent;color:var(--color-accent);text-decoration:underline;font-size:inherit}.bc-sprites{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.bc-sprites button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent-soft)}.bc-swatch{display:inline-grid;place-items:center;width:18px;height:18px;border:1.5px solid var(--bc-outline);border-radius:50%;overflow:hidden}.bc-swatch.is-square{border-radius:3px}.bc-swatch.is-triangle{clip-path:polygon(100% 50%,0 0,0 100%);border:0}.bc-swatch.is-star{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border:0}.bc-swatch img{width:100%;height:100%;object-fit:contain}.bc-cats{display:flex;flex-wrap:wrap;gap:6px}.bc-cat{min-height:38px;padding:6px 12px;border-left:5px solid var(--c)}.bc-cat[aria-pressed=true]{background:color-mix(in srgb,var(--c) 22%,var(--color-surface));border-color:var(--c)}.bc-plist{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.bc-pblock{min-height:36px;padding:6px 12px;justify-content:flex-start;text-align:left;font-weight:600;border:1.5px solid color-mix(in srgb,var(--c) 55%,transparent);border-left:6px solid var(--c);background:color-mix(in srgb,var(--c) 14%,var(--color-surface));cursor:grab}.bc-pblock:hover:not(:disabled){background:color-mix(in srgb,var(--c) 24%,var(--color-surface));border-color:var(--c)}.bc-pblock.shape-hat{border-top-left-radius:18px;border-top-right-radius:18px}.bc-pblock.shape-reporter{border-radius:999px;border-left-width:1.5px}.bc-pblock.shape-bool{border-radius:4px;border-left-width:1.5px;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);padding-inline:18px}.bc-vars{display:grid;gap:var(--space-2)}.bc-varlist{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.bc-varlist li{display:flex;gap:4px}.bc-varlist input{width:12ch;min-height:38px;padding:4px 8px}.bc-varlist button{min-height:38px;min-width:38px;padding:4px}.bc-code{overflow-x:auto}.bc-script{display:grid;gap:4px;padding:var(--space-2);border:1px dashed var(--color-line-strong);border-radius:var(--radius-m);background:var(--color-surface)}.bc-hat{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;border-left:1.5px solid var(--c);border:1.5px solid var(--c);border-left-width:6px;border-radius:18px 18px var(--radius-s) var(--radius-s);background:color-mix(in srgb,var(--c) 18%,var(--color-surface))}.bc-icon{min-height:32px;min-width:32px;padding:4px}.bc-list{display:grid;gap:4px;margin:0;padding:0;list-style:none;min-width:0}.bc-block{min-width:0;padding:3px 6px 3px 2px;border:1px solid color-mix(in srgb,var(--c) 45%,transparent);border-left:6px solid var(--c);border-radius:var(--radius-s);background:color-mix(in srgb,var(--c) 14%,var(--color-surface))}.bc-block.is-selected{border-color:var(--c)}.bc-block.is-running{box-shadow:0 0 0 3px var(--color-accent);background:color-mix(in srgb,var(--color-accent) 22%,var(--color-surface))}.bc-block.is-error,.bc-rep.is-error{box-shadow:0 0 0 3px var(--color-danger)}@media (prefers-reduced-motion:no-preference){.bc-block.is-running{animation:bc-pulse 1s ease-in-out infinite alternate}}@keyframes bc-pulse{0%{box-shadow:0 0 0 2px var(--color-accent)}to{box-shadow:0 0 0 4px var(--color-accent)}}.bc-row,.bc-text{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.bc-text{flex:1 1 auto}.bc-word{font-size:var(--text-s);font-weight:600}.bc-grip{min-height:32px;min-width:28px;padding:2px;border-color:transparent;background:transparent;color:var(--color-muted);cursor:grab}.bc-grip[aria-pressed=true]{color:var(--color-ink);border-color:var(--c)}.bc-tools{display:inline-flex;gap:2px;margin-left:auto}.bc-tools button{min-height:32px;min-width:32px;padding:4px}.bc .bc-in,.bc .bc-put,.bc .bc-sel{min-height:30px;padding:2px 8px;font-size:var(--text-s);border-radius:999px;background:var(--color-surface);width:auto}.bc .bc-in{max-width:100%}.bc .bc-put{width:34px;padding:0 2px;text-align:center;border-style:dashed;color:var(--color-muted)}.bc .is-bool .bc-put{width:46px;border-radius:4px}.bc-color{min-height:30px;min-width:44px;padding:2px}.bc-slot-wrap{gap:2px;min-width:0}.bc-rep,.bc-slot-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;max-width:100%}.bc-rep{gap:3px;padding:2px 2px 2px 10px;border:1.5px solid var(--c);border-radius:999px;background:color-mix(in srgb,var(--c) 26%,var(--color-surface))}.bc-rep.shape-bool{border-radius:6px}.bc-x{min-height:24px;min-width:24px;padding:2px;border-radius:50%}.bc-mouth{margin:3px 0 3px 12px;padding-left:8px;border-left:3px solid var(--c)}.bc-else{padding:2px 8px;font-size:var(--text-s);font-weight:700}.bc-ins{padding:2px 8px;border:2px dashed var(--color-accent);border-radius:var(--radius-s);color:var(--color-accent);font:700 var(--text-2xs)/1.6 var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.bc-end-slot{width:100%;min-height:28px;padding:2px 8px;justify-content:flex-start;border:1.5px dashed var(--color-line-strong);background:transparent;color:var(--color-muted);font-size:var(--text-xs);font-weight:600}.bc-end-slot[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent)}