/* Composer — owner ruling 23 Sep 2026: a soft-corner rectangle in every state (single line, expanded, voice) on every device.
   Uses the card radius token so the composer matches the cards and tenant radius settings. The round send/mic controls are unchanged.
   Keyed on #inputBar so no device, height or state rule in the older sheets can put the pill back.
   master.css squares the composer's top corners whenever it follows the voice stage, even while that stage is hidden; that only
   applies now when the voice bar is actually showing, and the voice bar's own top corners use the same radius. */
#inputBar.composer{border-radius:var(--r-card,12px)}
.screen .voice-bar{border-radius:var(--r-card,12px) var(--r-card,12px) 0 0}

/* The fitted particle ink fills the control, independent of the ordinary icon size. */
#inputBar .send.conversation-orb .orb,
#inputBar .send.conversation-orb .orb svg{width:100%;height:100%}
/* A speech failure is readable content in the field row, never an overlay on a draft or controls. */
#inputBar.has-voice-status .composer-row{flex-direction:column}
#voiceStatus{font:inherit;font-size:var(--composer-font);line-height:1.5;color:var(--muted);white-space:normal;overflow-wrap:anywhere;padding:0 0 8px}

/* Voice notices float as a 3-second pill above the composer (owner ruling 24 Sep 2026): tenant primary colour, white text, centred.
   Absolutely positioned, so the composer and the welcome above it never change size. */
#composer.composer-wrap{position:relative}
#composer .voice-toast{position:absolute;left:0;right:0;margin-inline:auto;width:fit-content;bottom:calc(100% + 10px);z-index:20;max-width:min(760px,calc(100% - 2 * var(--edge,16px)));padding:9px 18px;border-radius:999px;background:var(--accent);color:#fff;font-size:max(13px,calc(14 * var(--st,1px)));font-weight:600;line-height:1.4;text-align:center;text-wrap:balance;box-shadow:0 8px 24px -8px color-mix(in srgb,var(--accent) 60%,transparent);opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
#composer .voice-toast.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){#composer .voice-toast{transition:none}}
