@import url('./tokens.css?v=20261013-workbench');
*{box-sizing:border-box}
html{height:100%}
body{height:100vh;height:100dvh;display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:72px minmax(0,1fr);overflow:hidden;margin:0;background:var(--color-page);color:var(--color-text);font:var(--font-size-body)/var(--line-height-body) var(--font-ui)}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
button{border:0;background:none;color:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
.app-header{grid-column:1/-1;display:flex;align-items:center;gap:48px;padding:0 24px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}
.brand{font-size:23px;font-weight:750;white-space:nowrap;letter-spacing:-.7px}
.app-sidebar{grid-column:1;grid-row:2;min-height:0;min-width:0;background:var(--color-surface);border-right:1px solid var(--color-border);overflow-y:auto}
#primaryNavigation{min-height:100%;display:flex;flex-direction:column;padding:20px 6px 16px;gap:20px}
.nav-group{display:flex;flex-direction:column;gap:8px}
.nav-library{margin-top:auto;padding-top:20px}
.nav{position:relative;width:100%;min-height:52px;padding:12px 8px;border-radius:8px;text-align:center;font-size:var(--font-size-body);font-weight:600;white-space:nowrap;color:var(--color-text-secondary)}
.nav:hover{background:var(--color-page);color:var(--color-text)}
.nav.active{color:var(--color-primary);background:var(--color-primary-soft)}
.nav.active::before{content:"";position:absolute;left:0;top:17px;bottom:17px;width:3px;border-radius:3px;background:var(--color-brand)}
.header-meta{margin-left:auto;font-size:var(--font-size-caption);color:var(--color-text-muted);display:flex;gap:20px}
.prototype-label{padding-left:20px;border-left:1px solid var(--color-border)}
main{grid-column:2;grid-row:2;width:100%;min-width:0;min-height:0;padding:0;margin:0}
.workspace{height:100%;display:grid;grid-template-columns:420px minmax(0,1fr);gap:0;align-items:stretch}
.settings,.canvas{background:var(--color-surface);border-radius:0;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}
.settings{padding:24px;border-right:1px solid var(--color-border)}
.section-title{margin:0 0 18px;font-size:var(--font-size-section);font-weight:650}
.field{margin-bottom:14px;min-width:0}
.field label,.planfields label{display:block;font-size:var(--font-size-body);font-weight:var(--font-weight-label);color:var(--color-text);margin-bottom:6px}
.field:last-child{margin-bottom:0}
input[type=text],textarea,select{width:100%;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);background:white;padding:9px 10px;font-size:var(--font-size-body);min-height:var(--control-height)}
textarea{resize:vertical;line-height:1.7;min-height:88px}
input::placeholder,textarea::placeholder{color:#727984;opacity:1}
.helper,.sub{font-size:var(--font-size-caption);color:var(--color-text-muted);line-height:1.7}
.helper{margin-top:7px}
.sub{margin-top:4px}
.topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.topline label{font-size:var(--font-size-caption);color:var(--color-text-secondary)}
.textbtn{font-size:var(--font-size-caption);color:var(--color-primary);padding:0}
.settings-section{border-top:1px solid var(--color-border);margin-top:22px;padding-top:21px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.settings h3{font-size:18px;margin:0 0 4px}
.typegrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}
.type{border:1px solid var(--color-border);border-radius:6px;padding:9px;display:flex;align-items:center;justify-content:space-between;gap:4px}
.type b{font-size:var(--font-size-body);font-weight:var(--font-weight-label);white-space:nowrap}
.type small{display:none}
.counter{flex-shrink:0;display:flex;align-items:center;gap:6px;font-size:var(--font-size-caption)}
.counter button{padding:0;width:26px;height:30px;flex-shrink:0;background:var(--color-surface-muted);border-radius:3px}
.footeraction{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}
.primary{background:var(--color-primary);color:white;border-radius:6px;min-height:44px;padding:10px 22px;font-size:var(--font-size-body);font-weight:600}
.primary:hover{background:var(--color-primary-hover)}
.secondary{font-weight:500;border:1px solid var(--color-border);background:white;border-radius:6px;padding:9px 16px;min-height:var(--control-height);font-size:var(--font-size-body)}
.secondary:hover{background:var(--color-page)}
.counttotal{font-size:var(--font-size-caption);color:var(--color-text-secondary)}
.counttotal b{font-size:17px;color:var(--color-primary);margin:0 4px}
.canvas{padding:24px}
.canvas-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}
.canvas-header h1{font-size:var(--font-size-title);margin:0;font-weight:650}
.canvas-header p{margin:5px 0 0;font-size:var(--font-size-caption);color:var(--color-text-muted)}
.steps{display:flex;gap:20px;border-bottom:1px solid var(--color-border);margin-bottom:22px}
.step{font-size:var(--font-size-body);font-weight:500;padding:0 0 12px;border-bottom:2px solid transparent;color:var(--color-text-muted)}
.step.active{color:var(--color-primary);border-bottom-color:var(--color-brand)}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px}
.gallery figure{margin:0;min-width:0}
.asset{aspect-ratio:1;background-image:url('https://waibu2026.oss-cn-hangzhou.aliyuncs.com/website/ecommerce/media-981ae802b3e299688a42/assets/product-sheet.png');background-size:300% 200%;border-radius:7px;background-color:#f2f0ed}
.tile-0{background-position:0 0}
.tile-1{background-position:50% 0}
.tile-2{background-position:100% 0}
.tile-3{background-position:0 100%}
.tile-4{background-position:50% 100%}
.tile-5{background-position:100% 100%}
.imageframe{position:relative}
.imageframe .label{position:absolute;left:10px;top:10px;font-size:var(--font-size-caption);background:#ffffffed;border-radius:5px;padding:4px 9px;z-index:1}
.gallery figcaption{font-weight:500;display:flex;justify-content:space-between;font-size:var(--font-size-caption);color:var(--color-text-secondary);padding-top:9px}
.gallery figcaption small{font-size:var(--font-size-caption);color:var(--color-text-muted)}
.gallery img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--color-page);border-radius:7px}
.gallery-footer{flex-wrap:wrap;margin-top:26px;padding-top:16px;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;gap:15px;font-size:var(--font-size-caption);color:var(--color-text-muted)}
.empty{padding:70px 25px;text-align:center}
.empty h2{font-size:22px;margin:0 0 12px}
.empty p{color:var(--color-text-secondary);max-width:400px;margin:0 auto 25px;font-size:var(--font-size-body);line-height:1.8}
.scriptcards{display:grid;gap:8px;margin-top:14px}
.scriptcard{gap:8px;flex-wrap:wrap;border:1px solid var(--color-border);border-radius:6px;text-align:left;padding:11px 12px;display:flex;justify-content:space-between;align-items:center}
.scriptcard b{font-size:var(--font-size-body);font-weight:600}
.scriptcard small{font-size:var(--font-size-caption);color:var(--color-text-muted)}
.scriptcard.active{border-color:var(--color-brand);background:var(--color-primary-soft)}
.scriptcard.active b{color:var(--color-primary)}
.video-preview{display:grid;grid-template-columns:minmax(200px,330px) minmax(170px,1fr);gap:28px;align-items:center;padding:12px 24px 30px}
.phone{aspect-ratio:9/16;position:relative;background:#eeebe6;border-radius:9px;overflow:hidden}
.phone .asset{height:100%;aspect-ratio:auto;background-size:533.333% 200%;background-position:50% 0;border-radius:0}
.phone img{height:100%;width:100%;object-fit:cover}
.phonecaption{position:absolute;bottom:36px;left:20px;right:20px;text-align:center;color:white;background:#252a32db;padding:10px;border-radius:5px;font-size:var(--font-size-body)}
.phonetop{position:absolute;top:14px;left:14px;background:#ffffffe8;font-size:var(--font-size-caption);padding:4px 9px;border-radius:4px}
.storybeats{border-left:1px solid var(--color-border);padding-left:25px}
.beat{margin:0 0 25px}
.beat small{color:var(--color-primary);font-size:var(--font-size-caption)}
.beat h3{margin:5px 0;font-size:var(--font-size-body)}
.beat p{margin:0;font-size:var(--font-size-caption);color:var(--color-text-secondary)}
.plancard{border:1px solid var(--color-border);border-radius:8px;padding:18px;margin-bottom:14px}
.planheader{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}
.planheader strong{font-size:var(--font-size-body)}
.pill{font-size:var(--font-size-caption);color:var(--color-primary);background:var(--color-primary-soft);padding:3px 8px;border-radius:4px}
.planfields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.planfields textarea{min-height:88px}
.wide{grid-column:1/-1}
.plan-tools{display:flex;gap:12px;justify-content:space-between;padding-top:20px}
.work-row{gap:16px;flex-wrap:wrap;border:1px solid var(--color-border);padding:22px;border-radius:8px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}
.work-row h3{margin:0 0 5px;font-size:var(--font-size-body)}
.work-row p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-caption)}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;background:#252a32;color:white;border-radius:7px;padding:12px 20px;font-size:var(--font-size-body);z-index:10}
.hidden{display:none!important}
.notice{font-size:var(--font-size-caption);color:var(--color-text-muted);padding-top:12px}
.linklike{font-size:var(--font-size-caption);color:var(--color-primary)}
details{margin-top:14px}
summary{font-size:var(--font-size-caption);color:var(--color-text-secondary);cursor:pointer}
details .row{margin-top:12px}
.statusbar{display:flex;justify-content:space-between;font-size:var(--font-size-caption);color:var(--color-text-muted);margin-bottom:15px}
.settings[hidden]{display:none}
.workspace.library{grid-template-columns:1fr}
.settings input,.settings select,.settings textarea{max-width:100%}
@media(min-width:1800px){.workspace{grid-template-columns:460px minmax(0,1fr)}
.canvas{padding:28px}
.settings{padding:28px}
}
@media(max-width:1150px){
body{grid-template-columns:112px minmax(0,1fr)}
.app-header{padding:0 20px}
#primaryNavigation{padding-inline:6px}
.header-meta .save{display:none}
.workspace{grid-template-columns:370px minmax(0,1fr)}
.settings,.canvas{padding:20px}
.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.video-preview{padding:0;gap:16px;grid-template-columns:1fr}
.storybeats{display:none}
}
@media(max-width:800px){body{height:auto;min-height:100dvh;overflow:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:64px auto auto}
.app-header{padding:0 18px;gap:24px}
.app-sidebar{grid-column:1;grid-row:2;position:sticky;top:0;z-index:5;border-right:0;border-bottom:1px solid var(--color-border);overflow:auto}
#primaryNavigation{flex-direction:row;min-height:0;width:max-content;gap:12px;padding:8px 12px}
.nav-group{flex-direction:row;gap:4px}
.nav-library{margin:0;padding:0 0 0 12px;border-top:0;border-left:1px solid var(--color-border)}
.nav{width:auto;min-height:44px;padding:10px 14px}
.nav.active::before{top:auto;bottom:0;left:14px;right:14px;width:auto;height:2px}
.brand{font-size:20px}
.header-meta{font-size:var(--font-size-caption)}
.prototype-label{border:0;padding:0}
main{grid-column:1;grid-row:3}
.workspace{height:auto;grid-template-columns:1fr;gap:0}
.settings,.canvas{padding:20px;overflow:visible;overscroll-behavior-y:auto}
.settings{border-right:0;border-bottom:1px solid var(--color-border)}
.canvas{min-height:400px}
.gallery{gap:17px 12px}
.canvas-header{flex-wrap:wrap}
.canvas-header h1{font-size:var(--font-size-section)}
.steps{gap:14px;flex-wrap:wrap}
.step{font-size:var(--font-size-caption)}
.planfields{grid-template-columns:1fr}
.gallery-footer{flex-wrap:wrap}
.video-preview{grid-template-columns:minmax(160px,240px) 1fr;gap:18px}
.storybeats{display:block;padding-left:15px}
.beat{margin-bottom:18px}
.beat h3{font-size:var(--font-size-body)}
.beat p{font-size:var(--font-size-caption)}
}
@media(max-width:430px){.video-preview{grid-template-columns:1fr}
.phone{max-width:250px;margin:auto;width:100%}
.storybeats{display:none}
.brand{font-size:18px}
.plan-tools{flex-wrap:wrap}
}


/* 商品素材与资料按纵向顺序填写，上传操作与表单输入明确区分。 */
.product-heading,.image-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.product-heading{margin-bottom:22px}
.product-heading .section-title{margin:0}
.product-heading .textbtn{white-space:nowrap}
.product-images{margin-bottom:22px}
.image-heading{font-weight:var(--font-weight-label);margin-bottom:10px}
.image-count{font-size:var(--font-size-caption);font-weight:400;color:var(--color-text-muted);font-variant-numeric:tabular-nums}
.upload-zone{padding:24px 16px;background:var(--color-page);border:1px dashed #c9c8c4;border-radius:var(--radius-control);transition:background .15s,border-color .15s}
.upload-zone.is-dragging{background:var(--color-primary-soft);border-color:var(--color-brand)}
.upload-actions{display:flex;flex-direction:column;align-items:center;gap:10px}
.upload-button{min-height:var(--control-height);padding:10px 24px;border-radius:6px;background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-size-body);font-weight:600;white-space:nowrap}
.upload-button:hover:not(:disabled){background:var(--color-primary-hover)}
.drop-hint{font-size:var(--font-size-caption);color:var(--color-text-secondary)}
.upload-help{margin:10px 0 0;font-size:var(--font-size-caption);line-height:1.7;color:var(--color-text-muted)}
.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.photos:empty{display:none}
.photo{position:relative;min-width:0;aspect-ratio:1}
.photo img{display:block;width:100%;height:100%;object-fit:contain;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface)}
.photo button{position:absolute;right:4px;top:4px;width:26px;height:26px;border-radius:5px;background:var(--color-text);color:white;line-height:1;font-size:20px}
#selling{min-height:112px}

/* 与页面一致的下拉浮层及输入状态，不调用系统蓝色菜单。 */
input[type=text],textarea{background:var(--color-page);border-color:transparent;border-radius:var(--radius-control);padding:11px 12px;transition:border-color .15s,background .15s}
input[type=text]:hover,textarea:hover{border-color:var(--color-border)}
input[type=text]:focus,textarea:focus{outline:none;border-color:var(--color-brand);background:var(--color-surface);box-shadow:0 0 0 1px var(--color-brand)}
#selling{min-height:156px;line-height:1.7;resize:vertical}
.select-control{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--color-page);border:1px solid transparent;border-radius:var(--radius-control);text-align:left;font-size:var(--font-size-body);line-height:1.5}
.select-value{min-width:0;overflow-wrap:anywhere}
.select-control:hover{background:var(--color-surface-muted)}
.select-control[aria-expanded=true],.select-control:focus-visible{outline:none;border-color:var(--color-brand);background:var(--color-surface);box-shadow:0 0 0 1px var(--color-brand)}
.select-arrow{width:8px;height:8px;flex-shrink:0;margin:0 2px 4px 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.select-control[aria-expanded=true] .select-arrow{transform:rotate(225deg);margin-top:7px}
.select-popup{position:fixed;z-index:100;margin:0;padding:6px;overflow-y:auto;overscroll-behavior:contain;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:var(--shadow-floating);scrollbar-width:thin}
.select-popup[hidden]{display:none}
.select-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;border-radius:6px;font-size:var(--font-size-body);line-height:1.5;cursor:pointer;overflow-wrap:anywhere}
.select-option:hover,.select-option.is-highlighted{background:var(--color-page)}
.select-option[aria-selected=true]{color:var(--color-primary);background:var(--color-primary-soft);font-weight:600}
.select-check{flex-shrink:0;color:var(--color-primary);font-size:18px}
.select-option[aria-disabled=true]{opacity:.45;cursor:not-allowed}
/* 套图工作区：底部主操作固定，右侧用套图总览表达图片用途。 */
.settings{padding:0;display:flex;flex-direction:column;overflow:hidden}
.settings-scroll{min-height:0;flex:1;overflow-y:auto;padding:24px;overscroll-behavior:contain}
.settings-footer{flex-shrink:0;padding:16px 24px;background:var(--color-surface);border-top:1px solid var(--color-border)}
.settings-footer .primary{width:100%;margin-top:10px;padding:12px 8px}
.settings-footer .notice{font-size:14px;padding-top:8px;line-height:1.5}
.typegrid{grid-template-columns:1fr;gap:12px}
.type{display:block;padding:14px;background:var(--color-page);border:0}
.type-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.type small{display:block;font-size:14px;color:var(--color-text-muted);margin-top:3px}
.counter button{width:28px;height:30px;background:white;border:1px solid var(--color-border)}
.listing-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding-top:20px;border-top:1px solid var(--color-border)}
.listing-setting p{font-size:14px;color:var(--color-text-muted);margin:4px 0 0}
.switch-control{position:relative;width:42px;height:26px;flex-shrink:0;cursor:pointer}
.switch-control input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.switch-control span{display:block;width:42px;height:26px;border-radius:16px;background:#b5b7bb;pointer-events:none}
.switch-control span:after{content:'';display:block;position:absolute;top:3px;left:3px;width:20px;height:20px;background:white;border-radius:50%;transition:transform .15s}
.switch-control input:checked+span{background:var(--color-primary)}
.switch-control input:checked+span:after{transform:translateX(16px)}
.switch-control input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:3px}
.canvas:has(#configure:not(.hidden) .suite-overview){background:var(--color-page)}
.suite-overview{max-width:1080px;margin:24px auto 0}
.suite-intro{text-align:center;margin:0 0 28px}
.suite-intro h2{font-size:30px;line-height:1.4;margin:0 0 10px;letter-spacing:-.6px}
.suite-intro p{margin:0;color:var(--color-text-secondary);font-size:16px}
.suite-meta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:14px;color:var(--color-text-secondary)}
.suite-meta span{background:white;border-radius:5px;padding:5px 10px}
.overview-board{display:grid;grid-template-columns:34% minmax(0,1fr);gap:16px;padding:20px;border-radius:16px;background:var(--color-surface)}
.overview-support{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.overview-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:0;text-align:left;border:1px solid var(--color-border);border-radius:9px;background:white}
.overview-card:hover{border-color:var(--color-brand)}
.overview-label{display:flex;justify-content:space-between;gap:6px;align-items:center;width:100%;padding:10px;font-size:14px;background:white}
.overview-label span{font-size:14px;color:var(--color-text-muted);white-space:nowrap}
.overview-card.not-included .overview-label span{color:var(--color-text-muted)}
.overview-caption{width:100%;padding:10px;font-size:14px;background:white;display:grid;gap:3px;margin-top:auto}
.overview-caption strong{font-weight:500}
.overview-caption span{color:var(--color-text-muted);font-size:14px}
.overview-main .layout-art{flex:1;aspect-ratio:auto;min-height:280px;background:white}
.overview-copy{border-radius:9px;padding:18px 14px;background:var(--color-primary-soft);display:flex;flex-direction:column;justify-content:center;gap:14px}
.overview-copy>span{font-size:14px;color:var(--color-primary)}
.overview-copy strong{font-size:18px;line-height:1.7}
.overview-copy p{font-size:14px;line-height:1.6;color:var(--color-text-secondary);margin:0}
.overview-disclaimer{font-size:14px;color:var(--color-text-muted);margin:16px 0;text-align:center}
.reference-strip{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:white;padding:14px;border-radius:8px;font-size:14px}
.reference-strip img{width:48px;height:48px;object-fit:contain;border:1px solid var(--color-border);border-radius:4px}
.reference-strip span{color:var(--color-text-muted)}
.layout-dialog{width:min(1000px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:14px;color:var(--color-text);background:var(--color-surface);box-shadow:0 24px 100px #252a3233}
.layout-dialog[open]{display:flex;flex-direction:column}
.layout-dialog::backdrop{background:#252a3266}
.layout-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px 16px}
.layout-dialog-header h2{font-size:22px;margin:0 0 6px}
.layout-dialog-header p{font-size:14px;color:var(--color-text-muted);margin:0}
.layout-tabs{display:flex;gap:8px;padding:0 28px 16px;flex-wrap:wrap}
.layout-tab{padding:8px 12px;border-radius:6px;font-size:16px}
.layout-tab span{font-size:14px;margin-left:8px;color:var(--color-text-muted)}
.layout-tab.active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}
.layout-choices{min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:4px 28px 24px}
.layout-choice{text-align:left;border:1px solid var(--color-border);border-radius:10px;padding:8px;min-width:0;align-self:start}
.layout-choice.selected{border-color:var(--color-brand);box-shadow:0 0 0 1px var(--color-brand)}



.layout-dialog-footer{border-top:1px solid var(--color-border);padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;color:var(--color-text-secondary)}
.listing-draft{margin-top:28px;padding:24px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-page)}
.listing-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}
.listing-heading h2{font-size:20px;margin:0}
.listing-heading p{font-size:14px;color:var(--color-text-muted);margin:5px 0}
.listing-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.listing-fields textarea{background:white;min-height:112px}
/* 每张参考图为完整生图位图，不叠加商品、文字或图形。 */
.layout-art{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#faf9f6;border-radius:6px}
@media(min-width:1500px){.settings-scroll{padding:28px}.settings-footer{padding:16px 28px}}
@media(max-width:1350px){.overview-board{grid-template-columns:1fr}.overview-main .layout-art{aspect-ratio:2;min-height:0;max-height:250px}.overview-main .sample-product{width:70%;left:15%}.suite-intro h2{font-size:25px}.suite-overview{margin-top:16px}.layout-art{max-height:none}}
@media(max-width:900px){.overview-support{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-board{padding:12px;gap:12px}.suite-intro h2{font-size:22px}.layout-dialog-header,.layout-dialog-footer{padding:16px}.layout-tabs{padding:0 16px 12px}.layout-choices{padding:4px 16px 16px}.listing-fields{grid-template-columns:1fr}}
@media(max-width:800px){.settings{padding:0;overflow:visible}.settings-scroll{flex:none;overflow:visible;padding:20px}.settings-footer{padding:16px 20px}.suite-meta{gap:6px}.suite-intro p{font-size:14px}.layout-dialog-footer{flex-wrap:wrap}.layout-dialog-footer .primary{margin-left:auto}.listing-heading{flex-wrap:wrap}.layout-dialog-header h2{font-size:20px}.layout-dialog-header .secondary{padding:8px}.layout-tab{padding:6px 8px}.listing-draft{padding:16px}}

.plan-shortcuts{display:flex;justify-content:flex-end;margin-bottom:16px}
.listing-draft{scroll-margin-top:20px}
.layout-dialog-header .secondary{flex-shrink:0;white-space:nowrap}

/* 版式入口统一放在套图结构标题右侧。 */
.structure-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.structure-heading .sub{margin-bottom:0}
.choose-layouts{flex-shrink:0;min-height:44px;padding:8px 16px;border-radius:8px;background:var(--color-primary-soft);color:var(--color-primary);font-size:15px;font-weight:600;white-space:nowrap}
.choose-layouts:hover{background:var(--color-primary);color:white}

/* 宽幅版式图库：大图浏览与已选清单分别滚动。 */
.layout-dialog{width:min(1640px,calc(100vw - 64px));height:min(980px,calc(100dvh - 64px));max-width:none;max-height:calc(100dvh - 64px)}
.layout-dialog-header{padding:24px 28px 14px;flex-shrink:0}
.layout-tabs{padding:0 28px 16px;flex-shrink:0;border-bottom:1px solid var(--color-border);margin:0}
.layout-dialog-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;flex:1;min-height:0}
.layout-gallery{overflow-y:auto;min-height:0;overscroll-behavior:contain;background:var(--color-page)}
.layout-choices{overflow:visible;grid-template-columns:repeat(3,minmax(0,1fr));padding:20px;gap:14px;align-content:start}
.layout-choice{position:relative;padding:0;background:white;border:2px solid transparent;border-radius:10px;overflow:hidden}
.layout-choice.selected{border-color:var(--color-brand);box-shadow:none}
.layout-preview{display:block;width:100%;padding:0;position:relative;cursor:pointer;background:var(--color-page)}
.layout-preview:focus-visible{outline-offset:-4px}
.layout-preview .layout-art{border-radius:0;width:100%;height:auto;aspect-ratio:1}
.layout-check{position:absolute;top:10px;left:10px;display:grid;place-items:center;width:26px;height:26px;border:1px solid #d2d0cb;border-radius:6px;background:#fffffff2;color:white;font-size:18px;font-weight:600;line-height:1}
.layout-preview[aria-pressed=true] .layout-check{border-color:var(--color-primary);background:var(--color-primary)}
.layout-zoom-trigger{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--color-border);border-radius:6px;background:#fffffff2;font-size:25px;line-height:1;color:var(--color-text);cursor:zoom-in;opacity:0;transition:opacity .12s}
.layout-choice:hover .layout-zoom-trigger,.layout-choice:focus-within .layout-zoom-trigger{opacity:1}
@media(hover:none){.layout-zoom-trigger{opacity:1}}




.layout-selection{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--color-border);padding:22px 20px 0}
.selection-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.selection-heading h3{font-size:18px;margin:0}
.selection-heading>span{font-size:14px;color:var(--color-text-muted)}
.selection-help{font-size:14px;line-height:1.6;color:var(--color-text-muted);margin:8px 0 20px}
.selected-layouts{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}
.selected-group{margin-bottom:18px}
.selected-group h4{font-size:14px;margin:0 0 8px;display:flex;justify-content:space-between}
.selected-group h4 span{color:var(--color-text-muted);font-weight:400}
.selected-layout-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:14px}
.selected-layout-row>button:first-child{padding:0;flex-shrink:0;background:var(--color-page);cursor:zoom-in}
.selected-layout-row img{display:block;width:56px;height:56px;object-fit:contain;border-radius:5px}
.selected-layout-row>span{flex:1}
.selected-layout-info{flex:1;min-width:0;display:grid;gap:3px}
.selected-layout-info strong{font-size:16px;font-weight:600;line-height:1.5}
.selected-layout-info>span{font-size:14px;color:var(--color-text-muted)}
.remove-layout{padding:6px 0;color:var(--color-text-muted);font-size:14px}
.remove-layout:disabled{opacity:.35;cursor:default}
.selection-footer{flex-shrink:0;border-top:1px solid var(--color-border);padding:16px 0 20px;font-size:14px;color:var(--color-text-secondary)}
.selection-footer .primary{display:block;width:100%;margin-top:12px}
.layout-zoom{width:min(1000px,calc(100vw - 48px));height:calc(100dvh - 48px);max-width:none;max-height:none;padding:20px;border:0;border-radius:12px;color:var(--color-text);background:white}
.layout-zoom[open]{display:flex;flex-direction:column}
.layout-zoom::backdrop{background:#191611b3}
.zoom-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.zoom-heading h2{font-size:20px;margin:0}
.zoom-heading .secondary{flex-shrink:0;white-space:nowrap}
.zoom-image-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--color-page)}
.zoom-image-wrap img{width:100%;height:100%;object-fit:contain}
.layout-zoom>p{margin:12px 0 0;text-align:center;font-size:14px;color:var(--color-text-muted)}
.overview-main .layout-art{width:100%;object-fit:contain;min-height:0;aspect-ratio:1;max-height:none}
@media(max-width:900px){.layout-dialog{width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.layout-dialog-body{grid-template-columns:minmax(0,1fr) 220px}.layout-choices{padding:16px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.layout-selection{padding:16px 14px 0}}
@media(max-width:600px){.layout-dialog-header{padding:16px}.layout-dialog-header p{display:none}.layout-tabs{flex-wrap:nowrap;overflow-x:auto;padding:0 16px 12px}.layout-tab{flex-shrink:0}.layout-dialog-body{display:flex;flex-direction:column}.layout-gallery{flex:1}.layout-selection{padding:12px 16px;border-left:0;border-top:1px solid var(--color-border)}.selection-help,.selected-layouts{display:none}.selection-heading{display:none}.selection-footer{display:flex;align-items:center;gap:12px;border:0;padding:0}.selection-footer .primary{width:auto;flex:1;margin:0}.selection-footer>span{max-width:42%}.layout-zoom{padding:12px;width:calc(100vw - 20px);height:calc(100dvh - 20px)}.zoom-heading h2{font-size:17px}}

/* 当前类别的已选卡片，与参考图一致地呈现缩略图、名称和张数。 */
@media(min-width:901px){.layout-dialog-body{grid-template-columns:minmax(0,1fr) 320px}}
.selected-layout-row{padding:12px;background:#f5f6f7;border-radius:10px;margin-bottom:12px;gap:12px;min-height:82px}
.selected-layout-row img{width:54px;height:54px;border-radius:5px}
.selected-layout-row .remove-layout{display:grid;place-items:center;flex-shrink:0;width:30px;height:36px;padding:0;color:#818791}
.remove-layout>span{display:grid;place-items:center;width:17px;height:17px;border:1px solid currentColor;border-radius:50%;font-size:15px;line-height:1}
.selected-layout-row .remove-layout:hover:not(:disabled){color:var(--color-primary)}
.selected-layout-row .remove-layout:disabled{opacity:.3}
.layout-selection .selection-help{margin-bottom:18px}
.suite-example{background:white}

/* 示例标题收进白色图片区，缩略图按视口限制高度。 */
.suite-overview{width:100%;margin:0;max-width:none}
.suite-intro{grid-column:1/-1;margin:0;text-align:left}
.suite-intro h2{margin:0;font-size:20px;line-height:1.5;letter-spacing:0}
.suite-example-board{display:grid;grid-template-columns:32% minmax(0,1fr);align-items:center;gap:16px;background:var(--color-surface);padding:20px;border-radius:16px}
.suite-example-card{display:flex;flex-direction:column;min-width:0;margin:0;background:white}
.suite-example-image{width:100%;height:clamp(140px,calc((100dvh - 300px)/2),220px);border-radius:8px;overflow:hidden}
.suite-example-card img{display:block;width:100%;height:100%;object-fit:contain}
.suite-example-card figcaption{position:static;flex-shrink:0;min-height:32px;padding:8px 0 0;text-align:center;color:var(--color-text-secondary);font-size:14px;font-weight:600;line-height:24px}
.suite-example-main{width:100%;align-self:stretch}
.suite-example-main .suite-example-image{position:relative;min-height:0;height:auto;flex:1}
.suite-example-main img{position:absolute;inset:0}
.suite-example-support{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.suite-example-support .suite-example-card{grid-column:span 2}
.suite-example-support .suite-example-card:nth-child(4){grid-column:2/span 2}
.suite-example-support .suite-example-card:nth-child(5){grid-column:4/span 2}
@media(max-width:1100px){.suite-example-board{grid-template-columns:30% minmax(0,1fr);padding:16px;gap:12px}.suite-example-support{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.suite-example-support .suite-example-card,.suite-example-support .suite-example-card:nth-child(4),.suite-example-support .suite-example-card:nth-child(5){grid-column:auto}.suite-example-image{height:150px}}
@media(max-width:600px){.suite-overview{margin:0}.suite-example-board{grid-template-columns:1fr;padding:16px}.suite-example-main{max-width:240px;margin:auto}.suite-example-main .suite-example-image{height:220px;flex:none}.suite-example-main img{position:static}.suite-example-image{height:auto;aspect-ratio:1}.suite-example-support{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 顶部切换工作区，侧边导航只呈现当前工作区的功能。 */
.top-navigation{display:flex;align-self:stretch;gap:32px}
.top-navigation .nav{width:auto;height:100%;padding:0 4px;border-radius:0;background:transparent}
.top-navigation .nav.active::before{left:0;right:0;top:auto;bottom:0;width:auto;height:3px;border-radius:0}
/* 口播视频示例保持完整比例，播放器与名称各自占位。 */
.canvas:has(.spoken-examples){background:var(--color-page)}
.spoken-examples{padding:24px;background:var(--color-surface);border-radius:12px}
.spoken-examples-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.spoken-examples h2{margin:0;font-size:var(--font-size-title);font-weight:650}
.spoken-examples-heading>span,.spoken-example-controls>span{font-size:var(--font-size-caption);color:var(--color-text-secondary)}
.spoken-player-wrap{display:flex;flex-direction:column;align-items:center;min-width:0}
.spoken-player{display:block;width:auto;max-width:100%;height:min(460px,56dvh);aspect-ratio:9/16;object-fit:contain;background:var(--color-surface-muted);border-radius:10px}
.spoken-media-error{color:var(--color-text-secondary);font-size:var(--font-size-caption)}
.spoken-example-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin:16px 0}
.spoken-example-controls .secondary{padding-inline:14px;white-space:nowrap}
.spoken-thumbnails{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.spoken-thumbnails button{width:58px;padding:4px;border:1px solid transparent;border-radius:7px}
.spoken-thumbnails button[aria-pressed=true]{border-color:var(--color-brand);background:var(--color-primary-soft)}
.spoken-thumbnails img{display:block;width:48px;aspect-ratio:9/16;object-fit:contain;border-radius:4px}
.spoken-thumbnails span{display:block;font-size:var(--font-size-caption);line-height:24px;color:var(--color-text-secondary)}
#videoOutputHeading{margin-bottom:16px}
#videoStructure .scriptcards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
#videoStructure .scriptcard{justify-content:center;padding:10px 6px}
@media(max-width:800px){.top-navigation{gap:20px}.app-header{gap:20px}.spoken-player{height:min(430px,60dvh)}}
@media(max-width:430px){.app-header{padding-inline:14px;gap:16px}.top-navigation{gap:12px}.top-navigation .nav{padding-inline:0;font-size:15px}.spoken-examples{padding:16px}.spoken-examples h2{font-size:var(--font-size-section)}.spoken-example-controls{gap:12px}.spoken-thumbnails{gap:8px}.spoken-thumbnails button{width:54px}.spoken-thumbnails img{width:44px}}


.resume-plan{display:block;margin:10px auto 0;min-height:32px}
.library-actions{display:flex;justify-content:flex-end;margin-bottom:20px}

.production-wait{width:min(480px,calc(100vw - 32px));border:1px solid var(--color-border);border-radius:12px;padding:24px;color:var(--color-text);background:var(--color-surface)}
.production-wait::backdrop{background:#22262c66}.production-wait h2{font-size:20px;margin:0 0 16px}.production-wait p{font-size:16px;line-height:1.7}.production-review{padding:16px;margin:0 0 18px;background:var(--color-primary-soft);border-radius:8px;overflow-wrap:anywhere}.production-review summary{font-weight:600;cursor:pointer}.production-review p,.production-review li{font-size:14px;line-height:1.7}.production-recover{padding:8px;font-size:14px;line-height:1.6}

.production-recover{font-size:14px!important;padding:8px 4px!important;white-space:nowrap;}
