.orb-play .voice-pause-icon{display:none;color:#171717;width:18px;height:22px;border-left:6px solid currentColor;border-right:6px solid currentColor}
.orb-play[aria-pressed=true]>.icon{display:none}
.orb-play[aria-pressed=true]>.voice-pause-icon{display:block}
#voice-submit:disabled{background:#dedbd5;color:#78746c}
#voice-submit:disabled .icon{opacity:.45}
#voice-result{display:block;width:100%;height:44px;margin-top:20px;color-scheme:light}
#voice-result[hidden]{display:none}
#voice-form[aria-busy=true] #voice-submit .icon{visibility:hidden}
.voice-notice{position:fixed;z-index:40;left:50%;bottom:calc(108px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 40px);padding:12px 24px;border:1px solid #e2dfd9;border-radius:999px;background:#fffdfa;color:var(--ink);box-shadow:0 6px 24px rgb(38 31 21 / .1);font-size:14px;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,8px);transition:opacity .18s,transform .18s}
.voice-notice.visible{opacity:1;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){.voice-notice{transition:none}}

/* The selected orb is also the generation voice; the composer stays below it. */
.orb-demo #voice-generate-panel{border-top:1px solid #e5e2dc}
.orb-demo .voice-form{width:100%;max-width:720px;padding:24px 32px 28px}
.orb-demo .voice-form textarea{min-height:88px;max-height:180px;resize:vertical}
.voice-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}
.voice-form-actions .motion-toggle{width:44px;display:grid;place-items:center;padding:0;text-decoration:none}
.voice-form-actions .button{min-height:44px;font-size:14px;padding:10px 20px;gap:12px}
.voice-form-actions .button:not(:disabled) .icon{filter:invert(1)}
.orb-demo #voice-feedback:empty{display:none}
.voice-spoken-text{font-size:14px;line-height:1.7;margin-top:16px;color:#57534c;overflow-wrap:anywhere}
.orb-demo .voice-choice:disabled,.orb-demo .voice-arrow:disabled{opacity:.5}
.orb-demo .orb-play:disabled{cursor:wait}
.voice-call{display:flex;flex-direction:column;align-items:center;gap:12px;margin:10px 0 0}
.voice-call-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.voice-call-actions .button{min-width:0;min-height:46px;padding:11px 12px;gap:7px;font-size:13px;white-space:nowrap}
.voice-text-button{background:#fffdfa;border:1px solid #ded6ca;color:#51483c}
.voice-text-button:hover{background:#f1ece4}
.voice-text-button svg{width:18px;height:18px;flex:none}
.voice-call-dialog{position:fixed;inset:auto;margin:0;width:min(300px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto;padding:18px 20px 22px;border:1px solid #e5dfd5;border-radius:24px;background:#fffdfa;color:#302a23;box-shadow:0 14px 48px rgb(76 57 29 / .15);z-index:40;outline:none}
body:has(#voice-call-dialog[open]):not(:has(dialog:modal)){overflow:visible}
.voice-call-heading{display:flex;align-items:center;justify-content:flex-end;gap:12px;height:24px}
.voice-call-heading h2{margin:0;font-size:20px;font-weight:500;line-height:1.5}
.voice-call-close{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;padding:0;margin:-8px -8px -8px 0;color:#82776a}
.voice-call-close:hover{background:#f1ece4}
.voice-call-close:focus-visible,.voice-call-actions .button:focus-visible{outline:2px solid #bba47f;outline-offset:3px}
.voice-call-close svg{width:18px;height:18px}
.voice-call-launch .companion-orb-art{animation:voice-call-bounce 3.8s ease-in-out infinite}
.voice-call-hint{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);width:max-content;max-width:calc(100vw - 106px);padding:9px 13px;border:1px solid #eae4da;border-radius:16px;background:rgb(255 253 250 / .97);box-shadow:0 4px 18px rgb(76 57 29 / .06);color:#655b4c;font-size:12px;font-weight:400;line-height:1.5;text-align:left;cursor:pointer;transition:opacity .18s;overflow-wrap:anywhere}
.voice-call-launch[data-hint-side=right] .voice-call-hint{left:calc(100% + 10px);right:auto}
.voice-call-launch[aria-expanded=true] .voice-call-hint{opacity:0;pointer-events:none}
.voice-call-launch[aria-expanded=false] .voice-call-hint{animation:voice-call-hint-in .35s ease-out .7s backwards}
@keyframes voice-call-hint-in{from{opacity:0;transform:translateY(calc(-50% + 5px)) scale(.96)}to{opacity:1;transform:translateY(-50%) scale(1)}}
@keyframes voice-call-bounce{0%,42%,100%{transform:translateY(0) scale(1)}12%{transform:translateY(-12px) scale(.98,1.02)}24%{transform:translateY(1px) scale(1.035,.965)}32%{transform:translateY(-5px) scale(.99,1.01)}}
@media(prefers-reduced-motion:reduce){.voice-call-hint{transition:none;animation:none!important}}
.voice-call-button{min-height:48px;gap:10px;padding:12px 24px;background:#171717;color:#fff;font-size:14px;font-variant-numeric:tabular-nums}
.voice-call-button:hover{background:#333}
.voice-call-button:disabled{color:#fff;opacity:.45}
.voice-call-button svg{width:18px;height:18px;flex:none}
.voice-call-button[aria-pressed=true]{background:#fff;color:#a14033;box-shadow:inset 0 0 0 1px #e5d8d2}
.voice-call-button[aria-pressed=true] svg{transform:rotate(135deg)}
.voice-call .feedback{margin:0;text-align:center;max-width:360px;font-size:12px;line-height:1.65}
.voice-call .feedback:empty{display:none}
@media(max-width:800px){
  .orb-demo .voice-form{padding:18px 16px 20px}
  .orb-demo .voice-form textarea{min-height:82px;padding:12px;font-size:16px}
  .voice-form-actions{margin-top:12px}
  .voice-form-actions .button{font-size:13px;padding-inline:18px}
  .voice-spoken-text{font-size:13px}
  .orb-demo #sample-feedback:empty{min-height:0;margin-top:0}
  .voice-call-button{font-size:13px;min-height:46px;padding:11px 22px}
}
