*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:10px;color:#737984;font-size:10px}.pagination button:disabled{cursor:not-allowed;opacity:.4}.failureDetails{border-top:1px solid #4a252b;background:#140d0f;padding:15px}.failureHead{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#f08a94;font-size:12px}.failureHead a{color:#f0a0a8;font-size:10px}.failureItem{margin-top:12px}.failureItem>b{font-size:11px;color:#f0c2c6}.failureItem pre{max-height:180px;overflow:auto;margin:7px 0 0;padding:10px;background:#0b0809;border:1px solid #3b2025;border-radius:5px;color:#d4aeb2;font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.liveLogs{border-top:1px solid #1f2228;background:#090b0e}.liveLogsHead{display:flex;justify-content:space-between;padding:12px 15px;color:#c8cdd5;font-size:11px}.liveLogsHead span{color:#55d99b;font-size:10px}.liveLogs pre{max-height:240px;overflow:auto;margin:0;padding:12px 15px;border-top:1px solid #1f2228;color:#b8c0cc;font:10px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.pipeMarker{display:grid!important;place-items:center;width:15px!important;height:15px!important;border-radius:50%;font-size:10px;font-weight:700;background:#363a42;color:#aab0ba!important;margin-top:0!important}.pipe.done .pipeMarker{background:#43d18d;color:#07130d!important}.pipe.failed .pipeMarker{background:#ea6d79;color:#210609!important}.pipe.running .pipeMarker{background:#e6b24f;color:#211704!important;box-shadow:0 0 0 4px #e6b24f18;animation:stepPulse 1.4s ease-in-out infinite}.pipe.skipped .pipeMarker{background:#555b65;color:#d0d4da!important}.pipe.done:not(:last-child):after{background:#43d18d}.pipe.failed:not(:last-child):after{background:#ea6d79}.deployButton.isDeploying{background:#555b65;color:#f4f5f7;border-color:#555b65;cursor:wait;opacity:.9}.buttonSpinner{display:inline-block;width:12px;height:12px;margin-right:7px;border:2px solid #c9cdd3;border-top-color:transparent;border-radius:50%;vertical-align:-2px;animation:buttonSpin .7s linear infinite}@keyframes buttonSpin{to{transform:rotate(360deg)}}.progressSummary{display:flex;justify-content:space-between;align-items:center;padding:16px 15px 10px}.progressStatus{display:flex;align-items:center;gap:11px}.progressStatus b{font-size:13px}.progressStatus span{font-size:10px;color:#777e89}.progressSummary>strong{font-size:18px;font-weight:500;color:#e6b24f}.progressSummary>strong.failed{color:#ea6d79}.progressSummary>strong.success{color:#43d18d}.progressTrack{height:3px;margin:0 15px 8px;background:#252931;border-radius:3px;overflow:hidden}.progressTrack span{display:block;height:100%;background:#e6b24f;transition:width .4s ease}.progressTrack span.failed{background:#ea6d79}.progressTrack span.success{background:#43d18d}.progressMilestones{display:flex;justify-content:space-between;margin:0 15px 5px;color:#676e79;font-size:9px}.progressMilestones .active{font-weight:700;color:#e6b24f}.progressMilestones .active:last-child{color:#43d18d}.progressHint{margin:0 15px 14px;color:#777e89;font-size:9px}.progressWaiting{color:#777e89;font-size:11px}.branchControl{display:flex;flex-direction:column;gap:5px}.branchControl small{color:#737984;font-size:10px;white-space:nowrap}.loginPage{min-height:100vh;display:grid;place-items:center;background:#08090b;padding:24px}.loginCard{width:min(100%,390px);border:1px solid #22252b;background:#0d0f12;border-radius:10px;padding:30px;box-shadow:0 20px 60px #0008}.loginBrand{padding:0 0 34px}.loginCard h1{margin:10px 0 8px;font-size:22px}.loginCard>p{margin:0 0 24px;color:#737984;font-size:12px}.loginCard label{display:flex;flex-direction:column;gap:7px;margin-top:15px;color:#aeb3bc;font-size:11px}.loginCard input{border:1px solid #2a2d34;background:#101216;color:#e8eaed;border-radius:7px;padding:10px;font-size:13px;outline:0}.loginCard input:focus{border-color:#737984}.loginSubmit{width:100%;margin-top:24px}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e7e9ee;background:#08090b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}.app{min-height:100vh;display:flex;background:#08090b}aside{width:248px;border-right:1px solid #1d2026;background:#0b0c0f;display:flex;flex-direction:column;padding:20px 14px;position:fixed;inset:0 auto 0 0}.brand{display:flex;gap:11px;align-items:center;padding:4px 10px 28px}.brandMark{width:31px;height:31px;border-radius:8px;background:#fff;color:#090a0c;display:grid;place-items:center;font-weight:800}.brand b{display:block;font-size:14px}.brand small{color:#737984;font-size:11px}nav{display:flex;flex-direction:column;gap:3px}nav button{border:0;background:transparent;color:#8d929c;text-align:left;padding:9px 11px;border-radius:7px;font-size:13px;cursor:pointer;display:flex;gap:10px;align-items:center}nav button:hover,nav button.active{background:#15171b;color:#f5f6f7}nav button.active{box-shadow:inset 2px 0 #fff}.icon{width:17px;text-align:center}.navTitle{font-size:10px;color:#555b65;padding:22px 11px 7px;letter-spacing:.12em}.dot{width:6px;height:6px;border-radius:50%;background:#3fd68b}.sideFoot{margin-top:auto;border-top:1px solid #1b1d22;padding:15px 10px;color:#6e747f;font-size:11px;display:flex;gap:8px;align-items:center}.githubDot{width:7px;height:7px;background:#35d39a;border-radius:50%}main{margin-left:248px;width:calc(100% - 248px)}header{height:74px;border-bottom:1px solid #1d2026;padding:0 38px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#08090beb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5}.eyebrow{font-size:9px;letter-spacing:.14em;color:#686e78}.content{max-width:1160px;margin:auto;padding:34px 38px 70px}h1{font-size:19px;margin:3px 0 0;letter-spacing:-.02em}h2{font-size:18px;margin:0 0 5px;letter-spacing:-.02em}h3{font-size:14px}.actions{display:flex;gap:8px}.primary,.ghost,.small,.back,.close,.danger{border:1px solid #2a2d34;background:#101216;color:#e9ebee;border-radius:7px;padding:8px 12px;font-size:12px;cursor:pointer}.primary{background:#f2f3f5;color:#08090b;border-color:#f2f3f5;font-weight:650}.primary:hover{background:#fff}.ghost:hover,.small:hover{background:#181a1f}.danger{border-color:#71313a;color:#f08a94}.danger:hover{background:#35191e;border-color:#a3414d}.hero{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.hero p,.sectionHead p,.empty p,.mapping p{margin:0;color:#707681;font-size:12px}.search,.modalSearch{width:300px;border:1px solid #272a31;background:#0d0f12;border-radius:7px;padding:8px 10px;display:flex;gap:8px;color:#606671}.search input,.modalSearch input{border:0;outline:0;background:transparent;color:#e8eaed;width:100%;font-size:12px}.projectGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.projectCard{border:1px solid #22252b;background:#0d0f12;border-radius:9px;padding:17px;text-align:left;color:inherit;cursor:pointer;transition:.15s}.projectCard:hover{border-color:#3a3e47;transform:translateY(-1px)}.cardTop,.cardFoot{display:flex;justify-content:space-between;align-items:center}.repoIcon{width:27px;height:27px;border:1px solid #2b2e35;border-radius:7px;display:grid;place-items:center;color:#aeb3bc;font-size:13px}.status{display:inline-flex;gap:6px;align-items:center;font-size:10px;color:#8c929d}.status i{width:6px;height:6px;border-radius:50%;background:#777}.status.ready{color:#5cdb9e}.status.ready i{background:#43d18d}.status.building{color:#e7b85b}.status.building i{background:#e5b34d;box-shadow:0 0 0 3px #e5b34d18}.status.failed{color:#ee7f89}.status.failed i{background:#eb6976}.projectCard h3{font-size:14px;margin:17px 0 5px}.projectCard p{color:#717781;font-size:11px;margin:0 0 17px}.domain{font-size:11px;color:#c5c9d0;border-top:1px solid #1c1f24;padding-top:13px}.cardFoot{border-top:1px solid #1c1f24;margin-top:14px;padding-top:12px;color:#666c76;font-size:10px}.sectionHead{display:flex;justify-content:space-between;align-items:end;margin:36px 0 12px}.count{border:1px solid #292c33;padding:3px 7px;border-radius:5px;color:#737984;font-size:10px}.repoList,.deployList{border:1px solid #20232a;border-radius:8px;overflow:hidden}.repoRow,.deployRow{min-height:58px;padding:11px 14px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #1d2025;background:#0d0f12}.repoRow:last-child,.deployRow:last-child{border-bottom:0}.repoMain,.deployRow>div{display:flex;flex-direction:column;gap:3px;flex:1}.repoMain b,.deployRow b{font-size:12px;font-weight:550}.repoMain span,.deployRow span{font-size:10px;color:#666d78}.connected{font-size:10px;color:#56d99b}.empty{border:1px dashed #2a2d34;border-radius:9px;text-align:center;padding:60px 20px}.emptyIcon{margin:auto auto 14px;width:34px;height:34px;border:1px solid #353941;border-radius:8px;display:grid;place-items:center}.empty h3{margin:0 0 6px}.empty .primary{margin-top:18px}.back{border:0;background:transparent;padding:0;color:#737984;margin-bottom:25px}.projectHeader{display:flex;justify-content:space-between;gap:30px;align-items:center}.projectTitle{display:flex;gap:12px;align-items:center}.bigRepo{width:38px;height:38px;border:1px solid #2c3037;border-radius:9px;display:grid;place-items:center}.projectTitle h2{margin:0}.projectTitle a{font-size:11px;color:#6f7680;text-decoration:none}.chips{display:flex;gap:7px;margin:14px 0 0 50px}.chips span{border:1px solid #25282f;border-radius:5px;padding:4px 7px;color:#777e89;font-size:10px}.deployBox{display:flex;gap:7px}.deployBox select,label input,label select{background:#0d0f12;border:1px solid #292c33;color:#e4e6e9;border-radius:7px;padding:9px 10px;font-size:12px;outline:none}.buildPanel{margin-top:28px;border:1px solid #23262c;border-radius:8px;background:#0d0f12;overflow:hidden;position:relative}.buildPanel:before{content:"";display:block;height:2px;background:linear-gradient(90deg,#e6b24f,#f7d47c,#e6b24f);background-size:200% 100%;animation:progressGlow 1.8s linear infinite}.buildTop{padding:15px;border-bottom:1px solid #1f2228;display:flex;justify-content:space-between;gap:15px}.buildTop>div{display:flex;gap:12px;align-items:center}.buildTop span{font-size:11px;color:#6d737d}.buildTop a{font-size:10px;color:#777e89}.pipeline{padding:20px 17px;display:flex;gap:0;overflow:auto}.pipe{min-width:155px;display:flex;gap:9px;align-items:start;position:relative}.pipe:not(:last-child):after{content:"";height:1px;background:#363a42;width:55px;position:absolute;right:9px;top:6px}.pipe>span{width:9px;height:9px;border-radius:50%;background:#363a42;margin-top:3px;z-index:1;flex:none}.pipe>span.done{background:#4ed79a}.pipe>span.run{background:#e6b24f;box-shadow:0 0 0 4px #e6b24f18;animation:stepPulse 1.4s ease-in-out infinite}.pipe>span.fail{background:#ea6d79}.pipe b,.pipe small{display:block}.pipe b{font-size:11px}.pipe small{font-size:9px;color:#777e89;margin-top:4px}@keyframes progressGlow{to{background-position:200% 0}}@keyframes stepPulse{50%{box-shadow:0 0 0 6px #e6b24f18}}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#20232a;border:1px solid #20232a;border-radius:8px;overflow:hidden;margin-top:12px}.stats>div{background:#0d0f12;padding:14px}.stats span{display:block;color:#656b75;font-size:9px;margin-bottom:8px}.stats b{font-size:15px;font-weight:500}.stats .mono{font-size:10px;color:#a0a5ad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deployRow{width:100%;text-align:left;color:inherit;cursor:pointer}.deployRow:hover{background:#111318}.rowTime{width:70px!important;text-align:right}.mapping{margin-top:30px;border:1px solid #22252b;border-radius:8px;padding:17px}.mappingGrid{margin-top:17px;display:grid;grid-template-columns:130px 1fr;gap:9px;font-size:11px}.mappingGrid span{color:#666d77}.mappingGrid b{font-weight:450;color:#c7cbd2}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.modalBack{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:20;padding:20px}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:#0c0e11;border:1px solid #2b2e35;border-radius:10px;box-shadow:0 30px 80px #0009;padding:20px}.modalHead{display:flex;justify-content:space-between;margin-bottom:20px}.modalHead h2{margin-top:3px}.close{font-size:20px;padding:1px 8px}.repoPicker{margin-top:10px;border:1px solid #22252b;border-radius:8px;overflow:hidden}.repoPicker button{width:100%;border:0;border-bottom:1px solid #1f2227;background:#0d0f12;color:#e6e8eb;padding:13px;display:flex;gap:11px;align-items:center;text-align:left;cursor:pointer}.repoPicker button:last-child{border-bottom:0}.repoPicker button:hover{background:#15171b}.repoPicker button>span:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}.repoPicker small,.selectedRepo small{font-size:9px;color:#666d78}.noRows{padding:28px;text-align:center;color:#626974;font-size:11px}.selectedRepo{display:flex;gap:10px;align-items:center;border:1px solid #24272e;background:#0d0f12;border-radius:7px;padding:11px;margin-bottom:17px}.selectedRepo div{display:flex;flex-direction:column;gap:3px}.modal label{display:block;font-size:10px;color:#7c828c;margin:12px 0}.modal label input,.modal label select{display:block;width:100%;margin-top:6px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.optional{color:#555b65}.modalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.alert{background:#291317;border:1px solid #512129;color:#ef9aa2;border-radius:7px;padding:10px 12px;font-size:11px;margin-bottom:15px}@media (max-width:900px){aside{width:64px;padding:16px 8px}.brand div:not(.brandMark),nav button:not(.active) .icon~*,nav button{justify-content:center;font-size:0}.brand{padding:4px 8px 22px}.navTitle,.sideFoot{display:none}nav button{height:38px}.icon{font-size:15px}.dot{margin:auto}main{margin-left:64px;width:calc(100% - 64px)}header{padding:0 20px}.content{padding:25px 20px}.projectGrid{grid-template-columns:1fr 1fr}.hero{display:block}.search{width:100%;margin-top:15px}.projectHeader{display:block}.deployBox{margin-top:20px}.stats{grid-template-columns:1fr 1fr}}@media (max-width:600px){.projectGrid{grid-template-columns:1fr}.actions .ghost{display:none}.projectHeader{display:block}.chips{margin-left:0;flex-wrap:wrap}.two{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.pipeline{display:block}.pipe{min-width:0;margin-bottom:12px}.pipe:not(:last-child):after{display:none}.rowTime{display:none!important}}
