/* Approved workspace compositions; keep real controls, jobs and audio states. */
body:is([data-studio-route=home],[data-studio-route=voices],[data-studio-route=synthesis],[data-studio-route=design],[data-studio-route=clone],[data-studio-route=asr],[data-studio-route=asr-live])>main{padding:30px 36px 54px}
body:is([data-studio-route=home],[data-studio-route=voices],[data-studio-route=synthesis],[data-studio-route=design],[data-studio-route=clone],[data-studio-route=asr],[data-studio-route=asr-live]) .page-heading{min-height:142px;margin-bottom:24px;position:relative;align-items:center}
body:is([data-studio-route=home],[data-studio-route=voices],[data-studio-route=synthesis],[data-studio-route=design],[data-studio-route=clone],[data-studio-route=asr],[data-studio-route=asr-live]) .page-heading h1{font-size:46px;font-weight:600;letter-spacing:-1.4px}
body:is([data-studio-route=home],[data-studio-route=voices],[data-studio-route=synthesis],[data-studio-route=design],[data-studio-route=clone],[data-studio-route=asr],[data-studio-route=asr-live]) .page-heading>div:first-child:before{content:'创作空间';display:block;color:#7990aa;font-size:13px;margin-bottom:15px}
body[data-studio-route=voices] .page-heading>div:first-child:before{content:'创作空间 / 音色库'}
body[data-studio-route=design] .page-heading>div:first-child:before{content:'创作空间 / 音色设计'}
body[data-studio-route=clone] .page-heading>div:first-child:before{content:'创作空间 / 声音克隆'}
body:is([data-studio-route=voices],[data-studio-route=design],[data-studio-route=clone]) .page-heading:after{width:330px;height:185px;right:240px;bottom:-22px;opacity:.92}
body[data-studio-route=voices] .studio-heading-actions{align-self:flex-start;margin-top:12px}
.studio-library{padding:22px 26px 24px}.studio-library-head{margin-bottom:18px}
.studio-library-head>.studio-library-create{position:absolute;top:-68px;right:0}
.studio-library-create button{min-height:43px;padding:9px 17px;font-size:14px}
.studio-library-head>.tabs{gap:32px}.studio-library-head>.tabs button{font-size:17px;min-height:52px}
.studio-library>.filters input{font-size:15px;min-height:46px}
.studio-library-filters>summary{border:0;padding:0;min-height:26px;font-size:12px;margin-bottom:6px}
.studio-library-filters .filters{gap:15px}.studio-library-filters .filters label>span{font-size:12px;margin-bottom:7px}
.studio-library-filters select{font-size:14px;min-height:41px}
#clear-filters{font-size:12px;margin-top:4px}#filter-summary{padding-top:12px;margin:8px 0 16px;font-size:12px}
#library-results{gap:18px}#library-results .studio-voice-card{min-height:209px;padding:21px 18px 16px;grid-template-columns:66px minmax(0,1fr);gap:15px}
.studio-voice-card .avatar{width:66px;height:66px}.studio-voice-card .avatar .ls-icon{width:43px;height:43px;fill:currentColor;stroke-width:.8;opacity:.8}
.studio-voice-card .voice-info h3{font-size:17px}.studio-voice-card .voice-info p{font-size:13px;line-height:1.75}.studio-voice-card .tags{font-size:12px}
.studio-voice-card .voice-actions button{font-size:12px;min-height:36px;padding:7px 10px}
#library-results .studio-voice-card.is-selected{border-color:#ef9b6f;background:#fffaf6;box-shadow:0 0 0 1px #f4b99533}
#library-pagination{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:23px;font-size:13px;color:#6d829a}#library-pagination[hidden]{display:none}#library-pagination button{min-height:36px;font-size:13px}
/* Two distinct input panels, matching the approved design layout. */
.studio-creation-workspace{grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);gap:22px;align-items:stretch}
.studio-creation-workspace>aside.card{padding:27px 28px;display:flex;flex-direction:column;min-height:650px}
.studio-creation-workspace h2,.studio-creation-workspace>aside>h3{font-size:26px}
.studio-creation-form.creation-split{padding:0;border:0;box-shadow:none;background:transparent;display:flex;flex-direction:column;gap:20px}
.creation-description-panel,.creation-preview-panel{padding:26px 28px}
.creation-description-panel>.row{margin:0 0 12px}.studio-creation-intro{font-size:13px;line-height:1.8;color:#7a8fa7;margin:10px 0 17px}
.creation-description-panel #description{min-height:146px;font-size:16px;line-height:1.9}
.creation-description-panel>.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 0;padding:0;border:0}
.creation-description-panel>.toolbar>span{flex-basis:100%;font-size:12px;color:#8394a9}
.creation-description-panel>.toolbar button{font-size:12px;min-height:33px;background:#f1f5fa;border:0}
.studio-preview-options{border:0;padding:0;margin:0}.studio-preview-options>summary{font-size:24px;list-style:none;font-weight:600;color:#19324d;margin-bottom:14px;pointer-events:none}.studio-preview-options>summary::-webkit-details-marker{display:none}.studio-preview-summary{display:none}
.studio-preview-text>span{display:none}.studio-preview-text #preview-text{font-size:16px;min-height:146px;line-height:1.9;padding:16px}
.studio-creation-options{justify-content:space-between;margin:18px 0 12px}.studio-creation-options>label>span{font-size:14px}
.creation-preview-panel #generate{display:block;margin:18px 0 0 auto;min-width:168px;min-height:47px;width:auto;font-size:16px}
.creation-preview-panel .counter{font-size:12px;text-align:right;color:#7c8ea5;margin:8px 0}
.studio-creation-workspace .job{padding:20px;background:#fcfdff}.studio-creation-workspace .job .row h3{font-size:17px}.studio-creation-workspace .job p{font-size:13px}
.creation-guide{margin-top:auto;padding:24px 4px 4px;border-top:1px solid #e7edf4;color:#8293a9}.creation-guide h3{font-size:17px!important;color:#58738f}.creation-guide ol{padding-left:22px;margin:16px 0 0;font-size:13px;line-height:2.6}
body[data-studio-route=clone] .studio-creation-form{padding:27px 28px}
.studio-reference-upload{margin:15px 0;padding:18px;border:1px dashed #c4d4e6;background:#f8faff;border-radius:12px}
.studio-reference-upload>summary{font-size:14px;margin-bottom:14px}.studio-reference-upload input{font-size:13px;max-width:100%}
body[data-studio-route=clone] #reference-text{min-height:110px;font-size:15px;line-height:1.8}
body[data-studio-route=clone] .studio-preview-options{border-top:1px solid #e5edf5;padding-top:20px;margin-top:20px}
body[data-studio-route=clone] .studio-preview-options>summary{font-size:22px}
body[data-studio-route=clone] .studio-creation-form>.check{font-size:13px;line-height:1.7}
/* Workspace launch illustrations and recent works retain live data. */
.home-grid{gap:22px}.home-grid .start-card-body{min-height:330px;padding:29px 30px}.home-grid .start-card-body:before{width:67%;background-size:110% auto;background-position:right -24px bottom -24px}
.home-grid h2{font-size:34px}.home-grid .intro{font-size:15px;max-width:60%}.home-grid .home-examples{max-width:60%;flex-wrap:wrap}.home-grid .home-examples button{font-size:12px}.home-grid .studio-asr-steps{font-size:14px;max-width:60%}.home-grid .studio-action-link,.home-grid #home-asr-choose{min-height:46px;font-size:15px}
.studio-recent{margin-top:22px;padding:27px 28px}.studio-recent h2{font-size:26px}
/* Document and transcription columns use the same headline and panel rhythm. */
.synthesis-workspace{grid-template-columns:minmax(0,1.45fr) minmax(340px,1fr);column-gap:22px}
.synthesis-workspace>.document-card,.synthesis-workspace>.voice-settings-panel{padding:27px 28px}.synthesis-workspace .editor{min-height:325px;font-size:18px;line-height:2;padding:22px}
.synthesis-workspace .document-heading h2{font-size:25px}.synthesis-workspace .studio-basic-adjustments{padding-bottom:10px}.synthesis-workspace .studio-basic-adjustments>summary{font-size:16px}.synthesis-workspace .selected-voice{padding:20px 16px}.synthesis-workspace .selected-voice strong{font-size:20px}
.synthesis-workspace .studio-advanced>summary{font-size:15px;min-height:47px}.synthesis-workspace .precision-tools>summary{min-height:36px}.synthesis-workspace .editor-options{margin-top:8px}.synthesis-workspace>.synthesis-submit-panel{padding:12px 28px 25px}
.asr-route-tabs{margin:0 0 18px}.asr-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.55fr);gap:22px}.asr-grid>.card{padding:28px;min-height:620px}.asr-grid h2{font-size:26px}.asr-grid #asr-editor{min-height:350px;font-size:17px}
body[data-studio-route=asr-live] .asr-grid{grid-template-columns:minmax(0,.77fr) minmax(0,1.7fr)}
body[data-studio-route=asr-live] .asr-input-card,body[data-studio-route=asr-live] .asr-result-card{min-height:650px}
body[data-studio-route=asr-live] .studio-live-transcript{background:white;border:0;padding:0;min-height:450px}
body[data-studio-route=asr-live] .studio-live-transcript>.studio-section-title{font-size:26px}
@media(max-width:1200px){#library-results{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-library-filters .filters{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-voice-card .voice-info h3{font-size:15px}body:is([data-studio-route=voices],[data-studio-route=design],[data-studio-route=clone]) .page-heading:after{right:150px;width:230px;opacity:.5}.synthesis-workspace{grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr)}}
@media(max-width:1050px){.studio-creation-workspace,.synthesis-workspace,.asr-grid,body[data-studio-route=asr-live] .asr-grid{grid-template-columns:1fr}.studio-creation-workspace>aside.card{min-height:400px}.synthesis-workspace>.document-card,.synthesis-workspace>.voice-settings-panel,.synthesis-workspace>.synthesis-submit-panel{grid-column:1;grid-row:auto;border:1px solid #e6edf5;border-radius:18px}.asr-grid>.card,body[data-studio-route=asr-live] .asr-input-card,body[data-studio-route=asr-live] .asr-result-card{min-height:0}}
@media(max-width:760px){body:is([data-studio-route=home],[data-studio-route=voices],[data-studio-route=synthesis],[data-studio-route=design],[data-studio-route=clone],[data-studio-route=asr],[data-studio-route=asr-live])>main{padding:18px 15px 40px}body:is([data-studio-route=home],[data-studio-route=voices],[data-studio-route=synthesis],[data-studio-route=design],[data-studio-route=clone],[data-studio-route=asr],[data-studio-route=asr-live]) .page-heading{min-height:119px;gap:10px;margin-bottom:19px}body:is([data-studio-route=home],[data-studio-route=voices],[data-studio-route=synthesis],[data-studio-route=design],[data-studio-route=clone],[data-studio-route=asr],[data-studio-route=asr-live]) .page-heading h1{font-size:31px;letter-spacing:-.6px}body:is([data-studio-route=home],[data-studio-route=voices],[data-studio-route=synthesis],[data-studio-route=design],[data-studio-route=clone],[data-studio-route=asr],[data-studio-route=asr-live]) .page-heading>div:first-child:before{font-size:11px;margin-bottom:10px}body:is([data-studio-route=voices],[data-studio-route=design],[data-studio-route=clone]) .page-heading:after{display:none}.studio-library-head>.studio-library-create{position:static;flex-wrap:wrap;margin:5px 0 14px}.studio-library-head{gap:5px}.studio-library-head>.tabs{gap:23px}.studio-library-head>.tabs button{font-size:14px}.studio-library{padding:18px}.studio-library-filters .filters{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-library-filters select{font-size:12px}#library-results{grid-template-columns:1fr}#library-results .studio-voice-card{min-height:190px}.studio-library-create button{min-height:39px;font-size:12px}#library-pagination{gap:12px;font-size:11px}.creation-description-panel,.creation-preview-panel,.studio-creation-workspace>aside.card,body[data-studio-route=clone] .studio-creation-form{padding:22px}.studio-creation-form.creation-split{padding:0}.studio-creation-workspace h2,.studio-creation-workspace>aside>h3{font-size:23px}.studio-preview-options>summary{font-size:22px}.studio-creation-options{gap:10px;flex-wrap:wrap}.studio-creation-options>label>span{font-size:12px}.creation-preview-panel #generate{width:100%;margin-top:20px}.creation-guide{margin-top:24px}.home-grid .start-card-body{min-height:300px;padding:25px}.home-grid h2{font-size:29px}.home-grid .intro{font-size:13px}.home-grid .start-card-body:before{width:65%;background-size:120% auto}.home-grid .studio-asr-steps{font-size:12px}.studio-recent{padding:20px}.synthesis-workspace>.document-card,.synthesis-workspace>.voice-settings-panel,.synthesis-workspace>.synthesis-submit-panel{padding:21px}.synthesis-workspace .editor{min-height:260px;font-size:16px;padding:16px}.asr-grid>.card{padding:22px}.asr-grid h2{font-size:23px}.asr-grid #asr-editor{font-size:15px}.studio-preview-text #preview-text{font-size:15px}}
/* Compact filter row and larger illustrated voice portraits from the approved board. */
.studio-library-filters[open]{position:relative;padding:0 0 4px}.studio-library-filters>summary{position:absolute;right:0;top:-62px;min-height:42px;padding:10px 14px;background:#fff;border:1px solid #dfe7ef;border-radius:9px}
.studio-library>.filters{padding-right:118px}.studio-library-filters .filters{margin:10px 0 4px}.studio-library-filters .filters label>span{margin-bottom:5px}
.studio-library #clear-filters{position:absolute;right:0;bottom:-36px;min-height:26px;font-size:12px}.studio-library #filter-summary{margin:12px 0 16px;padding-top:14px;min-height:34px}
#library-results .studio-voice-card{grid-template-columns:84px minmax(0,1fr);min-height:194px;gap:13px;padding:17px 15px 14px}
#library-results .studio-voice-card .avatar{width:84px;height:84px;background-image:url('assets/approved-voice-avatars-r3.png');background-size:300% 200%;background-position:0 0;overflow:hidden}
#library-results .studio-voice-card .avatar .ls-icon{display:none}
#library-results .studio-voice-card:nth-child(6n+2) .avatar{background-position:50% 0}
#library-results .studio-voice-card:nth-child(6n+3) .avatar{background-position:100% 0}
#library-results .studio-voice-card:nth-child(6n+4) .avatar{background-position:0 100%}
#library-results .studio-voice-card:nth-child(6n+5) .avatar{background-position:50% 100%}
#library-results .studio-voice-card:nth-child(6n+6) .avatar{background-position:100% 100%}
#library-results .studio-voice-card .voice-info h3{font-size:17px;line-height:1.5;padding-right:24px;min-height:44px}
#library-results .studio-owned-voice .voice-info h3{padding-right:76px}
#library-results .studio-voice-card .voice-info p{font-size:13px;margin-top:4px}
#library-results .studio-voice-card .voice-actions button{font-size:13px;min-height:39px}
#library-results .studio-voice-card [data-select]{background:#fff!important;color:#355d87!important;border-color:#cfdeef!important}
body:is([data-studio-route=voices],[data-studio-route=design],[data-studio-route=clone]) .page-heading:after{width:420px;height:190px;right:200px;bottom:-24px;background-size:138% auto}
.creation-description-panel .studio-creation-intro{margin:6px 0 14px}.creation-description-panel #description{min-height:135px}.creation-preview-panel .studio-preview-text #preview-text{min-height:116px}
.creation-preview-panel{padding-top:22px;padding-bottom:23px}.creation-preview-panel .studio-preview-options>summary{margin:0 0 12px}.creation-preview-panel .studio-creation-options{margin:12px 0}.creation-preview-panel #generate{margin-top:13px}
body[data-studio-route=design] .studio-creation-workspace .job{border:0;padding:0;background:none}
body[data-studio-route=design] .studio-creation-workspace .job-candidates{gap:14px;margin:18px 0}
body[data-studio-route=design] .job-candidate{min-height:135px;padding:18px}
body[data-studio-route=design] .creation-guide{padding-top:16px}.creation-guide ol{line-height:2.1;margin-top:8px}
@media(max-width:1200px){body:is([data-studio-route=voices],[data-studio-route=design],[data-studio-route=clone]) .page-heading:after{width:260px;right:150px;background-size:120% auto}}
@media(max-width:760px){.studio-library-filters>summary{top:-57px;padding:9px 10px;font-size:12px}.studio-library>.filters{padding-right:95px}.studio-library-filters .filters{margin-top:9px}#library-results .studio-voice-card{grid-template-columns:76px minmax(0,1fr)}#library-results .studio-voice-card .avatar{width:76px;height:76px}#library-results .studio-voice-card .voice-info h3{font-size:16px}.studio-library #filter-summary{padding-right:65px}#library-results .studio-voice-card .voice-actions button{min-height:44px}}
body[data-studio-route=clone] .studio-creation-workspace{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
body[data-studio-route=clone] .studio-creation-intro{margin:0 0 12px;font-size:12px}
body[data-studio-route=clone] .studio-reference-upload{margin:10px 0;padding:12px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
body[data-studio-route=clone] .studio-reference-upload>summary{list-style:none;padding:0;margin:0 0 8px;font-size:13px;pointer-events:none}
body[data-studio-route=clone] .studio-reference-upload>label{display:inline-block;width:70%;margin:0;vertical-align:middle}
body[data-studio-route=clone] .studio-reference-upload>label>span{display:none}
body[data-studio-route=clone] .studio-reference-upload input{padding:7px;font-size:12px;min-height:40px}
body[data-studio-route=clone] .studio-reference-upload>.actions{display:inline-flex;width:27%;margin:0;vertical-align:middle;justify-content:flex-end}
body[data-studio-route=clone] .studio-reference-upload #record{font-size:12px;min-height:40px;padding:8px}
body[data-studio-route=clone] .studio-creation-form>p:has(#reference-status){margin:8px 0}
body[data-studio-route=clone] #reference-player{height:42px;margin:10px 0 14px}
body[data-studio-route=clone] #reference-text{min-height:92px;padding:12px;font-size:15px}
body[data-studio-route=clone] .studio-preview-options{padding-top:15px;margin:16px 0 0}
body[data-studio-route=clone] .studio-preview-options>summary{margin:0;font-size:20px}
body[data-studio-route=clone] .studio-preview-options .studio-preview-text{padding:0;margin:10px 0 0}
body[data-studio-route=clone] .studio-preview-options #preview-text{min-height:95px;padding:12px}
body[data-studio-route=clone] .studio-creation-options{margin:12px 0}
body[data-studio-route=clone] .studio-creation-form>#generate{margin-top:10px;min-height:47px;font-size:16px}
body[data-studio-route=clone] .creation-guide{margin-top:30px;padding-top:28px}
body[data-studio-route=clone] .creation-guide h3{font-size:25px!important}
body[data-studio-route=clone] .creation-guide ol{list-style:none;counter-reset:clone-step;padding:0;margin:25px 0}
body[data-studio-route=clone] .creation-guide li{counter-increment:clone-step;position:relative;margin:0 0 32px;padding:4px 0 8px 53px;font-size:15px;line-height:1.8}
body[data-studio-route=clone] .creation-guide li:before{content:counter(clone-step);position:absolute;left:0;top:0;display:grid;place-items:center;border-radius:50%;background:#edf4fc;color:#547da9;width:36px;height:36px;font-size:20px}
@media(max-width:1050px){body[data-studio-route=clone] .studio-creation-workspace{grid-template-columns:1fr}}
@media(max-width:760px){body[data-studio-route=clone] .studio-reference-upload>label{width:100%}body[data-studio-route=clone] .studio-reference-upload>.actions{width:100%;justify-content:flex-start;margin-top:8px}body[data-studio-route=clone] .creation-guide li{font-size:13px}}
#library-results .studio-voice-card[data-portrait="0"] .avatar{background-position:0 0}#library-results .studio-voice-card[data-portrait="1"] .avatar{background-position:50% 0}#library-results .studio-voice-card[data-portrait="2"] .avatar{background-position:100% 0}#library-results .studio-voice-card[data-portrait="3"] .avatar{background-position:0 100%}#library-results .studio-voice-card[data-portrait="4"] .avatar{background-position:50% 100%}#library-results .studio-voice-card[data-portrait="5"] .avatar{background-position:100% 100%}#library-results .studio-voice-card[data-portrait="none"] .avatar{background:#edf3fa}#library-results .studio-voice-card[data-portrait="none"] .avatar .ls-icon{display:block}
.synthesis-workspace .selected-voice{padding:18px 30px 18px 76px}.synthesis-workspace .selected-voice small{font-size:13px}
.asr-grid{align-items:stretch}.asr-grid>.card{align-self:stretch}
body[data-studio-route=asr-live] .asr-result-card:has(#asr-live-idle:not([hidden]))>.studio-live-result-title{display:block;margin:0 0 20px}
body[data-studio-route=asr-live] .asr-result-card:has(#asr-live-idle[hidden])>.studio-live-result-title{display:none}
body[data-studio-route=asr-live] #asr-live-idle{min-height:0;flex:1}
body:is([data-studio-route=voices],[data-studio-route=design],[data-studio-route=clone]) .page-heading:after{mask-image:linear-gradient(to right,transparent,#000 8%,#000 88%,transparent);opacity:.86}
body[data-studio-route=clone] .studio-preview-options>summary{padding:0 0 2px}
body[data-studio-route=clone] .studio-preview-options .studio-preview-text{margin-top:5px}
body[data-studio-route=clone] .studio-creation-form>.check{margin-top:10px;margin-bottom:4px}
body[data-studio-route=clone] .studio-consent-hint{margin-bottom:0}
body[data-studio-route=clone] .studio-creation-form>#generate{margin-top:7px}
.studio-preview-options>.studio-preview-title{font-size:24px;margin:0 0 14px;font-weight:600}
.creation-preview-panel .studio-preview-options .studio-preview-text{margin:0}
body[data-studio-route=clone] .studio-preview-options>.studio-preview-title{font-size:20px;margin:0 0 12px}
body[data-studio-route=clone] .studio-preview-options .studio-preview-text{margin:0}
body[data-studio-route=clone] .studio-reference-upload>summary{pointer-events:auto}
@media(max-width:760px){.studio-preview-options>.studio-preview-title{font-size:22px}}
.page-heading:has(+ #page[data-route=home]){min-height:142px;margin-bottom:24px}.page-heading:has(+ #page[data-route=home]) h1{font-size:46px}.home-grid{align-items:stretch}.home-grid .start-card-body{height:100%}
/* Both ASR destinations remain in the sidebar; remove the duplicate tab row. */
#page:is([data-route=asr],[data-route=asr-live])>.asr-route-tabs{display:none}
@media(max-width:760px){.page-heading:has(+ #page[data-route=home]){min-height:119px;margin-bottom:19px}.page-heading:has(+ #page[data-route=home]) h1{font-size:31px}.home-grid .start-card-body{height:auto}}
body[data-studio-route=design] .creation-guide{padding:16px 0 0;margin-top:16px;font-size:13px}.creation-guide p{margin:0;line-height:1.8}
/* Route headings receive programmatic focus, but are not interactive controls. */
#page-title[tabindex="-1"]:focus{outline:none}
