:root{color:#e9edf5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0d1117;font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline-offset:2px;outline:2px solid #77e0c3}button{font-family:inherit}.login-panel{background:radial-gradient(at top,#11252b 0%,#0d1117 60%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#151b24;border:1px solid #27303d;border-radius:12px;width:100%;max-width:480px;padding:36px;box-shadow:0 30px 60px #00000059}.login-card .eyebrow{color:#77e0c3;letter-spacing:.18em;font-size:12px}.login-card h1{letter-spacing:-.02em;margin:8px 0 12px;font-size:28px}.login-hint{color:#9ba7b8;margin-bottom:24px;line-height:1.6}.login-card form{gap:18px;display:grid}.login-card label{color:#9ba7b8;gap:8px;max-width:none;margin:0;display:grid}.login-card label span{font-size:14px}.login-card input{color:#fff;font:inherit;background:#0d1117;border:1px solid #344052;border-radius:6px;padding:12px 14px}.login-card .primary{width:100%;margin-top:8px}.form-error{color:#ff8a8a;margin:0}.form-hint{color:#738095;margin:0;font-size:13px}nav{gap:8px;display:flex}nav button{color:#9ba7b8;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:8px 12px}nav button.nav-active{color:#77e0c3;border-color:#77e0c3}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.session-badge{color:#9ba7b8;align-items:center;gap:12px;font-size:13px;display:flex}.session-badge button{color:#9ba7b8;cursor:pointer;background:0 0;border:1px solid #344052;border-radius:6px;padding:6px 12px}.session-warning{color:#ff8a8a}header{border-bottom:1px solid #27303d;padding-bottom:32px}.eyebrow{color:#77e0c3;letter-spacing:.18em;font-size:12px}h1{letter-spacing:-.05em;margin:18px 0 12px;font-size:clamp(36px,7vw,76px);line-height:1}h2{margin:0 0 12px;font-size:20px}h3{margin:0 0 8px;font-size:16px}h4{color:#9ba7b8;text-transform:uppercase;letter-spacing:.12em;margin:0 0 8px;font-size:14px}p{color:#9ba7b8}.shell{max-width:1180px;margin:0 auto;padding:48px 32px 80px}.layout{grid-template-columns:300px 1fr;gap:48px;padding-top:36px;display:grid}aside{border-right:1px solid #27303d;padding-right:28px}.aside-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.aside-header button{color:#9ba7b8;cursor:pointer;background:0 0;border:1px solid #344052;border-radius:6px;padding:6px 10px;font-size:12px}.scene-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.scene-list button{text-align:left;color:#e9edf5;cursor:pointer;background:0 0;border:1px solid #27303d;border-radius:8px;width:100%;padding:14px}.scene-list button.selected{background:#15251f;border-color:#77e0c3}small{color:#738095;margin-top:6px;display:block}label{color:#9ba7b8;max-width:520px;margin:18px 0;display:block}label>span{color:#9ba7b8;margin-bottom:6px;font-size:13px;display:block}input,select,textarea{color:#fff;width:100%;font:inherit;background:#151b24;border:1px solid #344052;border-radius:6px;margin-top:4px;padding:12px 14px;display:block}textarea{font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,monospace;font-size:13px}input[type=file]{padding:8px}.primary{color:#102019;cursor:pointer;background:#77e0c3;border:0;border-radius:6px;padding:13px 20px;font-weight:700}.primary:disabled{color:#738095;cursor:not-allowed;background:#2c3a44}button{color:#e9edf5;cursor:pointer;font:inherit;background:#151b24;border:1px solid #344052;border-radius:6px;padding:8px 14px}button:disabled{opacity:.5;cursor:not-allowed}fieldset{border:1px solid #27303d;border-radius:8px;margin:18px 0;padding:16px}fieldset legend{color:#9ba7b8;padding:0 8px;font-size:13px}.transport-fieldset,.gates-fieldset{gap:8px;display:grid}.radio,.checkbox{color:#e9edf5;align-items:center;gap:10px;margin:0;display:flex}.radio input,.checkbox input{width:auto;margin:0}.status-pill{letter-spacing:.04em;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.status-created,.status-submitting,.status-uploading,.status-incomplete{color:#9ba7b8;background:#2c3a44}.status-running,.status-pending,.status-awaiting_ready{color:#77e0c3;background:#2c3a44}.status-completed,.status-enabled,.status-ready,.status-uploaded,.status-success{color:#77e0c3;background:#14322a}.status-failed,.status-disabled{color:#ff8a8a;background:#3a1f1f}.status-installed{color:#9bbcff;background:#1f2a3a}.run-center{gap:24px;padding-top:36px;display:grid}.run-center-header{justify-content:space-between;align-items:center;display:flex}.run-form{background:#151b24;border:1px solid #27303d;border-radius:10px;gap:8px;max-width:720px;padding:20px;display:grid}.run-actions{gap:8px;margin-top:8px;display:flex}.run-status{background:#151b24;border:1px solid #27303d;border-radius:10px;padding:20px}.run-meta{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:0;display:grid}.run-meta div{gap:4px;display:grid}.run-meta dt{color:#9ba7b8;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.run-meta dd{color:#e9edf5;margin:0}.run-meta code{background:#0d1117;border-radius:4px;padding:2px 8px}pre{color:#b9f2de;background:#0d1117;border-radius:6px;padding:16px;overflow:auto}.run-timeline{background:#151b24;border:1px solid #27303d;border-radius:10px;padding:20px}.timeline{gap:12px;margin:0;padding:0;list-style:none;display:grid}.timeline-empty{color:#738095;padding:12px 0}.timeline-item{background:#0d1117;border:1px solid #27303d;border-left-width:3px;border-radius:8px;gap:4px;padding:12px 14px;display:grid}.timeline-info{border-left-color:#77e0c3}.timeline-success{background:#102019;border-left-color:#77e0c3}.timeline-error{background:#2a1717;border-left-color:#ff8a8a}.timeline-head{justify-content:space-between;align-items:baseline;display:flex}.timeline-head strong{color:#e9edf5}.timeline-head time{color:#738095;font-size:12px}.timeline-item p{color:#b9f2de;margin:0;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,monospace;font-size:12px}.admin-panel{gap:24px;max-width:980px;padding-top:36px;display:grid}.admin-card{background:#151b24;border:1px solid #27303d;border-radius:12px;gap:16px;padding:24px;display:grid}.admin-card header{border:0;padding:0}.admin-card header p{margin:4px 0 0}.file-input input{cursor:pointer}.upload-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.upload-empty{color:#738095;padding:12px 0}.upload-row{background:#0d1117;border:1px solid #27303d;border-radius:8px;grid-template-columns:1fr 1fr;gap:16px;padding:14px;display:grid}.upload-row strong{color:#e9edf5}.upload-row p{color:#9ba7b8;margin:6px 0 0}.upload-row small{margin-top:4px}.validation-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.validation-list li{background:#0d1117;border:1px solid #27303d;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.publish-form,.install-form{gap:12px;display:grid}.publish-form .form-hint{grid-column:1/-1}.installation-list-header{justify-content:space-between;align-items:center;display:flex}.installation-table{border-collapse:collapse;width:100%}.installation-table th,.installation-table td{text-align:left;border-bottom:1px solid #27303d;padding:10px 12px}.installation-table code{background:#0d1117;border-radius:4px;padding:2px 6px;font-size:12px}.toast-viewport{z-index:9999;gap:8px;max-width:360px;display:grid;position:fixed;bottom:24px;right:24px}.toast{background:#151b24;border:1px solid #27303d;border-radius:8px;justify-content:space-between;align-items:flex-start;padding:14px 16px;display:flex;box-shadow:0 12px 30px #0006}.toast-body strong{color:#e9edf5}.toast-body p{color:#9ba7b8;margin:6px 0 0;font-size:13px}.toast button{color:#738095;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:18px}.toast-success{border-color:#77e0c3}.toast-error{border-color:#ff8a8a}.toast-info{border-color:#344052}.error-fallback{background:#2a1717;border:1px solid #ff8a8a;border-radius:12px;margin:24px 0;padding:32px}.error-fallback h2{color:#ff8a8a}.error-fallback p{color:#ffd0d0}.run-result-hint{color:#9ba7b8;margin-top:12px}.run-result-hint code{background:#0d1117;border-radius:4px;padding:2px 8px}@media (width<=720px){.layout{grid-template-columns:1fr}aside{border-bottom:1px solid #27303d;border-right:0;padding:0 0 24px}.upload-row{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.toast-viewport{max-width:none;left:16px;right:16px}}
