.sr-only[data-v-5d61449b]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.timestamp-stat strong[data-v-edff64a8]{font-size:15px;line-height:1.5;overflow-wrap:anywhere}.membership-time-page[data-v-0754c8ef]{padding:0}.membership-plan-row[data-v-0754c8ef],.order-cards[data-v-0754c8ef]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}.duration-card[data-v-0754c8ef],.order-card[data-v-0754c8ef]{display:grid;gap:8px;padding:16px}.duration-card strong[data-v-0754c8ef]{color:var(--tj-blue);font-size:20px}.duration-card p[data-v-0754c8ef],.order-card span[data-v-0754c8ef]{margin:0;color:var(--tj-muted);line-height:1.6}.order-card.empty[data-v-0754c8ef]{border-style:dashed}.local-agent-status-grid[data-v-bfafa14d],.local-form-grid[data-v-bfafa14d]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.local-agent-status-grid span[data-v-bfafa14d],.local-flow-card[data-v-bfafa14d],.local-result-card[data-v-bfafa14d]{min-width:0;padding:10px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#0f172a85;overflow-wrap:anywhere}.local-agent-status-grid b[data-v-bfafa14d],.local-flow-card span[data-v-bfafa14d]{display:block;margin-bottom:4px;color:#78d6ff;font-size:12px}.local-agent-port[data-v-bfafa14d]{margin-top:12px}.local-flow-card[data-v-bfafa14d]{display:grid;gap:8px;margin-top:12px;border-color:#2dd4bf3d;background:linear-gradient(135deg,#0d948833,#0f172a75),#02061752}.local-flow-card strong[data-v-bfafa14d]{color:#f8fafc;font-size:20px}.local-flow-card p[data-v-bfafa14d],.local-flow-card small[data-v-bfafa14d],.local-agent-error[data-v-bfafa14d]{margin:0;color:#9fb0c7}.local-agent-error[data-v-bfafa14d]{margin-top:10px;color:#fecaca}.local-result-card[data-v-bfafa14d]{display:grid;gap:10px;margin-top:12px}.local-result-card.success[data-v-bfafa14d]{border-color:#22c55e47;background:#14532d2e}.local-result-card h4[data-v-bfafa14d]{margin:0}.local-future-list[data-v-bfafa14d]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.local-future-list button[data-v-bfafa14d]{border:1px dashed rgba(148,163,184,.28);border-radius:8px;padding:9px;color:#9fb0c7;background:#0f172a6b}.local-agent-modal[data-v-bfafa14d]{width:min(680px,100%)}@media (max-width: 900px){.local-agent-status-grid[data-v-bfafa14d],.local-form-grid[data-v-bfafa14d],.local-future-list[data-v-bfafa14d]{grid-template-columns:1fr}}.tj-shell:has(.workspace-preview-page){display:block}.tj-shell:has(.workspace-preview-page) .tj-sidebar,.tj-shell:has(.workspace-preview-page) .tj-topbar{display:none}.workspace-preview-page{min-height:100vh;padding:18px;color:#e5edf7;background:radial-gradient(circle at 16% 8%,rgba(20,184,166,.22),transparent 28%),radial-gradient(circle at 86% 18%,rgba(37,99,235,.24),transparent 34%),linear-gradient(135deg,#06111f,#101827 48%,#10251e)}.workspace-preview-shell{display:grid;grid-template-columns:220px minmax(0,1fr) 280px;gap:16px;align-items:start}.preview-header-bar,.preview-sidebar,.preview-card{border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#0f172ac7;box-shadow:0 24px 70px #00000047;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.preview-header-bar{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:16px;padding:16px;background:linear-gradient(135deg,#0f172ae6,#082f49ad),#0f172ad1}.brand-zone{display:flex;gap:10px;align-items:center}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,#2563eb,#10b981);color:#fff;font-weight:800}.brand-zone strong,.preview-card h3,.preview-card h4{color:#f8fafc}.brand-zone p,.preview-card p,.empty-state,.context-strip span,.compact-list span,.message-list small,.tool-grid small{color:#9fb0c7}.context-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.context-strip span,.trace-grid span,.right-status span,.metric-row span{min-width:0;padding:9px 10px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#0f172ab8;overflow-wrap:anywhere}.context-strip b,.trace-grid b,.right-status b,.metric-row b{display:block;margin-bottom:3px;color:#78d6ff;font-size:12px}.good{color:#6ee7b7!important}.warn{color:#fbbf24!important}.header-buttons,.inline-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.primary-button,.ghost-button{border:0;border-radius:8px;padding:9px 13px;cursor:pointer}.primary-button{color:#fff;background:#2563eb}.primary-button.alt{background:#0f766e}.ghost-button{color:#dbeafe;background:#2563eb2e;border:1px solid rgba(147,197,253,.22);text-decoration:none}.primary-button:disabled,.ghost-button:disabled{opacity:.55;cursor:not-allowed}.preview-sidebar{position:sticky;top:14px;display:grid;gap:8px;padding:10px}.sidebar-main{display:grid;gap:4px}.preview-sidebar a{display:grid;gap:3px;padding:10px;border-radius:8px;color:#dbeafe;text-decoration:none}.preview-sidebar a:hover{background:#2563eb2e}.preview-sidebar span{color:#8ba4c5;font-size:12px}.sidebar-links{display:grid;gap:4px;padding-top:8px;border-top:1px solid rgba(148,163,184,.18)}.sidebar-links small{padding:6px 10px 2px;color:#78d6ff}.workspace-preview-main,.side-stack{display:grid;gap:16px}.preview-grid.two{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px;align-items:start}.preview-grid.one{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.preview-card{padding:16px}.card-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;margin-bottom:14px}.card-title h3,.card-title p,.preview-card h4{margin:0}.status-dot{width:11px;height:11px;margin-top:6px;border-radius:999px;background:#f59e0b;box-shadow:0 0 18px #f59e0bb8}.status-dot.good{background:#22c55e;box-shadow:0 0 18px #22c55eb8}.status-dot.muted{background:#64748b;box-shadow:none}.project-stage-grid,.metric-row,.trace-grid{display:grid;gap:10px}.project-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.creation-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}.creation-steps button{display:grid;grid-template-rows:auto auto 1fr auto;gap:6px;min-height:146px;padding:12px;border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#dbeafe;background:#0f172a94;cursor:pointer;text-align:left}.creation-steps button.done{border-color:#2dd4bf85;background:#0d948829}.creation-steps button>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#fff;background:#2563ebe0;font-weight:800}.creation-steps small,.creation-steps em{color:#9fb0c7;font-style:normal}.creation-steps em{color:#67e8f9}.stage-panel{display:grid;gap:10px;padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#02061747}.stage-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-row,.trace-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-top:12px}.trace-grid.compact{grid-template-columns:1fr}.form-block,.guest-empty{display:grid;gap:10px;padding:12px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#0206175c}.form-block label,.wide-input,.tool-form label,.emergency-box label,.preview-modal label{display:grid;gap:6px;color:#cbd5e1}.workspace-preview-page input,.workspace-preview-page select,.workspace-preview-page textarea{width:100%;border:1px solid rgba(148,163,184,.32);border-radius:8px;padding:9px 10px;color:#f8fafc;background:#0f172adb}.select-list,.compact-list,.message-list,.event-list,.team-options{display:grid;gap:8px}.select-list button,.tool-grid button,.coming-grid button,.team-options button{display:grid;gap:4px;width:100%;padding:10px;border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#dbeafe;background:#0f172a8f;cursor:pointer;text-align:left}.select-list button.active,.tool-grid button.active{border-color:#38bdf8;background:#0e749047}.compact-list div,.message-list div,.event-list div{display:grid;gap:4px;padding:10px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#02061752}.message-list b,.event-list b,.compact-list strong{color:#e0f2fe}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tool-form{display:grid;gap:10px;margin:12px 0}.friendly-result,.draft-result-card{display:grid;gap:12px;margin-top:14px;padding:14px;border:1px solid rgba(45,212,191,.24);border-radius:8px;background:#082f4947}.result-hero,.drawer-summary-card,.progress-hero{display:grid;gap:6px;padding:12px;border:1px solid rgba(56,189,248,.2);border-radius:8px;background:linear-gradient(135deg,#0e74903d,#0f172a6b),#02061742}.result-hero span,.drawer-summary-card span,.progress-hero span{color:#67e8f9;font-size:12px;font-weight:800}.result-hero strong,.drawer-summary-card strong,.progress-hero strong{color:#f8fafc;font-size:20px}.friendly-result h4,.draft-result-card h4{margin:0;color:#f8fafc}.result-kicker{display:inline-block;width:fit-content;margin-bottom:6px;padding:4px 8px;border-radius:999px;color:#bbf7d0;background:#16a34a2e;font-size:12px;font-weight:700}.result-checks,.progress-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.result-checks span,.progress-summary span{min-width:0;padding:10px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#0f172a8a;overflow-wrap:anywhere}.result-checks b,.progress-summary b{display:block;margin-bottom:4px;color:#78d6ff;font-size:12px}.draft-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.draft-step-grid div{display:grid;gap:6px;padding:10px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#0f172a80}.draft-step-grid div>span{width:12px;height:12px;border-radius:999px;background:#64748b}.draft-step-grid div.done>span{background:#22c55e;box-shadow:0 0 16px #22c55e99}.draft-step-grid small{color:#9fb0c7}.technical-details{border-top:1px solid rgba(148,163,184,.14);padding-top:10px}.technical-details summary,.raw-events summary{cursor:pointer;color:#93c5fd}.detail-button{justify-self:start}.json-preview,.raw-events pre{max-height:280px;overflow:auto;margin:12px 0 0;padding:12px;border-radius:8px;color:#d1fae5;background:#020617;white-space:pre-wrap;word-break:break-word}.coming-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.coming-grid button{padding:9px;border:1px dashed rgba(148,163,184,.34);border-radius:8px;color:#cbd5e1;background:#0f172a66;cursor:pointer;text-align:left}.coming-grid button strong{color:#e0f2fe}.coming-grid button span{color:#9fb0c7}.coming-grid button small,.coming-grid button em{color:#67e8f9;font-size:12px;font-style:normal}.workspace-preview-right{position:sticky;top:14px}.right-status{display:grid;gap:8px}.status-actions{display:grid;gap:8px;margin:12px 0}.progress-timeline{display:grid;gap:8px;margin-top:14px}.progress-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-bottom:12px}.progress-meter{--progress: 0%;width:82px;height:82px;display:grid;place-items:center;border-radius:999px;background:radial-gradient(circle,#0f172a 58%,transparent 60%),conic-gradient(#22c55e var(--progress),rgba(148,163,184,.2) 0)}.progress-meter b{color:#e0f2fe}.progress-feed{display:grid;gap:8px;margin-top:14px}.progress-timeline div{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:2px 8px;padding:10px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#0f172a6b}.progress-timeline div>span{grid-row:1 / span 2;width:12px;height:12px;display:grid;place-items:center;margin-top:4px;border-radius:999px;color:transparent;background:#64748b;font-size:10px;font-weight:800}.progress-timeline div.done>span{color:#052e16;background:#22c55e;box-shadow:0 0 16px #22c55ea3}.progress-timeline small{color:#9fb0c7}.preview-toast{position:fixed;right:22px;bottom:22px;z-index:50;max-width:min(520px,calc(100vw - 44px));padding:12px 14px;border-radius:8px;color:#e0f2fe;background:#0f172af5;border:1px solid rgba(56,189,248,.28)}.preview-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:24px;background:#020617b8}.preview-modal{width:min(560px,100%);display:grid;gap:13px;padding:20px;border:1px solid rgba(148,163,184,.24);border-radius:8px;color:#dbeafe;background:#0f172a;box-shadow:0 24px 80px #0000006b}.preview-modal.team-modal{width:min(720px,100%)}.preview-modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.preview-modal header span{color:#38bdf8;font-weight:700}.preview-modal h2,.preview-modal p{margin:0}.icon-button{width:32px;height:32px;border:0;border-radius:8px;color:#dbeafe;background:#94a3b824;cursor:pointer}.emergency-box{display:grid;gap:10px;padding:12px;border-radius:8px;border:1px solid rgba(148,163,184,.2);background:#02061752}.preview-modal footer{display:flex;justify-content:flex-end;gap:8px}.dialog-preview{padding:12px;border:1px solid rgba(148,163,184,.2);border-radius:8px;color:#dbeafe;background:#02061757}.dialog-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.dialog-flow span{display:grid;gap:5px;padding:10px;border:1px solid rgba(148,163,184,.16);border-radius:8px;color:#dbeafe;background:#0f172a80}.dialog-flow b{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;color:#fff;background:#2563ebdb}.workspace-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none}.drawer-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#0206177a;pointer-events:auto}.drawer-panel{position:absolute;top:0;right:0;width:min(520px,100vw);height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:18px;border-left:1px solid rgba(148,163,184,.22);color:#e5edf7;background:#0f172afa;box-shadow:-24px 0 80px #0000005c;pointer-events:auto;overflow:auto}.drawer-panel header{display:flex;justify-content:space-between;gap:12px}.drawer-panel header span{color:#38bdf8;font-weight:700}.drawer-panel h2{margin:4px 0 0}.drawer-content{display:grid;align-content:start;gap:12px}.drawer-timeline{margin-top:0}@media (max-width: 1280px){.workspace-preview-shell,.preview-header-bar{grid-template-columns:1fr}.preview-sidebar,.workspace-preview-right{position:static}.context-strip,.draft-step-grid,.dialog-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.preview-grid.two,.project-stage-grid,.tool-grid,.coming-grid,.creation-steps,.draft-step-grid,.dialog-flow,.progress-hero{grid-template-columns:1fr}}.workflow-canvas-page[data-v-bfa24f4a]{min-height:100vh;background:#f6f8fb;color:#162033;padding:24px}.page-header[data-v-bfa24f4a]{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.eyebrow[data-v-bfa24f4a]{margin:0 0 6px;color:#64748b;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.page-header h1[data-v-bfa24f4a]{margin:0;font-size:28px;line-height:1.2}.header-status[data-v-bfa24f4a]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.header-status span[data-v-bfa24f4a],.header-status strong[data-v-bfa24f4a]{border:1px solid #cbd5e1;border-radius:999px;background:#fff;padding:7px 12px;font-size:13px;line-height:1}.header-status strong[data-v-bfa24f4a]{border-color:#fed7aa;color:#9a3412;background:#fff7ed}.toolbar[data-v-bfa24f4a],.canvas-panel[data-v-bfa24f4a],.side-panel section[data-v-bfa24f4a]{border:1px solid #d8e0eb;background:#fff;box-shadow:0 14px 40px #0f172a0f}.toolbar[data-v-bfa24f4a]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border-radius:8px;margin-bottom:16px}.node-palette[data-v-bfa24f4a],.toolbar-actions[data-v-bfa24f4a]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}button[data-v-bfa24f4a]{border:1px solid #cbd5e1;background:#fff;color:#172033;border-radius:8px;min-height:34px;padding:0 12px;font:inherit;cursor:pointer}button[data-v-bfa24f4a]:hover:not(:disabled){border-color:#2563eb;color:#1d4ed8}button[data-v-bfa24f4a]:disabled{color:#94a3b8;cursor:not-allowed}button.danger[data-v-bfa24f4a]{border-color:#fecaca;color:#b91c1c;background:#fff5f5}.palette-button[data-v-bfa24f4a]{display:inline-flex;align-items:center;gap:7px}.palette-button span[data-v-bfa24f4a]{width:9px;height:9px;border-radius:50%;background:var(--node-accent)}.workspace[data-v-bfa24f4a]{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.canvas-panel[data-v-bfa24f4a]{border-radius:8px;overflow:hidden}.status-strip[data-v-bfa24f4a]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:10px 14px;border-bottom:1px solid #e2e8f0;background:#fbfdff;color:#475569;font-size:13px}.canvas-viewport[data-v-bfa24f4a]{height:640px;overflow:auto;background:linear-gradient(#e7edf5 1px,transparent 1px),linear-gradient(90deg,#e7edf5 1px,transparent 1px);background-size:28px 28px}.canvas-surface[data-v-bfa24f4a]{position:relative;width:1600px;height:960px}.edge-layer[data-v-bfa24f4a]{position:absolute;top:0;right:0;bottom:0;left:0;width:1600px;height:960px;pointer-events:none}.edge-path[data-v-bfa24f4a]{fill:none;stroke:#64748b;stroke-width:3;stroke-linecap:round}.canvas-node[data-v-bfa24f4a]{position:absolute;width:236px;min-height:118px;border:1px solid #cbd5e1;border-top:4px solid var(--node-accent);border-radius:8px;background:#fff;padding:12px 14px;box-shadow:0 12px 28px #0f172a1f;cursor:grab;-webkit-user-select:none;user-select:none}.canvas-node[data-v-bfa24f4a]:active{cursor:grabbing}.canvas-node.selected[data-v-bfa24f4a]{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb29,0 16px 32px #0f172a29}.canvas-node.connecting[data-v-bfa24f4a]{outline:3px solid rgba(22,163,74,.22)}.node-head[data-v-bfa24f4a]{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:22px;color:#64748b;font-size:12px}.node-head strong[data-v-bfa24f4a]{border:1px solid #fed7aa;border-radius:999px;background:#fff7ed;color:#9a3412;padding:3px 7px;font-size:11px;line-height:1}.canvas-node h2[data-v-bfa24f4a]{margin:8px 0 6px;font-size:16px;line-height:1.35;overflow-wrap:anywhere}.canvas-node p[data-v-bfa24f4a]{margin:0;color:#64748b;font-size:13px;line-height:1.45}.port[data-v-bfa24f4a]{position:absolute;top:52px;width:16px;height:16px;min-height:16px;padding:0;border:2px solid #ffffff;border-radius:50%;background:var(--node-accent);box-shadow:0 0 0 1px #94a3b8}.input-port[data-v-bfa24f4a]{left:-8px}.output-port[data-v-bfa24f4a]{right:-8px}.empty-canvas[data-v-bfa24f4a]{position:absolute;left:80px;top:80px;display:flex;flex-direction:column;gap:6px;color:#64748b}.side-panel[data-v-bfa24f4a]{display:grid;gap:16px}.side-panel section[data-v-bfa24f4a]{border-radius:8px;padding:14px}.panel-title[data-v-bfa24f4a]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.side-panel h2[data-v-bfa24f4a]{margin:0;font-size:16px;line-height:1.3}.config-form[data-v-bfa24f4a]{display:grid;gap:10px}.config-form label[data-v-bfa24f4a]{display:grid;gap:6px;color:#475569;font-size:13px}.config-form input[data-v-bfa24f4a],.config-form textarea[data-v-bfa24f4a],.json-panel textarea[data-v-bfa24f4a]{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;color:#172033;background:#fff;padding:9px 10px;font:inherit}.config-form textarea[data-v-bfa24f4a],.json-panel textarea[data-v-bfa24f4a]{resize:vertical}.edge-panel ul[data-v-bfa24f4a]{list-style:none;display:grid;gap:8px;margin:0;padding:0}.edge-panel li[data-v-bfa24f4a]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;color:#475569;font-size:12px}.edge-panel span[data-v-bfa24f4a]{overflow-wrap:anywhere}.edge-panel p[data-v-bfa24f4a],.empty-panel[data-v-bfa24f4a]{margin:0;color:#64748b;font-size:13px}.json-panel[data-v-bfa24f4a]{display:grid;gap:10px}.json-panel textarea[data-v-bfa24f4a]{min-height:250px;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.5}@media (max-width: 1100px){.workspace[data-v-bfa24f4a]{grid-template-columns:1fr}.side-panel[data-v-bfa24f4a]{grid-template-columns:repeat(2,minmax(0,1fr))}.json-panel[data-v-bfa24f4a]{grid-column:1 / -1}}@media (max-width: 720px){.workflow-canvas-page[data-v-bfa24f4a]{padding:14px}.page-header[data-v-bfa24f4a],.toolbar[data-v-bfa24f4a]{align-items:stretch;flex-direction:column}.header-status[data-v-bfa24f4a]{justify-content:flex-start}.side-panel[data-v-bfa24f4a]{grid-template-columns:1fr}.canvas-viewport[data-v-bfa24f4a]{height:520px}}:root{color-scheme:dark;--tf-color-bg: #0b1020;--tf-color-bg-elevated: #10182c;--tf-color-panel: rgba(16, 24, 44, .94);--tf-color-card: rgba(22, 33, 58, .9);--tf-color-card-muted: rgba(30, 42, 68, .82);--tf-color-primary: #4f8cff;--tf-color-primary-strong: #2f6feb;--tf-color-primary-soft: rgba(79, 140, 255, .16);--tf-color-secondary: #31d0aa;--tf-color-secondary-soft: rgba(49, 208, 170, .16);--tf-color-success: #22c55e;--tf-color-success-soft: rgba(34, 197, 94, .15);--tf-color-warning: #f59e0b;--tf-color-warning-soft: rgba(245, 158, 11, .15);--tf-color-error: #f87171;--tf-color-error-soft: rgba(248, 113, 113, .16);--tf-color-text-primary: #eef4ff;--tf-color-text-secondary: #9fb0ca;--tf-color-text-muted: #74839e;--tf-color-border: rgba(148, 163, 184, .22);--tf-color-border-strong: rgba(148, 163, 184, .34);--tf-shadow-panel: 0 22px 60px rgba(2, 8, 23, .38);--tf-shadow-card: 0 14px 36px rgba(2, 8, 23, .3);--tf-shadow-focus: 0 0 0 3px rgba(79, 140, 255, .25);--tf-shadow-glow: 0 0 0 1px rgba(79, 140, 255, .36), 0 18px 38px rgba(79, 140, 255, .2);--tf-shadow-card-hover: 0 22px 54px rgba(2, 8, 23, .42), 0 0 28px rgba(79, 140, 255, .16);--tf-radius-xs: 4px;--tf-radius-sm: 6px;--tf-radius-md: 8px;--tf-radius-lg: 8px;--tf-motion-fast: .14s;--tf-motion-normal: .22s;--tf-motion-slow: .36s;--tf-ease-out: cubic-bezier(.16, 1, .3, 1);--tf-scale-button-hover: 1.03;--tf-scale-card-hover: 1.01;--tf-hover-translate-y: -2px;--tf-brightness-hover: 1.08;--tf-page-padding: 24px;--tf-page-gap: 18px;--tf-section-gap: 14px;--tf-font-size-xs: 12px;--tf-font-size-sm: 13px;--tf-font-size-md: 14px;--tf-font-size-lg: 16px;--tf-font-size-xl: 20px;--tf-font-size-title: 26px;--tf-line-height: 1.6;--tf-sidebar-width: 116px;--tf-topbar-height: 58px;--tj-bg: var(--tf-color-bg);--tj-panel: var(--tf-color-panel);--tj-card: var(--tf-color-card);--tj-primary: var(--tf-color-primary);--tj-accent: var(--tf-color-secondary);--tj-success: var(--tf-color-success);--tj-warning: var(--tf-color-warning);--tj-danger: var(--tf-color-error);--tj-text: var(--tf-color-text-primary);--tj-muted: var(--tf-color-text-secondary);--tj-border: var(--tf-color-border);--tj-blue: var(--tf-color-primary);--tj-green: var(--tf-color-secondary);--tj-orange: var(--tf-color-warning);--tj-purple: #a78bfa;--tj-shadow: var(--tf-shadow-card);--tj-radius: var(--tf-radius-md);--tj-page-padding: var(--tf-page-padding);--tj-font-size-xs: var(--tf-font-size-xs);--tj-font-size-sm: var(--tf-font-size-sm);--tj-font-size-md: var(--tf-font-size-md);--tj-font-size-lg: var(--tf-font-size-lg);--tj-font-size-title: var(--tf-font-size-title);--tj-motion-fast: var(--tf-motion-fast);--tj-motion-normal: var(--tf-motion-normal);--tj-motion-slow: var(--tf-motion-slow);--tj-ease-out: var(--tf-ease-out);--tj-scale-button-hover: var(--tf-scale-button-hover);--tj-scale-card-hover: var(--tf-scale-card-hover);--tj-hover-translate-y: var(--tf-hover-translate-y);--tj-brightness-hover: var(--tf-brightness-hover);--tj-shadow-glow: var(--tf-shadow-glow);--tj-shadow-card-hover: var(--tf-shadow-card-hover);--tj-border-hover: rgba(79, 140, 255, .62);--tj-glow: rgba(79, 140, 255, .28);--tj-bg-global-image: linear-gradient(90deg, rgba(148, 163, 184, .035) 1px, transparent 1px), linear-gradient(0deg, rgba(148, 163, 184, .03) 1px, transparent 1px), radial-gradient(circle at 18% 12%, rgba(79, 140, 255, .18), transparent 24rem), radial-gradient(circle at 78% 18%, rgba(49, 208, 170, .08), transparent 28rem), linear-gradient(135deg, rgba(11, 16, 32, .96), rgba(17, 24, 39, .9));--tj-bg-module-image: linear-gradient(90deg, rgba(148, 163, 184, .055) 1px, transparent 1px), linear-gradient(135deg, rgba(79, 140, 255, .08), transparent 42%), linear-gradient(180deg, rgba(255, 255, 255, .035), transparent);--tj-bg-overlay: radial-gradient(circle at center, transparent 0%, rgba(2, 8, 23, .18) 72%), linear-gradient(180deg, rgba(2, 8, 23, .02), rgba(2, 8, 23, .24));--tj-card-overlay: linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(2, 8, 23, .08));--tj-panel-overlay: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(2, 8, 23, .1));--tj-bg-global-opacity: .82;--tj-bg-module-opacity: .72;--tj-noise-opacity: .035}:root[data-theme=light]{color-scheme:light;--tf-color-bg: #f4f7fb;--tf-color-bg-elevated: #edf3fb;--tf-color-panel: rgba(255, 255, 255, .94);--tf-color-card: #ffffff;--tf-color-card-muted: #f8fbff;--tf-color-primary: #0052d9;--tf-color-primary-strong: #003eaa;--tf-color-primary-soft: rgba(0, 82, 217, .1);--tf-color-secondary: #0f9f6e;--tf-color-secondary-soft: rgba(15, 159, 110, .11);--tf-color-success: #0f9f6e;--tf-color-success-soft: rgba(15, 159, 110, .12);--tf-color-warning: #e46b17;--tf-color-warning-soft: rgba(228, 107, 23, .12);--tf-color-error: #dc2626;--tf-color-error-soft: rgba(220, 38, 38, .1);--tf-color-text-primary: #172033;--tf-color-text-secondary: #667085;--tf-color-text-muted: #8a97ab;--tf-color-border: #dbe3ef;--tf-color-border-strong: #c7d3e5;--tf-shadow-panel: 0 18px 48px rgba(23, 32, 51, .1);--tf-shadow-card: 0 12px 28px rgba(23, 32, 51, .07);--tf-shadow-focus: 0 0 0 3px rgba(0, 82, 217, .16);--tf-shadow-glow: 0 0 0 1px rgba(0, 82, 217, .24), 0 16px 34px rgba(0, 82, 217, .14);--tf-shadow-card-hover: 0 20px 46px rgba(23, 32, 51, .13), 0 0 24px rgba(0, 82, 217, .12);--tj-border-hover: rgba(0, 82, 217, .46);--tj-glow: rgba(0, 82, 217, .2);--tj-bg-global-image: linear-gradient(90deg, rgba(0, 82, 217, .04) 1px, transparent 1px), linear-gradient(0deg, rgba(0, 82, 217, .03) 1px, transparent 1px), radial-gradient(circle at 16% 10%, rgba(0, 82, 217, .13), transparent 24rem), radial-gradient(circle at 82% 12%, rgba(15, 159, 110, .07), transparent 28rem), linear-gradient(135deg, rgba(244, 247, 251, .98), rgba(238, 246, 255, .94));--tj-bg-module-image: linear-gradient(90deg, rgba(0, 82, 217, .035) 1px, transparent 1px), linear-gradient(135deg, rgba(0, 82, 217, .07), transparent 42%), linear-gradient(180deg, rgba(255, 255, 255, .55), transparent);--tj-bg-overlay: radial-gradient(circle at center, transparent 0%, rgba(255, 255, 255, .32) 74%), linear-gradient(180deg, rgba(255, 255, 255, .22), rgba(236, 244, 255, .38));--tj-card-overlay: linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(244, 248, 255, .26));--tj-panel-overlay: linear-gradient(180deg, rgba(255, 255, 255, .66), rgba(240, 246, 255, .3));--tj-bg-global-opacity: .78;--tj-bg-module-opacity: .62;--tj-noise-opacity: .018}:root[data-theme=dark]{color-scheme:dark;--tj-bg-global-image: linear-gradient(90deg, rgba(148, 163, 184, .035) 1px, transparent 1px), linear-gradient(0deg, rgba(148, 163, 184, .03) 1px, transparent 1px), radial-gradient(circle at 18% 12%, rgba(79, 140, 255, .18), transparent 24rem), radial-gradient(circle at 78% 18%, rgba(49, 208, 170, .08), transparent 28rem), linear-gradient(135deg, rgba(11, 16, 32, .96), rgba(17, 24, 39, .9));--tj-bg-module-image: linear-gradient(90deg, rgba(148, 163, 184, .055) 1px, transparent 1px), linear-gradient(135deg, rgba(79, 140, 255, .08), transparent 42%), linear-gradient(180deg, rgba(255, 255, 255, .035), transparent);--tj-bg-overlay: radial-gradient(circle at center, transparent 0%, rgba(2, 8, 23, .18) 72%), linear-gradient(180deg, rgba(2, 8, 23, .02), rgba(2, 8, 23, .24));--tj-card-overlay: linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(2, 8, 23, .08));--tj-panel-overlay: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(2, 8, 23, .1));--tj-bg-global-opacity: .82;--tj-bg-module-opacity: .72;--tj-noise-opacity: .035}:root{--tj-theme-preset-tech-blue-name: "科技蓝工作台";--tj-theme-preset-cyber-purple-name: "赛博霓虹紫"}:root[data-theme-preset=tech-blue]{--tf-color-bg: #07111f;--tf-color-bg-elevated: #0a1a2d;--tf-color-panel: rgba(12, 25, 44, .82);--tf-color-card: rgba(15, 32, 56, .78);--tf-color-card-muted: rgba(18, 42, 70, .64);--tf-color-primary: #38bdf8;--tf-color-primary-strong: #0284c7;--tf-color-primary-soft: rgba(56, 189, 248, .16);--tf-color-secondary: #22d3ee;--tf-color-secondary-soft: rgba(34, 211, 238, .14);--tf-color-text-primary: #edf8ff;--tf-color-text-secondary: #9ec7df;--tf-color-text-muted: #6f91aa;--tf-color-border: rgba(125, 211, 252, .22);--tf-color-border-strong: rgba(125, 211, 252, .38);--tf-shadow-card: 0 16px 38px rgba(0, 8, 20, .34);--tf-shadow-panel: 0 26px 68px rgba(0, 8, 20, .42);--tf-shadow-glow: 0 0 0 1px rgba(56, 189, 248, .4), 0 18px 44px rgba(56, 189, 248, .22);--tf-shadow-card-hover: 0 26px 62px rgba(0, 8, 20, .46), 0 0 34px rgba(56, 189, 248, .2);--tj-bg: #07111f;--tj-panel: rgba(12, 25, 44, .82);--tj-card: rgba(15, 32, 56, .78);--tj-primary: #38bdf8;--tj-accent: #22d3ee;--tj-glow: rgba(56, 189, 248, .36);--tj-border-hover: rgba(125, 211, 252, .72);--tj-bg-global-image: linear-gradient(90deg, rgba(125, 211, 252, .055) 1px, transparent 1px), linear-gradient(0deg, rgba(125, 211, 252, .045) 1px, transparent 1px), radial-gradient(circle at 18% 12%, rgba(56, 189, 248, .2), transparent 20rem), radial-gradient(circle at 78% 18%, rgba(34, 211, 238, .12), transparent 22rem), radial-gradient(circle at 48% 84%, rgba(56, 189, 248, .08), transparent 28rem), linear-gradient(135deg, rgba(7, 17, 31, .98), rgba(10, 28, 50, .9));--tj-bg-module-image: linear-gradient(90deg, rgba(125, 211, 252, .07) 1px, transparent 1px), linear-gradient(0deg, rgba(125, 211, 252, .045) 1px, transparent 1px), radial-gradient(circle at 100% 0%, rgba(56, 189, 248, .18), transparent 46%), linear-gradient(135deg, rgba(56, 189, 248, .08), rgba(15, 32, 56, .08));--tj-bg-overlay: radial-gradient(circle at center, transparent 0%, rgba(3, 10, 22, .28) 76%), linear-gradient(180deg, rgba(7, 17, 31, .06), rgba(7, 17, 31, .32));--tj-card-overlay: linear-gradient(180deg, rgba(125, 211, 252, .075), rgba(3, 10, 22, .12));--tj-panel-overlay: linear-gradient(180deg, rgba(125, 211, 252, .06), rgba(3, 10, 22, .15));--tj-bg-global-opacity: .72;--tj-bg-module-opacity: .7;--tj-noise-opacity: .04}:root[data-theme-preset=tech-blue][data-theme=light]{--tf-color-bg: #eef7ff;--tf-color-panel: rgba(255, 255, 255, .88);--tf-color-card: rgba(248, 252, 255, .86);--tf-color-text-primary: #0f2237;--tf-color-text-secondary: #4d6478;--tj-bg-global-image: linear-gradient(90deg, rgba(14, 165, 233, .045) 1px, transparent 1px), linear-gradient(0deg, rgba(14, 165, 233, .035) 1px, transparent 1px), radial-gradient(circle at 18% 12%, rgba(56, 189, 248, .14), transparent 20rem), radial-gradient(circle at 78% 18%, rgba(34, 211, 238, .1), transparent 22rem), linear-gradient(135deg, rgba(238, 247, 255, .98), rgba(226, 242, 255, .94));--tj-bg-module-image: linear-gradient(90deg, rgba(14, 165, 233, .05) 1px, transparent 1px), radial-gradient(circle at 100% 0%, rgba(56, 189, 248, .14), transparent 46%), linear-gradient(135deg, rgba(56, 189, 248, .08), rgba(255, 255, 255, .26));--tj-bg-overlay: radial-gradient(circle at center, transparent 0%, rgba(255, 255, 255, .36) 76%), linear-gradient(180deg, rgba(255, 255, 255, .24), rgba(230, 246, 255, .42));--tj-card-overlay: linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(224, 244, 255, .22));--tj-panel-overlay: linear-gradient(180deg, rgba(255, 255, 255, .66), rgba(218, 240, 255, .26));--tj-bg-global-opacity: .44;--tj-bg-module-opacity: .45;--tj-noise-opacity: .018}:root[data-theme-preset=cyber-purple]{--tf-color-bg: #0b0618;--tf-color-bg-elevated: #120b27;--tf-color-panel: rgba(22, 12, 42, .84);--tf-color-card: rgba(31, 16, 59, .78);--tf-color-card-muted: rgba(42, 23, 77, .66);--tf-color-primary: #a855f7;--tf-color-primary-strong: #7c3aed;--tf-color-primary-soft: rgba(168, 85, 247, .18);--tf-color-secondary: #22d3ee;--tf-color-secondary-soft: rgba(34, 211, 238, .15);--tf-color-error: #fb7185;--tf-color-text-primary: #fbf4ff;--tf-color-text-secondary: #c7a9df;--tf-color-text-muted: #8d74aa;--tf-color-border: rgba(216, 180, 254, .23);--tf-color-border-strong: rgba(216, 180, 254, .42);--tf-shadow-card: 0 16px 40px rgba(8, 2, 18, .38);--tf-shadow-panel: 0 28px 72px rgba(8, 2, 18, .5);--tf-shadow-glow: 0 0 0 1px rgba(168, 85, 247, .44), 0 18px 44px rgba(168, 85, 247, .24);--tf-shadow-card-hover: 0 26px 64px rgba(8, 2, 18, .52), 0 0 36px rgba(168, 85, 247, .24);--tj-bg: #0b0618;--tj-panel: rgba(22, 12, 42, .84);--tj-card: rgba(31, 16, 59, .78);--tj-primary: #a855f7;--tj-accent: #22d3ee;--tj-glow: rgba(168, 85, 247, .42);--tj-border-hover: rgba(216, 180, 254, .76);--tj-bg-global-image: repeating-linear-gradient(180deg, rgba(216, 180, 254, .045) 0 1px, transparent 1px 7px), linear-gradient(90deg, rgba(34, 211, 238, .04) 1px, transparent 1px), radial-gradient(circle at 18% 12%, rgba(168, 85, 247, .2), transparent 18rem), radial-gradient(circle at 82% 18%, rgba(34, 211, 238, .12), transparent 22rem), linear-gradient(135deg, rgba(11, 6, 24, .98), rgba(32, 13, 58, .9));--tj-bg-module-image: repeating-linear-gradient(180deg, rgba(216, 180, 254, .055) 0 1px, transparent 1px 8px), radial-gradient(circle at 100% 0%, rgba(168, 85, 247, .2), transparent 48%), linear-gradient(135deg, rgba(34, 211, 238, .08), rgba(168, 85, 247, .08));--tj-bg-overlay: radial-gradient(circle at center, transparent 0%, rgba(7, 2, 18, .3) 76%), linear-gradient(180deg, rgba(11, 6, 24, .06), rgba(11, 6, 24, .34));--tj-card-overlay: linear-gradient(180deg, rgba(216, 180, 254, .075), rgba(7, 2, 18, .13));--tj-panel-overlay: linear-gradient(180deg, rgba(34, 211, 238, .045), rgba(7, 2, 18, .16));--tj-bg-global-opacity: .7;--tj-bg-module-opacity: .68;--tj-noise-opacity: .045}:root[data-theme-preset=cyber-purple][data-theme=light]{--tf-color-bg: #f7f0ff;--tf-color-panel: rgba(255, 255, 255, .88);--tf-color-card: rgba(253, 249, 255, .86);--tf-color-text-primary: #221330;--tf-color-text-secondary: #675077;--tj-bg-global-image: repeating-linear-gradient(180deg, rgba(124, 58, 237, .035) 0 1px, transparent 1px 8px), radial-gradient(circle at 18% 12%, rgba(168, 85, 247, .13), transparent 18rem), radial-gradient(circle at 82% 18%, rgba(34, 211, 238, .09), transparent 22rem), linear-gradient(135deg, rgba(247, 240, 255, .98), rgba(239, 232, 255, .94));--tj-bg-module-image: repeating-linear-gradient(180deg, rgba(124, 58, 237, .035) 0 1px, transparent 1px 8px), radial-gradient(circle at 100% 0%, rgba(168, 85, 247, .12), transparent 48%), linear-gradient(135deg, rgba(34, 211, 238, .06), rgba(168, 85, 247, .08));--tj-bg-overlay: radial-gradient(circle at center, transparent 0%, rgba(255, 255, 255, .34) 76%), linear-gradient(180deg, rgba(255, 255, 255, .22), rgba(244, 236, 255, .42));--tj-card-overlay: linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(238, 226, 255, .22));--tj-panel-overlay: linear-gradient(180deg, rgba(255, 255, 255, .66), rgba(231, 219, 255, .26));--tj-bg-global-opacity: .42;--tj-bg-module-opacity: .44;--tj-noise-opacity: .02}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;background:var(--tf-color-bg);color:var(--tf-color-text-primary);font-size:var(--tf-font-size-md)}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(79,140,255,.2),transparent 34rem),linear-gradient(135deg,var(--tf-color-bg) 0%,#111827 50%,var(--tf-color-bg) 100%);color:var(--tf-color-text-primary);font-family:Inter,Microsoft YaHei,PingFang SC,Noto Sans CJK SC,Arial,sans-serif;font-size:var(--tf-font-size-md);line-height:var(--tf-line-height);text-rendering:optimizeLegibility}:root[data-theme=light] body{background:radial-gradient(circle at top left,rgba(0,82,217,.13),transparent 34rem),linear-gradient(135deg,#f7faff 0%,var(--tf-color-bg) 58%,#eef6ff 100%)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--tf-color-primary)}button{border:1px solid var(--tf-color-border);color:var(--tf-color-text-primary);background:var(--tf-color-card)}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}input,select,textarea{width:100%;min-width:0;border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-sm);padding:9px 10px;color:var(--tf-color-text-primary);background:var(--tf-color-card);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--tf-color-primary);box-shadow:var(--tf-shadow-focus)}input:disabled,select:disabled,textarea:disabled{color:var(--tf-color-text-muted);background:var(--tf-color-card-muted)}table{width:100%;border-collapse:collapse;table-layout:fixed}th,td{padding:10px 8px;border-bottom:1px solid var(--tf-color-border);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}th{color:var(--tf-color-text-secondary);background:var(--tf-color-card-muted);font-size:var(--tf-font-size-sm);font-weight:700}tr.selected,.work-panel tr.located{background:var(--tf-color-primary-soft)}.sr-only,.tf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.long-cell,.asset-file-name,.preview-header strong,.preview-header span,.model-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.long-cell{max-width:420px}.code-input,.batch-text,.json-panel textarea,.text-preview pre{font-family:Consolas,Microsoft YaHei,monospace}@media (max-width: 760px){:root{--tf-page-padding: 16px;--tf-font-size-title: 22px}}.tj-panel,.tf-panel,.stats-row article,.metric-panel,.duration-card,.personal-menu,.personal-main,.settings-shell,.model-card,.preview-panel{border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-md);background:var(--tf-color-panel);box-shadow:var(--tf-shadow-card)}.tf-card,.batch-box,.emergency-login,.create-team-box,.upload-progress-panel,.team-option,.settings-card,.personal-card{border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-md);background:var(--tf-color-card)}.tj-button,.tf-button,.primary-button,.ghost-button,.progress-copy-button,.progress-locate-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--tf-radius-sm);padding:8px 13px;color:#fff;background:linear-gradient(135deg,var(--tf-color-primary),var(--tf-color-primary-strong));box-shadow:0 8px 20px #0052d92e;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.tj-button:hover:not(:disabled),.tf-button:hover:not(:disabled),.primary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled),.progress-copy-button:hover:not(:disabled),.progress-locate-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px #0052d938}.tj-button.subtle,.tf-button.subtle,.ghost-button,.primary-button.alt,.progress-copy-button,.progress-locate-button{color:var(--tf-color-primary);border-color:var(--tf-color-border);background:var(--tf-color-primary-soft);box-shadow:none}.tj-button.danger,.tf-button.danger,.link-button.danger{color:var(--tf-color-error)}.tj-button.danger,.tf-button.danger{border-color:var(--tf-color-error-soft);background:var(--tf-color-error-soft)}.link-button{border:0;min-height:auto;padding:0;color:var(--tf-color-primary);background:transparent;box-shadow:none}.icon-button{width:32px;height:32px;border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-sm);color:var(--tf-color-text-secondary);background:var(--tf-color-card-muted)}.form-stack,.mini-form,.login-panel label,.side-panel label,.config-form,.tf-form{display:grid;gap:12px}.form-stack label,.mini-form label,.login-panel label,.side-panel label,.config-form label,.tf-field{display:grid;gap:7px;color:var(--tf-color-text-secondary);font-size:var(--tf-font-size-sm)}.button-row,.table-actions,.batch-actions,.actions,.title-actions,.form-row,.asset-file-row,.upload-progress-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.actions,.title-actions{justify-content:flex-end}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title h2,.side-panel h2,.work-panel h2,.login-panel h2{margin:0;font-size:var(--tf-font-size-lg);line-height:1.35}.inline-message,.toast-line,.tf-toast{color:var(--tf-color-primary)}.toast-line,.tf-toast{position:fixed;right:20px;bottom:20px;z-index:100;max-width:min(520px,calc(100vw - 40px));margin:0;padding:12px 14px;border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-md);color:var(--tf-color-text-primary);background:var(--tf-color-panel);box-shadow:var(--tf-shadow-panel)}.tf-toast.success{border-color:var(--tf-color-success);background:linear-gradient(135deg,var(--tf-color-success-soft),var(--tf-color-panel))}.tf-toast.warning{border-color:var(--tf-color-warning);background:linear-gradient(135deg,var(--tf-color-warning-soft),var(--tf-color-panel))}.tf-toast.error{border-color:var(--tf-color-error);background:linear-gradient(135deg,var(--tf-color-error-soft),var(--tf-color-panel))}.preview-mask,.tj-modal-mask,.tf-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#020817ad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tj-modal-panel,.tf-modal-panel{width:min(520px,100%);display:grid;gap:14px;padding:20px;border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-md);background:var(--tf-color-panel);box-shadow:var(--tf-shadow-panel)}.team-modal{width:min(680px,100%)}.tj-modal-header,.tf-modal-header,.preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.tj-modal-header span,.tf-modal-header span{color:var(--tf-color-primary);font-weight:700}.tj-modal-header h2,.tf-modal-header h2{margin:4px 0 0;font-size:22px}.modal-muted,.settings-muted,.personal-muted,.tf-muted{margin:0;color:var(--tf-color-text-secondary);line-height:1.7}.modal-actions{display:flex;justify-content:flex-end}.tf-empty,.empty-cell,.preview-empty{color:var(--tf-color-text-secondary);text-align:center}.empty-cell{padding:24px 12px}.tf-empty{display:grid;gap:8px;justify-items:center;padding:28px;border:1px dashed var(--tf-color-border-strong);border-radius:var(--tf-radius-md);background:var(--tf-color-card-muted)}.tf-loading{display:inline-flex;align-items:center;gap:10px;color:var(--tf-color-text-secondary)}.tf-loading:before{content:"";width:16px;height:16px;border:2px solid var(--tf-color-border-strong);border-top-color:var(--tf-color-primary);border-radius:50%;animation:tf-spin .8s linear infinite}.split-line{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;color:var(--tf-color-text-secondary);font-size:var(--tf-font-size-sm)}.split-line:before,.split-line:after{content:"";height:1px;background:var(--tf-color-border)}.visitor-badge,.upload-progress-summary span,.upgrade-notice{border:1px solid var(--tf-color-primary-soft);border-radius:var(--tf-radius-sm);color:var(--tf-color-primary);background:var(--tf-color-primary-soft)}.batch-json-error{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--tf-color-error);border-radius:var(--tf-radius-md);background:var(--tf-color-error-soft);color:var(--tf-color-error);font-size:var(--tf-font-size-sm)}.model-card{display:grid;gap:5px;padding:12px}.model-card span{color:var(--tf-color-primary);font-size:var(--tf-font-size-sm)}.model-card small,.stats-row span,.workspace-header p,.workbench-header p,.public-preview p,.asset-file-label,.asset-file-name,.preview-header span,.login-brand span{color:var(--tf-color-text-secondary)}.model-card.disabled{opacity:.58}.stats-row strong{display:block;margin-top:6px;color:var(--tf-color-primary);font-size:26px}.tf-theme-toggle{display:inline-flex;align-items:center;gap:6px;padding:3px;border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-md);background:var(--tf-color-card-muted)}.tf-theme-toggle-group{display:inline-flex;align-items:center;gap:3px}.tf-theme-toggle button{min-height:28px;border:0;border-radius:var(--tf-radius-sm);padding:0 9px;color:var(--tf-color-text-secondary);background:transparent;box-shadow:none}.tf-theme-toggle button.active{color:#fff;background:var(--tf-color-primary)}@keyframes tf-spin{to{transform:rotate(360deg)}}@media (max-width: 760px){.panel-title,.form-row,.preview-header{align-items:stretch;flex-direction:column}.toast-line,.tf-toast{left:16px;right:16px;bottom:16px;max-width:none}}button,input,textarea,select{font:inherit}input,textarea,select{width:100%;min-height:38px;border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-sm);padding:8px 10px;color:var(--tf-color-text-primary);background:var(--tf-color-card-muted);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}textarea{min-height:96px;resize:vertical}input[type=checkbox],input[type=radio]{width:auto;min-height:auto;accent-color:var(--tf-color-primary)}input[type=file]{min-height:42px;padding:7px 10px;cursor:pointer}input:focus,textarea:focus,select:focus{border-color:var(--tf-color-primary);box-shadow:var(--tf-shadow-focus)}input::placeholder,textarea::placeholder{color:var(--tf-color-text-muted)}button{cursor:pointer}button:disabled,.tj-button:disabled,.tf-button:disabled,.primary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.56;transform:none}.workbench-loading{justify-self:start}.workspace-muted,.card-title span,.script-project-card small,.chapter-card span,.asset-card small,.asset-card span,.storyboard-card span,.media-card span,.export-list span,.history-list span,.provider-tags span,.prompt-list span,.preset-card span,.language-card span,.file-card span,.file-card small,.experiment-grid p,.asset-hero p,.asset-card p,.asset-split-card p,.settings-card span,.personal-card span,.menu-hint{color:var(--tf-color-text-secondary);line-height:var(--tf-line-height)}.menu-title,.workspace-section>h3,.workspace-card h3,.asset-card h2,.settings-panel h2,.personal-panel h2,.experiments-hero h1{margin:0}.workspace-section>h3,.workspace-card h3{font-size:var(--tf-font-size-lg)}.workspace-card,.script-project-card,.chapter-card,.asset-card,.storyboard-card,.media-card,.export-grid .workspace-card,.settings-card,.personal-card,.preset-card,.language-card,.file-card{display:grid;gap:10px;padding:14px}.script-project-card.empty{min-height:220px;align-content:center}.card-stats,.project-stats,.trace-grid,.model-binding-grid,.strategy-grid{display:grid;gap:8px}.card-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.card-stats b,.project-stats article,.trace-grid article,.strategy-grid article,.model-binding-grid article,.storyboard-card dl div,.export-list li,.history-list article,.file-card,.media-card,.prompt-list article{border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-sm);background:var(--tf-color-card-muted)}.card-stats b,.project-stats article,.trace-grid article,.strategy-grid article,.model-binding-grid article,.storyboard-card dl div,.export-list li,.history-list article,.prompt-list article{padding:10px}.project-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.project-stats span,.workspace-card span,.workspace-card b,.settings-card b,.asset-hero span,.experiments-hero span{color:var(--tf-color-primary)}.episode-list button,.ability-list button,.asset-tabs button,.segmented button,.swatches button,.preset-card,.language-card,.preview-box{border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-sm);color:var(--tf-color-text-primary);background:var(--tf-color-card-muted)}.episode-list button,.ability-list button,.asset-tabs button,.segmented button,.preset-card,.language-card,.preview-box{padding:10px}.episode-list button,.ability-list button,.preset-card,.language-card{text-align:left}.episode-list button.active,.ability-list button.active,.asset-tabs button.active,.segmented button.active,.preset-card.selected,.language-card.selected,.swatches button.selected{border-color:var(--tf-color-primary);background:var(--tf-color-primary-soft)}.asset-tabs button span,.asset-card header span,.storyboard-card header span,.provider-tags span,.tf-badge,.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-sm);padding:3px 8px;color:var(--tf-color-primary);background:var(--tf-color-primary-soft);font-size:var(--tf-font-size-xs)}.workspace-card.warning{border-color:var(--tf-color-warning);background:var(--tf-color-warning-soft)}.workspace-card.notice,.asset-split-card.active{border-color:var(--tf-color-primary);background:var(--tf-color-primary-soft)}.storyboard-card dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0}.storyboard-card dt{color:var(--tf-color-text-muted);font-size:var(--tf-font-size-xs)}.storyboard-card dd{margin:4px 0 0;color:var(--tf-color-text-primary)}.preview-box{min-height:130px;display:grid;place-items:center}.export-list,.history-list,.file-list{margin:0;padding:0;list-style:none}.export-list li,.history-list article,.file-card{display:grid;gap:6px}.settings-card.link-card{color:inherit;text-decoration:none}.swatches button{width:32px;height:32px;min-height:32px;padding:0}.prompt-list pre,.agent-output,pre{overflow:auto;border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-sm);padding:12px;color:var(--tf-color-text-primary);background:var(--tf-color-card-muted);white-space:pre-wrap;word-break:break-word}.asset-file-empty.tf-empty{padding:16px}table{width:100%;border-collapse:collapse;border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-md);overflow:hidden;background:var(--tf-color-card)}th,td{border-bottom:1px solid var(--tf-color-border);padding:10px 12px;color:var(--tf-color-text-primary);text-align:left}th{color:var(--tf-color-text-secondary);background:var(--tf-color-card-muted)}.tj-app{min-height:100vh;color:var(--tj-text);background:var(--tj-bg)}.tj-page{display:grid;gap:var(--tf-page-gap);min-width:0;padding:var(--tj-page-padding)}.tj-page-header,.tj-card-header,.tj-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.tj-page-title,.tj-card-title{margin:0;color:var(--tj-text);font-weight:800;letter-spacing:0}.tj-page-title{font-size:var(--tj-font-size-title);line-height:1.2}.tj-card-title{font-size:var(--tj-font-size-lg);line-height:1.35}.tj-page-subtitle{margin:6px 0 0;color:var(--tj-muted);line-height:var(--tf-line-height)}.tj-section{display:grid;gap:var(--tf-section-gap)}.tj-panel,.tj-card{border:1px solid var(--tj-border);border-radius:var(--tj-radius);background:var(--tj-panel);box-shadow:var(--tj-shadow)}.tj-card{background:var(--tj-card)}.tj-card-body{display:grid;gap:12px}.tj-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.tj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.tj-divider{height:1px;border:0;background:var(--tj-border)}.tj-button,.tj-button-primary,.tj-button-secondary,.tj-button-ghost,.tj-button-danger,.tj-icon-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--tf-radius-sm);padding:8px 13px;text-decoration:none;transition:transform var(--tj-motion-fast) var(--tj-ease-out),filter var(--tj-motion-fast) var(--tj-ease-out),border-color var(--tj-motion-fast) var(--tj-ease-out),background var(--tj-motion-fast) var(--tj-ease-out),box-shadow var(--tj-motion-fast) var(--tj-ease-out)}.tj-button,.tj-button-primary{color:#fff;background:linear-gradient(135deg,var(--tj-primary),var(--tf-color-primary-strong));box-shadow:0 8px 20px color-mix(in srgb,var(--tj-primary) 22%,transparent)}.tj-button-secondary{color:var(--tj-primary);border-color:var(--tj-border);background:var(--tf-color-primary-soft)}.tj-button-ghost{color:var(--tj-muted);border-color:var(--tj-border);background:transparent;box-shadow:none}.tj-button-danger{color:var(--tj-danger);border-color:color-mix(in srgb,var(--tj-danger) 34%,transparent);background:var(--tf-color-error-soft)}.tj-button-disabled,.tj-button:disabled,.tj-button-primary:disabled,.tj-button-secondary:disabled,.tj-button-ghost:disabled,.tj-button-danger:disabled{cursor:not-allowed;opacity:.56;transform:none}.tj-button-loading{cursor:wait;opacity:.78}.tj-icon-button{width:36px;min-width:36px;padding:0;color:var(--tj-muted);border-color:var(--tj-border);background:var(--tf-color-card-muted)}.tj-form{display:grid;gap:14px}.tj-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.tj-label{display:grid;gap:7px;color:var(--tj-muted);font-size:var(--tj-font-size-sm);font-weight:700}.tj-input,.tj-textarea,.tj-select,.tj-search{width:100%;min-width:0;border:1px solid var(--tj-border);border-radius:var(--tf-radius-sm);color:var(--tj-text);background:var(--tf-color-card-muted)}.tj-textarea{min-height:96px}.tj-checkbox,.tj-radio{width:auto;min-height:auto;accent-color:var(--tj-primary)}.tj-file-upload,.tj-upload-zone{display:grid;gap:8px;align-content:center;min-height:112px;border:1px dashed var(--tf-color-border-strong);border-radius:var(--tj-radius);padding:16px;color:var(--tj-muted);background:var(--tf-color-card-muted)}.tj-search{min-height:38px}.tj-sidebar{display:grid;align-content:start;gap:8px;border-right:1px solid var(--tj-border);background:var(--tj-panel)}.tj-nav,.tj-subnav,.tj-tabs,.tj-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.tj-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--tj-border)}.tj-nav-item,.tj-subnav-item,.tj-tab,.tj-list-item{border:1px solid transparent;border-radius:var(--tf-radius-sm);color:var(--tj-muted);background:transparent}.tj-nav-item,.tj-subnav-item,.tj-tab{min-height:36px;display:flex;align-items:center;gap:8px;padding:8px 10px}.tj-nav-item-active,.tj-subnav-item-active,.tj-tab-active{color:var(--tj-text);border-color:var(--tj-border-hover);background:var(--tf-color-primary-soft)}.tj-badge,.tj-status{min-height:24px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--tj-border);border-radius:999px;padding:3px 9px;color:var(--tj-primary);background:var(--tf-color-primary-soft);font-size:var(--tj-font-size-xs);font-weight:800}.tj-badge-success,.tj-status-done{color:var(--tj-success);border-color:color-mix(in srgb,var(--tj-success) 42%,transparent);background:var(--tf-color-success-soft)}.tj-badge-warning,.tj-status-running{color:var(--tj-warning);border-color:color-mix(in srgb,var(--tj-warning) 42%,transparent);background:var(--tf-color-warning-soft)}.tj-badge-danger,.tj-status-failed{color:var(--tj-danger);border-color:color-mix(in srgb,var(--tj-danger) 42%,transparent);background:var(--tf-color-error-soft)}.tj-badge-info{color:var(--tj-accent);border-color:color-mix(in srgb,var(--tj-accent) 42%,transparent);background:var(--tf-color-secondary-soft)}.tj-badge-muted{color:var(--tj-muted);background:var(--tf-color-card-muted)}.tj-table{width:100%;border:1px solid var(--tj-border);border-radius:var(--tj-radius);border-collapse:separate;border-spacing:0;overflow:hidden;background:var(--tj-card)}.tj-table-row{transition:background var(--tj-motion-fast) var(--tj-ease-out)}.tj-table-row:hover{background:var(--tf-color-primary-soft)}.tj-table-cell{border-bottom:1px solid var(--tj-border);padding:10px 12px;color:var(--tj-text)}.tj-list-item{padding:10px 12px;background:var(--tj-card)}.tj-preview,.tj-thumbnail,.tj-media-card{border:1px solid var(--tj-border);border-radius:var(--tj-radius);background:var(--tf-color-card-muted)}.tj-preview{min-height:180px;display:grid;place-items:center;overflow:hidden}.tj-thumbnail{width:72px;aspect-ratio:1;object-fit:cover}.tj-media-card{display:grid;gap:10px;padding:12px}.tj-empty{display:grid;gap:8px;justify-items:center;padding:28px;border:1px dashed var(--tf-color-border-strong);border-radius:var(--tj-radius);color:var(--tj-muted);text-align:center;background:var(--tf-color-card-muted)}.tj-loading{display:inline-flex;align-items:center;gap:10px;color:var(--tj-muted)}.tj-loading:before{content:"";width:16px;height:16px;border:2px solid var(--tf-color-border-strong);border-top-color:var(--tj-primary);border-radius:50%;animation:tf-spin .8s linear infinite}.tj-toast{position:fixed;right:20px;bottom:20px;z-index:100;max-width:min(520px,calc(100vw - 40px));margin:0;padding:12px 14px;border:1px solid var(--tj-border);border-radius:var(--tj-radius);color:var(--tj-text);background:var(--tj-panel);box-shadow:var(--tf-shadow-panel)}.tj-shell{min-height:100vh;display:grid;grid-template-columns:var(--tf-sidebar-width) minmax(0,1fr)}.tj-sidebar{position:sticky;top:0;z-index:20;height:100vh;display:grid;align-content:start;gap:8px;padding:16px 10px;border-right:1px solid rgba(148,163,184,.2);background:linear-gradient(180deg,#121c32f5,#090e1cfa),var(--tf-color-bg)}:root[data-theme=light] .tj-sidebar{background:linear-gradient(180deg,#101828,#172033)}.tj-logo{width:46px;height:46px;display:grid;place-items:center;margin:0 auto 18px;border-radius:var(--tf-radius-md);color:#fff;background:linear-gradient(135deg,var(--tf-color-primary),var(--tf-color-secondary));font-weight:800;box-shadow:0 14px 26px #0052d942}.tj-nav-item{display:grid;place-items:center;min-height:44px;margin-bottom:2px;padding:0 8px;border-radius:var(--tf-radius-sm);color:#cbd5e1;text-align:center;text-decoration:none;font-size:var(--tf-font-size-sm);transition:color .16s ease,background .16s ease,transform .16s ease}.tj-nav-item.router-link-active,.tj-nav-item:hover{color:#fff;background:linear-gradient(135deg,var(--tf-color-primary),rgba(49,208,170,.42));transform:translateY(-1px)}.tj-main{min-width:0}.tj-topbar{position:sticky;top:0;z-index:18;min-height:var(--tf-topbar-height);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 var(--tf-page-padding);border-bottom:1px solid var(--tf-color-border);background:#10182cb8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}:root[data-theme=light] .tj-topbar{background:#ffffffd1}.tj-topbar strong{color:var(--tf-color-text-primary)}.tj-topbar span{color:var(--tf-color-text-secondary)}.tj-topbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.tj-page,.workbench-layout{display:grid;gap:var(--tf-page-gap);padding:var(--tf-page-padding)}.tj-page.compact-page{padding:0}.workbench-header,.workspace-header,.public-preview{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.workbench-header h1,.workspace-header h1{margin:0;font-size:var(--tf-font-size-title);line-height:1.25}.workbench-header p,.workspace-header p{margin:6px 0 0}.header-actions{display:grid;grid-template-columns:minmax(220px,340px) auto auto;gap:8px;align-items:center}.header-actions.guest{grid-template-columns:auto auto}.public-preview{padding:18px;border-color:#4f8cff3d;background:linear-gradient(135deg,var(--tf-color-panel),var(--tf-color-primary-soft))}.public-preview span{color:var(--tf-color-primary);font-weight:700}.public-preview h2{margin:5px 0 6px;font-size:var(--tf-font-size-xl)}.module-tabs,.tf-subnav{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.module-tabs a,.tf-subnav a,.settings-menu a,.personal-menu a{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-md);color:var(--tf-color-text-primary);background:var(--tf-color-card);text-decoration:none;transition:border-color .16s ease,background .16s ease,color .16s ease}.module-tabs a.router-link-active,.tf-subnav a.router-link-active,.settings-menu a.router-link-active,.personal-menu a.router-link-active,.module-tabs a:hover,.tf-subnav a:hover,.settings-menu a:hover,.personal-menu a:hover{color:#fff;border-color:var(--tf-color-primary);background:linear-gradient(135deg,var(--tf-color-primary),var(--tf-color-primary-strong))}.module-tabs span{color:inherit;font-size:var(--tf-font-size-xs);opacity:.78}.workbench-grid,.workspace-main,.module-block,.side-panel,.side-panel section,.work-panel,.tf-stack{display:grid;gap:var(--tf-section-gap)}.workbench-grid.two-columns,.workspace-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.side-panel,.work-panel,.login-panel,.stats-row article,.metric-panel,.duration-card{padding:18px}.login-panel{width:min(440px,100%)}.stats-row{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}.tabbar{display:flex;flex-wrap:wrap;gap:8px}.tabbar button{min-height:34px;border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-sm);padding:8px 14px;color:var(--tf-color-text-secondary);background:var(--tf-color-card)}.tabbar button.active{border-color:var(--tf-color-primary);color:#fff;background:var(--tf-color-primary)}.settings-shell{min-height:calc(100vh - 120px);display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;padding:20px}.settings-menu{display:grid;align-content:start;gap:8px;border-right:1px solid var(--tf-color-border);padding-right:14px}.settings-menu h1,.personal-menu h1{margin:0 0 12px;font-size:22px}.settings-main,.personal-main{min-width:0}.settings-panel,.personal-panel{display:grid;gap:18px}.settings-grid,.personal-grid,.model-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.personal-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px}.personal-menu{align-self:start;display:grid;gap:8px;padding:16px}.personal-main{padding:18px}.upgrade-notice{position:fixed;right:24px;bottom:78px;z-index:30;width:min(520px,calc(100vw - 48px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:var(--tf-color-panel);box-shadow:var(--tf-shadow-panel)}.preview-panel{width:min(960px,100%);max-height:calc(100vh - 48px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.preview-header{padding:14px 16px;border-bottom:1px solid var(--tf-color-border)}.preview-body{min-height:360px;display:grid;place-items:center;overflow:auto;padding:16px;background:#050816}.preview-body img,.preview-body video{width:100%;max-height:calc(100vh - 170px);border:0;object-fit:contain}.preview-body audio{width:min(720px,100%)}.text-preview{width:100%;min-height:360px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;color:var(--tf-color-text-primary)}.text-preview p,.text-preview pre{margin:0;padding:14px;border-radius:var(--tf-radius-md);background:var(--tf-color-card)}.text-preview pre{min-height:320px;max-height:calc(100vh - 220px);overflow:auto;white-space:pre-wrap;word-break:break-word}@media (max-width: 1100px){.tj-shell,.workspace-grid,.settings-shell,.personal-shell{grid-template-columns:1fr}.tj-sidebar{position:static;height:auto;display:flex;flex-wrap:wrap;gap:8px}.tj-logo{margin:0 8px 0 0}.tj-nav-item{padding:0 12px}.stats-row{grid-template-columns:repeat(2,minmax(120px,1fr))}.settings-menu{border-right:0;border-bottom:1px solid var(--tf-color-border);padding-right:0;padding-bottom:14px}.public-preview,.workbench-header,.workspace-header,.upgrade-notice{align-items:stretch;flex-direction:column}.header-actions,.header-actions.guest,.module-tabs,.workbench-grid.two-columns,.workspace-grid.two{grid-template-columns:1fr}.upgrade-notice{left:16px;right:16px;bottom:72px;width:auto}}@media (max-width: 760px){.tj-topbar{align-items:flex-start;flex-direction:column;padding-top:10px;padding-bottom:10px}.tj-topbar-actions{justify-content:flex-start}}.workspace-project-shell{min-height:calc(100vh - var(--tf-topbar-height));display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;padding:var(--tf-page-padding);color:var(--tf-color-text-primary);background:var(--tf-color-bg)}.workspace-project-menu,.workspace-project-content,.workspace-project-header,.workspace-section{min-width:0}.workspace-project-menu,.workspace-project-header,.workspace-section,.workspace-card,.script-project-card,.chapter-card,.asset-card,.storyboard-card,.media-card,.export-card,.asset-hero,.asset-split-card,.asset-upload,.experiments-hero,.experiment-grid article{border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-md);background:var(--tf-color-panel);box-shadow:var(--tf-shadow-card)}.workspace-project-menu,.workspace-project-header,.workspace-section,.asset-hero,.asset-split-card,.asset-upload,.experiments-hero,.experiment-grid article{padding:18px}.workspace-project-content,.workspace-section,.asset-home,.experiments-page{display:grid;gap:var(--tf-page-gap)}.workspace-project-header,.workspace-home-head,.workspace-search-row,.page-head,.card-title,.script-project-card footer,.chapter-card header,.chapter-card footer,.asset-card header,.asset-card footer,.storyboard-card header,.storyboard-card footer,.media-card footer,.prompt-list header,.prompt-list footer,.asset-hero{display:flex;align-items:center;justify-content:space-between;gap:12px}.workspace-project-menu{position:sticky;top:calc(var(--tf-topbar-height) + 16px);align-self:start;display:grid;gap:10px}.workspace-project-menu a{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-md);color:var(--tf-color-text-primary);background:var(--tf-color-card);text-decoration:none}.workspace-project-menu a.router-link-active,.workspace-project-menu a:hover{border-color:var(--tf-color-primary);color:var(--tf-color-text-primary);background:var(--tf-color-primary-soft)}.workspace-project-content .workspace-grid,.workspace-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:start}.workspace-project-content .workspace-grid.two,.workspace-grid.two{grid-template-columns:minmax(300px,420px) minmax(0,1fr)}.script-project-grid,.asset-grid,.storyboard-list,.media-grid,.export-grid,.history-list,.episode-list,.chapter-list,.ability-list,.prompt-list,.message-list,.file-list,.experiment-grid{display:grid;gap:12px}.script-project-grid,.asset-grid,.media-grid,.export-grid,.experiment-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.asset-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.asset-tabs,.segmented,.swatches,.provider-tags{display:flex;flex-wrap:wrap;gap:8px}.asset-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.form-grid,.trace-grid,.model-binding-grid,.strategy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.form-grid .full{grid-column:1 / -1}@media (max-width: 1100px){.workspace-project-shell,.workspace-project-content .workspace-grid.two,.workspace-grid.two{grid-template-columns:1fr}.workspace-project-menu{position:static}}@media (max-width: 760px){.workspace-project-header,.workspace-home-head,.workspace-search-row,.page-head,.asset-hero{align-items:stretch;flex-direction:column}}.login-brand{display:grid;gap:6px}.login-brand strong{font-size:24px}.module-block{margin-top:16px}.module-block h3{margin:0;display:flex;align-items:center;gap:8px;font-size:var(--tf-font-size-lg)}.module-block h3 span{color:var(--tf-color-text-secondary);font-weight:500}.episode-list,.team-list,.upload-progress-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.episode-list li,.upload-progress-panel li{padding:8px 10px;border-radius:var(--tf-radius-sm);background:var(--tf-color-card-muted);color:var(--tf-color-text-secondary)}.team-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px;color:var(--tf-color-text-primary);text-align:left}.team-option:hover{border-color:var(--tf-color-primary);background:var(--tf-color-primary-soft)}.team-option span{color:var(--tf-color-secondary);font-size:var(--tf-font-size-sm)}.asset-file-row{margin-bottom:10px}.asset-file-label{width:min(360px,100%);display:grid;gap:6px}.code-input{min-height:74px;margin-bottom:12px}.large-text{min-height:150px;margin-bottom:12px}.batch-box{display:grid;gap:10px;margin:12px 0;padding:12px}.batch-text{min-height:160px}.upload-progress-panel{display:grid;gap:10px;padding:10px}.upload-progress-summary .batch-id{color:#a78bfa;background:#a78bfa24;overflow-wrap:anywhere}.progress-filter-select{min-height:28px;padding:3px 8px;border-color:var(--tf-color-primary-soft);color:var(--tf-color-primary);background:var(--tf-color-card);font-size:var(--tf-font-size-sm)}.upload-progress-panel li{display:flex;align-items:center;justify-content:space-between;gap:10px}.upload-progress-panel li span,.upload-progress-panel li small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-progress-panel li.uploading{background:var(--tf-color-warning-soft)}.upload-progress-panel li.done{background:var(--tf-color-success-soft)}.upload-progress-panel li.failed{background:var(--tf-color-error-soft)}.membership-time-page,.asset-home,.experiments-page,.experiment-detail{min-height:calc(100vh - var(--tf-topbar-height))}.duration-card,.metric-panel{display:grid;gap:8px}.role-notice,.locked-panel{border-color:var(--tf-color-warning-soft);background:linear-gradient(135deg,var(--tf-color-warning-soft),var(--tf-color-panel))}.settings-card,.personal-card{padding:16px}.settings-panel h2,.personal-panel h2{margin:0}.preview-empty{display:grid;gap:12px;justify-items:center;color:#fff}.upgrade-notice strong{display:block;color:var(--tf-color-text-primary)}.upgrade-notice p{margin:4px 0 0;color:var(--tf-color-text-secondary);line-height:1.55}body{position:relative;isolation:isolate;background:var(--tf-color-bg)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background-image:var(--tj-bg-global-image);background-size:48px 48px,48px 48px,auto,auto,100% 100%;opacity:var(--tj-bg-global-opacity)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:var(--tj-bg-overlay),radial-gradient(circle at 1px 1px,rgba(255,255,255,var(--tj-noise-opacity)) 1px,transparent 0);background-size:auto,3px 3px}:root[data-theme=light] body:after{background-image:var(--tj-bg-overlay),radial-gradient(circle at 1px 1px,rgba(15,23,42,var(--tj-noise-opacity)) 1px,transparent 0);background-size:auto,3px 3px}.tj-section,.tj-bg-surface,.tj-bg-module,.tj-module,.tj-card,.tj-glass,.tf-card,.tf-panel,.tj-panel,.workspace-card,.script-project-card,.chapter-card,.asset-card,.storyboard-card,.media-card,.export-card,.settings-card,.personal-card,.experiment-grid article{background-image:var(--tj-card-overlay),var(--tj-bg-module-image);background-blend-mode:normal,screen,normal}.tj-glass,.tj-bg-surface,.tj-bg-module{border:1px solid var(--tf-color-border);border-radius:var(--tf-radius-md);background-color:var(--tf-color-panel);box-shadow:var(--tf-shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.tj-bg-module,.tj-module,.tj-card,.tj-panel,.tj-modal-panel,.tf-modal-panel{position:relative;overflow:hidden;isolation:isolate}.tj-bg-module:before,.tj-module:before,.tj-card:before,.tj-panel:before,.tj-modal-panel:before,.tf-modal-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:var(--tj-panel-overlay),var(--tj-bg-module-image);opacity:var(--tj-bg-module-opacity);transition:opacity var(--tj-motion-normal) var(--tj-ease-out),filter var(--tj-motion-normal) var(--tj-ease-out)}.tj-bg-module:hover:before,.tj-module:hover:before,.tj-card:hover:before,.tj-panel:hover:before,.tj-modal-panel:hover:before,.tf-modal-panel:hover:before{opacity:calc(var(--tj-bg-module-opacity) + .12);filter:brightness(var(--tj-brightness-hover))}.tj-bg-module>*,.tj-module>*,.tj-card>*,.tj-panel>*,.tj-modal-panel>*,.tf-modal-panel>*{position:relative;z-index:1}button,.tj-button,.tf-button,.primary-button,.ghost-button,.progress-copy-button,.progress-locate-button,.link-button,.tj-panel,.tf-panel,.tf-card,.tj-card,.tj-module,.tj-glass,.workspace-card,.script-project-card,.chapter-card,.asset-card,.storyboard-card,.media-card,.export-card,.settings-card,.personal-card,.experiment-grid article,.module-tabs a,.tf-subnav a,.tj-nav-item,.workspace-project-menu a,.settings-menu a,.personal-menu a{transition:transform var(--tj-motion-normal) var(--tj-ease-out),filter var(--tj-motion-normal) var(--tj-ease-out),border-color var(--tj-motion-normal) var(--tj-ease-out),background-color var(--tj-motion-normal) var(--tj-ease-out),box-shadow var(--tj-motion-normal) var(--tj-ease-out),color var(--tj-motion-fast) var(--tj-ease-out);will-change:transform}button:hover:not(:disabled):not([aria-busy=true]),.tj-button:hover:not(:disabled):not([aria-busy=true]),.tf-button:hover:not(:disabled):not([aria-busy=true]),.primary-button:hover:not(:disabled):not([aria-busy=true]),.ghost-button:hover:not(:disabled):not([aria-busy=true]),.progress-copy-button:hover:not(:disabled):not([aria-busy=true]),.progress-locate-button:hover:not(:disabled):not([aria-busy=true]){transform:translateY(var(--tj-hover-translate-y)) scale(var(--tj-scale-button-hover));filter:brightness(var(--tj-brightness-hover));border-color:var(--tj-border-hover);box-shadow:var(--tj-shadow-glow)}.link-button:hover:not(:disabled){transform:none;filter:brightness(var(--tj-brightness-hover));text-shadow:0 0 12px var(--tj-glow)}button:disabled,.tj-button:disabled,.tf-button:disabled,.primary-button:disabled,.ghost-button:disabled,.progress-copy-button:disabled,.progress-locate-button:disabled{transform:none;filter:none;box-shadow:none}.tf-loading,.tf-loading:hover,.tf-loading:before{transform:none}.tj-panel:hover,.tf-panel:hover,.tf-card:hover,.tj-card:hover,.tj-module:hover,.tj-glass:hover,.workspace-card:hover,.script-project-card:hover,.chapter-card:hover,.asset-card:hover,.storyboard-card:hover,.media-card:hover,.export-card:hover,.settings-card:hover,.personal-card:hover,.experiment-grid article:hover{transform:translateY(calc(var(--tj-hover-translate-y) * 1.5)) scale(var(--tj-scale-card-hover));filter:brightness(1.035);border-color:var(--tj-border-hover);box-shadow:var(--tj-shadow-card-hover)}.tj-nav-item,.workspace-project-menu a,.settings-menu a,.personal-menu a,.module-tabs a,.tf-subnav a{border-left:2px solid transparent}.tj-nav-item:hover,.workspace-project-menu a:hover,.settings-menu a:hover,.personal-menu a:hover,.module-tabs a:hover,.tf-subnav a:hover{transform:translateY(-1px);filter:brightness(1.06);border-left-color:var(--tj-border-hover);box-shadow:var(--tj-shadow-glow)}.tj-nav-item.router-link-active,.workspace-project-menu a.router-link-active,.settings-menu a.router-link-active,.personal-menu a.router-link-active,.module-tabs a.router-link-active,.tf-subnav a.router-link-active{border-left-color:var(--tf-color-secondary);box-shadow:var(--tj-shadow-glow);filter:brightness(1.1)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}button:hover:not(:disabled),.tj-button:hover:not(:disabled),.tf-button:hover:not(:disabled),.primary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled),.tj-panel:hover,.tf-panel:hover,.tf-card:hover,.tj-card:hover,.tj-module:hover,.tj-glass:hover,.tj-nav-item:hover,.workspace-project-menu a:hover,.settings-menu a:hover,.personal-menu a:hover,.module-tabs a:hover,.tf-subnav a:hover{transform:none!important}}
