/* Shared visual rules for the pose prompt and library smart search. */
body .ls-composer{left:50%;bottom:max(32px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(860px,calc(100% - 32px));box-sizing:border-box;margin:0;padding:8px;background:var(--paper);background:color-mix(in srgb,var(--paper) 94%,transparent);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 32px #0003;color:var(--ink)}
.ls-composer-row{display:flex;align-items:stretch;gap:8px}
body .ls-composer{opacity:1;transition:opacity .28s ease}
.ls-composer.is-muted:not(:focus-within){opacity:var(--composer-muted-opacity,.32)}
@media(prefers-reduced-motion:reduce){body .ls-composer{transition:none}}
body .ls-composer .ls-composer-input{box-sizing:border-box;display:block;flex:1;min-width:0;width:100%;height:64px;min-height:64px;max-height:64px;margin:0;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:400 14px/1.5 var(--sans)}
body .ls-composer .ls-composer-input::placeholder{color:var(--muted)}
body .ls-composer .ls-composer-input:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}
.ls-composer-field{position:relative;flex:1;min-width:0}
body .ls-composer .ls-composer-field .ls-composer-input{padding-right:58px}
body .ls-composer .ls-composer-microphone{position:absolute;top:10px;right:7px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;margin:0;padding:11px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}
body .ls-composer .ls-composer-microphone:hover{color:var(--ink);background:var(--hover)}
body .ls-composer .ls-composer-microphone[aria-pressed=true]{color:var(--action-ink);background:var(--accent)}
.ls-composer-microphone svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.ls-composer-microphone [data-voice-stop],.ls-composer-microphone[aria-pressed=true] [data-voice-mic]{display:none}
.ls-composer-microphone[aria-pressed=true] [data-voice-stop]{display:block;fill:currentColor;stroke:none}
.ls-composer-microphone:disabled{opacity:.5;cursor:default}
body .ls-composer .ls-composer-submit{align-self:stretch;min-width:88px;min-height:44px;margin:0;padding:10px;border:1px solid transparent;border-radius:6px;background:var(--accent);color:var(--action-ink);font:600 14px/1.4 var(--sans);white-space:nowrap;cursor:pointer}
.ls-composer .ls-composer-submit:disabled{opacity:.5;cursor:default}
.ls-composer-feedback{display:flex;align-items:center;gap:8px;min-height:28px;padding-top:4px;font-size:12px;line-height:1.5;color:var(--muted)}
.ls-composer-feedback [role=status]{margin:0;min-width:0;flex:1}
body .ls-composer-feedback button{flex:none;min-height:28px;margin:0;padding:3px 6px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font:500 12px/1.4 var(--sans);cursor:pointer}
.ls-composer-feedback a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.ls-composer[aria-busy=true]{visibility:hidden}
@media(max-width:600px){body .ls-composer{width:calc(100% - 16px);bottom:max(24px,env(safe-area-inset-bottom));padding:6px;border-radius:10px}body .ls-composer .ls-composer-input{font-size:16px}}

/* Keep limits and microphone feedback visible beside the draft, in every locale. */
.ls-composer-hint{display:flex;align-items:baseline;gap:12px;margin-top:5px;font:400 12px/1.5 var(--sans);color:var(--muted)}
.ls-composer-hint[hidden]{display:none}
.ls-composer-hint-message{flex:1;min-width:0;overflow-wrap:anywhere}
.ls-composer-count{flex:none;margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}
.ls-composer-hint.is-limit{color:var(--ink)}

/* Feedback and the character count share one footer; longer errors stay readable. */
.ls-composer-meta{display:flex;align-items:center;gap:12px;min-width:0;margin-top:4px;font:400 12px/1.5 var(--sans);color:var(--muted)}
.ls-composer-meta .ls-composer-feedback{flex:1;min-width:0;flex-wrap:nowrap;padding-top:0}
.ls-composer-meta .ls-composer-feedback a{flex:none;white-space:nowrap;min-height:28px;display:inline-flex;align-items:center}
.ls-composer-meta .ls-composer-feedback.has-login-link [role=status]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ls-composer-meta .ls-composer-count{align-self:center}
@media(max-width:600px){
 body .ls-composer{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 16px)}
 body .ls-composer .ls-composer-input{height:52px;min-height:52px;max-height:52px}
 body .ls-composer .ls-composer-microphone{top:4px;right:3px}
 body .ls-composer .ls-composer-field .ls-composer-input{padding-right:48px}
 body .ls-composer .ls-composer-submit{min-width:68px;padding-inline:8px}
 .ls-composer-meta{gap:8px}
}
