.pt-your-voice { margin-top:16px; padding:16px; border:2px solid var(--pt-primary,#a84e30); border-radius:18px; background:var(--pt-surface,#fff); color:var(--pt-ink,#17204c); min-width:0; }
.pt-your-voice [hidden] { display:none!important; }
.pt-your-voice h3 { margin:0 0 8px; font-size:1.12rem; }
.pt-your-voice p { font-size:.88rem; line-height:1.5; margin:8px 0; overflow-wrap:anywhere; }
.pt-your-voice label { display:block; font-size:.9rem; font-weight:600; margin:12px 0 6px; color:inherit; }
.pt-your-voice .pt-voice-check { display:flex; gap:10px; align-items:flex-start; }
.pt-your-voice input[type=checkbox] { width:22px; height:22px; flex:0 0 22px; accent-color:var(--pt-primary,#a84e30); }
.pt-your-voice input:not([type=checkbox]),.pt-your-voice select,.pt-your-voice textarea { width:100%; min-width:0; box-sizing:border-box; border:1.5px solid var(--pt-line,#8b8f9e); border-radius:10px; background:var(--pt-surface-2,#f3f4f7); color:var(--pt-ink,#17204c); padding:12px; font:inherit; font-size:16px; }
.pt-your-voice button { min-height:44px; white-space:normal; font:inherit; border-radius:12px; padding:10px 14px; }
.pt-your-voice .pt-voice-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.pt-voice-draft { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:8px 0 16px; }
.pt-voice-draft>span { flex:1 1 220px; font-size:.8rem; color:var(--pt-muted,#5f655e); }
.pt-voice-draft button { font-size:.85rem; }
.pt-voice-draft button[data-saved=true] { border-color:var(--pt-primary,#a84e30); font-weight:700; }
.pt-your-voice .pt-voice-main { width:100%; margin-top:14px; background:var(--pt-primary,#a84e30); color:#fff; border:2px solid var(--pt-primary-strong,#7e3824); font-weight:700; }
.pt-your-voice button:focus-visible,.pt-your-voice input:focus-visible,.pt-your-voice select:focus-visible,.pt-your-voice textarea:focus-visible { outline:3px solid var(--pt-primary,#a84e30); outline-offset:3px; }
.pt-your-voice audio { width:100%; margin-top:10px; }
.pt-your-voice [role=status] { min-height:1.5em; }
.pt-your-voice .pt-voice-price { padding:10px; border-radius:10px; background:var(--pt-surface-2,#f3f4f7); border-left:4px solid var(--pt-primary,#a84e30); }
.pt-voice-workspace { width:min(720px,calc(100% - 24px)); max-height:calc(100dvh - 24px); overflow:auto; box-sizing:border-box; border:1px solid var(--pt-line,#9b8978); border-radius:22px; padding:22px; background:var(--pt-surface,#fffaf5); color:var(--pt-ink,#17204c); }
.pt-voice-workspace::backdrop { background:rgba(22,28,24,.62); }
.pt-voice-workspace>header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.pt-voice-workspace h2 { margin:0; font-size:1.65rem; }
.pt-voice-workspace>header p { margin:8px 0; }
.pt-voice-workspace .pt-your-voice { margin-top:10px; padding:0; border:0; background:transparent; text-align:left; }
.pt-voice-workspace .pt-your-voice h3 { margin-top:22px; }
.pt-voice-preview { margin:16px 0; padding:12px; border:1px solid var(--pt-line,#9b8978); border-radius:12px; background:var(--pt-surface-2,#f5eee6); }
.pt-voice-optional { font-weight:400; font-size:.85rem; }
.pt-home-song-controls .pt-voice-tile { grid-column:1/-1; }
.pt-voice-tile[hidden] { display:none!important; }
.pt-voice-sources { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:14px 0; }
.pt-voice-sources button { border:1.5px solid var(--pt-line,#9b8978); background:var(--pt-surface-2,#f5eee6); color:inherit; }
.pt-voice-sources button[aria-pressed=true] { border-color:var(--pt-primary,#a84e30); background:var(--pt-primary,#a84e30); color:#fff; font-weight:700; }
.pt-voice-field-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:20px; }
.pt-voice-field-heading label { margin:0; }
.pt-voice-field-heading button { font-size:.9rem; }
.pt-your-voice .pt-voice-hint { font-size:.8rem; color:var(--pt-muted,#5f655e); }
.pt-voice-library-picker { margin:12px 0; padding:14px; border:1.5px solid var(--pt-line,#9b8978); border-radius:14px; background:var(--pt-surface-2,#f3f4f7); }
.pt-your-voice .pt-voice-library-picker>label:first-child { margin-top:0; }
.pt-voice-library-search { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.pt-voice-library-search input { flex:1 1 190px; }
.pt-voice-library-search button { flex:0 0 auto; }
.pt-your-voice #yourVoiceLibraryCount { min-height:0; margin:8px 0 12px; }
.pt-voice-recording { margin-top:12px; padding:12px; border:1px solid var(--pt-primary,#a84e30); border-radius:12px; }
.pt-voice-recording-dot { display:inline-block; width:10px; height:10px; margin-right:8px; border-radius:50%; background:#b32424; }
.pt-your-voice progress { display:block; width:100%; margin-top:10px; accent-color:var(--pt-primary,#a84e30); }
.pt-your-voice .pt-voice-preview-action { width:100%; background:var(--pt-primary,#a84e30); color:#fff; border:2px solid var(--pt-primary-strong,#7e3824); font-weight:700; }
.pt-voice-preview-action[data-attention=true] { animation:pt-voice-preview-pulse 1.8s ease-in-out infinite; }
.pt-voice-preparing { padding:12px; border:1.5px solid var(--pt-primary,#a84e30); border-radius:12px; background:var(--pt-surface-2,#f3f4f7); }
@keyframes pt-voice-preview-pulse { 0%,100% { box-shadow:0 0 0 0 transparent; } 50% { box-shadow:0 0 0 5px color-mix(in srgb,var(--pt-primary,#a84e30) 30%,transparent); } }
@media(prefers-reduced-motion:reduce) { .pt-voice-preview-action[data-attention=true] { animation:none; outline:3px solid var(--pt-primary,#a84e30); outline-offset:3px; } }
#yourVoiceProgress ol { display:flex; flex-wrap:wrap; gap:8px 24px; padding-left:20px; font-size:.85rem; }
#yourVoiceProgress [aria-current=step] { font-weight:700; color:var(--pt-primary,#a84e30); }
#yourVoiceStates:empty,#yourVoiceStatus:empty { display:none; }
#yourVoiceStatus[data-failed=true] { border:2px solid var(--pt-primary,#a84e30); border-radius:10px; padding:12px; font-weight:600; }
#yourVoiceWorkspace [hidden] { display:none!important; }
@media(max-width:520px) { .pt-voice-workspace { padding:16px; } .pt-voice-workspace>header { flex-direction:column; } .pt-voice-workspace>header button { width:100%; min-height:44px; } }
