.board-view{position:relative;height:720px;background:#fafafb;border:1px solid #e5e5ea;border-radius:12px;overflow:hidden}
.builder-canvas .board-view{height:100%;min-height:520px;border:0;border-radius:0}
.board-view svg.board-svg{width:100%;height:100%;cursor:grab;touch-action:none;background:#fafafb;display:block}
.board-view svg.board-svg.drag{cursor:grabbing}
.board-stat{position:absolute;right:16px;top:12px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:70%}
.board-stat span{font-size:12px;background:#fff;border:1px solid #e5e5ea;border-radius:10px;padding:5px 10px}
.board-zbar{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;background:#fff;border:1px solid #e5e5ea;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.08);overflow:hidden;z-index:2}
.board-zbar button{border:0;background:#fff;height:38px;min-width:40px;font-size:17px;cursor:pointer}
.board-zbar span{font-size:13px;min-width:56px;text-align:center;border-left:1px solid #e5e5ea;border-right:1px solid #e5e5ea;line-height:38px}
.board-zbar .fit{font-size:13px;font-weight:600;border-left:1px solid #e5e5ea;padding:0 14px}
.board-hint{position:absolute;left:230px;bottom:24px;font-size:12px;color:#6e6e73;background:#fff;border:1px solid #e5e5ea;border-radius:8px;padding:5px 10px;z-index:2}
.board-mini{position:absolute;right:16px;bottom:16px;width:240px;height:160px;background:#fff;border:1px solid #e5e5ea;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08);z-index:2}
.board-tip{position:absolute;pointer-events:none;background:#1d1d1f;color:#fff;border-radius:12px;padding:12px 14px;font-size:12px;line-height:1.55;display:none;min-width:260px;max-width:420px;box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:3}
.board-tip b{font-size:13px}
.board-tip i{display:inline-block;width:10px;height:10px;border-radius:5px;margin-right:6px;border:1px solid #888;vertical-align:-1px}
.board-view .lo .det{display:none}
.board-view .cab{cursor:pointer}
.board-view .part-link{cursor:pointer}
@keyframes board-hb{0%{opacity:1}80%{opacity:1}81%{opacity:.15}100%{opacity:.15}}
@keyframes board-flick{0%,100%{opacity:.2}10%{opacity:1}20%{opacity:.3}35%{opacity:1}50%{opacity:.2}70%{opacity:1}80%{opacity:.25}}
@keyframes board-pulse3{0%,96%{opacity:.18}97%,100%{opacity:1}}
@keyframes board-flow{to{stroke-dashoffset:-40}}
.board-view .led-hb{animation:board-hb 1s steps(1) infinite}
.board-view .led-fl{animation:board-flick 1.3s infinite}
.board-view .led-p3{animation:board-pulse3 3s infinite}
.board-view .led-on{opacity:1}
.board-view .led-off{opacity:.18}
.board-view .fl{display:none}
.board-view .cab.hl .fl{display:inline;animation:board-flow .8s linear infinite}
.board-view .dim .cab:not(.hl){opacity:.15}
.board-view .dim .ctag:not(.hl){opacity:.15}
.board-schedule{margin-top:16px}
.board-schedule h3{margin:16px 0 8px}
@media(max-width:800px){
  .board-hint{display:none}
  .board-stat{position:static;max-width:none;padding:8px}
  .board-view{height:560px}
}
