#panel-workbench { --wb-line:#ccc7bf25; --wb-muted:#b9b2a6; --wb-text:#e9e7e3; color:var(--wb-text); }
#panel-workbench [hidden] { display:none !important; }
.wb-topline { display:flex; align-items:center; gap:12px; color:var(--wb-muted); font-size:12px; margin:0 0 20px; }
.wb-flowbar { display:flex; align-items:center; margin:0 0 24px; padding:18px 24px; border:1px solid var(--wb-line); border-radius:10px; background:#111012d9; }
.wb-flowbar>button { display:flex; align-items:center; gap:12px; border:0; background:transparent; color:#bdb7ac; padding:4px 0; text-align:left; flex-shrink:0; cursor:pointer; }
.wb-flowbar b { display:grid; place-items:center; width:34px; height:34px; border:1px solid #ccc7bf35; border-radius:9px; font-size:11px; font-weight:500; transition:background .2s,color .2s; }
.wb-flowbar button.active b { color:#19181b; background:#eceae7; border-color:#eceae7; }.wb-flowbar button.active { color:#f1efed; }
.wb-flowbar span:not(.wb-flow-line) { display:flex; flex-direction:column; font-size:13px; gap:5px; }.wb-flowbar small { color:var(--wb-muted); font-size:10px; }.wb-flow-line { height:1px; background:var(--wb-line); flex:1; margin:0 28px; }
.wb-live-note { display:flex; align-items:center; gap:12px; min-height:54px; padding:13px 16px; font-size:12px; color:#d9d5ce; background:#c3bdb20a; border:1px solid var(--wb-line); border-radius:8px; }
.wb-spinner { display:inline-block; flex-shrink:0; width:17px; height:17px; border:1.5px solid #c3bdb233; border-top-color:#e1ded8; border-radius:50%; animation:wb-spin 1s linear infinite; }
@keyframes wb-spin { to {transform:rotate(360deg)} }
.wb-pending-assets { margin-top:22px; grid-template-columns:repeat(3,minmax(0,1fr)); }.wb-asset-placeholder { border:1px solid var(--wb-line); border-radius:10px; padding:38px 16px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:16px; min-height:230px; }.wb-asset-placeholder h3 { font-size:14px; font-weight:500; margin:0; }.wb-asset-placeholder p { font-size:12px; color:var(--wb-muted); }
.wb-asset-preview { padding:0; overflow:hidden; display:grid; grid-template-columns:140px minmax(0,1fr); }.wb-asset-info { padding:18px; min-width:0; }.wb-asset-visual { background:linear-gradient(150deg,#4c463b45,#121214); display:flex; align-items:center; justify-content:center; flex-direction:column; gap:20px; min-height:210px; border-right:1px solid var(--wb-line); color:#b1a99b; font-size:10px; }.wb-asset-initial { font-size:44px; font-weight:300; color:#bbb4a9; }.wb-asset-visual img { width:100%; height:100%; max-height:300px; object-fit:contain; }.wb-asset-description { color:#c4beb3; font-size:12px; line-height:1.9; }.wb-asset-description summary { cursor:pointer; margin-bottom:6px; }.wb-asset-info>.text-button { margin-top:12px; }
.wb-stage-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid var(--wb-line); margin-top:24px; padding-top:18px; }.wb-stage-footer .btn { flex-shrink:0; }.wb-stage-footer .wb-help { max-width:650px; }
.wb-duration-choices { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; margin:30px 0; max-width:420px; }.wb-duration { border:1px solid var(--wb-line); background:#101011; border-radius:10px; padding:26px; color:#cdc8c0; display:flex; align-items:flex-start; flex-direction:column; text-align:left; gap:13px; cursor:pointer; transition:border-color .15s,background .15s; }.wb-duration strong { font-size:32px; font-weight:450; color:#edebe7; }.wb-duration span { font-size:13px; }.wb-duration small { font-size:11px; color:var(--wb-muted); line-height:1.8; }.wb-duration.selected { border-color:#d3cec6; background:#d3cfc711; box-shadow:0 0 0 1px #d3cec622 inset; }
.wb-setup-recap { display:flex; flex-direction:column; gap:10px; font-size:12px; color:#cac5bc; line-height:1.8; }
#panel-workbench[data-screen=assets] .wb-result,#panel-workbench[data-screen=shots] .wb-result { margin-top:0; animation:wb-enter .18s ease-out; }
@keyframes wb-enter { from {opacity:.7;transform:translateY(5px)} to {opacity:1;transform:translateY(0)} }
@media(max-width:760px) { .wb-flowbar { padding:14px 12px; }.wb-flowbar>button { gap:7px; }.wb-flowbar b { width:24px; height:26px; font-size:10px; border-radius:5px; }.wb-flowbar span:not(.wb-flow-line) { font-size:11px; }.wb-flowbar small { display:none; }.wb-flow-line { margin:0 8px; }.wb-pending-assets { grid-template-columns:1fr; }.wb-asset-preview { grid-template-columns:100px minmax(0,1fr); }.wb-stage-footer { align-items:stretch; flex-direction:column; gap:10px; }.wb-duration-choices { gap:10px; }.wb-duration { padding:18px 12px; }.wb-duration strong { font-size:26px; } }
.wb-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr); gap:20px; align-items:start; }
.wb-surface { background:rgba(22,29,38,.9); border:1px solid var(--wb-line); border-radius:12px; box-shadow:0 8px 30px #0000000d; padding:25px; }
.wb-section-head { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:22px; }
.wb-section-head h2,.wb-editor h2 { font-size:18px; font-weight:550; letter-spacing:.2px; margin:5px 0 0; }
.wb-kicker { font-size:9px; letter-spacing:1.8px; color:var(--wb-muted); }
.wb-field { display:flex; flex-direction:column; gap:8px; font-size:12px; color:#cfcac2; margin:16px 0; }
.wb-field input,.wb-field select { width:100%; }
.wb-field textarea { width:100%; resize:vertical; min-height:110px; line-height:1.9; }
.wb-script-label { display:flex; align-items:center; justify-content:space-between; color:#d3cfc8; font-size:12px; padding:14px 15px 5px; }
.wb-script-label span { font-size:11px; color:var(--wb-muted); font-variant-numeric:tabular-nums; }
.wb-drop { margin-top:20px; background:#111012e0; border:1px solid var(--wb-line); border-radius:8px; overflow:hidden; transition:border-color .2s; }
.wb-drop.dragover { border-color:#e1ded9; }
#panel-workbench .wb-drop textarea { display:block; width:100%; min-height:300px; padding:12px 15px; border:0; border-radius:0; background:transparent; resize:vertical; line-height:1.9; font-family:inherit; font-size:13px; box-shadow:none; }
#panel-workbench .wb-field textarea { min-height:110px; line-height:1.9; }
#panel-workbench .wb-field textarea.wb-storyboard-edit { min-height:500px; }
.wb-upload-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:8px 14px; color:var(--wb-muted); font-size:10px; }
.wb-help { font-size:12px; color:var(--wb-muted); line-height:1.9; margin:15px 0; }
.wb-start { width:100%; margin-top:8px; }
.wb-checks summary { cursor:pointer; line-height:1.8; }
.wb-drafts { display:flex; flex-wrap:wrap; gap:6px; }
.wb-draft { font:inherit; font-size:11px; background:transparent; border:1px solid var(--wb-line); border-radius:5px; padding:5px 9px; color:var(--wb-muted); max-width:170px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wb-draft.selected { background:#d2cdc517; color:#eeece9; border-color:#c4beb451; }
.wb-history { padding-bottom:12px; }
.wb-history-list { min-height:220px; max-height:650px; overflow:auto; margin:0 -10px; padding:0 10px; }
.wb-job { width:100%; text-align:left; color:inherit; background:transparent; border:1px solid transparent; border-bottom-color:var(--wb-line); border-radius:6px; display:flex; flex-direction:column; gap:8px; padding:16px 10px; cursor:pointer; transition:background .15s; }
.wb-job:hover,.wb-job.selected { background:#ccc7bf0b; border-color:var(--wb-line); }
.wb-job-head { display:flex; gap:10px; align-items:center; justify-content:space-between; width:100%; }
.wb-job-head strong { font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.wb-status { flex-shrink:0; font-size:10px; color:#cbc6bd; border:1px solid #ccc7bf22; border-radius:4px; padding:2px 5px; }
.wb-status.running { color:#e0cda8; }.wb-status.completed { color:#abcebd; }.wb-status.failed { color:#e4b9a4; }
.wb-job-meta { font-size:10px; color:var(--wb-muted); }.wb-job-note { font-size:11px; color:#d4d0c9; line-height:1.7; }
.wb-history-footer,.wb-pagination { display:flex; align-items:center; gap:10px; justify-content:space-between; font-size:11px; color:var(--wb-muted); margin-top:12px; }
.wb-empty { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:15px; min-height:180px; color:var(--wb-muted); font-size:12px; text-align:center; line-height:1.8; }
.wb-result { margin-top:24px; scroll-margin-top:80px; }
.wb-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.wb-stages { list-style:none; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:18px 0; }
.wb-stages li { border-top:2px solid #ccc7bf22; padding-top:12px; font-size:11px; color:#a59c8d; }.wb-stages li.done { border-color:#aac0b4; color:#bbcdbf; }.wb-stages li.current { border-color:#dddad4; color:#eceae7; }
.wb-result-note { font-size:12px; color:#d3cfc7; padding:12px 0; }
.wb-result-note.error,.wb-form-error { color:#e4b9a4; font-size:12px; line-height:1.8; }.wb-form-error { border-left:2px solid #d3a68e; padding:8px 12px; background:#d3a68e0a; margin:12px 0; }
.wb-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:20px 0; margin:0 0 20px; border-top:1px solid var(--wb-line); border-bottom:1px solid var(--wb-line); gap:16px; }
.wb-metrics>div { display:flex; flex-direction:column; gap:8px; }.wb-metrics strong { font-size:22px; font-weight:450; font-variant-numeric:tabular-nums; }.wb-metrics span { font-size:11px; color:var(--wb-muted); }
.wb-checks { padding:12px 15px; margin:12px 0; border:1px solid var(--wb-line); border-radius:7px; font-size:12px; color:#d3cec6; line-height:1.9; }.wb-checks p { color:var(--wb-muted); }.wb-checks .wb-missing { color:#dec6ad; }
.wb-result-tabs { display:flex; gap:22px; border-bottom:1px solid var(--wb-line); margin-top:24px; overflow:auto; }
.wb-result-tab { background:transparent; color:var(--wb-muted); border:0; border-bottom:2px solid transparent; border-radius:0; padding:12px 0; font-size:12px; white-space:nowrap; cursor:pointer; }.wb-result-tab.active { color:#f5f4f2; border-bottom-color:#cfcbc3; }
.wb-result-pane { padding-top:20px; }.wb-result-pane h3 { font-size:13px; font-weight:500; margin:10px 0 16px; }
.wb-asset-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:26px; }.wb-asset { border:1px solid var(--wb-line); border-radius:8px; padding:18px; background:#0f0e1045; }.wb-asset h4 { font-size:13px; font-weight:500; margin:0 0 12px; }.wb-asset p { font-size:12px; line-height:1.95; color:#c4beb3; margin:0; white-space:pre-wrap; }.wb-asset .wb-voice { margin-top:14px; padding-top:12px; border-top:1px solid var(--wb-line); color:#dad6d0; }
.wb-frame { display:grid; grid-template-columns:80px minmax(0,1fr); gap:20px; padding:24px 0; border-bottom:1px solid var(--wb-line); }.wb-frame>h3,.wb-frame>p { grid-column:1/-1; margin:0; line-height:1.9; font-size:12px; }.wb-frame-label { color:var(--wb-muted); font-size:11px; padding-top:5px; }.wb-text { font:400 13px/2 "Microsoft YaHei",sans-serif; color:#d7d3cc; white-space:pre-wrap; overflow-wrap:anywhere; margin:0; }.wb-event { color:var(--wb-muted); font-size:12px; line-height:1.9; }.wb-dialogue { color:#d6d2cb; }
.wb-editor { max-width:920px; margin:auto; }.wb-editor textarea.wb-storyboard-edit { min-height:500px; }.wb-delete-confirm { display:flex; flex-wrap:wrap; align-items:center; gap:12px; border:1px solid #d1a58f55; padding:15px; border-radius:8px; margin-bottom:20px; font-size:12px; }
#panel-workbench :is(button,input,textarea,select,summary):focus-visible { outline:2px solid #dad6d0; outline-offset:3px; }
@media(max-width:1100px) { .wb-layout { grid-template-columns:minmax(0,1.1fr) minmax(280px,.8fr); gap:14px; }.wb-surface { padding:18px; }.wb-section-head { align-items:flex-start; flex-wrap:wrap; }.wb-history-footer { flex-wrap:wrap; } }
@media(max-width:760px) { .wb-layout { grid-template-columns:minmax(0,1fr); }.wb-asset-grid { grid-template-columns:1fr; }.wb-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.wb-frame { grid-template-columns:1fr; gap:10px; }.wb-stages { gap:5px; }.wb-stages li { font-size:10px; }.wb-result-tabs { gap:18px; }.wb-topline { flex-wrap:wrap; }.wb-actions { gap:6px; } }
@media(prefers-reduced-motion:reduce) { #panel-workbench * { scroll-behavior:auto; transition:none; } }
.wb-flowbar { position:sticky; top:68px; z-index:8; backdrop-filter:blur(16px); }
.wb-result { scroll-margin-top:170px; }
.wb-image-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:16px; padding:18px; margin:20px 0; border:1px solid var(--wb-line); border-radius:10px; background:#111113; }
.wb-image-fields { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; }
.wb-compact-field { display:flex; flex-direction:column; gap:8px; font-size:11px; color:var(--wb-muted); }
.wb-compact-field select { min-width:100px; max-width:170px; height:36px; font-size:12px; padding:6px 28px 6px 10px; }
.wb-name-toggle { display:flex; align-items:center; gap:7px; height:36px; font-size:12px; color:#cfcac1; }
.wb-name-toggle input { width:auto; accent-color:#d0cbc3; }.wb-image-toolbar>.wb-help { flex-basis:100%; margin:0; font-size:11px; }
.wb-asset-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; align-items:start; }
.wb-asset-section { min-width:0; border:1px solid var(--wb-line); border-radius:10px; padding:16px; background:#11101255; }
.wb-kind-items { grid-column:1/-1; }.wb-category-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; }
.wb-category-head h3 { margin:0; font-size:15px; font-weight:550; }.wb-category-head>span { font-size:11px; color:var(--wb-muted); }
.wb-category-tools { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.wb-asset-count { font-size:12px; color:var(--wb-muted); }
.wb-add-reference { white-space:nowrap; min-height:34px; }
.account-app .studio-dialog.wb-asset-add { width:min(520px,calc(100vw - 32px)); max-width:520px; max-height:82dvh; padding:22px 24px; overflow-y:auto; }
.wb-asset-add form { display:grid; gap:8px; }
.wb-asset-add h2 { margin:0 0 2px; font-size:20px !important; }
.wb-asset-add p { margin:0; }
.wb-asset-add .wb-field { margin:8px 0; gap:6px; }
.wb-asset-add .wb-field textarea { min-height:84px; max-height:190px; }
.wb-asset-add .wb-field textarea.wb-asset-voice-input { min-height:58px; max-height:110px; }
.wb-asset-add .wb-actions { justify-content:flex-end; }
.wb-name-toggle { min-width:0; flex:0 0 auto; white-space:nowrap; }
.wb-name-toggle span { white-space:nowrap; line-height:20px; }
.wb-name-toggle input[role="switch"] { appearance:none; display:block; position:relative; width:34px !important; min-width:34px; height:20px; margin:0; padding:0; border:1px solid currentColor; border-radius:12px; color:var(--wb-muted,#aaa69e); background:rgba(130,130,130,.13); cursor:pointer; flex:0 0 34px; }
.wb-name-toggle input[role="switch"]::after { content:""; display:block; position:absolute; top:3px; left:3px; width:12px; height:12px; border-radius:50%; background:currentColor; transition:transform .15s ease; }
.wb-name-toggle input[role="switch"]:checked { background:rgba(192,153,89,.28); color:#b38b4d; }
.wb-name-toggle input[role="switch"]:checked::after { transform:translateX(14px); }
.wb-name-toggle input[role="switch"]:focus-visible { outline:2px solid #b38b4d; outline-offset:3px; }
.wb-name-toggle input[role="switch"]:disabled { opacity:.5; cursor:default; }
.wb-name-hint { flex-basis:100%; min-width:0; white-space:normal; }
.wb-asset-columns .wb-asset-grid { grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr)); margin:0; align-items:start; }
.wb-asset-columns .wb-kind-items .wb-asset-grid { grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr)); }
.wb-asset-columns .wb-asset-preview { display:flex; flex-direction:column; padding:0; }
.wb-asset-columns .wb-asset-visual { width:100%; min-height:160px; max-height:280px; aspect-ratio:4/3; border-right:0; border-bottom:1px solid var(--wb-line); background:#100f11; }
.wb-kind-characters .wb-asset-visual { aspect-ratio:3/4; }.wb-asset-columns .wb-asset-visual img { width:100%; height:100%; max-height:none; }
.wb-asset-columns .wb-asset-info { padding:14px; width:100%; }.wb-asset-info h3 { font-size:13px; line-height:1.6; margin:0 0 10px; overflow-wrap:anywhere; }
.wb-asset-info .wb-actions { margin-top:15px; }.wb-asset-info .wb-voice { max-height:110px; overflow:auto; }
.wb-shot-row { display:grid; grid-template-columns:42px minmax(150px,.85fr) minmax(140px,.75fr) minmax(260px,1.55fr) minmax(130px,.65fr); border:1px solid var(--wb-line); border-radius:10px; overflow:hidden; margin-bottom:20px; background:#111012cc; }
.wb-shot-number { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; background:#c4beb40c; color:#dcd9d3; }.wb-shot-number strong { font-size:21px; font-weight:450; }.wb-shot-number small { font-size:10px; }
.wb-shot-cell { padding:14px; min-width:0; border-left:1px solid var(--wb-line); }.wb-shot-cell>h3 { margin:0 0 12px; font-size:11px; color:var(--wb-muted); font-weight:400; }
.wb-shot-scroll { max-height:500px; overflow:auto; overscroll-behavior:contain; padding-right:8px; font-size:12px; scrollbar-width:thin; scrollbar-color:#6e6657 transparent; }
.wb-shot-draft>h3,.wb-shot-prompt>h3 { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.wb-inline-edit-button { border:1px solid var(--wb-line); border-radius:5px; padding:4px 10px; color:#dddad4; background:#d3cec608; cursor:pointer; font:inherit; transition:background .15s,border-color .15s; }
.wb-inline-edit-button:hover:not(:disabled) { background:#d3cec61a; border-color:#beb7ac65; }.wb-inline-edit-button:disabled { opacity:.4; cursor:default; }
.wb-editable-text { cursor:text; border-radius:5px; outline:1px solid transparent; transition:outline-color .15s; }.wb-editable-text:hover,.wb-editable-text:focus-visible { outline-color:#beb7ac50; }
.wb-shot-cell textarea.wb-inline-input { box-sizing:border-box; width:100%; min-height:300px; max-height:720px; resize:vertical; border:1px solid #bdb6ab55; border-radius:6px; background:#0d0d0e; padding:10px; font-family:inherit; color:#e1ded9; line-height:2; white-space:pre-wrap; }
.wb-shot-cell textarea.wb-inline-input:focus { outline:2px solid #c6c1b755; outline-offset:2px; }.wb-inline-status { color:#dfdcd7; font-size:12px; line-height:1.8; overflow-wrap:anywhere; }.wb-inline-status.error { color:#f2b6ac; }.wb-shot-editing { border-color:#c6c1b755; }
@media(max-width:1280px) { .wb-shot-editing .wb-shot-actions { flex-wrap:wrap; }.wb-shot-editing .wb-inline-status,.wb-shot-editing .wb-shot-actions>.wb-help { flex-basis:100%; margin:0; } }
.wb-shot-prompt .wb-text { color:#e1ded9; }.wb-reference-group { padding:10px 0; border-bottom:1px solid var(--wb-line); }.wb-reference-kind { display:block; font-size:10px; color:var(--wb-muted); margin-bottom:9px; }
.wb-rich-prompt { min-height:300px; padding:10px; border:1px solid #bdb6ab55; border-radius:6px; background:#0d0d0e; line-height:2; overflow-wrap:anywhere; }
.wb-inline-asset-chip { display:inline-flex; align-items:center; gap:5px; max-width:100%; margin:0 2px; padding:2px 7px 2px 3px; vertical-align:middle; border:1px solid #c49b5748; border-radius:6px; background:#c49b5718; color:#f0c67f; line-height:1.5; }
.wb-inline-asset-chip img,.wb-inline-asset-initial { flex:0 0 22px; width:22px; height:22px; border-radius:4px; object-fit:cover; }
.wb-inline-asset-initial { display:inline-grid; place-items:center; background:#c49b5728; color:#efc67f; font-size:11px; }
.wb-inline-asset-name { min-width:0; overflow-wrap:anywhere; }
.wb-reference-chips { display:flex; flex-wrap:wrap; gap:7px; }.wb-reference-chip { display:flex; align-items:center; gap:7px; max-width:100%; border:1px solid var(--wb-line); border-radius:6px; padding:5px 7px; font-size:10px; background:#1c1a1e; }.wb-reference-chip img { width:30px; height:30px; object-fit:cover; border-radius:3px; }.wb-reference-chip span { overflow-wrap:anywhere; }.wb-reference-none { font-size:11px; color:var(--wb-muted); }.wb-shot-references>.text-button { margin-top:18px; }
.wb-shot-actions { display:flex; flex-direction:column; gap:12px; }.wb-shot-actions>.btn { width:100%; white-space:normal; }.wb-delivery-state { display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; padding:26px 0; flex:1; justify-content:center; }.wb-delivery-state strong { font-size:12px; font-weight:500; }.wb-delivery-state .wb-help { font-size:11px; margin:0; }.wb-ready-mark { display:grid; place-items:center; width:38px; height:38px; background:#9ac8b315; border:1px solid #9ac8b340; border-radius:50%; color:#acd5c1; }
@media(max-width:1280px) { .wb-shot-row { grid-template-columns:38px minmax(135px,.8fr) minmax(130px,.7fr) minmax(230px,1.5fr); }.wb-shot-actions { grid-column:2/-1; border-top:1px solid var(--wb-line); flex-direction:row; align-items:center; }.wb-shot-actions>h3,.wb-shot-actions .wb-delivery-state { display:none; }.wb-shot-actions>.btn { width:auto; }.wb-shot-number { grid-row:1/3; } }
@media(max-width:900px) { .wb-asset-columns { grid-template-columns:1fr; }.wb-kind-items { grid-column:auto; }.wb-shot-row { grid-template-columns:36px minmax(0,1fr); }.wb-shot-number { grid-row:1/5; }.wb-shot-cell { grid-column:2; border-bottom:1px solid var(--wb-line); }.wb-shot-scroll { max-height:360px; }.wb-shot-references { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }.wb-shot-references>h3 { flex-basis:100%; margin:0; }.wb-reference-group { border:0; padding:0; }.wb-shot-references>.text-button { margin:0; }.wb-shot-actions { grid-column:2; }.wb-flowbar { top:58px; } }
@media(max-width:760px) { .wb-image-toolbar { padding:12px; }.wb-image-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }.wb-compact-field select { width:100%; max-width:none; min-width:0; }.wb-asset-section { padding:12px; }.wb-shot-cell { padding:12px; }.wb-stages { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:12px; } }
.wb-image-dialog{width:min(720px,calc(100vw - 32px));max-height:85dvh;padding:28px;border:1px solid var(--line,#d8d7d3);border-radius:18px;background:var(--surface,#fff);color:var(--text,#222);box-shadow:0 24px 80px #0003}.wb-image-dialog::backdrop{background:#16151888;backdrop-filter:blur(6px)}.wb-image-dialog h2{margin-top:0}.wb-image-quote-list{max-height:48dvh;overflow:auto;margin:20px 0}.wb-image-quote-list details{border-bottom:1px solid #8883;padding:12px 0}.wb-image-quote-list summary{cursor:pointer;line-height:1.6}.wb-image-quote-list pre{white-space:pre-wrap;font-size:12px}.wb-image-progress{color:#887339;font-size:12px}.wb-image-error{color:#b34b40;font-size:12px;line-height:1.7}.wb-image-pending{padding:12px;background:#8881;border-radius:10px}.wb-image-pending img{width:100%;max-height:180px;object-fit:contain}.wb-image-dialog .wb-actions{justify-content:flex-end}
/* Asset workspace: fixed image geometry and local state updates keep scrolling stable. */
.wb-asset-header{position:sticky;top:162px;z-index:7;padding:15px 0;margin:-6px 0 20px;background:#161518f5;border-bottom:1px solid var(--wb-line);backdrop-filter:blur(12px)}
.wb-asset-header .wb-actions{justify-content:flex-end}.wb-next-shots{min-height:40px;white-space:nowrap}
.wb-asset-columns .wb-asset-visual{position:relative;overflow:hidden;isolation:isolate;flex-shrink:0}
.wb-image-hit{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;width:100%;height:100%;min-height:inherit;flex:1;padding:0;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer;overflow:hidden;touch-action:manipulation}
.wb-image-hit:disabled{cursor:default;opacity:1}.wb-image-hit:not(:disabled):hover{background:#dcd8d208}.wb-image-hit:not(:disabled):active{background:#dcd8d213}
.wb-asset-columns .wb-asset-visual .wb-preview-image{position:absolute;inset:0;object-fit:contain;opacity:0;transition:opacity .22s ease}
.wb-asset-columns .wb-asset-visual .wb-preview-image.loaded{opacity:1}.wb-image-hint{position:absolute;bottom:12px;padding:7px 11px;border:1px solid #c8c2b925;border-radius:6px;background:#131215e8;color:#e7e5e1;font-size:11px;pointer-events:none;transition:transform .16s,background .16s}
.wb-image-hit:not(:disabled):hover .wb-image-hint{transform:translateY(-2px);background:#28262bf2}.wb-asset-initial{margin-bottom:18px;font-family:serif}
.wb-preview-loader,.wb-generation-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;font-size:12px;color:#e6e3df;pointer-events:none}
.wb-preview-loader{background:#121113}.wb-generation-overlay{background:#121113c9}.wb-generation-overlay .wb-spinner{width:28px;height:28px;border-width:2px;border-top-color:#efeeeb}
.wb-preview-retry{position:absolute;inset:auto 10px 50%;transform:translateY(50%);z-index:2;padding:12px 8px;border:1px solid var(--wb-line);border-radius:7px;background:#1d1c20;color:#eceae6;font:inherit;font-size:11px;cursor:pointer}
.wb-asset-preview{transition:border-color .2s,box-shadow .2s;contain:layout style}.wb-asset-preview:focus-within{border-color:#cdc8bf70}.wb-asset-preview.is-generating{border-color:#cfcac250;box-shadow:0 0 0 1px #dbd8d208}
.wb-asset-info .wb-image-progress{color:#d5d1ca;margin-top:12px;font-variant-numeric:tabular-nums}.wb-asset-info .wb-image-error{color:#efbba9;margin-top:10px}.wb-asset-info .wb-actions{gap:12px 10px}.wb-image-price{font-variant-numeric:tabular-nums}
.wb-original-dialog{width:min(1100px,calc(100vw - 32px));max-height:92dvh;padding:20px;border:1px solid #c8c2b838;border-radius:12px;background:#161517;color:#eceae7;box-shadow:0 24px 80px #0006}.wb-original-dialog::backdrop{background:#090809c9}.wb-original-dialog h2{font-size:15px}.wb-original-dialog img{display:block;max-width:100%;max-height:76dvh;object-fit:contain;margin:auto}
@media(max-width:1100px){.wb-asset-header{top:162px}.wb-asset-header .wb-actions{justify-content:flex-start}.wb-asset-header h2{font-size:16px}}
@media(max-width:900px){.wb-asset-header{top:152px}}
@media(max-width:760px){.wb-asset-header{top:115px;gap:12px;padding:12px 0}.wb-asset-header>div:first-child{flex:1;min-width:100px}.wb-asset-header .wb-actions{gap:9px}.wb-asset-header .wb-next-shots{margin-left:auto}.wb-asset-header .wb-actions>.text-button{font-size:11px}.wb-image-toolbar>.wb-actions{width:100%;justify-content:space-between}.wb-asset-columns .wb-asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.wb-asset-columns .wb-asset-info{padding:11px}.wb-asset-info .wb-voice{font-size:11px}.wb-asset-info .wb-actions{gap:10px 8px}.wb-asset-info .wb-actions .text-button{font-size:11px}.wb-asset-columns .wb-asset-visual{min-height:140px}}
@media(max-width:760px){.account-app .studio-dialog.wb-asset-add{width:min(460px,calc(100vw - 22px));padding:18px 16px}.wb-image-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.wb-name-toggle{grid-column:1/-1;justify-self:start}.wb-name-hint{line-height:1.65}}
@media(max-width:420px){.wb-asset-columns .wb-asset-grid{grid-template-columns:1fr}.wb-asset-columns .wb-asset-visual{max-height:300px}}
@media(prefers-reduced-motion:reduce){#panel-workbench .wb-spinner{animation-duration:2.5s}#panel-workbench .wb-result{animation:none}#panel-workbench .wb-image-hint{transform:none}}

/* Both frame columns save in place without a separate editing mode. */
.wb-inline-input{height:480px;min-height:260px;width:100%;box-sizing:border-box;resize:vertical;transition:border-color .16s,background .16s}
.wb-inline-input:not(:read-only):hover{border-color:#dbd7d133}.wb-inline-input:focus{border-color:#c6c1b788;background:#131214;outline:2px solid #c6c1b71a;outline-offset:2px}
.wb-inline-input:read-only{cursor:default}.wb-autosave-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;line-height:1.65;color:var(--wb-muted)}
.wb-autosave-message.error{color:#f2b6ac}.wb-autosave-retry{font-size:11px;text-align:left}
@media(max-width:1280px){.wb-shot-actions{flex-wrap:wrap}.wb-autosave-status{flex-basis:100%}}
@media(max-width:900px){.wb-inline-input{height:320px;min-height:220px}.wb-shot-actions>.btn{max-width:100%}}

/* Character identity controls share the existing champagne component palette. */
.wb-asset-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 8px;margin-bottom:10px}.wb-asset-info .wb-asset-title h3{margin:0}.wb-primary-badge{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #c9ac7045;border-radius:4px;background:#c9ac7014;color:#d8c59e;font-size:10px;font-weight:500;white-space:nowrap}.wb-primary-reference{margin:0 0 10px;color:#a99f8f;font-size:11px;line-height:1.6}.wb-image-hit:not(:disabled){cursor:zoom-in}.wb-new-image-preview{padding:0;border:0;background:transparent;cursor:zoom-in}.wb-new-image-preview:focus-visible,.wb-image-hit:focus-visible{outline:2px solid #d8c59e;outline-offset:-3px}

/* Compact asset cards: full original image, two lines of description, one action row. */
#panel-workbench .wb-asset-columns{gap:14px}
#panel-workbench .wb-asset-section{padding:12px}
#panel-workbench .wb-category-head{margin-bottom:12px}
#panel-workbench .wb-asset-columns .wb-asset-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr))}
#panel-workbench .wb-asset-columns .wb-asset-preview{position:relative;overflow:visible;border-radius:9px}
#panel-workbench .wb-asset-preview:has(.wb-asset-more[open]){z-index:12}
#panel-workbench .wb-asset-columns .wb-asset-visual{position:relative;min-height:0;max-height:none;height:auto;aspect-ratio:16/10;gap:0;overflow:hidden;border-radius:8px 8px 0 0}
#panel-workbench .wb-asset-columns .wb-image-hit{position:absolute;inset:0;width:100%;height:100%;min-height:0;gap:8px}
#panel-workbench .wb-asset-columns .wb-preview-image{width:100%;height:100%;object-fit:contain}
#panel-workbench .wb-image-hint{bottom:8px;padding:4px 8px;font-size:10px;opacity:0;transform:none;transition:opacity .15s}
#panel-workbench .wb-image-hit:hover .wb-image-hint,#panel-workbench .wb-image-hit:focus-visible .wb-image-hint,#panel-workbench .wb-image-hit:disabled .wb-image-hint{opacity:1;transform:none}
#panel-workbench .wb-asset-columns .wb-asset-info{padding:10px;display:flex;flex-direction:column;gap:6px}
#panel-workbench .wb-asset-title{display:block;margin:0;min-width:0}
#panel-workbench .wb-asset-title h3{font-size:12px;line-height:1.5;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:550}
#panel-workbench .wb-description-snippet{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:left;width:100%;height:34px;min-height:34px;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:var(--text-2,#b6b1a8);font-size:11px;line-height:17px;cursor:text}
#panel-workbench .wb-description-snippet:hover{color:var(--text,#ece8e1)}
#panel-workbench .wb-asset-info .wb-voice{margin:0;padding:0;border:0;height:16px;max-height:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:16px;color:var(--gold,#c9a96a)}
#panel-workbench .wb-primary-badge,#panel-workbench .wb-primary-reference{position:absolute;top:7px;right:7px;z-index:2;pointer-events:none;max-width:calc(100% - 14px);padding:3px 7px;margin:0;border:1px solid #c9ac7055;border-radius:4px;background:#181610e8;color:#e3cf9f;font-size:10px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#panel-workbench .wb-asset-info .wb-card-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:5px;margin-top:5px;min-width:0}
#panel-workbench .wb-card-actions .wb-generate-button{flex:1;min-width:0;min-height:30px;height:30px;padding:0 6px;border-radius:5px;font-size:11px;white-space:nowrap;background:#c9a96a12;border-color:#c9a96a22;color:var(--gold-soft,#e3cf9f)}
#panel-workbench .wb-card-actions .wb-icon-button{display:flex;align-items:center;justify-content:center;flex:none;width:29px;height:30px;padding:0;min-height:0;border:1px solid var(--line,#ffffff12);border-radius:5px;background:#ffffff04;color:var(--text-2,#b6b1a8);cursor:pointer;list-style:none;font-size:17px;line-height:1}
#panel-workbench .wb-icon-button svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#panel-workbench .wb-icon-button:hover:not(:disabled){background:#ffffff0b;color:var(--text,#ece8e1)}
#panel-workbench .wb-icon-button.danger-action:hover:not(:disabled){color:var(--danger,#d9a08a)}
#panel-workbench .wb-asset-more{margin:0;padding:0;border:0;flex:none}
#panel-workbench .wb-asset-more>summary::-webkit-details-marker{display:none}
#panel-workbench .wb-asset-menu{position:absolute;right:9px;bottom:49px;z-index:15;display:grid;gap:2px;min-width:144px;max-width:calc(100% - 18px);padding:5px;border:1px solid #37332b;border-radius:7px;background:#19181a;box-shadow:0 8px 24px #0006}
#panel-workbench .wb-asset-menu :is(button,a){display:block;min-height:31px;padding:7px 10px!important;margin:0!important;border:0;border-radius:4px;background:transparent;text-align:left;color:var(--text-2,#b6b1a8);font-size:11px;line-height:17px}
#panel-workbench .wb-asset-menu :is(button,a):hover:not(:disabled){background:#c9a96a10;color:var(--gold-soft,#e3cf9f)}
#panel-workbench .wb-asset-info .wb-image-progress{font-size:10px;line-height:1.5;margin:0}
#panel-workbench .wb-asset-info .wb-image-error{font-size:11px;line-height:1.6;margin:0}
@media(max-width:760px){#panel-workbench .wb-asset-columns{grid-template-columns:minmax(0,1fr)}#panel-workbench .wb-asset-section{padding:10px}#panel-workbench .wb-asset-columns .wb-asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#panel-workbench .wb-asset-columns .wb-asset-info{padding:8px}#panel-workbench .wb-card-actions{gap:4px!important}#panel-workbench .wb-card-actions .wb-icon-button{width:24px}#panel-workbench .wb-card-actions .wb-generate-button{font-size:10px;padding:0 3px}}
@media(max-width:370px){#panel-workbench .wb-asset-columns .wb-asset-grid{grid-template-columns:minmax(0,1fr)}}

.wb-script-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.wb-script-toolbar>.wb-help{flex:1 1 300px;margin:0}
.wb-script-editor{max-width:1100px;margin:0 auto}
#panel-workbench .wb-script-editor textarea.wb-script-revision-input{display:block;width:100%;min-height:52vh;max-height:75vh;resize:vertical;box-sizing:border-box;font:inherit;line-height:1.9;tab-size:2;padding:20px}
.wb-script-editor .wb-field select{max-width:260px}
.wb-script-editor-actions{justify-content:flex-end;flex-wrap:wrap;padding-top:16px;margin-top:12px;border-top:1px solid var(--line,#2b2925)}
.wb-script-price{line-height:1.8}
.wb-asset-script-hint{padding:10px 14px;border-radius:10px;background:linear-gradient(90deg,#b49b701a,transparent);font-size:14px!important;line-height:1.8}
.wb-script-dialog{width:min(760px,calc(100vw - 28px));max-height:85dvh;overflow:auto;box-sizing:border-box;padding:24px;border:1px solid #b49b7060;border-radius:18px;background:linear-gradient(145deg,#37332ff5,#1f2023fa);color:#f1ece3;box-shadow:0 24px 80px #0008;backdrop-filter:blur(22px)}
.wb-script-dialog::backdrop{background:#0c0d11a6;backdrop-filter:blur(6px)}
.wb-script-dialog h2{font-size:20px;line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere}
.wb-script-dialog .wb-help{color:#d4cbbc;font-size:14px;line-height:1.8;margin:0 0 16px}
.wb-script-dialog .wb-field{display:grid;gap:8px;font-size:14px;color:#e6d8bf}
.wb-script-dialog textarea.wb-script-dialog-input{width:100%;min-width:0;height:38dvh;min-height:140px;resize:vertical;box-sizing:border-box;padding:16px;border:1px solid #d4bb8d55;border-radius:12px;background:#17181bb3;color:#f3eee6;font:inherit;font-size:15px;line-height:1.9;outline-offset:3px;white-space:pre-wrap;overflow-wrap:anywhere}
.wb-script-dialog textarea.wb-script-dialog-input:focus{outline:2px solid #d4bb8d}
.wb-script-dialog-count{font-size:13px;color:#c7bca9;margin:9px 0}
.wb-script-dialog .wb-form-error{color:#f0c49a;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.wb-script-dialog .wb-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:16px}
.wb-script-dialog .btn{color:#f2ece2;background:#575047;border:1px solid #aa95705c;white-space:normal}
.wb-script-dialog .btn.primary{background:#d2b782;color:#211c15}
@media(max-width:480px){.wb-script-dialog{padding:18px}.wb-script-dialog h2{font-size:18px}.wb-script-dialog .wb-actions>.btn{flex:1 1 110px}}
.wb-generation-reference{display:grid;gap:7px;padding:12px 0}.wb-generation-reference[hidden]{display:none}.wb-generation-reference .wb-help{margin:0;font-size:13px;line-height:1.6;color:#d2c4ac;overflow-wrap:anywhere}.wb-generation-reference>.btn{justify-self:start}
.wb-reference-dialog{width:min(640px,calc(100vw - 28px));max-height:85dvh;box-sizing:border-box;padding:24px;border:1px solid #b49b7060;border-radius:18px;background:linear-gradient(145deg,#37332ff5,#1f2023fa);color:#f1ece3;box-shadow:0 24px 80px #0008;backdrop-filter:blur(22px)}.wb-reference-dialog::backdrop{background:#0c0d11a6;backdrop-filter:blur(6px)}.wb-reference-dialog h2{margin:0 0 10px;font-size:19px}.wb-reference-dialog .wb-help{font-size:14px;color:#d4cbbc;line-height:1.7}.wb-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:46dvh;overflow:auto;padding:5px 2px}.wb-reference-option{position:relative;display:flex;flex-direction:column;gap:8px;padding:9px;border:1px solid #ffffff26;border-radius:12px;background:#ffffff08;cursor:pointer;min-width:0}.wb-reference-option.selected{border-color:#d6b77e;background:#b59b7328;box-shadow:0 0 0 1px #d6b77e}.wb-reference-option:focus-within{outline:2px solid #ead0a0;outline-offset:2px}.wb-reference-option input{position:absolute;top:13px;left:13px;width:18px;height:18px;accent-color:#d6b77e;z-index:1}.wb-reference-option img,.wb-reference-default{width:100%;aspect-ratio:16/10;object-fit:contain;border-radius:7px;background:#151619}.wb-reference-default{display:grid;place-items:center;color:#d9c7a5;font-size:22px}.wb-reference-option strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.wb-reference-status{font-size:14px;line-height:1.6;color:#e6c994;min-height:22px}.wb-reference-dialog .wb-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.wb-reference-dialog .text-button{color:#e6cfaa}.wb-reference-dialog .btn{color:#f2ece2;background:#575047;border:1px solid #aa95705c}.wb-reference-dialog .btn.primary{background:#d2b782;color:#211c15}@media(max-width:480px){.wb-reference-dialog{padding:18px}.wb-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){#panel-workbench .wb-script-editor textarea.wb-script-revision-input{min-height:48vh;padding:12px}.wb-script-editor-actions>.btn{flex:1 1 160px}.wb-script-toolbar>.btn{width:100%}}
