.voice-controls{gap:.4rem;display:grid}.voice-action-card{border:1px solid;border-radius:.7rem;gap:.4rem;max-height:28vh;margin-top:.4rem;padding:.7rem;display:grid;overflow:auto}.voice-action-card button,.voice-text-input button{min-height:2.75rem;padding:.4rem .7rem}.voice-action-card a{color:inherit;text-decoration:underline}.voice-text-input{gap:.4rem;margin-top:.5rem;display:flex}.voice-text-input input{min-width:0;color:var(--ink);background:var(--bg);border-radius:.4rem;flex:1;padding:.5rem;font-size:16px}.voice-trigger{border:.5px solid var(--rule);width:2.55rem;height:2.55rem;color:var(--accent);background:var(--field);border-radius:50%;flex:none;place-items:center;padding:0;transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s,color .2s;display:grid}.voice-trigger:hover{color:var(--accent);background:var(--field)}.voice-trigger:active{transform:scale(.96)}.voice-trigger.active,.voice-trigger.active:hover{color:var(--on-accent);background:var(--accent);animation:1.6s ease-in-out infinite voice-trigger-pulse}@keyframes voice-trigger-pulse{0%,to{box-shadow:0 0 0 0 var(--focus-ring)}50%{box-shadow:0 0 0 .5rem #0000}}.voice-island{z-index:60;left:50%;bottom:calc(1rem + var(--safe-bottom));width:min(40rem,100vw - 1.5rem);color:var(--bg);background:var(--ink);border:1px solid color-mix(in srgb, var(--bg) 14%, transparent);box-shadow:0 1.2rem 2.8rem var(--shadow);border-radius:1.4rem;grid-template-columns:3rem minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.85rem .85rem .85rem .75rem;animation:.28s cubic-bezier(.16,1,.3,1) voice-island-in;display:grid;position:fixed;transform:translate(-50%)}@keyframes voice-island-in{0%{opacity:0;transform:translate(-50%,.6rem)}to{opacity:1;transform:translate(-50%)}}.voice-island--error{border-color:color-mix(in srgb, var(--highlight) 55%, transparent)}.voice-island--listening{border-color:color-mix(in srgb, var(--success) 55%, transparent)}.voice-island-meter{place-items:center;width:3rem;height:2.75rem;display:grid}.voice-island-bars{align-items:center;gap:2px;height:2rem;display:flex}.voice-island-bars i{background:var(--bg);border-radius:999px;width:3px;min-height:4px;transition:height 80ms linear;display:block}.voice-island--speaking .voice-island-bars i{background:var(--highlight)}.voice-island--error .voice-island-bars i{background:var(--highlight);opacity:.7}.voice-island-dots{gap:.3rem;display:flex}.voice-island-dots i{background:var(--bg);opacity:.35;border-radius:50%;width:.45rem;height:.45rem;animation:1.2s ease-in-out infinite voice-dot}.voice-island-dots i:nth-child(2){animation-delay:.2s}.voice-island-dots i:nth-child(3){animation-delay:.4s}@keyframes voice-dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.voice-island-body{overscroll-behavior:contain;grid-template-columns:minmax(0,1fr);gap:.3rem;min-width:0;max-height:min(65dvh,38rem);padding-top:.15rem;display:grid;overflow:hidden auto}.voice-island-body p{margin:0}.voice-island-caption{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;opacity:.72}.voice-island--error .voice-island-caption{color:var(--highlight);opacity:1;text-transform:none;letter-spacing:0;font-size:var(--text-sm)}.voice-island-user,.voice-island-assistant{-webkit-line-clamp:2;line-clamp:2;font-size:var(--text-sm);-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.voice-island-user{opacity:.7}.voice-island-user span{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;opacity:.8;margin-right:.4rem;font-weight:600}.voice-island-assistant{font-family:var(--font-display);font-size:var(--text-md)}.voice-island-note,.voice-island-hint{font-size:var(--text-xs);opacity:.6}.voice-island-tools{flex-wrap:wrap;gap:.35rem;margin:.15rem 0 0;padding:0;list-style:none;display:flex}.voice-chip{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--bg) 25%, transparent);font-size:var(--text-xs);opacity:.85;padding:.2rem .55rem}.voice-chip--running{animation:1.2s ease-in-out infinite voice-chip-pulse}.voice-chip--completed{border-color:color-mix(in srgb, var(--success) 70%, transparent)}.voice-chip--failed{border-color:color-mix(in srgb, var(--highlight) 70%, transparent);color:var(--highlight)}@keyframes voice-chip-pulse{0%,to{opacity:.5}50%{opacity:1}}.voice-island-stop{width:var(--tap);height:var(--tap);color:inherit;border:1px solid color-mix(in srgb, var(--bg) 30%, transparent);background:0 0;place-items:center;padding:0;display:grid}@media (width<=900px){.page-head:has(.voice-trigger){padding-right:3.25rem}.voice-trigger{position:absolute;top:0;right:0}.voice-island{bottom:calc(var(--nav-height) + var(--safe-bottom) + .5rem)}}@media (prefers-reduced-motion:reduce){.voice-trigger.active,.voice-island,.voice-island-dots i,.voice-chip--running{animation:none}}.voice-research{z-index:80;background:var(--surface-raised);width:min(30rem,100vw - 2rem);max-height:55vh;color:var(--ink);border:.5px solid var(--rule);border-radius:var(--radius-lg);box-shadow:0 18px 50px var(--shadow);padding:1rem;position:fixed;top:5rem;right:1rem;overflow:auto}.voice-research>button{float:right;color:inherit;cursor:pointer;background:0 0;border:0}.voice-research summary{cursor:pointer;font-weight:600}.voice-research p{white-space:pre-wrap}.voice-research a{color:inherit;text-decoration:underline}.voice-island-body>*{min-width:0;max-width:100%}.voice-action-card{overflow-wrap:anywhere}
