:root{--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-card: #2a2a3e;--bg-card-hover: #3a3a4e;--text-primary: #ffffff;--text-secondary: #a0a0b0;--accent: #6c5ce7;--accent-hover: #7d6ff0;--success: #00b894;--warning: #fdcb6e;--error: #ff6b6b;--border: rgba(255, 255, 255, .08);--radius: 12px;--radius-sm: 8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}.ant-layout{background:var(--bg-primary)!important}.ant-card{background:var(--bg-card)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;color:var(--text-primary)!important}.ant-card-head{color:var(--text-primary)!important;border-bottom:1px solid var(--border)!important}.ant-table{background:var(--bg-card)!important;color:var(--text-primary)!important}.ant-table-thead>tr>th{background:var(--bg-secondary)!important;color:var(--text-secondary)!important;border-bottom:1px solid var(--border)!important}.ant-table-tbody>tr>td{background:var(--bg-card)!important;color:var(--text-primary)!important;border-bottom:1px solid var(--border)!important}.ant-table-tbody>tr:hover>td{background:var(--bg-card-hover)!important}.ant-btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;border-radius:var(--radius-sm)!important}.ant-btn-primary:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-select-dropdown{background:var(--bg-secondary)!important;color:var(--text-primary)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important}.ant-select-dropdown{background:var(--bg-card)!important}.ant-select-item{color:var(--text-primary)!important}.ant-select-item-option-active{background:var(--bg-card-hover)!important}.ant-select-item-option-selected{background:var(--accent)!important}.ant-tabs-tab{color:var(--text-secondary)!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--accent)!important}.ant-tag{border-radius:6px!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.ant-progress-text{color:var(--text-secondary)!important}.ant-form-item-label>label{color:var(--text-secondary)!important}.source-text-meter{margin:-12px 0 18px;font-size:13px}.style-description{display:grid;gap:10px;margin:-4px 0 22px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm)}.style-description>div{display:grid;gap:4px}.scene-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:all .2s ease;cursor:pointer}.scene-card:hover{background:var(--bg-card-hover);border-color:var(--accent);transform:translateY(-2px)}.scene-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px #6c5ce74d}.project-detail-page{min-height:100vh;display:flex;flex-direction:column}.project-detail-state{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg-primary)}.project-detail-state-card{width:min(440px,100%);padding:28px;text-align:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.project-detail-state-card .route-loading-mark{margin:0 auto 18px}.project-detail-main{flex:1;display:grid;grid-template-columns:280px minmax(0,1fr) 360px;min-height:0;overflow:hidden}.project-detail-sidebar,.project-detail-preview,.project-detail-video-panel{min-width:0;min-height:0;overflow-y:auto}.project-detail-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);padding:16px}.project-detail-preview{padding:24px}.project-detail-asset-status{display:flex;align-items:center;min-height:24px;margin-bottom:12px;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm)}.project-detail-preview-stack{display:grid;gap:16px}.project-detail-preview-image{margin-bottom:0}.project-detail-preview-audio,.project-detail-prompt-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.project-detail-prompt-title{display:block;margin-bottom:12px;color:var(--text-primary);font-size:13px;font-weight:600}.project-detail-prompt-grid{display:grid;gap:12px}.project-detail-prompt-label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:12px}.project-detail-prompt-copy.ant-typography{margin:0;max-height:132px;overflow:auto;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;line-height:1.65;overflow-wrap:anywhere}.project-detail-failure{display:grid;justify-items:center;gap:16px;max-width:460px;margin:36px auto 0;padding:32px 28px;text-align:center;background:var(--bg-secondary);border:1px solid rgba(255,107,107,.22);border-radius:var(--radius)}.project-detail-failure-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;color:var(--error);background:#ff6b6b1f;border:1px solid rgba(255,107,107,.24);border-radius:var(--radius-sm);font-size:30px;font-weight:700;line-height:1}.project-detail-failure-title.ant-typography{margin:0;color:var(--text-primary)}.project-detail-failure-message.ant-typography{margin:0;color:var(--text-secondary);line-height:1.7}.project-detail-video-panel{background:var(--bg-secondary);border-left:1px solid var(--border);padding:16px}@media(max-width:900px){.project-detail-main{grid-template-columns:1fr;overflow:visible}.project-detail-sidebar,.project-detail-preview,.project-detail-video-panel{overflow:visible}.project-detail-sidebar,.project-detail-video-panel{border-left:0;border-right:0;border-top:1px solid var(--border)}.project-detail-preview{padding:16px}}.dashboard-page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:24px 0 40px}.dashboard-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:18px;margin-bottom:24px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm)}.dashboard-heading{min-width:0}.dashboard-kicker{display:block;color:var(--accent);font-size:12px;font-weight:600;margin-bottom:6px}.dashboard-title.ant-typography{margin:0;color:var(--text-primary);line-height:1.2}.dashboard-subtitle{display:block;margin-top:6px;color:var(--text-secondary)}.dashboard-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.dashboard-count{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;white-space:nowrap}.dashboard-logout.ant-btn{color:var(--text-secondary);border-color:var(--border);background:transparent;border-radius:var(--radius-sm)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}.dashboard-card{min-width:0;min-height:210px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.dashboard-card:hover,.dashboard-card:focus-visible{background:var(--bg-card-hover);border-color:var(--accent);outline:none;transform:translateY(-2px)}.dashboard-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.dashboard-card-title-group{min-width:0}.dashboard-card-title.ant-typography{display:-webkit-box;margin:0 0 6px;color:var(--text-primary);font-size:16px;line-height:1.35;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dashboard-card-date,.dashboard-card-status,.dashboard-card-id{color:var(--text-secondary);font-size:12px}.dashboard-card-status{display:block;margin-bottom:12px}.dashboard-card-error{display:flex;align-items:flex-start;gap:8px;min-height:42px;margin-bottom:12px;padding:10px;color:var(--error);background:#ff6b6b1a;border:1px solid rgba(255,107,107,.2);border-radius:var(--radius-sm)}.dashboard-card-error .anticon{margin-top:2px;flex-shrink:0}.dashboard-card-error .ant-typography{display:-webkit-box;margin:0;color:var(--error);font-size:12px;line-height:1.45;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dashboard-card-tags{display:flex;flex-wrap:wrap;gap:8px;min-height:58px;margin-bottom:18px}.dashboard-card-tags .ant-tag{max-width:100%;margin:0;line-height:24px}.dashboard-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;border-top:1px solid var(--border)}.dashboard-card-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.dashboard-open-link.ant-btn{display:inline-flex;align-items:center;gap:2px;color:var(--accent);padding-inline:6px}.dashboard-loading{display:grid;gap:18px}.dashboard-loading-copy{display:flex;align-items:center;gap:12px;padding:16px 18px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm)}.dashboard-loading-copy>.anticon{color:var(--accent);font-size:20px}.dashboard-loading-title,.dashboard-loading-subtitle{display:block}.dashboard-loading-title{color:var(--text-primary);font-weight:600}.dashboard-loading-subtitle{color:var(--text-secondary);font-size:12px;margin-top:2px}.route-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:14px;padding:32px 20px;text-align:center;background:var(--bg-primary)}.route-loading-mark{width:56px;height:56px;border-radius:999px;border:4px solid rgba(255,255,255,.08);border-top-color:var(--accent);animation:route-loading-spin .9s linear infinite}.route-loading-title{color:var(--text-primary);font-size:16px;font-weight:600;line-height:1.4}.route-loading-subtitle{margin-top:4px;color:var(--text-secondary);font-size:13px;line-height:1.5}.dashboard-card-skeleton{cursor:default}.dashboard-card-skeleton:hover{background:var(--bg-card);border-color:var(--border);transform:none}.skeleton-line{display:block;width:100%;height:12px;margin-bottom:14px;background:#ffffff14;border-radius:6px}.skeleton-line-title{width:70%;height:18px}.skeleton-line-short{width:46%}.skeleton-line-footer{width:58%;margin-top:50px;margin-bottom:0}@keyframes route-loading-spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;max-width:560px;margin:54px auto 0;padding:36px 28px;text-align:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm)}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:16px;color:var(--accent);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:24px}.empty-state-title.ant-typography{color:var(--text-primary);margin:0 0 8px}.empty-state-copy.ant-typography{max-width:420px;margin:0 0 22px;color:var(--text-secondary);line-height:1.7}.step-progress{display:flex;align-items:center;gap:8px;padding:16px;background:var(--bg-secondary);border-radius:var(--radius);margin-bottom:16px}.step-item{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);font-size:14px}.step-item.active{background:var(--accent);color:#fff}.step-item.completed{background:var(--success);color:#fff}.step-connector{width:24px;height:2px;background:var(--border)}.step-connector.completed{background:var(--success)}.video-container{background:var(--bg-secondary);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}.video-container video{width:100%;display:block}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.asset-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all .2s ease}.asset-card:hover{border-color:var(--accent)}.asset-card img{width:100%;height:150px;object-fit:cover}.asset-card-info{padding:12px}.asset-card-title{font-size:14px;color:var(--text-primary);margin-bottom:4px}.asset-card-meta{font-size:12px;color:var(--text-secondary)}.app-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:16px 24px;display:flex;justify-content:space-between;align-items:center}.app-header h1{font-size:20px;color:var(--accent)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;max-width:120px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;white-space:nowrap;flex-shrink:0}.status-badge.created{background:#6c5ce733;color:var(--accent)}.status-badge.running{background:#fdcb6e33;color:var(--warning)}.status-badge.done{background:#00b89433;color:var(--success)}.status-badge.failed{background:#ff6b6b33;color:var(--error)}@media(max-width:720px){.dashboard-page{width:min(100% - 24px,1180px);padding-top:16px}.dashboard-toolbar{align-items:stretch;flex-direction:column}.dashboard-actions{justify-content:flex-start}.dashboard-actions .ant-btn-primary{flex:1 1 160px}.dashboard-count{flex:1 1 120px;justify-content:center}.dashboard-card-footer{align-items:flex-start;flex-direction:column}.dashboard-card-actions{width:100%;justify-content:space-between}}
