:root{color:#0f172a;background:#f8fafc;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;background:#f8fafc}.login-shell{display:grid;min-height:100vh;place-items:center;padding:24px;background:#f8fafc}.login-panel{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(280px,420px);gap:24px;width:min(920px,100%);padding:24px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.login-panel p:not(.crumb){color:#64748b;line-height:1.7}.login-form{display:grid;align-content:start;gap:14px}.login-form label{display:grid;gap:6px}.login-form span{color:#475569;font-size:13px;font-weight:800}.login-form small{color:#64748b}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px 24px 22px;background:#fff;border-bottom:1px solid #e2e8f0}.ghost-link{padding:0;color:#64748b;background:transparent;border:0;font-size:15px}.crumb,.breadcrumb-trail{margin:18px 0 6px;color:#64748b;font-weight:700}.breadcrumb-trail ol{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0;margin:0;list-style:none}.breadcrumb-trail li{display:flex;align-items:center;gap:8px}.breadcrumb-trail span:not(.breadcrumb-separator),.breadcrumb-link{display:inline-flex;align-items:center;min-height:26px;padding:2px 0;line-height:22px}.breadcrumb-link{color:#2563eb;background:transparent;border:0;border-radius:4px;font:inherit;cursor:pointer}.breadcrumb-link:hover{color:#1d4ed8;text-decoration:underline}.breadcrumb-link:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.breadcrumb-separator{color:#94a3b8;font-weight:800}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:26px;line-height:34px}.top-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;color:#64748b}.top-actions p{flex-basis:100%;margin:8px 0 0;text-align:right}.user-chip{padding:6px 10px;color:#334155;background:#f1f5f9;border-radius:7px;font-size:13px;font-weight:800}.pill{padding:6px 12px;border-radius:7px;font-size:14px;font-weight:700}.pill.green{color:#4d9b2f;background:#edfbe7}.pill.blue{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.reset-button{min-height:32px;padding:5px 10px;color:#64748b;background:#fff;border:1px solid #dbe3ef;border-radius:7px}.project-desk{display:grid;gap:16px;padding:20px 24px 32px}.team-management{padding:20px 24px 32px}.team-panel{padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.team-table{display:grid;gap:8px}.team-summary,.team-actions{display:flex;flex-wrap:wrap;gap:8px}.team-summary{margin-bottom:12px}.team-summary span{padding:6px 10px;color:#475569;background:#f1f5f9;border-radius:7px;font-size:13px;font-weight:800}.team-add-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,1.3fr) minmax(120px,1fr) 110px auto;gap:8px;margin-bottom:12px}.team-add-form button{min-height:38px;padding:7px 12px;color:#fff;background:#2563eb;border:0;border-radius:7px}.team-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,1.4fr) 120px 80px minmax(220px,1.4fr);align-items:center;gap:10px;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.team-row-head{color:#64748b;background:transparent;border:0;font-size:13px;font-weight:800}.team-row button{min-height:34px;padding:6px 10px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px}.team-row button:disabled,.team-row select:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.55}.project-overview,.project-create-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.project-overview h1,.project-create-panel h2{margin-bottom:0}.desk-stats{display:flex;flex-wrap:wrap;gap:8px}.desk-stats span,.desk-stats button,.project-status,.project-meta span{padding:5px 9px;color:#475569;background:#f1f5f9;border-radius:7px;font-size:13px;font-weight:700}.desk-stats button{min-height:32px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.project-create-panel{padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.project-create-panel p{margin:8px 0 0;color:#64748b}.shared-assets-entry{min-height:44px;margin-top:14px;padding:9px 16px;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-weight:800;box-shadow:0 8px 18px #2563eb14}.project-form{display:grid;grid-template-columns:minmax(180px,260px) minmax(240px,1fr) auto;gap:10px;width:min(760px,100%)}.project-folder-form{grid-template-columns:minmax(220px,1fr) minmax(240px,1fr) minmax(260px,320px);align-items:stretch;width:min(760px,100%)}.project-folder-form .primary-button{grid-column:1 / 3;min-height:42px}.project-form textarea{min-height:38px;resize:vertical}.member-dropdown-field{position:relative;display:block;min-width:0;padding:0;margin:0;border:0}.member-dropdown-field legend{padding:0 6px;color:#475569;font-size:13px;font-weight:800}.member-dropdown{position:relative}.member-dropdown summary{display:grid;grid-template-columns:minmax(0,1fr) auto 10px;gap:10px;align-items:center;min-height:42px;padding:9px 12px;color:#0f172a;background:#fff;border:1px solid #dbe3ef;border-radius:8px;cursor:pointer;list-style:none}.member-dropdown summary::-webkit-details-marker{display:none}.member-dropdown summary:after{content:"";width:7px;height:7px;border-right:2px solid #64748b;border-bottom:2px solid #64748b;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}.member-dropdown[open] summary{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1a}.member-dropdown[open] summary:after{transform:rotate(225deg) translate(-1px,-1px)}.member-dropdown-title{overflow:hidden;font-size:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.member-dropdown-count{color:#2563eb;font-size:12px;font-weight:800;white-space:nowrap}.member-dropdown-menu{position:absolute;z-index:30;top:calc(100% + 8px);right:0;left:0;display:grid;gap:8px;max-height:280px;padding:10px;overflow:auto;background:#fff;border:1px solid #dbe3ef;border-radius:8px;box-shadow:0 18px 45px #0f172a24}.member-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:44px;padding:8px 9px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.member-option:hover{border-color:#bfdbfe;background:#f8fbff}.member-option:has(.member-checkbox:checked){border-color:#93c5fd;background:#eff6ff;box-shadow:inset 3px 0 #3b82f6}.member-checkbox{width:18px;height:18px;margin:0;accent-color:#2563eb}.member-copy{display:grid;min-width:0;gap:2px}.member-name{overflow:hidden;color:#0f172a;font-size:14px;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.member-account{overflow:hidden;color:#64748b;font-size:12px;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.member-role{padding:4px 7px;color:#475569;background:#f1f5f9;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.folder-member-editor{display:grid;gap:10px;padding:12px;background:#f8fafc;border:1px solid #dbe3ef;border-radius:8px}.folder-member-editor .member-dropdown-menu{position:static;margin-top:8px;max-height:240px;box-shadow:none}.folder-member-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.folder-member-editor-note{flex:1;margin:0;color:#64748b;font-size:12px;font-weight:700;line-height:1.45}.folder-member-editor-actions button{min-height:32px;padding:6px 10px;color:#475569;background:#fff;border:1px solid #dbe3ef;border-radius:7px;font-weight:800}.folder-member-editor-actions button[type=submit]{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.project-folder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),520px));align-items:start;gap:16px}.project-card{display:grid;gap:12px;padding:14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.project-card.active{border-color:#9bb8ff;box-shadow:0 0 0 3px #2563eb14}.project-folder-card{display:grid;gap:14px;padding:18px;background:#fff;border:1px solid #dbe3ef;border-radius:8px;box-shadow:0 18px 45px #0f172a12}.project-folder-card.active{border-color:#9bb8ff;box-shadow:0 0 0 3px #2563eb14,0 18px 45px #0f172a12}.project-open{display:grid;gap:10px;padding:0;text-align:left;background:transparent;border:0}.project-folder-open{display:grid;gap:12px;padding:0;text-align:left;background:transparent;border:0}.project-open strong{color:#0f172a;font-size:20px}.project-folder-open strong{color:#0f172a;font-size:24px;line-height:32px}.project-open small{min-height:42px;color:#64748b;line-height:21px}.project-folder-open small{color:#475569;line-height:24px}.project-folder-foot{display:flex;flex-wrap:wrap;gap:8px;color:#64748b;font-size:13px;font-weight:700}.project-folder-foot span{padding:6px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px}.project-meta,.project-card-actions,.project-rename-form div{display:flex;flex-wrap:wrap;gap:8px}.project-card-actions,.project-rename-form div{padding-top:10px;border-top:1px solid #e2e8f0}.project-card-actions button,.project-rename-form button{min-height:32px;padding:5px 10px;color:#475569;background:#f8fafc;border:1px solid #dbe3ef;border-radius:7px}.project-card-actions button:disabled{cursor:not-allowed;opacity:.5}.asset-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#0f172a6b}.shared-asset-modal{display:grid;gap:16px;width:min(760px,100%);max-height:min(720px,calc(100vh - 48px));overflow:auto;padding:18px;background:#fff;border:1px solid #dbe3ef;border-radius:8px;box-shadow:0 24px 70px #0f172a38}.shared-asset-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.shared-asset-head .crumb{margin-top:0}.shared-asset-head h2{margin-bottom:0}.modal-close-button{display:grid;width:36px;height:36px;place-items:center;color:#64748b;background:#f8fafc;border:1px solid #dbe3ef;border-radius:7px;font-size:22px;line-height:22px}.shared-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.shared-upload-grid label{position:relative;display:grid;gap:8px;min-height:132px;padding:14px;overflow:hidden;cursor:pointer;text-align:left;background:#f8fafc;border:1px dashed #bfdbfe;border-radius:8px}.shared-upload-grid input{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;opacity:0}.shared-upload-grid span{width:max-content;padding:5px 9px;color:#2563eb;background:#eff6ff;border-radius:7px;font-size:13px;font-weight:800}.shared-upload-grid strong{color:#0f172a;font-size:17px}.shared-upload-grid small{color:#64748b;line-height:20px}.shared-asset-empty{display:grid;gap:6px;padding:14px;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.shared-asset-empty strong{color:#0f172a}.shared-asset-empty p{margin-bottom:0;line-height:24px}.shared-asset-list{display:grid;gap:10px}.shared-asset-row{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.shared-asset-preview{display:grid;width:132px;aspect-ratio:4 / 3;overflow:hidden;place-items:center;color:#64748b;background:#f1f5f9;border:1px solid #dbe3ef;border-radius:8px}.shared-asset-preview img,.shared-asset-preview video{width:100%;height:100%;object-fit:cover}.shared-asset-preview audio{width:116px}.shared-asset-preview span{font-size:12px;font-weight:800}.shared-asset-main,.shared-asset-info{display:grid;min-width:0;gap:8px}.shared-asset-info{gap:4px}.shared-asset-row strong{color:#0f172a}.shared-asset-row span,.shared-asset-row small{color:#64748b}.shared-asset-side{display:grid;justify-items:end;gap:8px}.shared-asset-side small{width:max-content;padding:4px 8px;background:#f1f5f9;border-radius:999px;font-size:12px;font-weight:800}.shared-asset-side button,.shared-asset-edit-form button{min-height:30px;padding:5px 9px;color:#475569;background:#f8fafc;border:1px solid #dbe3ef;border-radius:7px;font-size:12px;font-weight:800}.shared-asset-side button:first-of-type,.shared-asset-edit-form button[type=submit]{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.shared-asset-edit-form{display:grid;gap:8px;padding:10px;background:#f8fafc;border:1px solid #dbe3ef;border-radius:8px}.shared-asset-edit-form input,.shared-asset-edit-form select,.shared-asset-edit-form textarea{min-height:34px;padding:7px 9px}.shared-asset-edit-form div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.project-rename-form{display:grid;gap:10px}.workbench-grid{position:relative;display:grid;grid-template-columns:220px minmax(420px,1fr) minmax(320px,.86fr);gap:12px;padding:16px}.script-panel{grid-column:1 / -1;display:grid;gap:10px;padding:10px 12px;background:#fff;border:1px solid #dbe3ef;border-left:4px solid #facc15;border-radius:8px}.script-panel-toggle{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:0;color:#0f172a;text-align:left;background:transparent;border:0}.script-panel-toggle span{font-weight:800}.script-panel-toggle strong{padding:5px 10px;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:7px;font-size:12px}.script-panel textarea{min-height:120px;background:#fffef8}.breadcrumb{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#64748b}.breadcrumb strong{color:#0f172a}.back-button{min-height:40px;padding:8px 14px;color:#64748b;background:#fff;border:1px solid #dbe3ef;border-radius:8px}.shot-list,.editor-column,.side-column{max-height:calc(100vh - 180px);overflow:auto}.shot-list{padding:10px;border-right:1px solid #e2e8f0}.shot-list-entry{display:grid;gap:6px;margin-bottom:10px}.shot-item{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;width:100%;min-height:82px;padding:8px;text-align:left;background:transparent;border:1px solid transparent;border-radius:10px}.shot-item[draggable=true]{cursor:grab}.shot-item.active,.shot-item:hover{background:#eef3ff;border-color:#9bb8ff}.shot-thumb{display:grid;width:56px;height:46px;overflow:hidden;place-items:center;color:#b8c0cf;background:#f1f5f9;border-radius:8px}.shot-thumb img{width:100%;height:100%;object-fit:cover}.image-placeholder{font-size:28px}.shot-copy{min-width:0;display:grid;align-content:start;gap:5px}.shot-item strong{display:block;overflow:hidden;color:#2563eb;font-size:15px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.shot-item small{display:-webkit-box;overflow:hidden;color:#0f172a;font-size:15px;line-height:22px;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:normal}.shot-actions{display:flex;gap:6px;margin-top:4px;min-width:0}.shot-actions--compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.shot-actions button{min-height:26px;padding:3px 2px;color:#475569;background:#fff;border:1px solid #dbe3ef;border-radius:6px;font-size:12px;line-height:18px;text-align:center;white-space:nowrap}.shot-action-button{min-width:0;width:100%}.shot-actions button:disabled{cursor:not-allowed;opacity:.45}.shot-form,.add-shot-card{display:grid;gap:8px;width:100%;margin-top:12px;padding:12px;background:#fff;border:1px solid #dbe3ef;border-radius:8px}.shot-edit-form{margin:-2px 0 10px;background:#eff6ff;border-color:#93c5fd;box-shadow:inset 3px 0 #2563eb}.shot-form strong,.add-shot-card strong{color:#0f172a}.shot-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shot-form textarea{min-height:78px}.shot-form-actions{display:flex;justify-content:flex-end;gap:8px}.shot-form-actions button,.add-shot-card{color:#2563eb;border-color:#bfdbfe}.shot-form-actions button{min-height:32px;padding:5px 10px;background:#fff;border:1px solid #dbe3ef;border-radius:7px}.add-shot-card{grid-template-columns:30px minmax(0,1fr);align-items:center;text-align:left;background:#eff6ff;border-style:dashed}.add-shot-card span{display:grid;width:30px;height:30px;place-items:center;color:#fff;background:#2563eb;border-radius:999px;font-size:20px;line-height:20px}.loaded{margin:16px 0;color:#94a3b8;text-align:center}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head p{margin-bottom:2px;color:#64748b;font-size:13px;font-weight:700}.section-head h2{margin-bottom:0;font-size:20px}.status-badge{padding:7px 12px;color:#64748b;background:#f1f5f9;border-radius:7px}.editor-stack{display:grid;gap:16px}.production-card,.video-preview-card,.asset-library{padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.production-card{border-left-width:4px}.accent-blue{border-left-color:#8aa7ff}.accent-cyan{border-left-color:#7dd3fc}.accent-green{border-left-color:#86efac}.accent-purple{border-left-color:#c4b5fd}.section-title{display:block;margin-bottom:12px;font-size:16px;font-weight:800}textarea,input,select{width:100%;min-height:38px;padding:9px 11px;color:#0f172a;background:#fff;border:1px solid #dbe3ef;border-radius:7px}textarea{resize:vertical;line-height:1.7}textarea[readonly]{color:#334155;background:#f8fafc}.prompt-editor-wrap{position:relative;display:grid;gap:8px;margin-top:12px}.prompt-helper{margin:0;padding:7px 10px;color:#475569;background:#f8fbff;border:1px solid #dbe3ef;border-radius:7px;font-size:13px;line-height:1.5}.prompt-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.prompt-tool-actions,.prompt-template-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.prompt-tools button{min-height:32px;padding:6px 10px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;font-size:12px}.prompt-tools button:disabled{color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}.prompt-template-box{position:relative;margin-left:auto}.prompt-template-toggle{display:flex;align-items:center;gap:8px;white-space:nowrap}.prompt-template-toggle strong{display:grid;min-width:20px;height:20px;place-items:center;color:#fff;background:#2563eb;border-radius:999px;font-size:11px}.prompt-template-panel{position:absolute;z-index:25;top:calc(100% + 8px);right:0;display:grid;gap:10px;width:min(360px,calc(100vw - 48px));padding:10px;background:#fff;border:1px solid #dbe3ef;border-radius:8px;box-shadow:0 18px 45px #0f172a29}.prompt-template-form{display:grid;gap:8px}.prompt-template-form textarea{min-height:86px;font-size:13px}.prompt-template-form button{justify-self:end}.prompt-template-list{display:grid;gap:8px;max-height:220px;overflow:auto}.prompt-template-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.prompt-template-item{min-height:38px;color:#334155;text-align:left;white-space:normal;background:#f8fafc;border-color:#dbe3ef;line-height:1.45}.prompt-template-delete{color:#b91c1c;background:#fff7f7;border-color:#fecaca}.prompt-template-empty{margin:0;color:#64748b;font-size:12px;font-weight:700;line-height:1.5}.mention-picker{position:absolute;z-index:20;right:8px;bottom:10px;display:grid;width:min(300px,calc(100% - 16px));max-height:180px;overflow:auto;padding:6px;background:#fffffff5;border:1px solid #bfdbfe;border-radius:8px;box-shadow:0 14px 30px #0f172a24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mention-picker button{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:36px;padding:6px 8px;text-align:left;background:transparent;border:0;border-radius:7px}.mention-picker button:hover,.mention-picker button:focus-visible{background:#eff6ff}.mention-picker span{display:grid;width:24px;height:24px;place-items:center;color:#2563eb;background:#dbeafe;border-radius:999px;font-size:12px;font-weight:800}.mention-picker strong{overflow:hidden;color:#0f172a;text-overflow:ellipsis;white-space:nowrap}.mention-picker small{padding:2px 6px;color:#64748b;background:#f1f5f9;border-radius:999px;font-size:11px}.api-request-preview{display:grid;gap:8px;padding:12px;background:#f8fafc;border:1px solid #dbe3ef;border-radius:8px}.api-request-preview>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.api-request-preview span{color:#64748b;font-size:12px}.api-request-preview pre{max-height:320px;margin:0;overflow:auto;padding:10px;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:7px;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.reference-strip{display:flex;gap:12px;min-height:106px;padding:14px;overflow-x:auto;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.reference-strip.large{min-height:132px}.reference-strip.active{background:#eff6ff;border-color:#2563eb;border-style:dashed}.add-tile,.reference-card,.reference-toggle-card,.sync-tile{position:relative;flex:0 0 104px;width:104px;min-height:92px;overflow:hidden;color:#fff;background:#eef2f7;border:1px solid transparent;border-radius:10px}.reference-toggle-card{display:grid;align-content:center;justify-items:center;gap:6px;padding:10px;color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.reference-toggle-card strong{color:#1d4ed8;font-size:13px}.reference-toggle-card small{color:#64748b;font-size:12px}.add-tile{display:grid;place-items:center;gap:4px;color:#64748b;border:2px dashed #cbd5e1;cursor:pointer}.sync-tile{display:grid;align-content:center;justify-items:center;gap:6px;padding:12px;color:#166534;background:#ecfdf5;border-color:#bbf7d0}.sync-tile span{font-weight:800}.sync-tile small{color:#15803d;font-size:12px;line-height:1.35;text-align:center}.add-tile input,.upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.add-tile span{font-size:34px;line-height:34px}.add-tile strong{color:#334155;font-size:13px}.add-tile small{padding:0 8px;font-size:12px;line-height:1.35;text-align:center}.add-tile.compact,.sync-tile.compact{flex-basis:118px;width:118px;min-height:86px}.generation-reference-strip{min-height:108px;margin:12px 0}.reference-card img{width:100%;height:100%;object-fit:cover}.asset-thumb img,.asset-thumb video{display:block;width:100%;height:100%;max-width:100%;object-fit:contain}.asset-thumb video{width:100%;height:100%;background:#0f172a}.asset-thumb audio{width:calc(100% - 16px)}.reference-card strong{position:absolute;right:0;bottom:0;left:0;padding:22px 8px 7px;overflow:hidden;color:#fff;background:linear-gradient(180deg,#0f172a00,#0f172ac2);text-overflow:ellipsis;white-space:nowrap}.reference-card small{position:absolute;top:6px;left:6px;padding:2px 6px;color:#fff;background:#0f172a94;border-radius:999px;font-size:11px}.remove{position:absolute;z-index:2;top:6px;right:6px;display:grid;width:24px;height:24px;place-items:center;color:#fff;background:#0f172ab3;border-radius:999px;font-size:18px;font-weight:800}.fallback{display:grid;width:100%;height:100%;place-items:center;color:#2563eb;background:#dbeafe;font-size:28px;font-weight:800}.asset-pills,.mode-tabs,.button-row,.library-tabs{display:flex;flex-wrap:wrap;gap:8px}.asset-pills{margin-top:10px}.frame-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.frame-drop{position:relative;display:grid;min-height:168px;align-content:end;gap:6px;padding:12px;overflow:hidden;color:#475569;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px}.frame-drop input{position:absolute;width:1px;height:1px;opacity:0}.frame-drop img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.frame-drop span,.frame-drop strong,.frame-drop small,.frame-drop button{position:relative;z-index:1}.frame-drop span{width:fit-content;padding:3px 8px;color:#fff;background:#0f172aad;border-radius:999px;font-size:12px;font-weight:800}.frame-drop strong{color:#0f172a;font-size:14px}.frame-drop:has(img) strong,.frame-drop:has(img) small{color:#fff;text-shadow:0 1px 8px rgb(15 23 42 / 70%)}.frame-drop button{justify-self:start;min-height:30px;padding:5px 10px;color:#fff;background:#0f172ab8;border:0;border-radius:7px}.frame-pills{gap:6px}.frame-pill-pair{display:inline-flex;gap:4px}.asset-groups{display:grid;gap:10px;margin-top:12px}.asset-group{display:grid;gap:6px}.asset-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.asset-group-head button{min-height:28px;padding:4px 8px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;font-size:12px}.asset-group>strong,.asset-group-head>strong{color:#64748b;font-size:13px}.asset-group .asset-pills{margin-top:0}.asset-pills button,.mode-tabs button,.library-tabs button,.secondary-button{min-height:36px;padding:7px 12px;color:#475569;background:#f8fafc;border:1px solid transparent;border-radius:7px}.mode-tabs button.active,.library-tabs button.active{color:#2563eb;background:#eff6ff;border-color:#bfdbfe;font-weight:700}.dialogue-list{display:grid;gap:8px}.dialogue-row{display:grid;grid-template-columns:110px minmax(0,1fr) 64px;gap:8px}.dialogue-row button,.add-dialogue{color:#475569;background:#fff;border:1px solid #dbe3ef;border-radius:7px}.add-dialogue{min-height:34px}.control-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.duration-slider{display:grid;min-height:38px;gap:4px;padding:7px 10px;background:#fff;border:1px solid #dbe3ef;border-radius:7px}.duration-slider span{color:#0f172a;font-weight:800}.duration-slider input{min-height:18px;padding:0}.duration-slider small{color:#64748b;font-size:12px}.audio-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:38px;gap:8px;padding:7px 11px;color:#334155;background:#fff;border:1px solid #dbe3ef;border-radius:7px;cursor:pointer;-webkit-user-select:none;user-select:none}.audio-toggle input{position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0;pointer-events:none}.audio-toggle span{position:relative;width:34px;height:18px;flex:0 0 auto;background:#cbd5e1;border-radius:999px;transition:background .16s ease}.audio-toggle span:after{position:absolute;top:3px;left:3px;width:12px;height:12px;background:#fff;border-radius:999px;box-shadow:0 1px 2px #0f172a33;content:"";transition:transform .16s ease}.audio-toggle input:checked+span{background:#2563eb}.audio-toggle input:checked+span:after{transform:translate(16px)}.audio-toggle input:focus-visible+span{outline:2px solid #93c5fd;outline-offset:2px}.audio-toggle strong{font-size:13px;font-weight:700;line-height:1;white-space:nowrap}.workflow-hint{margin:0 0 12px;color:#64748b;font-size:13px}.error-hint{margin:0 0 12px;color:#b42318;font-size:13px;line-height:1.5}.save-conflict-alert{margin:0;padding:12px 24px;color:#9f1239;background:#fff1f2;border-bottom:1px solid #fecdd3;font-size:13px;font-weight:700;line-height:1.5}.payload-preview{display:grid;gap:8px;margin-top:10px;padding:12px;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.payload-preview>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.payload-preview strong{color:#0f172a}.payload-preview span{color:#2563eb;font-weight:700}.payload-preview ol{display:grid;gap:4px;margin:0;padding-left:18px}.primary-button{min-height:38px;padding:8px 16px;color:#fff;background:linear-gradient(90deg,#5b7cfa,#30c6d4);border:0;border-radius:7px}.primary-button:disabled{cursor:wait;opacity:.7}.side-column{display:grid;align-content:start;gap:12px}.side-title,.library-head,.asset-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.side-title span,.library-head span,.asset-actions span{color:#94a3b8;font-size:13px}.video-download-link{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;font-size:13px;font-weight:800;line-height:1;text-decoration:none}.video-download-link:hover,.video-download-link:focus-visible{background:#dbeafe;border-color:#60a5fa;outline:none;box-shadow:0 0 0 3px #2563eb24}.video-frame{display:grid;width:min(100%,var(--video-preview-width, 100%));max-width:100%;aspect-ratio:var(--video-aspect-ratio, 16 / 9);max-height:520px;margin:12px auto 0;overflow:hidden;place-items:center;color:#64748b;background:#0f172a;border-radius:7px;font-weight:800}.video-frame video{width:100%;height:100%;object-fit:contain;background:#0f172a}.upload-button{position:relative;padding:6px 10px;color:#2563eb;border:1px solid #bfdbfe;border-radius:7px;background:#fff;font-size:13px;font-weight:700}.upload-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.upload-controls select{width:118px;min-height:34px;padding:6px 8px}.upload-menu{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;width:min(360px,100%)}.library-head{align-items:flex-start}.library-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.view-toggle,.library-tabs{display:flex;flex-wrap:wrap;gap:6px}.asset-category-filter{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.view-toggle{padding:3px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px}.view-toggle button,.library-tabs button,.upload-primary-button{min-height:32px;padding:6px 10px;color:#2563eb;background:#fff;border:1px solid #bfdbfe;border-radius:7px;font-size:13px;font-weight:800}.asset-category-filter button{min-height:28px;padding:5px 9px;color:#475569;background:#fff;border:1px solid #dbe3ef;border-radius:7px;font-size:12px;font-weight:800;white-space:nowrap}.view-toggle button.active,.library-tabs button.active{color:#fff;background:#2563eb;border-color:#2563eb}.asset-category-filter button.active{color:#1e3a8a;background:#eef4ff;border-color:#c7d7f4}.upload-primary-button{background:#eff6ff}.asset-library-toolbar{display:grid;gap:10px;margin:12px 0;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.asset-upload-panel{display:grid;gap:10px;margin-bottom:12px;padding:12px;background:#f8fafc;border:1px solid #bfdbfe;border-radius:8px}.asset-upload-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.asset-upload-head button,.asset-upload-panel>button{min-height:32px;padding:6px 10px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;font-weight:800}.asset-upload-panel>button:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9;border-color:#e2e8f0}.asset-upload-panel label{display:grid;gap:6px;color:#64748b;font-size:12px;font-weight:800}.asset-file-picker{position:relative;padding:9px 11px;background:#fff;border:1px dashed #93c5fd;border-radius:8px;cursor:pointer}.asset-file-picker strong{color:#0f172a;font-size:13px}.asset-file-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.asset-editor-panel{display:grid;gap:12px;margin-bottom:14px;padding:12px;background:#f8fafc;border:1px solid #bfdbfe;border-radius:8px}.asset-editor-head{display:flex;justify-content:space-between;gap:10px}.asset-editor-head div{display:grid;gap:3px}.asset-editor-head span,.asset-editor-grid>div>span{color:#64748b;font-size:12px;font-weight:700}.asset-editor-head button,.asset-editor-upload{width:fit-content;min-height:32px;padding:6px 10px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px}.asset-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-editor-grid>div{display:grid;gap:8px}.asset-editor-preview{display:grid;min-height:92px;overflow:hidden;place-items:center;color:#94a3b8;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.asset-editor-preview img{width:100%;height:100%;object-fit:cover}.asset-editor-preview audio{width:calc(100% - 16px)}.asset-editor-upload{position:relative;display:inline-grid;place-items:center;font-size:13px;font-weight:700}.asset-editor-upload input{position:absolute;width:1px;height:1px;opacity:0}.asset-card{display:grid;gap:8px;min-width:0;padding:8px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.asset-card:hover{border-color:#2563eb}.asset-card--renaming{cursor:text}.asset-card--renaming:hover{border-color:#e2e8f0}.asset-rename-form{display:grid;gap:8px}.asset-rename-form input{min-height:36px;padding:7px 9px;cursor:text;-webkit-user-select:text;user-select:text}.asset-rename-form div{display:flex;gap:8px}.asset-rename-form button{min-height:32px;padding:5px 10px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px}.asset-metadata-form{display:grid;gap:8px;padding:9px;background:#f8fafc;border:1px solid #dbe3ef;border-radius:8px}.asset-metadata-form label{display:grid;gap:5px;color:#64748b;font-size:12px;font-weight:800}.asset-metadata-form input,.asset-metadata-form select,.asset-metadata-form textarea{min-height:34px;padding:7px 9px;cursor:text;-webkit-user-select:text;user-select:text}.asset-metadata-form select{cursor:pointer}.asset-metadata-form textarea{resize:vertical}.asset-metadata-form div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.asset-metadata-form button{min-height:30px;padding:5px 10px;color:#475569;background:#fff;border:1px solid #dbe3ef;border-radius:7px;font-weight:800}.asset-metadata-form button[type=submit]{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.asset-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.asset-library-body{display:grid;gap:8px}.asset-library-body--grid{grid-template-columns:repeat(auto-fill,minmax(156px,1fr))}.asset-library-body--list{grid-template-columns:1fr}.asset-library-body--list .asset-card{grid-template-columns:76px minmax(0,1fr);align-items:center}.asset-card-main{display:grid;min-width:0;gap:6px}.asset-meta{display:flex;flex-wrap:wrap;gap:5px}.asset-meta span{padding:2px 6px;color:#64748b;background:#f1f5f9;border-radius:6px;font-size:11px;font-weight:800}.asset-description{display:-webkit-box;overflow:hidden;margin:0;color:#475569;font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.asset-generation-params{display:grid;gap:5px;padding:7px;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;font-size:12px}.asset-generation-params summary{color:#2563eb;font-weight:800;cursor:pointer}.asset-generation-params p,.asset-generation-params small{margin:0;line-height:1.45}.asset-generation-params small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.asset-thumb{position:relative;display:grid;width:100%;aspect-ratio:4 / 3;min-height:0;overflow:hidden;place-items:center;color:#94a3b8;background:#f1f5f9;border:1px solid #dbe3ef;border-radius:8px}.asset-thumb-button{min-height:56px;padding:0;cursor:zoom-in}.asset-thumb-button:hover,.asset-thumb-button:focus-visible{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb24}.asset-thumb span{padding:8px;font-size:12px;font-weight:800}.asset-review-badge{position:absolute;top:6px;right:6px;max-width:calc(100% - 12px);overflow:hidden;padding:3px 7px;border-radius:999px;font-size:11px;font-style:normal;font-weight:900;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 5px 14px #0f172a1f}.asset-review-badge--approved{color:#166534;background:#dcfce7;border:1px solid #86efac}.asset-review-badge--processing{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.asset-actions{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:6px;padding-top:2px}.asset-actions button,.asset-download-link{min-height:26px;padding:3px 7px;border-radius:7px;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}.asset-character-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);flex-basis:100%;gap:6px}.asset-character-actions button{width:100%;padding-inline:5px}.asset-primary-action{flex-basis:100%;width:100%;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.asset-secondary-action,.asset-download-link{color:#475569;background:#f8fafc;border:1px solid #dbe3ef}.asset-review-action{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;font-size:11px}.asset-review-action:disabled{color:#64748b;background:#f8fafc;border-color:#cbd5e1;cursor:not-allowed}.asset-danger-action{color:#64748b;background:#f8fafc;border:1px solid #dbe3ef}.asset-actions button:hover,.asset-download-link:hover{border-color:#93c5fd;background:#eff6ff}.asset-library-body--list .asset-primary-action{flex-basis:auto;width:auto}.asset-preview-modal{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#0f172ab8}.asset-preview-panel{display:grid;gap:14px;width:min(980px,96vw);max-height:92vh;padding:14px;overflow:auto;background:#fff;border-radius:8px}.asset-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.asset-preview-head span{color:#64748b;font-size:13px;font-weight:800}.asset-preview-head h3{margin:0;color:#0f172a;font-size:18px}.asset-preview-close{min-height:36px;padding:6px 12px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px}.asset-preview-panel img,.asset-preview-panel video{display:block;max-width:100%;max-height:calc(92vh - 96px);margin:0 auto;object-fit:contain;border-radius:8px}.asset-preview-panel video{width:min(100%,820px);background:#0f172a}.asset-preview-panel audio{width:min(100%,640px);margin:24px auto}.generation-drawer-toggle{position:fixed;z-index:800;top:104px;right:18px;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:7px 10px 7px 12px;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;box-shadow:0 10px 24px #0f172a1a;cursor:pointer}.generation-drawer-toggle span{font-size:13px;font-weight:800;letter-spacing:0;white-space:nowrap}.generation-drawer-toggle strong{display:grid;min-width:24px;height:24px;place-items:center;color:#fff;background:#2563eb;border-radius:999px;font-size:12px}.generation-drawer{position:fixed;z-index:790;top:96px;right:16px;display:grid;align-content:start;gap:12px;width:min(348px,calc(100vw - 32px));max-height:calc(100vh - 120px);padding:14px;overflow:auto;background:#fffffffa;border:1px solid #dbe3ef;border-radius:8px;box-shadow:0 18px 48px #0f172a29;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.generation-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.generation-drawer-head div{display:grid;gap:2px}.generation-drawer-head strong{color:#0f172a;font-size:16px}.generation-drawer-head span{color:#64748b;font-size:12px;font-weight:800}.generation-drawer-close{min-height:32px;padding:5px 10px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:7px;cursor:pointer}.generation-task-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;width:100%;min-height:92px;padding:12px;text-align:left;background:#fff;border:1px solid #dbe3ef;border-radius:8px;box-shadow:0 8px 18px #0f172a0d;cursor:pointer}.generation-task-card span,.generation-task-card small{min-width:0;overflow:hidden;text-overflow:ellipsis}.generation-task-card span{color:#0f172a;font-weight:800;white-space:nowrap}.generation-task-card strong{align-self:start;padding:2px 8px;color:#1d4ed8;background:#eff6ff;border-radius:999px;font-size:13px}.generation-task-card small{grid-column:1 / -1;color:#64748b;line-height:1.45}.generation-task-card em{color:#64748b;font-size:12px;font-style:normal;font-weight:800}.generation-task-card--generating,.generation-task-card--submitting{border-color:#93c5fd}.generation-task-card--done{border-color:#86efac}.generation-task-card--failed{border-color:#fca5a5}.generation-task-card--waiting strong{color:#475569;background:#f1f5f9}.generation-task-card--done strong{color:#166534;background:#dcfce7}.generation-task-card--failed strong{color:#b91c1c;background:#fee2e2}@media (max-width: 1080px){.workbench-grid{grid-template-columns:200px minmax(0,1fr)}.side-column{grid-column:1 / -1;grid-template-columns:minmax(280px,.7fr) minmax(0,1fr)}}@media (max-width: 760px){.topbar,.breadcrumb,.project-overview,.project-create-panel,.project-form{display:grid}.workbench-grid,.side-column,.control-grid,.dialogue-row,.project-folder-grid,.project-folder-form,.shared-upload-grid{grid-template-columns:1fr}.project-folder-form .primary-button{grid-column:1}.shared-asset-row{grid-template-columns:1fr}.shared-asset-preview{width:100%}.shared-asset-side{justify-items:start}.prompt-template-box{width:100%;margin-left:0}.prompt-template-panel{position:static;width:100%;margin-top:8px;box-shadow:none}.asset-modal-backdrop{align-items:start;padding:12px}.shot-list,.editor-column,.side-column{max-height:none}}
