.bq-root{--bq-guard: #64748b;--bq-l: #2563eb;--bq-g: #7c3aed;--bq-r: #16a34a}[data-theme=dark] .bq-root{--bq-guard: #94a3b8;--bq-l: #60a5fa;--bq-g: #c4b5fd;--bq-r: #4ade80}.bq-paper,.bq-qrpaper{fill:#fff;stroke:var(--line);stroke-width:1}.bq-bar{fill:#111827}.bq-bar.is-flip{fill:#b91c1c}.bq-gap-flip{fill:#fecaca}.bq-hit{fill:transparent}.bq-mod{cursor:pointer}.bq-mod:hover .bq-hit{fill:#f59e0b2e}.bq-selbox{fill:#f59e0b29;stroke:#f59e0b;stroke-width:2}.bq-digit{fill:#111827;font-family:ui-monospace,JetBrains Mono,Menlo,monospace;font-size:22px;font-weight:700;text-anchor:middle;cursor:pointer}.bq-digit.is-sel{fill:#b45309;text-decoration:underline}.bq-digit.is-bad{fill:#dc2626}.bq-laser{stroke:#ef4444;stroke-width:3;filter:drop-shadow(0 0 4px #ef4444)}.bq-laser--thin{stroke-width:1.4;opacity:.7}.bq-lbl{fill:var(--ink-soft);font-size:13px;font-weight:650}.bq-plot{fill:var(--bg);stroke:var(--line)}.bq-sig{fill:none;stroke:var(--ui-accent);stroke-width:2.2;stroke-linejoin:miter}.bq-canvas.is-ok .bq-paper{stroke:var(--cs-green);stroke-width:3}.bq-canvas.is-bad .bq-paper,.bq-canvas.is-bad .bq-qrpaper{stroke:var(--cs-red);stroke-width:3}.bq-qrdark{fill:#111827}.bq-dmg{fill:#ef4444;pointer-events:none}.bq-qrhit{fill:transparent;cursor:crosshair;touch-action:none}.bq-help{color:var(--ink-soft);font-size:.78rem;font-weight:600}.bq-help.is-bad{color:var(--cs-red)}.bq-note{margin:0;color:var(--ink-soft);font-size:.8rem;line-height:1.45}.bq-readout,.cp-viewer--full .bq-readout{grid-template-columns:repeat(2,minmax(0,1fr))}.bq-readout--3,.cp-viewer--full .bq-readout--3{grid-template-columns:repeat(3,minmax(0,1fr))}.bq-readout .ui-wide{grid-column:1 / -1}.bq-blocks{display:flex;flex-direction:column;gap:.3rem}.bq-blockrow{display:flex;flex-wrap:wrap;gap:.35rem}.bq-block{position:relative;display:inline-flex;align-items:flex-end;justify-content:center;width:3rem;height:2.1rem;border-radius:6px;border:1px solid var(--line);background:var(--bg);overflow:hidden}.bq-blockfill{position:absolute;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--ui-accent) 35%,transparent);transition:height .2s ease}.bq-block.is-bad{border-color:var(--cs-red)}.bq-block.is-bad .bq-blockfill{background:color-mix(in srgb,var(--cs-red) 45%,transparent)}.bq-blocktxt{position:relative;font-size:.72rem;font-weight:750;color:var(--ink);padding-bottom:.15rem;font-variant-numeric:tabular-nums}@media(max-width:600px){.bq-lbl{font-size:17px}.bq-digit{font-size:26px}}
