.compose{gap:var(--space-3);border-radius:var(--radius);display:grid}.compose.is-dragging{outline:2px dashed var(--accent);outline-offset:var(--space-2)}.compose-context{font-family:var(--font-ui);font-size:var(--text-md);color:var(--muted);justify-content:space-between;align-items:baseline;margin:0;display:flex}.compose-context[hidden]{display:none}.compose-context strong{color:var(--ink-soft);overflow-wrap:anywhere;font-weight:600}.compose>textarea{resize:vertical;min-height:5.5rem;max-height:60vh}.compose-link{font:inherit;color:var(--accent);box-shadow:none;text-shadow:none;background:0 0;border:none;padding:0}.compose-link:hover{color:var(--accent-hover);background:0 0;text-decoration:underline}.compose-previews{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));margin:0;padding:0;list-style:none;display:grid}.compose-preview{gap:var(--space-2);align-content:start;display:grid;position:relative}.compose-preview img,.compose-preview video{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);width:100%;display:block}.compose-preview:has(video){grid-column:1/-1;max-width:32rem}.compose-preview video{aspect-ratio:16/9;object-fit:contain}.compose-preview textarea{font-size:var(--text-sm);resize:vertical;min-height:0}.compose-remove{top:var(--space-1);right:var(--space-1);width:1.75rem;height:1.75rem;line-height:1;font-size:var(--text-lg);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-pill);box-shadow:var(--shadow-pop);text-shadow:none;padding:0;position:absolute}.compose-remove:hover{background:var(--surface);color:var(--error)}.compose-check{align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--text-md);color:var(--ink-soft);font-weight:400;display:flex}.compose-check input{width:auto}.compose-error{padding:var(--space-2) var(--space-3);font-family:var(--font-ui);font-size:var(--text-md);color:var(--error);background:var(--error-soft);border-radius:var(--radius-sm);margin:0}.compose-foot{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.compose-send{align-items:center;gap:var(--space-4);margin-left:auto;display:flex}.compose-tools{align-items:center;gap:var(--space-3);display:flex}.compose-tool{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:none;text-shadow:none;padding:var(--space-1) var(--space-3);font-weight:500}.compose-tool:hover{background:var(--surface);color:var(--accent);border-color:var(--line-strong)}.compose-tool[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.compose-emojis{gap:var(--space-1);max-height:12rem;padding:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;margin:0;list-style:none;display:flex;overflow-y:auto}.compose-emojis button{padding:var(--space-1);border-radius:var(--radius-sm);box-shadow:none;background:0 0;border:0;place-items:center;display:grid}.compose-emojis button:hover{background:var(--accent-soft)}.compose-emojis img{object-fit:contain;width:auto;height:1.75rem;display:block}.compose-count{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--muted);font-variant-numeric:tabular-nums}.compose-count.is-low{color:var(--error);font-weight:600}.compose button:disabled{opacity:.55;cursor:default}.compose-hint{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--muted)}@media (scripting:none){.compose-js{display:none}}@media (scripting:enabled){.compose-nojs{display:none}}.compose-media{font-family:var(--font-ui);font-size:var(--text-md);color:var(--ink-soft)}.compose-media summary{cursor:pointer;width:max-content}.compose-media .compose-hint{margin:var(--space-2) 0}.compose-images{gap:var(--space-2);margin-bottom:var(--space-3);display:grid}.compose-image{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);display:grid}@media (width<=30rem){.compose-images{gap:var(--space-4)}.compose-image{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}}.compose-image input[type=file]{font-size:var(--text-sm);padding:var(--space-1) var(--space-2)}
