:root{color-scheme:dark;--bg:#071018;--panel:#101a26;--panel-2:#0c141f;--text:#edf4ff;--muted:#94a3b8;--line:#26364a;--accent:#7c5cff;--accent-2:#9d7cff;--danger:#ff5f68;--success:#36d399;--warning:#fbbf24}.rotation-card{border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:24px;display:grid;gap:10px}.rotation-control{display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:700}.rotation-toggle{flex-shrink:0;border:1px solid var(--line);border-radius:999px;padding:8px 16px;color:var(--muted);background:var(--panel-2);cursor:pointer}.rotation-toggle.enabled{background:var(--accent);border-color:var(--accent);color:white}.rotation-toggle:disabled{opacity:.55;cursor:not-allowed}.rotation-toggle:focus-visible{outline:2px solid var(--text);outline-offset:3px}.rescue-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px}.rescue-filters .form-row{margin-bottom:0;flex:1 1 180px}.rescue-filters+.help{margin:18px 0}.rescue-table{margin-top:18px}.cloud-video-link{display:block;max-width:280px;margin-top:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#0e1a2a 0,var(--bg) 42%,#050b11 100%);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:min(1520px,calc(100% - 48px));margin:0 auto}.topbar{padding:24px 0;border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:900}.nav{color:var(--muted);font-weight:700}.nav a:hover,.user-pill{color:var(--text)}.user-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03)}.logout-btn{border:0;color:var(--muted);background:transparent;cursor:pointer;font-weight:800}.logout-btn:hover{color:var(--danger)}.hero{padding:34px 0 24px}.hero h1{margin:0 0 12px;font-size:38px;line-height:1.15}.hero p{color:var(--muted);font-size:18px}.grid{grid-template-columns:minmax(0,1.35fr) minmax(420px,.75fr);gap:22px}.stack{display:grid;gap:18px}.panel{background:linear-gradient(180deg,rgba(16,26,38,.96),rgba(10,18,28,.96));border:1px solid var(--line);padding:22px;box-shadow:0 20px 80px rgba(0,0,0,.24)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-title h2{margin:0}.upload-box{border:1px dashed #526176;border-radius:18px;padding:44px 18px;text-align:center;color:var(--muted)}.file-input{display:none}.upload-hint{margin-bottom:18px;font-size:17px}.image-list{display:grid;gap:12px;margin-top:16px}.image-item{display:grid;grid-template-columns:84px 1fr 170px auto;gap:12px;align-items:center;padding:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:16px}.image-item img{width:84px;height:64px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.image-title{font-weight:900}.image-sub{color:var(--muted);font-size:13px;word-break:break-all}.form-row{display:grid;gap:8px;margin-bottom:18px}.form-row label,.label{color:var(--text);font-weight:900}.help{color:var(--muted);font-size:13px;margin:0;line-height:1.6}input,select,textarea{width:100%;color:var(--text);background:#08111b;border:1px solid var(--line);border-radius:14px;padding:13px 14px;outline:none}textarea{min-height:230px;line-height:1.7;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(124,92,255,.15)}.two-cols{gap:14px}.range-wrap{gap:16px}.checkbox-row{color:var(--muted);font-weight:800}.checkbox-row input{width:auto}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:13px 18px;background:#243249;color:var(--text);font-weight:900;cursor:pointer;transition:transform .15s,opacity .15s,background .15s}.button:hover{transform:translateY(-1px);background:#2b3b55}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2))}.button.ghost{background:transparent;border:1px solid var(--line)}.button.small{padding:9px 12px;border-radius:10px;font-size:13px}.full{width:100%}.preview{background:#050b11;border:1px solid var(--line);border-radius:16px;padding:16px;overflow:auto;max-height:560px;color:#c7d2fe;font-size:13px}.error-text{color:var(--danger)}.success-text{color:var(--success)}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}.login-page{min-height:calc(100vh - 90px);display:grid;place-items:center}.login-card{width:min(520px,100%);background:linear-gradient(180deg,rgba(16,26,38,.98),rgba(10,18,28,.98));border:1px solid var(--line);border-radius:24px;padding:30px}.login-card h1{margin:0 0 10px;font-size:30px}.login-card p{margin:0 0 22px;color:var(--muted);line-height:1.7}.table-wrap{border:1px solid var(--line);border-radius:16px}table{width:100%;border-collapse:collapse;min-width:1180px}td,th{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--text);background:rgba(255,255,255,.03)}td{color:#d7e3f5}.prompt-cell{max-width:360px;color:var(--muted)}.status{display:inline-flex;padding:7px 10px;border-radius:999px;background:#20304a;color:#cbd5e1;font-weight:900}.status.pulled,.status.succeeded{background:rgba(54,211,153,.16);color:var(--success)}.status.failed{background:rgba(255,95,104,.16);color:var(--danger)}.status.running{background:rgba(124,92,255,.16);color:#b4a3ff}.video-cell{min-width:260px}.video-box video{width:240px;max-height:150px;border-radius:12px;background:#000;border:1px solid var(--line)}.video-actions{display:flex;gap:12px;margin-top:8px;color:#b4a3ff;font-weight:800}.actions{display:grid;gap:8px}.empty-panel{min-height:260px;display:grid;place-items:center;text-align:center}@media (max-width:980px){.shell{width:min(100% - 28px,1520px)}.grid{grid-template-columns:1fr}.image-item{grid-template-columns:72px 1fr}.image-item button,.image-item select{grid-column:1/-1}.two-cols{grid-template-columns:1fr}}.topbar-right{gap:24px}.user-nav{display:flex;align-items:center;gap:10px;color:#cbd5e1;font-size:14px}.user-nav button{border:1px solid rgba(148,163,184,.35);background:rgba(15,23,42,.8);color:#e5e7eb;border-radius:10px;padding:8px 12px;cursor:pointer}.user-nav button:hover{border-color:rgba(129,140,248,.85);color:#ffffff}.readonly-box{width:100%;border:1px solid rgba(148,163,184,.25);background:rgba(15,23,42,.72);color:#e5e7eb;border-radius:14px;padding:14px 16px;font-weight:700}body,html{overflow-x:hidden}.app-shell{width:min(1480px,calc(100vw - 64px));margin:0 auto;padding:28px 0 56px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-bottom:22px;margin-bottom:36px;border-bottom:1px solid rgba(148,163,184,.18)}.brand{flex-shrink:0}.topbar-right{gap:26px;flex-shrink:0}.nav,.topbar-right{display:flex;align-items:center}.nav{gap:22px}.hero{margin-bottom:28px}.hero h1{margin:0 0 14px;font-size:clamp(34px,4vw,52px);line-height:1.08}.hero p{margin:0;max-width:960px;color:#94a3b8;font-size:16px;line-height:1.8}.grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(430px,.85fr);gap:28px;align-items:start}.stack{display:flex;flex-direction:column;gap:24px}.panel{border-radius:22px;padding:24px;background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(2,6,23,.96));border:1px solid rgba(148,163,184,.2);box-shadow:0 18px 48px rgba(0,0,0,.22)}.panel h2{margin:0 0 18px;font-size:22px}.upload-zone{min-height:150px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border-radius:20px}.upload-zone .button,.upload-zone button{position:static}textarea{min-height:280px;line-height:1.75;font-size:16px}.form-row{margin-bottom:22px}.form-row label{display:block;margin-bottom:10px;font-weight:800;color:#e5e7eb}.form-row input[type=number],.form-row select,.readonly-box{min-height:54px;font-size:16px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.range-wrap{display:grid;grid-template-columns:1fr 120px;gap:18px;align-items:center}.checkbox-row{margin:12px 0 26px;display:flex;align-items:center;gap:10px}.button.full{width:100%;min-height:58px;font-size:18px;border-radius:16px;margin-top:8px}.table-wrap{overflow-x:auto}@media (max-width:1100px){.app-shell{width:min(100% - 32px,960px)}.grid,.two-cols{grid-template-columns:1fr}.topbar{align-items:flex-start}.topbar-right{flex-direction:column;align-items:flex-end;gap:10px}}@media (max-width:640px){.app-shell{width:min(100% - 24px,100%);padding-top:20px}.panel{padding:18px}.range-wrap{grid-template-columns:1fr}.hero h1{font-size:34px}}.upload-zone{border:none!important;outline:none!important;background:transparent!important}.upload-zone:after,.upload-zone:before{display:none!important}.drop-zone,.drop-zone *,.file-drop,.file-drop *,.image-uploader,.image-uploader *,.upload-area,.upload-area *,.upload-box,.upload-box *,.upload-zone,.upload-zone *{border-style:solid!important}.drop-zone,.file-drop,.image-uploader,.upload-area,.upload-box,.upload-zone{border:none!important;outline:none!important;box-shadow:none!important}.drop-zone button,.file-drop button,.image-uploader button,.upload-area button,.upload-box button,.upload-zone button{border:1px solid rgba(148,163,184,.25)!important}.cloud-upload{width:100%;min-height:170px;border-radius:24px;border:1px solid rgba(148,163,184,.22);background:radial-gradient(circle at 50% 0,rgba(129,140,248,.18),transparent 45%),rgba(15,23,42,.46);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:.2s ease;text-align:center}.cloud-upload:hover{border-color:rgba(129,140,248,.8);background:radial-gradient(circle at 50% 0,rgba(129,140,248,.28),transparent 48%),rgba(15,23,42,.62);transform:translateY(-1px)}.cloud-icon{font-size:48px;line-height:1}.cloud-title{color:#e5e7eb;font-size:18px;font-weight:800}.cloud-desc{max-width:520px;color:#94a3b8;font-size:14px;line-height:1.6}.image-list{display:flex;flex-direction:column;gap:14px;margin-top:18px}.image-card{display:grid;grid-template-columns:84px minmax(0,1fr) 120px 76px;gap:14px;align-items:center;padding:12px;border-radius:16px;background:rgba(15,23,42,.62);border:1px solid rgba(148,163,184,.18)}.image-thumb{width:84px;height:64px;border-radius:12px;overflow:hidden;background:rgba(2,6,23,.6)}.image-thumb img{width:100%;height:100%;object-fit:cover}.image-info{min-width:0;display:flex;flex-direction:column;gap:4px}.image-info strong{color:#e5e7eb;font-size:15px}.image-info span{color:#cbd5e1;font-size:14px;word-break:break-all}.image-info small{color:#64748b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-card select{min-height:42px;font-size:14px}@media (max-width:760px){.image-card{grid-template-columns:72px 1fr}.image-card button,.image-card select{grid-column:2}.image-thumb{width:72px;height:56px}}.cloud-upload.dragging{border-color:rgba(96,165,250,.95)!important;background:radial-gradient(circle at 50% 0,rgba(96,165,250,.34),transparent 50%),rgba(30,41,59,.82)!important;transform:translateY(-2px)}.cloud-upload.dragging .cloud-title{color:#ffffff}.task-toolbar{align-items:flex-start}.task-toolbar .muted{margin-top:8px;font-size:14px}.task-toolbar-actions{display:flex;align-items:center;gap:12px}.date-input{min-height:44px;border-radius:12px;border:1px solid rgba(148,163,184,.25);background:rgba(15,23,42,.78);color:#e5e7eb;padding:0 14px;font-size:14px}.compact-empty{min-height:220px;margin-top:18px}.prompt-cell{max-width:260px;min-width:220px}.prompt-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#cbd5e1;line-height:1.55;font-size:14px}.copy-link{margin-top:8px;padding:0;border:none;background:transparent;color:#a78bfa;font-size:13px;font-weight:700;cursor:pointer}.copy-link:hover{color:#c4b5fd;text-decoration:underline}.model-cell{max-width:190px;word-break:break-all}.task-id-cell{max-width:150px;word-break:break-all}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:18px;color:#94a3b8;font-size:14px}input[type=range]{appearance:none;width:100%;height:42px;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(to right,#93c5fd 0,#93c5fd var(--range-progress,0),rgba(148,163,184,.35) var(--range-progress,0),rgba(148,163,184,.35) 100%);border:1px solid rgba(255,255,255,.18)}input[type=range]::-webkit-slider-thumb{appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:999px;background:#93c5fd;border:2px solid rgba(219,234,254,.95);box-shadow:0 0 0 6px rgba(99,102,241,.16)}input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:rgba(148,163,184,.35);border:1px solid rgba(255,255,255,.18)}input[type=range]::-moz-range-progress{height:8px;border-radius:999px;background:#93c5fd}input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:999px;background:#93c5fd;border:2px solid rgba(219,234,254,.95);box-shadow:0 0 0 6px rgba(99,102,241,.16)}input.duration-range{appearance:none!important;width:100%!important;height:42px!important;background:transparent!important;cursor:pointer}input.duration-range::-webkit-slider-runnable-track{height:8px!important;border-radius:999px!important;background:linear-gradient(to right,#93c5fd 0,#93c5fd var(--duration-progress,0),rgba(148,163,184,.35) var(--duration-progress,0),rgba(148,163,184,.35) 100%)!important;border:1px solid rgba(255,255,255,.22)!important}input.duration-range::-webkit-slider-thumb{appearance:none!important;width:28px!important;height:28px!important;margin-top:-11px!important;border-radius:999px!important;background:#93c5fd!important;border:3px solid #dbeafe!important;box-shadow:0 0 0 8px rgba(99,102,241,.22),0 8px 24px rgba(147,197,253,.35)!important}input.duration-range::-moz-range-track{height:8px!important;border-radius:999px!important;background:rgba(148,163,184,.35)!important;border:1px solid rgba(255,255,255,.22)!important}input.duration-range::-moz-range-progress{height:8px!important;border-radius:999px!important;background:#93c5fd!important}input.duration-range::-moz-range-thumb{width:28px!important;height:28px!important;border-radius:999px!important;background:#93c5fd!important;border:3px solid #dbeafe!important;box-shadow:0 0 0 8px rgba(99,102,241,.22),0 8px 24px rgba(147,197,253,.35)!important}.status-cell{min-width:130px}.task-error{margin-top:8px;max-width:240px;color:#fca5a5;font-size:12px;line-height:1.5;word-break:break-word}.failed-video-box{max-width:280px;border:1px solid rgba(248,113,113,.35);background:rgba(127,29,29,.18);border-radius:14px;padding:12px 14px;color:#fecaca;font-size:13px;line-height:1.55}.failed-video-box strong{display:block;color:#fca5a5;margin-bottom:6px}.failed-video-box p{margin:0;color:#fecaca;word-break:break-word}.image-sort-help{margin:14px 0 10px;color:#94a3b8;font-size:13px}.sortable-image-list{gap:12px}.sortable-image-card{position:relative;transition:transform .16s ease,border-color .16s ease,background .16s ease,opacity .16s ease}.sortable-image-card.is-dragging{opacity:.45;transform:scale(.985)}.sortable-image-card.is-drag-over{border-color:rgba(139,92,246,.95)!important;background:rgba(88,28,135,.18)!important;box-shadow:inset 0 0 0 1px rgba(139,92,246,.28)}.drag-handle{width:34px;height:58px;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.72);color:#94a3b8;cursor:grab;font-size:18px;font-weight:900;letter-spacing:-4px;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;flex-shrink:0}.drag-handle:active{cursor:grabbing}.drag-handle:hover{color:#e5e7eb;border-color:rgba(139,92,246,.72);background:rgba(79,70,229,.22)}@media (max-width:900px){.drag-handle{height:44px}}.sortable-image-card{display:grid!important;grid-template-columns:44px 96px minmax(0,1fr) 150px 92px!important;align-items:center!important;gap:16px!important}.sortable-image-card .drag-handle{grid-column:1!important}.sortable-image-card .image-thumb{grid-column:2!important;width:88px!important;height:64px!important}.sortable-image-card .image-info{grid-column:3!important;min-width:0!important}.sortable-image-card .image-info small,.sortable-image-card .image-info span{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.sortable-image-card select{grid-column:4!important;width:150px!important;min-width:150px!important}.sortable-image-card>button.button.small.ghost:last-child{grid-column:5!important;width:92px!important;min-width:92px!important;justify-self:end!important;white-space:nowrap!important}.sortable-image-card>*{max-width:100%}.task-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.task-actions .button{min-width:68px}.done-text{font-size:13px}.form-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 12px}.form-secondary-actions .button{width:100%;min-height:46px}@media (max-width:720px){.form-secondary-actions{grid-template-columns:1fr}}.material-library{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.panel-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-heading-row h2,.panel-heading-row h3{margin:0}.material-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.material-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:rgba(8,17,27,.82)}.material-card>img,.official-asset-placeholder{width:100%;height:116px;display:grid;place-items:center;object-fit:cover;color:#c4b5fd;background:radial-gradient(circle at top right,rgba(124,92,255,.32),transparent 52%),#111827;font-size:13px;font-weight:900}.official-asset-placeholder.compact{height:100%;border-radius:10px;font-size:11px}.material-card-info{display:grid;gap:5px;padding:10px 12px 6px;min-width:0}.material-card-info small,.material-card-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-card-info small{color:var(--muted)}.material-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 12px 12px}.official-asset-form{display:grid;gap:14px;margin-top:18px;padding:16px;border:1px solid rgba(124,92,255,.35);border-radius:16px;background:rgba(124,92,255,.08)}.official-asset-inputs{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,.7fr) auto;gap:10px}.library-page-layout{display:grid;gap:22px}.library-upload-zone{min-height:180px;display:grid;place-items:center;align-content:center;gap:9px;padding:28px;border:1px dashed rgba(139,92,246,.72);border-radius:18px;color:var(--muted);background:radial-gradient(circle at center,rgba(124,92,255,.12),transparent 70%);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.library-upload-zone.dragging,.library-upload-zone:hover{border-color:#a78bfa;background:rgba(124,92,255,.14);transform:translateY(-1px)}.library-upload-zone strong{color:var(--text);font-size:18px}.library-upload-icon{font-size:38px}.official-asset-form.standalone{margin-top:0}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.library-toolbar h2{margin-bottom:6px}.library-refresh-meta{margin:7px 0 0;color:#a78bfa;font-size:13px}.library-toolbar-actions{display:flex;align-items:center;gap:10px}.library-material-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.library-material-card{position:relative;overflow:hidden;min-width:0;border:1px solid var(--line);border-radius:16px;background:rgba(8,17,27,.82);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.library-material-card:hover{transform:translateY(-2px);border-color:rgba(139,92,246,.66)}.library-material-card.selected{border-color:#8b5cf6;box-shadow:0 0 0 2px rgba(139,92,246,.24)}.library-material-card.is-disabled{cursor:default;opacity:.72}.library-material-card.is-disabled:hover{transform:none;border-color:var(--line)}.library-material-card>.official-asset-placeholder,.library-material-card>img{width:100%;height:158px;object-fit:cover}.library-material-check{position:absolute;z-index:2;top:10px;left:10px;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgba(2,6,23,.82);border:1px solid rgba(255,255,255,.28)}.library-material-check input{width:17px;height:17px;margin:0;accent-color:#8b5cf6}.library-delete-button{width:calc(100% - 24px);margin:4px 12px 12px;padding:8px 10px;border:1px solid rgba(255,95,104,.26);border-radius:10px;color:#fca5a5;background:rgba(255,95,104,.08);cursor:pointer}.library-delete-button:hover{background:rgba(255,95,104,.16)}.library-empty{grid-column:1/-1;min-height:220px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}.library-empty strong{color:var(--text)}.asset-status{color:var(--muted)}.asset-status.status-active{color:var(--success)}.asset-status.status-processing{color:var(--warning)}.asset-status.status-error,.asset-status.status-failed{color:var(--danger)}.admin-control-center{display:grid;gap:20px}.admin-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-stat-card{display:grid;gap:7px;min-width:0;padding:20px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:radial-gradient(circle at top right,rgba(96,165,250,.12),transparent 55%),rgba(10,20,35,.78)}.admin-stat-card span{color:var(--muted);font-size:13px;font-weight:700}.admin-stat-card strong{color:#f8fafc;font-size:30px;line-height:1}.admin-stat-card small{color:#718096}.admin-stat-card.success{background:radial-gradient(circle at top right,rgba(16,185,129,.15),transparent 55%),rgba(10,20,35,.78)}.admin-stat-card.accent{background:radial-gradient(circle at top right,rgba(139,92,246,.2),transparent 55%),rgba(10,20,35,.78)}.admin-notice{padding:13px 16px;border:1px solid;border-radius:12px;font-size:14px}.admin-notice.success{color:#6ee7b7;border-color:rgba(16,185,129,.28);background:rgba(16,185,129,.08)}.admin-notice.error{color:#fca5a5;border-color:rgba(248,113,113,.3);background:rgba(248,113,113,.08)}.admin-create-panel,.admin-directory{overflow:hidden;border:1px solid rgba(148,163,184,.16);border-radius:20px;background:rgba(9,18,31,.82)}.admin-create-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;cursor:pointer;list-style:none}.admin-create-panel>summary::-webkit-details-marker{display:none}.admin-create-panel>summary>span:first-child{display:grid;gap:5px}.admin-create-panel>summary strong{color:#f8fafc;font-size:17px}.admin-create-panel>summary small,.admin-form-footer span{color:var(--muted)}.admin-create-toggle{padding:8px 12px;border:1px solid rgba(139,92,246,.28);border-radius:10px;color:#c4b5fd;background:rgba(139,92,246,.08);font-size:13px}.admin-create-panel[open] .admin-create-toggle{font-size:0}.admin-create-panel[open] .admin-create-toggle:after{content:"收起";font-size:13px}.admin-create-form{padding:4px 22px 22px;border-top:1px solid rgba(148,163,184,.12)}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding-top:18px}.admin-form-grid .form-row{margin-bottom:15px}.admin-form-key{grid-column:1/-1}.admin-form-footer{padding-top:4px}.admin-directory-header,.admin-form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-directory-header{padding:22px;border-bottom:1px solid rgba(148,163,184,.13)}.admin-directory-header h2{margin:0 0 6px;font-size:20px}.admin-directory-header p{margin:0;color:var(--muted);font-size:14px}.admin-directory-header>span{flex:0 0 auto;color:#a78bfa;font-size:13px;font-weight:700}.admin-user-list{display:grid;gap:0}.admin-account-card{padding:20px 22px;border-bottom:1px solid rgba(148,163,184,.12)}.admin-account-card:last-child{border-bottom:0}.admin-account-card.is-disabled{background:rgba(15,23,42,.28)}.admin-account-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-account-identity{display:flex;align-items:center;min-width:0;gap:13px}.admin-account-avatar{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(139,92,246,.28);border-radius:13px;color:#ddd6fe;background:linear-gradient(145deg,rgba(124,92,255,.3),rgba(59,130,246,.12));font-size:17px;font-weight:800}.admin-account-identity>div{display:grid;min-width:0;gap:6px}.admin-account-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.admin-account-title strong{color:#f8fafc;font-size:16px}.admin-account-title span{color:#94a3b8;font-size:14px}.admin-account-identity small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.admin-account-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-account-meta span{padding:6px 9px;border-radius:999px;font-size:12px;font-weight:700}.badge-active{color:#6ee7b7;background:rgba(16,185,129,.11)}.badge-disabled,.badge-warning{color:#fbbf24;background:rgba(245,158,11,.11)}.badge-key{color:#c4b5fd;background:rgba(139,92,246,.13)}.admin-key-editor{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(360px,1.45fr);align-items:center;gap:18px;margin-top:17px;padding:14px;border:1px solid rgba(99,102,241,.16);border-radius:14px;background:rgba(15,23,42,.38)}.admin-key-label{display:grid;gap:5px}.admin-key-label span{color:#e2e8f0;font-size:13px;font-weight:750}.admin-key-label small{color:var(--muted)}.admin-key-control{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.admin-key-control input{min-width:0}.admin-profile-editor{margin-top:14px;padding:0 15px 15px;border:1px solid rgba(148,163,184,.13);border-radius:14px;background:rgba(2,6,23,.28)}.admin-account-actions,.admin-user-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-user-actions{margin-top:2px}.admin-account-actions{margin-top:13px}.admin-text-action{padding:0;border:0;color:#94a3b8;background:transparent;cursor:pointer;font-size:12px}.admin-text-action:hover{color:#ddd6fe}.admin-text-action.danger:hover{color:#fca5a5}.admin-text-action:disabled{cursor:not-allowed;opacity:.45}@media (max-width:900px){.admin-key-editor{grid-template-columns:1fr}}@media (max-width:760px){.admin-form-grid,.admin-overview{grid-template-columns:1fr}.admin-form-key{grid-column:auto}.admin-account-head,.admin-directory-header,.admin-form-footer{align-items:flex-start;flex-direction:column}.admin-account-meta{justify-content:flex-start}.admin-key-control{grid-template-columns:1fr auto}.admin-key-control input{grid-column:1/-1}.admin-account-card,.admin-create-form,.admin-create-panel>summary,.admin-directory-header{padding-left:16px;padding-right:16px}}.generation-fieldset{border:0;margin:0;padding:0;min-width:0}.generation-settings{align-self:start}.compact-toggle{display:flex;align-items:center;gap:10px;margin:14px 0}.compact-toggle input{width:18px;height:18px;flex:0 0 auto}.reference-panel h2 small{font-size:14px;color:var(--muted,#94a3b8)}.reference-url-row{display:flex;gap:10px;margin:16px 0}.reference-url-row input{flex:1 1;min-width:0}.reference-list{display:grid;gap:12px}.reference-card{display:flex;align-items:center;gap:14px;border:1px solid #26364b;padding:12px;border-radius:12px;flex-wrap:wrap}.reference-card video{width:190px;max-height:140px;background:#050a10;border-radius:8px}.reference-card audio{max-width:100%;width:240px}.reference-card p{max-width:260px;overflow-wrap:anywhere;margin:6px 0}.reference-card small{color:#94a3b8}.advanced-settings{margin:18px 0}.advanced-settings summary{cursor:pointer;margin-bottom:14px}.video-compatibility{max-width:250px;font-size:12px;color:#94a3b8}button:disabled{cursor:not-allowed;opacity:.55}.admin-asset-credentials{margin:16px 0;padding:16px;border:1px solid var(--border);border-radius:12px}.admin-asset-credentials summary{cursor:pointer;font-weight:600}.admin-asset-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}:root{color-scheme:light;--bg:#f6f5f9;--panel:#fff;--panel-2:#faf9fc;--text:#30313b;--muted:#8b8998;--line:#eae8ef;--accent:#9064db;--accent-2:#ad86e9;--danger:#d35568;--success:#2b9b7c;--warning:#a47531}body.studio-theme{background:#f5f4f8;color:var(--text);font-size:13px;-webkit-font-smoothing:antialiased}.studio-theme a,.studio-theme button,.studio-theme summary{-webkit-tap-highlight-color:transparent}.studio-theme :focus-visible{outline:2px solid #9871db;outline-offset:3px}.studio-theme input,.studio-theme select,.studio-theme textarea{color:var(--text);background:#fff;border-color:var(--line);border-radius:9px;padding:10px 12px;font-size:13px}.studio-theme input::placeholder,.studio-theme textarea::placeholder{color:#aaa6b3}.studio-theme input[type=checkbox]{accent-color:var(--accent)}.studio-theme .login-card,.studio-theme .panel{background:#fff;border:1px solid var(--line);box-shadow:0 5px 25px #43355a04;border-radius:16px}.studio-theme .panel h2{font-size:18px;font-weight:600}.studio-theme .button{background:#f4f2f7;color:#6b637b;font-size:13px;font-weight:500;padding:10px 15px;border-radius:8px}.studio-theme .button:hover{background:#eeebf4;transform:none}.studio-theme .button.primary{color:#fff;background:linear-gradient(105deg,#9971e0,#b891ec)}.studio-theme .button.primary:hover{background:linear-gradient(105deg,#8c60d7,#a67edd)}.studio-theme .button.ghost{background:transparent;border:1px solid var(--line)}.studio-theme .help{font-size:12px;color:var(--muted)}.studio-theme .form-row label{font-size:12px;font-weight:500}.studio-theme .hero{padding:14px 0 26px}.studio-theme .hero h1{font-size:29px;font-weight:600;letter-spacing:-1px}.studio-theme .hero p{font-size:13px}.studio-shell{display:flex;min-height:100dvh}.studio-sidebar{position:fixed;left:0;top:0;bottom:0;width:78px;background:#fcfbfe;border-right:1px solid #e7e4ef;z-index:20}.studio-brand,.studio-sidebar{display:flex;align-items:center;flex-direction:column}.studio-brand{gap:9px;padding:25px 0 34px}.brand-mark{position:relative;display:grid;place-items:center;width:32px;height:35px;color:#9d74dc;font:italic 800 34px/1 Georgia,serif}.brand-mark>span{position:absolute;width:21px;height:26px;border:2px solid #72cbb6;border-radius:7px;transform:rotate(-22deg);top:3px;right:-1px;opacity:.65}.brand-caption{font-size:7px;letter-spacing:1.4px;font-weight:600;color:#837b91}.studio-nav{display:grid;gap:13px;width:100%;padding:0 10px}.studio-nav a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 4px;border-radius:12px;color:#97929f;font-size:11px;transition:background .2s,color .2s}.studio-nav a:hover{background:#f3eff9;color:#8862c2}.studio-nav a.active{color:#8d62d1;background:#f0eafa}.sidebar-bottom{margin-top:auto;padding-bottom:23px;text-align:center}.sidebar-version{color:#b2aabd;font-size:9px;line-height:1.8;letter-spacing:1px}.studio-body{margin-left:78px;width:calc(100% - 78px);min-width:0}.workspace-topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;gap:15px}.workspace-wordmark{font-size:17px;font-weight:650;letter-spacing:-.5px;color:#4c425f}.workspace-wordmark>span{color:#a39aae;font-weight:400}.studio-theme .user-nav{display:flex;align-items:center;gap:13px;font-size:11px;color:#89818f}.studio-theme .user-nav button{font-size:11px;background:#fff;color:#8c8497;border:1px solid #e8e4ee;border-radius:7px;padding:5px 10px}.studio-body>main:not(.creation-page){padding:12px 26px 32px}.creation-page{padding:0 22px 20px}.creation-workspace{display:grid;grid-template-columns:minmax(360px,1fr) 660px;gap:20px;height:calc(100dvh - 84px);min-height:540px}.creation-workspace.gallery-collapsed{grid-template-columns:minmax(0,1fr)}.composer,.creations-panel{min-width:0;background:#fff;border:1px solid #eae7ef;border-radius:18px;box-shadow:0 6px 26px #45315c04;overflow:hidden}.composer .generation-fieldset{display:flex;flex-direction:column;height:100%}.composer-scroll{overflow-y:auto;flex:1 1;min-height:0;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#d8c8ec transparent;padding:0 20px 14px}.composer-heading{display:flex;align-items:center;justify-content:space-between;height:65px;gap:8px;border-bottom:1px solid #f0edf5;margin-bottom:19px}.composer-heading>span:first-child{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.composer-heading svg{color:#9973d1}.composer-caption{font-size:10px;color:#a69cae}.asset-tabs{display:flex;gap:7px;margin-bottom:12px}.asset-tabs button{display:inline-flex;align-items:center;gap:5px;cursor:pointer;border:1px solid #eeeaf3;border-radius:7px;padding:7px 10px;background:#fff;color:#91899c;font-size:11px}.asset-tabs button span{color:#aaa0b7;font-size:10px}.asset-tabs button.selected{background:#f4effc;border-color:#e7d9fa;color:#9263ce}.composer .panel{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.composer-assets{margin-bottom:20px}.composer-assets [hidden],.composer-assets h2{display:none}.composer .cloud-upload{background:#fbfafe;border:1px dashed #ddd4e8!important;border-radius:10px;min-height:112px;padding:15px 10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}.composer .cloud-upload:hover{background:#f6f1fc;border-color:#b794e1!important}.composer .cloud-icon{font-size:25px;font-weight:300;line-height:1;margin:0;color:#ab8bd1}.composer .cloud-title{font-size:12px;font-weight:500;color:#8d7a9f}.composer .cloud-desc{font-size:10px;color:#b1a6bb;margin:0}.composer .cloud-upload.dragging{background:#efe5fb!important}.composer .prompt-panel{border:1px solid #eae5f0;border-radius:11px;overflow:hidden;margin-bottom:21px;background:#fdfcff}.prompt-label{display:flex;align-items:center;justify-content:space-between;padding:13px 13px 0;gap:8px}.composer .prompt-label h2{font-size:12px;font-weight:500;margin:0;color:#71657f}.prompt-label>span{color:#bab1c5;font-size:10px}.composer .prompt-panel textarea{background:transparent;border:0;border-radius:0;box-shadow:none;padding:14px;font-size:12px;line-height:1.9;min-height:150px;height:clamp(150px,20dvh,310px);resize:vertical}.composer .prompt-panel textarea:focus-visible{outline-offset:-3px}.prompt-footer{display:flex;gap:5px;padding:10px 12px;align-items:center;font-size:9px;color:#b2a5c2}.prompt-footer>span:last-child{margin-left:auto;white-space:nowrap}.prompt-panel .help{padding:0 13px 12px}.composer .rotation-card{border:0;padding:0;margin-bottom:17px}.composer .rotation-control{font-size:11px;font-weight:400;color:#94869f}.composer .rotation-toggle{padding:4px 9px;font-size:10px;border-radius:6px;background:#f7f5fa}.composer .rotation-toggle.enabled{color:#9470c4;background:#f0e8fb;border-color:#f0e8fb}.composer .form-row{margin-bottom:14px;gap:6px}.composer .form-row label{color:#81748e;font-size:11px;margin-bottom:0}.composer .form-row input[type=number],.composer .form-row select{min-height:38px}.composer .two-cols{grid-template-columns:1fr 1fr;gap:12px}.composer select{padding:10px 11px;font-size:12px;border-radius:8px;background-color:#fff}.generation-options{border:1px solid #eee9f3;border-radius:8px;font-size:11px}.generation-options>summary{padding:11px;display:flex;gap:8px;align-items:center;cursor:pointer;list-style:none;color:#8e7e9e}.generation-options>summary::-webkit-details-marker{display:none}.generation-options>summary span:last-child{margin-left:auto;font-size:10px;color:#a493b4}.generation-options>summary:after{content:"⌄"}.generation-options[open]>summary{border-bottom:1px solid #eee9f3}.options-content{padding:15px 12px 0}.composer .compact-toggle{font-size:11px;color:#8c8197;gap:7px;margin:12px 0}.composer .compact-toggle input{width:14px;height:14px}.composer .range-wrap{grid-template-columns:1fr 65px;gap:10px}.composer .duration-range::-webkit-slider-thumb{background:#a47bda!important;border:3px solid #fff!important;width:20px!important;height:20px!important;margin-top:-7px!important;box-shadow:0 1px 5px #a47bda50!important}.composer .duration-range::-webkit-slider-runnable-track{height:6px!important;background:linear-gradient(to right,#a47bda var(--duration-progress),#ede8f5 var(--duration-progress))!important;border:0!important}.composer .duration-range::-moz-range-thumb{background:#a47bda!important;border:3px solid #fff!important;width:16px!important;height:16px!important;box-shadow:none!important}.composer .duration-range::-moz-range-progress{background:#a47bda!important}.composer .duration-range::-moz-range-track{background:#ede8f5!important}.composer-footer{padding:10px 20px 18px;border-top:1px solid #eeeaf4;background:#fff;flex-shrink:0}.composer-footer p{font-size:11px;line-height:1.5;margin:0 0 8px;overflow-wrap:anywhere}.composer .form-secondary-actions{display:flex;justify-content:space-between;gap:12px;margin:0 0 8px}.composer .form-secondary-actions .button{min-height:18px;padding:3px 0;border:0;font-size:10px;color:#b0a3bc}.composer-footer .button.primary{min-height:40px;height:40px;margin-top:0;display:flex;gap:7px;font-size:12px}.composer-footer .button.primary svg:last-child{margin-left:auto}.composer .reference-url-row{margin:10px 0;gap:5px}.composer .reference-card,.composer .reference-url-row input{font-size:11px;padding:8px}.composer .reference-card{border-color:var(--line);gap:8px}.composer .reference-card video{width:80px;height:55px}.composer .reference-card .actions{gap:5px}.composer .reference-card p{font-size:10px;max-width:180px}.composer .image-sort-help{font-size:10px;margin:8px 0;color:#a89bb7}.composer .sortable-image-list{gap:7px;margin-top:8px}.composer .sortable-image-card{grid-template-columns:17px 42px minmax(0,1fr) 96px 52px!important;gap:12px!important;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fdfcff}.composer .sortable-image-card .drag-handle{width:17px;min-width:0;padding:0;background:transparent;color:#b4a6c2;border:0}.composer .sortable-image-card .image-thumb{width:42px!important;height:42px!important;border-radius:5px}.composer .sortable-image-card .image-thumb img{width:100%;height:100%;object-fit:cover}.composer .image-info strong{font-size:10px;color:#7f728d}.composer .image-info span{font-size:9px;color:#b0a4bc}.composer .image-info small{display:none!important}.composer .sortable-image-card .image-role-select{width:96px!important;min-width:0!important;min-height:36px;padding:7px 8px;font-size:11px;background-color:#eef4ff;border-color:#cbdcf8;color:#416ca8;cursor:pointer}.composer .sortable-image-card .image-remove-button{grid-column:5;width:52px;min-width:0;min-height:36px;font-size:11px;border:1px solid #f3c8d0;padding:7px 9px;color:#b54159;background:#fff0f3;white-space:nowrap}.composer .sortable-image-card .image-remove-button:hover{background:#ffe0e7;border-color:#e8a4b4}.creations-panel{display:flex;flex-direction:column}.creations-header{padding:22px 22px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.creations-header-actions{display:flex;align-items:center;gap:8px}.creations-header h1{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:600;margin:0;letter-spacing:-.3px}.creations-header h1>span{border:1px solid #eeebf2;background:#faf9fc;color:#aaa0b4;font-size:10px;font-weight:400;padding:4px 8px;border-radius:20px;letter-spacing:0}.creations-header p{font-size:11px;color:#b0a6bb;margin:7px 0 0}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #eae6ef;border-radius:8px;width:33px;height:33px;padding:0;cursor:pointer;color:#9e91ab}.icon-button:hover{background:#f5effc;color:#9262cc}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 22px 17px;border-bottom:1px solid #f0edf4}.gallery-filters{display:flex;gap:4px}.gallery-filters button{padding:6px 11px;border:0;color:#8e7f9b;background:transparent;font-size:11px;border-radius:7px;cursor:pointer;white-space:nowrap}.gallery-filters button.selected{background:#f2ecfb;color:#9364ca}.gallery-search{display:flex;align-items:center;gap:7px;color:#b9aec4;background:#faf9fc;border:1px solid #f0edf4;border-radius:8px;padding:0 9px;max-width:210px}.studio-theme .gallery-search input{width:100%;min-width:0;border:0;background:transparent;padding:7px 0;font-size:10px;box-shadow:none}.gallery-scroll{overflow-y:auto;padding:18px 20px 20px;flex:1 1;min-height:0;scrollbar-width:thin;scrollbar-color:#d8c8ec transparent}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 14px;align-content:start}.work-card{border:1px solid #eeebf3;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 3px 12px #4d375407;transition:box-shadow .2s,transform .2s;min-width:0}.work-card:hover{box-shadow:0 8px 24px #6f488015;transform:translateY(-2px)}.work-preview{display:block;position:relative;width:100%;aspect-ratio:1.33;background:#eeebf3;padding:0;border:0;cursor:pointer;overflow:hidden}.work-preview video{width:100%;height:100%;object-fit:cover;display:block}.work-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;color:#b5a4c9;background:radial-gradient(ellipse at 30% 20%,#fcfaff,transparent 70%),linear-gradient(130deg,#eeedf6,#e3d9f0)}.work-placeholder span{font-size:10px}.work-preview.failed .work-placeholder{background:linear-gradient(125deg,#fbf3f6,#f0e4ef);color:#bb96ab}.work-status{position:absolute;left:9px;top:9px;background:#33313bc9;color:#fff;border-radius:5px;font-size:9px;padding:5px 7px;display:flex;align-items:center;gap:4px}.gallery-footer i,.work-status i{width:4px;height:4px;border-radius:50%;background:#68d6b6;display:inline-block}.work-status.pending i{background:#ceaffa}.work-status.failed i{background:#e693a0}.work-spec{position:absolute;right:9px;top:9px;display:flex;gap:4px}.work-spec>span{background:#33313bb8;color:#fff;font-size:9px;border-radius:5px;padding:5px}.play-orbit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#24212e85;color:#fff;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.play-orbit svg{fill:currentColor;stroke-width:0;margin-left:-2px}.work-body{padding:12px 11px 10px}.work-prompt{font-size:12px;color:#635b6c;line-height:1.7;height:37px;padding:0;border:0;background:transparent;text-align:left;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer;width:100%;overflow-wrap:anywhere}.work-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:10px 0;font-size:9px;color:#8b8197}.work-meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-meta time{flex-shrink:0}.work-actions{display:flex;gap:6px}.work-actions>a:first-child{display:flex;align-items:center;justify-content:center;gap:5px;flex:1 1;padding:6px;color:#897398;font-size:11px;background:#faf8fc;border:1px solid #eeeaf3;border-radius:6px}.work-actions>a:first-child:hover{background:#f1e9fb;color:#9060c7}.work-actions .icon-button{width:30px;height:28px;border-radius:6px;background:#faf8fc}.gallery-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 22px;border-top:1px solid #f1edf5;color:#b7a9c2;font-size:10px}.gallery-footer a,.gallery-footer>span{display:flex;align-items:center;gap:6px}.gallery-footer i{background:#c7addf}.gallery-message{background:#fdf6f7;color:#bd7486;border-radius:6px;margin:12px 20px 0;padding:10px;font-size:12px;overflow-wrap:anywhere}.gallery-pagination{justify-content:space-between;flex-wrap:wrap;padding:12px 20px;border-top:1px solid #f1edf5;font-size:11px;color:#8e7f9b}.gallery-pagination,.gallery-pagination>div{display:flex;align-items:center;gap:10px}.gallery-pagination .button{padding:7px 11px;font-size:11px}.gallery-empty{min-height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px}.empty-art{width:190px;height:146px;position:relative;margin-bottom:18px}.empty-frame{position:absolute;width:128px;height:95px;border-radius:15px}.empty-frame.back{top:16px;left:16px;background:#eee7f8;transform:rotate(-13deg);border:1px solid #e6ddf1}.empty-frame.front{top:34px;left:46px;background:linear-gradient(130deg,#fff,#f5effc);border:1px solid #e3d6f0;box-shadow:0 12px 30px #ac90c421;transform:rotate(8deg);display:grid;place-items:center;color:#c1a3e0}.empty-star{position:absolute;right:9px;top:2px;color:#b895dc}.gallery-empty h2{font-size:18px;font-weight:500;letter-spacing:.5px;margin:6px 0 8px;color:#8f7ba3}.gallery-empty p{color:#b6a8c2;font-size:12px;line-height:1.8}.empty-note{margin-top:50px;color:#d2c8dd;font-size:8px;letter-spacing:2px}.work-skeleton{border:1px solid #f0edf5;border-radius:12px;padding-bottom:13px;overflow:hidden}.work-skeleton>div{aspect-ratio:1.33;background:#f3eff8}.work-skeleton>span{display:block;height:10px;margin:13px 12px 0;border-radius:5px;background:#f3eff8}.work-skeleton>span:last-child{width:60%}.work-dialog{max-width:860px;width:calc(100% - 36px);max-height:90dvh;padding:0;border:1px solid #eee6f7;border-radius:17px;background:#fff;color:var(--text);box-shadow:0 24px 120px #2d154650}.work-dialog::backdrop{background:#21162f99;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid var(--line)}.dialog-heading h2{margin:0;font-size:16px;font-weight:500}.dialog-content{padding:20px}.dialog-content>video{width:100%;max-height:48dvh;display:block;background:#1c1823;border-radius:10px}.dialog-placeholder{padding:45px 20px;text-align:center;background:#f6f0fc;color:#b29acb;border-radius:10px}.detail-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:11px;color:#ae9fbb;margin-top:17px}.detail-prompt{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;font-size:13px;color:#7b6c89;max-height:190px;overflow:auto}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.detail-id{color:#b4a5c1;font-size:10px;overflow-wrap:anywhere;margin-bottom:0}.text-link{color:#9a71c8;font-size:12px;display:inline-block;margin-top:15px}.studio-theme td{color:#756981}.studio-theme th{background:#faf8fc;color:#8c7d9d;font-size:12px;font-weight:500}.studio-theme td{font-size:12px}.studio-theme .table-wrap{border-radius:11px}.studio-theme .status{font-size:11px;font-weight:500}.studio-theme .status.running{color:#9870c9;background:#eee5fa}.studio-theme .status.pending{color:#a0804f;background:#faf2e6}.studio-theme .copy-link{color:#9973cc}.studio-theme .preview{background:#f8f5fc;color:#9c83b6}.studio-theme .login-card h1{font-size:28px;font-weight:600}.studio-theme .login-page{min-height:calc(100dvh - 90px)}@media (min-width:1750px){.creation-workspace{grid-template-columns:minmax(360px,1fr) 720px;gap:24px}.works-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.composer .prompt-panel textarea{height:25dvh}}@media (max-width:1200px){.creation-workspace{grid-template-columns:360px minmax(0,1fr);gap:14px}.creation-page{padding:0 14px 14px}.gallery-toolbar{flex-wrap:wrap;gap:10px}.gallery-search{max-width:none;width:100%}.works-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr))}.composer-footer,.composer-scroll{padding-left:15px;padding-right:15px}.composer-caption{display:none}.prompt-footer>span:nth-child(2){font-size:8px}}@media (max-width:850px){.studio-sidebar{width:64px}.studio-body{width:calc(100% - 64px);margin-left:64px}.creation-workspace{grid-template-columns:290px minmax(0,1fr);gap:12px}.works-grid{grid-template-columns:1fr}.gallery-filters{gap:0}.gallery-filters button{padding:6px 7px;font-size:10px}.creations-header{padding:20px 13px 15px}.creations-header h1{font-size:14px;gap:7px}.creations-header h1>span{font-size:9px;padding:3px 6px}.gallery-toolbar{padding-left:13px;padding-right:13px}.gallery-scroll{padding:13px}.gallery-footer{padding:12px 13px}.gallery-footer>span{display:none}}@media (max-width:680px){.studio-sidebar{position:fixed;top:auto;bottom:0;width:100%;height:62px;flex-direction:row;border-top:1px solid #eee8f6;border-right:0;padding-bottom:env(safe-area-inset-bottom)}.sidebar-bottom,.studio-brand{display:none}.studio-nav{display:flex;justify-content:space-around;gap:0;padding:4px 12px}.studio-nav a{flex-direction:row;padding:10px 18px;gap:7px}.studio-body{margin-left:0;width:100%;padding-bottom:74px}.workspace-topbar{padding:0 16px;height:60px}.workspace-wordmark{font-size:15px}.studio-theme .user-nav{font-size:9px;gap:7px}.studio-theme .user-nav span{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.creation-workspace{display:flex;flex-direction:column;height:auto;min-height:0;gap:18px}.composer .generation-fieldset{height:auto}.composer-scroll{overflow:visible;scrollbar-gutter:auto;padding:0 18px 17px}.composer .prompt-panel textarea{height:200px}.composer-caption{display:block}.composer-footer{padding:12px 18px 18px}.creations-panel{min-height:450px}.gallery-scroll{overflow:visible}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 9px}.work-spec{right:6px;top:6px;gap:3px}.work-status{left:6px;top:6px}.work-spec>span,.work-status{font-size:8px;padding:4px}.work-body{padding:9px 8px}.work-meta{flex-direction:column;align-items:flex-start;gap:3px}.creations-header{padding:20px 16px 15px}.gallery-toolbar{padding:0 16px 14px}.gallery-search{max-width:100%}.gallery-footer>span{display:flex}.gallery-empty{padding:45px 15px}.studio-body>main:not(.creation-page){padding:8px 14px 25px}.studio-theme .hero h1{font-size:25px}.studio-theme .panel{padding:17px}.studio-theme .composer .panel{padding:0}.signed-out .studio-sidebar{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;scroll-behavior:auto!important}}.studio-theme .form-row label,.studio-theme .label{color:#81748e}.studio-theme .readonly-box{background:#faf7fd;border-color:#e8e0ef;color:#806c95;font-weight:500;font-size:13px}.studio-theme .admin-create-panel,.studio-theme .admin-directory,.studio-theme .admin-stat-card{background:#fff;border-color:var(--line)}.studio-theme .admin-stat-card.success{background:#f1faf6}.studio-theme .admin-stat-card.accent{background:#f6f0fc}.studio-theme .admin-account-title strong,.studio-theme .admin-create-panel>summary strong,.studio-theme .admin-stat-card strong{color:#746083}.studio-theme .admin-account-card.is-disabled,.studio-theme .admin-key-editor,.studio-theme .admin-profile-editor{background:#faf8fc}.studio-theme .admin-key-label span{color:#81738e}.studio-theme .admin-account-avatar{background:#f1e9fb;color:#9972ca}.studio-theme .admin-create-toggle,.studio-theme .badge-key{color:#9566c5}.studio-theme .admin-notice.success,.studio-theme .badge-active{color:#399577}.studio-theme .badge-disabled,.studio-theme .badge-warning{color:#a78342}.studio-theme .admin-notice.error{color:#ba6578}.studio-theme .prompt-preview{color:#756782;font-size:12px}.studio-theme .video-actions a{color:#9566bd}.studio-theme .failed-video-box,.studio-theme .failed-video-box p,.studio-theme .failed-video-box strong,.studio-theme .task-error{color:#b8586d}.studio-theme .failed-video-box{background:#fcf2f5;border-color:#efced7}.composer .footer-duration{margin-bottom:10px}.duration-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--text)}.composer .duration-heading .compact-toggle{margin:0;white-space:nowrap}.composer .footer-duration .range-wrap input{min-height:36px;padding:7px 10px}.composer .settings-rotation{border-top:1px solid var(--line);padding:14px 0}.composer .settings-rotation .rotation-card{margin:0}@media (max-width:520px),(min-width:681px) and (max-width:850px){.composer .sortable-image-card{grid-template-columns:17px 42px minmax(0,1fr) 52px!important;gap:8px!important}.composer .sortable-image-card .image-info{grid-column:3/5!important}.composer .sortable-image-card .image-role-select{grid-column:3!important;grid-row:2}.composer .sortable-image-card .image-remove-button{grid-column:4;grid-row:2}}.composer .image-view-link{display:inline-block;margin-top:4px;font-size:11px;color:#416ca8;text-decoration:underline;text-underline-offset:3px}.composer .image-view-link:hover{color:#274f87}.portrait-library{margin:0 0 16px}.portrait-library-body{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.portrait-import{margin-bottom:12px}.portrait-import summary{cursor:pointer;color:var(--text)}.composer .portrait-import textarea{min-height:100px;font-size:12px;margin:8px 0}.portrait-file{display:block;font-size:12px;margin:8px 0}.portrait-file input{width:100%;font-size:11px;margin:6px 0}.portrait-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:10px;margin-top:12px}.portrait-card{min-width:0;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);color:var(--text);cursor:pointer;text-align:left}.portrait-card:disabled{cursor:default;opacity:.55}.portrait-thumb{position:relative;height:110px;display:grid;place-items:center;overflow:hidden;border-radius:6px;color:var(--muted);background:var(--panel)}.portrait-thumb img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;background:var(--panel)}.portrait-card small,.portrait-card strong,.portrait-card>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:11px}.portrait-card small{color:var(--muted);font-size:9px}.portrait-card>span{color:var(--accent)}.portrait-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.portrait-pagination button{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px}.image-mentions{max-height:180px;overflow-y:auto;border-top:1px solid var(--line);background:var(--panel);padding:6px}.image-mentions button{width:100%;display:flex;gap:12px;padding:9px;border:0;background:transparent;color:var(--text);cursor:pointer;text-align:left}.image-mentions button[aria-selected=true]{background:var(--panel-2);color:var(--accent)}.image-mentions button span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--muted)}.image-mentions p{margin:8px;color:var(--muted);font-size:12px}.workspace-actions{display:flex;align-items:center;gap:14px;min-width:0}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font-size:12px;cursor:pointer}.theme-toggle:hover{background:var(--panel-2)}.theme-toggle:disabled{opacity:.5}:root[data-theme=dark]{color-scheme:dark;--bg:#10131c;--panel:#191e2b;--panel-2:#222838;--text:#eceef6;--muted:#adb5c8;--line:#343c50;--accent:#b29ae9;--accent-2:#c4acf5;--danger:#f18ba0;--success:#6ad6b4;--warning:#e2bf7d}[data-theme=dark] body.studio-theme{background:var(--bg)}[data-theme=dark] .studio-theme :is(.studio-sidebar,.composer,.creations-panel,.panel,.login-card,.composer-footer,.work-card,.work-dialog,.admin-stat-card,.admin-create-panel,.admin-directory){background:var(--panel);border-color:var(--line);box-shadow:none}[data-theme=dark] .studio-theme :is(input,select,textarea,.user-nav button,.icon-button){background-color:var(--panel-2);color:var(--text);border-color:var(--line)}[data-theme=dark] .studio-theme :is(input,textarea)::placeholder{color:#8f9ab3}[data-theme=dark] .studio-theme :is(.workspace-wordmark,.work-prompt,.detail-prompt,td,.prompt-preview,.image-info strong,.prompt-label h2,.admin-stat-card strong,.admin-create-panel>summary strong,.admin-account-title strong){color:var(--text)}[data-theme=dark] .studio-theme :is(.workspace-wordmark>span,.brand-caption,.sidebar-version,.studio-nav a,.user-nav,.composer-caption,.cloud-title,.cloud-desc,.prompt-label>span,.prompt-footer,.rotation-control,.form-row label,.label,.compact-toggle,.generation-options>summary,.generation-options>summary span:last-child,.form-secondary-actions .button,.image-sort-help,.image-info span,.creations-header p,.gallery-filters button,.gallery-footer,.gallery-pagination,.work-meta,.detail-meta,.detail-id,.gallery-empty p,.empty-note,.admin-key-label span){color:var(--muted)}[data-theme=dark] .studio-theme :is(.composer-heading,.prompt-panel,.generation-options,.generation-options[open]>summary,.gallery-toolbar,.gallery-footer,.gallery-pagination,.work-skeleton){border-color:var(--line)}[data-theme=dark] .studio-theme :is(.prompt-panel,.sortable-image-card,.gallery-search,.creations-header h1>span,.readonly-box,th,.preview,.admin-key-editor,.admin-profile-editor,.admin-account-card.is-disabled){background:var(--panel-2);color:var(--muted);border-color:var(--line)}[data-theme=dark] .studio-theme .composer .generation-settings{background:transparent}[data-theme=dark] .studio-theme :is(.composer .prompt-panel textarea,.gallery-search input){background:transparent;color:var(--text)}[data-theme=dark] .studio-theme .button{background:var(--panel-2);color:var(--text)}[data-theme=dark] .studio-theme .button.ghost{background:transparent;border-color:var(--line)}[data-theme=dark] .studio-theme :is(.button:hover,.icon-button:hover){background:#30364a}[data-theme=dark] .studio-theme .button.primary{background:linear-gradient(105deg,#8061c5,#9b73d6);color:#fff}[data-theme=dark] .studio-theme .button.primary:hover{background:linear-gradient(105deg,#9170d6,#ac84e7)}[data-theme=dark] .studio-theme :is(.asset-tabs button,.rotation-toggle,.work-actions>a:first-child,.work-actions .icon-button){background:var(--panel-2);color:var(--muted);border-color:var(--line)}[data-theme=dark] .studio-theme :is(.studio-nav a.active,.studio-nav a:hover,.asset-tabs button.selected,.gallery-filters button.selected,.rotation-toggle.enabled,.admin-account-avatar){background:#352b4d;color:#d0b8ff;border-color:#51436a}[data-theme=dark] .studio-theme :is(.asset-tabs button span,.composer-heading svg,.cloud-icon,.gallery-search,.copy-link,.video-actions a,.text-link,.gallery-empty h2,.admin-create-toggle,.badge-key){color:#c3a9f3}[data-theme=dark] .studio-theme .composer .cloud-upload{background:#1f2433;border-color:#4a435f!important}[data-theme=dark] .studio-theme .composer .cloud-upload.dragging,[data-theme=dark] .studio-theme .composer .cloud-upload:hover{background:#30273f!important}[data-theme=dark] .studio-theme :is(.work-preview,.work-skeleton>div,.work-skeleton>span){background:var(--panel-2)}[data-theme=dark] .studio-theme :is(.work-placeholder,.dialog-placeholder,.empty-frame.front){background:linear-gradient(130deg,#262e43,#30283f);color:#b9a9d0;border-color:var(--line)}[data-theme=dark] .studio-theme .empty-frame.back{background:#272237;border-color:var(--line)}[data-theme=dark] .studio-theme :is(.work-preview.failed .work-placeholder,.gallery-message,.failed-video-box){background:#362532;color:var(--danger);border-color:#694050}[data-theme=dark] .studio-theme :is(.failed-video-box strong,.failed-video-box p,.task-error,.admin-notice.error){color:var(--danger)}[data-theme=dark] .studio-theme .status.running{background:#352b4d;color:#d0b8ff}[data-theme=dark] .studio-theme :is(.status.pending,.badge-disabled,.badge-warning){background:#392f20;color:var(--warning)}[data-theme=dark] .studio-theme :is(.admin-stat-card.success,.admin-notice.success){background:#1d342f;color:var(--success)}[data-theme=dark] .studio-theme .admin-stat-card.accent{background:#30283f}[data-theme=dark] .studio-theme .badge-active{color:var(--success)}[data-theme=dark] .studio-theme :is(.composer-scroll,.gallery-scroll){scrollbar-color:#5a4f74 transparent}[data-theme=dark] .studio-theme .duration-range::-webkit-slider-runnable-track{background:linear-gradient(to right,#b29ae9 var(--duration-progress),#343c50 var(--duration-progress))!important}[data-theme=dark] .studio-theme .duration-range::-webkit-slider-thumb{border-color:var(--panel)!important}[data-theme=dark] .studio-theme .duration-range::-moz-range-track{background:var(--line)!important}[data-theme=dark] .studio-theme .duration-range::-moz-range-thumb{border-color:var(--panel)!important}@media (max-width:680px){.workspace-actions{gap:8px}.theme-toggle{font-size:10px;padding:6px 7px;gap:4px}.workspace-topbar{gap:8px}.studio-theme .user-nav span{max-width:95px}}@media (max-width:380px){.theme-toggle span{display:none}}[data-theme=dark] .studio-theme .composer .image-role-select{background-color:#27394f;border-color:#46648a;color:#b3d2ff}[data-theme=dark] .studio-theme .composer .image-remove-button{background:#432634;border-color:#794357;color:#ffb0c2}[data-theme=dark] .studio-theme .composer .image-remove-button:hover{background:#593043;border-color:#a25b76}[data-theme=dark] .studio-theme .image-view-link{color:#b3d2ff}[data-theme=dark] .studio-theme .image-view-link:hover{color:#deebff}