.zt-vocal-tool .zt-audio-upload { background: #f8faf9; }
.zt-vocal-tool .zt-audio-upload:focus-within { outline: 2px solid #238554; outline-offset: 3px; }
.zt-vocal-tool .zt-audio-workspace > section, .zt-vocal-tool .zt-audio-file-card, .zt-vocal-tool .zt-vocal-stem { box-shadow: none; }
.zt-vocal-tool [hidden] { display: none !important; }
.zt-vocal-start { grid-template-columns: 1fr; }
.zt-vocal-results { margin-top: 28px; }
.zt-vocal-result-heading h2 { margin: 0 0 8px; font-size: 22px; }
.zt-vocal-result-heading p, .zt-vocal-note, .zt-vocal-stem p { color: #60776b; font-size: 14px; line-height: 1.7; }
.zt-vocal-stems { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.zt-vocal-stem { min-width: 0; margin-top: 8px; }
.zt-vocal-stem h3 { margin: 0; font-size: 18px; }
.zt-vocal-stem p { margin: 8px 0 16px; }
.zt-vocal-stem audio { min-width: 0; }
.zt-vocal-tool .button { min-height: 44px; }
.zt-vocal-tool .zt-audio-open-source { overflow-wrap: anywhere; }
@media (max-width: 680px) {
    .zt-vocal-stems { grid-template-columns: 1fr; gap: 8px; }
    .zt-vocal-tool .zt-audio-hero h1 { font-size: 30px; }
    .zt-vocal-tool .zt-audio-actions > * { flex: 1; text-align: center; }
}
