.emt-handoff-builder-lab {
  --hb-ink: #eaf4f7;
  --hb-soft: #bdd2dc;
  --hb-line: rgba(144, 202, 220, .23);
  display: grid;
  gap: 18px;
  padding: clamp(14px, 2.5vw, 25px);
  border: 1px solid rgba(113, 200, 219, .36);
  border-radius: 14px;
  background: radial-gradient(circle at 88% 1%, rgba(52, 152, 177, .15), transparent 32%), #0c1b28;
  color: var(--hb-ink);
}
.emt-handoff-builder-lab * { box-sizing: border-box; min-width: 0; }
.emt-handoff-builder-lab :is(h3, h4, h5, p, ul, ol, pre) { margin: 0; }
.emt-handoff-builder-lab :is(p, li) { line-height: 1.48; }
.emt-handoff-builder-lab :is(button, select, input):focus-visible { outline: 2px solid #a7edff; outline-offset: 3px; }
.emt-handoff-builder-lab button { min-height: 40px; }
.emt-hb-eyebrow { color: #87d5e3; font-size: .68rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.emt-hb-head { display: grid; gap: 8px; max-width: 90ch; }
.emt-hb-head h3 { font-size: clamp(1.16rem, 2.2vw, 1.5rem); line-height: 1.2; }
.emt-hb-head p, .emt-hb-case-intro, .emt-hb-evidence > p, .emt-hb-assembly > p, .emt-hb-receiver-head > p { color: var(--hb-soft); font-size: .83rem; }
.emt-hb-case-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.emt-hb-case-tabs button { flex: 1 1 210px; text-align: left; }
.emt-hb-case-tabs button[aria-pressed="true"] { border-color: #84d7e1; background: rgba(46, 158, 184, .23); box-shadow: inset 0 0 0 1px rgba(132, 215, 225, .35); color: #f1ffff; }
.emt-hb-case-intro { padding: 0 2px; }
.emt-hb-phase-rail { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.emt-hb-phase-rail::before { content: ""; position: absolute; left: 9%; right: 9%; top: 15px; height: 2px; background: linear-gradient(90deg, #67cfc4, #68b5db, #e4b581); opacity: .52; pointer-events: none; }
.emt-hb-phase-rail button { position: relative; display: grid; gap: 4px; align-content: end; min-height: 73px; padding: 22px 8px 8px; border: 1px solid var(--hb-line); border-radius: 8px; background: #102535; color: #d1e4e9; font: inherit; font-size: .7rem; font-weight: 750; line-height: 1.24; text-align: left; cursor: pointer; }
.emt-hb-phase-rail button::before { content: ""; position: absolute; top: 9px; left: 10px; width: 10px; height: 10px; border: 2px solid #82c9d6; border-radius: 50%; background: #102535; box-shadow: 0 0 0 3px #102535; }
.emt-hb-phase-rail button[data-selected-count]:not([data-selected-count="0"])::before { background: #78d4ad; border-color: #b9f0cf; }
.emt-hb-phase-rail button[aria-pressed="true"] { border-color: #83dce4; background: #173c4b; color: #fff; box-shadow: inset 0 0 0 1px rgba(131, 220, 228, .26); }
.emt-hb-scene { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 125px; padding: 15px; border: 1px solid rgba(129, 205, 213, .32); border-radius: 10px; background: radial-gradient(circle at 4% 30%, rgba(82, 177, 182, .13), transparent 32%), #102331; }
.emt-handoff-builder-lab[data-case="arrest"] .emt-hb-scene { border-color: rgba(233, 164, 130, .39); background: radial-gradient(circle at 4% 30%, rgba(223, 124, 101, .14), transparent 32%), #102331; }
.emt-hb-scene-mark { position: relative; width: 54px; height: 76px; border: 1px solid rgba(133, 220, 213, .27); border-radius: 25px 25px 12px 12px; background: linear-gradient(#1a5662, #123847); overflow: hidden; }
.emt-hb-scene-head { position: absolute; top: 7px; left: 21px; width: 12px; height: 12px; border: 2px solid #86d7d0; border-radius: 50%; }
.emt-hb-scene-body { position: absolute; top: 22px; left: 14px; width: 26px; height: 36px; border: 2px solid #86d7d0; border-radius: 11px 11px 6px 6px; }
.emt-hb-scene-line { position: absolute; left: 5px; right: 5px; bottom: 10px; height: 10px; background: #84e7dc; clip-path: polygon(0 48%, 20% 48%, 28% 12%, 38% 87%, 46% 40%, 55% 48%, 100% 48%, 100% 62%, 58% 62%, 44% 55%, 36% 100%, 27% 34%, 23% 62%, 0 62%); }
.emt-handoff-builder-lab[data-case="arrest"] .emt-hb-scene-mark { border-color: rgba(244, 176, 139, .4); background: linear-gradient(#6b4039, #3a3038); }
.emt-handoff-builder-lab[data-case="arrest"] .emt-hb-scene-mark :is(.emt-hb-scene-head, .emt-hb-scene-body) { border-color: #edb592; }
.emt-handoff-builder-lab[data-case="arrest"] .emt-hb-scene-line { background: #f3bb96; }
.emt-hb-scene-text { display: grid; gap: 5px; }
.emt-hb-scene-text h4 { font-size: 1rem; }
.emt-hb-scene-text p { color: #d5e7e7; font-size: .81rem; }
.emt-hb-scene-controls { display: flex; flex-direction: column; gap: 7px; align-items: stretch; }
.emt-hb-scene-controls button { font-size: .75rem; white-space: nowrap; }
.emt-hb-workbench { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 12px; align-items: start; }
.emt-hb-evidence, .emt-hb-assembly { display: grid; align-content: start; gap: 10px; padding: 15px; border: 1px solid var(--hb-line); border-radius: 10px; background: rgba(8, 27, 40, .7); }
.emt-hb-evidence h4, .emt-hb-assembly h4 { font-size: 1rem; }
.emt-hb-tray, .emt-hb-board { display: grid; gap: 9px; }
.emt-hb-tray { grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); }
.emt-hb-fact { display: grid; gap: 7px; align-content: start; padding: 12px; border: 1px solid rgba(154, 203, 213, .24); border-left: 4px solid #9ac4ca; border-radius: 8px; background: #142b3a; }
.emt-hb-fact[data-source="reported"], .emt-hb-board-row[data-source="reported"] { border-left-color: #d8b984; }
.emt-hb-fact[data-source="observed"], .emt-hb-board-row[data-source="observed"] { border-left-color: #8bd5ab; }
.emt-hb-fact[data-source="manual"], .emt-hb-board-row[data-source="manual"] { border-left-color: #7fd3d9; }
.emt-hb-fact[data-source="device"], .emt-hb-board-row[data-source="device"] { border-left-color: #9eaded; }
.emt-hb-fact[data-source="intervention"], .emt-hb-board-row[data-source="intervention"] { border-left-color: #e1a78a; }
.emt-hb-fact[data-source="unknown"], .emt-hb-board-row[data-source="unknown"] { border-left-color: #e1c680; }
.emt-hb-fact-top, .emt-hb-board-row-head { display: flex; gap: 7px; flex-wrap: wrap; align-items: center; }
.emt-hb-source { padding: 3px 6px; border: 1px solid rgba(149, 210, 220, .24); border-radius: 4px; background: rgba(94, 155, 174, .1); color: #c9e6e9; font-size: .67rem; font-weight: 800; line-height: 1.2; }
.emt-hb-fact time { margin-left: auto; color: #9fbcc8; font-size: .75rem; font-variant-numeric: tabular-nums; }
.emt-hb-fact h5 { font-size: .86rem; }
.emt-hb-fact p { color: #c8dce2; font-size: .77rem; }
.emt-hb-fact button { margin-top: auto; width: 100%; font-size: .72rem; }
.emt-hb-board { padding: 0; list-style: none; }
.emt-hb-board-row { display: grid; gap: 9px; padding: 11px; border: 1px solid rgba(146, 199, 216, .25); border-left: 4px solid #8bcbd5; border-radius: 8px; background: #112b3a; }
.emt-hb-board-row[data-confused="true"] { border-color: rgba(238, 169, 111, .55); background: #2a2b32; }
.emt-hb-position { width: 24px; height: 24px; display: inline-grid; place-items: center; border-radius: 50%; background: rgba(119, 213, 215, .19); color: #b3eff0; font-size: .65rem; font-weight: 850; }
.emt-hb-board-row-head strong { font-size: .83rem; }
.emt-hb-board-row-head .emt-hb-source { margin-left: auto; }
.emt-hb-board-row > p { color: #d6e6e9; font-size: .77rem; }
.emt-hb-board-controls { display: flex; gap: 6px; flex-wrap: wrap; }
.emt-hb-board-controls button { flex: 1 1 95px; font-size: .7rem; }
.emt-hb-board-options { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; align-items: end; }
.emt-hb-time-toggle, .emt-hb-source-select { display: flex; gap: 6px; color: #c3d9e1; font-size: .7rem; font-weight: 720; line-height: 1.35; }
.emt-hb-time-toggle { align-items: center; }
.emt-hb-time-toggle input { flex: none; accent-color: #78d3cf; }
.emt-hb-source-select { display: grid; }
.emt-hb-source-select select { width: 100%; min-height: 38px; padding: 5px 7px; border: 1px solid rgba(150, 207, 222, .38); border-radius: 5px; background: #0d2230; color: #e8f3f6; font: inherit; }
.emt-hb-confusion { grid-column: 1 / -1; color: #f4c59e; font-size: .7rem; }
.emt-hb-empty { padding: 14px; border: 1px dashed rgba(148, 199, 213, .32); border-radius: 7px; color: #a9c0ca; font-size: .77rem; }
.emt-hb-assembly > button { justify-self: start; font-size: .75rem; }
.emt-hb-receiver { display: grid; gap: 12px; padding: 16px; border: 1px solid rgba(109, 206, 193, .36); border-radius: 10px; background: linear-gradient(135deg, rgba(27, 79, 86, .28), transparent 44%), #102533; }
.emt-hb-receiver-head { display: grid; gap: 5px; }
.emt-hb-receiver-head h4 { font-size: 1rem; }
.emt-hb-receiver-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.emt-hb-receiver-card { display: grid; align-content: start; gap: 6px; padding: 10px; border: 1px solid rgba(150, 198, 213, .23); border-top: 3px solid #aab9c2; border-radius: 7px; background: #0d2130; }
.emt-hb-receiver-card[data-status="known"] { border-top-color: #80d4aa; }
.emt-hb-receiver-card[data-status="partial"] { border-top-color: #e9bb79; }
.emt-hb-receiver-status { color: #aac6d0; font-size: .61rem; font-weight: 900; letter-spacing: .09em; }
.emt-hb-receiver-card[data-status="known"] .emt-hb-receiver-status { color: #a9e5c4; }
.emt-hb-receiver-card[data-status="partial"] .emt-hb-receiver-status { color: #edc88d; }
.emt-hb-receiver-card h5 { font-size: .8rem; }
.emt-hb-receiver-card ul { display: grid; gap: 5px; padding-left: 16px; color: #d1e3e6; font-size: .7rem; }
.emt-hb-receiver-card p { color: #a8bdc7; font-size: .7rem; }
.emt-hb-receiver > h5, .emt-hb-transcript h5 { font-size: .84rem; }
.emt-hb-issues { display: grid; gap: 5px; padding: 0; list-style: none; }
.emt-hb-issues li { padding: 8px 10px; border-left: 3px solid #e8b886; border-radius: 4px; background: rgba(205, 141, 88, .1); color: #f0d2b4; font-size: .73rem; }
.emt-hb-issues .emt-hb-no-issue { border-left-color: #86d5ab; background: rgba(96, 186, 130, .1); color: #c4ecd2; }
.emt-hb-receiver > button { justify-self: start; font-size: .75rem; }
.emt-hb-checkback { display: grid; gap: 10px; padding: 13px; border: 1px solid rgba(129, 205, 213, .3); border-radius: 8px; background: #0d2130; }
.emt-hb-checkback[hidden], .emt-hb-checkback-feedback[hidden] { display: none; }
.emt-hb-checkback h5 { font-size: .9rem; }
.emt-hb-checkback h5:focus-visible { outline: 2px solid #a7edff; outline-offset: 3px; }
.emt-hb-checkback > p { color: #bdd2dc; font-size: .76rem; }
.emt-hb-checkback-echo { display: grid; grid-template-columns: minmax(0, 155px) minmax(0, 1fr); gap: 7px 11px; margin: 0; font-size: .75rem; }
.emt-hb-checkback-echo dt { color: #9bdbe1; font-weight: 800; }
.emt-hb-checkback-echo dd { margin: 0; color: #e0edef; }
.emt-hb-checkback-options { display: grid; gap: 7px; margin: 0; padding: 10px 11px; border: 1px solid rgba(150, 198, 213, .27); border-radius: 7px; }
.emt-hb-checkback-options legend { padding: 0 4px; font-size: .76rem; font-weight: 800; }
.emt-hb-checkback-options label { display: flex; gap: 8px; align-items: start; color: #d8e8eb; font-size: .76rem; }
.emt-hb-checkback-options input { flex: none; margin-top: 3px; accent-color: #78d3cf; }
.emt-hb-checkback-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.emt-hb-checkback-actions button { flex: 1 1 195px; font-size: .74rem; }
.emt-hb-checkback-feedback { padding: 10px; border-left: 3px solid #e8b886; border-radius: 5px; background: rgba(205, 141, 88, .1); color: #f0d2b4 !important; }
.emt-hb-checkback-feedback[data-ready="true"] { border-left-color: #86d5ab; background: rgba(96, 186, 130, .1); color: #c4ecd2 !important; }
.emt-hb-transcript { display: grid; gap: 7px; }
.emt-hb-transcript pre { padding: 12px; border: 1px solid rgba(127, 193, 208, .23); border-radius: 7px; background: #091b29; color: #d3e7ea; font: .73rem/1.56 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.emt-hb-live { padding: 9px 11px; border: 1px solid rgba(153, 203, 215, .18); border-radius: 6px; color: #c3d9df; font-size: .73rem; }
.emt-hb-sources { color: #b1c8d0; font-size: .72rem; }
.emt-hb-sources a { color: #97d7f0; }
@media (max-width: 980px) {
  .emt-hb-workbench { grid-template-columns: 1fr; }
  .emt-hb-tray { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .emt-hb-receiver-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 660px) {
  .emt-hb-checkback-echo { grid-template-columns: 1fr; gap: 3px; }
  .emt-hb-checkback-echo dd { margin-bottom: 7px; }
  .emt-hb-scene { grid-template-columns: 45px minmax(0, 1fr); }
  .emt-hb-scene-mark { width: 42px; height: 65px; }
  .emt-hb-scene-head { left: 15px; }
  .emt-hb-scene-body { left: 8px; }
  .emt-hb-scene-controls { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
  .emt-hb-scene-controls button { flex: 1 1 130px; }
  .emt-hb-phase-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .emt-hb-phase-rail::before { display: none; }
  .emt-hb-phase-rail button { min-height: 62px; }
  .emt-hb-tray, .emt-hb-receiver-grid { grid-template-columns: 1fr; }
}
@media (max-width: 390px) {
  .emt-hb-board-options { grid-template-columns: 1fr; }
  .emt-hb-board-row-head .emt-hb-source { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .emt-handoff-builder-lab *, .emt-handoff-builder-lab *::before, .emt-handoff-builder-lab *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
