/* BT1: the staking vault as a battery cell on the board. Readings are a datasheet table in
   silkscreen; the controls are tin pads; the wallet picker is a row of sockets. */
.pcb-flow .wl-sec--stake { --pcb-l: "BT"; }
.wl-sec--stake .wl-kicker__label::before { content: "Battery cell"; }

.rs { display: grid; gap: 22px; max-width: 56rem; }
.rs-lead { margin: 0; max-width: 60ch; font-size: 1.08rem; line-height: 1.55; color: var(--v-soft); }
.rs-note { margin: 0; max-width: 60ch; padding: 10px 14px; border: 1.5px dashed var(--pcb-silk-dim); border-radius: 3px; font-size: 0.95rem; line-height: 1.5; color: var(--v-faint); }

/* the cell: + and - terminals at either end of the readings */
.rs-meter {
  position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0;
  border: 1.5px solid var(--pcb-silk); border-radius: 3px; background: #0a3d21;
}
.rs-meter::before, .rs-meter::after {
  position: absolute; top: -11px; padding: 0 6px; background: var(--pcb-mask);
  font-family: var(--v-font-mono); font-weight: 700; font-size: 0.9rem; color: var(--pcb-gold);
}
.rs-meter::before { content: "+"; left: 12px; }
.rs-meter::after { content: "\2212"; right: 12px; }
.rs-row { padding: 14px 16px; border-right: 1px dashed var(--v-line); border-bottom: 1px dashed var(--v-line); min-width: 0; }
.rs-row:nth-child(3n) { border-right: 0; }
.rs-row:nth-last-child(-n + 3) { border-bottom: 0; }
.rs-row dt { font-family: var(--v-font-mono); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pcb-gold); }
.rs-row dd { margin: 6px 0 0; font-family: var(--v-font-mono); font-size: clamp(0.95rem, 1.6vw, 1.15rem); color: var(--pcb-silk); overflow-wrap: anywhere; }

.rs-ctl { display: grid; gap: 14px; }
.rs-ctl[hidden] { display: none; }
.rs-plug { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.rs-plug [hidden] { display: none; }
.rs-btn { cursor: pointer; transition: transform 0.15s var(--v-ease), filter 0.15s; }
.rs-btn:active { transform: translateY(1px); filter: brightness(0.92); }
.rs-btn:disabled { cursor: not-allowed; opacity: 0.45; transform: none; }
.rs-btn:focus-visible, .rs-amt__in:focus-visible, .rs-amt__max:focus-visible, .rs-pick:focus-visible, .rs-scan:focus-visible { outline: 2px solid var(--pcb-gold); outline-offset: 2px; }
.pcb-board .rs-btn--warn { background: linear-gradient(180deg, #ffd9a0, var(--pcb-copper) 55%, #9c6a26); color: #1b1405; }
.rs-who { display: inline-flex; align-items: center; gap: 8px; font-family: var(--v-font-mono); font-size: 0.85rem; letter-spacing: 0.06em; color: var(--pcb-silk); }
.rs-who:not(:empty)::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--pcb-led); box-shadow: 0 0 10px var(--pcb-led); }

.rs-picker { display: flex; flex-wrap: wrap; gap: 10px; padding: 12px; border: 1.5px dashed var(--pcb-silk-dim); border-radius: 3px; }
.rs-picker[hidden] { display: none; }
.rs-pick {
  display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px; cursor: pointer;
  border: 1.5px solid var(--pcb-silk); border-radius: 3px; background: #0a3d21; color: var(--pcb-silk);
  font-family: var(--v-font-mono); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em;
  transition: border-color 0.15s, transform 0.15s var(--v-ease);
}
.rs-pick:hover { border-color: var(--pcb-gold); transform: translateY(-1px); }
.rs-pick img { width: 26px; height: 26px; border-radius: 3px; background: var(--pcb-bench); padding: 2px; }

.rs-form { display: grid; gap: 12px; }
.rs-form[hidden] { display: none; }
.rs-amt { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; border: 1.5px solid var(--pcb-silk); border-radius: 3px; background: #0a3d21; max-width: 34rem; }
.rs-amt__lab { padding: 0 12px; font-family: var(--v-font-mono); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--pcb-gold); border-right: 1px dashed var(--v-line); align-self: stretch; display: grid; place-items: center; }
.rs-amt__in { min-width: 0; padding: 12px; border: 0; background: none; color: var(--pcb-silk); font-family: var(--v-font-mono); font-size: 1.05rem; }
.rs-amt__in::placeholder { color: var(--pcb-silk-dim); }
.rs-amt__max { margin: 6px; padding: 6px 10px; cursor: pointer; border: 1.5px solid var(--pcb-silk-dim); border-radius: 3px; background: none; color: var(--pcb-silk); font-family: var(--v-font-mono); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; }
.rs-amt__max:hover { border-color: var(--pcb-gold); color: var(--pcb-gold); }
.rs-acts { display: flex; flex-wrap: wrap; gap: 10px; }

.rs-status { margin: 0; min-height: 1.4em; font-family: var(--v-font-mono); font-size: 0.82rem; color: var(--v-soft); }
.rs-status:not(:empty)::before { content: "\25CF\00A0"; color: var(--pcb-silk-dim); }
.rs-status--ok::before { color: var(--pcb-led) !important; }
.rs-status--warn::before { color: var(--pcb-gold) !important; }
.rs-status--err { color: #ffb4a0; }
.rs-status--err::before { color: #ff7a5c !important; }
.rs-status a { color: var(--pcb-gold); }

.rs-vault { grid-template-columns: auto minmax(0, 1fr) auto; }
.rs-vault__acts { display: inline-flex; align-items: center; gap: 8px; }
.rs-scan {
  display: inline-grid; place-items: center; width: 42px; height: 42px; border: 1.5px solid var(--pcb-silk); border-radius: 3px; color: var(--pcb-silk);
  transition: border-color 0.15s, color 0.15s, transform 0.15s var(--v-ease);
}
.rs-scan:hover { border-color: var(--pcb-gold); color: var(--pcb-gold); transform: translateY(-1px); }
.rs-scan .wl-glyph { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }

@media (max-width: 820px) {
  .rs-meter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rs-row { border-right: 1px dashed var(--v-line) !important; border-bottom: 1px dashed var(--v-line) !important; }
  .rs-row:nth-child(2n) { border-right: 0 !important; }
  .rs-row:nth-last-child(-n + 2) { border-bottom: 0 !important; }
  .rs-vault { grid-template-columns: minmax(0, 1fr); }
  .rs-vault .wl-ca__value { font-size: 0.8rem; }
  .rs-vault__acts { justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
  .rs-btn, .rs-pick, .rs-scan { transition: none; }
  .rs-pick:hover, .rs-scan:hover { transform: none; }
}
