/* Deal Room V2 — isolated Battlecard dealdeck and general Call Mode workspace */

:root {
  --drv2bc-ink: #101817;
  --drv2bc-muted: #64706d;
  --drv2bc-black: #020505;
  --drv2bc-deep: #050807;
  --drv2bc-card-dark: #081310;
  --drv2bc-teal-dark: #0b4f49;
  --drv2bc-teal: #14b8a6;
  --drv2bc-teal-light: #2dd4bf;
  --drv2bc-teal-soft: #99f6e4;
  --drv2bc-page: #f6faf9;
  --drv2bc-border: rgba(20, 184, 166, 0.18);
  --drv2bc-border-neutral: rgba(16, 48, 43, 0.105);
  --drv2bc-shadow: 0 16px 44px rgba(5, 30, 27, 0.075), 0 2px 8px rgba(5, 30, 27, 0.035);
  --drv2bc-radius: 20px;
}

.drv2bc,
.drv2bc * {
  box-sizing: border-box;
}

.drv2bc {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  color: var(--drv2bc-ink);
  font: 500 14px/1.55 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.drv2bc button,
.drv2bc textarea {
  font: inherit;
}

.drv2bc button,
.drv2bc strong,
.drv2bc small,
.drv2bc span,
.drv2bc p,
.drv2bc blockquote,
.drv2bc label {
  min-width: 0;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}

.drv2bc button:focus-visible,
.drv2bc textarea:focus-visible {
  outline: 3px solid rgba(20, 184, 166, 0.28);
  outline-offset: 2px;
}

.drv2bc-header {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  overflow: hidden;
  margin-bottom: 18px;
  padding: 24px 26px 20px;
  color: #fff;
  border: 1px solid rgba(153, 246, 228, 0.14);
  border-radius: var(--drv2bc-radius);
  background:
    radial-gradient(circle at 84% 0%, rgba(45, 212, 191, 0.22), transparent 37%),
    linear-gradient(112deg, var(--drv2bc-black) 0%, var(--drv2bc-deep) 54%, var(--drv2bc-teal-dark) 145%);
  box-shadow: 0 20px 55px rgba(2, 15, 13, 0.2);
}

.drv2bc-header::after {
  position: absolute;
  inset: auto -8% -70% 42%;
  height: 160px;
  border-radius: 50%;
  background: rgba(45, 212, 191, 0.08);
  filter: blur(28px);
  content: "";
  pointer-events: none;
}

.drv2bc-header h2,
.drv2bc-focus h3,
.drv2bc-live-script h3,
.drv2bc-call-card h3,
.drv2bc-answer-panel h3 {
  margin: 0;
  color: inherit;
  letter-spacing: -0.025em;
}

.drv2bc-header h2 {
  margin-top: 4px;
  font-size: clamp(24px, 2vw, 34px);
  line-height: 1.15;
}

.drv2bc-header p {
  max-width: 750px;
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.7);
}

.drv2bc-eyebrow {
  display: block;
  color: var(--drv2bc-teal-light);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.drv2bc-header__actions {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  align-self: start;
  gap: 8px;
}

.drv2bc-progress-label {
  margin-right: 6px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  white-space: nowrap;
}

.drv2bc-icon-button,
.drv2bc-live-script__nav button {
  min-height: 38px;
  padding: 8px 13px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.07);
  cursor: pointer;
}

.drv2bc-icon-button:hover,
.drv2bc-live-script__nav button:hover {
  border-color: rgba(45, 212, 191, 0.48);
  background: rgba(20, 184, 166, 0.12);
}

.drv2bc-icon-button:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}

.drv2bc-progress {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4px;
  background: rgba(255, 255, 255, 0.08);
}

.drv2bc-progress span {
  display: block;
  height: 100%;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(90deg, var(--drv2bc-teal), var(--drv2bc-teal-light));
  box-shadow: 0 0 18px rgba(45, 212, 191, 0.42);
  transition: width 220ms ease;
}

.drv2bc-battle-layout {
  display: grid;
  grid-template-columns: minmax(245px, 0.72fr) minmax(520px, 1.75fr) minmax(220px, 0.62fr);
  gap: 16px;
  align-items: start;
}

.drv2bc-deck,
.drv2bc-played,
.drv2bc-focus,
.drv2bc-call-nav,
.drv2bc-live-script,
.drv2bc-answer-panel,
.drv2bc-call-endings,
.drv2bc-call-card {
  border: 1px solid var(--drv2bc-border-neutral);
  border-radius: var(--drv2bc-radius);
  background: #fff;
  box-shadow: var(--drv2bc-shadow);
}

.drv2bc-deck,
.drv2bc-played,
.drv2bc-focus,
.drv2bc-call-nav,
.drv2bc-live-script,
.drv2bc-answer-panel,
.drv2bc-call-endings,
.drv2bc-call-card {
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.drv2bc-deck,
.drv2bc-played,
.drv2bc-call-nav {
  position: sticky;
  top: 14px;
  max-height: calc(100dvh - 120px);
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(20, 184, 166, 0.5) transparent;
}

.drv2bc-deck__heading {
  position: sticky;
  z-index: 2;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 16px 17px;
  border-bottom: 1px solid var(--drv2bc-border-neutral);
  border-radius: var(--drv2bc-radius) var(--drv2bc-radius) 0 0;
  background: rgba(250, 253, 252, 0.97);
  backdrop-filter: blur(12px);
}

.drv2bc-deck__heading strong {
  font-size: 14px;
}

.drv2bc-deck__heading span {
  padding: 3px 8px;
  color: var(--drv2bc-teal-dark);
  border-radius: 999px;
  background: rgba(20, 184, 166, 0.1);
  font-size: 11px;
  font-weight: 800;
}

.drv2bc-deck__list {
  display: grid;
  gap: 6px;
  padding: 8px;
}

.drv2bc-card-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  width: 100%;
  min-height: 66px;
  padding: 9px;
  text-align: left;
  color: var(--drv2bc-ink);
  border: 1px solid transparent;
  border-radius: 13px;
  background: transparent;
  cursor: pointer;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.drv2bc-card-row:hover {
  border-color: var(--drv2bc-border);
  background: rgba(20, 184, 166, 0.05);
  box-shadow: 0 7px 18px rgba(5, 30, 27, 0.055);
  transform: translateY(-1px);
}

.drv2bc-card-row.is-open {
  color: #fff;
  border-color: rgba(45, 212, 191, 0.28);
  background: linear-gradient(135deg, var(--drv2bc-deep), var(--drv2bc-teal-dark));
  box-shadow: 0 12px 26px rgba(5, 30, 27, 0.18), inset 3px 0 0 var(--drv2bc-teal-light);
}

.drv2bc-card-row__score {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  color: var(--drv2bc-teal-dark);
  border-radius: 11px;
  background: rgba(20, 184, 166, 0.12);
  font-weight: 900;
}

.is-open .drv2bc-card-row__score {
  color: var(--drv2bc-teal-soft);
  background: rgba(45, 212, 191, 0.13);
}

.drv2bc-card-row__copy {
  min-width: 0;
}

.drv2bc-card-row__copy strong,
.drv2bc-card-row__copy small {
  display: block;
  overflow: visible;
  overflow-wrap: break-word;
  text-overflow: clip;
  white-space: normal;
}

.drv2bc-card-row__copy small {
  margin-top: 2px;
  color: var(--drv2bc-muted);
  font-size: 11px;
}

.is-open .drv2bc-card-row__copy small {
  color: rgba(255, 255, 255, 0.58);
}

.drv2bc-pill {
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.drv2bc-pill--recommended {
  color: var(--drv2bc-teal-dark);
  background: var(--drv2bc-teal-soft);
}

.drv2bc-focus {
  overflow: hidden;
  border-color: rgba(20, 184, 166, 0.14);
}

.drv2bc-focus__header,
.drv2bc-live-script > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 24px;
  color: #fff;
  background: linear-gradient(125deg, var(--drv2bc-black), var(--drv2bc-card-dark) 62%, var(--drv2bc-teal-dark));
}

.drv2bc-focus__header h3,
.drv2bc-live-script h3 {
  margin-top: 4px;
  font-size: 24px;
}

.drv2bc-score {
  display: flex;
  align-items: baseline;
  gap: 3px;
  min-width: 70px;
  padding: 9px 13px;
  border: 1px solid rgba(153, 246, 228, 0.2);
  border-radius: 13px;
  background: rgba(20, 184, 166, 0.09);
}

.drv2bc-score strong {
  color: var(--drv2bc-teal-light);
  font-size: 25px;
}

.drv2bc-score span {
  color: rgba(255, 255, 255, 0.55);
  font-size: 11px;
}

.drv2bc-signal-grid,
.drv2bc-evidence-grid,
.drv2bc-guardrails,
.drv2bc-call-proof,
.drv2bc-call-endings {
  display: grid;
  gap: 10px;
}

.drv2bc-signal-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 18px 22px 8px;
}

.drv2bc-signal-grid > div,
.drv2bc-guardrails > div,
.drv2bc-call-proof > section,
.drv2bc-call-endings > article {
  padding: 13px 14px;
  border: 1px solid var(--drv2bc-border-neutral);
  border-radius: 13px;
  background: #fbfdfc;
}

.drv2bc-signal-grid span,
.drv2bc-readout > span,
.drv2bc-evidence-grid span,
.drv2bc-guardrails span,
.drv2bc-script-readout > span,
.drv2bc-call-proof span,
.drv2bc-call-endings span,
.drv2bc-first-thirty > span,
.drv2bc-call-card > span,
.drv2bc-call-card label {
  display: block;
  margin-bottom: 5px;
  color: var(--drv2bc-muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.drv2bc-signal-grid strong,
.drv2bc-guardrails strong {
  display: block;
  font-size: 12px;
}

.drv2bc-readout,
.drv2bc-script-readout {
  margin: 12px 22px;
  padding: 18px 19px;
  border: 1px solid rgba(20, 184, 166, 0.2);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(20, 184, 166, 0.07), rgba(153, 246, 228, 0.11));
}

.drv2bc-readout--full {
  background: #f8fbfa;
}

.drv2bc-readout blockquote,
.drv2bc-script-readout blockquote {
  margin: 0;
  color: var(--drv2bc-ink);
  font-size: clamp(16px, 1.35vw, 20px);
  font-weight: 750;
  line-height: 1.55;
}

.drv2bc-readout p,
.drv2bc-evidence-grid p,
.drv2bc-call-proof p,
.drv2bc-call-endings p,
.drv2bc-call-card p {
  margin: 0;
  color: #34413e;
}

.drv2bc-evidence-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 4px 22px 14px;
}

.drv2bc-evidence-grid section {
  padding: 15px;
  border-top: 2px solid rgba(20, 184, 166, 0.22);
  background: #fbfdfc;
}

.drv2bc-sources {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 9px;
}

.drv2bc-source {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 3px 6px;
  max-width: 100%;
  min-height: 28px;
  padding: 4px 9px;
  color: var(--drv2bc-teal-dark);
  border: 1px solid rgba(20, 184, 166, 0.16);
  border-radius: 999px;
  background: rgba(20, 184, 166, 0.07);
  font-size: 10px;
  font-weight: 750;
  overflow-wrap: break-word;
  text-decoration: none;
  white-space: normal;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.drv2bc-source > span {
  min-width: 0;
  overflow-wrap: break-word;
}

.drv2bc-source > b {
  color: var(--drv2bc-teal-dark);
  font-size: 9px;
}

.drv2bc-source > i {
  font-style: normal;
}

.drv2bc-source[href]:hover,
.drv2bc-source[href]:focus-visible {
  color: #fff;
  border-color: var(--drv2bc-teal-dark);
  background: var(--drv2bc-teal-dark);
  box-shadow: 0 7px 18px rgba(11, 79, 73, 0.18);
}

.drv2bc-source[href]:hover > b,
.drv2bc-source[href]:focus-visible > b {
  color: var(--drv2bc-teal-soft);
}

.drv2bc-source--empty {
  color: #9b4f16;
  border-color: rgba(194, 105, 38, 0.2);
  background: rgba(194, 105, 38, 0.06);
}

.drv2bc-guardrails {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0 22px 20px;
}

.drv2bc-guardrails .drv2bc-risk,
.drv2bc-guardrails .drv2bc-do-not {
  grid-column: span 3;
}

.drv2bc-risk {
  border-color: rgba(205, 128, 35, 0.22) !important;
  background: rgba(255, 246, 230, 0.8) !important;
}

.drv2bc-do-not {
  border-color: rgba(183, 55, 55, 0.18) !important;
  background: rgba(255, 242, 242, 0.8) !important;
}

.drv2bc-focus__actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 16px 22px;
  border-top: 1px solid var(--drv2bc-border-neutral);
  background: #fbfdfc;
}

.drv2bc-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  padding: 9px 15px;
  border-radius: 12px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.drv2bc-button--primary {
  color: #fff;
  border: 1px solid var(--drv2bc-deep);
  background: linear-gradient(135deg, var(--drv2bc-deep), var(--drv2bc-teal-dark));
  box-shadow: 0 9px 24px rgba(11, 79, 73, 0.14);
}

.drv2bc-button--ghost,
.drv2bc-button--answer {
  color: var(--drv2bc-teal-dark);
  border: 1px solid var(--drv2bc-border);
  background: #fff;
}

.drv2bc-button:hover {
  transform: translateY(-1px);
}

.drv2bc-button--primary:hover {
  box-shadow: 0 13px 28px rgba(11, 79, 73, 0.22);
}

.drv2bc-button--ghost:hover {
  border-color: rgba(20, 184, 166, 0.42);
  background: rgba(20, 184, 166, 0.055);
}

.drv2bc-played {
  padding-bottom: 8px;
}

.drv2bc-stack-empty {
  padding: 22px 16px;
  color: var(--drv2bc-muted);
  text-align: center;
  font-size: 12px;
}

.drv2bc-stack-card {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
  width: calc(100% - 16px);
  margin: 8px 8px 0;
  padding: 10px;
  text-align: left;
  color: var(--drv2bc-ink);
  border: 1px solid var(--drv2bc-border-neutral);
  border-radius: 12px;
  background: #fbfdfc;
  cursor: pointer;
}

.drv2bc-stack-card > span {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: var(--drv2bc-teal-dark);
  border-radius: 9px;
  background: rgba(20, 184, 166, 0.1);
  font-weight: 900;
}

.drv2bc-stack-card strong {
  min-width: 0;
  overflow: visible;
  overflow-wrap: break-word;
  text-overflow: clip;
  white-space: normal;
}

.drv2bc-stack-card small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.drv2bc-stack-card small {
  color: var(--drv2bc-muted);
  font-size: 10px;
}

.drv2bc-status {
  min-height: 22px;
  margin-top: 8px;
  padding: 0 4px;
  color: var(--drv2bc-muted);
  font-size: 12px;
}

.drv2bc-status[data-tone="error"] {
  color: #a33131;
}

.drv2bc-status[data-tone="success"] {
  color: var(--drv2bc-teal-dark);
}

.drv2bc-call-layout {
  display: grid;
  grid-template-columns: minmax(210px, 0.58fr) minmax(540px, 1.65fr) minmax(280px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.drv2bc-call-nav {
  position: sticky;
  isolation: isolate;
  display: grid;
  gap: 4px;
  padding-bottom: 10px;
  color: #fff;
  border-color: rgba(153, 246, 228, 0.14);
  background:
    radial-gradient(circle at 10% 0%, rgba(45, 212, 191, 0.14), transparent 34%),
    linear-gradient(155deg, #020706 0%, #071713 66%, #092d29 125%);
  box-shadow: 0 20px 48px rgba(2, 15, 13, 0.2);
  scrollbar-width: thin;
  scrollbar-color: rgba(45, 212, 191, 0.7) rgba(255, 255, 255, 0.045);
}

.drv2bc-call-nav::-webkit-scrollbar,
.drv2bc-deck::-webkit-scrollbar,
.drv2bc-played::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.drv2bc-call-nav::-webkit-scrollbar-track,
.drv2bc-deck::-webkit-scrollbar-track,
.drv2bc-played::-webkit-scrollbar-track {
  margin-block: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.045);
}

.drv2bc-call-nav::-webkit-scrollbar-thumb,
.drv2bc-deck::-webkit-scrollbar-thumb,
.drv2bc-played::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: rgba(20, 184, 166, 0.62);
  background-clip: padding-box;
}

.drv2bc-call-nav .drv2bc-deck__heading {
  color: #fff;
  border-bottom-color: rgba(255, 255, 255, 0.085);
  background: rgba(3, 12, 10, 0.92);
}

.drv2bc-call-nav .drv2bc-deck__heading span {
  color: var(--drv2bc-teal-soft);
  border: 1px solid rgba(45, 212, 191, 0.17);
  background: rgba(20, 184, 166, 0.11);
}

.drv2bc-call-step {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-height: 45px;
  margin: 0 8px;
  padding: 7px 9px;
  text-align: left;
  color: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(255, 255, 255, 0.045);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.025);
  cursor: pointer;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.drv2bc-call-step > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.045);
  font-size: 11px;
  font-weight: 900;
}

.drv2bc-call-step strong {
  min-width: 0;
  overflow: visible;
  overflow-wrap: break-word;
  text-overflow: clip;
  white-space: normal;
  font-size: 12px;
}

.drv2bc-call-step:hover,
.drv2bc-call-step.is-visited {
  color: #fff;
  border-color: rgba(45, 212, 191, 0.15);
  background: rgba(20, 184, 166, 0.075);
}

.drv2bc-call-step:hover {
  transform: translateX(2px);
}

.drv2bc-call-step.is-active {
  color: #fff;
  border-color: rgba(45, 212, 191, 0.46);
  background: linear-gradient(135deg, rgba(20, 184, 166, 0.24), rgba(11, 79, 73, 0.82));
  box-shadow: 0 9px 24px rgba(0, 0, 0, 0.2), inset 3px 0 0 var(--drv2bc-teal-light);
}

.drv2bc-call-step.is-active > span {
  color: var(--drv2bc-teal-soft);
  border-color: rgba(153, 246, 228, 0.24);
  background: rgba(45, 212, 191, 0.1);
}

.drv2bc-call-workspace,
.drv2bc-call-side {
  display: grid;
  max-width: 100%;
  min-width: 0;
  gap: 14px;
}

.drv2bc-first-thirty {
  padding: 17px 19px;
  color: #fff;
  border: 1px solid rgba(45, 212, 191, 0.18);
  border-radius: 16px;
  background: linear-gradient(130deg, var(--drv2bc-card-dark), var(--drv2bc-teal-dark));
  box-shadow: 0 15px 38px rgba(5, 30, 27, 0.13);
}

.drv2bc-first-thirty > span {
  color: var(--drv2bc-teal-light);
}

.drv2bc-first-thirty p {
  margin: 0;
  font-size: 15px;
  font-weight: 680;
  line-height: 1.62;
}

.drv2bc-live-script {
  overflow: hidden;
}

.drv2bc-live-script__nav {
  display: flex;
  gap: 6px;
}

.drv2bc-coach-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
  padding: 14px 17px 0;
}

.drv2bc-coach-strip > span {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--drv2bc-border-neutral);
  border-radius: 11px;
  background: #fbfdfc;
}

.drv2bc-coach-strip small,
.drv2bc-coach-strip strong {
  display: block;
  overflow: visible;
  overflow-wrap: break-word;
  text-overflow: clip;
  white-space: normal;
}

.drv2bc-coach-strip small {
  color: var(--drv2bc-muted);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.drv2bc-coach-strip strong {
  margin-top: 3px;
  font-size: 11px;
}

.drv2bc-branches {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 0 17px 15px;
}

.drv2bc-branch {
  padding: 12px;
  border: 1px solid var(--drv2bc-border-neutral);
  border-radius: 12px;
}

.drv2bc-branch > span {
  color: var(--drv2bc-muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.drv2bc-branch p {
  margin: 5px 0 0;
  color: #34413e;
  font-size: 12px;
}

.drv2bc-branch--silence {
  background: #f8faf9;
}

.drv2bc-branch--interest {
  border-color: rgba(20, 184, 166, 0.2);
  background: rgba(20, 184, 166, 0.055);
}

.drv2bc-branch--objection {
  border-color: rgba(205, 128, 35, 0.2);
  background: rgba(255, 246, 230, 0.72);
}

.drv2bc-call-proof {
  grid-template-columns: 1.2fr 1fr 1fr;
  padding: 0 17px 18px;
}

.drv2bc-answer-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 19px;
}

.drv2bc-answer-panel h3 {
  font-size: 17px;
}

.drv2bc-answer-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.drv2bc-button--answer {
  flex: 1 1 150px;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  text-align: left;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}

.drv2bc-answer-route {
  display: block;
  color: var(--drv2bc-muted);
  font-size: 9px;
  font-weight: 750;
  line-height: 1.35;
}

.drv2bc-button--answer:hover {
  color: #fff;
  background: var(--drv2bc-teal-dark);
}

.drv2bc-button--answer:hover .drv2bc-answer-route {
  color: rgba(255, 255, 255, 0.68);
}

.drv2bc-terminal-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 18px;
  color: #fff;
  border: 1px solid rgba(45, 212, 191, 0.24);
  border-radius: 15px;
  background: linear-gradient(120deg, #071713, #0b4f49);
  box-shadow: 0 13px 30px rgba(5, 30, 27, 0.14);
}

.drv2bc-terminal-state span {
  color: var(--drv2bc-teal-soft);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.drv2bc-terminal-state strong {
  text-align: right;
}

.drv2bc-call-endings {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 15px;
}

.drv2bc-call-card {
  padding: 17px;
}

.drv2bc-call-card textarea {
  width: 100%;
  min-height: 90px;
  resize: vertical;
  padding: 11px 12px;
  color: var(--drv2bc-ink);
  border: 1px solid var(--drv2bc-border-neutral);
  border-radius: 11px;
  background: #fbfdfc;
}

.drv2bc-call-card textarea:hover,
.drv2bc-call-card textarea:focus {
  border-color: rgba(20, 184, 166, 0.42);
}

.drv2bc-call-card .drv2bc-button {
  width: 100%;
  margin-top: 9px;
}

.drv2bc-empty {
  padding: 36px 20px;
  color: var(--drv2bc-muted);
  text-align: center;
}

.drv2bc-empty strong,
.drv2bc-empty p {
  display: block;
  margin: 0;
}

.drv2bc-empty p {
  margin-top: 5px;
}

@media (max-width: 1340px) {
  .drv2bc-battle-layout {
    grid-template-columns: minmax(230px, 0.64fr) minmax(500px, 1.55fr);
  }

  .drv2bc-played {
    position: static;
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-height: none;
  }

  .drv2bc-played .drv2bc-deck__heading,
  .drv2bc-played .drv2bc-stack-empty {
    grid-column: 1 / -1;
  }

  .drv2bc-call-layout {
    grid-template-columns: minmax(205px, 0.48fr) minmax(520px, 1.5fr);
  }

  .drv2bc-call-side {
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .drv2bc-header {
    grid-template-columns: 1fr;
  }

  .drv2bc-header__actions {
    flex-wrap: wrap;
  }

  .drv2bc-battle-layout,
  .drv2bc-call-layout {
    grid-template-columns: 1fr;
  }

  .drv2bc-deck,
  .drv2bc-call-nav {
    position: static;
    max-height: 360px;
  }

  .drv2bc-call-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 8px;
  }

  .drv2bc-call-nav .drv2bc-deck__heading {
    grid-column: 1 / -1;
    margin: -8px -8px 4px;
  }

  .drv2bc-call-step {
    margin: 0;
  }

  .drv2bc-call-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .drv2bc-header {
    padding: 20px 18px 17px;
    border-radius: 16px;
  }

  .drv2bc-header__actions {
    align-items: stretch;
  }

  .drv2bc-progress-label {
    flex: 1 0 100%;
  }

  .drv2bc-icon-button {
    flex: 1;
  }

  .drv2bc-deck,
  .drv2bc-played,
  .drv2bc-focus,
  .drv2bc-call-nav,
  .drv2bc-live-script,
  .drv2bc-answer-panel,
  .drv2bc-call-endings,
  .drv2bc-call-card {
    border-radius: 15px;
  }

  .drv2bc-signal-grid,
  .drv2bc-evidence-grid,
  .drv2bc-guardrails,
  .drv2bc-call-proof,
  .drv2bc-call-endings,
  .drv2bc-coach-strip,
  .drv2bc-branches,
  .drv2bc-call-side {
    grid-template-columns: 1fr;
  }

  .drv2bc-guardrails .drv2bc-risk,
  .drv2bc-guardrails .drv2bc-do-not {
    grid-column: auto;
  }

  .drv2bc-played {
    display: block;
  }

  .drv2bc-focus__header,
  .drv2bc-live-script > header,
  .drv2bc-answer-panel {
    align-items: stretch;
    flex-direction: column;
  }

  .drv2bc-live-script__nav,
  .drv2bc-answer-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .drv2bc-call-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 340px;
  }

  .drv2bc-call-step {
    min-height: 50px;
  }

  .drv2bc-card-row {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  .drv2bc-card-row .drv2bc-pill {
    grid-column: 2;
    justify-self: start;
  }

  .drv2bc-focus__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 430px) {
  .drv2bc {
    font-size: 13px;
  }

  .drv2bc-call-nav {
    grid-template-columns: 1fr;
  }

  .drv2bc-live-script__nav,
  .drv2bc-answer-buttons {
    grid-template-columns: 1fr;
  }

  .drv2bc-readout,
  .drv2bc-script-readout {
    margin-right: 14px;
    margin-left: 14px;
  }

  .drv2bc-evidence-grid,
  .drv2bc-signal-grid,
  .drv2bc-guardrails,
  .drv2bc-call-proof,
  .drv2bc-branches,
  .drv2bc-coach-strip {
    padding-right: 14px;
    padding-left: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .drv2bc *,
  .drv2bc *::before,
  .drv2bc *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
  }
}
.drv2bc-opening-selector {
  display: grid;
  gap: 16px;
  margin-bottom: 18px;
  padding: 18px;
  border: 1px solid rgba(19, 125, 111, .22);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(7, 24, 31, .98), rgba(12, 45, 48, .96));
  color: #fff;
  box-shadow: 0 18px 45px rgba(5, 22, 28, .18);
}

.drv2bc-opening-selector > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.drv2bc-opening-selector h3,
.drv2bc-opening-selector p { margin: 0; }
.drv2bc-opening-selector header p { margin-top: 5px; color: rgba(255,255,255,.7); }
.drv2bc-opening-count {
  display: grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(64, 211, 176, .14);
  color: #8af2d4;
  font-weight: 800;
}

.drv2bc-opening-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.drv2bc-opening-tabs button {
  min-width: 0;
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 11px;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.78);
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.drv2bc-opening-tabs button:hover,
.drv2bc-opening-tabs button:focus-visible { border-color: rgba(93, 226, 191, .72); color: #fff; outline: none; }
.drv2bc-opening-tabs button.is-active { background: #fff; color: #09292b; border-color: #fff; }

.drv2bc-opening-body { display: grid; gap: 14px; }
.drv2bc-opening-body label { display: grid; gap: 7px; font-weight: 750; }
.drv2bc-opening-body textarea {
  width: 100%;
  box-sizing: border-box;
  resize: vertical;
  padding: 14px 15px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font: inherit;
  line-height: 1.55;
}
.drv2bc-opening-body textarea:focus { border-color: #5ee0bc; outline: 2px solid rgba(94,224,188,.2); }
.drv2bc-opening-meta { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; }
.drv2bc-opening-meta article { min-width: 0; padding: 11px; border-radius: 11px; background: rgba(255,255,255,.055); }
.drv2bc-opening-meta span { display: block; margin-bottom: 5px; color: #74e5c5; font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.drv2bc-opening-meta p { color: rgba(255,255,255,.76); line-height: 1.42; overflow-wrap: break-word; }
.drv2bc-opening-body footer { display: flex; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }

@media (max-width: 900px) {
  .drv2bc-opening-tabs,
  .drv2bc-opening-meta { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 560px) {
  .drv2bc-opening-selector { padding: 14px; }
  .drv2bc-opening-tabs,
  .drv2bc-opening-meta { grid-template-columns: 1fr; }
  .drv2bc-opening-body footer > * { width: 100%; }
}

/* Caller context and authoritative conversation-flow v2. */
.drv2bc-caller-context {
  overflow: hidden;
  margin: 14px 18px 0;
  border: 1px solid rgba(19, 125, 111, .22);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(250, 253, 252, .98), rgba(237, 247, 245, .96));
  box-shadow: 0 12px 30px rgba(5, 35, 35, .08);
}

.drv2bc-caller-context > summary {
  display: grid;
  grid-template-columns: minmax(150px, .55fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 11px 15px;
  cursor: pointer;
  list-style: none;
}

.drv2bc-caller-context > summary::-webkit-details-marker { display: none; }
.drv2bc-caller-context > summary span:first-child { display: grid; gap: 2px; min-width: 0; }
.drv2bc-caller-context > summary small { color: #0b766c; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.drv2bc-caller-context > summary strong { color: #153c38; overflow-wrap: break-word; }
.drv2bc-caller-context > summary b { color: #0b766c; font-size: 12px; }
.drv2bc-caller-context__preview { min-width: 0; color: #53706b; font-size: 13px; line-height: 1.45; overflow-wrap: break-word; }
.drv2bc-caller-context__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 15px; border-top: 1px solid rgba(19, 125, 111, .14); background: rgba(255, 255, 255, .72); }
.drv2bc-caller-context__fields label { display: grid; align-content: start; gap: 6px; min-width: 0; color: #31534e; font-size: 12px; font-weight: 800; }
.drv2bc-caller-context__fields input,
.drv2bc-caller-context__fields select,
.drv2bc-caller-context__fields textarea { width: 100%; min-width: 0; box-sizing: border-box; padding: 10px 11px; border: 1px solid rgba(17, 101, 89, .22); border-radius: 10px; background: #fff; color: #173d38; font: inherit; line-height: 1.45; }
.drv2bc-caller-context__fields input:focus-visible,
.drv2bc-caller-context__fields select:focus-visible,
.drv2bc-caller-context__fields textarea:focus-visible { border-color: #0d9488; outline: 3px solid rgba(13, 148, 136, .14); }
.drv2bc-caller-context__fields textarea { resize: vertical; }
.drv2bc-caller-context__actions { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 13px; }
.drv2bc-caller-context__actions p { margin: 0; color: #68817c; font-size: 12px; }
.drv2bc-caller-context__actions button { min-height: 38px; padding: 8px 13px; border: 1px solid #0b766c; border-radius: 10px; background: #0b766c; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.drv2bc-caller-context__actions button:hover { background: #075f57; }
.drv2bc-caller-context__actions button:focus-visible { outline: 3px solid rgba(13, 148, 136, .25); outline-offset: 2px; }

.drv2bc-authoritative-script { display: grid; gap: 8px; margin-bottom: 18px; padding: 18px; border: 1px solid rgba(19, 125, 111, .2); border-radius: 16px; background: linear-gradient(145deg, #f8fcfb, #edf7f5); }
.drv2bc-authoritative-script > span { color: #0b766c; font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.drv2bc-authoritative-script blockquote { margin: 0; color: #133b36; font-size: clamp(16px, 1.5vw, 19px); font-weight: 650; line-height: 1.65; white-space: pre-wrap; overflow-wrap: break-word; word-break: normal; }
.drv2bc-authoritative-script small { color: #68817c; line-height: 1.45; }
.drv2bc-script-readout blockquote { white-space: pre-wrap; }
.drv2bc-coach-strip.is-conversation-flow { grid-template-columns: minmax(0, 1fr); }
.drv2bc-coach-strip.is-conversation-flow span { min-width: 0; }
.drv2bc-call-proof.is-conversation-flow { grid-template-columns: minmax(0, 1fr); }
.drv2bc-flow-gate { margin: 0 18px 18px; padding: 13px 14px; border: 1px dashed rgba(19, 125, 111, .32); border-radius: 12px; background: #f3faf8; }
.drv2bc-flow-gate strong { color: #0b766c; }
.drv2bc-flow-gate p { margin: 4px 0 0; color: #5a746f; }
.drv2bc-flow-routes { display: grid; gap: 13px; margin: 0 18px 18px; }
.drv2bc-flow-routes > header h3 { margin: 3px 0 0; color: #173d38; }
.drv2bc-flow-route-grid,
.drv2bc-flow-clarification > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.drv2bc-flow-route-grid article,
.drv2bc-flow-clarification article { min-width: 0; padding: 13px; border: 1px solid rgba(19, 125, 111, .17); border-radius: 12px; background: linear-gradient(145deg, #fff, #f3faf8); }
.drv2bc-flow-route-grid article > span,
.drv2bc-flow-clarification article > span { color: #0b766c; font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.drv2bc-flow-route-grid blockquote,
.drv2bc-flow-clarification blockquote { margin: 8px 0; color: #143c37; line-height: 1.55; overflow-wrap: break-word; word-break: normal; }
.drv2bc-flow-route-grid small,
.drv2bc-flow-clarification small { display: block; margin-top: 8px; color: #6a827e; }
.drv2bc-flow-route-grid strong,
.drv2bc-flow-clarification strong { display: block; color: #173d38; overflow-wrap: break-word; }
.drv2bc-flow-route-grid .is-stop { display: inline-block; margin-top: 8px; color: #9a3412; }
.drv2bc-flow-clarification { padding: 12px; border: 1px solid rgba(19, 125, 111, .16); border-radius: 13px; }
.drv2bc-flow-clarification summary { color: #0b766c; cursor: pointer; font-weight: 850; }
.drv2bc-flow-clarification > div { margin-top: 10px; }

.drv2bc-general-web .drv2bc-call-nav {
  scroll-behavior: smooth;
}

.drv2bc-general-question {
  display: grid;
  gap: 6px;
  margin-top: 15px;
  padding-top: 14px;
  border-top: 1px solid rgba(19, 125, 111, .16);
}

.drv2bc-general-question small,
.drv2bc-general-responses header span,
.drv2bc-general-follow-up span,
.drv2bc-general-exchange article > span,
.drv2bc-general-deep > small {
  color: #0b766c;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.drv2bc-general-question strong {
  color: #102f2b;
  font-size: 16px;
  line-height: 1.55;
}

.drv2bc-general-clarification {
  margin: 0 18px 18px;
  padding: 13px 14px;
  border: 1px solid rgba(19, 125, 111, .18);
  border-radius: 12px;
  background: #f5fbf9;
}

.drv2bc-general-clarification summary {
  color: #0b766c;
  cursor: pointer;
  font-weight: 850;
}

.drv2bc-general-clarification blockquote {
  margin: 11px 0 7px;
  color: #173d38;
  line-height: 1.55;
}

.drv2bc-general-clarification small { color: #68817c; }

.drv2bc-general-responses {
  display: grid;
  gap: 11px;
  margin: 0 18px 18px;
}

.drv2bc-general-responses header h4,
.drv2bc-general-branch h4 {
  margin: 3px 0 0;
  color: #173d38;
  font-size: 17px;
}

.drv2bc-general-responses > div,
.drv2bc-general-turns > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.drv2bc-general-reaction,
.drv2bc-general-turn {
  display: grid;
  gap: 4px;
  min-width: 0;
  min-height: 72px;
  padding: 11px 12px;
  text-align: left;
  border: 1px solid rgba(19, 125, 111, .18);
  border-radius: 12px;
  background: linear-gradient(145deg, #fff, #f4faf8);
  color: #173d38;
  cursor: pointer;
}

.drv2bc-general-reaction span,
.drv2bc-general-turn span { font-weight: 850; }
.drv2bc-general-reaction small,
.drv2bc-general-turn small { color: #607a75; line-height: 1.4; overflow-wrap: anywhere; }
.drv2bc-general-reaction:hover,
.drv2bc-general-turn:hover,
.drv2bc-general-reaction.is-active,
.drv2bc-general-turn.is-active {
  border-color: rgba(13, 148, 136, .5);
  background: linear-gradient(145deg, #effaf7, #dff4ef);
  box-shadow: 0 8px 20px rgba(13, 94, 83, .1);
}

.drv2bc-general-branch {
  display: grid;
  gap: 13px;
  margin: 0 18px 18px;
  padding: 16px;
  border: 1px solid rgba(13, 148, 136, .28);
  border-radius: 15px;
  background: linear-gradient(145deg, #f9fdfc, #eef8f6);
}

.drv2bc-general-branch > header,
.drv2bc-general-turns > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.drv2bc-general-close {
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid rgba(19, 125, 111, .2);
  border-radius: 9px;
  background: #fff;
  color: #47645f;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.drv2bc-general-exchange {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.drv2bc-general-exchange article,
.drv2bc-general-follow-up,
.drv2bc-general-deep {
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(19, 125, 111, .15);
  border-radius: 12px;
  background: #fff;
}

.drv2bc-general-exchange blockquote,
.drv2bc-general-deep blockquote {
  margin: 8px 0 0;
  color: #173d38;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.drv2bc-general-follow-up { display: grid; gap: 6px; }
.drv2bc-general-follow-up strong { color: #123d37; line-height: 1.5; }
.drv2bc-general-turns { display: grid; gap: 9px; }
.drv2bc-general-turns > header span { color: #173d38; font-weight: 850; }
.drv2bc-general-turns > header small { color: #68817c; }
.drv2bc-general-deep { display: grid; gap: 8px; border-color: rgba(13, 148, 136, .32); }
.drv2bc-general-deep p { margin: 0; color: #173d38; line-height: 1.55; }
.drv2bc-general-deep.is-terminal { border-color: rgba(180, 83, 9, .24); background: #fffaf2; }
.drv2bc-general-stop { color: #9a3412; }

.drv2bc-general-branch__actions,
.drv2bc-general-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.drv2bc-general-shortcuts {
  margin: 0 18px 18px;
  padding-top: 2px;
}

.drv2bc-general-shortcuts button {
  min-height: 38px;
  padding: 8px 11px;
  border: 1px solid rgba(19, 125, 111, .2);
  border-radius: 10px;
  background: #fff;
  color: #0b766c;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.drv2bc-general-web .drv2bc-call-card > small {
  display: block;
  margin-top: 5px;
  color: #68817c;
}

@media (max-width: 760px) {
  .drv2bc-caller-context { margin: 10px 12px 0; }
  .drv2bc-caller-context > summary { grid-template-columns: minmax(0, 1fr) auto; }
  .drv2bc-caller-context__preview { grid-column: 1 / -1; grid-row: 2; }
  .drv2bc-caller-context__fields,
  .drv2bc-flow-route-grid,
  .drv2bc-flow-clarification > div,
  .drv2bc-general-responses > div,
  .drv2bc-general-turns > div,
  .drv2bc-general-exchange { grid-template-columns: minmax(0, 1fr); }
  .drv2bc-caller-context__actions { align-items: stretch; flex-direction: column; }
  .drv2bc-general-branch__actions,
  .drv2bc-general-shortcuts { align-items: stretch; flex-direction: column; }
  .drv2bc-general-branch__actions > *,
  .drv2bc-general-shortcuts > * { width: 100%; }
}
