.voice-shell .page-heading { padding-bottom: 16px; }
.voice-intro { margin: 0 3px 25px; color: var(--muted); font-size: 14px; line-height: 1.65; text-wrap: pretty; }
.voice-focus { display: flex; align-items: center; gap: 12px; margin-top: 16px; }
.voice-focus label { flex-shrink: 0; color: var(--muted); font-size: 12px; }
.voice-focus select { min-width: 0; width: 100%; min-height: 44px; padding: 9px 29px 9px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); font: inherit; font-size: 12px; text-overflow: ellipsis; }
.voice-focus select:focus-visible, summary:focus-visible { outline: 3px solid #88986d; outline-offset: 4px; }
.voice-focus select:disabled { opacity: .65; }
.voice-free { margin: 14px 0 18px; color: var(--olive); font-size: 12px; font-weight: 550; text-align: center; }
.voice-requirements { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.65; text-align: center; }
.voice-prompt { margin-top: 15px; border-top: 1px solid var(--line); }
.voice-prompt summary, .voice-benefits summary { padding: 13px 0; color: var(--olive); font-size: 13px; font-weight: 550; line-height: 1.5; cursor: pointer; }
.voice-prompt p, .voice-benefits p, .voice-benefits li { color: var(--muted); font-size: 12px; line-height: 1.7; }
.voice-prompt p + p { margin-top: 10px; }
.voice-benefits { margin: 17px 3px 0; }
.voice-benefits ul { margin: 0 0 10px; padding-left: 19px; }
.voice-benefits li + li { margin-top: 6px; }
.voice-limit { margin-top: 9px; color: var(--muted); font-size: 11px; line-height: 1.6; text-align: center; }
.voice-shell .browser-note { margin-top: 13px; }
.voice-local-note { margin-top: 15px; font-size: 12px; }
.voice-options:has(~ .preview-panel:not([hidden])) { margin-bottom: 25px; padding-bottom: 4px; border-bottom: 1px solid var(--line); }
.voice-cancel { margin-top: 20px; }
.voice-result { font-size: 14px; line-height: 1.75; overflow-wrap: anywhere; }
.voice-result section { margin-top: 23px; padding-top: 20px; border-top: 1px solid var(--line); }
.voice-result h3 { margin-bottom: 10px; color: var(--olive); font-size: 15px; font-weight: 650; letter-spacing: -.2px; }
.voice-result p { white-space: pre-line; }
.voice-result ul, .voice-result ol { margin: 8px 0 0; padding-left: 20px; }
.voice-result li + li { margin-top: 9px; }
.voice-trait + .voice-trait { margin-top: 14px; }
.voice-trait strong, .voice-exercise strong { display: block; margin-bottom: 3px; font-weight: 600; }
.voice-observation + .voice-observation { margin-top: 18px; }
.voice-time { min-height: 36px; margin-bottom: 3px; padding: 4px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--soft); color: var(--olive); font: inherit; font-size: 12px; font-variant-numeric: tabular-nums; }
.voice-suggestion { margin-top: 5px; color: var(--muted); font-size: 13px; }
.voice-result .voice-limitations { color: var(--muted); font-size: 12px; }
.voice-shell [aria-busy="true"] { cursor: progress; }
@media (max-width: 359px) { .voice-focus { align-items: stretch; flex-direction: column; gap: 6px; } .voice-focus select { font-size: 13px; } .voice-shell h1 { font-size: 33px; } }
