.composer{gap:8px;width:100%;display:grid}.composer__above{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.composer__box{border:1px solid var(--ds-border);background:var(--ds-surface);min-width:0;box-shadow:var(--ds-shadow-md);border-radius:26px;align-items:flex-end;gap:4px;padding:6px;transition:border-color .2s,box-shadow .2s;display:flex}.composer__box[data-dragging]{border-color:var(--ds-primary)}.composer__box[data-disabled]{opacity:.6}.composer__icon,.composer__send,.composer__lead{width:40px;height:40px;color:var(--ds-text-secondary);background:0 0;border:0;border-radius:999px;flex:none;place-items:center;display:inline-grid}.composer__lead{color:var(--ds-primary)}.composer__icon{cursor:pointer}.composer__icon:hover:not(:disabled){background:var(--ds-surface-sunken);color:var(--ds-text-primary)}.composer__icon:focus-visible,.composer__send:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}.composer__input{resize:none;min-width:0;color:var(--ds-text-primary);font:inherit;background:0 0;border:0;outline:none;flex:auto;max-height:180px;padding:10px 8px;font-size:15px;line-height:20px}.composer__input::placeholder{color:var(--ds-text-muted)}.composer__send{cursor:pointer;background:var(--ds-primary);width:36px;height:36px;color:var(--ds-primary-ink);margin:2px;transition:background .15s,transform .15s}.composer__send:hover:not(:disabled){transform:translateY(-1px)}.composer__send:disabled{cursor:default;background:var(--ds-surface-sunken);color:var(--ds-text-muted)}.composer__send--stop{background:var(--ds-text-primary);color:var(--ds-surface)}.composer--large .composer__box{border-radius:30px;padding:8px}.composer--large .composer__input{padding:12px 8px;font-size:16px}.composer__menu{min-width:300px}.composer__menu-item{align-items:flex-start;gap:10px;padding-block:2px;display:flex}.composer__menu-icon{color:var(--ds-text-secondary);flex:none;margin-top:2px}.composer__menu-text{gap:2px;display:grid}.composer__menu-label{color:var(--ds-text-primary);font-weight:500}.composer__menu-hint{color:var(--ds-text-muted);font-size:12px}@media (prefers-reduced-motion:reduce){.composer__send,.composer__box{transition:none}}.composer[data-footer]>.ai-beam{box-shadow:0 0 0 1px var(--ds-border), var(--ds-shadow-lg,var(--ds-shadow-md));border-radius:30px}.composer[data-footer] .composer__box{box-shadow:none;border:0;border-radius:30px 30px 0 0}.composer__footer{background:var(--ds-surface);border-radius:0 0 30px 30px;padding:0 16px 12px}.composer__box[data-files]{border-radius:22px;flex-wrap:wrap}.composer__files{flex-wrap:wrap;flex:1 0 100%;gap:8px;max-height:128px;margin:0;padding:4px 4px 6px;list-style:none;display:flex;overflow-y:auto}.composer__file{background:var(--ds-surface-sunken);border-radius:14px;align-items:center;gap:10px;min-width:0;max-width:240px;padding:6px 30px 6px 6px;display:flex;position:relative}.composer__file-mark{background:var(--ds-accent-info-bg);width:36px;height:36px;color:var(--ds-accent-info-ink);border-radius:10px;flex:none;place-items:center;display:inline-grid;overflow:hidden}.composer__file[data-tone=data] .composer__file-mark{background:var(--ds-accent-success-bg);color:var(--ds-accent-success-ink)}.composer__file-mark img{object-fit:cover;width:100%;height:100%}.composer__file-text{flex-direction:column;min-width:0;display:flex}.composer__file-name{font-size:var(--fs-13,13px);font-weight:var(--fw-600,600);color:var(--ds-text-primary);text-overflow:ellipsis;white-space:nowrap;line-height:18px;overflow:hidden}.composer__file-meta{font-size:var(--fs-12,12px);color:var(--ds-text-muted);line-height:16px}.composer__file-remove{background:var(--ds-surface);width:20px;height:20px;color:var(--ds-text-secondary);box-shadow:0 1px 2px color-mix(in srgb, var(--ds-text-primary) 12%, transparent);cursor:pointer;opacity:0;border:0;border-radius:999px;place-items:center;transition:opacity .15s;display:inline-grid;position:absolute;top:6px;right:6px}.composer__file:hover .composer__file-remove,.composer__file:focus-within .composer__file-remove{opacity:1}@media (hover:none){.composer__file-remove{opacity:1}}
