:root{--paper:#f4f1ea;--panel:#fffdf8;--panel-2:#f8faf8;--ink:#20262b;--muted:#65706b;--line:#d7d4ca;--teal:#176e70;--blue:#365f8f;--clay:#c75d47;--gold:#c99732;--green:#4c7a58;--danger:#a63f3f;--radius:8px;--shadow:0 18px 40px #20262b14;--desktop-titlebar-height:42px;--desktop-titlebar-background:#eef4ef;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{min-width:320px;color:var(--ink);background:radial-gradient(circle at 0 0,#176e701a,#0000 34rem),linear-gradient(135deg,#f7f2e8 0%,#eef4ef 52%,#f4f1ea 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button{cursor:pointer}.app-shell{min-height:100vh;padding:18px}.site-footer{color:#65706bc7;letter-spacing:.02em;text-align:center;border-top:1px solid #65706b29;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;margin:-2px 18px 18px;padding:14px 12px 0;font-size:12px;display:flex}.site-footer a{color:var(--teal);text-decoration:none;transition:color .14s,opacity .14s}.site-footer a:hover{color:#0f5557;text-decoration:underline}.auth-page-body .site-footer{z-index:2;border-top:0;margin:0;padding:0;position:fixed;bottom:16px;left:24px;right:24px}.auth-page-body{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-page{width:min(460px,100%)}.auth-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);padding:22px}.auth-brand{margin-bottom:22px}.auth-brand h1{font-size:22px}.auth-page-form{gap:12px;display:grid}.auth-mode-tabs{border:1px solid var(--line);background:#f4f7f4;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px;display:grid}.auth-mode-tab{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;font-weight:800}.auth-mode-tab.active{background:var(--panel);color:var(--ink);box-shadow:0 8px 18px #14242014}.primary.full{width:100%}.auth-switch{color:var(--muted);text-align:center;margin:14px 0 0;font-size:13px}.auth-switch a{color:var(--teal);font-weight:800}.auth-inline-link{text-align:right;margin-top:-4px;font-size:13px}.auth-inline-link a{color:var(--teal);font-weight:800}.sms-code-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.sms-code-row button{white-space:nowrap}.auth-secondary-panel{border-radius:var(--radius);background:#f4f7f4;border:1px solid #dce3dc;margin-top:16px;padding:12px;display:none}.auth-secondary-panel p{color:var(--muted);margin:4px 0 12px;font-size:13px}.topbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8d1;border:1px solid #d7d4cad1;border-radius:14px;grid-template-columns:minmax(190px,.55fr) minmax(330px,.85fr) minmax(0,1.5fr);align-items:center;gap:12px;margin-bottom:14px;padding:9px 12px;transition:top .18s,gap .18s,padding .18s,border-radius .18s,background .18s,box-shadow .18s;display:grid;position:sticky;top:8px;box-shadow:0 18px 40px #20262b12}.desktop-titlebar{display:none}html.desktop-window .desktop-titlebar{z-index:100;height:var(--desktop-titlebar-height);background:var(--desktop-titlebar-background);color:#53615c;letter-spacing:.02em;-webkit-app-region:drag;-webkit-user-select:none;user-select:none;align-items:center;padding:0 16px;font-size:12px;font-weight:750;display:flex;position:fixed;top:0;left:0;right:138px}html.desktop-window .app-shell{padding-top:var(--desktop-titlebar-height)}html.desktop-window .topbar{top:var(--desktop-titlebar-height);-webkit-app-region:drag;background:#fffdf8;border-top:0;border-left:0;border-right:0;border-radius:0 0 14px 14px;min-height:64px;margin-left:-18px;margin-right:-18px;padding-left:30px;padding-right:30px}html.desktop-window .topbar.is-compact{top:var(--desktop-titlebar-height);border-radius:0 0 12px 12px;min-height:64px;padding-left:27px;padding-right:27px}html.desktop-window .auth-page-body{padding-top:calc(var(--desktop-titlebar-height) + 24px)}html.desktop-window .topbar button,html.desktop-window .topbar a,html.desktop-window .topbar input,html.desktop-window .topbar select,html.desktop-window .topbar textarea{-webkit-app-region:no-drag}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--ink);color:#fffdf8;border-radius:8px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.brand h1,.workspace-head h2,.panel-head h2{letter-spacing:0;margin:0}.brand h1{font-size:20px;line-height:1.1}.brand p,.workspace-head p{color:var(--muted);margin:3px 0 0;font-size:12px}.product-nav{background:#f4f1eac7;border:1px solid #d7d4cad1;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;display:grid}.product-nav-button{min-height:40px;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;gap:2px;padding:6px 9px;display:grid}.product-nav-button strong{color:inherit;font-size:14px}.product-nav-button span{font-size:11px;font-weight:760}.product-nav-button.is-active{background:var(--ink);color:#fffdf8;box-shadow:0 10px 22px #20262b24}.topbar-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.auth-strip{justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.auth-status{max-width:180px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.auth-form{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.auth-form input{border:1px solid var(--line);background:#fffdf8;border-radius:7px;width:120px;min-height:34px;padding:7px 9px;font-size:13px}.auth-form button{min-height:30px;padding:5px 9px;font-size:12px}.topbar.is-compact{background:#fffdf8f0;border-radius:12px;grid-template-columns:minmax(150px,auto) minmax(300px,480px) minmax(0,1fr);gap:10px;padding:5px 9px;top:6px;box-shadow:0 12px 28px #20262b21}.topbar.is-compact .brand{gap:8px}.topbar.is-compact .brand-mark{border-radius:7px;width:34px;height:34px;font-size:12px}.topbar.is-compact .brand h1{font-size:16px}.topbar.is-compact .brand p,.topbar.is-compact .product-nav-button span,.topbar.is-compact .auth-status{display:none}.topbar.is-compact .product-nav{border-radius:10px;padding:3px}.topbar.is-compact .product-nav-button{text-align:center;justify-content:center;align-items:center;min-height:32px;padding:4px 8px;display:flex}.topbar.is-compact .product-nav-button strong{font-size:12px}.topbar.is-compact .auth-form button{min-height:30px}.app-page{display:none}.app-page.is-active{display:block}.page-heading{background:linear-gradient(135deg, #fffdf8f5, #eef7f4d1), var(--panel);border:1px solid #d7d4cac7;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:16px 18px;display:flex;box-shadow:0 14px 30px #20262b0f}.page-heading .eyebrow{color:var(--teal);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:900}.page-heading h2{margin:4px 0 5px;font-size:26px;line-height:1.05}.page-heading p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.workspace-heading-actions{background:#fffdf8b8;border:1px solid #d7d4cad1;border-radius:14px;flex:none;align-items:stretch;gap:5px;padding:5px;display:flex;box-shadow:0 10px 24px #20262b12}.workspace-heading-action{min-height:50px;font:inherit;text-align:left;border:0;border-radius:10px;align-items:center;gap:9px;padding:7px 12px 7px 8px;text-decoration:none;transition:transform .15s,box-shadow .15s,background-color .15s;display:flex}.workspace-heading-action:hover{transform:translateY(-1px)}.workspace-heading-action:focus-visible{outline-offset:2px;outline:3px solid #365f8f3d}.client-download-picker{background:linear-gradient(135deg,#176e70,#145d60);border-radius:10px;flex:none;grid-template-columns:minmax(0,auto) 38px;transition:transform .15s,box-shadow .15s;display:grid;position:relative;box-shadow:0 8px 18px #176e702e}.client-download-picker:hover,.client-download-picker.is-open{transform:translateY(-1px);box-shadow:0 11px 24px #176e7040}.client-download-picker.is-open{z-index:60}.workspace-heading-action.is-download{min-width:168px;box-shadow:none;color:#fff;background:0 0;border-radius:10px 0 0 10px}.workspace-heading-action.is-download:hover{box-shadow:none;transform:none}.client-download-toggle{color:#fff;background:0 0;border:0;border-left:1px solid #ffffff2e;border-radius:0 10px 10px 0;place-items:center;width:38px;min-height:50px;display:grid}.client-download-toggle:hover,.client-download-toggle[aria-expanded=true]{background:#ffffff1a}.client-download-toggle:focus-visible{outline-offset:2px;outline:3px solid #365f8f47}.client-download-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px;transition:transform .15s}.client-download-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.client-download-menu{z-index:40;background:#fffdf8;border:1px solid #d7d4caf0;border-radius:12px;gap:4px;width:248px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #20262b2e}.client-download-menu[hidden]{display:none}.client-download-menu a{color:var(--ink);border-radius:9px;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;display:grid}.client-download-menu a:hover,.client-download-menu a:focus-visible{background:#eef4ef;outline:none}.client-download-menu strong,.client-download-menu small{display:block}.client-download-menu strong{font-size:12px;line-height:1.35}.client-download-menu strong em{color:var(--teal);vertical-align:1px;background:#176e701a;border-radius:999px;margin-left:4px;padding:1px 5px;font-size:9px;font-style:normal;display:inline-block}.client-download-menu small{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.3}.client-download-menu svg{visibility:hidden;fill:none;width:18px;height:18px;stroke:var(--teal);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.client-download-menu a[aria-checked=true]{background:#eef4efb8}.client-download-menu a[aria-checked=true] svg{visibility:visible}html.desktop-window .client-download-picker{display:none}.workspace-heading-action.is-settings{min-width:148px;color:var(--ink);background:0 0}.workspace-heading-action.is-settings:hover{background:#eef4eff0}.workspace-action-icon{border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.is-download .workspace-action-icon{background:#ffffff24}.is-settings .workspace-action-icon{color:var(--teal);background:#fff;border:1px solid #176e7024}.workspace-action-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:19px;height:19px}.workspace-action-copy,.workspace-action-copy strong,.workspace-action-copy small{display:block}.workspace-action-copy strong{white-space:nowrap;font-size:13px;font-weight:850;line-height:1.2}.workspace-action-copy small{opacity:.72;white-space:nowrap;margin-top:3px;font-size:10px;font-weight:650;line-height:1.2}.main-grid{grid-template-columns:minmax(320px,380px) minmax(520px,1fr) minmax(300px,360px);align-items:start;gap:18px;min-width:0;display:grid}.workspace,.preview-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-width:0;box-shadow:var(--shadow)}.control-panel{scrollbar-width:thin;gap:12px;min-width:0;max-height:calc(100vh - 82px);padding:0 4px 8px 0;display:grid;position:sticky;top:70px;overflow:auto}.control-hero,.layer-card,.form-action-card{background:#fffdf8e0;border:1px solid #d7d4caeb;border-radius:14px;box-shadow:0 14px 30px #20262b11}.control-hero{background:linear-gradient(135deg, #176e701a, #fffdf8eb), var(--panel);padding:16px}.control-hero .eyebrow{color:var(--teal);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:900}.control-hero h2{margin:5px 0 4px;font-size:22px}.control-hero p,.layer-title p,.layer-card summary small{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.control-steps{z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f4f1eadb;border:1px solid #d7d4cac7;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;display:grid;position:sticky;top:0}.control-steps a{color:var(--muted);text-align:center;background:#fffdf8;border-radius:999px;padding:7px 8px;font-size:12px;font-weight:800;text-decoration:none}.control-steps a:hover{color:var(--teal);box-shadow:inset 0 0 0 1px #176e7038}.layer-card{overflow:hidden}.layer-title{grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:12px 14px;list-style:none;display:grid}.layer-card summary{cursor:pointer;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:54px;padding:12px 14px;list-style:none;display:grid}.layer-card summary::-webkit-details-marker{display:none}.layer-card summary:after{content:"展开";color:var(--muted);background:#f4f7f4;border:1px solid #dce3dc;border-radius:999px;justify-self:end;padding:4px 8px;font-size:11px;font-weight:900}.layer-card[open] summary:after{content:"收起";color:var(--teal);background:#e6f1e9}.step-index{background:var(--ink);color:#fffdf8;border-radius:10px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:900;display:grid}.layer-body{padding:0 14px 14px}.status-pill{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#fff;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.status-pill.is-ready,.config-head span.is-ready{color:var(--green);background:#e6f1e9;border-color:#c9dccd}.status-pill.is-draft,.config-head span.is-draft{color:#8a6516;background:#fff4d8;border-color:#dfc77d}.local-env-panel{border:1px solid var(--line);background:#fbfaf5;border-radius:14px;margin-top:10px;padding:10px}.local-env-head{color:var(--ink);align-items:center;gap:8px;font-size:13px;display:flex}.local-env-dot,.local-env-item:before{content:"";background:#d8c27a;border-radius:999px;flex:none;width:9px;height:9px;box-shadow:0 0 0 3px #d8c27a2e}.local-env-panel.is-ready .local-env-dot,.local-env-item.is-ready:before{background:var(--green);box-shadow:0 0 0 3px #467f5b2e}.local-env-panel.is-error .local-env-dot,.local-env-item.is-error:before{background:#b84a4a;box-shadow:0 0 0 3px #b84a4a29}.local-env-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.local-env-item{color:var(--muted);background:#fff;border:1px solid #e2dccb;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:700;display:inline-flex}.layer-form{gap:12px;display:grid}.form-action-card{z-index:6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8eb;grid-template-columns:1.2fr .8fr;gap:10px;padding:12px;display:grid;position:sticky;bottom:0}#panel-status.status-box{margin-top:0;padding:14px}.dropzone{border-radius:var(--radius);min-height:138px;color:var(--muted);text-align:center;background:#f7f4ec;border:1px dashed #9da79f;place-items:center;gap:8px;margin-bottom:12px;transition:border-color .2s,background .2s,transform .2s;display:grid}.dropzone-compact{text-align:left;grid-template-columns:auto 1fr;justify-content:start;place-items:center start;min-height:70px;padding:12px 14px}.dropzone-compact .drop-icon{width:34px;height:34px}.dropzone:hover{border-color:var(--teal);background:#eef7f4;transform:translateY(-1px)}.dropzone input{opacity:0;width:1px;height:1px;position:absolute}.character-card-preview{background:#f4fbf6;border:1px solid #c9dccd;border-radius:14px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;margin:10px 0 12px;padding:10px;display:grid}.character-card-preview.is-empty{color:var(--muted);border-color:var(--line);text-align:center;background:#fffdf8;font-size:12px;font-weight:800;display:block}.character-card-preview img,.character-card-placeholder{object-fit:cover;background:#fff;border:1px solid #176e7038;border-radius:12px;width:72px;height:72px}.character-card-placeholder{color:var(--muted);place-items:center;font-size:12px;font-weight:900;display:grid}.character-card-preview strong,.character-card-preview span,.character-card-preview a{display:block}.character-card-preview strong{margin-bottom:3px}.character-card-preview span{color:var(--muted);font-size:12px;line-height:1.35}.character-card-preview a{color:var(--teal);margin-top:6px;font-size:12px;font-weight:900}.subject-score-list{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:12px;overflow:hidden}.subject-score-head,.subject-score-row{grid-template-columns:.8fr .8fr 1.5fr .7fr;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:grid}.subject-score-head{color:var(--muted);background:#f4f7f4;font-weight:900}.subject-score-row{border-top:1px solid var(--line)}.subject-score-row strong{font-size:13px}.subject-score-row.is-pass strong{color:#167b4b}.subject-score-row.is-warn strong{color:#9a6a00}.subject-score-row.is-best strong,.subject-score-row.is-unavailable strong{color:#a83b2a}.subject-inline-score strong{font-size:12px}.subject-inline-score.is-pass strong{color:#167b4b}.subject-inline-score.is-warn strong{color:#9a6a00}.subject-inline-score.is-best strong,.subject-inline-score.is-unavailable strong{color:#a83b2a}.drop-icon{background:var(--teal);color:#fff;border-radius:999px;place-items:center;width:42px;height:42px;font-size:24px;line-height:1;display:grid}.field,.field-row{margin-bottom:12px}.config-box{border-radius:var(--radius);background:#f4f7f4;border:1px solid #dce3dc;margin:14px 0;padding:12px}.config-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:13px;display:flex}.config-head span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.config-head span.is-ready{color:var(--green);background:#e6f1e9;border-color:#c9dccd}.config-head span.is-draft{color:#8a6516;background:#fff4d8;border-color:#dfc77d}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field label{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:#fff;border-radius:7px;padding:8px 9px}.url-row{grid-template-columns:minmax(0,1fr) 38px 38px;align-items:stretch;gap:8px;display:grid}.url-row input[readonly]{color:var(--ink);background:#fffdf8}.icon-only{place-items:center;min-width:38px;padding:0;display:grid}.icon-only span,.primary .icon-only span,.secondary.icon-only span{margin-right:0}button:disabled{cursor:not-allowed;opacity:.48}.field textarea{resize:vertical;min-height:94px;line-height:1.45}.field-note{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.35}.toggle{color:var(--ink);align-items:center;gap:8px;margin:6px 0 14px;font-size:14px;display:flex}.button-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.button-row.compact{gap:8px}.button-row.compact .secondary{min-height:34px;font-size:13px}.secondary.full{width:100%}.link-button{width:100%;min-height:30px;color:var(--muted);text-align:center;background:0 0;border:0;font-size:12px;font-weight:800}.link-button:hover{color:var(--danger)}.link-button.align-left{text-align:left}.connection-status{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:7px;margin:4px 0 8px;padding:8px 9px;font-size:12px;line-height:1.4}.connection-status.testing{color:#805d18;background:#fff8e7;border-color:#ead9a7}.connection-status.ok{color:var(--green);background:#e6f1e9;border-color:#c9dccd}.connection-status.fail{color:var(--danger);background:#f5e3df;border-color:#e1bab1}[hidden]{display:none!important}.mini-list,.skill-list{gap:8px;margin-bottom:10px;display:grid}.history-job-list{gap:8px;max-height:260px;padding-right:2px;display:grid;overflow:auto}.history-job-filters{grid-template-columns:minmax(0,1.4fr) minmax(120px,.8fr) auto;align-items:end;gap:8px;margin:10px 0 12px;display:grid}.history-job-search,.history-job-status{gap:5px;min-width:0;display:grid}.history-job-search span,.history-job-status span{color:var(--muted);font-size:11px;font-weight:900}.history-job-search input,.history-job-status select{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);font:inherit;background:#fffdf8;border-radius:8px;padding:8px 9px;font-size:12px;font-weight:800}.compact-button{min-height:35px;padding:8px 10px}.history-job-row{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:minmax(0,1fr) 30px;align-items:stretch;gap:6px;display:grid;overflow:hidden}.history-job-row.is-active{background:#eef7f4;border-color:#176e706b}.history-job-row.is-loading{background:#f4faf8;border-color:#176e706b}.history-job-open{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;padding:9px 10px}.history-job-open strong,.history-job-open span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.history-job-open strong{font-size:13px}.history-job-open span{color:var(--muted);margin-top:3px;font-size:12px}.history-job-open.is-loading{min-height:50px;color:var(--teal);cursor:wait;align-items:center;gap:8px;display:flex}.history-job-open.is-loading .history-job-spinner,.history-job-open.is-loading .history-job-loading-label{color:inherit;margin:0;overflow:visible}.history-job-spinner{border:2px solid #176e7033;border-top-color:currentColor;border-radius:50%;flex:0 0 15px;width:15px;height:15px;animation:.75s linear infinite history-job-spin}.history-job-loading-label{font-size:12px;font-weight:800;line-height:1}@keyframes history-job-spin{to{transform:rotate(360deg)}}.history-job-delete{color:var(--muted);background:#fffdf8;border:0;border-left:1px solid #d7d4cac7;place-items:center;padding:0;transition:background .18s,color .18s;display:grid}.history-job-delete:hover{color:var(--teal);background:#eef4ef}.history-job-delete-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:15px;height:15px}.history-job-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:9px;padding:12px;font-size:12px;font-weight:800}@media (width<=620px){.history-job-filters{grid-template-columns:1fr}}.mini-row,.skill-row{border:1px solid var(--line);background:#fff;border-radius:7px;padding:9px;font-size:12px;line-height:1.4}.mini-row{justify-content:space-between;gap:8px;display:flex}.mini-row strong,.skill-row strong{color:var(--ink);font-size:13px;display:block}.mini-row span,.skill-row span,.skill-row p{color:var(--muted)}.skill-row{grid-template-columns:18px minmax(0,1fr);gap:9px;display:grid}.skill-row input{margin-top:3px}.skill-row p{margin:4px 0 8px}.skill-actions{flex-wrap:wrap;gap:8px;display:flex}.skill-actions button{color:var(--teal);background:0 0;border:0;padding:0;font-size:12px;font-weight:800}.skill-editor{border-top:1px solid #dce3dc;margin-top:10px;padding-top:10px}.skill-editor summary{cursor:pointer;color:var(--teal);font-size:12px;font-weight:800}.primary,.secondary,.icon-button,.tab{border:1px solid #0000;border-radius:7px;min-height:38px}.primary{background:var(--teal);color:#fff;font-weight:760}.secondary{border-color:var(--line);color:var(--ink);background:#fff;font-weight:700}.primary span,.secondary span{margin-right:6px}.status-box{border-radius:var(--radius);background:#f4f7f4;border:1px solid #dce3dc;margin-top:14px;padding:12px}.status-title{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:800}.runtime-status{font-size:13px;line-height:1.45}.settings-grid,.user-grid{align-items:start;gap:18px;display:grid}.settings-grid{grid-template-columns:minmax(380px,1.35fr) minmax(300px,.75fr)}.settings-grid #panel-model{grid-row:span 3}.user-grid{grid-template-columns:minmax(320px,.8fr) minmax(360px,1.2fr)}.user-summary-column{align-content:start;gap:18px;min-width:0;display:grid}.settings-card,.user-profile-card{min-width:0}.settings-note{border-radius:var(--radius);color:var(--muted);background:#f4f7f4;border:1px solid #dce3dc;margin-bottom:12px;padding:10px;font-size:12px;line-height:1.45}.settings-note strong{color:var(--ink);margin-bottom:4px;font-size:13px;display:block}.settings-note p{margin:0}.skill-editor.is-plain{border-top:0;margin-top:0;padding-top:0}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.profile-cell{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:10px}.profile-cell span,.profile-cell strong{display:block}.profile-cell span{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:760}.profile-cell strong{overflow-wrap:anywhere;font-size:14px}.about-card{background:linear-gradient(145deg, #fffdf8fa, #ebf4eff0), var(--panel);min-height:286px;position:relative}.about-card-glow{pointer-events:none;border:42px solid #176e700e;border-radius:50%;width:210px;height:210px;position:absolute;bottom:-86px;right:-58px}.about-card-title,.about-card-body{z-index:1;position:relative}.about-card-title{grid-template-columns:40px minmax(0,1fr) auto;min-height:68px;padding-top:14px}.about-product-mark{background:var(--ink);color:#fffdf8;letter-spacing:.04em;border-radius:12px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:900;display:grid;box-shadow:0 8px 18px #20262b24}.about-status.is-current{color:var(--green);background:#e6f1e9;border-color:#c9dccd}.about-status.is-checking{color:#8a6516;background:#fff7df;border-color:#d9c98d}.about-status.is-update{color:var(--danger);background:#fff0ed;border-color:#e1b7b3}.about-status.is-error{color:var(--danger);background:#fbefed;border-color:#e1c7c4}.about-description{max-width:520px;color:var(--muted);margin:2px 0 14px;font-size:12px;line-height:1.65}.about-version-row{background:#ffffffc7;border:1px solid #d7d4cadb;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;min-height:70px;padding:11px 13px;display:flex}.about-meta-label,.about-version-value{display:block}.about-meta-label{color:var(--muted);margin-bottom:3px;font-size:11px;font-weight:760}.about-version-value{letter-spacing:-.02em;align-items:center;gap:8px;font-size:21px;display:flex}.about-update-dot{background:#d94141;border:2px solid #fff;border-radius:50%;width:8px;height:8px;animation:1.8s ease-in-out infinite about-update-pulse;box-shadow:0 0 0 3px #d9414121}.about-edition{color:var(--teal);white-space:nowrap;background:#e6f1e9b8;border:1px solid #176e7029;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.about-update-message{min-height:18px;color:var(--muted);margin:9px 0 0;font-size:11px;line-height:1.5}.about-progress{background:#176e701f;border-radius:999px;height:4px;margin-top:10px;overflow:hidden}.about-progress span{border-radius:inherit;background:var(--teal);width:0;height:100%;transition:width .18s;display:block}.about-actions{justify-content:flex-end;gap:8px;margin-top:11px;display:flex}.about-check-button,.about-update-button{min-height:34px;padding:7px 13px;font-size:12px}.about-update-button{min-width:124px;box-shadow:0 8px 18px #176e7029}.about-actions button:disabled{cursor:wait;opacity:.66}.about-copyright{color:#87918c;letter-spacing:.02em;margin:14px 0 0;font-size:10px}@keyframes about-update-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.workspace{background:linear-gradient(180deg, #fffdf8fa, #f8faf8eb), var(--panel);border-radius:16px;min-height:calc(100vh - 84px);padding:0;overflow:hidden}.workspace-head,.panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.workspace-head{background:#fffdf8b8;border-bottom:1px solid #d7d4cacc;padding:18px}.workspace-head>div:first-child{min-width:0}.workspace-head h2{font-size:24px}.workspace-job-actions{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:8px 12px;min-width:0;display:flex}.workspace-job-actions>.button-row{flex:none;order:-1;align-items:center;display:flex}.workspace-job-actions>.button-row .secondary{min-width:72px}.job-total-timer{border-left:2px solid var(--line);font-variant-numeric:tabular-nums;min-width:190px;padding:2px 0 2px 11px;display:grid}.job-total-timer>span{color:var(--muted);font-size:10px;font-weight:800}.job-total-timer strong{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:20px;line-height:1.25}.job-total-timer small{color:var(--muted);font-size:9px}.job-total-timer.is-running{border-left-color:var(--gold)}.job-total-timer.is-finished{border-left-color:var(--teal)}.job-title-display{align-items:center;gap:8px;min-width:0;display:flex}.job-title-display h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.job-title-edit-button{appearance:none;color:#6f746f;width:24px;height:24px;box-shadow:none;background:0 0;border:0;border-radius:0;flex:none;place-items:center;padding:0;transition:color .16s,opacity .16s;display:grid}.job-title-edit-button:hover{color:#252a27;box-shadow:none;background:0 0}.job-title-edit-button:focus-visible{outline-offset:2px;outline:1.5px solid}.job-title-edit-button:disabled{opacity:.4;background:0 0}.job-title-edit-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.job-title-edit-form{grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:8px;max-width:min(680px,62vw);display:grid}.job-title-edit-form input{min-width:0;color:var(--ink);font:inherit;background:#fffdf8;border:2px solid #f4b400;border-radius:9px;padding:7px 10px;font-size:20px;font-weight:900}.mini-action{min-height:38px;padding:8px 12px}.job-selector{border-radius:12px;max-width:min(520px,70vw);margin-top:8px;padding:8px 10px;font-size:13px}.job-badge,.pill{color:var(--teal);background:#edf2f1;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.job-badge.running{color:#805d18;background:#f7efd9}.job-badge.pausing,.job-badge.paused,.job-badge.stopping,.job-badge.stopped{color:#4b3f87;background:#e9e7f7}.job-badge.completed{color:var(--green);background:#e6f1e9}.job-badge.failed{color:var(--danger);background:#f5e3df}.stage-rail{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:16px 18px 14px;padding-bottom:2px;display:grid;overflow-x:auto}.stage{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:9px}.stage-name{justify-content:space-between;align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.stage-dot{background:#a4aaa5;border-radius:999px;width:8px;height:8px}.stage.running .stage-dot{background:var(--gold)}.stage.completed .stage-dot{background:var(--green)}.stage.warn .stage-dot{background:#c9871a}.stage.failed .stage-dot{background:var(--danger)}.stage.stopped .stage-dot,.stage.interrupted .stage-dot{background:#7e8983}.progress{background:#ece8dd;border-radius:999px;height:5px;margin-top:8px;overflow:hidden}.progress span{background:var(--teal);width:0;height:100%;display:block}.stage-local-message{color:var(--teal);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10px;font-weight:760;line-height:1.35;overflow:hidden}.stage-timing{color:var(--muted);font-variant-numeric:tabular-nums;border-top:1px solid #ece8dd;gap:3px;margin-top:8px;padding-top:7px;font-size:10px;line-height:1.35;display:grid}.stage-time-row{white-space:nowrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.stage-time-row time{color:#34403b;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.stage-elapsed-row{color:var(--teal);margin-top:2px;font-weight:760}.stage-elapsed-row time{color:inherit;font-weight:inherit}.tabs{border-bottom:1px solid var(--line);gap:8px;margin:0 18px 14px;padding-bottom:10px;display:flex}.tab{border-color:var(--line);color:var(--muted);background:#fff;padding:0 13px;font-weight:760}.tab.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.view{display:none}.view.is-active{padding:0 18px 18px;display:block}.overview-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.info-panel,.shot-card,.gate-row,.trace-row,.artifact-row,.voice-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2)}.info-panel{padding:14px}.info-panel h3,.shot-card h3{margin:0 0 10px;font-size:15px}.kv{gap:8px;display:grid}.kv div{grid-template-columns:96px 1fr;gap:12px;font-size:13px;line-height:1.45;display:grid}.kv span:last-child{overflow-wrap:anywhere}.kv span:first-child{color:var(--muted);font-weight:760}.warning-list{gap:8px;margin-top:12px;display:grid}.warning-list div{border-left:4px solid var(--gold);background:#fff8e7;border-radius:6px;padding:8px 10px;font-size:13px}.evidence-list,.evidence-box{gap:7px;margin-top:10px;display:grid}.evidence-box{background:#f8faf8;border:1px solid #dce3dc;border-radius:7px;padding:9px}.evidence-row{color:var(--muted);grid-template-columns:78px minmax(0,1fr) auto;align-items:start;gap:8px;font-size:12px;line-height:1.4;display:grid}.evidence-row span:first-child{color:var(--teal);font-weight:800}.evidence-row span:nth-child(2){overflow-wrap:anywhere}.evidence-row a{color:var(--blue);white-space:nowrap;font-weight:800;text-decoration:none}.shot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.jianying-export-bar{border-radius:var(--radius);background:#f3f8f5;border:1px solid #cbd8d2;grid-template-columns:auto auto 1fr;align-items:center;gap:10px 14px;margin-bottom:12px;padding:12px;display:grid}.jianying-select-all,.shot-select-control{color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.jianying-select-all input,.shot-select-control input{width:17px;height:17px;accent-color:var(--teal)}.jianying-selection-count{color:var(--teal);font-size:13px;font-weight:800}.jianying-export-actions{justify-content:flex-end;display:flex;position:relative}.jianying-export-actions button{min-height:36px;padding:0 13px}.jianying-split-button{border-radius:10px;grid-template-columns:minmax(168px,auto) 42px;display:inline-grid;position:relative;box-shadow:0 10px 24px #176e702e}.jianying-export-actions .jianying-split-main,.jianying-export-actions .jianying-split-toggle{background:var(--teal);border-color:#0000;min-height:42px;transition:background .15s,box-shadow .15s}.jianying-export-actions .jianying-split-main{letter-spacing:.01em;border-radius:10px 0 0 10px;padding:0 18px;font-size:14px}.jianying-export-actions .jianying-split-toggle{border-left-color:#ffffff42;border-radius:0 10px 10px 0;place-items:center;min-width:42px;padding:0;display:grid}.jianying-export-actions .jianying-split-main:not(:disabled):hover,.jianying-export-actions .jianying-split-toggle:not(:disabled):hover,.jianying-export-actions .jianying-split-toggle[aria-expanded=true]{background:#125d60}.jianying-export-actions .jianying-split-main:focus-visible,.jianying-export-actions .jianying-split-toggle:focus-visible,.jianying-export-menu button:focus-visible{z-index:1;outline-offset:2px;outline:3px solid #365f8f47;position:relative}.jianying-export-actions .jianying-split-toggle .jianying-split-chevron{border-bottom:1.8px solid;border-right:1.8px solid;width:8px;height:8px;margin:-4px 0 0;transition:transform .15s;transform:rotate(45deg)}.jianying-split-toggle[aria-expanded=true] .jianying-split-chevron{margin-top:4px;transform:rotate(225deg)}.jianying-export-menu{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform-origin:100% 0;background:#fffdf8fa;border:1px solid #cbd8d2f5;border-radius:12px;width:min(292px,100vw - 32px);padding:6px;animation:.14s ease-out jianying-menu-enter;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 44px #20262b29}.jianying-export-menu[hidden]{display:none}.jianying-export-actions .jianying-export-menu button{width:100%;min-height:58px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;transition:background .14s;display:grid}.jianying-export-actions .jianying-export-menu button:not(:disabled):hover,.jianying-export-actions .jianying-export-menu button:not(:disabled):focus-visible{background:#edf5f1}.jianying-menu-icon{width:32px;height:32px;color:var(--teal);background:#e1efea;border-radius:9px;place-items:center;font-size:18px;font-weight:900;display:grid}.jianying-menu-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.jianying-menu-copy,.jianying-menu-copy strong,.jianying-menu-copy small{min-width:0;display:block}.jianying-menu-copy strong{margin-bottom:3px;font-size:13px}.jianying-menu-copy small{color:var(--muted);font-size:11px;font-weight:600;line-height:1.4}@keyframes jianying-menu-enter{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.jianying-export-note,.jianying-export-status{color:var(--muted);grid-column:1/-1;margin:0;font-size:12px;line-height:1.45}.jianying-export-status{color:var(--teal);font-weight:760}.shot-card{position:relative;overflow:hidden}.shot-card.is-selected{border-color:#7fae99;box-shadow:inset 0 0 0 1px #7fae99}.shot-select-control{z-index:2;background:#ffffffed;border:1px solid #fffc;border-radius:999px;padding:6px 9px;position:absolute;top:9px;left:9px;box-shadow:0 2px 10px #15272024}.shot-card img,.shot-card video{aspect-ratio:16/9;object-fit:contain;background:#141b1b;width:100%;max-height:520px;display:block}.shot-body{padding:12px}.shot-meta{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.shot-text{color:var(--muted);font-size:13px;line-height:1.5}.shot-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;font-size:13px;display:flex}.shot-actions a{color:var(--teal);font-weight:800}.shot-actions .shot-download-button{background:#edf7f3;border:1px solid #176e7059;border-radius:8px;align-items:center;min-height:32px;padding:0 11px;text-decoration:none;display:inline-flex}.shot-actions .shot-download-button:hover,.shot-actions .shot-download-button:focus-visible{border-color:var(--teal);background:#dff1ea}.prompt-box{color:#3b464b;background:#fff;border:1px solid #e2ded4;border-radius:7px;max-height:118px;margin-top:10px;padding:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.45;overflow:auto}.gate-list,.trace-list{gap:9px;display:grid}.gate-row,.trace-row,.artifact-row,.voice-row{padding:10px}.gate-row{grid-template-columns:92px 1fr;align-items:start;gap:10px;display:grid}.gate-status{text-align:center;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800}.gate-status.pass{color:var(--green);background:#e6f1e9}.gate-status.warn{color:#8d6618;background:#f7efd9}.gate-status.fail{color:var(--danger);background:#f5e3df}.inspector{gap:12px;min-width:0;display:grid;position:sticky;top:70px}.preview-panel{background:#fffdf8e6;border-radius:14px;padding:0;overflow:hidden}.preview-panel .panel-head{background:#f8faf8e0;border-bottom:1px solid #d7d4cac7;padding:12px 14px}.panel-head h2{font-size:16px}.icon-button{border-color:var(--line);width:34px;height:34px;color:var(--ink);background:#fff;place-items:center;display:grid}.timeline-player{aspect-ratio:16/10;border-radius:var(--radius);background:#e8e5dc;border:1px solid #d7d4caeb;place-items:center;width:calc(100% - 24px);margin:12px;display:grid;position:relative;overflow:hidden}.timeline-player img,.timeline-player video{object-fit:contain;width:100%;height:100%}.timeline-player.is-playing img{animation:4.8s ease-in-out infinite alternate slowPush}@keyframes slowPush{0%{transform:scale(1)}to{transform:scale(1.05)}}.empty-preview{color:var(--muted);font-size:13px}.timeline-caption{min-height:42px;color:var(--muted);margin:0 12px 12px;font-size:13px;line-height:1.5}.voice-list,.artifact-list{gap:8px;margin-top:0;padding:12px;display:grid}.voice-row{font-size:13px;line-height:1.45}.voice-time{color:var(--teal);margin-bottom:4px;font-weight:800}.artifact-row{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.artifact-row a{color:var(--blue);font-weight:760;text-decoration:none}.trace-row{grid-template-columns:170px 1fr 72px;align-items:center;gap:10px;font-size:13px;display:grid}.trace-row code{color:var(--blue)}@media (width<=1180px){.main-grid{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.settings-grid,.user-grid{grid-template-columns:minmax(0,1fr)}.inspector{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));position:static}}@media (width<=1100px){.topbar{grid-template-columns:minmax(160px,.45fr) minmax(0,1fr);align-items:center}.product-nav,.topbar-actions{width:100%}.topbar-actions{grid-column:1/-1;justify-content:space-between}.auth-strip{min-width:0}.topbar.is-compact{grid-template-columns:minmax(140px,auto) minmax(260px,1fr) auto;align-items:center}.topbar.is-compact .topbar-actions{grid-column:auto;width:auto}.main-grid{grid-template-columns:minmax(0,1fr)}.control-panel,.inspector{max-height:none;padding-right:0;position:static;overflow:visible}.control-steps,.form-action-card{position:static}.inspector{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace{min-height:auto}}@media (width<=820px){.app-shell{padding:12px}.site-footer{margin:0 12px 14px;font-size:11px}.topbar,.main-grid,.settings-grid,.user-grid,.inspector,.overview-grid,.shot-grid{grid-template-columns:1fr}.topbar{display:grid}.topbar.is-compact{grid-template-columns:auto minmax(0,1fr) auto}.control-panel,.inspector{max-height:none;position:static}.control-steps{grid-template-columns:repeat(2,1fr);position:static}.stage-rail{grid-template-columns:repeat(4,minmax(132px,1fr))}.kv div,.gate-row,.trace-row,.evidence-row{grid-template-columns:1fr}}@media (width<=620px){.topbar{grid-template-columns:1fr}.auth-strip{justify-items:stretch}.auth-form,.workspace-head,.page-heading,.panel-head{justify-content:flex-start}.workspace-head,.page-heading,.panel-head{flex-direction:column;align-items:stretch}.workspace-job-actions{flex-direction:column;align-items:stretch;width:100%}.job-total-timer{min-width:0}.job-title-edit-form{grid-template-columns:1fr;max-width:none}.workspace-heading-actions{width:100%}.workspace-heading-action{flex:1 1 0;min-width:0}.client-download-picker{flex:auto;min-width:0}.client-download-menu{width:min(248px,100vw - 34px);left:0;right:auto}.field-row,.button-row,.form-action-card,.url-row,.profile-grid{grid-template-columns:1fr}.product-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.product-nav-button{text-align:center;align-content:center}.product-nav-button span{display:none}.topbar-actions{justify-content:space-between}.topbar.is-compact .brand>div:last-child{display:none}.url-row .icon-only{min-height:38px}.control-steps{grid-template-columns:1fr}.tabs{overflow-x:auto}.tab{flex:none}.stage-rail{grid-template-columns:repeat(2,minmax(120px,1fr))}.jianying-export-bar{grid-template-columns:1fr}.jianying-export-actions{justify-content:stretch}.jianying-split-button{grid-template-columns:minmax(0,1fr) 44px;width:100%}}@media (prefers-reduced-motion:reduce){.topbar,.client-download-picker,.client-download-toggle svg{transition:none}.jianying-export-menu{animation:none}}
