/* Focused writing surface. The meter is driven by microphone samples, never a looping animation. */
.signal-dialog .signal-composer{padding:8px 14px 10px;background:#080d10;border-top:1px solid #ffffff1c;position:relative;max-height:65%;overflow:auto;min-height:0}
.composer-toolbar,.voice-editor-heading,.voice-editor-heading>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.composer-toolbar{min-height:32px;margin-bottom:4px}.composer-toolbar .signal-plain,.voice-editor-heading .signal-plain{min-height:32px;padding:4px 8px;font-size:14px;background:transparent;border:0;color:#b8c6cd}
.signal-dialog .signal-input-row{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:10px;border-radius:22px;background:#0b1013;border:1px solid #53616a}
.signal-dialog .signal-input-row textarea{flex:none;height:52px;min-height:52px;max-height:none;font-size:16px;line-height:1.5;padding:6px 8px;resize:none;overflow-y:auto;opacity:1;color:#eef3f6}
.signal-dialog .signal-composer.is-expanded .signal-input-row textarea{height:clamp(64px,calc(var(--signal-height,100dvh) * .24),300px)}
.composer-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.composer-actions button{min-height:44px;min-width:44px}.signal-dialog .composer-actions .signal-mic.active{color:#ffcecf;background:#4b252c;border:1px solid #80515a}
.voice-capture{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 10px;border-radius:12px;background:#172328;color:#d5eced;font-size:14px}
.voice-capture[data-stage="requesting"],.voice-capture[data-stage="transcribing"]{background:#202629;color:#c7cfd3}
.voice-wave{display:flex;align-items:center;justify-content:center;gap:3px;height:30px;flex:1;max-width:200px}.voice-wave i{display:block;flex:1;max-width:5px;height:28px;border-radius:3px;background:#7ce5e9;transform-origin:center;transition:transform 70ms linear}.voice-capture time{font-variant-numeric:tabular-nums;color:#dce9ed;min-width:36px;text-align:right}
.voice-help{position:relative;color:#b9c6ce}.voice-help>summary{display:grid;place-items:center;width:36px;height:32px;cursor:pointer;font-size:20px;list-style:none;border-radius:10px}.voice-help>summary::-webkit-details-marker{display:none}.voice-help>summary:focus-visible{outline:2px solid #7ce5e9}.voice-help[open]>div{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom,0px));left:14px;width:min(320px,calc(100vw - 60px));max-height:45dvh;overflow:auto;z-index:8;padding:14px;border:1px solid #43505a;border-radius:16px;background:#11191e;box-shadow:0 12px 32px #000a}.voice-help p{font-size:14px!important;line-height:1.5;margin:0 0 12px!important}.voice-help p:last-child{margin:0!important}
.signal-dialog .tracker-voice .voice-editor-heading h4{margin:0}.signal-dialog .tracker-voice .voice-editor-heading{margin-bottom:12px}.voice-editor-heading>div{justify-content:flex-end}.voice-editor-heading .voice-help[open]>div{left:14px;right:auto;bottom:calc(90px + env(safe-area-inset-bottom,0px));top:auto}
.signal-dialog .tracker-voice textarea{width:100%;box-sizing:border-box;min-height:96px;font-size:16px;line-height:1.5;resize:vertical}.signal-dialog .tracker-voice.is-expanded textarea{min-height:clamp(160px,30dvh,320px)}.signal-dialog .tracker-voice .voice-capture{margin:10px 0}.signal-dialog .tracker-voice .tracker-mic-action{width:auto;min-height:44px;font-size:16px}.signal-dialog .tracker-voice .tracker-demo-launch{margin-top:10px;font-size:14px}
.audio-player .audio-error{flex-basis:100%;margin:2px 0;color:#ffc2c2;font-size:14px;line-height:1.4}.audio-player .audio-generated{font-size:12px}.audio-player .audio-ready{flex-basis:100%;margin:2px 0;color:#d3e9ed;font-size:14px}
@media(max-height:650px){.signal-dialog .signal-composer.is-expanded .signal-input-row textarea{height:100px}.signal-dialog .signal-composer{padding-block:4px}.composer-toolbar{min-height:28px}}
@media(prefers-reduced-motion:reduce){.voice-wave i{transition:none}}

.signal-dialog details.voice-help{padding:0;margin:0;border:0;background:transparent;flex:none}
.signal-dialog details.voice-help>summary{display:grid;place-items:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;margin:0;border:0;background:transparent;font-size:20px}
.signal-dialog details.voice-help>summary::after{display:none;content:none}

.has-audio-player #app>.shell{padding-top:var(--audio-player-height,70px)}
