@font-face{font-family:Geist;src:url('/geist.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Geist Mono';src:url('/geist-mono.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--bg:#f4f4f1;--panel:#fbfbf9;--raised:#ececeb;--ink:#16171a;--muted:#5b5e65;--faint:#92949a;--line:#e1e0dc;--line-soft:#eeede9;--accent:#2f62d0;--accent-ink:#fff;--accent-soft:#e7edfa;--red:#b74740;--green:#427b62;color-scheme:light}
:root[data-theme=dark]{--bg:#08090b;--panel:#0e1013;--raised:#191b20;--ink:#eceef3;--muted:#a2a6af;--faint:#858a96;--line:#282b32;--line-soft:#1c1e25;--accent:#9dc4ff;--accent-ink:#05101f;--accent-soft:#162238;--red:#ee8f88;--green:#89b8a0;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:12px/1.6 Geist,-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit;touch-action:manipulation}h1,h2,h3,p{margin:0}h1{font-size:21px;font-weight:550;letter-spacing:-.55px}h2{font-size:16px;font-weight:550;letter-spacing:-.3px}h3{font-size:13px;font-weight:550}a{color:var(--accent);text-decoration:none}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:7px 10px;background:var(--panel);color:var(--muted);transition:background .15s,color .15s}button:hover:not(:disabled){background:var(--raised);color:var(--ink)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input{min-width:0;width:100%;height:39px;border:1px solid var(--line);border-radius:6px;padding:9px 10px;background:var(--bg);color:var(--ink);outline:none;font-size:12px}input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}input[aria-invalid=true]{border-color:var(--red)}input::placeholder{color:var(--faint)}label{display:block;font-size:11px;color:var(--muted);margin:17px 0 7px}code{font-family:'Geist Mono',monospace}::selection{background:var(--accent-soft)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:530;min-height:40px}.primary:hover:not(:disabled){background:var(--accent);color:var(--accent-ink);filter:brightness(1.08)}.wide{display:flex;align-items:center;justify-content:space-between;width:100%}.text-button{background:transparent;border:0;color:var(--faint);font-size:10px;padding:4px}.message{padding:10px 12px;border:1px solid color-mix(in srgb,var(--red) 24%,var(--line));background:color-mix(in srgb,var(--red) 5%,var(--panel));color:var(--red);border-radius:6px;font-size:11px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-line;margin:12px 0}.message.info{color:var(--green);border-color:color-mix(in srgb,var(--green) 25%,var(--line));background:color-mix(in srgb,var(--green) 4%,var(--panel))}.brand-mark{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);border-radius:10px;font-size:24px;font-weight:650;letter-spacing:-2px}.brand-mark span{font-size:17px;align-self:flex-start;margin-top:2px}.signin{min-height:100dvh;display:grid;place-items:center;padding:32px 24px;background:radial-gradient(ellipse at center,var(--panel),var(--bg) 65%)}.signin-inner{width:330px;max-width:100%}.signin h1{margin-top:24px}.signin-subtitle{font-size:11px;color:var(--faint);margin-top:6px}.signin form{margin-top:31px}.signin input{background:var(--panel);height:42px}.signin .primary{margin-top:15px}.signin-footer{border-top:1px solid var(--line);margin-top:29px;padding-top:15px;display:flex;justify-content:space-between;font:8px 'Geist Mono',monospace;letter-spacing:.7px;color:var(--faint)}.workspace{display:grid;grid-template-columns:236px minmax(0,1fr) 356px;height:100dvh;overflow:hidden}.sidebar{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.brand{display:flex;align-items:center;gap:10px;padding:25px 18px 32px;color:var(--ink)}.brand strong{font-size:15px;font-weight:600}.brand small{display:block;font-size:10px;color:var(--faint);margin-top:1px}.nav-label{font-size:9px;color:var(--faint);letter-spacing:1px;padding:0 18px 9px}.sidebar nav{padding:0 9px}.nav-button{display:flex;align-items:center;gap:10px;width:100%;border:0;text-align:left;background:transparent;margin-bottom:4px;padding:9px 11px;font-size:11px}.nav-button>span{font-size:15px;line-height:1}.nav-button small{margin-left:auto;font:9px 'Geist Mono',monospace;color:var(--faint)}.nav-button.active{background:var(--accent-soft);color:var(--accent)}.sidebar-description{border-top:1px solid var(--line-soft);margin-top:25px;padding-top:19px}.sidebar-description>div{padding:8px 20px;font-size:10px;color:var(--muted);display:flex;gap:9px;align-items:center}.sidebar-description i{height:4px;width:4px;border-radius:50%;background:var(--green)}.sidebar-hint{font-size:10px;color:var(--faint);line-height:1.9;padding:12px 20px}.sidebar-bottom{margin-top:auto}.sidebar-stats{display:grid;grid-template-columns:1fr 1fr;gap:23px 10px;border-top:1px solid var(--line);padding:23px 18px}.sidebar-stats strong{display:block;font:17px 'Geist Mono',monospace;letter-spacing:-.7px}.sidebar-stats span{display:block;font-size:9px;color:var(--faint);margin-top:6px}.sidebar-footer{display:flex;justify-content:space-between;align-items:center;padding:11px 17px;border-top:1px solid var(--line-soft);font:9px 'Geist Mono',monospace;color:var(--faint)}.online-dot{display:inline-block;width:4px;height:4px;background:var(--green);border-radius:50%;vertical-align:middle;margin-right:6px}.canvas{min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}.canvas-header{height:65px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 30px;font:9px 'Geist Mono',monospace;color:var(--muted);letter-spacing:.5px;gap:10px}.header-slash{margin:0 10px;color:var(--line)}#connection-status{font:10px Geist,sans-serif;letter-spacing:0;color:var(--faint);white-space:nowrap}.activity-scroll{flex:1;min-height:0;overflow-y:auto;padding:22px 30px 40px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{font:9px 'Geist Mono',monospace;color:var(--faint);letter-spacing:.8px;margin-bottom:10px}.quiet-tag{font:9px 'Geist Mono',monospace;color:var(--faint);border:1px solid var(--line);border-radius:4px;padding:3px 7px;white-space:nowrap}.section-description{font-size:11px;color:var(--faint);margin:10px 0 32px}.records-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:23px 0 17px}.records-toolbar h2{font-size:13px;white-space:nowrap}.records-toolbar h2 span{font:9px 'Geist Mono',monospace;color:var(--faint);margin-left:5px}.search-label{margin:0;width:170px;max-width:55%}.search-label input{height:32px;background:transparent;font-size:10px}.job{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:13px;scroll-margin:20px}.job-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.job-name{font-size:13px;font-weight:550;overflow-wrap:anywhere}.badge{font-size:9px;padding:2px 7px;border:1px solid var(--line);border-radius:4px;color:var(--muted);white-space:nowrap}.badge.succeeded{color:var(--green);border-color:color-mix(in srgb,var(--green) 25%,var(--line));background:color-mix(in srgb,var(--green) 5%,var(--panel))}.badge.failed{color:var(--red)}.badge.running{color:var(--accent);background:var(--accent-soft)}.job-sub{font-size:10px;color:var(--faint);margin:5px 0 18px;overflow-wrap:anywhere}.job-grid{display:grid;grid-template-columns:79px minmax(0,1fr);gap:7px;margin:0;font-size:10px}.job-grid dt{color:var(--faint)}.job-grid dd{margin:0;overflow-wrap:anywhere;font:10px/1.7 'Geist Mono',monospace;color:var(--muted)}.job-message{font-size:10px;line-height:1.8;color:var(--faint);margin-top:16px;overflow-wrap:anywhere}.job-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.secondary{border:1px solid var(--line);border-radius:5px;background:var(--panel);padding:6px 10px;color:var(--muted);font:10px/1.6 Geist,sans-serif;display:inline-block}.secondary:hover{background:var(--raised);color:var(--ink)}.secondary.accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 25%,var(--line));background:var(--accent-soft)}.events{border-top:1px solid var(--line-soft);margin-top:16px;padding-top:12px;color:var(--faint);font-size:10px}.events summary{cursor:pointer}.events p{margin-top:6px;overflow-wrap:anywhere}.empty{padding:72px 14px;text-align:center;color:var(--faint)}.empty-symbol{font-size:25px;display:grid;place-items:center;width:44px;height:44px;background:var(--accent-soft);color:var(--accent);border-radius:12px;margin:0 auto 22px}.empty h3{font-size:15px;font-weight:400;color:var(--muted)}.empty p{font-size:11px;margin-top:8px}.activity-footnote{color:var(--faint);font-size:10px;line-height:1.9;margin-top:22px}.canvas-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 30px;font-size:9px;color:var(--faint);border-top:1px solid var(--line-soft)}.configuration{background:var(--panel);border-left:1px solid var(--line);min-height:0;overflow-y:auto}.configuration-heading{padding:26px 22px 20px;border-bottom:1px solid var(--line)}.configuration-heading .eyebrow{margin-bottom:8px}.configuration-heading>p:last-child{font-size:10px;color:var(--faint);margin-top:8px}#create-form{padding:0 22px 18px}fieldset{border:0;padding:0 0 23px;margin:22px 0 0;min-width:0;border-bottom:1px solid var(--line-soft)}fieldset:last-of-type{padding-bottom:15px;border-bottom:0;margin-bottom:10px}legend{font-size:10px;color:var(--faint);padding:0;margin-bottom:0;width:100%}fieldset label{margin-top:15px}.secret-input{position:relative}.secret-input input{padding-right:48px;font-size:11px}.reveal{position:absolute;right:7px;top:7px;background:transparent;border:0;padding:3px 5px;font-size:10px;color:var(--faint)}.field-note{font-size:9px;color:var(--faint);line-height:1.9;margin-top:7px}.config{padding:12px 0 0;margin-top:8px}.config>div{display:flex;justify-content:space-between;gap:9px;font-size:9px;margin-bottom:7px;min-width:0}.config span{color:var(--faint);flex:none}.config strong{color:var(--muted);font-weight:400;overflow-wrap:anywhere}.config code{color:var(--muted);font-size:9px;overflow-wrap:anywhere}.role-setting{flex-wrap:wrap}.submit-note{font-size:9px;color:var(--faint);text-align:center;margin-top:10px}.configuration-note{border-top:1px solid var(--line-soft);color:var(--faint);font-size:9px;line-height:1.9;margin:0 22px;padding:16px 0 22px}.credential-card{border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));background:var(--panel);border-radius:10px;padding:20px;margin-bottom:18px;scroll-margin:18px}.credential-card h2{font-size:14px}.credential-card>p{font-size:10px;color:var(--faint);margin:8px 0 16px}.login-row{margin:12px 0}.login-row span{display:block;font-size:9px;color:var(--faint);margin-bottom:5px}.login-row code{display:block;padding:8px 10px;background:var(--bg);border:1px solid var(--line-soft);border-radius:5px;font-size:11px;overflow-wrap:anywhere;user-select:all}.credential-confirm{border-top:1px solid var(--line);padding-top:12px;margin-top:15px}.credential-confirm p{font-size:11px;color:var(--muted)}.credential-confirm button{margin:10px 6px 0 0;font-size:10px}.records-only{grid-template-columns:236px minmax(0,1fr)}.records-only .configuration{display:none}.records-only .activity-scroll{max-width:1100px;width:100%;margin:0 auto}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px}
@media(min-width:1500px){.workspace{grid-template-columns:264px minmax(0,1fr) 382px}.workspace.records-only{grid-template-columns:264px minmax(0,1fr)}.activity-scroll{padding-left:42px;padding-right:42px}.canvas-header,.canvas-footer{padding-left:42px;padding-right:42px}}
@media(max-width:1150px){.workspace{grid-template-columns:190px minmax(0,1fr) 320px}.workspace.records-only{grid-template-columns:190px minmax(0,1fr)}.brand{padding-left:14px;gap:8px}.brand strong{font-size:13px}.activity-scroll{padding:17px 20px 30px}.canvas-header,.canvas-footer{padding-left:20px;padding-right:20px}.configuration-heading{padding-left:18px;padding-right:18px}#create-form{padding-left:18px;padding-right:18px}.quiet-tag{display:none}.records-toolbar{flex-wrap:wrap}.search-label{max-width:100%;width:100%}.sidebar-stats{padding-left:15px;padding-right:15px}}
@media(max-width:900px){.workspace,.workspace.records-only{height:auto;min-height:100dvh;overflow:visible;grid-template-columns:1fr}.sidebar{border:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;justify-content:space-between;padding:0 18px;gap:12px}.brand{padding:16px 0}.brand small{font-size:9px}.sidebar>.nav-label,.sidebar-description,.sidebar-stats{display:none}.sidebar nav{display:flex;padding:0;gap:5px}.nav-button{width:auto;margin:0;font-size:10px;gap:5px;padding:7px 9px}.nav-button small,.nav-button>span{display:none}.sidebar-bottom{margin:0}.sidebar-footer{border:0;padding:0}.sidebar-footer>span{display:none}.canvas{overflow:visible}.canvas-header{height:49px;font-size:8px}.activity-scroll{overflow:visible;padding:15px 20px 28px}.section-description{margin-bottom:22px}.records-toolbar{flex-wrap:nowrap}.search-label{max-width:55%;width:180px}.canvas-footer{padding:10px 20px}.configuration{border-left:0;border-top:1px solid var(--line);overflow:visible}.configuration-heading{padding:23px 20px 17px}#create-form{padding:0 20px 20px;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}fieldset{border-bottom:0}#form-error,#submit,.submit-note{grid-column:1/-1}.configuration-note{margin:0 20px}.empty{padding:35px 12px}.workspace:not(.records-only) .configuration{grid-row:2}.workspace:not(.records-only) .canvas{grid-row:3}.workspace.records-only .canvas{grid-row:2}.activity-footnote{font-size:9px}.signin-inner{margin-top:-20px}}
@media(max-width:540px){.sidebar{padding:0 14px;gap:6px}.brand{gap:7px}.brand-mark{width:29px;height:29px;font-size:21px}.brand strong{font-size:12px}.nav-button{font-size:9px;padding:6px}.sidebar-footer .text-button{font-size:9px}.activity-scroll{padding-left:17px;padding-right:17px}.canvas-header,.canvas-footer{padding-left:17px;padding-right:17px}#create-form{display:block;padding:0 20px 20px}fieldset{border-bottom:1px solid var(--line-soft)}.configuration-heading h2{font-size:17px}.job{padding:17px}.job-grid{grid-template-columns:72px minmax(0,1fr)}.job-grid dd{font-size:9px}.credential-card{padding:16px}.quiet-tag{display:none}.signin h1{font-size:20px}.header-slash{margin:0 5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
