.rc-cvh { padding: 0; }
.rc-cvh .rc-vp {
  position: absolute; inset: 2px; overflow: hidden; touch-action: none; background-color: #eaeaea;
  background-image:
    linear-gradient(#c8c8c8 1px, transparent 1px), linear-gradient(90deg, #c8c8c8 1px, transparent 1px),
    linear-gradient(#e1e1e1 1px, transparent 1px), linear-gradient(90deg, #e1e1e1 1px, transparent 1px);
  background-size: calc(var(--s) * 5) calc(var(--s) * 5), calc(var(--s) * 5) calc(var(--s) * 5), var(--s) var(--s), var(--s) var(--s);
  background-position: var(--x) var(--y);
}
.rc-cvh .rc-vp.rc-nogrid { background-image: none; }
.rc-world { position: absolute; left: 0; top: 0; transform-origin: 0 0; }
.rc-lk { position: absolute; left: 0; top: 0; pointer-events: none; }
.rc-lk svg { display: block; width: 1px; height: 1px; overflow: visible; }
.rc-lk path.rc-w { fill: none; stroke: #000; stroke-width: 1.5; pointer-events: stroke; }
.rc-lk path.rc-w.rc-sel { stroke: #0078d7; stroke-width: 3; }
.rc-blk { position: absolute; background: #fff; box-shadow: inset 0 0 0 1px #282828; }
.rc-blk svg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; }
.rc-blk:hover { box-shadow: inset 0 0 0 1px #282828, 0 0 0 3px rgba(255, 0, 255, 0.45); }
.rc-blk.rc-sel { outline: 2px solid #0078d7; outline-offset: 0; }
.rc-blk.rc-off { background: #c8c8c8; }
.rc-blk.rc-cmt { background: #ffffe1; box-shadow: none; border: 1px solid var(--shadow); overflow: hidden; }
.rc-blk.rc-cmt img { display: block; width: 100%; height: 100%; object-fit: contain; }
.rc-ctext { padding: 4px; white-space: pre-wrap; overflow: hidden; }
.rc-bl { position: absolute; pointer-events: none; }
.rc-ln { position: absolute; left: 3px; right: 3px; line-height: 12px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-bn { font: bold 8pt Tahoma, "MS Sans Serif", sans-serif; line-height: 12px; color: #000; pointer-events: auto; }
.rc-bl.rc-sel .rc-bn { color: #0078d7; }
.rc-bv { font: 7pt Tahoma, "MS Sans Serif", sans-serif; line-height: 12px; }
.rc-pi { color: #c00; }
.rc-po { color: #00c; }
.rc-pt { position: absolute; z-index: 2; width: 8px; height: 8px; border: 1px solid #282828; background: #fff; }
.rc-pt.rc-on { background: #282828; }
.rc-pt:hover { background: #0078d7; }
.rc-rb { position: absolute; border: 1px dotted #000; background: rgba(0, 120, 215, 0.15); pointer-events: none; }
.rc-rbs { position: absolute; left: 0; top: 0; width: 1px; height: 1px; overflow: visible; pointer-events: none; }
.rc-rbs path { fill: none; stroke: #000; stroke-dasharray: 4 3; }
.rc-cur { position: absolute; border: 2px dashed #0078d7; pointer-events: none; }
.rc-cur[hidden] { display: none; }

.rc-prop { flex: 1; min-height: 0; overflow-y: auto; padding: 4px 4px 6px; background: var(--face); }
.rc-prop .grp { margin-bottom: 4px; }
.rc-prop .rows { grid-template-columns: max-content minmax(50px, 1fr) max-content; }
.rc-prop .rows select { width: 100%; height: 20px; padding: 0 2px; border: 0; outline: 0; background: #fff; box-shadow: var(--sunk); font: inherit; }
.rc-prop .rows input[type=checkbox] { justify-self: start; width: auto; height: auto; margin: 0; box-shadow: none; }
.rc-prop .rows input[disabled] { background: var(--face); color: var(--shadow); }
.rc-bad { outline: 1px solid #f00; }
.rc-psel { padding: 6px; }

.rc-gh { position: absolute; inset: 0; padding: 0; }
.rc-res table { width: max-content; border-collapse: separate; border-spacing: 0; }
.rc-res th { position: sticky; top: 0; z-index: 1; min-width: 58px; padding: 2px 6px; background: var(--face); box-shadow: var(--button); font-weight: normal; line-height: 12px; text-align: center; white-space: pre; }
.rc-res th[class~="rc-l"] { text-align: left; }
.rc-res td { height: 18px; padding: 0 6px; text-align: right; white-space: nowrap; box-shadow: inset -1px -1px #000; }
.rc-res .rc-l { text-align: left; }
.rc-res tr.rc-rs td { background: #0078d7; color: #fff; }
.rc-res td.rc-ed { background: #fffad6; }
.rc-res tr.rc-rs td.rc-ed { background: #0078d7; }
.rc-res td.rc-na { background: #eee; }
.rc-res td input, .rc-res td select { width: 100%; min-width: 60px; height: 16px; padding: 0 2px; border: 0; outline: 1px solid #000; background: #fff; color: #000; font: inherit; cursor: text; -webkit-user-select: text; user-select: text; }

.rc-proj { flex: 1; min-height: 0; display: flex; flex-direction: column; background: var(--face); }
.rc-ptools { flex: none; display: flex; gap: 2px; padding: 2px; }
.rc-ptools .btn { min-width: 0; height: 20px; padding: 0 6px; }
.rc-tree { flex: 1; min-height: 0; overflow: auto; background: #fff; box-shadow: var(--sunk); margin: 0 2px 2px; }
.rc-ti { display: flex; align-items: center; gap: 3px; height: 18px; white-space: nowrap; cursor: default; }
.rc-ti .rc-tg { flex: none; width: 10px; text-align: center; }
.rc-ti .rc-tic { flex: none; display: flex; width: 16px; height: 16px; }
.rc-ti .rc-tic svg { width: 16px; height: 16px; }
.rc-ti.rc-ts .rc-tn { background: #0078d7; color: #fff; outline: 1px dotted #fff; }
.rc-ti .rc-tn { padding: 1px 2px; }

.rc-dlg { width: 340px; }
.rc-fm { display: grid; grid-template-columns: max-content 1fr; align-items: center; gap: 6px 12px; padding: 14px 14px 8px; }
.rc-fm input[type=text], .rc-fm select {
  width: 100%; height: 20px; padding: 0 3px; border: 0; outline: 0; background: #fff; box-shadow: var(--sunk); font: inherit;
}
.rc-fm input[type=text] { cursor: text; -webkit-user-select: text; user-select: text; }
.rc-fm .rc-bad { outline: 1px solid #f00; }
.rc-fm input[type=checkbox] { justify-self: start; margin: 0; }
.rc-btns { display: flex; justify-content: center; gap: 8px; padding: 6px 0 10px; }
.rc-btns .btn:first-child { outline: 1px solid #000; }
.rc-pk { padding: 14px 14px 4px; }
.rc-pk input { display: block; width: 100%; height: 20px; padding: 0 3px; border: 0; outline: 0; background: #fff; box-shadow: var(--sunk); font: inherit; cursor: text; -webkit-user-select: text; user-select: text; }
.rc-pl { height: 180px; margin-top: 6px; overflow-y: auto; background: #fff; box-shadow: var(--sunk); }
.rc-pli { padding: 1px 4px; white-space: nowrap; }
.rc-pli.rc-on { background: var(--sel); color: #fff; }

.status .rc-prog { flex: 0 0 220px; display: flex; align-items: center; gap: 6px; padding: 2px 4px; }
.status .rc-prog[hidden], .status .rc-msg[hidden] { display: none; }
.rc-pbar { flex: none; width: 90px; height: 12px; background: linear-gradient(90deg, var(--sel), var(--sel)) no-repeat 0 0 / var(--w, 0) 100%, var(--face); box-shadow: var(--sunk); }
.rc-quip { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

#cprint { display: none; }
@media print {
  html, body { height: auto; overflow: visible; background: #fff; }
  body > :not(#cprint) { display: none !important; }
  #cprint { display: block; color: #000; font: 10px Tahoma, sans-serif; }
  .rc-pv { position: relative; overflow: hidden; margin-bottom: 12px; }
  .rc-pv .rc-world { position: absolute; transform-origin: 0 0; }
  #cprint .rc-blk { box-shadow: none; border: 1px solid #000; }
  #cprint table { width: 100%; border-collapse: collapse; font-size: 8px; }
  #cprint th, #cprint td { padding: 1px 3px; border: 1px solid #808080; }
  #cprint th { position: static; box-shadow: none; white-space: pre-line; }
}

/* result-table look the spur analyzer's results pane borrows by its scroller class */
.cres table { width: max-content; border-collapse: separate; border-spacing: 0; }
.cres th { position: sticky; top: 0; z-index: 1; min-width: 58px; padding: 2px 6px; background: var(--face); box-shadow: var(--button); font-weight: normal; line-height: 12px; text-align: right; }
.cres td { height: 18px; padding: 0 6px; text-align: right; white-space: nowrap; }
.cres .l { text-align: left; }
.cres tr.rs td { background: var(--sel); color: #fff; }
