:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#202940;background:#f6f7fb;font-synthesis:none;--accent:#6559e9;--muted:#8a91a4;--border:#e9ebf2;--sidebar:248px}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #aca5ff;outline-offset:4px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}button{border:0}button:hover:not(:disabled){filter:brightness(.97)}
.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;background:#18213b;color:#c3cada;padding:32px 20px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;color:#fff;font-size:23px;font-weight:750;letter-spacing:-.7px;padding:0 12px}.brand-mark{height:43px;width:43px;background:var(--accent);border-radius:12px;display:grid;place-items:center;font-size:35px;letter-spacing:-3px;line-height:1;padding-right:4px}.brand-sub{display:block;font-size:10px;color:#b1b9cd;font-weight:400;letter-spacing:2px;margin-top:4px}.new-button{display:flex;align-items:center;justify-content:center;gap:11px;margin:37px 0 33px;padding:12px;background:var(--accent);color:white;border-radius:9px;font-size:13px;font-weight:600;box-shadow:0 5px 15px #100e3920}.new-button span{font-size:22px;font-weight:300;line-height:20px}.history-heading{display:flex;justify-content:space-between;font-size:11px;padding:0 10px;margin-bottom:14px;color:#9aa5bf}.local-label{font-size:10px;color:#79859f}.history-list{flex:1;overflow-y:auto;min-height:100px}.history-empty{text-align:center;color:#7f8ba5;font-size:12px;line-height:2;margin-top:45px}.history-item{display:flex;gap:2px;align-items:center;border-radius:8px;margin:3px 0}.history-item.active{background:#ffffff0d}.history-open{flex:1;min-width:0;display:flex;gap:9px;align-items:center;text-align:left;padding:12px 9px;color:#d7dcec;background:transparent;font-size:12px}.history-icon{color:#9e9abe;font-size:17px}.history-title{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:139px}.history-date{display:block;color:#8190ac;font-size:10px;margin-top:5px}.history-delete{padding:9px 6px;color:#8692ac;background:transparent;font-size:16px}.sidebar-bottom{border-top:1px solid #ffffff12;margin-top:16px;padding:21px 6px 0;display:flex;gap:10px;align-items:center}.connection-dot{height:7px;width:7px;border-radius:50%;background:#8490a7;flex-shrink:0}.connection-dot.connected{background:#5fd4ac;box-shadow:0 0 0 4px #5fd4ac0c}.connection-dot.error{background:#eea27e}.sidebar-bottom strong{display:block;color:#d1d9ea;font-size:11px;font-weight:500}.sidebar-bottom #app-name{display:block;font-size:10px;color:#8593b0;margin-top:5px;max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{background:transparent;color:inherit;font-size:20px;padding:7px}.sidebar-bottom .icon-button{margin-left:auto;color:#9ba9c5}
main{margin-left:var(--sidebar);min-height:100vh}.topbar{height:77px;border-bottom:1px solid #e8ebf2;display:flex;align-items:center;justify-content:space-between;padding:0 43px;background:#ffffff88}.breadcrumb{font-size:12px;color:#8b92a4;display:flex;gap:13px}.breadcrumb strong{color:#596177;font-weight:500}.docs-link{font-size:11px;color:#717b91;display:flex;gap:9px}.menu-button{display:none}.page{max-width:1270px;margin:auto;padding:48px 43px 25px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:650;color:#7d7d9e;display:flex;gap:8px;align-items:center}.eyebrow span{width:5px;height:5px;border-radius:50%;background:#8279ed}.intro h1{font-size:32px;font-weight:650;letter-spacing:-1px;margin:18px 0 12px;line-height:1.45}.intro>p{font-size:13px;line-height:1.9;color:#8b91a2;max-width:650px;margin:0}.intro-tags{display:flex;gap:24px;margin:24px 0 33px;color:#777d96;font-size:11px}.intro-tags span:first-child{color:var(--accent)}.mobile-break{display:none}.workspace-grid{display:grid;grid-template-columns:minmax(270px,.83fr) minmax(350px,1.3fr);gap:22px;align-items:start}.panel{background:white;border:1px solid var(--border);border-radius:14px;box-shadow:0 5px 20px #20294803;overflow:hidden}.panel-heading{height:70px;border-bottom:1px solid #f0f1f6;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-heading>div:first-child{display:flex;align-items:center;gap:10px}.step-number{font-size:10px;font-weight:600;color:#979cac;background:#f6f7fb;border:1px solid #eceef4;border-radius:5px;padding:3px 5px}.panel-heading h2{font-size:14px;font-weight:600;margin:0}.subtle{font-size:10px;color:#a2a7b5}.input-panel form{padding:23px}.input-fields{display:grid;gap:18px}.field-label{display:block;font-size:12px;color:#647087;margin-bottom:10px}.required{color:#a9a1f5;margin-left:3px}.dropzone{position:relative;border:1px dashed #cfd0e7;background:#fafaff;display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:216px;border-radius:10px;text-align:center;padding:24px 15px;transition:background .2s,border-color .2s;cursor:pointer}.dropzone:hover,.dropzone.dragging{border-color:#8a80ef;background:#f4f2ff}.dropzone:focus-within{outline:3px solid #b4acff;outline-offset:3px}.dropzone input[type=file]{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.upload-icon{width:47px;height:53px;margin-bottom:18px;border:1px solid #e0dcfa;border-radius:9px;background:#f0edff;display:grid;place-items:center;color:#8378df;font-size:27px;box-shadow:0 4px 10px #5d4dc30a}.dropzone strong{font-size:12px;font-weight:500;color:#525a76;line-height:1.8}.dropzone strong b{color:var(--accent);font-weight:600}.dropzone small{display:block;font-size:10px;line-height:1.9;color:#a0a4b4;margin-top:8px}.file-selection{display:flex;align-items:center;gap:10px;margin-top:12px;background:#f7f8fc;border:1px solid #ebedf5;border-radius:8px;padding:12px}.file-selection>span{min-width:0;flex:1}.file-selection strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:500}.file-selection small{color:#959bad;font-size:10px;display:block;margin-top:4px}.remove-file{background:transparent;color:#8d94a5;font-size:18px}.form-control{width:100%;border:1px solid #dfe3ed;background:#fcfcfe;border-radius:7px;padding:10px;color:#3b4256;font-size:13px}.field-hint{font-size:11px;color:#8b91a4;line-height:1.8}.upload-note{display:flex;align-items:flex-start;gap:7px;color:#9199ac;font-size:10px;line-height:1.8;margin:17px 0 23px}.upload-note p{margin:0}.upload-note>span{font-size:13px}.primary-button{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:8px;padding:13px;background:var(--accent);color:#fff;font-size:12px;font-weight:550;box-shadow:0 3px 9px #6559e929}.primary-button>span:last-child{font-size:16px}.input-footer{text-align:center;font-size:10px;color:#a1a8b8;border-top:1px solid #f0f1f6;padding:16px;background:#fdfdff}.mini-dot{display:inline-block;width:5px;height:5px;background:#c0bedb;border-radius:50%;margin:0 5px 1px 0}.result-panel{min-height:448px}.result-actions{display:flex;gap:8px}.text-button{background:transparent;color:#81899f;padding:5px 7px;border-radius:5px;font-size:11px}.text-button:hover:not(:disabled){color:var(--accent);background:#f5f3ff}.empty-result{text-align:center;padding:51px 20px 40px}.paper-illustration{position:relative;width:142px;height:123px;margin:0 auto 15px}.paper-back{position:absolute;height:93px;width:70px;top:9px;left:31px;background:#f0eefb;border:1px solid #e7e3f7;border-radius:7px;transform:rotate(-13deg)}.paper-front{position:absolute;height:103px;width:79px;top:8px;left:42px;background:white;border:1px solid #e2dfef;border-radius:8px;transform:rotate(7deg);padding:15px 13px;box-shadow:0 6px 14px #5145950a}.paper-icon{color:#a79ddd;font-size:22px;text-align:left;line-height:21px;margin-bottom:11px}.paper-front i{display:block;height:4px;border-radius:2px;background:#efedf7;margin-top:7px}.paper-front i:last-of-type{width:65%}.paper-check{position:absolute;bottom:-3px;right:-9px;width:26px;height:26px;border-radius:50%;background:#f0ecff;color:#9b8feb;border:3px solid white;font-size:14px;line-height:20px}.sparkle{position:absolute;color:#c2b9ee;font-size:18px}.sparkle.one{top:9px;right:0}.sparkle.two{bottom:18px;left:7px;font-size:13px}.empty-result h3{font-size:14px;color:#747b91;font-weight:500;margin:8px 0 12px}.empty-result p{color:#a1a7b7;line-height:1.9;font-size:11px}.empty-chips{display:flex;gap:8px;justify-content:center;margin-top:24px}.empty-chips span{font-size:9px;padding:5px 10px;color:#9ea4b4;border:1px solid #eceef4;border-radius:5px;background:#fdfdff}.page-footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#a6adbd;padding:25px 0}.banner{border:1px solid #f0d5bc;background:#fffbf6;color:#946537;padding:14px 17px;font-size:12px;line-height:1.8;border-radius:8px;margin-bottom:22px;white-space:pre-wrap}.loading-placeholder{padding:65px 20px;text-align:center;font-size:12px;color:#989db0}.run-status{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 24px 10px}.run-status>div{display:flex;gap:9px;align-items:center}.run-status strong{font-size:12px;font-weight:550}.status-indicator{height:7px;width:7px;border-radius:50%;background:var(--accent)}.status-indicator.running{animation:pulse 1.5s infinite}.status-indicator.succeeded{background:#4aaf8e}.status-indicator.failed{background:#d9836e}.result-meta{font-size:10px;color:#a1a7b6;padding:0 24px 16px;line-height:1.8;overflow-wrap:anywhere}.result-output{padding:6px 24px 23px;min-height:190px;overflow-wrap:anywhere;font-size:13px;line-height:1.9;color:#4c566e}.output-section+.output-section{border-top:1px solid #eceef5;padding-top:15px;margin-top:20px}.output-label{font-size:10px;letter-spacing:.5px;color:#999fb1;margin:6px 0 12px;font-weight:500}.result-output h1,.result-output h2,.result-output h3,.result-output h4{color:#39425c;margin:20px 0 10px;line-height:1.6;font-weight:600}.result-output h1{font-size:19px}.result-output h2{font-size:17px}.result-output h3,.result-output h4{font-size:14px}.result-output p{margin:9px 0}.result-output ul,.result-output ol{padding-left:21px}.result-output li{margin:4px 0}.result-output code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;background:#f3f2f9;padding:2px 4px;border-radius:3px}.result-output pre{background:#f7f8fc;border:1px solid #e9ebf3;border-radius:7px;padding:14px;overflow:auto;max-height:520px;white-space:pre-wrap}.result-output pre code{background:none;padding:0}.result-output blockquote{border-left:3px solid #d3cef5;padding:3px 12px;margin:14px 0;color:#8a90a2;background:#fcfbff}.result-output a{color:var(--accent);text-decoration:underline}.result-output hr{border:0;border-top:1px solid #ebedf5;margin:22px 0}.result-output .pending-output{color:#959bb0;font-size:12px;padding-top:27px}.progress-details{border-top:1px solid #edeff5;margin:0 24px;padding:17px 0;color:#929aae;font-size:11px}.progress-details summary{cursor:pointer;display:flex;justify-content:space-between;list-style:none}.progress-details summary::before{content:'›';margin-right:8px}.progress-details[open] summary::before{content:'⌄'}.progress-details summary span{margin-left:auto}.progress-details ol{list-style:none;padding:3px 0 0;margin:0}.progress-details li{display:flex;align-items:center;gap:8px;padding:12px 0 0;color:#8992a7}.progress-details li::before{content:'·';font-size:20px;color:#a49cd8;line-height:12px}.progress-details li.done::before{content:'✓';font-size:11px;color:#58ab8d}.progress-details li.failed::before{content:'!';color:#d0806d;font-size:13px}.progress-details li span:last-child{margin-left:auto;color:#adb2bf;font-size:10px}.toast{position:fixed;bottom:30px;left:calc(50% + var(--sidebar)/2);transform:translateX(-50%);background:#252d44;color:white;padding:13px 22px;font-size:12px;border-radius:9px;box-shadow:0 6px 20px #1c25302b;z-index:50;max-width:90vw;text-align:center}.sidebar-scrim{position:fixed;inset:0;background:#0c132a66;z-index:19}dialog{border:1px solid #e8eaf2;border-radius:14px;max-width:380px;padding:27px;color:#3b445b;box-shadow:0 20px 70px #18213b22}dialog::backdrop{background:#18213b55}dialog h2{font-size:17px;margin:0 0 12px}dialog p{font-size:12px;color:#939aaa;line-height:1.9}.dialog-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:25px}.danger-button{background:#c97166;color:white;border-radius:6px;padding:9px 14px;font-size:12px}.error-text{color:#b96e59;white-space:pre-wrap}.storage-note{color:#a18150;font-size:11px}
@keyframes pulse{50%{box-shadow:0 0 0 5px #6559e91c;opacity:.65}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:1500px){.page{padding-top:65px}.intro h1{font-size:36px}.workspace-grid{margin-top:40px}.empty-result{padding:65px 20px 50px}}
@media(max-width:1100px){:root{--sidebar:218px}.sidebar{padding-left:15px;padding-right:15px}.topbar{padding:0 27px}.page{padding:35px 27px}.workspace-grid{gap:17px;grid-template-columns:minmax(245px,.85fr) minmax(280px,1.15fr)}.panel-heading{padding:0 18px}.subtle{display:none}.input-panel form{padding:18px}.intro h1{font-size:28px}.history-title{max-width:125px}.page-footer{font-size:9px}.result-actions{gap:1px}}
@media(max-width:850px){.workspace-grid{grid-template-columns:1fr}.input-panel{max-width:none}.dropzone{min-height:165px}.empty-result{padding:34px 20px}.result-panel{min-height:390px}.page-footer{flex-direction:column;gap:8px}.intro-tags{margin-bottom:26px}.topbar{height:65px}}
@media(max-width:600px){:root{--sidebar:0px}.sidebar{width:248px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.history-title{max-width:149px}.topbar{padding:0 20px}.topbar>div{display:flex;align-items:center;gap:12px}.menu-button{display:block;font-size:15px;padding:4px}.breadcrumb{font-size:11px;gap:10px}.page{padding:30px 19px 20px}.intro h1{font-size:27px;letter-spacing:-.5px}.intro>p{font-size:12px}.intro-tags{font-size:10px;gap:21px;margin-top:20px}.eyebrow{font-size:8px}.panel-heading{height:64px}.dropzone{min-height:175px}.result-output{padding-left:19px;padding-right:19px}.page-footer{line-height:1.7}.docs-link{font-size:10px}.toast{left:50%}.mobile-break{display:block}.new-button{margin-top:32px}}
