:root{--bg:#0b0d11;--panel:#11141a;--panel2:#151923;--card:#171b24;--line:rgba(255,255,255,.075);--line2:rgba(255,255,255,.14);--text:#f4f6fa;--muted:#8f97a6;--soft:#cbd1dc;--violet:#8b79ff;--violet2:#6f5df6;--cyan:#62d5e8;--green:#5ed6a0;--red:#ff7474;--amber:#f4bd65;--shadow:0 24px 80px rgba(0,0,0,.34)}html[data-theme=light]{--bg:#eff1f5;--panel:#f9fafc;--panel2:#fff;--card:#fff;--line:rgba(30,38,55,.08);--line2:rgba(30,38,55,.15);--text:#171a22;--muted:#747d8d;--soft:#424b5a;--shadow:0 20px 60px rgba(30,42,70,.1)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.glow{position:fixed;border-radius:50%;filter:blur(120px);pointer-events:none;opacity:.2}.glow-a{width:650px;height:650px;background:#6750ff;right:-240px;top:-280px}.glow-b{width:520px;height:520px;background:#16869c;left:30%;bottom:-300px;opacity:.12}.shell{min-height:100vh}.sidebar{position:fixed;z-index:10;left:0;top:0;bottom:0;width:220px;padding:24px 16px 18px;background:rgba(8,10,14,.82);backdrop-filter:blur(24px);border-right:1px solid var(--line);display:flex;flex-direction:column}html[data-theme=light] .sidebar{background:rgba(248,249,252,.88)}.brand{display:flex;align-items:center;gap:12px;padding:2px 9px 28px}.logo{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#725ef8,#9b88ff 60%,#5fd5df);font-weight:850;color:#fff;box-shadow:0 12px 28px rgba(117,94,248,.25)}.brand strong{display:block;font-size:15px}.brand span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.sidebar nav{display:grid;gap:6px}.nav{height:45px;border:0;border-radius:12px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:11px;padding:0 12px;text-align:left;font-size:13px}.nav b{font-size:18px;width:20px;text-align:center}.nav:hover,.nav.active{color:var(--text);background:rgba(255,255,255,.055)}.nav.active{box-shadow:inset 0 0 0 1px rgba(139,121,255,.15);background:linear-gradient(90deg,rgba(139,121,255,.16),rgba(139,121,255,.04))}.side-foot{margin-top:auto}.connection{display:flex;align-items:center;gap:10px;padding:12px}.connection i,.status i{width:8px;height:8px;border-radius:50%;background:#737a86;box-shadow:0 0 0 4px rgba(120,125,135,.1)}.connection i.good,.status.good i{background:var(--green);box-shadow:0 0 0 4px rgba(94,214,160,.11)}.connection i.bad,.status.bad i{background:var(--red);box-shadow:0 0 0 4px rgba(255,116,116,.1)}.connection i.wait,.status.wait i{background:var(--amber)}.connection strong,.connection span{display:block}.connection strong{font-size:12px}.connection span{font-size:10px;color:var(--muted);margin-top:2px}.main{margin-left:220px;min-height:100vh;padding:27px 32px 60px;position:relative;z-index:2}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.topbar>div:first-child>span{font-size:11px;letter-spacing:1.4px;color:var(--muted)}h1{font-size:29px;margin:5px 0 0;letter-spacing:-.8px}h2{font-size:19px;margin:0;letter-spacing:-.35px}.top-actions{display:flex;gap:8px;align-items:center}.status{height:36px;padding:0 13px;border:1px solid var(--line);border-radius:999px;display:flex;align-items:center;gap:8px;color:var(--muted);background:rgba(255,255,255,.025);font-size:12px}.icon-btn,.mini-icon{border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);border-radius:11px}.icon-btn{width:38px;height:38px}.mini-icon{width:29px;height:29px}.view{display:none}.view.active{display:block}.create-layout{display:grid;grid-template-columns:minmax(560px,1.14fr) 8px minmax(440px,.96fr);gap:15px;align-items:start}.splitter{width:8px;align-self:stretch;min-height:700px;border-radius:99px;cursor:col-resize;position:relative}.splitter:after{content:"";position:absolute;left:3px;top:20%;bottom:20%;width:2px;background:var(--line);border-radius:99px;transition:.2s}.splitter:hover:after{background:rgba(139,121,255,.5)}.composer{display:grid;gap:15px}.preview-column{display:grid;gap:15px;position:sticky;top:20px}.surface,.page{background:linear-gradient(145deg,rgba(22,26,35,.88),rgba(15,18,25,.9));border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);backdrop-filter:blur(20px)}html[data-theme=light] .surface,html[data-theme=light] .page{background:rgba(255,255,255,.86)}.section{padding:21px}.section-head,.page-head,.preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.section-head>div:first-child{display:flex;gap:11px;align-items:flex-start}.section-head p,.page-head p,.preview-head p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.section-head.compact{align-items:center}.num{width:29px;height:29px;border-radius:9px;background:rgba(139,121,255,.1);color:#b7adff;display:grid;place-items:center;font-size:11px;font-weight:700;flex:0 0 auto}.link-btn{border:0;background:transparent;color:#a99cff;padding:4px 6px;font-size:12px}.link-btn.emph{border:1px solid rgba(139,121,255,.2);border-radius:9px;padding:6px 9px;background:rgba(139,121,255,.07)}.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.workflow-strip{display:flex;gap:9px;overflow-x:auto;padding:14px 1px 1px}.wf-card{min-width:185px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);padding:13px;text-align:left;color:var(--text);transition:.18s}.wf-card:hover{border-color:var(--line2);transform:translateY(-1px)}.wf-card.active{border-color:rgba(139,121,255,.5);background:rgba(139,121,255,.1)}.wf-card strong{display:block;font-size:13px}.wf-card span{display:block;color:var(--muted);font-size:11px;line-height:1.45;margin-top:5px}.asset-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:15px}.col-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.col-title strong{font-size:13px}.col-title span{font-size:11px;color:var(--muted)}.dropzone{height:108px;border:1px dashed rgba(255,255,255,.16);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.02);transition:.18s}.dropzone:hover{border-color:rgba(139,121,255,.5);background:rgba(139,121,255,.045)}.dropzone input{display:none}.dropzone div{font-size:21px;color:#aa9dff}.dropzone strong{font-size:12px;margin-top:4px}.dropzone span{font-size:10px;color:var(--muted);margin-top:4px}.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.image-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.02)}.image-card .thumb{aspect-ratio:4/3;position:relative;background:#080a0e;cursor:zoom-in}.image-card img{width:100%;height:100%;object-fit:cover;display:block}.asset-index{position:absolute;left:7px;top:7px;border-radius:7px;background:rgba(5,7,10,.72);color:#fff;padding:3px 6px;font-size:10px;backdrop-filter:blur(8px)}.asset-remove{position:absolute;right:6px;top:6px;width:24px;height:24px;border-radius:8px;border:0;background:rgba(4,6,10,.66);color:#fff}.asset-meta{padding:9px}.asset-meta input,.asset-meta select{width:100%;height:32px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.035);color:var(--text);padding:0 8px;font-size:11px;margin-top:6px}.asset-meta .meta-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:6px}.order-row{display:flex;gap:5px;margin-top:7px}.order-row button{flex:1;height:26px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.025);color:var(--muted);font-size:10px}.audio-list{display:grid;gap:8px;margin-top:10px}.audio-card{border:1px solid var(--line);border-radius:13px;padding:10px;background:rgba(255,255,255,.02)}.audio-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.audio-top strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-top button{border:0;background:transparent;color:var(--muted)}.wave{width:100%;height:38px;display:block;margin:7px 0;border-radius:8px;background:rgba(255,255,255,.025)}audio{width:100%;height:30px}.audio-meta{display:grid;grid-template-columns:.8fr 1.2fr;gap:6px;margin-top:7px}.audio-meta select,.audio-meta input{height:32px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.035);color:var(--text);padding:0 8px;font-size:11px;min-width:0}.audio-warning{color:var(--amber);font-size:10px;margin-top:6px}.identity-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:10px;align-items:end;margin:15px 0 9px}.identity-row label{font-size:11px;color:var(--muted)}.identity-row input,.identity-row select{display:block;width:100%;height:38px;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03);color:var(--text);padding:0 10px}.identity-row>span{font-size:10px;color:var(--muted);padding-bottom:10px}.prompt-box{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(5,7,10,.18)}.prompt-box textarea{width:100%;height:205px;resize:vertical;border:0;outline:0;background:transparent;color:var(--text);padding:14px;line-height:1.65;font-size:13px}.prompt-box footer{height:38px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 10px;color:var(--muted);font-size:10px}.prompt-box footer button{border:0;background:transparent;color:var(--muted)}.constraint-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.constraint-row label{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:11px;color:var(--soft);background:rgba(255,255,255,.02)}.constraint-row input{accent-color:var(--violet);margin-right:5px}.param-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:10px;margin-top:14px}.param-grid label>span,.extra-grid label>span{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.param-grid input[type=number],.param-grid select,.extra-grid input,.extra-grid select{width:100%;height:40px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03);color:var(--text);padding:0 10px}.range-field{height:40px;border:1px solid var(--line);border-radius:10px;padding:0 10px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.03)}.range-field input{width:100%;accent-color:var(--violet)}.range-field b{font-size:11px;white-space:nowrap}.extra-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}.cost{color:var(--soft);font-size:12px}.generate{width:100%;height:54px;border:0;border-radius:14px;margin-top:15px;background:linear-gradient(100deg,#6e5bf3,#8b79ff 58%,#56bfcf);color:#fff;display:flex;align-items:center;gap:12px;padding:0 15px;box-shadow:0 13px 32px rgba(112,91,243,.22)}.generate>b{font-size:20px}.generate div{text-align:left;flex:1}.generate strong,.generate span{display:block}.generate strong{font-size:14px}.generate span{font-size:10px;opacity:.74;margin-top:2px}.generate em{font-style:normal;font-size:19px}.preview-surface{padding:18px}.preview-head{align-items:center}.preview-head>div:last-child{display:flex;gap:6px;align-items:center}.badge{border:1px solid var(--line);border-radius:8px;padding:5px 7px;font-size:10px;color:var(--muted)}.video-stage{margin-top:13px;border:1px solid var(--line);border-radius:16px;background:#050607;display:grid;place-items:center;overflow:hidden;min-height:360px;transition:.25s}.video-stage.landscape{aspect-ratio:16/9}.video-stage.portrait{aspect-ratio:9/16;max-height:70vh;margin-left:auto;margin-right:auto}.video-stage video{width:100%;height:100%;object-fit:contain;background:#000}.empty-preview{text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:7px}.empty-preview strong{color:var(--soft);font-size:13px}.empty-preview span{font-size:10px}.orb{width:63px;height:63px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#d2c9ff,#7764ed 45%,#222636 70%);box-shadow:0 0 55px rgba(125,102,246,.25);margin-bottom:7px}.task-panel{border:1px solid var(--line);border-radius:12px;padding:11px;margin-top:11px}.task-panel>div:first-child{display:flex;justify-content:space-between;font-size:11px}.progress{height:5px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden;margin:9px 0}.progress i{display:block;height:100%;background:linear-gradient(90deg,#7663fa,#62d5e8);width:0}.task-panel p{margin:0;color:var(--muted);font-size:9px}.queue-surface{padding:17px}.task-list{display:grid;gap:7px;margin-top:12px}.queue-item{border:1px solid var(--line);border-radius:11px;padding:9px 10px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.queue-item strong,.queue-item span{display:block}.queue-item strong{font-size:11px}.queue-item span{font-size:9px;color:var(--muted);margin-top:2px}.qstate{font-size:9px;color:var(--muted)}.qstate.running{color:var(--cyan)}.qstate.success{color:var(--green)}.qstate.failed{color:var(--red)}.page{padding:23px;min-height:520px}.page-head{align-items:center;margin-bottom:18px}.primary-small,.secondary-small,.modal-card button{border-radius:10px;height:36px;padding:0 12px}.primary-small{border:0;background:var(--violet2);color:#fff}.secondary-small{border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--soft)}.workflow-manager,.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.manager-card,.project-card{border:1px solid var(--line);border-radius:15px;padding:14px;background:rgba(255,255,255,.02)}.manager-card strong,.project-card strong{font-size:13px}.manager-card p,.project-card p{font-size:11px;color:var(--muted);line-height:1.5}.manager-meta{display:flex;gap:7px;flex-wrap:wrap}.manager-meta span{font-size:9px;border:1px solid var(--line);padding:4px 6px;border-radius:7px;color:var(--muted)}.manager-actions{display:flex;justify-content:space-between;align-items:center;margin-top:11px}.manager-actions button{border:0;background:transparent;color:var(--red);font-size:10px}.tech-note,.advanced{margin-top:16px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--muted);font-size:11px}.tech-note p,.advanced p{line-height:1.6}.history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.history-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:rgba(255,255,255,.02)}.history-preview{aspect-ratio:16/9;background:#050607}.history-preview video{width:100%;height:100%;object-fit:cover}.history-body{padding:11px}.history-body strong{font-size:12px}.history-body p{font-size:10px;color:var(--muted);line-height:1.5}.history-actions{display:flex;flex-wrap:wrap;gap:5px}.history-actions button,.history-actions a{font-size:10px;border:1px solid var(--line);background:transparent;color:var(--soft);border-radius:8px;padding:5px 7px;text-decoration:none}.rating-line{color:var(--amber);font-size:11px;margin:5px 0}.compare-controls{display:flex;gap:6px;align-items:center}.compare-controls button{height:34px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--soft);border-radius:9px}.compare-controls label{font-size:11px;color:var(--muted)}.compare-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.compare-selects label{color:var(--muted);font-size:11px}.compare-selects select{display:block;width:100%;height:40px;margin-top:5px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:0 10px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare-grid video{width:100%;aspect-ratio:16/9;background:#000;border-radius:14px}.compare-grid p{font-size:10px;color:var(--muted)}.diag-summary{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px}.diag-summary>b{width:42px;height:42px;border-radius:12px;background:rgba(94,214,160,.1);color:var(--green);display:grid;place-items:center;font-size:20px}.diag-summary strong,.diag-summary span{display:block}.diag-summary span{font-size:11px;color:var(--muted);margin-top:4px}.diag-list{display:grid;gap:8px;margin-top:12px}.diag-item{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px}.diag-item .dicon{width:30px;height:30px;border-radius:9px;background:rgba(255,116,116,.08);color:var(--red);display:grid;place-items:center}.diag-item.ok .dicon{background:rgba(94,214,160,.08);color:var(--green)}.diag-item strong,.diag-item span{display:block}.diag-item strong{font-size:12px}.diag-item span{font-size:10px;color:var(--muted);margin-top:2px}.diag-item button{border:1px solid var(--line);background:rgba(139,121,255,.08);color:#b5aaff;border-radius:8px;padding:6px 8px;font-size:10px}.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center}.hidden{display:none!important}.backdrop{position:absolute;inset:0;background:rgba(3,5,8,.68);backdrop-filter:blur(10px)}.modal-card{position:relative;width:min(560px,calc(100vw - 34px));max-height:86vh;overflow:auto;border:1px solid var(--line2);border-radius:20px;background:var(--panel2);padding:20px;box-shadow:0 30px 100px rgba(0,0,0,.5)}.modal-card.wide{width:min(820px,calc(100vw - 34px))}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.modal-head h2{font-size:20px}.modal-head p{font-size:11px;color:var(--muted);margin:5px 0}.modal-head>button{width:34px;height:34px;border:1px solid var(--line);background:transparent;color:var(--text)}.setting{border-top:1px solid var(--line);padding:14px 0}.setting>div:first-child{display:flex;justify-content:space-between}.setting p{font-size:11px;color:var(--muted);line-height:1.5}.inline{display:flex;gap:7px}.inline input{flex:1;height:39px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03);color:var(--text);padding:0 10px}.inline button{border:0;background:var(--violet2);color:#fff}.setting.danger button{border:1px solid rgba(255,116,116,.25);background:rgba(255,116,116,.05);color:#ff9c9c}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.template-card{border:1px solid var(--line);border-radius:13px;padding:12px;background:rgba(255,255,255,.02);color:var(--text);text-align:left}.template-card strong{font-size:12px}.template-card p{font-size:10px;color:var(--muted);line-height:1.5;max-height:62px;overflow:hidden}.template-actions{display:flex;gap:5px;margin-top:8px}.template-actions button{height:29px;border:1px solid var(--line);background:transparent;color:var(--soft);font-size:10px}.template-save{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;margin-top:13px}.template-save input{height:37px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.03);color:var(--text);padding:0 9px}.template-save button{border:0;background:var(--violet2);color:#fff}.versions-list{display:grid;gap:7px}.version-item{border:1px solid var(--line);border-radius:11px;padding:10px}.version-item strong{font-size:11px}.version-item p{font-size:10px;color:var(--muted);white-space:pre-wrap;max-height:72px;overflow:hidden}.version-item button{border:1px solid var(--line);background:transparent;color:var(--soft);height:30px}.final-prompt{white-space:pre-wrap;border:1px solid var(--line);border-radius:13px;background:rgba(0,0,0,.15);padding:14px;line-height:1.7;font-size:12px;max-height:58vh;overflow:auto}.recent-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.recent-item{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.02);color:var(--text);padding:0}.recent-item img,.recent-audio{width:100%;aspect-ratio:1;object-fit:cover;background:#07090c}.recent-audio{display:grid;place-items:center;font-size:28px;color:var(--violet)}.recent-item span{display:block;font-size:9px;padding:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}.workflow-form label{font-size:11px;color:var(--muted)}.workflow-form input,.workflow-form select{display:block;width:100%;height:38px;margin-top:5px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.03);color:var(--text);padding:0 9px}.workflow-form .full{grid-column:1/-1}.schema-editor{width:100%;height:130px;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.15);color:var(--text);padding:10px}.stars{display:flex;gap:8px;margin:12px 0}.stars button{width:42px;height:42px;border:1px solid var(--line);background:transparent;color:#5e6470;font-size:24px}.stars button.active{color:var(--amber);background:rgba(244,189,101,.08)}#ratingNotes{width:100%;height:110px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.03);color:var(--text);padding:10px}.image-lightbox{position:relative;z-index:2;max-width:88vw;max-height:88vh}.image-lightbox img{max-width:88vw;max-height:88vh;display:block;border-radius:16px;box-shadow:0 30px 100px rgba(0,0,0,.6)}.image-lightbox button{position:absolute;right:-14px;top:-14px;width:35px;height:35px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#151820;color:#fff}.toast{position:fixed;right:24px;bottom:24px;z-index:100;border:1px solid var(--line2);background:#171a22;color:#fff;border-radius:12px;padding:11px 14px;font-size:11px;box-shadow:0 18px 60px rgba(0,0,0,.4)}body.focus-mode .composer,body.focus-mode .splitter,body.focus-mode .queue-surface{display:none}body.focus-mode .create-layout{grid-template-columns:1fr}body.focus-mode .preview-column{position:relative;top:0;max-width:1200px;margin:auto}body.focus-mode .video-stage{max-height:none}.empty-list{color:var(--muted);font-size:11px;text-align:center;padding:34px}.danger-text{color:var(--red)}@media(max-width:1180px){.create-layout{grid-template-columns:1fr}.splitter{display:none}.preview-column{position:relative;top:auto}.workflow-manager,.projects-grid,.history-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.sidebar{display:none}.main{margin-left:0;padding:18px}.top-actions .status{display:none}.asset-columns,.param-grid,.compare-grid,.compare-selects,.workflow-form{grid-template-columns:1fr}.image-grid{grid-template-columns:repeat(2,1fr)}.history-grid,.workflow-manager,.projects-grid{grid-template-columns:1fr}.recent-grid{grid-template-columns:repeat(3,1fr)}.identity-row{grid-template-columns:1fr}.template-grid{grid-template-columns:1fr}}

/* ===== v6 · 参考素材完整展示 ===== */
.image-grid{
  grid-template-columns:repeat(2,minmax(158px,1fr));
  gap:12px;
}
.image-card{
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,.025);
}
.image-card .thumb{
  aspect-ratio:4/5;
  min-height:210px;
  background:
    radial-gradient(circle at 50% 42%,rgba(139,121,255,.08),transparent 48%),
    #090b10;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.image-card img{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center;
  display:block;
}
.image-card .thumb.landscape-hint{
  background:#080a0e;
}
.asset-kind-badge{
  position:absolute;
  left:8px;
  bottom:8px;
  max-width:calc(100% - 16px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  border-radius:8px;
  padding:5px 8px;
  background:rgba(8,10,15,.82);
  color:#dcd8ff;
  border:1px solid rgba(139,121,255,.22);
  font-size:10px;
  backdrop-filter:blur(10px);
}
.zoom-hint{
  position:absolute;
  right:8px;
  bottom:8px;
  opacity:0;
  transform:translateY(4px);
  transition:.18s;
  border-radius:7px;
  padding:4px 7px;
  background:rgba(8,10,15,.78);
  color:#fff;
  font-size:9px;
}
.image-card .thumb:hover .zoom-hint{opacity:1;transform:none}
.asset-meta{padding:11px}
.asset-field{display:block;margin-top:0!important}
.asset-field + .asset-field{margin-top:9px!important}
.asset-field>span{
  display:block;
  color:var(--muted);
  font-size:10px;
  margin:0 0 5px 1px;
}
.asset-meta .asset-field select,
.asset-meta .asset-field input{
  width:100%;
  height:36px;
  margin:0;
  font-size:12px;
  padding:0 10px;
}
.order-row{margin-top:10px}
.order-row button{height:30px;font-size:10px}
.order-row button:disabled{opacity:.32;cursor:not-allowed}
.audio-top>div{min-width:0}
.audio-top .audio-index{
  display:block;
  font-size:9px;
  color:#a99cff;
  margin-bottom:4px;
}
.audio-top strong{display:block;font-size:12px}
.audio-role-field{display:block;margin-top:9px}
.audio-role-field span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}
.audio-role-field input{
  width:100%;height:36px;border:1px solid var(--line);border-radius:9px;
  background:rgba(255,255,255,.035);color:var(--text);padding:0 10px;font-size:12px;
}

/* ===== v6 · 工作流向导 ===== */
.modal-card.workflow-wizard{
  width:min(960px,calc(100vw - 42px));
  max-height:90vh;
  padding:25px;
}
.wizard-steps{
  display:flex;align-items:center;gap:9px;
  padding:12px 2px 21px;
  border-bottom:1px solid var(--line);
  margin-bottom:18px;
}
.wizard-step{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}
.wizard-step b{
  width:25px;height:25px;border-radius:8px;display:grid;place-items:center;
  border:1px solid var(--line);background:rgba(255,255,255,.025);font-size:10px;
}
.wizard-step.active{color:var(--soft)}
.wizard-step.active b{color:#c6bdff;border-color:rgba(139,121,255,.28);background:rgba(139,121,255,.1)}
.wizard-line{width:28px;height:1px;background:var(--line)}
.wizard-section{
  border:1px solid var(--line);
  border-radius:15px;
  padding:15px;
  margin:12px 0;
  background:rgba(255,255,255,.018);
}
.wizard-section-title{
  display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;
}
.wizard-section-title strong{display:block;font-size:13px}
.wizard-section-title span:not(.simple-badge):not(.optional-badge){
  display:block;color:var(--muted);font-size:10px;margin-top:4px;
}
.simple-badge,.optional-badge{
  border:1px solid rgba(139,121,255,.22);background:rgba(139,121,255,.08);
  color:#b8adff;border-radius:999px;padding:5px 8px;font-size:9px;
}
.optional-badge{border-color:var(--line);background:rgba(255,255,255,.025);color:var(--muted)}
.primary-form label{font-size:12px}
.primary-form input,.primary-form select{height:43px;font-size:13px}
.preset-summary{
  margin-top:12px;border-radius:11px;background:rgba(139,121,255,.065);
  border:1px solid rgba(139,121,255,.14);padding:11px 12px;
}
.preset-summary strong,.preset-summary span{display:block}
.preset-summary strong{font-size:11px;color:#c7bfff}
.preset-summary span{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.5}
.api-example{
  width:100%;height:100px;resize:vertical;border:1px solid var(--line);border-radius:11px;
  background:rgba(0,0,0,.15);color:var(--text);padding:11px;outline:none;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.wizard-inline{display:flex;align-items:center;gap:10px;margin-top:9px}
.ghost-small{
  height:34px;border:1px solid var(--line);border-radius:9px;
  background:rgba(255,255,255,.025);color:var(--soft);padding:0 11px;font-size:10px;
}
.detect-result{font-size:10px;color:var(--green)}
.wizard-advanced{
  border:1px solid var(--line);border-radius:14px;padding:0 14px;margin:12px 0;
  background:rgba(255,255,255,.012);
}
.wizard-advanced summary{padding:13px 0;font-size:11px;color:var(--soft);cursor:pointer}
.wizard-advanced summary span{color:var(--muted);font-size:9px;margin-left:5px}
.wizard-advanced[open] summary{border-bottom:1px solid var(--line);margin-bottom:13px}
.core-map{margin-top:10px}
.schema-label{display:block;color:var(--muted);font-size:10px;margin:12px 0 6px}
.wizard-footer{
  display:flex;justify-content:space-between;align-items:center;gap:15px;
  padding-top:15px;border-top:1px solid var(--line);margin-top:15px;
}
.wizard-footer>div:last-child{display:flex;gap:8px}
.wizard-check{font-size:10px;color:var(--muted)}
.wizard-check.ok{color:var(--green)}
.wizard-check.bad{color:var(--red)}
.manager-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.manager-title>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.verify-badge,.mode-pill{
  font-size:9px;border-radius:999px;padding:4px 7px;border:1px solid var(--line);
}
.verify-badge.ok{color:var(--green);border-color:rgba(94,214,160,.2);background:rgba(94,214,160,.06)}
.verify-badge.wait{color:var(--amber);border-color:rgba(244,189,101,.2);background:rgba(244,189,101,.06)}
.mode-pill{color:#b9afff;background:rgba(139,121,255,.07);border-color:rgba(139,121,255,.15)}

@media(max-width:920px){
  .modal-card.workflow-wizard{width:calc(100vw - 24px);padding:18px}
  .wizard-footer{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   H3 Studio Pro v7 · 预览优先布局
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden!important}
.shell,.main,.view,.create-layout,.composer,.preview-column,.surface,.section,.asset-columns,.asset-column{min-width:0!important}
.main{
  width:calc(100vw - 220px);
  max-width:calc(100vw - 220px);
  overflow-x:hidden!important;
  padding-left:22px;
  padding-right:22px;
}
.create-layout{
  --left:1.05fr;
  --right:.95fr;
  width:100%;
  max-width:100%;
  grid-template-columns:minmax(0,var(--left)) 6px minmax(0,var(--right))!important;
  gap:12px!important;
}
.create-layout[data-layout="edit"]{--left:1.25fr;--right:.75fr}
.create-layout[data-layout="balanced"]{--left:1.02fr;--right:.98fr}
.create-layout[data-layout="preview"]{--left:.78fr;--right:1.22fr}
.preview-column{
  min-width:0!important;
  width:100%;
  position:sticky;
  top:18px;
  align-self:start;
}
.preview-surface{width:100%;min-width:0;padding:16px}
.video-stage{width:100%;max-width:100%;min-width:0;min-height:0}
.video-stage.landscape{aspect-ratio:16/9;min-height:0}
.video-stage.portrait{aspect-ratio:9/16;max-height:68vh;width:min(100%,420px)}
.video-stage video{display:block;width:100%;height:100%;max-width:100%;object-fit:contain}
.audio-card canvas,.wave{display:block;width:100%!important;max-width:100%!important;height:36px!important}
.audio-card audio{display:block;width:100%!important;max-width:100%!important}

.layout-toolbar{
  display:flex;align-items:center;gap:12px;
  margin:0 0 12px;padding:8px 10px;
  border:1px solid var(--line);border-radius:12px;
  background:rgba(255,255,255,.018);
}
.layout-toolbar>span{font-size:11px;font-weight:700;color:var(--soft)}
.layout-toolbar small{color:var(--muted);font-size:9px;margin-left:auto}
.segmented{display:flex;padding:3px;border-radius:9px;background:rgba(255,255,255,.035);border:1px solid var(--line)}
.segmented button{border:0;background:transparent;color:var(--muted);height:28px;padding:0 10px;border-radius:7px;font-size:10px}
.segmented button.active{background:rgba(139,121,255,.14);color:#d6d0ff}

.preview-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:10px 0 8px}
.preview-tools button,.preview-actions button{
  height:31px;border:1px solid var(--line);border-radius:9px;
  background:rgba(255,255,255,.025);color:var(--soft);padding:0 9px;font-size:9px;
}
.preview-tools button.active,.preview-tools button:hover,.preview-actions button:hover{
  border-color:rgba(139,121,255,.30);background:rgba(139,121,255,.08);color:#d8d2ff;
}
.preview-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}

/* 紧凑素材 */
.asset-summary{
  display:flex;gap:7px;flex-wrap:wrap;margin-top:10px;
  padding:8px;border-radius:10px;background:rgba(255,255,255,.018);border:1px solid var(--line);
}
.asset-summary-chip{
  display:flex;align-items:center;gap:6px;border-radius:999px;
  background:rgba(139,121,255,.065);border:1px solid rgba(139,121,255,.14);
  padding:4px 7px;font-size:9px;color:var(--soft);
}
.asset-summary-chip img{width:23px;height:23px;border-radius:50%;object-fit:cover;background:#08090c}
.asset-section.assets-collapsed #assetColumns{display:none!important}
.asset-section.assets-collapsed #assetSummary{display:flex!important}
.asset-columns{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;gap:11px!important;margin-top:11px!important}
.dropzone{height:76px!important}
.dropzone div{font-size:17px!important}
.dropzone strong{font-size:10px!important}
.dropzone span{font-size:9px!important}

.image-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(105px,1fr))!important;
  gap:8px!important;
}
.image-card{border-radius:11px!important;min-width:0!important}
.image-card .thumb{
  aspect-ratio:4/5!important;
  min-height:0!important;
  max-height:145px!important;
  display:flex;align-items:center;justify-content:center;
}
.image-card .thumb img{object-fit:contain!important}
.asset-index{font-size:8px!important;padding:4px 6px!important}
.asset-kind-badge{
  left:5px!important;right:5px!important;bottom:5px!important;
  max-width:none!important;padding:4px 6px!important;font-size:8px!important;
}
.zoom-hint{display:none!important}
.asset-meta{display:none!important;padding:8px!important}
.image-card.expanded .asset-meta{display:block!important}
.asset-edit{
  position:absolute;right:28px;top:5px;z-index:5;
  width:22px;height:22px;border:0;border-radius:7px;background:rgba(8,9,13,.82);color:#e6e6ea;font-size:10px;
}
.asset-remove{width:22px!important;height:22px!important;top:5px!important;right:4px!important}
.asset-field>span{font-size:8px!important;margin-bottom:3px!important}
.asset-meta .asset-field select,.asset-meta .asset-field input{height:30px!important;font-size:10px!important}
.order-row{margin-top:6px!important;gap:4px!important}
.order-row button{height:27px!important;font-size:9px!important}

.audio-list{gap:7px!important}
.audio-card{padding:8px!important;border-radius:11px!important;min-width:0!important}
.audio-top strong{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.audio-top .audio-index{font-size:8px!important}
.audio-card canvas{height:30px!important}
.audio-card audio{height:29px!important}
.audio-role-field{margin-top:5px!important}
.audio-role-field span{font-size:8px!important}
.audio-role-field input{height:29px!important;font-size:10px!important}
.audio-warning{font-size:8px!important}

/* 参数区 */
.param-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.param-grid label,.param-grid input,.param-grid select{min-width:0!important}

/* 评分问题标签 */
.issue-tags{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 12px}
.issue-tags label{
  border:1px solid var(--line);border-radius:999px;padding:6px 9px;
  background:rgba(255,255,255,.02);font-size:10px;color:var(--soft);cursor:pointer;
}
.issue-tags input{accent-color:var(--violet);margin-right:5px}

/* 沉浸预览 */
body.focus-mode .sidebar,body.focus-mode .topbar,body.focus-mode .layout-toolbar{display:none!important}
body.focus-mode .main{margin-left:0!important;width:100vw!important;max-width:100vw!important;padding:18px!important}
body.focus-mode .create-layout{display:block!important}
body.focus-mode .preview-column{position:relative!important;top:0!important;max-width:1500px;margin:auto}
body.focus-mode .preview-surface{padding:18px}
body.focus-mode .video-stage.landscape{max-height:calc(100vh - 150px)}
body.focus-mode .video-stage.portrait{max-height:calc(100vh - 150px)}

@media(max-width:1380px){
  .main{padding-left:18px;padding-right:18px}
  .create-layout{--left:1fr;--right:1fr}
  .asset-columns{grid-template-columns:1fr!important}
  .image-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))!important}
  .param-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:1180px){
  .create-layout{grid-template-columns:1fr!important}
  .splitter{display:none!important}
  .preview-column{position:relative!important;top:auto!important}
  .layout-toolbar small{display:none}
}
@media(max-width:820px){
  .main{width:100vw!important;max-width:100vw!important}
  .layout-toolbar{flex-wrap:wrap}
  .param-grid{grid-template-columns:1fr!important}
}


/* =========================================================
   v7.1 · 生成前检查
   ========================================================= */
.preflight-modal{width:min(720px,calc(100vw - 36px));max-height:88vh}
.preflight-summary{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
  margin:4px 0 14px;
}
.preflight-summary>div{
  padding:10px 11px;border:1px solid var(--line);border-radius:11px;
  background:rgba(255,255,255,.018);
}
.preflight-summary span{display:block;font-size:9px;color:var(--muted);margin-bottom:4px}
.preflight-summary strong{font-size:11px;color:var(--soft)}
.preflight-checks{display:grid;gap:7px}
.preflight-check{
  display:grid;grid-template-columns:25px 110px minmax(0,1fr);gap:8px;align-items:center;
  min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:11px;
  background:rgba(255,255,255,.018);
}
.preflight-check i{
  width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  font-style:normal;font-size:10px;
}
.preflight-check.ok i{background:rgba(89,211,160,.11);color:#71e4b2}
.preflight-check.warning i{background:rgba(244,189,101,.11);color:#f5c573}
.preflight-check.error i{background:rgba(255,108,117,.11);color:#ff9299}
.preflight-check b{font-size:10px}
.preflight-check span{font-size:10px;color:var(--muted);line-height:1.45}
.final-prompt-preview{margin-top:12px;border:1px solid var(--line);border-radius:11px;padding:0 11px}
.final-prompt-preview summary{padding:11px 0;font-size:10px;color:var(--soft);cursor:pointer}
.final-prompt-preview pre{
  max-height:210px;overflow:auto;white-space:pre-wrap;word-break:break-word;
  border-top:1px solid var(--line);margin:0;padding:11px 0;color:#c6ccd8;font-size:10px;line-height:1.6;
}
.preflight-footer{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  margin-top:14px;padding-top:14px;border-top:1px solid var(--line);
}
.preflight-footer>div:first-child strong,.preflight-footer>div:first-child span{display:block}
.preflight-footer>div:first-child strong{font-size:11px}
.preflight-footer>div:first-child span{font-size:9px;color:var(--muted);margin-top:3px}
.preflight-footer>div:last-child{display:flex;gap:8px}
#confirmGenerateBtn:disabled{opacity:.42;cursor:not-allowed}
@media(max-width:680px){
  .preflight-summary{grid-template-columns:1fr 1fr}
  .preflight-check{grid-template-columns:25px 85px minmax(0,1fr)}
  .preflight-footer{flex-direction:column;align-items:stretch}
  .preflight-footer>div:last-child{justify-content:flex-end}
}


/* v7.3 · 公网自修复 / 诊断反馈 */
.preflight-check{
  grid-template-columns:25px 110px minmax(0,1fr) auto!important;
}
.preflight-repair{
  height:29px;border:1px solid rgba(139,121,255,.25);border-radius:8px;
  padding:0 9px;background:rgba(139,121,255,.09);color:#c8c0ff;font-size:9px;
  white-space:nowrap;
}
.preflight-repair:hover{background:rgba(139,121,255,.15)}
.preflight-repair:disabled{opacity:.55}
.diag-loading{
  border:1px solid var(--line);border-radius:13px;padding:18px;
  color:var(--muted);font-size:11px;text-align:center;background:rgba(255,255,255,.015);
}
.diag-spin{animation:h3diagspin 1s linear infinite}
@keyframes h3diagspin{to{transform:rotate(360deg)}}
#diagnoseBtn:disabled{opacity:.62;cursor:wait}
@media(max-width:680px){
  .preflight-check{grid-template-columns:25px 80px minmax(0,1fr)!important}
  .preflight-repair{grid-column:2/4;width:max-content;margin-top:3px}
}


/* v7.5 · 云端任务同步 */
.queue-item>div:first-child{min-width:0}
.queue-item>div:first-child em{
  display:block;margin-top:4px;font-style:normal;font-size:9px;line-height:1.35;
  color:var(--muted);max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.queue-state-wrap{display:flex;align-items:center;gap:7px;flex-shrink:0}
.qstate.paused{color:var(--amber)!important}
.task-sync{
  height:27px;padding:0 8px;border-radius:8px;border:1px solid rgba(139,121,255,.22);
  background:rgba(139,121,255,.08);color:#c8c0ff;font-size:9px;
}
.task-sync:hover{background:rgba(139,121,255,.14)}
.task-sync:disabled,#refreshTasks:disabled{opacity:.55;cursor:wait}


/* v7.6 · 稳定视频预览 */
.video-stage video{
  background:#000;
  contain:layout paint;
}
#previewStatus{
  transition:.18s ease;
}
