:root{--bg:#07111c;--surface:#0e1b29;--raised:#142435;--line:#24384b;--text:#eff5fa;--muted:#91a4b7;--orange:#ff9f43;--orange-soft:rgba(255,159,67,.14);--green:#32c48d;--red:#ee6672;--blue:#4e9af1;--shadow:0 24px 70px rgba(0,0,0,.28)}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif}button,input,textarea,select{font:inherit}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;border-right:1px solid var(--line);background:linear-gradient(180deg,#0b1825,#08131e);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 30px}.brand-mark{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange),#ffd08a);color:#15202c;font-weight:1000;box-shadow:0 8px 28px rgba(255,159,67,.25)}.brand strong,.brand span{display:block}.brand span{color:var(--muted);font-size:11px;margin-top:3px;letter-spacing:.06em}nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:var(--muted);padding:12px 13px;border-radius:12px;cursor:pointer;text-align:left;font-weight:700}.nav-item span{font-size:19px}.nav-item:hover,.nav-item.active{color:var(--text);background:var(--raised)}.nav-item.active{box-shadow:inset 3px 0 var(--orange)}.side-note{margin-top:auto;border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.025)}.side-note strong,.side-note small{display:block}.side-note strong{font-size:12px}.side-note small{color:var(--muted);font-size:10px;margin-top:3px}.pulse{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(50,196,141,.12)}.side-footer{padding:14px 5px 0;color:#607488;font-size:9px;text-align:center}main{min-width:0;padding:0 32px 40px}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:26px}.eyebrow{margin:0 0 6px;color:var(--orange);font-size:10px;font-weight:900;letter-spacing:.16em}.topbar h1{font-size:24px;margin:0}.top-actions,.action-row{display:flex;align-items:center;gap:10px}.ghost-button,.danger-button,.icon-button,.primary-button{border:1px solid var(--line);color:var(--text);background:var(--raised);border-radius:11px;padding:10px 14px;text-decoration:none;cursor:pointer;font-weight:800}.ghost-button:hover,.icon-button:hover{border-color:#496179}.icon-button{width:42px;height:42px;padding:0;font-size:20px}.primary-button{border:0;background:linear-gradient(135deg,var(--orange),#ffb35f);color:#111d29;display:flex;justify-content:center;gap:18px;box-shadow:0 9px 30px rgba(255,159,67,.15)}.primary-button.small{padding:10px 15px}.danger-button{border-color:rgba(238,102,114,.35);color:#ff9aa3;background:rgba(238,102,114,.08)}button:disabled{opacity:.45;cursor:not-allowed}.view{display:none}.view.active{display:block}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:linear-gradient(135deg,var(--surface),#101f2f)}.metric span{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;font-size:24px;margin-top:5px}.metric b{color:var(--orange);font-size:10px;margin-left:6px}.workspace-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(300px,.9fr) minmax(440px,1.45fr);gap:16px;align-items:start}.panel{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.generator-panel,.candidates-panel,.preview-panel{min-height:650px;padding:19px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-heading>div{display:flex;align-items:center;gap:9px}.panel-heading h2{font-size:16px;margin:0}.section-index{font-size:9px;font-weight:900;letter-spacing:.1em;color:var(--orange);background:var(--orange-soft);border-radius:7px;padding:5px 6px}.mode-badge,.status-pill,.api-chip{font-size:9px;font-weight:900;padding:6px 8px;border-radius:999px;color:var(--orange);background:var(--orange-soft);border:1px solid rgba(255,159,67,.22)}.panel-help{color:var(--muted);font-size:11px;line-height:1.6;margin:0 0 18px}form{display:grid;gap:14px}label{font-size:11px;font-weight:800;color:#cbd7e1;display:grid;gap:7px}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:11px;background:#091521;color:var(--text);padding:11px 12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}textarea{min-height:170px;resize:vertical;line-height:1.55}.prompt-tips{display:flex;flex-wrap:wrap;gap:6px}.prompt-tips button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:6px 9px;font-size:10px;cursor:pointer}.prompt-tips button:hover{color:var(--orange);border-color:var(--orange)}.compact-select{width:auto;padding:6px 27px 6px 9px;font-size:10px}.template-list{display:grid;gap:9px;max-height:578px;overflow:auto;padding-right:3px}.template-card{border:1px solid var(--line);background:#0b1723;padding:13px;border-radius:13px;cursor:pointer;transition:.15s}.template-card:hover,.template-card.active{border-color:#526b82;transform:translateY(-1px)}.template-card.active{background:#122436;box-shadow:inset 3px 0 var(--orange)}.template-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.template-card h3{font-size:13px;margin:8px 0 5px}.template-card p{font-size:10px;color:var(--muted);margin:0;line-height:1.45}.template-meta{margin-top:10px;display:flex;gap:8px;color:#71869a;font-size:9px}.status-pill{color:var(--green);background:rgba(50,196,141,.1);border-color:rgba(50,196,141,.2)}.status-pill.review{color:#ffd17c;background:rgba(255,193,79,.1)}.status-pill.archived,.status-pill.blocked{color:#ff909a;background:rgba(238,102,114,.1)}.status-pill.muted{color:var(--muted);background:rgba(145,164,183,.08);border-color:var(--line)}.empty-preview{min-height:570px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);gap:7px}.empty-preview div{font-size:42px;filter:grayscale(1);opacity:.45}.empty-preview strong{color:#c4d1dc}.empty-preview span{font-size:10px}.preview-title-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.preview-title-row h3{font-size:16px;margin:0 0 5px}.preview-title-row p{font-size:10px;color:var(--muted);margin:0}.score-ring{width:59px;height:59px;border-radius:50%;border:4px solid var(--green);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}.score-ring strong{font-size:16px}.score-ring span{font-size:7px;color:var(--muted)}.pitch-wrap{position:relative;background:#153e2f;border-radius:13px;overflow:hidden;aspect-ratio:1.55;border:1px solid #315a49}.pitch-wrap canvas{width:100%;height:100%;display:block}.canvas-badge{position:absolute;top:9px;left:9px;border-radius:999px;padding:5px 8px;background:rgba(4,15,20,.76);font-size:9px;font-weight:800}.playback{display:grid;grid-template-columns:38px 1fr 82px;align-items:center;gap:10px;margin:11px 0}.play-button{width:36px;height:36px;border:0;border-radius:50%;background:var(--orange);color:#13202b;cursor:pointer;font-size:13px}.playback input{padding:0;accent-color:var(--orange);border:0;background:transparent}.playback span{font-variant-numeric:tabular-nums;color:var(--muted);font-size:9px}.audit-summary{border:1px solid var(--line);border-radius:12px;min-height:84px;max-height:132px;overflow:auto;padding:10px;margin:8px 0 12px;background:#091521}.audit-line{display:flex;gap:8px;align-items:flex-start;font-size:10px;padding:5px 0;color:var(--muted)}.audit-line b{font-size:8px;border-radius:4px;padding:3px 4px;color:#101a24;background:#ffd17c}.audit-line.blocker b{background:#ff7b87}.audit-ok{display:flex;align-items:center;gap:9px;color:#9ee6c9;font-size:11px;height:62px}.catalog-intro{border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#122a40,var(--surface));padding:23px;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.catalog-intro h2{margin:0 0 7px}.catalog-intro p:not(.eyebrow){color:var(--muted);font-size:12px;margin:0}.api-chip{border-radius:10px;color:#9ee6c9;background:rgba(50,196,141,.09);border-color:rgba(50,196,141,.2);font-family:Consolas,monospace}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.coach-group{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:17px}.coach-head{display:flex;align-items:center;gap:11px}.coach-avatar{width:44px;height:44px;border-radius:14px;background:var(--orange-soft);color:var(--orange);display:grid;place-items:center;font-weight:900}.coach-head h3{font-size:15px;margin:0}.coach-head p{font-size:9px;color:var(--muted);margin:4px 0 0}.catalog-item{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.catalog-item strong{font-size:12px;display:block}.catalog-item span{font-size:9px;color:var(--muted);display:block;margin-top:5px}.jobs-panel{padding:19px}.job-table{width:100%;border-collapse:collapse}.job-table th,.job-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 9px;font-size:11px}.job-table th{color:var(--muted);font-size:9px;letter-spacing:.08em}.job-table code{color:#9bb4cb}.empty-list{text-align:center;color:var(--muted);font-size:11px;padding:40px 15px}.toast{position:fixed;right:28px;bottom:28px;max-width:360px;background:#17293a;border:1px solid #3b5369;border-radius:12px;padding:12px 15px;font-size:11px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1250px){.workspace-grid{grid-template-columns:340px 1fr}.preview-panel{grid-column:1/-1;min-height:auto}.catalog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.shell{display:block}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:15px}.brand{padding-bottom:14px}.sidebar nav{display:flex;overflow:auto}.nav-item{white-space:nowrap}.side-note,.side-footer{display:none}main{padding:0 14px 30px}.topbar{height:88px}.metrics{grid-template-columns:repeat(2,1fr)}.workspace-grid{grid-template-columns:1fr}.preview-panel{grid-column:auto}.catalog-grid{grid-template-columns:1fr}.top-actions .ghost-button{display:none}}
/* Qwen workbench extends the existing dark/orange visual language. */
[hidden]{display:none!important}body{font-size:16px}label,.panel-help,.template-card p,.template-meta,.mode-badge,.status-pill,.playback span,.audit-line,.audit-ok,.job-table th,.job-table td,.catalog-item span,.catalog-item strong,.coach-head p,.prompt-tips button,.ghost-button,.side-note strong,.toast{font-size:14px}.template-card h3{font-size:16px}.metric span,.metric b{font-size:13px}.template-meta{flex-wrap:wrap}.template-open{background:none;border:0;color:inherit;text-align:left;padding:0;width:100%;cursor:pointer}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkbox-label{display:flex;align-items:center;gap:8px}.checkbox-label input{width:auto}.text-button{background:none;border:0;padding:4px 0;color:var(--orange);cursor:pointer;font:inherit;text-align:left}.progress-card,.review-card{padding:14px;border:1px solid var(--line);border-radius:12px;margin-top:16px;background:#0b1b29}.progress-card p,.review-card p{font-size:14px;line-height:1.6;margin:8px 0}.review-scores{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.review-scores span{font-size:14px;color:var(--muted)}.review-scores b{color:var(--orange)}.review-issue{border-top:1px solid var(--line);padding-top:8px}.audit-line{width:100%;background:none;border:0;text-align:left;cursor:pointer}.audit-line b{font-size:12px;white-space:nowrap}.audit-summary{max-height:240px}.playback{grid-template-columns:38px 1fr 116px}.pitch-wrap{aspect-ratio:1.544}.settings-panel{padding:24px;margin:0 0 20px}.settings-panel textarea{min-height:160px;font:14px/1.7 ui-monospace,Consolas,monospace}.settings-panel #plannerPrompt{min-height:320px}.threshold-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}details{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:10px}summary{cursor:pointer;color:var(--orange);font-size:14px}details p{font-size:14px;line-height:1.7}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.6 ui-monospace,Consolas,monospace;max-height:560px;overflow:auto;background:#091521;padding:16px;border-radius:10px}.table-scroll{overflow:auto}.action-row{flex-wrap:wrap}#revisionPanel{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}#revisionPanel textarea{min-height:90px}#revisionPanel button{margin-top:10px}.side-note small{overflow-wrap:anywhere;font-size:12px}.workspace-grid{grid-template-columns:minmax(280px,.8fr) minmax(270px,.8fr) minmax(470px,1.5fr)}.generator-panel,.candidates-panel,.preview-panel{min-height:0}.nav-item{font-size:14px}.brand span{font-size:12px}button:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:3px}@media(max-width:1400px){.workspace-grid{grid-template-columns:1fr 1fr}.preview-panel{grid-column:1/-1}.pitch-wrap{max-height:650px}.template-list{max-height:680px}}@media(max-width:820px){.workspace-grid,.threshold-grid{grid-template-columns:1fr}.preview-panel{grid-column:auto}.form-pair{grid-template-columns:1fr 1fr}.settings-panel{padding:16px}.topbar h1{font-size:20px}.top-actions #authButton{display:block;font-size:12px;padding:8px}.playback{grid-template-columns:36px 1fr 108px}.playback span{font-size:12px}}
dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:18px;max-width:460px;width:calc(100% - 40px);padding:24px}dialog::backdrop{background:rgba(0,0,0,.65)}#loginError{color:#ff9aa3;font-size:14px;margin:0}
button.review-issue{display:block;width:100%;background:none;border:0;border-top:1px solid var(--line);padding:12px 0;color:var(--text);font-size:14px;line-height:1.7;text-align:left;cursor:pointer}button.review-issue:hover{color:var(--orange)}
