/* Voice workbench: shared material tokens, small editorial portraits, compact controls. */
.voice-studio{
  --voice-panel:transparent;--voice-surface:var(--glass-field);--voice-edge:var(--glass-field-edge);
  --voice-muted:var(--ui-muted);--voice-ink:var(--ui-ink);--voice-accent:var(--glass-selected);--voice-accent-ink:var(--ui-ink);
  --music-edge:var(--voice-edge);--music-field:var(--voice-surface);--music-panel:var(--voice-panel);--music-label:var(--voice-muted);
  display:flex;flex-direction:column;gap:12px;color:var(--ui-ink);
}
.shell.is-media-workspace .ai-media.voice-studio{width:100%;max-width:none;height:calc(100dvh - var(--workspace-header-height,56px));min-height:0;box-sizing:border-box;padding:16px 24px 18px 16px;overflow:hidden}
.voice-studio-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:32px;flex:1;min-height:0}
.voice-studio :is(button,summary,input,textarea){font-family:var(--ui-font)}
.voice-studio :is(button,summary):focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}
.voice-studio button:disabled{cursor:not-allowed;opacity:.5}
.voice-compose{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--voice-edge);border-radius:var(--ui-radius-panel)}
.voice-studio #media-compose.voice-compose{padding:0}
.voice-compose fieldset{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;margin:0;padding:0;border:0}
.voice-compose-scroll{flex:1;min-height:0;padding:18px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.voice-compose>.ai-notice{margin-inline:18px}
.voice-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin:0 0 22px;padding:3px;border:1px solid var(--voice-edge);border-radius:var(--ui-radius-control);background:var(--voice-surface)}
.voice-tabs :is(button,a){display:flex;align-items:center;justify-content:center;min-height:var(--ui-control-size);padding:4px 8px;border:0;border-radius:var(--ui-radius-control);background:transparent;color:var(--voice-muted);font:500 12px/1.2 var(--ui-font);text-decoration:none;cursor:pointer}
.voice-tabs :is([aria-pressed=true],[aria-current=page]){color:var(--voice-ink);background:var(--glass-selected)}
.voice-compose-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.voice-compose-heading h1{margin:0;font:600 20px/1.3 var(--ui-font);letter-spacing:-.3px;color:var(--ui-accent-text)}
.voice-icon-button{display:grid;place-items:center;flex:none;width:var(--ui-control-size);height:var(--ui-control-size);padding:8px;border:1px solid var(--voice-edge);border-radius:var(--ui-radius-control);background:var(--glass-control);color:var(--voice-muted);cursor:pointer}
.voice-icon-button:hover{background:var(--glass-hover);color:var(--voice-ink)}
.voice-icon-button svg{width:16px;height:16px}
.voice-model-row{display:grid;gap:8px;margin-bottom:20px;color:var(--voice-muted);font:500 12px/1.3 var(--ui-font)}
.voice-settings{display:grid;gap:8px}
.voice-id-field{display:grid;gap:6px;color:var(--voice-muted);font:500 12px/1.4 var(--ui-font)}
.voice-custom-picker>summary{width:max-content;color:var(--voice-muted);font:500 12px/1.4 var(--ui-font);cursor:pointer}
.voice-custom-picker[open]>summary{margin-bottom:6px}
.voice-studio .voice-id-field input{box-sizing:border-box;width:100%;min-height:var(--ui-control-size);padding:8px 10px;border:1px solid var(--voice-edge);border-radius:var(--ui-radius-field);background:var(--glass-field);color:var(--voice-ink);font:13px/1.4 var(--ui-font)}
.voice-studio .voice-id-field input:focus{outline:2px solid var(--ui-focus);outline-offset:1px}
.voice-settings-label,.voice-label-row{color:var(--voice-muted);font:500 12px/1.4 var(--ui-font)}
.voice-picker{position:relative;min-width:0}
.voice-picker>summary{display:flex;align-items:center;gap:10px;min-height:60px;padding:8px 10px;border:1px solid var(--voice-edge);border-radius:var(--ui-radius-control);background:var(--glass-control);color:var(--voice-ink);cursor:pointer;list-style:none}
.voice-picker>summary::-webkit-details-marker{display:none}
.voice-picker>summary[aria-disabled=true]{opacity:.5;cursor:not-allowed}
[data-voice-summary]{display:flex;align-items:center;gap:11px;min-width:0;flex:1}
.voice-picker-caret{flex:none;display:flex;color:var(--voice-muted)}
.voice-picker-caret svg{width:16px;height:16px}
.voice-avatar{display:inline-block;flex:none;width:40px;height:40px;border-radius:50%;background-color:var(--glass-solid);background-image:var(--voice-portrait);background-size:var(--voice-size,400% 400%);background-position:var(--voice-x) var(--voice-y);background-repeat:no-repeat}
.voice-avatar-fallback{display:grid;place-items:center;color:var(--voice-muted)}
.voice-avatar-fallback svg{width:20px;height:20px}
.voice-persona-copy{display:grid;gap:4px;min-width:0;text-align:left}
.voice-persona-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 13px/1.25 var(--ui-font)}
.voice-persona-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--voice-muted);font:400 11px/1.3 var(--ui-font)}
.voice-picker-popover{display:flex;flex-direction:column;box-sizing:border-box;position:absolute;z-index:42;top:calc(100% + 7px);left:0;width:360px;max-width:calc(100vw - 16px);max-height:530px;padding:12px;border:1px solid var(--glass-edge);border-radius:var(--ui-radius-menu);background:var(--glass-menu);color:var(--voice-ink);overflow:hidden;box-shadow:var(--glass-shadow)}
.voice-picker:not([open]) .voice-picker-popover:not(:popover-open){display:none}
.voice-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.voice-picker-heading strong{font:600 14px/1.3 var(--ui-font)}
.voice-picker-heading .voice-icon-button{border:0;background:transparent}
.voice-search{display:flex;align-items:center;gap:8px;flex:none;padding:0 10px;border:1px solid var(--voice-edge);border-radius:var(--ui-radius-control);background:var(--glass-field)}
.voice-search>svg{width:16px;height:16px;flex:none;color:var(--voice-muted)}
.voice-studio .voice-search input{box-sizing:border-box;width:100%;min-width:0;height:var(--ui-control-size);padding:0!important;border:0!important;background:none!important;color:var(--voice-ink);font:13px/1.3 var(--ui-font);outline:none}
.voice-search:focus-within{outline:2px solid var(--ui-focus);outline-offset:1px}
.voice-search input::placeholder{color:var(--voice-muted);opacity:1}
.voice-catalog-tabs{display:flex;gap:4px;flex:none;margin:10px 0 7px}
.voice-catalog-tabs button{display:flex;align-items:center;justify-content:center;flex:1;min-height:var(--ui-control-size);padding:4px 8px;border:0;border-radius:var(--ui-radius-control);background:transparent;color:var(--voice-muted);font:12px/1.2 var(--ui-font);cursor:pointer}
.voice-catalog-tabs button[aria-pressed=true]{color:var(--voice-ink);background:var(--glass-selected)}
.voice-options{flex:1;min-height:50px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}
.voice-choice-row{display:flex;align-items:center;gap:4px;border-radius:var(--ui-radius-control)}
.voice-choice-row[hidden],.voice-search-empty[hidden]{display:none}
.voice-choice-row:has([aria-selected=true]),.voice-choice-row:hover{background:var(--glass-selected)}
.voice-choice{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:56px;width:100%;padding:7px 8px;border:0;border-radius:var(--ui-radius-control);background:transparent;color:var(--voice-ink);text-align:left;cursor:pointer}
.voice-choice .voice-avatar{width:36px;height:36px}
.voice-choice .voice-persona-copy{flex:1}
.voice-choice-check{display:flex;flex:none;width:16px;color:var(--ui-accent-text)}
.voice-choice-check svg{width:16px;height:16px}
.voice-favorite{display:grid;place-items:center;flex:none;width:var(--ui-control-size);height:var(--ui-control-size);padding:8px;border:0;background:none;color:var(--voice-muted);cursor:pointer}
.voice-favorite svg{width:15px;height:15px}
.voice-favorite[aria-pressed=true]{color:var(--ui-accent-text)}
.voice-favorite[aria-pressed=true] svg{fill:currentColor}
.voice-option-count{flex:none;margin:10px 4px 0;color:var(--voice-muted);font:11px/1.3 var(--ui-font)}
.voice-search-empty{margin:12px 8px;color:var(--voice-muted);font:12px/1.5 var(--ui-font)}
.voice-speed{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;color:var(--voice-muted);font:12px/1.3 var(--ui-font)}
.voice-unavailable{margin:0;color:var(--voice-muted);font:12px/1.5 var(--ui-font)}
.voice-studio #media-compose.voice-compose label.voice-text{display:grid;gap:9px;align-items:stretch;margin-top:22px}
.voice-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}
.voice-label-row output{font-size:10px;font-weight:400;font-variant-numeric:tabular-nums}
.voice-studio #media-compose.voice-compose #media-prompt:not([type=hidden]){box-sizing:border-box;display:block;width:100%;height:200px;min-height:140px;max-height:50dvh;padding:13px;border:1px solid var(--voice-edge);border-radius:var(--ui-radius-field);background:var(--voice-surface);color:var(--voice-ink);font:400 14px/1.6 var(--ui-font);resize:vertical;caret-color:var(--ui-accent-text)}
.voice-studio #media-compose.voice-compose #media-prompt:focus{outline:2px solid var(--ui-focus);outline-offset:1px}
.voice-text textarea::placeholder{color:var(--voice-muted);opacity:1}
.voice-inline-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;color:var(--voice-muted);font:11px/1.3 var(--ui-font)}
.voice-inline-tags>div{display:flex;flex-wrap:wrap;gap:5px}
.voice-inline-tags button{min-height:var(--ui-control-size);padding:5px 8px;border:1px solid var(--voice-edge);border-radius:var(--ui-radius-control);background:var(--glass-control);color:var(--voice-ink);font:12px/1.2 var(--ui-font);cursor:pointer}
.voice-price{margin-top:14px;font-size:12px}
.voice-price:empty{display:none}
.voice-notices{margin-top:10px}
.voice-studio .ai-notice{margin:7px 0;color:var(--voice-muted);font:11px/1.5 var(--ui-font)}
.voice-submit{padding:14px 18px 18px;border-top:1px solid var(--glass-divider)}
.voice-submit .media-generate{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px}
.voice-library{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:8px 8px 24px 0}
.voice-library h2{margin:0;font:600 18px/1.3 var(--ui-font);letter-spacing:-.25px}
.voice-roster{margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--glass-divider)}
.voice-roster>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.voice-roster>header>button{display:flex;align-items:center;gap:5px;flex:none;min-height:var(--ui-control-size);padding:0 6px;border:0;background:transparent;color:var(--voice-muted);font:12px/1.2 var(--ui-font);cursor:pointer}
.voice-roster>header>button svg{width:13px;height:13px;transform:rotate(-90deg)}
.voice-roster-grid{display:flex;align-items:start;gap:12px;flex-wrap:wrap}
.voice-roster-choice{display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;flex:0 1 80px;min-width:0;padding:5px 4px 0;border:0;border-radius:var(--ui-radius-control);background:none;color:var(--voice-muted);font:12px/1.35 var(--ui-font);cursor:pointer}
.voice-roster-choice>span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.voice-roster-portrait{position:relative;display:flex;padding:3px;border:1px solid transparent;border-radius:50%}
.voice-roster-choice .voice-avatar{width:56px;height:56px}
.voice-roster-choice:hover .voice-roster-portrait{border-color:var(--voice-muted)}
.voice-roster-choice[aria-pressed=true]{color:var(--voice-ink)}
.voice-roster-choice[aria-pressed=true] .voice-roster-portrait{border-color:var(--ui-accent-text)}
.voice-roster-check{display:none;position:absolute;right:-1px;bottom:0;place-items:center;width:18px;height:18px;border:2px solid var(--ui-background);border-radius:50%;background:var(--ui-accent);color:var(--ui-accent-ink)}
.voice-roster-check svg{width:11px;height:11px}
.voice-roster-choice[aria-pressed=true] .voice-roster-check{display:grid}
.voice-library .music-library-head{padding:0 0 16px}
.voice-library .music-library-head>.action-icon[data-tooltip]::after{left:auto;right:0;transform:translateY(3px)}
.voice-library .music-library-head>.action-icon[data-tooltip]:is(:hover,:focus-visible)::after{transform:translateY(0)}
.voice-library .music-library-head h2{font-size:18px;letter-spacing:-.25px}
.voice-library .music-library-toolbar{justify-content:space-between;gap:10px;min-height:var(--ui-control-size);margin-bottom:12px;padding-bottom:0;border:0}
.voice-library .music-library-toolbar nav{gap:4px}
.voice-library .music-library-toolbar nav button{padding:6px 10px;line-height:1.2}
.voice-library .music-sort .media-param-trigger{font-size:12px}
.voice-library .music-track-list{min-height:0;max-height:40dvh}
.voice-library .music-track-list:has(.voice-empty-history){max-height:none}
.voice-library .music-library-status:empty{display:none}
.voice-empty-history{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;padding:20px 12px;text-align:center;box-sizing:border-box}
.voice-empty-history h3{margin:16px 0 8px;font:500 18px/1.3 var(--ui-font);letter-spacing:-.2px}
.voice-empty-history p{margin:0;color:var(--voice-muted);font:13px/1.6 var(--ui-font);max-width:390px}
.voice-wave{display:flex;align-items:center;gap:4px;height:36px;color:var(--voice-muted)}
.voice-wave i{display:block;width:3px;height:10px;border-radius:3px;background:currentColor}
.voice-wave i:nth-child(2n){height:22px;opacity:.55}
.voice-wave i:nth-child(3n){height:32px}
.voice-wave i:nth-child(4n){height:16px;opacity:.8}
.voice-wave i:nth-child(7n){height:36px}
.voice-library .music-track-art{position:relative;overflow:hidden;border-radius:50%;width:44px;height:44px}
.voice-library .music-track-art .voice-avatar{position:absolute;inset:0;width:100%;height:100%;filter:brightness(.64)}
.voice-library .music-track-art>.ui-icon{position:relative;z-index:1;color:#fff}
.voice-studio .music-player-disc:has(.voice-avatar){background:none;border:0;overflow:hidden}
.voice-studio .music-player-disc .voice-avatar{width:100%;height:100%}
@media(min-width:761px){
  .shell.is-media-workspace .voice-studio .voice-studio-layout{grid-template-columns:340px minmax(0,1fr);gap:30px}
  .voice-studio .voice-library{padding:8px 8px 24px 0}
}
@media(min-width:761px) and (max-width:1050px){
  .shell.is-media-workspace .voice-studio .voice-studio-layout{grid-template-columns:300px minmax(0,1fr);gap:20px}
  .voice-roster-grid{gap:6px}
  .voice-roster-choice{flex-basis:70px}
}
@media(max-width:760px){
  .shell.is-media-workspace .ai-media.voice-studio{height:auto;min-height:0;padding:10px;overflow:visible}
  .voice-studio-layout{display:flex;flex:none;flex-direction:column;height:auto;gap:24px}
  .voice-compose,.voice-compose-scroll{overflow:visible}
  .voice-studio .voice-library{overflow:visible;margin:0;padding:0 6px 28px}
  .voice-compose-scroll{padding:16px}
  .voice-submit{padding:14px 16px 18px}
  .voice-tabs{margin-bottom:18px}
  .voice-studio #media-compose.voice-compose #media-prompt:not([type=hidden]){height:170px;font-size:16px}
  .voice-roster-grid{gap:4px;justify-content:space-between}
  .voice-roster-choice{flex-basis:60px;font-size:11px}
  .voice-roster-choice .voice-avatar{width:44px;height:44px}
  .voice-roster>header{gap:8px}
  .voice-roster h2,.voice-library .music-library-head h2{font-size:17px}
  .voice-roster>header>button{font-size:11px}
  .voice-library .music-library-toolbar{flex-wrap:wrap}
  .voice-library .music-library-toolbar nav button{font-size:12px;padding-inline:9px}
  .voice-library .music-track-list{max-height:60dvh}
}
@media(max-width:440px){
  .voice-studio .voice-library .music-library-toolbar nav{flex:1 0 100%;flex-wrap:nowrap}
  .voice-library .music-sort{margin-left:auto}
}
@media(max-width:360px){
  .voice-roster-choice{flex-basis:48px}
  .voice-roster-choice .voice-avatar{width:38px;height:38px}
  .voice-roster h2{font-size:15px}
}

/* Recordings are independent of selecting a voice or making a paid request. */
.voice-roster-item{display:flex;flex:0 1 80px;min-width:0;flex-direction:column;align-items:center;gap:4px}
.voice-roster-item .voice-roster-choice{flex:none;width:100%}
.voice-sample.action-icon{flex:none;width:34px;height:34px;min-height:34px;color:var(--voice-muted)}
.voice-sample[aria-pressed=true]{color:var(--ui-accent-text)}
.voice-sample-status{min-height:0;margin:10px 0 0;color:var(--voice-muted);font:12px/1.4 var(--ui-font)}
.voice-sample-status:empty{display:none}
@media(max-width:700px){.voice-sample.action-icon{width:44px;height:44px;min-height:44px}.voice-roster-item{flex-basis:66px}}

.voice-sample[hidden]{display:none!important}

.voice-roster-mobile-title{display:none}.voice-roster-copy strong{font:inherit}.voice-roster-copy small{display:none}
@media(max-width:900px){
 .shell.is-media-workspace .ai-media.voice-studio{height:auto;min-height:calc(var(--usable-height,100dvh) - var(--workspace-header-height,64px));padding:16px 16px 96px;overflow:visible}
 .voice-studio .voice-studio-layout{display:flex;flex-direction:column;height:auto;gap:16px}
 :root[data-theme] body.site-surface .voice-studio #media-compose.voice-compose{overflow:visible}
 .voice-studio .voice-compose-scroll{padding:20px 16px;overflow:visible}
 .voice-studio .voice-compose-heading{margin-bottom:16px}
 body.site-surface .voice-studio .voice-compose-heading h1{font:600 20px/28px var(--ui-font);color:var(--ui-ink);letter-spacing:0}
 .voice-model-row{margin-bottom:16px}
 .voice-model-label,.voice-settings-label{display:none}
 .voice-picker>summary{min-height:44px;padding:8px 10px;background:var(--ui-background);border-color:var(--ui-line)}
 .voice-picker>summary .voice-avatar{width:24px;height:24px}
 .voice-picker>summary .voice-persona-copy small{display:none}
 .voice-picker>summary .voice-persona-copy strong{font-size:14px;font-weight:400}
 .voice-studio .voice-text{display:flex;flex-direction:column;gap:8px;margin-top:16px}
 .voice-text .voice-label-row{display:contents}
 .voice-text .voice-label-row>span{order:0;font:400 12px/18px var(--ui-font);color:var(--ui-muted)}
 .voice-text .prompt-with-voice{order:1}
 .voice-text .voice-label-row output{order:2;margin-top:8px;color:var(--ui-muted);font:400 12px/18px var(--ui-font)}
 .voice-studio #media-compose.voice-compose #media-prompt:not([type=hidden]){height:132px;min-height:132px;max-height:none;padding:12px;border-color:var(--ui-line);background:var(--ui-background);font-size:16px;line-height:22px}
 .voice-studio .voice-library{margin:0;padding:0;overflow:visible}
 .voice-roster{margin-bottom:24px;padding-bottom:0;border:0}
 .voice-roster>header{margin-bottom:16px}
 .voice-roster-desktop-title{display:none}.voice-roster-mobile-title{display:inline;font:400 14px/20px var(--ui-font)}
 .voice-roster-grid{display:flex;flex-direction:column;gap:16px;align-items:stretch}
 .voice-roster-item{display:flex;flex-direction:row;align-items:center;flex:none;width:100%;min-height:76px;padding:12px;border:1px solid var(--ui-line);border-radius:14px;gap:12px;box-sizing:border-box}
 .voice-roster-item .voice-roster-choice{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;width:auto;flex:1;min-width:0;padding:0;text-align:left}
 .voice-roster-choice .voice-roster-portrait{padding:0;border:0}
 .voice-roster-choice .voice-avatar{width:40px;height:40px}
 .voice-roster-copy{display:grid;gap:4px;min-width:0}
 .voice-roster-copy strong{font:400 14px/20px var(--ui-font);color:var(--ui-ink)}
 .voice-roster-copy small{display:block;font:400 12px/18px var(--ui-font);color:var(--ui-muted);white-space:normal}
 .voice-studio .voice-sample.action-icon{min-width:44px;width:44px;height:44px;border:1px solid var(--ui-line);background:var(--ui-background);border-radius:10px}
 body.site-surface .voice-studio .voice-submit{position:static;display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;padding:0 16px 16px;border:0;background:transparent}
 .voice-submit [data-mobile-mic]>.voice-input{position:relative;inset:auto}
 body.site-surface .voice-studio .voice-submit .media-generate{min-height:44px}
 .voice-library .voice-tabs{margin-top:24px}
}


.voice-text{margin-block:20px}.voice-text .voice-label-row{margin-bottom:10px}.voice-text textarea{margin-top:8px;margin-bottom:16px}
