:root{font-family:Inter,Microsoft YaHei,PingFang SC,Arial,sans-serif;color:#202623;background:#f4f6f5;font-synthesis:none;--ink: #202623;--muted: #707873;--line: #dce1de;--soft: #eef1ef;--paper: #ffffff;--accent: #0f766e;--accent-dark: #0a5b55;--red: #b4232c;--amber: #b76514;--sidebar: #151918}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f4f6f5}button,input,select,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-pending{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:18px;color:var(--muted)}.auth-pending p{max-width:420px;margin:0;font-size:13px;text-align:center}.auth-shell{display:grid;grid-template-columns:minmax(320px,42%) minmax(0,1fr);min-height:100vh;background:var(--paper)}.auth-context{position:relative;display:flex;min-height:100vh;flex-direction:column;padding:34px 38px;overflow:hidden;background:var(--sidebar);color:#eef3f0;animation:auth-context-enter .4s ease both}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand strong,.auth-brand span{display:block}.auth-brand strong{font-size:16px}.auth-brand span{margin-top:3px;color:#89938f;font-size:11px}.auth-signal{position:relative;display:grid;place-items:center;width:min(420px,84%);aspect-ratio:1.25;margin:auto;border-block:1px solid #303735;color:#66b9ae}.signal-axis{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(7,1fr)}.signal-axis span{border-left:1px solid #252b29;transform-origin:bottom;animation:signal-rise 1s ease both}.signal-axis span:nth-child(2){animation-delay:.04s}.signal-axis span:nth-child(3){animation-delay:.08s}.signal-axis span:nth-child(4){animation-delay:.12s}.signal-axis span:nth-child(5){animation-delay:.16s}.signal-axis span:nth-child(6){animation-delay:.2s}.signal-axis span:nth-child(7){border-right:1px solid #252b29;animation-delay:.24s}.auth-runtime{display:flex;align-items:center;gap:9px;color:#75807b;font:10px/1 Consolas,monospace}.auth-runtime i{width:6px;height:6px;border-radius:50%;background:#4bb89d;box-shadow:0 0 0 4px #4bb89d1a}.auth-stage{display:grid;min-width:0;place-items:center;padding:44px}.auth-form{width:min(390px,100%);animation:auth-form-enter .36s .08s ease both}.auth-lock{display:grid;width:36px;height:36px;margin-bottom:26px;place-items:center;border:1px solid #cbd2ce;border-radius:5px;color:var(--accent)}.auth-form h1{margin:4px 0 8px;font:600 30px/1.2 Georgia,Microsoft YaHei,serif}.auth-description{margin:0 0 30px;color:var(--muted);font-size:13px}.auth-form>label{display:block;margin-top:16px}.auth-form>label>span{display:block;margin-bottom:7px;color:#505954;font-size:11px}.auth-form input{min-height:42px;font-size:13px}.password-field{position:relative}.password-field input{padding-right:44px}.password-field button{position:absolute;top:3px;right:3px;display:grid;width:36px;height:36px;padding:0;place-items:center;border:0;background:transparent;color:#6f7974}.password-field button:hover{color:var(--accent)}.auth-error{margin:0 0 20px;padding:10px 12px;border-left:3px solid var(--red);background:#faeeee;color:#8d1e25;font-size:12px}.auth-submit{display:inline-flex;width:100%;min-height:42px;margin-top:24px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:5px;background:var(--accent);color:#fff;transition:background .15s ease,transform .15s ease}.auth-submit:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px)}.auth-submit:disabled{cursor:wait;opacity:.68}@keyframes auth-context-enter{0%{opacity:0}to{opacity:1}}@keyframes auth-form-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes signal-rise{0%{opacity:0;transform:scaleY(.35)}to{opacity:1;transform:scaleY(1)}}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 14px;background:var(--sidebar);color:#eef3f0}.brand-block{display:flex;align-items:center;gap:11px;padding:0 10px 22px;border-bottom:1px solid #2b302e}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid #4f5a56;color:#79c9be;font:700 18px/1 Georgia,serif}.brand-block strong,.brand-block span{display:block}.brand-block strong{font-size:15px}.brand-block span{margin-top:2px;color:#89938f;font-size:11px}.main-nav{display:grid;gap:5px;padding-top:18px}.main-nav button{display:flex;align-items:center;gap:11px;width:100%;min-height:40px;padding:0 11px;border:0;border-left:2px solid transparent;background:transparent;color:#98a19d;text-align:left;transition:background .16s ease,color .16s ease,transform .16s ease}.main-nav button:hover{color:#eef3f0;background:#202523;transform:translate(2px)}.main-nav button.active{color:#fff;background:#242a28;border-left-color:#58b8ab}.runtime-note{display:flex;gap:9px;align-items:center;margin-top:auto;padding:14px 10px 0;border-top:1px solid #2b302e;color:#89938f}.runtime-note strong,.runtime-note span{display:block}.runtime-note strong{color:#cbd2cf;font-size:11px;font-weight:600}.runtime-note span{margin-top:2px;font-size:10px}.main-area{min-width:0}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;height:58px;padding:0 28px;border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar span,.topbar strong{display:block}.topbar span{color:var(--muted);font-size:10px;text-transform:uppercase}.topbar strong{margin-top:2px;font-size:14px}.topbar-actions{display:flex;align-items:center;gap:16px}.live-state{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.live-state i{width:7px;height:7px;border-radius:50%;background:#24a148;box-shadow:0 0 0 4px #24a1481a}.account-identity{display:flex;min-width:0;align-items:center;gap:7px;padding-left:16px;border-left:1px solid var(--line);color:#4f5954;font-size:12px}.account-identity span{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-icon{display:grid;width:32px;height:32px;padding:0;place-items:center;border:1px solid #cbd2ce;border-radius:4px;background:#fff;color:#59635e}.topbar-icon:hover{border-color:#8f9994;color:var(--red)}.topbar-icon:disabled{cursor:wait;opacity:.5}.view-stage{padding:30px 32px 48px}.workspace{width:min(1480px,100%);margin:0 auto;animation:view-enter .24s ease both}@keyframes view-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;min-height:76px;margin-bottom:28px}.page-heading h1{margin:2px 0 6px;font:600 28px/1.2 Georgia,Microsoft YaHei,serif}.page-heading p{margin:0;color:var(--muted);font-size:13px}.eyebrow{margin:0 0 4px!important;color:var(--accent)!important;font-size:10px!important;font-weight:700;letter-spacing:0!important}.plain-section{min-width:0;margin-bottom:24px;padding:20px 0 22px;border-top:1px solid #cfd5d2}.section-heading{margin-bottom:18px}.section-heading h2{margin:0;font-size:16px;font-weight:650}.inline-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.row-actions{display:flex;align-items:center;gap:8px}.primary-button,.secondary-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid transparent;border-radius:5px;transition:background .15s,border-color .15s,transform .15s}.primary-button{padding:0 15px;background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-dark);transform:translateY(-1px)}.secondary-button{padding:0 13px;border-color:#c9d0cc;background:#fff;color:#3b443f}.secondary-button:hover{border-color:#8f9994;background:#f8f9f8}.icon-button{width:36px;padding:0;border-color:#c9d0cc;background:#fff;color:#4f5954}.icon-button:hover{color:var(--accent);border-color:#7aa9a3}.notice{margin:-10px 0 22px;padding:10px 13px;border-left:3px solid;font-size:12px}.notice.success{border-color:var(--accent);background:#eaf5f2;color:#0b5d55}.notice.error{border-color:var(--red);background:#faeeee;color:#8d1e25}.metric-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 30px;border-block:1px solid var(--line);background:var(--paper)}.metric-band.six{grid-template-columns:repeat(6,minmax(0,1fr))}.metric-band>div{min-width:0;padding:18px 20px;border-right:1px solid var(--line)}.metric-band>div:last-child{border-right:0}.secondary-metrics{margin-top:4px}.metric-band svg{margin-bottom:10px;color:var(--accent)}.metric-band span,.metric-band strong{display:block}.metric-band span{color:var(--muted);font-size:11px}.metric-band strong{margin-top:5px;overflow-wrap:anywhere;font:600 21px/1.15 Georgia,serif}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px}.two-column.wide-left{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr)}.data-lines{border-bottom:1px solid var(--line)}.data-lines>div{display:grid;grid-template-columns:1fr 120px 120px;gap:10px;padding:13px 3px;border-top:1px solid var(--line);font-size:12px}.data-lines span{font-family:Consolas,monospace}.data-lines small{color:var(--muted);text-align:right}.task-row{display:grid;grid-template-columns:1fr auto 44px 16px;align-items:center;gap:12px;min-height:52px;border-bottom:1px solid var(--line)}.task-row strong,.task-row span{display:block}.task-row strong{font-size:12px}.task-row>div>span{margin-top:3px;color:var(--muted);font-size:11px}.status-tag{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;text-transform:uppercase}.status-tag i{width:6px;height:6px;border-radius:50%;background:#8d9691}.status-running i{background:#d88a2d;animation:pulse 1s infinite}.status-completed i{background:#16856f}.status-failed i,.status-cancelled i{background:#bd3038}@keyframes pulse{50%{opacity:.35}}.mono{font-family:Consolas,SFMono-Regular,monospace}.positive{color:#087f5b!important}.negative{color:var(--red)!important}.form-grid{display:grid;gap:15px 18px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid label,.weight-grid label{min-width:0}.form-grid label>span,.weight-grid label>span{display:block;margin-bottom:6px;color:#59615d;font-size:11px}.span-two{grid-column:span 2}input,select,textarea{width:100%;min-height:36px;padding:7px 9px;border:1px solid #cbd2ce;border-radius:4px;outline:none;background:#fff;color:var(--ink);font-size:12px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#4d958c;box-shadow:0 0 0 2px #0f766e17}input[type=checkbox]{width:15px;min-height:15px;margin:0;accent-color:var(--accent)}input[type=file]{padding:6px}.segmented{display:inline-grid;grid-template-columns:1fr 1fr;margin:0 0 18px;padding:2px;border:1px solid #cbd2ce;border-radius:5px;background:#eef1ef}.segmented button{min-width:90px;min-height:30px;border:0;border-radius:3px;background:transparent;color:var(--muted);font-size:11px}.segmented button.active{background:#fff;color:var(--accent);box-shadow:0 1px 3px #181f1c1a}.form-actions{margin-top:18px}.toggle-line{display:flex;gap:24px;margin-top:16px}.toggle-line label{display:inline-flex;align-items:center;gap:7px;color:#505954;font-size:11px}.weight-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:13px}.table-wrap{width:100%;overflow:auto;border-bottom:1px solid var(--line)}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}th{padding:9px 10px;border-bottom:1px solid #bfc7c2;color:var(--muted);font-weight:600;text-align:left}td{padding:10px;border-bottom:1px solid #e1e5e3}tbody tr{transition:background .12s}tbody tr:hover{background:#f0f4f2}.empty-state{padding:30px 0;color:var(--muted);font-size:12px;text-align:center}.empty-state.large{padding:120px 20px;border-top:1px solid var(--line)}.task-console{margin-bottom:26px;padding:20px;border:1px solid #d4dad7;border-radius:6px;background:#fff}.progress-track{height:4px;overflow:hidden;background:#e8ecea}.progress-track span{display:block;height:100%;background:var(--accent);transition:width .3s ease}.task-meta{display:flex;justify-content:space-between;margin-top:8px;color:var(--muted);font-size:11px}.log-console{max-height:230px;margin:16px 0 0;padding:13px;overflow:auto;border-radius:4px;background:#171b1a;color:#b9c7c1;font:10px/1.6 Consolas,monospace;white-space:pre-wrap}.factor-catalog{max-height:440px;overflow:auto}.factor-catalog button{display:flex;justify-content:space-between;width:100%;padding:10px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left}.factor-catalog button:hover,.factor-catalog button.selected{color:var(--accent);background:#eef5f3}.factor-catalog small{color:var(--muted)}.chart-panel{width:100%;min-height:240px}.diagnostic-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-block:1px solid var(--line)}.diagnostic-grid div{display:flex;justify-content:space-between;gap:10px;padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.diagnostic-grid span{overflow-wrap:anywhere;color:var(--muted);font-size:10px}.diagnostic-grid strong{font-size:12px}.factor-bars{display:grid;gap:12px}.factor-bars>div{display:grid;grid-template-columns:180px minmax(120px,1fr) 70px;align-items:center;gap:14px;font-size:11px}.factor-bars i{display:block;height:6px;overflow:hidden;background:#e7ebe9}.factor-bars b{display:block;height:100%;background:var(--accent);transition:width .3s ease}.factor-bars strong{text-align:right;font-family:Consolas,monospace}@media(max-width:1100px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.brand-block>div:last-child,.main-nav span,.runtime-note div{display:none}.brand-block,.main-nav button,.runtime-note{justify-content:center}.metric-band.six{grid-template-columns:repeat(3,1fr)}.metric-band.six>div:nth-child(3){border-right:0}.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.weight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.auth-shell{grid-template-columns:1fr}.auth-context{min-height:116px;padding:22px 24px}.auth-signal,.auth-runtime{display:none}.auth-stage{place-items:start center;padding:42px 24px}.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;z-index:20;width:auto;height:58px;padding:5px 8px}.brand-block,.runtime-note{display:none}.main-nav{grid-template-columns:repeat(5,1fr);padding:0}.main-nav button{justify-content:center;min-height:48px;padding:0;border-left:0;border-bottom:2px solid transparent}.main-nav button.active{border-left-color:transparent;border-bottom-color:#58b8ab}.topbar{padding:0 16px}.topbar-actions{gap:8px}.live-state,.account-identity span{display:none}.account-identity{padding-left:0;border-left:0}.view-stage{padding:22px 16px 86px}.page-heading{align-items:flex-start;gap:18px}.page-heading h1{font-size:24px}.two-column,.two-column.wide-left{grid-template-columns:1fr;gap:10px}.form-grid.three,.form-grid.four,.form-grid.two{grid-template-columns:1fr}.span-two{grid-column:auto}.metric-band,.metric-band.six{grid-template-columns:repeat(2,1fr)}.metric-band>div:nth-child(2n){border-right:0}.weight-grid,.diagnostic-grid{grid-template-columns:repeat(2,1fr)}}
