.canvas-settings-note{margin:10px 0;padding:12px;background:#ffd7000d;border:1px solid rgba(255,215,0,.2);border-radius:8px}.canvas-workflow-panel-actions{display:flex;gap:8px}.group-context-menu-item.canvas-group-context-danger{color:#f44}.canvas-hidden-file-input,.canvas-chat-stop-hidden,.canvas-hidden-preview-counter,.canvas-console-hidden{display:none}.canvas-group-panel{position:fixed;top:70px;left:14px;z-index:930;width:228px;max-height:calc(100vh - 150px);padding:10px;color:#f4f4f4;background:linear-gradient(180deg,#ffffff12,#ffffff06),linear-gradient(135deg,#ffd70013,#ffd70000 42%),#0d0d0cdb;border:1px solid rgba(255,215,0,.18);border-radius:8px;box-shadow:0 18px 42px #0000006b,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;gap:8px;transition:width .18s ease,padding .18s ease,box-shadow .18s ease,border-color .18s ease}.canvas-group-panel--collapsed{width:50px;max-height:none;padding:6px;border-color:#ffd70047;background:linear-gradient(180deg,#ffd70021,#ffffff09),#0d0d0cdb;box-shadow:0 14px 32px #0000006b}.canvas-group-rail{width:38px;min-height:156px;padding:7px 0;color:#ffffffc7;background:#ffffff0e;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;display:grid;align-content:start;justify-items:center;gap:8px;transition:background .18s ease,border-color .18s ease,color .18s ease}.canvas-group-rail:hover{color:gold;background:#ffd70017;border-color:#ffd7006b}.canvas-group-rail-icon{width:28px;height:28px;color:gold;background:#ffd70021;border:1px solid rgba(255,215,0,.16);border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.canvas-group-rail-count{min-width:26px;height:24px;padding:0 5px;color:#111;background:gold;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:850}.canvas-group-rail-target{width:26px;height:26px;color:#ffffff6b;background:#ffffff0e;border:1px solid rgba(255,255,255,.1);border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.canvas-group-rail-target.active{color:#111;background:gold;border-color:gold}.canvas-group-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.canvas-group-panel-header strong{display:block;margin-top:1px;color:gold;font-size:16px;line-height:1.15}.canvas-group-panel-kicker,.canvas-group-row-meta,.canvas-group-selection-row{color:#ffffff85;font-size:11px}.canvas-group-header-actions{display:inline-flex;align-items:center;gap:6px}.canvas-group-count{min-width:26px;height:24px;padding:0 7px;border-radius:8px;background:#ffd7001f;border:1px solid rgba(255,215,0,.28);color:gold;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.canvas-group-collapse-btn{width:24px;height:24px;color:#ffffffa8;background:#ffffff0e;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .18s ease,border-color .18s ease,background .18s ease}.canvas-group-collapse-btn:hover{color:gold;background:#ffd70014;border-color:#ffd7005c}.canvas-group-target{min-height:30px;padding:0 9px;border:1px solid rgba(255,215,0,.18);border-radius:8px;background:#ffd7000e;color:#ffffffc7;display:flex;align-items:center;gap:8px;min-width:0}.canvas-group-target span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-group-target svg{color:gold;flex:0 0 auto}.canvas-group-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.canvas-group-action-btn,.canvas-group-selection-row button,.canvas-group-row-actions button{font:inherit;border-radius:8px;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.canvas-group-action-btn{height:32px;padding:0 9px;color:#ffffffc7;background:#ffffff0d;border:1px solid rgba(255,255,255,.105);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:750;font-size:13px}.canvas-group-action-btn:hover,.canvas-group-action-btn.active{color:#111;background:gold;border-color:gold}.canvas-group-action-btn--primary{color:#111;background:linear-gradient(135deg,#ffe56a,#ffca08);border-color:#ffd700e6}.canvas-group-action-btn:disabled,.canvas-group-selection-row button:disabled{opacity:.42;cursor:not-allowed;transform:none}.canvas-group-selection-row{min-height:28px;padding:0 1px;display:flex;align-items:center;justify-content:space-between;gap:10px}.canvas-group-selection-row button{min-width:56px;height:24px;padding:0 7px;color:#ffffffc2;background:#ffffff0e;border:1px solid rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:700}.canvas-group-list{min-height:72px;max-height:min(46vh,380px);overflow-y:auto;display:grid;gap:7px}.canvas-group-empty{min-height:72px;border:1px dashed rgba(255,255,255,.14);border-radius:8px;color:#ffffff70;display:flex;align-items:center;justify-content:center;font-size:13px}.canvas-group-row{min-width:0;min-height:46px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0b;display:grid;grid-template-columns:1fr auto;align-items:center;overflow:hidden}.canvas-group-row.active{border-color:#ffd700b8;background:linear-gradient(90deg,#ffd70026,#ffd7000a),#ffffff0e;box-shadow:0 0 0 1px #ffd7000f,0 12px 28px #00000042}.canvas-group-row-main{min-width:0;height:100%;padding:7px 8px;color:inherit;background:transparent;border:0;cursor:pointer;display:grid;grid-template-columns:24px 26px minmax(0,1fr) auto;align-items:center;gap:7px;text-align:left}.canvas-group-run-toggle{width:24px;height:24px;border-radius:8px;border:1px solid rgba(255,215,0,.34);background:#ffd70014;color:gold;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,border-color .18s ease,color .18s ease}.canvas-group-run-toggle.active{border-color:gold;background:gold;color:#111}.canvas-group-run-toggle:hover{border-color:#ffe56a;background:#ffd7002e}.canvas-group-run-toggle.active:hover{background:#ffe56a}.canvas-group-row-icon{width:26px;height:26px;border-radius:8px;background:#ffd7001f;color:gold;display:inline-flex;align-items:center;justify-content:center}.canvas-group-row-copy{min-width:0;display:grid;gap:2px}.canvas-group-row-name{min-width:0;overflow:hidden;color:#f7f7f7;font-weight:800;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.canvas-group-run-badge{min-width:32px;height:20px;padding:0 6px;border-radius:8px;background:gold;color:#111;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:850}.canvas-group-row-actions{height:100%;padding-right:5px;display:flex;align-items:center;gap:3px}.canvas-group-row-actions button{width:25px;height:25px;color:#ffffff9e;background:#ffffff0e;border:1px solid rgba(255,255,255,.1);display:inline-flex;align-items:center;justify-content:center}.canvas-group-row-actions button:hover{color:gold;border-color:#ffd7006b;background:#ffd7001a}@media(max-width:900px){.canvas-group-panel{top:66px;left:10px;width:min(218px,calc(100vw - 20px))}.canvas-group-panel--collapsed{width:48px}}.canvas-option-hidden,.canvas-media-preview-hidden{display:none}.canvas-material-preview-video{max-width:100%;max-height:100%}#review-center-btn{position:relative}.review-unread-badge{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#f44;color:#fff;display:none;font-size:11px;line-height:18px;text-align:center}.review-center-modal,.review-submit-dialog{position:fixed;inset:0;z-index:10020;display:none;align-items:center;justify-content:center;background:#000000b8}.review-center-modal.active,.review-submit-dialog.active{display:flex}.review-center-panel{width:min(1240px,calc(100vw - 44px));height:min(820px,calc(100vh - 44px));overflow:hidden;color:#eee;background:#181818;border:1px solid #363636;border-radius:10px;box-shadow:0 22px 70px #0000008c;display:flex;flex-direction:column}.review-center-header,.review-submit-header{height:62px;padding:0 20px;background:#202020;border-bottom:1px solid #303030;display:flex;align-items:center;justify-content:space-between}.review-center-title{color:gold;font-size:20px;font-weight:700}.review-close-btn{width:38px;height:38px;color:#eee;background:#2b2b2b;border:1px solid #444;border-radius:8px;cursor:pointer;font-size:24px}.review-center-body{min-height:0;flex:1;display:grid;grid-template-columns:340px 1fr}.review-sidebar{min-height:0;border-right:1px solid #303030;display:flex;flex-direction:column}.review-tabs{padding:14px;border-bottom:1px solid #303030;display:flex;flex-wrap:wrap;gap:8px}.review-tab-btn,.review-filter-btn,.review-list-item{font:inherit}.review-tab-btn{padding:9px 12px;color:#aaa;background:#242424;border:1px solid #3d3d3d;border-radius:7px;cursor:pointer;font-weight:650}.review-tab-btn.active{color:#111;background:gold;border-color:gold}.review-list{min-height:0;padding:12px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:10px}.review-filter-bar{margin-bottom:2px;display:flex;flex-wrap:wrap;gap:8px}.review-filter-btn{padding:7px 10px;color:#aaa;background:#202020;border:1px solid #383838;border-radius:7px;cursor:pointer;font-size:12px;font-weight:700}.review-filter-btn.active{color:gold;border-color:gold}.review-list-item{padding:12px;text-align:left;color:inherit;background:#202020;border:1px solid #333;border-radius:8px;cursor:pointer;display:grid;gap:8px}.review-list-item.active{border-color:gold}.review-list-title{color:#f2f2f2;font-weight:700;line-height:1.35}.review-list-meta,.review-detail-meta{color:#999;display:flex;flex-wrap:wrap;gap:8px;font-size:12px}.review-detail-meta{color:#aaa;gap:12px;font-size:13px}.review-status-badge,.review-type-badge,.review-decision-badge{height:22px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;font-size:12px;font-weight:700}.review-status-badge.pending{color:gold;background:#ffd70029}.review-status-badge.completed{color:#4ec95c;background:#4ec95c29}.review-status-badge.rejected{color:#ff8585;background:#ff444429}.review-type-badge{color:#49a3ff;background:#499dff29}.review-detail{min-width:0;min-height:0;padding:18px 20px;overflow:auto}.review-empty{height:100%;color:#888;display:flex;align-items:center;justify-content:center}.review-detail-head{margin-bottom:18px;display:grid;gap:10px}.review-detail-title{color:#fff;font-size:22px;font-weight:800}.review-note,.review-comment{margin:12px 0;padding:12px;color:#bbb;background:#111;border:1px solid #333;border-radius:8px}.review-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.review-item-card{min-width:0;overflow:hidden;background:#202020;border:1px solid #333;border-radius:8px;display:flex;flex-direction:column}.review-item-card.can-pick{cursor:pointer}.review-item-card.selected{border-color:gold;box-shadow:0 0 0 2px #ffd7002e}.review-item-media{position:relative;overflow:hidden;aspect-ratio:16 / 10;background:#080808}.review-item-media img,.review-item-media video{width:100%;height:100%;display:block;object-fit:cover}.review-item-pick{position:absolute;top:8px;left:8px;width:30px;height:30px;background:#000000a6;border-radius:7px;display:flex;align-items:center;justify-content:center}.review-item-pick input{width:18px;height:18px}.review-decision-badge{position:absolute;top:8px;right:8px}.review-decision-badge.pending{color:#111;background:#ffd700d9}.review-decision-badge.approved{color:#111;background:#4ec95ceb}.review-decision-badge.rejected{color:#fff;background:#ff4444e6}.review-item-info{padding:10px;display:grid;gap:6px}.review-item-name{color:#eee;font-size:13px;font-weight:700;word-break:break-all}.review-item-meta{color:#999;display:flex;flex-wrap:wrap;gap:8px;font-size:12px}.review-actions{margin-top:16px;padding-top:14px;border-top:1px solid #303030;display:grid;gap:10px}.review-decision-buttons{display:flex;flex-wrap:wrap;gap:10px}.review-textarea,.review-input,.review-select{width:100%;padding:10px;color:#eee;background:#0f0f0f;border:1px solid #3b3b3b;border-radius:7px;font:inherit}.review-primary-btn,.review-secondary-btn,.review-danger-btn{padding:10px 14px;border-radius:8px;cursor:pointer;font-weight:750}.review-primary-btn{color:#111;background:gold;border:none}.review-primary-btn:disabled,.review-secondary-btn:disabled,.review-danger-btn:disabled{opacity:.62;cursor:not-allowed}.review-secondary-btn{color:#eee;background:#2b2b2b;border:1px solid #444}.review-danger-btn{color:#ffb3b3;background:#4d1f1f;border:1px solid #8a3333}.review-submit-panel{width:min(620px,calc(100vw - 40px));overflow:hidden;color:#eee;background:#1f1f1f;border:1px solid #383838;border-radius:10px}.review-submit-body{padding:18px;display:grid;gap:12px}.review-submit-body label{display:grid;gap:6px}.review-submit-footer{padding:14px 18px;border-top:1px solid #303030;display:flex;justify-content:flex-end;gap:10px}@media(max-width:860px){.review-center-body{grid-template-columns:1fr}.review-sidebar{max-height:320px;border-right:0;border-bottom:1px solid #303030}}.material-reference-input .storyboard-image-uploader video{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.material-video-indicator{display:inline-flex;align-items:center;justify-content:center}.material-asset-card video{width:100%;height:100%;object-fit:cover}.storyboard-video-section{margin-top:10px;padding-top:10px;border-top:1px dashed #444}.storyboard-video-section-title{margin-bottom:8px;color:#888;font-size:.8rem}.storyboard-video-list{display:flex;flex-wrap:wrap;gap:8px}.storyboard-video-uploader{position:relative;width:80px;height:60px;overflow:hidden;cursor:pointer;background:#222;border:2px dashed var(--primary-yellow);border-radius:6px}.storyboard-video-uploader.drag-over{background:#ffffff1a;border-color:#666}.storyboard-video-uploader video{width:100%;height:100%;object-fit:cover}.storyboard-video-placeholder{height:100%;display:flex;align-items:center;justify-content:center;gap:4px;color:var(--primary-yellow);font-size:.75rem}.storyboard-remove-video{position:absolute;top:2px;right:2px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;z-index:10;color:#fff;background:#ff4444e6;border:none;border-radius:50%;cursor:pointer;font-size:12px;line-height:1}.storyboard-actions-react-root,.storyboard-identity-react-root{flex-shrink:0}.storyboard-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px}.storyboard-actions-footer{margin-top:15px;display:flex;gap:10px}.storyboard-translate-btn,.storyboard-execute-btn,.storyboard-video-action-btn{align-items:center;justify-content:center}.storyboard-translate-btn{display:inline-flex}.storyboard-action-spinner{animation:storyboard-action-spin .85s linear infinite}@keyframes storyboard-action-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.video-preview-empty{min-width:360px;min-height:220px;display:flex;align-items:center;justify-content:center;color:var(--text-gray)}.video-receiver-node{display:grid;gap:10px;min-width:0}.video-receiver-preview{margin-top:10px}.video-receiver-player-wrap{overflow:hidden;background:#000;border-radius:8px}.video-receiver-player{display:block;width:100%;height:550px;object-fit:contain;background:#000}.video-receiver-empty{height:550px;padding:30px;color:var(--text-gray);text-align:center;background:#0000004d;border:1px dashed rgba(255,255,255,.2);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center}.video-receiver-empty p{margin:0;font-size:.85rem}.video-receiver-empty span{margin-top:5px;color:#666;font-size:.75rem}.video-receiver-empty-icon{margin-bottom:10px;color:#666;font-size:2rem}.video-receiver-details{padding:10px;background:#ffd7000d;border:1px solid rgba(255,215,0,.2);border-radius:6px;display:flex;justify-content:space-around}.video-receiver-detail{text-align:center}.video-receiver-detail div:first-child{color:#888;font-size:.7rem}.video-receiver-detail div:last-child{color:var(--primary-yellow);font-size:.85rem;font-weight:600}.video-receiver-info{color:#999;font-size:.72rem;text-align:center}.video-receiver-saved-hint{margin:-2px 0 2px;color:#0f0;font-size:.75rem;text-align:center}.video-receiver-field{display:grid;gap:5px}.video-receiver-field label{color:#888;font-size:.8rem}.video-receiver-field .node-input{width:100%;padding:8px}.video-receiver-field span,.video-receiver-note{color:#666;font-size:.7rem}.video-receiver-note{margin:-6px 0 0}.video-receiver-check{display:flex;align-items:center;gap:8px}.video-receiver-check input{width:auto;margin:0}.video-receiver-check label{color:#888;cursor:pointer;font-size:.75rem}.video-receiver-status{min-height:20px;color:var(--text-gray);font-size:.85rem}.video-receiver-status strong{color:var(--primary-yellow);font-weight:600}.image-set-save-node{display:grid;gap:10px;min-width:0}.image-set-save-field{display:grid;gap:5px}.image-set-save-field label{color:#888;font-size:.8rem}.image-set-save-field .node-input{width:100%;padding:8px}.image-set-save-check{display:flex;align-items:center;gap:8px}.image-set-save-check input{width:auto;margin:0}.image-set-save-check label{color:#888;cursor:pointer;font-size:.75rem}.image-set-save-hint{margin:-4px 0 0;font-size:.75rem}.image-set-save-hint.ok{color:#0f0}.image-set-save-hint.warning{color:#f44}.image-set-save-button{width:100%;padding:10px;color:#000;font-weight:700;background:var(--primary-yellow);border:none;border-radius:8px;cursor:pointer}.image-set-save-button:disabled{opacity:.65;cursor:default}.image-set-save-status{min-height:20px;color:var(--text-gray);font-size:.85rem}.image-set-save-status span{color:var(--primary-yellow)}.image-set-save-review-state{margin-top:6px;padding:7px 8px;background:#ffd70014;border:1px solid rgba(255,215,0,.22);border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:8px}.image-set-save-review-state span{color:#cfcfcf;font-size:.75rem}.image-set-save-review-state strong{color:gold;font-size:.72rem}.image-set-save-review-state strong.pending{color:#4ec95c}.image-set-save-preview{margin-top:2px}.image-set-save-preview-header{margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.image-set-save-preview-header span:first-child{color:#888;font-size:.8rem}.image-set-save-preview-header span:last-child{color:var(--primary-yellow);font-size:.75rem}.image-set-save-grid{width:100%;gap:6px;display:grid}.image-set-save-grid-empty{padding:20px;color:var(--text-gray);text-align:center;grid-column:1 / -1;font-size:.8rem}.image-set-save-grid-item{position:relative;min-height:100px;overflow:hidden;padding:0;background:#1a1a1a;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:border-color .2s ease}.image-set-save-grid-item:hover{border-color:var(--primary-yellow)}.image-set-save-grid-item:after{position:absolute;inset:0;content:"";pointer-events:none;background:#ffd7001a;opacity:0;transition:opacity .2s ease}.image-set-save-grid-item:hover:after{opacity:1}.image-set-save-grid-item img{display:block;width:100%;height:auto;object-fit:cover}.image-set-save-grid-item span{position:absolute;right:4px;bottom:4px;z-index:1;padding:2px 6px;color:#fff;background:#000000b3;border-radius:4px;font-size:.7rem}.canvas-stock-selector-dialog{min-width:600px;max-width:800px}.canvas-stock-selector-empty{display:none;padding:40px;color:var(--text-gray);text-align:center}.canvas-stock-selector-empty-icon{margin-bottom:15px;font-size:3rem}.canvas-stock-selector-empty p{margin:0}.canvas-stock-selector-empty .canvas-stock-selector-empty-hint{margin-top:8px;font-size:.85rem}.canvas-stock-selector-actions{margin-top:20px}.canvas-settings-note p{margin:0;color:var(--text-gray);font-size:.85rem;line-height:1.55}.canvas-settings-note-yellow{background:#ffd7001a;border-color:#ffd7004d}.canvas-settings-note-green{background:#43b5811a;border-color:#43b5814d}.canvas-settings-note-orange{background:#ffa5001a;border-color:#ffa5004d}.canvas-settings-note-blue{background:#5865f21a;border-color:#5865f24d}.canvas-settings-slider-row{display:flex;align-items:center;gap:14px}.canvas-settings-slider-row input[type=range]{flex:1;height:6px;background:#ffffff1a;border-radius:3px;outline:none;-webkit-appearance:none}.canvas-settings-label{color:var(--text-gray);font-size:.85rem;min-width:60px}.canvas-settings-value{color:var(--primary-yellow);font-weight:600}.canvas-settings-cache-size{margin-left:10px}.canvas-settings-field{margin:10px 0}.canvas-settings-field select,.canvas-dialog-field input,.canvas-dialog-field select{width:100%;box-sizing:border-box;padding:9px 10px;background:#1a1a1a;border:1px solid #444;border-radius:6px;color:#fff;font-size:14px}.canvas-settings-btn{width:100%;padding:12px}.canvas-settings-btn-blue{background:linear-gradient(135deg,#5865f2,#4752c4)}.canvas-settings-btn-red{background:linear-gradient(135deg,#ff6b6b,#ee5a5a)}.canvas-settings-btn-green{background:linear-gradient(135deg,#43b581,#3ca374)}.canvas-settings-btn-orange{background:linear-gradient(135deg,#ff9500,#f80)}.canvas-api-key-dialog{max-width:500px}.canvas-dialog-form{margin:15px 0}.canvas-dialog-field{margin-bottom:15px}.canvas-dialog-field-grow{flex:1;margin-bottom:0}.canvas-dialog-field label{display:block;margin-bottom:5px;color:#888;font-size:.85rem}.canvas-dialog-field p{margin:5px 0 0;color:#666;font-size:.75rem}.canvas-dialog-inline{display:flex;align-items:center;gap:10px}.canvas-dialog-inline-bottom{margin-bottom:15px}.canvas-dialog-small-btn{flex:0 0 auto;padding:8px 15px;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;white-space:nowrap}.save-notification{position:fixed;top:80px;right:20px;z-index:10000;display:flex;align-items:center;gap:10px;padding:12px 24px;color:#fff;font-size:14px;font-weight:600;background:linear-gradient(135deg,#43b581,#3ca374);border-radius:8px;box-shadow:0 10px 30px #43b58166;animation:canvasProjectSaveIn .3s ease}.save-notification--leaving{animation:canvasProjectSaveOut .3s ease}.review-submit-node-panel{display:grid;gap:8px}.review-submit-node-status{min-height:18px;color:var(--text-gray);font-size:.8rem}.review-submit-node-status span{color:var(--primary-yellow)}.review-submit-node-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.review-submit-node-field{display:grid;gap:4px;min-width:0}.review-submit-node-field span{color:#888;font-size:.75rem}.review-submit-node-field .node-input,.review-submit-node-field .node-select{width:100%;min-width:0;padding:6px 8px}.review-submit-node-field .node-input{padding-top:7px;padding-bottom:7px}.review-submit-node-preview{min-width:0}.review-submit-node-empty{padding:12px;color:#777;font-size:.78rem;text-align:center;background:#0000002e;border:1px dashed #333;border-radius:7px}.review-submit-node-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.review-submit-node-thumbs img{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;background:#111;border:1px solid #333;border-radius:5px}.review-submit-node-more{margin-top:4px;color:#888;font-size:.72rem}.review-submit-node-button{width:100%;padding:9px;color:#000;font-weight:700;cursor:pointer;background:var(--primary-yellow);border:none;border-radius:7px}.review-submit-node-button:disabled{cursor:default;opacity:.6}@keyframes canvasProjectSaveIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes canvasProjectSaveOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.offline-task-overlay{position:fixed;inset:0;z-index:1800;color:#f6f1df;background:#040404d1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex}.offline-task-shell{width:min(1560px,calc(100vw - 28px));height:min(940px,calc(100vh - 28px));margin:auto;background:linear-gradient(180deg,#ffd70014,#ffffff06 20%),#0d0d0cf5;border:1px solid rgba(255,215,0,.32);border-radius:8px;box-shadow:0 30px 90px #0000009e;display:grid;grid-template-rows:auto 1fr;overflow:hidden}.offline-task-header,.offline-task-section-title,.offline-task-card-actions,.offline-task-header-actions,.offline-task-item-head,.offline-task-item-meta,.offline-task-result-links{display:flex;align-items:center}.offline-task-header{min-height:74px;padding:0 22px;justify-content:space-between;border-bottom:1px solid rgba(255,215,0,.22)}.offline-task-title{display:flex;align-items:center;gap:12px;min-width:0}.offline-task-title svg,.offline-task-section-title svg{color:#ffc21a}.offline-task-title h2{margin:0;color:#ffc21a;font-size:22px;letter-spacing:0}.offline-task-title span,.offline-task-section-title span,.offline-task-project-card small,.offline-task-card-main span,.offline-task-character small{color:#ffffff8f}.offline-task-header-actions{gap:8px}.offline-task-icon-btn,.offline-task-card-actions button{width:34px;height:34px;color:#ffffffc7;background:#ffffff0e;border:1px solid rgba(255,255,255,.12);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.offline-task-icon-btn:hover,.offline-task-card-actions button:hover{color:#ffc21a;border-color:#ffd70066;background:#ffd70014}.offline-task-body{min-height:0;padding:18px;display:grid;grid-template-columns:minmax(340px,440px) minmax(320px,.92fr) minmax(360px,1.12fr);gap:14px}.offline-task-create-panel,.offline-task-list-panel,.offline-task-detail-panel{min-width:0;min-height:0;padding:14px;background:#ffffff09;border:1px solid rgba(255,255,255,.1);border-radius:8px;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:12px;overflow:hidden}.offline-task-list-panel,.offline-task-detail-panel{grid-template-rows:auto 1fr}.offline-task-section-title{justify-content:space-between;gap:10px;min-height:28px}.offline-task-section-title strong{margin-right:auto;color:#fff}.offline-task-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.offline-task-form-grid label,.offline-task-prompt-field{display:grid;gap:6px;min-width:0;color:#ffffffa3;font-size:12px}.offline-task-form-grid input,.offline-task-form-grid select,.offline-task-prompt-field textarea{width:100%;min-width:0;color:#fff;background:#0000006b;border:1px solid rgba(255,255,255,.14);border-radius:8px;font:inherit}.offline-task-form-grid input,.offline-task-form-grid select{height:36px;padding:0 10px}.offline-task-prompt-field textarea{min-height:86px;resize:vertical;padding:10px;line-height:1.5}.offline-task-character-list,.offline-task-project-list,.offline-task-item-list{min-height:0;overflow:auto;display:grid;gap:9px;align-content:start}.offline-task-character{min-height:58px;padding:9px 10px;color:#ffffffc7;background:#00000047;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;display:grid;grid-template-columns:auto auto 1fr;grid-template-areas:"icon code name" "icon file file";gap:3px 8px;text-align:left}.offline-task-character svg{grid-area:icon;align-self:center;color:#ffffff6b}.offline-task-character span{grid-area:code;color:#ffc21a;font-weight:750}.offline-task-character strong{grid-area:name;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offline-task-character small{grid-area:file;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offline-task-character.selected{background:#ffc21a1c;border-color:#ffc21a8a}.offline-task-primary-btn{height:42px;color:#15110a;background:#ffc21a;border:1px solid #ffc21a;border-radius:8px;cursor:pointer;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:8px}.offline-task-primary-btn:disabled{cursor:wait;opacity:.68}.offline-task-project-card,.offline-task-item{background:#00000045;border:1px solid rgba(255,255,255,.1);border-radius:8px}.offline-task-project-card{display:grid;grid-template-columns:1fr auto;overflow:hidden}.offline-task-project-card.active{border-color:#ffc21a7a}.offline-task-card-main{min-width:0;padding:12px;color:inherit;background:transparent;border:0;cursor:pointer;display:grid;gap:7px;text-align:left}.offline-task-card-main strong,.offline-task-card-main span,.offline-task-project-card small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offline-task-card-actions{width:44px;padding:8px 7px;flex-direction:column;gap:6px;border-left:1px solid rgba(255,255,255,.08)}.offline-task-progress{height:6px;overflow:hidden;background:#ffffff14;border-radius:99px}.offline-task-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffc21a,#2fd06f);border-radius:inherit}.offline-task-item{padding:11px;display:grid;gap:8px}.offline-task-item-head{justify-content:space-between;gap:10px}.offline-task-item-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offline-task-item-head span{flex:0 0 auto;color:#ffc21a}.offline-task-item.completed .offline-task-item-head span{color:#4ade80}.offline-task-item.failed .offline-task-item-head span,.offline-task-item.blocked .offline-task-item-head span{color:#ff6961}.offline-task-item-meta,.offline-task-result-links{gap:10px;flex-wrap:wrap;color:#ffffff9e;font-size:12px}.offline-task-item-meta span,.offline-task-result-links a{display:inline-flex;align-items:center;gap:5px}.offline-task-result-links a{color:#ffc21a;text-decoration:none}.offline-task-error{color:#ff8f86}@media(max-width:1180px){.offline-task-body{grid-template-columns:1fr;overflow:auto}.offline-task-create-panel,.offline-task-list-panel,.offline-task-detail-panel{min-height:360px}}.volcengine-react-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;color:#f7f7f2}.volcengine-react-backdrop{position:absolute;inset:0;border:0;background:#000000c7;cursor:default}.volcengine-react-panel{position:relative;width:min(1180px,calc(100vw - 34px));max-height:min(900px,calc(100vh - 34px));background:#171717;border:1px solid rgba(255,215,0,.24);border-radius:8px;box-shadow:0 24px 70px #0000009e;display:grid;grid-template-rows:auto auto auto auto minmax(260px,1fr) auto;overflow:hidden}.volcengine-react-header,.volcengine-react-toolbar,.volcengine-react-controls,.volcengine-project-row,.volcengine-assets-titlebar,.volcengine-status-footer{display:flex;align-items:center}.volcengine-react-header{justify-content:space-between;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.09);background:#20201f}.volcengine-react-title{display:inline-flex;align-items:center;gap:9px;color:gold}.volcengine-react-title h3{margin:0;color:#f7f7f2;font-size:17px;letter-spacing:0}.volcengine-icon-btn,.volcengine-action-btn{min-height:34px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff12;color:#ffffffdb;font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.volcengine-icon-btn{width:34px}.volcengine-action-btn{padding:0 11px;white-space:nowrap}.volcengine-icon-btn:hover,.volcengine-action-btn:hover,.volcengine-action-btn.active{color:gold;background:#ffd70017;border-color:#ffd7005c}.volcengine-action-btn.primary{color:#151515;background:gold;border-color:gold;font-weight:760}.volcengine-action-btn.danger{color:#ff8f86;border-color:#ff69616b;background:#ff696114}.volcengine-action-btn.link{color:#87cefa;text-decoration:none}.volcengine-icon-btn:disabled,.volcengine-action-btn:disabled{opacity:.48;cursor:not-allowed}.volcengine-react-toolbar,.volcengine-react-controls,.volcengine-project-row{gap:10px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:#191919;flex-wrap:wrap}.volcengine-react-controls{display:grid;grid-template-columns:minmax(0,1fr)}.volcengine-create-row,.volcengine-real-person-row,.volcengine-manual-token-row{display:flex;align-items:center;gap:9px;min-width:0}.volcengine-field{display:grid;gap:5px;min-width:160px}.volcengine-field-grow{flex:1 1 260px}.volcengine-field label{color:#ffffff94;font-size:12px}.volcengine-field select,.volcengine-create-row input,.volcengine-real-person-row input,.volcengine-manual-token-row input{height:36px;min-width:0;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#ffffff12;color:#f7f7f2;padding:0 10px;font:inherit}.volcengine-field select{min-width:180px}.volcengine-create-row input,.volcengine-real-person-row input,.volcengine-manual-token-row input{flex:1 1 220px}.volcengine-real-person-status{min-height:34px;padding:0 11px;border:1px solid rgba(135,206,250,.32);border-radius:8px;color:#a7dbff;background:#87cefa14;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.volcengine-binding-pill{min-height:32px;padding:0 11px;border:1px solid rgba(47,208,111,.32);border-radius:8px;color:#8ce99a;background:#2fd06f14;display:inline-flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.volcengine-assets-section-react{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.volcengine-assets-titlebar{justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:#20201f}.volcengine-assets-titlebar strong{display:block;font-size:15px}.volcengine-assets-titlebar span{color:#ffffff8c;font-size:12px}.volcengine-assets-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.volcengine-assets-grid-react{min-height:0;padding:14px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;align-content:start}.volcengine-upload-card,.volcengine-asset-card-react{position:relative;min-height:142px;border:1px solid rgba(255,215,0,.18);border-radius:8px;background:#ffffff0e;overflow:hidden}.volcengine-upload-card{color:gold;cursor:pointer;display:grid;place-items:center;align-content:center;gap:8px}.volcengine-upload-card.drag-over,.volcengine-upload-card:hover{background:#ffd70017;border-color:#ffd7006b}.volcengine-upload-card input{display:none}.volcengine-asset-card-react{padding:0;color:#f7f7f2;cursor:pointer;text-align:left}.volcengine-asset-card-react:focus-visible{outline:2px solid rgba(255,215,0,.74);outline-offset:2px}.volcengine-asset-card-react.selected{border-color:gold;box-shadow:0 0 0 2px #ffd7002e}.volcengine-asset-card-react img,.volcengine-asset-card-react video{width:100%;height:100%;min-height:142px;object-fit:cover;display:block}.volcengine-video-preview{position:relative;min-height:142px;display:block;background:#0d0d0d}.volcengine-video-preview video{position:absolute;inset:0}.volcengine-video-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#ffd700c7;background:linear-gradient(135deg,rgba(255,215,0,.08),transparent 44%),#ffffff09}.volcengine-video-badge{position:absolute;right:10px;bottom:35px;width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#151515;background:#ffd700e6;box-shadow:0 6px 18px #0000005c}.volcengine-no-preview{min-height:142px;display:grid;place-items:center;color:#ffffff7a}.volcengine-asset-check,.volcengine-asset-copy,.volcengine-asset-status,.volcengine-asset-id-label{position:absolute;border-radius:8px;background:#000000ad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.volcengine-asset-check,.volcengine-asset-copy{top:7px;left:7px;width:26px;height:26px;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:gold}.volcengine-asset-copy:hover{color:#151515;background:#ffd700eb}.volcengine-asset-status{top:7px;right:7px;padding:4px 7px;color:#ffffffc7;font-size:11px}.volcengine-asset-status.active{color:#8ce99a}.volcengine-asset-status.processing{color:gold}.volcengine-asset-status.failed{color:#ff8f86}.volcengine-asset-id-label{left:7px;right:7px;bottom:7px;padding:5px 7px;color:#ffffffd1;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.volcengine-status-footer{justify-content:space-between;gap:10px;min-height:38px;padding:0 16px;color:#ffffff9e;border-top:1px solid rgba(255,255,255,.08);background:#20201f;font-size:12px}.volcengine-preview-modal{position:fixed;inset:0;z-index:3200;display:grid;place-items:center}.volcengine-preview-backdrop{position:absolute;inset:0;border:0;background:#000000c2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:zoom-out}.volcengine-preview-panel{position:relative;width:min(1120px,calc(100vw - 42px));max-height:calc(100vh - 42px);border:1px solid rgba(255,215,0,.28);border-radius:8px;background:#151515;box-shadow:0 28px 80px #000000ad;display:grid;grid-template-rows:auto minmax(260px,1fr);overflow:hidden}.volcengine-preview-header{min-height:54px;padding:10px 12px 10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.1);background:#20201f}.volcengine-preview-title{min-width:0;display:grid;gap:3px}.volcengine-preview-title strong,.volcengine-preview-title span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.volcengine-preview-title strong{color:#f7f7f2;font-size:14px}.volcengine-preview-title span{color:#ffffff8a;font-size:12px}.volcengine-preview-actions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.volcengine-preview-body{min-height:0;padding:14px;display:grid;place-items:center;background:linear-gradient(45deg,rgba(255,255,255,.035) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.035) 25%,transparent 25%),#0f0f0f;background-size:22px 22px}.volcengine-preview-body img,.volcengine-preview-body video{max-width:100%;max-height:calc(100vh - 142px);object-fit:contain;border-radius:6px;background:#000}.volcengine-preview-body video{width:min(100%,980px)}.volcengine-preview-empty{color:#ffffff94}.volcengine-spin{animation:volcengine-spin .9s linear infinite}@keyframes volcengine-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.volcengine-react-panel{width:calc(100vw - 18px);max-height:calc(100vh - 18px)}.volcengine-create-row,.volcengine-real-person-row,.volcengine-manual-token-row,.volcengine-project-row{align-items:stretch}.volcengine-create-row>*,.volcengine-real-person-row>*,.volcengine-manual-token-row>*,.volcengine-project-row>*{flex:1 1 100%}.volcengine-preview-panel{width:calc(100vw - 18px);max-height:calc(100vh - 18px)}.volcengine-preview-header,.volcengine-preview-actions{align-items:stretch;flex-direction:column}.volcengine-preview-actions,.volcengine-preview-actions>*{width:100%}}.script-import-overlay{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:18px;background:#03050cb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.script-import-shell{width:min(1680px,calc(100vw - 36px));height:min(920px,calc(100vh - 36px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,215,0,.2);border-radius:8px;background:#11131b;color:#f7f7f8;box-shadow:0 22px 70px #0000007a}.script-import-header,.script-import-footer,.script-import-toolbar,.script-import-section-title,.script-import-group-head{display:flex;align-items:center}.script-import-header,.script-import-footer{justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.script-import-footer{border-top:1px solid rgba(255,255,255,.08);border-bottom:0}.script-import-footer div,.script-import-title div{display:flex;flex-direction:column;gap:4px;min-width:0}.script-import-title{display:flex;align-items:center;gap:10px}.script-import-title h2{margin:0;font-size:1.08rem}.script-import-title span,.script-import-footer span,.script-import-section-title span,.script-import-group small,.script-import-group-shots{color:#ffffff94;font-size:.78rem}.script-import-actions,.script-import-footer{display:flex;align-items:center;gap:10px}.script-import-actions button,.script-import-footer button,.script-import-toolbar button,.script-import-group-head button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff0f;color:#fff;padding:8px 10px;cursor:pointer}.script-import-primary{border-color:#ffd70075!important;background:#ffd70029!important;color:#ffdc4f!important}.script-import-actions button:disabled,.script-import-footer button:disabled,.script-import-toolbar button:disabled{cursor:not-allowed;opacity:.5}.script-import-body{min-height:0;flex:1;display:grid;grid-template-columns:280px minmax(420px,1fr) 420px;gap:14px;padding:14px}.script-import-assets,.script-import-main,.script-import-groups{min-height:0;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff09}.script-import-assets,.script-import-groups{display:flex;flex-direction:column;gap:12px;padding:12px}.script-import-main{display:flex;flex-direction:column}.script-import-section-title{justify-content:space-between;gap:8px}.script-import-section-title strong{flex:1;font-size:.88rem}.script-import-asset-list,.script-import-group-list,.script-import-table{min-height:0;overflow:auto}.script-import-asset-list{display:grid;gap:8px}.script-import-asset-list button,.script-import-table button{width:100%;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#ffffff0a;color:#fff;text-align:left;cursor:pointer}.script-import-asset-list button{display:grid;gap:4px;padding:9px}.script-import-asset-list button.selected,.script-import-table button.selected{border-color:#ffd70075;background:#ffd7001f}.script-import-asset-list span{color:#ffffff8a;font-size:.76rem}.script-import-toolbar{gap:10px;padding:12px;border-bottom:1px solid rgba(255,255,255,.08)}.script-import-toolbar label{flex:1;display:flex;align-items:center;gap:8px;min-width:220px;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:8px 10px;background:#00000038}.script-import-toolbar input,.script-import-group input,.script-import-group textarea{width:100%;border:0;outline:0;background:transparent;color:#fff}.script-import-selection{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:.78rem}.script-import-selection.ok{color:#7ee787}.script-import-selection.warn,.script-import-group small.warn{color:#ffcf65}.script-import-table{padding:10px}.script-import-table button{display:grid;grid-template-columns:140px 110px minmax(260px,1fr) minmax(180px,.7fr) 150px 120px;gap:10px;align-items:start;margin-bottom:8px;padding:10px}.script-import-table strong{font-weight:600}.script-import-table span{overflow-wrap:anywhere;color:#ffffffb8}.script-import-shot-no{color:#ffdc4f!important;font-weight:700}.script-import-group-list{display:grid;gap:10px}.script-import-group{display:grid;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#0000002e}.script-import-group-head{gap:8px}.script-import-group-head input{font-weight:700}.script-import-group textarea{min-height:172px;resize:vertical;padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#00000038;line-height:1.45}.script-import-group-shots{overflow-wrap:anywhere}.script-import-empty,.script-import-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#ffffffb8}.spin{animation:script-import-spin .9s linear infinite}@keyframes script-import-spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.script-import-body{grid-template-columns:1fr;overflow:auto}.script-import-assets,.script-import-main,.script-import-groups{min-height:360px}.script-import-table button{grid-template-columns:1fr}}.asset-system-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:#000000c7;z-index:100006}.asset-system-overlay.active{display:flex}.asset-system-container{width:min(1480px,97vw);height:min(900px,94vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#151515;box-shadow:0 22px 68px #0000007a}.asset-system-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.1);background:#0d0d0d}.asset-system-title,.asset-system-actions,.asset-link-toolbar{display:flex;align-items:center;gap:10px}.asset-system-title{min-width:0;color:#fff;font-size:17px;font-weight:700}.asset-system-title svg{flex:0 0 auto;color:gold}.asset-system-actions{flex-wrap:wrap;justify-content:flex-end}.asset-system-action-btn{min-height:34px;padding:0 13px;border:1px solid rgba(255,255,255,.14);border-radius:7px;background:#202020;color:#f5f5f5;font-size:14px;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .16s ease,background .16s ease,color .16s ease}.asset-system-action-btn:hover{border-color:#ffd700bf;color:gold;background:#262626}.asset-system-action-btn.primary{border-color:gold;background:gold;color:#080808}.asset-system-action-btn:disabled{opacity:.55;cursor:not-allowed}.asset-system-body{min-height:0;flex:1;display:grid;grid-template-rows:minmax(168px,.3fr) minmax(0,.7fr);gap:12px;padding:14px}.asset-system-section{min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff09}.asset-system-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:#00000029}.asset-system-section-header h4{margin:0;color:#fff;font-size:16px}.asset-system-section-header span{color:#ffffff8c;font-size:13px}.asset-registry-table,.asset-links-table-wrap{min-height:0;overflow:auto}.asset-link-toolbar{min-width:min(620px,64vw);justify-content:flex-end}.asset-link-filter-input{width:min(420px,42vw);height:34px;padding:6px 10px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:#090909;color:#fff;font-size:14px}.asset-link-filter-input:focus{outline:none;border-color:#ffd700cc}.asset-system-table{width:100%;border-collapse:separate;border-spacing:0;color:#f7f7f7;font-size:14px}.asset-system-table th,.asset-system-table td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.075);text-align:left;vertical-align:top}.asset-system-table th{position:sticky;top:0;z-index:1;background:#191919;color:#ffffff94;font-size:13px;font-weight:750}.asset-registry-table .asset-system-table td{vertical-align:middle}.asset-links-table{min-width:1320px}.asset-links-table th:nth-child(1),.asset-links-table td:nth-child(1){width:174px}.asset-links-table th:nth-child(2),.asset-links-table td:nth-child(2){width:74px}.asset-links-table th:nth-child(6),.asset-links-table td:nth-child(6){width:88px}.asset-links-table th:nth-child(8),.asset-links-table td:nth-child(8){width:42px;text-align:center}.asset-link-row:hover{background:#ffffff06}.asset-code-input,.shot-link-input{width:100%;min-height:34px;padding:6px 9px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#080808;color:#fff;font-size:14px}.asset-code-input:focus,.shot-link-input:focus{outline:none;border-color:#ffd700cc}.asset-picker{display:grid;gap:7px;min-width:230px}.asset-picker-tokens{min-height:30px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.asset-picker-token{max-width:100%;min-height:26px;display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border:1px solid rgba(255,215,0,.26);border-radius:6px;background:#ffd70017;color:#ffe373;font-size:12px;cursor:pointer}.asset-picker-token span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-picker-token b{color:#ffffff9e;font-size:13px}.asset-picker-token.missing{border-color:#ff5a5a6b;background:#ff5a5a1a;color:#ff8b8b}.asset-picker-empty{color:#ffffff5c;font-size:13px}.asset-picker-controls{display:grid;grid-template-columns:minmax(92px,.86fr) minmax(118px,1fr);gap:6px}.asset-picker-search,.asset-picker-select{min-width:0;height:32px;padding:5px 8px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#080808;color:#fff;font-size:13px}.asset-picker-search:focus,.asset-picker-select:focus{outline:none;border-color:#ffd700cc}.asset-link-status{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:26px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:750}.asset-link-status.matched{border:1px solid rgba(102,210,143,.36);background:#66d28f1f;color:#7ee5a2}.asset-link-status.confirmed{border:1px solid rgba(141,230,255,.3);background:#8de6ff1a;color:#91e5ff}.asset-link-status.needs-review{border:1px solid rgba(255,200,87,.38);background:#ffc8571a;color:#ffd36f}.asset-link-status.no-assets{border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:#ffffff8c}.asset-link-delete-btn{width:28px;height:28px;border:1px solid rgba(255,90,90,.38);border-radius:7px;background:#ff5a5a1a;color:#ff8585;cursor:pointer;font-size:16px;line-height:1}.asset-link-delete-btn:hover{background:#ff5a5a33}.asset-preview-thumb-btn{width:74px;height:52px;padding:0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);border-radius:7px;background:#080808;cursor:pointer}.asset-preview-thumb-btn:hover{border-color:#ffd700cc}.asset-preview-thumb-btn img,.asset-preview-thumb-btn video{width:100%;height:100%;display:block;object-fit:cover}.asset-preview-video-badge{position:absolute;top:4px;right:4px;padding:1px 5px;border-radius:4px;background:#2196f3e6;color:#fff;font-size:10px;font-weight:800}.asset-preview-placeholder{width:74px;height:52px;display:flex;align-items:center;justify-content:center;border:1px dashed rgba(255,255,255,.18);border-radius:7px;color:#ffffff6b;font-size:12px}.asset-registry-filename{display:block;max-width:480px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-ok{color:#66d28f}.asset-invalid{color:#f77}.asset-row-missing{opacity:.64}.asset-empty-cell{padding:28px!important;text-align:center!important;color:#ffffff7a}.save-image-node{display:flex;flex-direction:column;gap:10px}.save-image-help{display:flex;flex-direction:column;gap:4px;padding:8px;border-left:3px solid var(--primary-yellow);border-radius:4px;background:#ffd7001a;color:#ccc;font-size:12px;line-height:1.4}.save-image-help strong{color:var(--primary-yellow)}.save-image-field{display:flex;flex-direction:column;gap:5px}.save-image-field label{color:#888;font-size:12px}.save-image-field span{color:#777;font-size:11px}.save-image-field .node-input,.save-image-field .node-select,.image-set-save-field .node-select{width:100%;padding:8px;border:1px solid #444;border-radius:6px;background:#111;color:#fff}.save-image-preview{display:flex;min-height:24px;justify-content:center}.save-image-preview button{max-width:100%;max-height:220px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;background:transparent;cursor:pointer}.save-image-preview button:hover{border-color:var(--primary-yellow)}.save-image-preview img{max-width:100%;max-height:216px;display:block;object-fit:contain}.save-image-status{min-height:18px;padding:6px;border-radius:4px;background:#0003;color:var(--text-gray);font-size:12px}.save-image-status strong{color:var(--primary-yellow)}.video-storyboard-cell{border-color:#ffffff1a;background:linear-gradient(180deg,#ffffff0b,#ffffff05),#151515;box-shadow:inset 0 1px #ffffff0e,0 14px 34px #00000038;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.video-storyboard-cell:hover{border-color:#ffd7006b;box-shadow:inset 0 1px #ffffff13,0 18px 40px #0000004d}.video-storyboard-cell.selected{border-color:gold;box-shadow:inset 0 0 0 1px #ffd7008c,0 18px 42px #ffd7001f}.storyboard-cell-header{align-items:center;gap:10px;min-width:0;margin-bottom:8px}.storyboard-cell-number{min-width:0;color:gold;font-size:14px;font-weight:850;letter-spacing:0}.storyboard-cell-actions{gap:6px}.storyboard-action-btn{width:30px;height:30px;border-color:#ffffff21;border-radius:7px;background:#00000047;color:#ffffffad}.storyboard-action-btn-text{width:auto;min-width:0;padding:0 8px;gap:5px;white-space:nowrap;font-size:12px;font-weight:750}.storyboard-action-btn-text span{line-height:1}.storyboard-action-btn:hover{border-color:#ffd700b3;background:#ffd70024;color:gold}.storyboard-shot-asset-panel{margin-bottom:10px;padding:9px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#0003}.storyboard-shot-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.storyboard-shot-id-input{height:34px;padding:6px 10px;border-color:#ffffff24;border-radius:7px;background:#0d0d0d;font-size:13px;font-weight:750}.storyboard-asset-chips-wrap{min-height:26px;margin-top:8px}.storyboard-asset-chips{display:flex;flex-wrap:wrap;gap:5px}.storyboard-asset-chip{max-width:100%;min-height:24px;padding:2px 4px 2px 7px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#fff1;color:#ffffffdb;display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:1.25;min-width:0}.storyboard-asset-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storyboard-asset-chip.character{border-color:#21c5ff73;background:#21c5ff1a;color:#91e7ff}.storyboard-asset-chip.location{border-color:#5bda8b73;background:#5bda8b1a;color:#9cf0b9}.storyboard-asset-chip.prop{border-color:#ffc85773;background:#ffc8571a;color:#ffdc83}.storyboard-asset-chip-remove{width:18px;height:18px;padding:0;border:0;border-radius:5px;background:#00000042;color:currentColor;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.storyboard-asset-chip-remove:hover{background:#ff4444c7;color:#fff}.storyboard-asset-empty{min-height:24px;color:#ffffff6b;display:flex;align-items:center;font-size:12px}.storyboard-image-uploader{border-color:#ffffff21;border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.035),transparent 55%),#0b0b0b}.storyboard-image-uploader:hover,.storyboard-image-uploader.drag-over{border-color:#ffd700b3;background:#ffd7000e}.storyboard-upload-placeholder{color:#ffffff6b;text-align:center}.storyboard-upload-text{line-height:1.35}.storyboard-asset-editor-overlay{position:fixed;inset:0;z-index:100020;padding:24px;background:#000000b8;display:flex;align-items:center;justify-content:center}.storyboard-asset-editor{width:min(620px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 48px));overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#171717;color:#f4f4f4;box-shadow:0 22px 70px #00000085;display:flex;flex-direction:column}.storyboard-asset-editor-header,.storyboard-asset-editor-footer{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.storyboard-asset-editor-header{border-bottom:1px solid rgba(255,255,255,.09)}.storyboard-asset-editor-header strong{font-size:16px}.storyboard-asset-editor-close{width:30px;height:30px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#ffffff0f;color:#eee;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.storyboard-asset-editor-body{padding:16px;overflow:auto;display:grid;gap:16px}.storyboard-asset-editor-section{display:grid;gap:8px}.storyboard-asset-editor-section label{color:gold;font-size:13px;font-weight:800}.storyboard-asset-editor-options{display:flex;flex-wrap:wrap;gap:8px}.storyboard-asset-option{max-width:100%;min-height:32px;padding:0 10px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#ffffff0e;color:#ffffffd1;cursor:pointer;font:inherit}.storyboard-asset-option:hover,.storyboard-asset-option.selected{border-color:#ffd700c2;background:#ffd70024;color:gold}.storyboard-asset-editor-footer{border-top:1px solid rgba(255,255,255,.09);justify-content:flex-end}.storyboard-asset-editor-cancel,.storyboard-asset-editor-save{min-height:34px;padding:0 14px;border-radius:7px;cursor:pointer;font-weight:750}.storyboard-asset-editor-cancel{border:1px solid rgba(255,255,255,.13);background:#ffffff0f;color:#eee}.storyboard-asset-editor-save{border:1px solid #ffd700;background:gold;color:#0a0a0a}@media(max-width:900px){.asset-system-overlay{padding:10px}.asset-system-container{width:100vw;height:96vh}.asset-system-header,.asset-system-section-header{align-items:flex-start;flex-direction:column}.asset-link-toolbar,.asset-link-filter-input{width:100%;min-width:0}}
