/* Calm, consistent interaction feedback. Native form and keyboard behavior stays intact. */
:root{--ui-ease:cubic-bezier(.2,.65,.3,1);--ui-focus:#7291b2}
button,a,summary,input,textarea,select,[role=button]{transition:background-color 180ms var(--ui-ease),border-color 180ms var(--ui-ease),color 180ms var(--ui-ease),box-shadow 180ms var(--ui-ease),opacity 180ms var(--ui-ease),transform 120ms var(--ui-ease);-webkit-tap-highlight-color:transparent}
button:focus:not(:focus-visible),a:focus:not(:focus-visible),summary:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible){outline:none}
button:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}
input:focus,input:focus-visible,textarea:focus,textarea:focus-visible,select:focus,select:focus-visible,.account-studio input:focus{outline:none;border-color:#8ca5bf;box-shadow:0 0 0 2px #7897b51a}
input[type=range]:focus-visible,input[type=checkbox]:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px;box-shadow:none}
.asr-upload-zone label:focus-within{outline:2px solid var(--ui-focus);outline-offset:2px}
button.primary,.primary,#asr-download,.button,.play-toggle{background-image:linear-gradient(125deg,#ffffff0b,#ffffff00);background-color:#e96520;border-color:#df5e1b}
button.primary:hover,.primary:hover,#asr-download:hover,.button:hover,.play-toggle:hover{background-image:linear-gradient(125deg,#ffffff0b,#ffffff00);background-color:#d95715;border-color:#d95715;box-shadow:0 3px 9px #bb4e1214}
button:not(:disabled):active,.button:active{transform:translateY(1px)}
button:disabled{transform:none;box-shadow:none}
.page-heading,.page-heading:has(+ #page[data-route=home]){min-height:96px;margin-bottom:22px}
.page-heading h1{font-size:36px}.page-heading:has(+ #page[data-route=home]) h1{font-size:39px}
body>main{padding-top:27px}
.sidebar nav a:hover{background-color:#f3f6f9}
.sidebar nav a.active{background-image:none;background-color:#fff1e8}
.sidebar nav a.active:hover{background-color:#ffe9da}
.studio-library-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px;border-bottom:1px solid var(--studio-line)}
.studio-library-head>.tabs{margin:0;border:0;padding:0;gap:22px}
.studio-library-head>.tabs button{min-height:48px;font-size:15px;padding:10px 3px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none;color:#526b86}
.studio-library-head>.tabs button[aria-selected=true]{color:#c6531c;border-bottom-color:#dd692e;background:transparent}
.studio-library-head>.tabs button:hover{color:#bb501e;background:#f9fafb}
.studio-library-head>.studio-library-create{position:static;margin:0 0 8px;gap:8px}
.studio-library-create button{min-height:40px;font-size:13px;padding:8px 12px}
.studio-library-filters>summary{width:fit-content;min-height:40px;padding:8px 12px;margin:0 0 8px;border:1px solid #dfe7ef;border-radius:8px;font-size:13px;color:#526b86}
.studio-library-filters>summary:hover{background:#f5f8fb;border-color:#b9cada}
.studio-library-filters[open]{padding-bottom:12px}
.studio-library-filters .filters label>span{font-size:12px;color:#526b86}
.studio-library-filters select{min-height:42px;font-size:13px}
#clear-filters{min-height:40px;font-size:12px;color:#526b86}
#filter-summary{font-size:12px;color:#526b86}
#library-results .studio-voice-card{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:20px 18px 16px;transition:border-color 180ms var(--ui-ease),box-shadow 180ms var(--ui-ease)}
#library-results .studio-voice-card:hover{border-color:#c3d2e1;box-shadow:0 4px 14px #203c5610}
#library-results .studio-voice-card .avatar{width:48px;height:48px}
#library-results .studio-voice-card .voice-info{padding-right:24px}
#library-results .studio-owned-voice .voice-info{padding-right:50px}
#library-results .studio-voice-card .voice-info h3{font-size:15px;line-height:1.55}
#library-results .studio-voice-card .voice-info p{font-size:13px;line-height:1.65}
#library-results .studio-voice-card .tags{font-size:12px;color:#60768c}
#library-results .studio-voice-card .voice-actions{gap:8px;align-self:end}
#library-results .studio-voice-card .voice-actions button{min-height:40px;font-size:12px;padding:8px 10px}
#library-results .studio-voice-card [data-select]{background-color:#fff4ec!important;border-color:#efcfb9!important;color:#a9481b!important}
#library-results .studio-voice-card [data-select]:hover{background-color:#ffe8d8!important;border-color:#e4b798!important}
#library-results .studio-voice-card [data-favorite]{right:8px;top:10px;min-width:36px;min-height:36px;padding:6px}
#library-results .studio-owned-voice [data-favorite]{right:42px}
.studio-pause-menu>.pause-tools{animation:ui-reveal 140ms var(--ui-ease)}
dialog[open]{animation:ui-reveal 160ms var(--ui-ease)}
@keyframes ui-reveal{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.page-heading h1{font-size:31px}.page-heading:has(+ #page[data-route=home]) h1{font-size:32px}}
@media(max-width:760px){
 body>main{padding-top:22px}.page-heading,.page-heading:has(+ #page[data-route=home]){min-height:76px;margin-bottom:18px;align-items:flex-start}
 .page-heading h1,.page-heading:has(+ #page[data-route=home]) h1{font-size:28px}
 .studio-library-head{gap:10px}.studio-library-head>.tabs{gap:18px;width:100%}.studio-library-head>.tabs button{font-size:14px}
 .studio-library-head>.studio-library-create{margin-bottom:14px}.studio-library-create button{font-size:13px}
 #library-results .studio-voice-card .voice-actions button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){button,a,summary,input,textarea,select,[role=button],#library-results .studio-voice-card{transition:none!important}dialog[open],.studio-pause-menu>.pause-tools{animation:none!important}html{scroll-behavior:auto}}
@media(max-width:760px){body:is([data-studio-route=voices],[data-studio-route=design],[data-studio-route=clone]) .page-heading:after{display:none}}

/* Task hierarchy: inputs, optional settings, current result, then previous work. */
.studio-creation-intro{font-size:13px;line-height:1.8;color:#62788f;margin:-5px 0 18px;max-width:50ch}
.studio-creation-workspace{align-items:start}
.studio-creation-workspace>aside.card{min-height:380px}
.studio-creation-form>.toolbar{margin:12px 0 22px}
.studio-creation-form #description{min-height:144px}
.studio-preview-options{border-top:1px solid var(--studio-line);border-bottom:1px solid var(--studio-line);padding:16px 0;margin:20px 0}
.studio-preview-options>summary{font-size:14px;font-weight:500;color:#314d69;cursor:pointer}
.studio-preview-summary{display:block;font-size:13px;line-height:1.7;color:#6c8096;font-weight:400;margin:7px 0 0;overflow-wrap:anywhere}
.studio-preview-options[open] .studio-preview-summary{display:none}
.studio-preview-options .studio-preview-text{border:0;padding:0;margin:16px 0 0}
.studio-preview-options .studio-preview-text>span{font-size:13px!important;font-weight:400!important;margin:0 0 7px}
.studio-preview-options .studio-preview-text textarea{min-height:100px}
.studio-preview-options .counter{font-size:12px;margin:6px 0 0}
.studio-creation-options{flex-wrap:wrap;gap:12px 24px;margin:18px 0 0}
.studio-creation-form>#generate{margin-top:22px}
.studio-reference-upload:not([open]){padding:12px 14px}
.studio-reference-upload:not([open])>summary{padding:0}
.studio-consent-hint{font-size:12px}
.studio-advanced>summary small,.studio-active-summary{font-size:12px!important;line-height:1.7!important;letter-spacing:0}
.has-active-settings{color:#9c542e!important}
.document-card>.editor-options{border-top:1px solid var(--studio-line);margin:0;padding:14px 0;font-size:13px}
.document-card>.editor-options>summary{font-size:13px;color:#526d89}
.document-card>.editor-options .editor-options-body{padding-top:14px}
.document-card>.precision-tools{padding:14px 0}
.document-card>.precision-tools>summary{font-size:13px}
.studio-parameter-help{font-size:12px;color:#6c8096;line-height:1.7}
.studio-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:240px;padding:30px 20px;gap:10px}
.studio-history-empty h3,.studio-history-empty h4{font-size:18px;font-weight:500;color:#3e5a75;margin:0}
.studio-history-empty p{font-size:13px;color:#70859b;line-height:1.8;max-width:32ch;margin:0}
.job-candidates{display:grid;grid-template-columns:1fr;gap:12px;margin:20px 0}
.job-candidate{border:1px solid #dfe7ef;border-radius:12px;background:#fbfcfe;padding:16px}
.job-candidate h4{font-size:15px;margin:0 0 10px;color:#294763}
.job-candidate .candidate-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}
.job-candidate .candidate-actions button{min-height:40px;font-size:13px;padding:8px 11px}
.job-candidate .candidate-actions .primary{margin-left:auto;background:#fff1e7;color:#a94c1d;border-color:#edd1bf;box-shadow:none}
.job-candidate .candidate-actions .primary:hover{background:#ffe6d5;border-color:#dcb79f}
.job-candidate .hint{font-size:12px;margin:8px 0 0;background:transparent;border:0;padding:0;color:#6d8095}
.history-paging{border-top:1px solid #e8edf3;margin-top:18px;padding-top:14px}
.history-paging p{font-size:12px;margin:0 0 10px}
#current-speech-result:not([hidden]){border:1px solid #dce6ee;border-radius:12px;background:#f5f9fc;padding:16px;margin-top:20px;scroll-margin-block:30px}
#current-speech-result p{font-size:13px;line-height:1.7;margin:6px 0}
#current-speech-result button{font-size:13px;min-height:40px}
#current-speech-result h3,#current-speech-result strong{font-size:15px}
#current-speech-result .hint{border:0;background:transparent;padding:0;margin:8px 0}
@media(min-width:1051px){
 .home-grid .start-card-body{display:flex;flex-direction:column;min-height:334px}
 .home-grid .home-examples{margin-bottom:14px}
 .home-grid .home-task-footer{margin-top:8px}
 .home-grid .studio-start-tts{margin-top:8px}
 .home-grid .studio-asr-steps{margin-bottom:14px}
 .home-grid .studio-home-drop{min-height:29px;margin-bottom:0;padding:0}
 .home-grid .studio-quick-create{margin-top:12px}
}
@media(max-width:1050px){
 .workspace .editor{min-height:230px}
 .studio-creation-workspace>aside.card{min-height:0}
 .studio-history-empty{min-height:190px}
}
@media(max-width:760px){
 .studio-creation-intro{font-size:13px}
 .studio-creation-options{gap:12px}
 .studio-creation-options>label{flex:1;justify-content:space-between}
 .studio-creation-options select{min-width:90px}
 .studio-creation-form>#generate{width:100%;margin-top:20px}
 .synthesis-submit-panel #generate{width:100%;font-size:15px}
 .studio-creation-form #description{min-height:130px}
 .studio-preview-options{padding:14px 0;margin:18px 0}
 .job-candidate{padding:14px}
 .job-candidate .candidate-actions button{min-height:44px}
 .studio-heading-actions{padding-top:4px}
 #studio-history-button{font-size:12px;min-height:38px}
 .studio-recent-link{min-height:40px;display:inline-flex;align-items:center}
}

.job-candidate>p{font-size:12px;line-height:1.7;margin:0;color:#718297}
.creation-history-previous{margin-top:22px;border-top:1px solid var(--studio-line);padding-top:14px}
.creation-history-previous>summary{font-size:14px;color:#526d89}
.workspace .studio-history-empty h3{font-size:18px;color:#3e5a75;margin:0;font-weight:500}
.workspace .studio-history-empty p{font-size:13px;line-height:1.8;margin:0}
.studio-basic-adjustments>summary{font-size:15px;font-weight:500;color:#294763;padding:4px 0 15px;cursor:pointer}
.studio-basic-summary{display:block;font-size:12px;color:#73869b;font-weight:400;line-height:1.7;margin:7px 0 0}
.studio-basic-adjustments[open] .studio-basic-summary{display:none}
.studio-basic-adjustments:not([open]){border-bottom:1px solid var(--studio-line);margin-bottom:16px}
@media(max-width:1050px){.selected-voice-actions{margin-bottom:18px}.studio-basic-adjustments>summary{padding-bottom:12px}}
.job-candidate .candidate-actions button{min-height:44px}
.asr-grid{align-items:start}
.asr-grid>.asr-input-card{min-height:0}
.document-card>.precision-tools{border-bottom:0;margin-bottom:0}
.document-card>.precision-tools>summary{padding:4px 0}
.document-card>.precision-tools>summary small{margin-left:0}

.current-speech-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.job:focus{outline:none;border-color:#b8cbdc;box-shadow:0 0 0 2px #dbe7f24d}
@media(min-width:1051px){
 .home-grid .start-card-body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(130px,auto) 58px 48px auto;align-content:start;row-gap:10px;min-height:354px}
 .home-grid .task-heading{grid-row:1;margin:0}
 .home-grid .home-examples{grid-row:2;grid-column:1;align-self:start;margin:0}
 .home-grid .studio-asr-steps{grid-row:2;grid-column:1;align-self:start;margin:0}
 .home-grid .studio-home-drop{grid-row:2;grid-column:1;align-self:end;min-height:24px;margin:0}
 .home-grid .studio-start-tts,.home-grid .home-task-footer{grid-row:3;grid-column:1;margin:0;align-self:start}
 .home-grid .studio-quick-create{grid-row:4;grid-column:1;margin:0}
}
@media(max-width:760px){
 .studio-creation-workspace #history-cards>.job{border:0;box-shadow:none;padding:0;background:transparent}
 .studio-creation-workspace #history-cards>.job:focus{outline:2px solid #b8cbdc;outline-offset:7px}
}

/* A named, dismissible player stays readable while comparing voices. */
.studio-skip-link{position:fixed;top:10px;left:16px;z-index:100;padding:10px 16px;background:#fff;border:1px solid #7897b5;border-radius:9px;transform:translateY(-150%);color:#294763}
.studio-skip-link:focus{transform:translateY(0)}
#main-content:focus{outline:none}
#studio-player-dock{position:fixed;left:258px;bottom:18px;z-index:28;width:min(520px,calc(100vw - 300px));background:#fff;border:1px solid #dfe8ef;box-shadow:0 8px 32px #28456226;border-radius:15px;padding:9px 12px}
.studio-player-heading{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:0 4px 4px}
#player-source{margin:0;font-size:13px;color:#45617d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#close-player{width:32px;min-height:32px;padding:2px;border:0;background:transparent;font-size:22px;color:#647c93;flex:none}
#studio-player-dock #player{position:static;width:100%;margin:0;padding:0;border:0;box-shadow:none;height:44px}
body:has(#studio-player-dock:not([hidden]))>main{padding-bottom:150px}
@media(max-width:1050px){#studio-player-dock{left:218px;width:calc(100vw - 240px)}}
@media(max-width:760px){#studio-player-dock{left:12px;right:12px;width:auto;bottom:max(12px,env(safe-area-inset-bottom))}#player-source{font-size:12px}#close-player{min-width:40px;min-height:40px}}

/* Recognition states share one clear result surface instead of nested empty panels. */
#page[data-live-phase=idle] .studio-live-transcript{display:none}
.asr-live-idle:not([hidden]){display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:350px;text-align:center;padding:32px 24px;background:#fbfcfe;border-radius:12px}
.asr-live-idle:before{content:"";width:34px;height:46px;margin-bottom:24px;border:2px solid #91a6bc;border-radius:18px;background:linear-gradient(180deg,#f4f7fb,#edf2f8);box-shadow:0 8px 0 -5px #91a6bc}
.asr-live-idle h3{font-size:20px;margin:0 0 12px;color:#36526d;font-weight:500}
.asr-live-idle p{font-size:14px;line-height:1.8;color:#75899e;margin:0;max-width:28ch}
#asr-error:not([hidden]){background:#fff5f2;border:1px solid #efd2c9;border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.7;margin-bottom:18px}
#asr-submit-state,#asr-result-context{font-size:13px;line-height:1.7;color:#5d748d}
#asr-submit-state{margin:12px 0 0;text-align:center}
#asr-result-context{margin:0 0 16px;background:#f3f7fb;padding:10px 13px;border-radius:9px}
#asr-edit-state{font-size:13px;margin:10px 0}
#asr-input-options>summary,#asr-input-options>details>summary{font-size:13px;min-height:38px;cursor:pointer}
#asr-input-options>details>summary{padding-block:6px}
#asr-pending-audio{width:100%;height:44px;margin:12px 0}
.studio-live-transcript{border:0;padding:0;background:transparent}
body[data-studio-route=asr-live] .studio-live-transcript{padding:0}
body[data-studio-route=asr-live] #asr-committed{border:0;border-radius:0;padding:16px 0;background:transparent;min-height:180px}
body[data-studio-route=asr-live] #asr-candidate{border:0;border-top:1px dashed #d6e0ea;border-radius:0;padding:16px 0;min-height:70px}
@media(max-width:760px){
 .asr-live-idle:not([hidden]){min-height:250px;padding:28px 20px}
 .asr-live-idle h3{font-size:18px}.asr-live-idle p{font-size:13px}
 .asr-grid #asr-editor{min-height:240px}
 #asr-editing-panel>.actions{flex-wrap:wrap}#asr-editing-panel>.actions button{min-height:44px;font-size:13px;flex:1}
}
/* Ledger separates the result, released reservation and time into readable lines. */
#dialog .credit-ledger-row{display:block;padding:16px 2px}
#dialog .credit-ledger-row>p:first-child{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0}
#dialog .credit-ledger-row>p.muted{margin:5px 0 0;font-size:13px}
#dialog .credit-ledger-row time{margin-left:auto}
.account-studio .primary{background:#cb601f;transition:background-color 180ms ease,box-shadow 180ms ease,transform 120ms ease}
.account-studio .primary:hover:not(:disabled){background:#b75219}
@media(max-width:600px){#dialog .credit-ledger-row time{flex-basis:100%;margin-left:0}}
.asr-input-card:has(#asr-pending-preview:not([hidden])) .asr-upload-zone,
.asr-input-card:has(#asr-source-summary:not([hidden])) .asr-upload-zone{display:flex;align-items:center;padding:0;border:0;background:none;margin:12px 0}
.asr-input-card:has(#asr-pending-preview:not([hidden])) .asr-upload-zone>.ls-icon,
.asr-input-card:has(#asr-pending-preview:not([hidden])) .asr-upload-zone>p,
.asr-input-card:has(#asr-source-summary:not([hidden])) .asr-upload-zone>.ls-icon,
.asr-input-card:has(#asr-source-summary:not([hidden])) .asr-upload-zone>p{display:none}
.asr-input-card .asr-upload-zone label>span{min-height:44px}
.asr-live-idle:before{display:none}
.studio-live-idle-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:18px;border-radius:20px;background:#edf3f8;color:#7890a7}
.studio-live-idle-icon svg{width:32px;height:32px}
.studio-recent-meta{display:block;line-height:1.6;font-size:12px;margin:4px 0 0}
@media(max-width:760px){
 body[data-studio-route=home] .page-heading{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 body[data-studio-route=home] .page-heading>div:first-child{width:100%;max-width:none}
 body[data-studio-route=home] .studio-heading-actions{align-self:flex-end;max-width:none}
 body[data-studio-route=home] .page-heading #service-status{max-width:none}
}
@media(max-width:760px){
 body[data-studio-route=home] .page-heading h1,body[data-studio-route=home] #page-description{max-width:none}
 body[data-studio-route=home] .studio-heading-actions{position:static;width:auto;padding:0}
 body[data-studio-route=home] .page-heading #service-status{max-width:100%;text-align:right}
}
@media(max-width:760px){.page-heading:has(+ #page[data-route=home]) h1,.page-heading:has(+ #page[data-route=home]) #page-description{max-width:none}.page-heading:has(+ #page[data-route=home]) #service-status{max-width:none}}
/* The same brand color paints the approved silhouette and primary actions. */
.brand-symbol{background-color:var(--studio-orange);-webkit-mask:url('assets/lansheng-shell-approved.png') center/contain no-repeat;mask:url('assets/lansheng-shell-approved.png') center/contain no-repeat}
.brand-symbol img{visibility:hidden}
button.primary,.primary,#asr-download,.account-studio .primary{background:var(--studio-orange);border-color:var(--studio-orange)}
button.primary:hover:not(:disabled),.primary:hover,#asr-download:hover:not(:disabled),.account-studio .primary:hover:not(:disabled){background:var(--studio-orange-hover);border-color:var(--studio-orange-hover)}
/* Expanded quick creation is a form, with each decision on its own row. */
.home-grid .start-card-body:has(.studio-quick-create[open]):before{top:0;bottom:auto;height:300px}
.home-grid .studio-quick-create[open]{background:#fff;isolation:isolate;margin-inline:0;padding:16px}
.home-grid .studio-quick-create .row{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;width:100%;align-items:start}
.home-grid .studio-quick-create .selected-voice{width:100%;min-width:0;padding:8px 28px 12px 64px;min-height:76px;margin:0;flex:none;border-bottom:1px solid var(--studio-line)}
.home-grid .studio-quick-create .voice-avatar{width:46px;height:46px;left:0;top:8px}
.home-grid .studio-quick-create .selected-voice strong,.home-grid .studio-quick-create .selected-voice small{display:block;overflow-wrap:anywhere}
.home-grid .studio-quick-create .selected-voice-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.home-grid .studio-quick-create .selected-voice-actions button{flex:1;min-height:44px;margin:0}
.home-grid .studio-quick-create .row>.primary{width:100%;margin:0;min-height:46px;font-size:14px}
@media(max-width:760px){.home-grid .start-card-body:has(.studio-quick-create[open]):before{height:240px}.home-grid .studio-quick-create[open]{padding:12px}}
body[data-studio-route=welcome]>.sidebar~main>.page-heading{display:none}
body[data-studio-route=welcome]>.sidebar~main{padding-top:28px}
@media(max-width:760px){body[data-studio-route=welcome]>.sidebar~main{padding-top:20px}}
@media(max-width:760px){
 .studio-document-toolbar{position:relative}
 .studio-document-toolbar .studio-pause-menu{position:static}
 .studio-document-toolbar .studio-pause-menu[open]>.pause-tools{left:0;right:auto;top:44px;width:min(300px,100%);max-width:100%;box-sizing:border-box}
}
.welcome-page{--welcome-orange:var(--studio-orange)}
.welcome-page .hero-copy{text-align:left}
.welcome-page .button:hover{background:var(--studio-orange-hover)}
.account-brand:before{content:"";display:block;flex:none;width:22px;height:26px;background:var(--studio-orange);-webkit-mask:url('assets/lansheng-shell-approved.png') center/contain no-repeat;mask:url('assets/lansheng-shell-approved.png') center/contain no-repeat}
.account-brand img{display:none}
/* Long personal voice names must not impose the grid's minimum width. */
.synthesis-workspace>.card,.synthesis-workspace>aside.card{min-width:0;max-width:100%}
.voice-settings-panel .selected-voice{min-width:0;max-width:100%}
.voice-settings-panel .selected-voice strong{overflow-wrap:anywhere}
/* Reserve actual touch-target widths, not only the icon glyph widths. */
#library-results .studio-voice-card .voice-info{padding-right:0}
#library-results .studio-voice-card .voice-info h3{padding-right:46px;min-height:44px}
#library-results .studio-owned-voice .voice-info h3{padding-right:90px}
#library-results .studio-voice-card [data-favorite]{width:44px;height:44px;min-width:44px;padding:8px}
#library-results .studio-owned-voice [data-favorite]{right:54px}
#library-results .studio-voice-card .voice-menu{right:8px;top:10px}
#library-results .studio-voice-card .voice-menu summary{display:grid;place-items:center;width:44px;height:44px;padding:0;min-height:44px}
.voice-menu-items button{min-height:44px!important}
/* User names and descriptions can contain long unbroken identifiers. */
#dialog-body{min-width:0;overflow-wrap:anywhere}
#dialog-body input,#dialog-body textarea,#dialog-body select{min-width:0;max-width:100%}
/* Keep recording actions in place while their requests are in progress. */
body[data-studio-route=asr-live] #page:is([data-live-phase=recording],[data-live-phase=stopping],[data-live-phase=finishing],[data-live-phase=cancelling],[data-live-phase=cancel-failed]) :is(#asr-stop,#asr-cancel-live):disabled,
body[data-studio-route=asr-live] #page[data-live-phase=starting] #asr-cancel-live:disabled{display:inline-flex;align-items:center;justify-content:center}

[data-route="evaluations"] .evaluation-audio { width: 100%; }
[data-route="evaluations"] select { max-width: 100%; }
[data-route="evaluations"] .workspace > * { min-width: 0; }
