.direct-layout .message.user{margin-left:14%;flex-direction:row-reverse}.direct-layout .message.user .message-body{padding:14px 16px;background:var(--surface2);border-radius:14px}.direct-layout .message.user .message-meta{text-align:right}.direct-layout .message.assistant{margin-right:7%}.direct-layout .work-status .message-meta{flex-wrap:wrap;column-gap:8px;row-gap:0}.direct-layout .work-status .message-meta time{margin-left:0}.direct-future:hover{background:transparent}.stage-sidebar .stage-number .icon{width:15px;height:15px}@media(max-width:600px){.direct-layout .message.user{margin-left:9%}.direct-layout .message.assistant{margin-right:4%}.direct-layout .message.user .message-body{padding:12px}}
.direct-delivery{padding:8px 0}.direct-delivery summary{cursor:pointer;margin-bottom:10px}.direct-question{padding:16px;border:1px solid var(--border);border-radius:12px}.direct-question fieldset{border:0;padding:12px 0}.direct-question legend{font-weight:600}.direct-question textarea{min-height:70px}.direct-annotated{position:relative}.direct-annotated img{display:block;width:100%;height:auto}.direct-annotated svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.direct-annotated rect{fill:none;stroke:#e34b3e;stroke-width:4}.direct-annotated text{fill:#e34b3e;font-size:22px;paint-order:stroke;stroke:white;stroke-width:3}.direct-prompts{padding:24px;margin-bottom:20px;display:grid;gap:20px}.direct-prompts textarea{min-height:250px;font-family:inherit}.direct-prompts h2{font-size:17px}@media(max-width:700px){.direct-prompts{padding:14px}}

.parallel-settings{margin-top:20px}.parallel-settings input[type=number]{max-width:180px}.queue-current+.queue-current{margin-top:10px}
/* Preserve messages, scroll and animation across background refreshes. */
.direct-layout .messages{overflow-anchor:none;scrollbar-gutter:stable}
.direct-layout .message,.direct-layout .message-body{min-width:0}
.message-arriving>.message-body{animation:message-arrive .28s ease-out both}
@keyframes message-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.bot-typing{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 0;color:var(--muted);font-size:12px;line-height:1.6}
.typing-orbit{display:inline-flex;align-items:center;gap:4px;flex:none;height:22px;padding:0 2px}
.typing-orbit i{width:5px;height:5px;border-radius:50%;background:var(--blue);animation:typing-wave 1.35s ease-in-out infinite}
.typing-orbit i:nth-child(2){animation-delay:.16s}.typing-orbit i:nth-child(3){animation-delay:.32s}
.typing-ellipsis{display:inline-block;width:1em;animation:typing-glow 1.6s ease-in-out infinite}
.engineer-reaction{display:table;margin:8px 0 0 auto;padding:2px 8px;border:1px solid var(--border);border-radius:20px;background:var(--surface);font-size:16px;line-height:1.5}
.engineer-reaction.reaction-arriving{animation:reaction-arrive .85s cubic-bezier(.2,.8,.3,1) both}
@keyframes reaction-arrive{0%{opacity:0;transform:scale(.45) rotate(-14deg);box-shadow:0 0 0 0 color-mix(in srgb,var(--blue) 30%,transparent)}40%{opacity:1;transform:scale(1.25) rotate(6deg);box-shadow:0 0 0 7px color-mix(in srgb,var(--blue) 15%,transparent)}70%{transform:scale(.96) rotate(-2deg)}100%{opacity:1;transform:scale(1) rotate(0);box-shadow:0 0 0 13px transparent}}
@keyframes typing-wave{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}
@keyframes typing-glow{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.message-arriving>.message-body,.typing-orbit i,.typing-ellipsis,.engineer-reaction.reaction-arriving{animation:none}.typing-orbit i{opacity:.65}}

.direct-layout .message.assistant{padding:16px;margin-top:16px;border-radius:14px;align-items:flex-start;gap:12px;transition:background-color .2s ease}
.direct-layout .message.assistant .message-meta{display:flex;align-items:center;gap:8px;min-height:40px;margin-top:0}
.direct-layout .message.assistant>.bot-avatar,.direct-layout .message.assistant>.bot-avatar img{animation:none;transition:none}

.chat-work-time{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--muted);margin-top:8px}.chat-work-time strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}

.delivery-transfer{margin-top:14px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.stage-materials+.stage-materials{margin-top:18px}.stage-materials>strong{display:block;font-size:13px;margin-bottom:8px}

.feedback-control{position:relative;display:flex;justify-content:flex-end;height:28px;margin-top:8px;opacity:0;pointer-events:none;transition:opacity .16s ease}.message.assistant:hover .feedback-control,.feedback-control:focus-within,.feedback-control.open,.feedback-control.has-reaction{opacity:1;pointer-events:auto}.feedback-launch{display:flex;align-items:center;justify-content:center;width:30px;height:28px;padding:3px;border:1px solid var(--border);border-radius:16px;color:var(--muted);background:var(--surface);cursor:pointer}.feedback-launch:hover,.feedback-launch:focus-visible{color:var(--blue);border-color:var(--blue)}.message.assistant:hover .feedback-launch:not(:has(.feedback-chosen)) svg{animation:feedback-invite 1.8s ease-in-out infinite}.feedback-chosen{font-size:17px;line-height:1}.feedback-picker{position:absolute;right:0;bottom:36px;display:flex;gap:4px;padding:7px;border:1px solid var(--border);border-radius:15px;background:var(--surface);box-shadow:0 8px 28px #15233b24;z-index:6;animation:feedback-picker-in .16s ease-out}.feedback-button{border:1px solid transparent;border-radius:9px;background:transparent;cursor:pointer;font-size:20px;padding:5px 7px;transition:background .15s,transform .15s}.feedback-button:hover,.feedback-button:focus-visible{background:var(--soft,#edf3ff);transform:translateY(-3px) scale(1.13)}.feedback-button.selected{border-color:#8bb2f4;background:#edf3ff}.feedback-button:disabled{cursor:wait}.user-feedback-saved{display:block;margin-top:10px;font-size:16px}@keyframes feedback-invite{0%,100%{transform:rotate(0) scale(1)}40%{transform:rotate(-8deg) scale(1.1)}65%{transform:rotate(5deg) scale(1.05)}}@keyframes feedback-picker-in{from{opacity:0;transform:translateY(5px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(hover:none),(pointer:coarse){.feedback-control{opacity:1;pointer-events:auto}}@media(prefers-reduced-motion:reduce){.feedback-control,.feedback-button{transition:none}.feedback-launch svg,.feedback-picker{animation:none!important}.feedback-button:hover{transform:none}}

/* The waiting bubble becomes the answer in place; the next bubble starts after this finishes. */
.message-settling>.message-body{animation:message-send .3s ease-out both}.message-settling .bot-typing{animation:typing-finish .3s ease-out both}
@keyframes message-send{from{opacity:.88;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}
@keyframes typing-finish{to{opacity:0;transform:translateY(-3px)}}
.direct-question{margin-top:16px;padding:22px;background:var(--surface);box-shadow:0 5px 20px #16365b08}.question-heading{display:flex;gap:12px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--border)}.question-heading-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--blue-soft,#edf3ff);color:var(--blue);font-size:20px;font-weight:700;flex:none}.question-heading strong{font-size:16px}.question-heading p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.direct-question fieldset{min-width:0;margin:20px 0 0;padding:0 0 20px;border-bottom:1px solid var(--border)}.direct-question legend,.question-number{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;margin-bottom:9px}.question-title{font-weight:600;font-size:15px;line-height:1.65;margin-bottom:14px;overflow-wrap:anywhere}.question-title p{margin:0 0 8px}.question-options{display:grid;gap:8px}.question-option{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .15s,background-color .15s;font-size:13px;line-height:1.65}.question-option:hover{border-color:var(--blue)}.question-option.selected{border-color:var(--blue);background:var(--blue-soft,#edf3ff)}.question-option input[type=radio]{width:16px;height:16px;flex:none;margin:3px 0 0;accent-color:var(--blue)}.question-option>span{min-width:0;overflow-wrap:anywhere}.question-option p{margin:0}.question-custom{margin-top:12px}.question-custom[hidden]{display:none}.direct-question textarea{min-height:92px;resize:vertical;font-family:inherit;font-size:14px}.question-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px}.question-actions .hint{white-space:nowrap;font-size:12px}.question-actions button{font-size:12px}.question-history{margin-top:16px}.question-history section+section{margin-top:22px}.question-history-answer{border-left:3px solid var(--blue);padding:8px 14px;background:var(--surface2);border-radius:0 8px 8px 0}.question-history .question-title{margin-bottom:8px}.login-downloads{width:100%;margin-top:14px}
@media(max-width:650px){.direct-question{padding:14px}.question-actions{align-items:stretch;flex-direction:column}.question-actions button{width:100%}.question-option{padding:11px}.question-title{font-size:14px}}
@media(prefers-reduced-motion:reduce){.message-settling>.message-body,.message-settling .bot-typing{animation:none}.question-option{transition:none}}

.direct-job-head [data-action="direct-pause"]{white-space:normal;max-width:100%;text-align:left;line-height:1.4}.direct-job-head .row.wrap{min-width:0;max-width:100%}
