/* A single chat timeline, inside the existing dark site frame. */
.scout-lab { --lab-mono:ui-monospace,'SFMono-Regular',Consolas,monospace; color:var(--text); }
.scout-lab * { box-sizing:border-box; }
.scout-lab [hidden] { display:none !important; }
.scout-lab .lab-shell { width:min(1080px,calc(100% - 48px)); margin-inline:auto; }
.scout-lab section { padding:0; }
.scout-lab p { margin:0; }
.scout-lab h1,.scout-lab h2,.scout-lab h3 { margin:0; font-family:'Space Grotesk',sans-serif; }
.scout-lab .lab-intro { padding:12px 0; }
.scout-lab .lab-context,.scout-lab .chat-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.scout-lab .panel-index { color:var(--muted); font:10px/1.4 var(--lab-mono); letter-spacing:.12em; }
.scout-lab .simulation-tag { color:var(--accent); font:10px/1.4 var(--lab-mono); }
.scout-lab h1 { margin-top:8px; font-size:clamp(24px,2.5vw,30px); line-height:1.15; letter-spacing:-.03em; }
.scout-lab .intro-copy { margin-top:6px; font-size:12px; line-height:1.5; color:var(--muted); }
.scout-lab h2 { margin-top:4px; font-size:19px; line-height:1.25; }
.scout-lab h3 { margin:22px 0 12px; font-size:18px; }
.scout-lab .chat-lab { overflow:hidden; border:1px solid var(--border); border-radius:16px; background:var(--bg-alt); }
.scout-lab .chat-heading { padding:10px 18px; border-bottom:1px solid var(--border); }
.scout-lab .flow-status { display:block; margin-top:5px; color:var(--muted); font-size:11px; line-height:1.4; }
.scout-lab .chat-timeline { margin:0; padding:8px 12px; list-style:none; height:clamp(360px,calc(100dvh - 355px),780px); overflow-y:auto; overscroll-behavior:contain; scrollbar-color:var(--border) transparent; }
.scout-lab .chat-timeline li { position:relative; margin:0; padding:16px 14px; border:0; border-bottom:1px solid var(--border); border-radius:0; background:transparent; }
.scout-lab .chat-timeline li[data-current=true] { background:var(--surface); border-left:3px solid var(--accent-cool); }
.scout-lab .message-route { display:flex; flex-wrap:wrap; gap:6px; font-size:11px; line-height:1.5; color:var(--accent-cool); }
.scout-lab [data-sender=treasury] .message-route { color:var(--accent); }
.scout-lab .message-route span { color:var(--muted); }
.scout-lab .chat-timeline p { margin-top:8px; font-size:15px; line-height:1.6; }
.scout-lab .delivery-status { display:block; margin-top:7px; color:var(--muted); font:9px/1.3 var(--lab-mono); }
.scout-lab .chat-timeline li[data-kind=money] { margin:0; background:transparent; }
.scout-lab .chat-timeline [data-kind=money] .event-title { color:var(--accent); font-size:12px; }
.scout-lab .chat-timeline li[data-kind=confirmation],.scout-lab .chat-timeline li[data-kind=cycle],.scout-lab .chat-timeline li[data-kind=notice] { margin:0; padding:10px 14px; border:0; border-radius:0; background:transparent; }
.scout-lab .chat-timeline .event-title { color:var(--accent-cool); font-size:11px; line-height:1.5; }
.scout-lab .chat-timeline li:not([data-kind=message]) p { color:var(--muted); font-size:12px; }
.scout-lab .chat-controls { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:16px 22px; border-top:1px solid var(--border); }
.scout-lab .chat-controls > div > span { font-size:12px; color:var(--accent-cool); }
.scout-lab .help { margin-top:5px; color:var(--muted); font:10px/1.5 var(--lab-mono); }
.scout-lab .control-actions { display:flex; align-items:center; gap:12px; }
.scout-lab button { padding:11px 16px; border:1px solid var(--border); border-radius:8px; background:var(--bg-alt); color:var(--text); font:12px/1.4 var(--lab-mono); cursor:pointer; }
.scout-lab button.primary { background:var(--accent); color:var(--bg); border-color:var(--accent); font-weight:700; }
.scout-lab button.primary:hover:not(:disabled) { background:var(--accent-strong); border-color:var(--accent-strong); }
.scout-lab button:disabled { opacity:.55; cursor:default; }
.scout-lab button.text-button { padding:8px 0; border:0; background:transparent; color:var(--muted); }
.scout-lab :focus-visible { outline:3px solid var(--accent-cool); outline-offset:4px; }
.scout-lab .decision { padding:12px 22px; border-top:1px solid var(--accent); color:var(--accent); font-size:13px; line-height:1.5; }
.scout-lab .lab-reference { border-top:1px solid var(--border); margin-top:20px; padding-top:14px; font-size:12px; }
.scout-lab summary { cursor:pointer; line-height:1.5; }
.scout-lab .journal-toolbar { display:flex; justify-content:space-between; gap:12px; margin-top:20px; color:var(--muted); font:10px/1.5 var(--lab-mono); }
.scout-lab .journal { margin:12px 0 0; padding:0; list-style:none; max-height:300px; overflow-y:auto; font:11px/1.5 var(--lab-mono); }
.scout-lab .journal li { padding:14px 0; border-top:1px solid var(--border); }
.scout-lab .event-head { color:var(--accent); }
.scout-lab .journal p { margin:7px 0; }
.scout-lab .journal code { color:var(--muted); font:inherit; overflow-wrap:anywhere; }
.scout-lab .reference-content { padding-top:16px; }
.scout-lab .reference-content p { margin:12px 0; font-size:14px; line-height:1.6; }
.scout-lab .reference-content a { color:var(--accent-cool); text-decoration:underline; }
.scout-lab .method-note { padding:14px; border-left:2px solid var(--accent); }
.scout-lab .lab-note { margin-top:20px; margin-bottom:32px; color:var(--muted); font:10px/1.5 var(--lab-mono); }
@media (min-width:761px) {
  .scout-lab .chat-heading > div { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:4px 10px; }
  .scout-lab .chat-heading h2 { margin:0; font-size:17px; }
  .scout-lab .chat-heading .flow-status { grid-column:1 / -1; margin-top:0; }
  .scout-lab #treasury-card { height:74px; }
  .scout-lab #treasury-card .account-detail { display:block; }
}
/* Accounts and timeline stay together throughout the guided sequence. */
.scout-lab .step-instruction { padding:10px 22px; color:var(--text); border-bottom:1px solid var(--border); font-size:12px; line-height:1.5; }
.scout-lab .flow-workspace { display:grid; grid-template-columns:248px minmax(0,1fr); align-items:stretch; }
.scout-lab .account-panel { min-width:0; border-right:1px solid var(--border); background:var(--bg); }
.scout-lab .account-panel h3 { display:flex; align-items:center; justify-content:space-between; margin:0; padding:8px 12px; font-size:12px; }
.scout-lab .account-panel h3 span { color:var(--muted); font:8px/1.4 var(--lab-mono); }
.scout-lab .agent-stage { display:grid; gap:4px; padding:0 8px 8px; }
.scout-lab .credit-cards,.scout-lab .oversight-agents { display:contents; }
.scout-lab .actor { --actor-color:var(--accent-cool); height:64px; min-width:0; padding:6px; border:1px solid var(--border); border-radius:7px; background:var(--bg-alt); }
.scout-lab #treasury-card { --actor-color:var(--accent); order:0; }
.scout-lab #europe-card { order:1; }
.scout-lab #us-card { order:2; }
.scout-lab #australia-card { order:3; }
.scout-lab #operator-card { --actor-color:#a2caff; order:4; }
.scout-lab .actor[data-interaction-role=sender] { border-color:var(--accent); box-shadow:inset 3px 0 var(--accent); background:var(--surface); }
.scout-lab .actor[data-interaction-role=recipient] { border-color:var(--accent-cool); box-shadow:inset 3px 0 var(--accent-cool); background:var(--surface); }
.scout-lab .actor-identity { display:flex; align-items:center; gap:8px; height:100%; min-width:0; }
.scout-lab .actor-identity > div { display:grid; gap:0; min-width:0; flex:1; }
.scout-lab .actor-name { color:var(--text); font-size:11px; line-height:1.15; }
.scout-lab .short-name { display:none; }
.scout-lab .account-detail { display:none; }
.scout-lab .account-detail,.scout-lab .actor-identity small { color:var(--muted); font:8px/1.25 var(--lab-mono); }
.scout-lab .actor-identity small { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.scout-lab .actor-identity b { color:var(--actor-color); font:14px/1.15 var(--lab-mono); }
.scout-lab .agent-activity { min-height:10px; color:var(--muted); font:8px/1.25 var(--lab-mono); }
.scout-lab [data-interaction-role=sender] .agent-activity { color:var(--accent); }
.scout-lab [data-interaction-role=recipient] .agent-activity { color:var(--accent-cool); }
.scout-lab .agent-avatar { position:relative; display:inline-flex; width:52px; height:44px; flex-shrink:0; }
.scout-lab .agent-avatar img { width:100%; height:100%; }
.scout-lab .activity-spinner { position:absolute; right:0; bottom:0; width:16px; height:16px; border:2px solid var(--bg); border-top-color:var(--actor-color); border-right-color:var(--actor-color); border-radius:50%; background:var(--bg); animation:scout-avatar-spin .85s linear infinite; }
@keyframes scout-avatar-spin { to { transform:rotate(360deg); } }
.scout-lab .timeline-panel { min-width:0; }
.scout-lab .timeline-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:58px; padding:10px 22px; border-bottom:1px solid var(--border); }
.scout-lab .timeline-heading h3 { margin:0; font-size:15px; }
.scout-lab .interaction-route { text-align:right; }
.scout-lab #interaction-status { display:block; color:var(--muted); font:8px/1.4 var(--lab-mono); margin-bottom:4px; }
.scout-lab .interaction-route > div { display:flex; align-items:center; gap:8px; font-size:12px; }
.scout-lab .route-sender { color:var(--accent); }
.scout-lab .route-recipient { color:var(--accent-cool); }
.scout-lab .chat-avatar { width:30px; height:30px; flex-shrink:0; }
.scout-lab .message-route { align-items:center; }
.scout-lab [data-sender=operator] .message-route { color:#a2caff; }
@media (max-width:760px) {
  .scout-lab .lab-shell { width:calc(100% - 24px); }
  .scout-lab .chat-heading,.scout-lab .chat-controls { padding:12px; }
  .scout-lab .step-instruction { padding:8px 12px; font-size:11px; }
  .scout-lab .flow-workspace { grid-template-columns:1fr; }
  .scout-lab .account-panel { border-right:0; border-bottom:1px solid var(--border); }
  .scout-lab .account-panel h3 { padding:8px 10px; font-size:10px; }
  .scout-lab .agent-stage { grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; padding:0 6px 8px; }
  .scout-lab .actor { height:102px; padding:6px 2px; box-shadow:none; }
  .scout-lab .actor-identity { flex-direction:column; gap:2px; text-align:center; }
  .scout-lab .actor-identity > div { display:flex; flex-direction:column; gap:1px; width:100%; }
  .scout-lab .actor-name { font-size:9px; line-height:1.4; }
  .scout-lab .full-name { display:none; }
  .scout-lab .short-name { display:inline; }
  .scout-lab .account-detail,.scout-lab .actor-identity small { display:none; }
  .scout-lab #operator-status { display:block; white-space:normal; font-size:7px; }
  .scout-lab .actor-identity b { font-size:11px; white-space:nowrap; }
  .scout-lab #treasury-balance { font-size:9px; }
  .scout-lab .agent-activity { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:7px; }
  .scout-lab .agent-avatar { width:44px; height:36px; }
  .scout-lab .timeline-heading { padding:10px 12px; }
  .scout-lab .timeline-heading h3 { font-size:13px; }
  .scout-lab .interaction-route > div { gap:6px; font-size:10px; }
  .scout-lab .chat-timeline { height:clamp(440px,60dvh,680px); padding:6px; }
  .scout-lab .chat-timeline p { font-size:14px; }
  .scout-lab .chat-timeline li { padding:14px 10px; }
  .scout-lab .control-actions { gap:10px; }
  .scout-lab button { padding:10px 12px; font-size:11px; }
}
@media (prefers-reduced-motion:reduce) { .scout-lab .activity-spinner { animation:none; } }

.scout-lab .chat-timeline li[data-current=true] .message-route strong { color:var(--accent); }
.scout-lab .chat-timeline li[data-current=true] .message-route span { color:var(--accent-cool); }

.scout-lab [data-interaction-role=sender] .actor-name { color:var(--accent); }
.scout-lab [data-interaction-role=recipient] .actor-name { color:var(--accent-cool); }
@media (max-width:760px) {
  .scout-lab-page .nav-wrap { display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px; width:calc(100% - 24px); padding:10px 0; }
  .scout-lab-page .site-nav { grid-column:1 / -1; grid-row:2; gap:12px; justify-content:space-between; flex-wrap:nowrap; font-size:11px; }
  .scout-lab-page .nav-wrap > .btn { grid-column:2; grid-row:1; width:auto; padding:6px 12px; font-size:11px; }
  .scout-lab-page .logo { font-size:12px; }
  .scout-lab .lab-intro { padding:8px 0; }
  .scout-lab .intro-copy { display:none; }
  .scout-lab .chat-heading { height:74px; }
  .scout-lab .chat-heading h2 { display:none; }
  .scout-lab .chat-heading > div { min-width:0; max-width:180px; }
  .scout-lab .chat-heading .primary { flex:0 0 150px; }
  .scout-lab .step-instruction { min-height:32px; }
  .scout-lab .account-panel h3 { padding:6px 10px; }
  .scout-lab .agent-stage { padding-bottom:6px; }
  .scout-lab .actor { height:76px; padding:4px 2px; }
  .scout-lab .actor-identity { gap:1px; }
  .scout-lab .actor-identity > div { gap:0; }
  .scout-lab .agent-avatar { width:36px; height:28px; }
  .scout-lab .chat-timeline { height:clamp(340px,calc(100dvh - 420px),680px); }
}
/* Registered actor handles have a distinct appearance in the conversation. */
.scout-lab .actor-tag { display:inline-flex; align-items:center; padding:1px 4px; border:1px solid rgba(102,224,194,.3); border-radius:4px; background:rgba(102,224,194,.08); color:var(--accent-cool); font-family:var(--lab-mono); font-size:inherit; font-weight:700; line-height:1.2; vertical-align:baseline; white-space:nowrap; }
.scout-lab .actor-tag[data-party=sender],.scout-lab .route-sender.actor-tag,.scout-lab [data-interaction-role=sender] .actor-tag { color:var(--accent); border-color:rgba(244,201,122,.4); background:rgba(244,201,122,.08); }
.scout-lab .actor-tag[data-party=recipient],.scout-lab .route-recipient.actor-tag { color:var(--accent-cool); border-color:rgba(102,224,194,.4); }
.scout-lab .money-route { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.scout-lab .message-route .actor-tag { font-size:11px; }
.scout-lab .chat-timeline p .actor-tag { font-size:.88em; padding:1px 4px; }
@media (max-width:760px) {
  .scout-lab .account-panel .actor-tag { font-size:8px; padding:1px 2px; }
  .scout-lab .interaction-route .actor-tag { font-size:9px; }
}
.scout-lab .actor-name .short-name.actor-tag { display:none; }
@media (min-width:761px) {
  .scout-lab .actor { height:68px; }
  .scout-lab #treasury-card { height:78px; }
}
@media (max-width:760px) {
  .scout-lab .actor-name .full-name.actor-tag { display:none; }
  .scout-lab .actor-name .short-name.actor-tag { display:inline-flex; }
}

/* Playback and approval stay inside the compact dark lab. */
.scout-lab .chat-heading > .player-controls { display:flex; grid-template-columns:none; gap:8px; max-width:none; }
.scout-lab .chat-heading .player-controls .primary { flex:0 0 auto; min-width:70px; }
.scout-lab .purchase-clock { display:flex; align-items:center; gap:10px; }
.scout-lab #elapsed,.scout-lab .timeline-time { color:var(--muted); font:9px/1.4 var(--lab-mono); }
.scout-lab .timeline-time { margin-left:auto; }
.scout-lab #activity-row { display:flex; align-items:center; gap:8px; padding:12px 14px; border:0; color:var(--accent-cool); font:12px/1.4 var(--lab-mono); }
.scout-lab #activity-row .typing-label { animation:scout-typing 1s ease-in-out infinite alternate; }
@keyframes scout-typing { from { opacity:.45; } to { opacity:1; } }
.scout-lab .approval-dialog { width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 40px); padding:24px; border:1px solid var(--accent-cool); border-radius:14px; color:var(--text); background:var(--bg-alt); box-shadow:0 24px 90px #0009; }
.scout-lab .approval-dialog::backdrop { background:#030807cc; backdrop-filter:blur(3px); }
.scout-lab .approval-dialog h2 { margin:6px 0 18px; font-size:22px; }
.scout-lab .approval-dialog p { margin-top:14px; font-size:15px; line-height:1.6; }
.scout-lab .approval-dialog .help { font-size:11px; color:var(--muted); }
.scout-lab .approval-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:24px; }
@media (max-width:760px) {
  .scout-lab .chat-heading .player-controls button { padding:9px 10px; min-width:52px; }
  .scout-lab .chat-heading > div:first-child { max-width:190px; }
  .scout-lab .approval-dialog { padding:18px; }
  .scout-lab .purchase-clock { gap:8px; }
}
@media (prefers-reduced-motion:reduce) { .scout-lab #activity-row .typing-label { animation:none; } }

@media (max-width:760px) { .scout-lab .chat-heading .player-controls .primary { min-width:52px; } }
