/* Shared message composition. Full media belongs in the rendered preview. */
.message-studio.direct-message { padding:0; background:var(--surface); border:1px solid var(--line); border-radius:var(--editor-radius); overflow:visible; }
.message-studio .direct-toolbar { position:static; visibility:visible; display:flex; flex-wrap:wrap; gap:6px; align-items:center; box-shadow:none; border:0; border-bottom:1px solid var(--line); border-radius:var(--editor-radius) var(--editor-radius) 0 0; padding:8px; background:var(--surface-2); }
.studio-tool-group { display:flex; gap:2px; align-items:center; }
.studio-tool-group + .studio-tool-group { padding-left:6px; border-left:1px solid var(--line); }
.message-studio .direct-toolbar button { display:inline-flex; align-items:center; justify-content:center; width:var(--editor-control-height); height:var(--editor-control-height); min-height:var(--editor-control-height); padding:5px; border:1px solid transparent; border-radius:6px; color:var(--ink); background:transparent; font-size:15px; cursor:pointer; }
.message-studio .direct-toolbar button:hover:not(:disabled),.message-studio .direct-toolbar [aria-pressed=true] { background:var(--accent-soft); border-color:var(--accent); color:var(--accent-text); }
.message-studio .direct-toolbar button:disabled { color:var(--disabled-ink); cursor:default; }
.message-studio .direct-toolbar button { white-space:nowrap; line-height:1; flex-shrink:0; }
.message-studio .direct-toolbar svg { width:17px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.message-studio .direct-toolbar button:focus-visible,.message-studio .studio-media button:focus-visible { outline:2px solid var(--accent-text); outline-offset:2px; }
.message-studio .studio-media-tools button { width:auto; gap:6px; padding:5px 8px; font-size:12px; }
.studio-message-body { border-left:3px solid var(--message-colour); padding:var(--editor-padding); border-radius:0 0 5px 5px; min-height:158px; overflow-wrap:anywhere; }
.message-studio [data-direct-key=title] { font-size:18px; font-weight:650; line-height:1.4; margin:0 0 12px; }
.message-studio [data-direct-key=description] { min-height:86px; line-height:1.65; font-size:14px; }
.message-studio [contenteditable]:empty::before { content:attr(data-placeholder); color:var(--muted); pointer-events:none; }
.message-studio ul,.message-bullets { padding-left:20px; margin:6px 0; white-space:normal; }
.message-studio a { color:var(--accent-text); text-decoration:underline; text-underline-offset:2px; }
:is(.message-studio,.welcome-message) blockquote { border-left:3px solid var(--line); padding-left:12px; margin:8px 0; white-space:pre-wrap; }
:is(.message-studio,.welcome-message) code { padding:2px 4px; border-radius:4px; background:var(--surface-3); font:.9em ui-monospace,Consolas,monospace; overflow-wrap:anywhere; }
.studio-media-list { display:flex; flex-wrap:wrap; gap:8px; padding:0 12px 12px; }
.studio-media { display:flex; gap:9px; align-items:center; min-width:0; max-width:100%; padding:7px; border:1px solid var(--line); border-radius:7px; background:var(--surface-2); }
.studio-media img { width:48px; height:38px; object-fit:cover; border-radius:4px; }
.studio-thumbnail img { object-fit:contain; }
.studio-media strong { display:block; font-size:12px; line-height:1.4; }
.message-studio .studio-media button { position:static; width:auto; min-height:28px; padding:3px 0; background:transparent; border:0; color:var(--accent-text); font:inherit; font-size:12px; cursor:pointer; }
.message-studio .studio-media .studio-media-remove { width:32px; height:32px; margin-left:4px; padding:3px; font-size:20px; color:var(--muted); border-radius:5px; }
.message-studio .studio-media-remove:hover { background:var(--surface); color:var(--danger); }
.message-studio label.studio-accent { display:flex; gap:5px; align-items:center; margin:0 0 0 auto; font-size:12px; font-weight:400; color:var(--muted); }
#dashboard-view .message-studio .studio-accent input,.message-studio .studio-accent input { width:26px; height:26px; min-height:26px; padding:0; border:0; box-shadow:none; cursor:pointer; background:transparent; }
.studio-accent input::-webkit-color-swatch-wrapper { padding:3px; }
.studio-accent input::-webkit-color-swatch { border:1px solid var(--line); border-radius:50%; }
.message-studio .direct-feedback { margin:8px 12px; font-size:12px; }
.message-studio .direct-feedback:empty { display:none; }
.message-studio .direct-popover { z-index:90; max-width:calc(100% - 20px); }
.message-studio [contenteditable]:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:2px; }
@media(min-width:761px) and (max-width:1350px) {
 .message-studio .studio-media-tools { flex-basis:calc(100% - 90px); border-left:0; padding-left:0; }
}
@media(max-width:760px) {
 .studio-message-body { padding:14px 12px; }
 .message-studio [data-direct-key=description] { min-height:100px; font-size:16px; }
 .message-studio .direct-toolbar { gap:5px; padding:7px; }
 .studio-history-tools { margin-left:auto; }
 .studio-media-tools { border-left:0!important; padding-left:0!important; }
 .message-studio .studio-media button { min-height:36px; }
}
@media(pointer:coarse) { .message-studio .direct-toolbar button { min-height:44px; min-width:38px; } }
