/* A graphite dialogue instrument beneath Relay's editorial wordmark. */
#dialogue-engine .project-visual { grid-column:1/8;grid-row:3;align-self:start;transform:none;margin:18px 24px 28px 0;min-width:0; }
#dialogue-engine .project-copy { grid-column:8/13;grid-row:3;align-self:center;padding:20px 0 25px; }
#dialogue-engine .project-visual figcaption { margin-top:14px; }
.relay-exhibit { --relay-fade:1;--relay-timer:0;display:flex;flex-direction:column;width:100%;max-width:620px;height:430px;position:relative;isolation:isolate;border:1px solid #282d42;background:#151722;color:#eef1fa;box-shadow:5px 7px 0 #8f9bb32b;transform:rotate(-1deg);transform-origin:center;text-rendering:geometricPrecision; }
.relay-topline { background:linear-gradient(112deg,#2a3144,#fff 28%,#8e9bb3 38%,#fff 55%,#495470 70%,#dce2f0 85%);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px 9px;border-bottom:1px solid #282d42; }
.relay-badge { padding:6px 8px;border:1px solid #919bb0;background:linear-gradient(112deg,#2a3144,#fff 28%,#8e9bb3 38%,#fff 55%,#495470 70%,#dce2f0 85%);color:#151722;font:600 9px/1.3 var(--mono);letter-spacing:.02em; }
.relay-fsm { padding:3px 4px;background:#eef1fad9;border:1px solid #8e9bb388;color:#20283b;font:8px/1.5 var(--mono);text-align:right; }
.relay-hud { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:9px 12px;border-bottom:1px solid #282d42; }
.relay-hud>[data-criterion] { display:flex;align-items:center;gap:5px;min-width:0;padding:5px 6px;border:1px solid #383f5a;color:#dbe3fa;font:8px/1.4 var(--mono);opacity:.4;transition:opacity .2s,border-color .2s,background .2s; }
.relay-hud i { width:3px;height:3px;flex:none;background:#fff;opacity:.4; }
.relay-hud>[data-locked='true'] { opacity:1;border-color:#315bff99;background:#315bff22; }.relay-hud>[data-locked='true'] i { opacity:1; }
.relay-stream { flex:1;min-height:0;overflow:hidden;pointer-events:none;display:flex;flex-direction:column;gap:8px;padding:12px; }
.relay-stream>* { flex:none; }.relay-exhibit[data-enhanced] .relay-stream { opacity:var(--relay-fade); }
.relay-msg { min-width:0;padding:9px 11px;max-width:94%;font:12px/1.5 var(--sans);overflow-wrap:anywhere; }
.relay-msg p { margin:0; }.relay-msg--client { align-self:flex-end;background:#f7f7fa;color:#191923;border:1px solid #e6e8f0;border-radius:7px 7px 0 7px; }
.relay-msg--agent { align-self:flex-start;background:#1f2233;border:1px solid #313752;color:#eef1fa;border-radius:0 7px 7px 7px; }
.relay-msg-meta { display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:5px;font:9px/1.4 var(--mono);color:#a9b3cf;overflow-wrap:anywhere; }
.relay-msg--client .relay-msg-meta { color:#676d81; }.relay-msg-meta time { color:#8a8fa3;flex:none; }
.relay-selection { margin-top:9px;padding:7px 8px;border-left:2px solid #f2a5d1;background:#171a29; }
.relay-selection ul { margin:0;padding-left:13px;font-size:11px;line-height:1.6; }.relay-selection li+li { margin-top:2px; }
.relay-file { display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:7px;padding-top:7px;border-top:1px solid #313752;font:9px/1.4 var(--mono); }
.relay-file-icon { color:#f2a5d1;font-size:13px; }.relay-ack { margin-left:auto;color:#315bff;font:600 9px/1.4 var(--mono);white-space:nowrap; }
.relay-typing { display:none;align-items:center;gap:4px;color:#a9b3cf;font:10px/1.5 var(--mono);padding:5px 2px; }
.relay-typing i { display:block;width:3px;height:3px;background:#aeb8cf; }.relay-typing span { margin-left:5px; }
.relay-guard { border:1px solid #313752;background:#191c2b;padding:9px 10px;font:9px/1.5 var(--mono); }
.relay-timer { display:flex;align-items:start;gap:5px;color:#b7c2df; }.relay-timer-track { display:block;height:2px;margin-top:7px;background:#282d42; }.relay-timer-track i { display:block;width:100%;height:100%;transform:scaleX(var(--relay-timer));transform-origin:left;background:#315bff; }
.relay-guard .relay-msg { margin:9px 0 0 auto;max-width:92%; }
.relay-cancelled { margin:8px 0 0;color:#f2a5d1;font:9px/1.5 var(--mono); }
.relay-guard[data-guard='waiting'] .relay-cancelled { display:none; }.relay-guard[data-guard='cancelled'] { border-color:#f2a5d177;background:linear-gradient(100deg,#f2a5d10a,#dce2f008); }
.relay-guard[data-guard='cancelled'] .relay-timer { color:#8a8fa3;text-decoration:line-through;text-decoration-color:#f2a5d1; }.relay-guard[data-guard='cancelled'] .relay-timer-track i { background:linear-gradient(90deg,#f2a5d1,#dce2f0); }
.relay-bottomline { display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;border-top:1px solid #282d42;font:9px/1.5 var(--mono);color:#aeb8cf; }
.relay-telemetry { color:#8a8fa3;font-size:9px;white-space:nowrap; }
.relay-exhibit [hidden] { display:none!important; }
@media(max-width:1100px) and (min-width:901px) { #dialogue-engine .project-visual { grid-column:1/9; }#dialogue-engine .project-copy { grid-column:9/13; }.relay-fsm { font-size:7px; } }
@media(max-width:900px) {
 #dialogue-engine .project-visual { grid-column:1/7;grid-row:3;margin:24px 4px 24px; }#dialogue-engine .project-copy { grid-column:1/7;grid-row:4;padding:12px 0 20px; }
 .relay-exhibit { height:456px;transform:rotate(-.4deg); }.relay-topline { display:grid;gap:7px;padding:10px; }.relay-badge { justify-self:start;font-size:9px; }.relay-fsm { text-align:left;font-size:9px; }
 .relay-hud { grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 10px;gap:5px; }.relay-hud>[data-criterion] { font-size:9px;padding:5px; }
 .relay-stream { gap:6px;padding:10px; }.relay-msg { max-width:100%;padding:8px 10px;font-size:12px; }.relay-msg-meta { font-size:9px;gap:5px; }
 .relay-selection { padding:6px 7px; }.relay-selection ul { font-size:10px; }.relay-file { font-size:9px; }.relay-ack { font-size:9px; }
 .relay-bottomline { display:block;font-size:9px;padding:8px 10px; }.relay-telemetry { display:block;margin-top:3px; }
}
@media(prefers-reduced-motion:reduce) { .relay-exhibit * { transition:none!important; } }

/* Without a clock, the complete transcript remains readable in page flow. */
.relay-exhibit:not([data-enhanced]) { height:auto; }
.relay-exhibit:not([data-enhanced]) .relay-stream { flex:none; }
