.board-help{font-size:.85rem;color:var(--dim);margin:0 0 .8rem}
.board-tools{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.8rem}
.bt-group{position:relative;flex:1 1 260px;max-width:380px}
.b-suggest{position:absolute;left:0;right:0;top:100%;z-index:50;margin:2px 0 0;padding:.2rem;list-style:none;background:#030c04;border:1px solid var(--main-text);border-radius:4px;max-height:260px;overflow:auto}
.b-suggest li{padding:.4rem .6rem;cursor:pointer;border-radius:3px}.b-suggest li:hover,.b-suggest li.sel{background:var(--dark-text);color:#021002}
.b-suggest small{display:block;opacity:.7}
.b-status{font-size:.82rem;color:var(--dim);margin-left:auto}
.board{position:relative;height:72vh;min-height:420px;overflow:auto;border:1px solid var(--line);border-radius:6px;background:
  radial-gradient(circle at 1px 1px,rgba(0,255,65,.18) 1px,transparent 0) 0 0/28px 28px,#030b04;touch-action:pan-x pan-y}
.board-lines{position:absolute;left:0;top:0;width:2400px;height:1600px;pointer-events:none}
.board-lines g{pointer-events:stroke;cursor:pointer}
.board-lines line{stroke:var(--dim);stroke-width:2;stroke-dasharray:6 4}
.board-lines g.confirmed line{stroke:var(--ok);stroke-dasharray:none;stroke-width:2.5;filter:drop-shadow(0 0 4px var(--ok))}
.board-lines g.unconfirmed line{stroke:#7d6a1c}
.board-lines g.sel line{stroke:#fff}
.board-lines text{fill:var(--main-text);font-size:12px;paint-order:stroke;stroke:#030b04;stroke-width:4px;text-anchor:middle;pointer-events:all}
.board-cards{position:absolute;left:0;top:0;width:2400px;height:1600px}
.bcard{position:absolute;width:190px;padding:.5rem .6rem;background:#04160a;border:1px solid var(--main-text);border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.6);cursor:grab;user-select:none;touch-action:none}
.bcard.dragging{cursor:grabbing;z-index:20;box-shadow:0 8px 24px rgba(0,255,65,.3)}
.bcard.pick{outline:2px dashed var(--warn)}
.bcard .t{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);display:flex;justify-content:space-between}
.bcard .t button{background:none;border:0;color:var(--dim);cursor:pointer;font:inherit;padding:0 .2rem}.bcard .t button:hover{color:var(--bad)}
.bcard strong{display:block;font-size:.88rem;line-height:1.25;overflow-wrap:anywhere}
.bcard small{display:block;font-size:.72rem;color:var(--dim)}
.bcard a{font-size:.72rem;border-bottom:0}
.bcard.note{background:#2a2406;border-color:var(--warn);width:210px}
.bcard.note textarea{width:100%;min-height:70px;background:transparent;border:0;color:#ffe9a0;font:inherit;font-size:.84rem;resize:vertical;outline:0}
.board-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}
.board-empty[hidden]{display:none}
