@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Roboto+Mono:wght@400;500&display=swap");.gf-root{--gf-canvas:#111217;--gf-bg:#181b1f;--gf-bg-sec:#22252b;--gf-bg-elev:#22252b;--gf-border-weak:rgba(204,204,220,.12);--gf-border-med:rgba(204,204,220,.2);--gf-border-strong:rgba(204,204,220,.3);--gf-text:#ccccdc;--gf-text-sec:rgba(204,204,220,.65);--gf-text-dis:rgba(204,204,220,.61);--gf-text-link:#6e9fff;--gf-hover:rgba(204,204,220,.16);--gf-selected:rgba(204,204,220,.12);--gf-blue:#3d71d9;--gf-blue-text:#6e9fff;--gf-green:#6ccf8e;--gf-green-main:#1a7f4b;--gf-red:#ff5286;--gf-red-main:#d10e5c;--gf-orange:#f90;--gf-orange-text:#fbad37;--gf-yellow:#fade2a;--gf-purple:#b877d9;--gf-cyan:#8ab8ff;--gf-series0:#7eb26d;--gf-series1:#eab839;--gf-series2:#6ed0e0;--gf-series3:#ef843c;--gf-series4:#e24d42;--gf-series5:#1f78c1;--gf-series6:#ba43a9;--gf-series7:#705da0;--gf-brand:linear-gradient(0.01deg,#f55f3e 0.01%,#f83 99.99%);--gf-brand-h:linear-gradient(270deg,#f55f3e,#f83);--gf-font:"Inter","Helvetica","Arial",sans-serif;--gf-font-mono:"Roboto Mono",monospace;font-family:var(--gf-font);background:var(--gf-canvas);color:var(--gf-text);font-size:14px;line-height:1.5714;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;height:100%;overflow:hidden;display:flex;flex-direction:column}.gf-root *,.gf-root :after,.gf-root :before{box-sizing:inherit;margin:0;padding:0}.gf-root a{text-decoration:none;color:inherit}.gf-root button{font-family:var(--gf-font);cursor:pointer;background:none;border:none;color:inherit;font-size:inherit;line-height:inherit}.gf-root h2{font-size:inherit;font-weight:inherit}.gf-root ol,.gf-root ul{list-style:none}.gf-root ::-webkit-scrollbar{width:4px;height:4px}.gf-root ::-webkit-scrollbar-track{background:transparent}.gf-root ::-webkit-scrollbar-thumb{background:rgba(204,204,220,.3);border-radius:2px}.gf-root ::-webkit-scrollbar-thumb:hover{background:rgba(204,204,220,.45)}.gf-topbar{height:48px;min-height:48px;background:var(--gf-canvas);border-bottom:1px solid var(--gf-border-weak);display:flex;align-items:center;z-index:1001;flex-shrink:0}.gf-topbar__breadcrumb{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow:hidden}.gf-topbar__crumb{font-size:14px;color:var(--gf-text-sec);white-space:nowrap;cursor:pointer;font-weight:400}.gf-topbar__crumb:hover{color:var(--gf-text);text-decoration:underline}.gf-topbar__sep{display:flex;align-items:center;color:var(--gf-text-dis);flex-shrink:0;font-size:16px;margin:0 2px;user-select:none}.gf-topbar__current{font-size:14px;font-weight:500;color:var(--gf-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gf-topbar__search{display:flex;align-items:center;gap:8px;width:300px;max-width:400px;height:32px;padding:0 12px;margin:0 8px;background:rgba(204,204,220,.06);border:1px solid var(--gf-border-med);border-radius:32px;cursor:text;transition:border-color .15s,background .15s;flex-shrink:0}.gf-topbar__search:hover{border-color:var(--gf-border-strong);background:rgba(204,204,220,.09)}.gf-topbar__search-icon{color:var(--gf-text-dis);display:flex;flex-shrink:0}.gf-topbar__search-txt{color:var(--gf-text-dis);font-size:14px;flex:1}.gf-topbar__search-kbd{font-family:var(--gf-font-mono);font-size:11px;color:var(--gf-text-dis);background:rgba(204,204,220,.08);border:1px solid var(--gf-border-med);border-radius:4px;padding:1px 5px;white-space:nowrap;letter-spacing:0;line-height:1.6}.gf-topbar__right{height:100%;padding:0 8px;gap:0;margin-left:auto}.gf-topbar__icon,.gf-topbar__right{display:flex;align-items:center;flex-shrink:0}.gf-topbar__icon{justify-content:center;width:36px;height:36px;border-radius:2px;color:var(--gf-text-sec);transition:background .1s,color .1s;position:relative}.gf-topbar__icon:hover{background:var(--gf-hover);color:var(--gf-text)}.gf-topbar__vdiv{width:1px;height:22px;background:var(--gf-border-weak);margin:0 8px;flex-shrink:0}.gf-notif{position:absolute;top:6px;right:6px;width:6px;height:6px;background:#ff5286;border-radius:50%;border:1.5px solid var(--gf-bg)}.gf-topbar__invite{height:28px;padding:0 12px;border:1px solid var(--gf-border-med);border-radius:2px;color:var(--gf-text);font-size:14px;transition:background .1s,border-color .1s;margin:0 4px;white-space:nowrap}.gf-topbar__invite:hover{background:var(--gf-hover);border-color:var(--gf-border-strong)}.gf-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#3d71d9,#6e9fff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;letter-spacing:.5px;margin-left:4px;flex-shrink:0;cursor:pointer}.gf-avatar:hover{opacity:.85}.gf-layout{display:flex;height:100%;width:100vw;overflow:hidden;position:relative}.gf-main-container{overflow:hidden}.gf-main-container,.gf-page{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.gf-page{overflow-y:auto;overflow-x:hidden}.gf-page,.gf-sidemenu{background:var(--gf-canvas);overscroll-behavior:contain}.gf-sidemenu{width:300px;min-width:300px;flex-shrink:0;border-right:1px solid var(--gf-border-weak);display:flex;flex-direction:column;overflow:hidden;position:sticky;top:0;height:100%;z-index:900}.gf-sidemenu__hdr{height:48px;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;border-bottom:1px solid var(--gf-border-weak);flex-shrink:0}.gf-sidemenu__hdr-brand{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:400;color:var(--gf-text);flex:1;min-width:0}.gf-sidemenu__hdr-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:2px;color:var(--gf-text-sec);transition:background .1s,color .1s;flex-shrink:0}.gf-sidemenu__hdr-close:hover{background:var(--gf-hover);color:var(--gf-text)}.gf-sidemenu__list{list-style:none;padding:8px 8px 16px 4px;margin:0;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.gf-nav-item{display:flex;align-items:center;width:100%;min-height:36px;padding:0 8px 0 4px;border-radius:0 4px 4px 0;cursor:pointer;position:relative;color:var(--gf-text-sec);font-size:14px;font-weight:400;line-height:1.5714;transition:background .1s,color .1s;gap:8px;text-align:left;border:none;background:none}.gf-nav-item:hover{background:var(--gf-hover);color:var(--gf-text)}.gf-nav-item--active{background:var(--gf-selected);color:var(--gf-text);position:relative}.gf-nav-item--active:before{content:"";position:absolute;left:0;top:0;height:100%;width:2px;background:var(--gf-brand);border-radius:2px;transform:translateX(-50%)}.gf-nav-icon{display:flex;align-items:center;width:22px;flex-shrink:0;color:inherit}.gf-nav-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gf-nav-badge{font-size:10px;font-weight:500;background:#3d71d9;color:#fff;border-radius:2px;padding:1px 5px;line-height:1.4;flex-shrink:0}.gf-nav-chevron{color:var(--gf-text-dis);display:flex;flex-shrink:0;transition:opacity .1s;opacity:0}.gf-nav-item:hover .gf-nav-chevron{opacity:1}.gf-nav-divider{height:1px;background:var(--gf-border-weak);margin:8px 0}.gf-sidemenu__bottom{padding:8px 8px 8px 4px;border-top:1px solid var(--gf-border-weak);flex-shrink:0}.gf-toolbar{height:48px;min-height:48px;padding:0 16px;border-bottom:1px solid var(--gf-border-weak);background:var(--gf-canvas);flex-shrink:0}.gf-toolbar,.gf-toolbar__left,.gf-toolbar__right{display:flex;align-items:center;gap:4px}.gf-toolbar__right{margin-left:auto}.gf-toolbar__div{width:1px;height:20px;background:var(--gf-border-weak);margin:0 4px;flex-shrink:0}.gf-tbr-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:2px;color:var(--gf-text-sec);border:1px solid transparent;transition:background .1s,color .1s,border-color .1s}.gf-tbr-icon:hover{background:var(--gf-hover);color:var(--gf-text);border-color:var(--gf-border-weak)}.gf-tbr-icon--starred{color:var(--gf-yellow)}.gf-tbr-icon--starred:hover{color:var(--gf-yellow);background:var(--gf-hover);border-color:var(--gf-border-weak)}.gf-tbr-btn{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:14px;font-weight:500;color:var(--gf-text);background:transparent;border:1px solid var(--gf-border-med);border-radius:32px;transition:background .1s,border-color .1s;white-space:nowrap}.gf-tbr-btn:hover{background:var(--gf-hover);border-color:var(--gf-border-strong)}.gf-tbr-btn--primary{background:var(--gf-blue);border-color:var(--gf-blue);color:#fff;padding:0 12px}.gf-tbr-btn--primary:hover{background:#2a5298;border-color:#2a5298;color:#fff}.gf-ctrlbar{display:flex;align-items:center;min-height:40px;padding:0 8px;border-bottom:1px solid var(--gf-border-weak);background:var(--gf-canvas);flex-shrink:0;gap:4px;overflow-x:auto;flex-wrap:nowrap}.gf-ctrlbar::-webkit-scrollbar{height:0}.gf-ctrlbar__left{display:flex;align-items:center;gap:4px;flex:1}.gf-ctrlbar__right{display:flex;align-items:center;flex-shrink:0;margin-left:auto}.gf-var{display:flex;align-items:stretch;height:28px;background:transparent;border:1px solid var(--gf-border-med);border-radius:32px;overflow:hidden;cursor:pointer;transition:border-color .1s,background .1s;flex-shrink:0}.gf-var:hover{border-color:var(--gf-border-strong);background:var(--gf-hover)}.gf-var__name{padding:0 8px;color:var(--gf-text-sec);border-right:1px solid var(--gf-border-med);user-select:none;background:transparent}.gf-var__name,.gf-var__val{display:flex;align-items:center;font-size:13px;white-space:nowrap}.gf-var__val{padding:0 6px;font-weight:500;color:var(--gf-text);gap:4px}.gf-tp{flex-shrink:0;position:relative;margin-left:4px}.gf-tp,.gf-tp__nav{display:flex;align-items:center}.gf-tp__nav{justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--gf-border-med);border-radius:32px;color:var(--gf-text-sec);font-size:16px;transition:background .1s,color .1s,border-color .1s}.gf-tp__nav:hover{background:var(--gf-hover);color:var(--gf-text);border-color:var(--gf-border-strong)}.gf-tp__nav--l{border-radius:32px 0 0 32px;margin-right:-1px}.gf-tp__nav--r{border-radius:0 32px 32px 0;border-left:none;margin-left:-1px}.gf-tp__btn{display:flex;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:13px;font-weight:400;color:var(--gf-text);background:transparent;border:1px solid var(--gf-border-med);border-left:none;border-right:none;border-radius:0;transition:background .1s,border-color .1s;white-space:nowrap}.gf-tp__btn:hover{background:var(--gf-hover)}.gf-tp__clock,.gf-tp__refresh{color:var(--gf-text-sec);display:flex}.gf-tp__refresh{align-items:center;gap:4px;height:28px;padding:0 10px;font-size:13px;background:transparent;border:1px solid var(--gf-border-med);border-radius:32px 0 0 32px;white-space:nowrap;transition:background .1s,color .1s;cursor:pointer}.gf-tp__refresh:hover{background:var(--gf-hover);color:var(--gf-text)}.gf-tp__refresh-int{display:flex;align-items:center;gap:4px;height:28px;padding:0 8px;font-size:13px;color:var(--gf-text-sec);background:transparent;border:1px solid var(--gf-border-med);border-left:none;border-radius:0 32px 32px 0;margin-left:-1px;white-space:nowrap;transition:background .1s,color .1s;cursor:pointer}.gf-tp__refresh-int:hover{background:var(--gf-hover);color:var(--gf-text)}.gf-tp__refresh-div{width:1px;height:14px;background:var(--gf-border-med);margin:0 2px}.gf-tp__zoom{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--gf-border-med);border-radius:32px;color:var(--gf-text-sec);margin-left:4px;transition:background .1s,color .1s}.gf-tp__zoom:hover{background:var(--gf-hover);color:var(--gf-text)}.gf-tp__dd{position:absolute;top:calc(100% + 4px);right:0;background:var(--gf-bg-elev);border:1px solid var(--gf-border-med);border-radius:2px;min-width:260px;box-shadow:0 4px 24px rgba(0,0,0,.55);z-index:1200}.gf-tp__dd-head{padding:8px 12px 6px;font-size:11px;font-weight:500;color:var(--gf-text-dis);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--gf-border-weak)}.gf-tp__dd-option{display:flex;width:100%;padding:8px 12px;font-size:14px;color:var(--gf-text-sec);text-align:left;transition:background .08s,color .08s}.gf-tp__dd-option:hover{background:var(--gf-hover);color:var(--gf-text)}.gf-tp__dd-option--active{background:var(--gf-selected);color:var(--gf-text)}.gf-tp__dd-option--active:after{content:"✓";margin-left:auto;color:var(--gf-blue-text)}.gf-canvas{padding:8px 8px 40px;display:flex;flex-direction:column;flex:1}.gf-row{display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 4px;border-radius:2px;transition:background .1s;margin-top:4px;user-select:none}.gf-row:hover{background:var(--gf-hover)}.gf-row__chev{color:var(--gf-text-dis);display:flex;transition:transform .15s}.gf-row__label{font-size:11px;font-weight:500;color:var(--gf-text-sec);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.gf-row__line{flex:1;height:1px;background:var(--gf-border-weak);margin-left:4px}.gf-row-content{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 8px}.gf-panel{background:var(--gf-bg);border:1px solid var(--gf-border-weak);border-radius:2px;display:flex;flex-direction:column;overflow:hidden;position:relative;opacity:0;animation:gfPanelIn .2s cubic-bezier(.4,0,.2,1) forwards;transition:border-color .15s,box-shadow .15s}.gf-panel:hover{border-color:var(--gf-border-med);box-shadow:0 0 0 1px rgba(204,204,220,.04)}@keyframes gfPanelIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gf-panel:first-child{animation-delay:0s}.gf-panel:nth-child(2){animation-delay:50ms}.gf-panel:nth-child(3){animation-delay:.1s}.gf-panel:nth-child(4){animation-delay:.15s}.gf-panel:nth-child(5){animation-delay:.2s}.gf-panel:nth-child(6){animation-delay:.25s}.gf-panel:nth-child(7){animation-delay:.3s}.gf-panel:nth-child(8){animation-delay:.35s}.gf-panel-hdr{display:flex;align-items:center;height:36px;padding:0 0 0 12px;border-bottom:1px solid transparent;flex-shrink:0;position:relative;transition:border-color .15s}.gf-panel:hover .gf-panel-hdr{border-bottom-color:var(--gf-border-weak)}.gf-panel-title{font-size:13px;font-weight:500;color:var(--gf-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;user-select:none}.gf-panel-actions{display:flex;align-items:center;opacity:0;transition:opacity .15s;padding-right:4px}.gf-panel:hover .gf-panel-actions{opacity:1}.gf-panel-menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:2px;color:var(--gf-text-sec);transition:background .1s,color .1s}.gf-panel-menu-btn--open,.gf-panel-menu-btn:hover{background:var(--gf-hover);color:var(--gf-text)}.gf-panel-body{flex:1;overflow:hidden;overflow-y:auto;position:relative;min-height:0}.gf-ctx-menu{position:absolute;top:36px;right:0;background:var(--gf-bg-elev);border:1px solid var(--gf-border-med);border-radius:2px;min-width:180px;box-shadow:0 4px 20px rgba(0,0,0,.5);z-index:500;padding:4px 0}.gf-ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:14px;color:var(--gf-text-sec);text-align:left;transition:background .08s,color .08s}.gf-ctx-item:hover{background:var(--gf-hover);color:var(--gf-text)}.gf-ctx-item--danger:hover{background:rgba(255,82,134,.1);color:var(--gf-red)}.gf-ctx-div{height:1px;background:var(--gf-border-weak);margin:4px 0}.gf-ctx-icon{color:var(--gf-text-dis);display:flex}.gf-ctx-kbd{margin-left:auto;font-size:11px;font-family:var(--gf-font-mono);color:var(--gf-text-dis)}.gf-w-25{width:calc(25% - 6px);flex-shrink:0}.gf-w-33{width:calc(33.333% - 6px);flex-shrink:0}.gf-w-50{width:calc(50% - 4px);flex-shrink:0}.gf-w-100{width:100%}.gf-h-stat{height:200px}.gf-h-gauge,.gf-h-md{height:320px}.gf-h-xl{height:380px}.gf-h-logs{height:420px}.gf-stat{position:relative;height:100%}.gf-stat__bg{position:absolute;inset:0;display:flex;align-items:flex-end}.gf-stat__bg>svg{flex:1}.gf-stat__fg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:0 16px 14px}.gf-stat__val{font-size:56px;font-weight:300;line-height:1;letter-spacing:-3px;margin-bottom:4px;font-variant-numeric:tabular-nums}.gf-stat__sub{font-size:13px;color:var(--gf-text-sec);font-weight:400;letter-spacing:.01em}.gf-gauge{height:100%;overflow-y:auto;padding:8px 16px}.gf-gauge-row{margin-bottom:14px}.gf-gauge-row:last-child{margin-bottom:0}.gf-gauge-row__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.gf-gauge-row__name{font-size:13px;color:var(--gf-text)}.gf-gauge-row__pct{font-family:var(--gf-font-mono);font-size:12px;font-weight:500}.gf-gauge-row__track{height:8px;border-radius:2px;background:rgba(204,204,220,.07);overflow:hidden;position:relative}.gf-gauge-row__fill{height:100%;border-radius:2px;width:0;animation:gfBarFill .8s cubic-bezier(.23,1,.32,1) forwards;animation-delay:.3s}@keyframes gfBarFill{0%{width:0}to{width:var(--bar-w,100%)}}.gf-logs{display:flex;flex-direction:column;height:100%}.gf-log-vol{gap:1px;height:44px;padding:4px 6px 0;border-bottom:1px solid var(--gf-border-weak);flex-shrink:0}.gf-log-vol,.gf-log-vol__wrap{display:flex;align-items:flex-end}.gf-log-vol__wrap{flex:1;height:36px}.gf-log-vol__bar{width:100%;border-radius:1px 1px 0 0;min-height:2px;transition:opacity .1s}.gf-log-vol__bar:hover{opacity:.6}.gf-log-vol__bar--deploy{background:#f83}.gf-log-vol__bar--build{background:var(--gf-purple)}.gf-log-vol__bar--success{background:var(--gf-green)}.gf-log-vol__bar--info{background:var(--gf-blue-text)}.gf-log-vol__bar--warn{background:var(--gf-yellow)}.gf-log-rows{flex:1;overflow-y:auto;font-family:var(--gf-font-mono);font-size:12px;line-height:1.7}.gf-log-row{display:flex;align-items:baseline;padding:2px 8px;gap:8px;border-bottom:1px solid rgba(204,204,220,.04);cursor:pointer;transition:background .06s;animation:gfLogRowIn .18s ease both}.gf-log-row:first-child{animation-delay:50ms}.gf-log-row:nth-child(2){animation-delay:75ms}.gf-log-row:nth-child(3){animation-delay:.1s}.gf-log-row:nth-child(4){animation-delay:125ms}.gf-log-row:nth-child(5){animation-delay:.15s}.gf-log-row:nth-child(6){animation-delay:175ms}.gf-log-row:nth-child(7){animation-delay:.2s}.gf-log-row:nth-child(8){animation-delay:225ms}@keyframes gfLogRowIn{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}.gf-log-row:hover{background:var(--gf-hover)}.gf-log-ts{color:var(--gf-cyan);white-space:nowrap;flex-shrink:0;font-size:11px;opacity:.8}.gf-log-lvl{display:inline-flex;align-items:center;justify-content:center;height:16px;min-width:52px;padding:0 5px;border-radius:2px;font-size:10px;font-weight:700;text-align:center;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px}.gf-log-lvl--info{background:rgba(61,113,217,.15);color:var(--gf-blue-text)}.gf-log-lvl--success{background:rgba(26,127,75,.2);color:var(--gf-green)}.gf-log-lvl--warn{background:rgba(250,222,42,.15);color:var(--gf-yellow)}.gf-log-lvl--deploy{background:rgba(255,136,51,.15);color:#f83}.gf-log-lvl--build{background:rgba(184,119,217,.15);color:var(--gf-purple)}.gf-log-msg{color:var(--gf-text);word-break:break-word;flex:1}.gf-log-chip{display:inline-flex;align-items:center;height:15px;padding:0 5px;margin-left:6px;border:1px solid rgba(138,184,255,.2);border-radius:2px;color:var(--gf-cyan);font-size:10px;background:rgba(138,184,255,.06);vertical-align:middle}.gf-timeline{padding:12px 12px 12px 36px;position:relative;height:100%;overflow-y:auto}.gf-timeline:before{content:"";position:absolute;left:24px;top:20px;bottom:20px;width:2px;background:var(--gf-border-med)}.gf-tl-item{position:relative;padding:0 0 24px 22px;display:flex}.gf-tl-item:last-child{padding-bottom:0}.gf-tl-dot{position:absolute;left:-5px;top:6px;width:10px;height:10px;border-radius:50%;border:2px solid;background:var(--gf-bg)}.gf-tl-dot--active{border-color:var(--gf-green);box-shadow:0 0 6px rgba(108,207,142,.4)}.gf-tl-dot--done{border-color:var(--gf-blue-text)}.gf-tl-body{flex:1}.gf-tl-date{font-size:11px;font-family:var(--gf-font-mono);color:var(--gf-text-dis);margin-bottom:3px}.gf-tl-role{font-size:14px;font-weight:500;color:var(--gf-text)}.gf-tl-org{font-size:12px;color:#f83;margin:2px 0 4px}.gf-tl-desc{font-size:12px;color:var(--gf-text-sec);line-height:1.6}.gf-table-wrap{height:100%;overflow:auto}.gf-table{width:100%;border-collapse:collapse}.gf-table thead{position:sticky;top:0;z-index:10}.gf-table th{text-align:left;padding:0 12px;height:32px;font-size:12px;font-weight:500;color:var(--gf-text-sec);background:var(--gf-bg-sec);border-bottom:1px solid var(--gf-border-weak);white-space:nowrap;cursor:pointer;user-select:none}.gf-table th:hover{background:#272b31}.gf-table td{padding:5px 12px;border-bottom:1px solid rgba(204,204,220,.04);font-family:var(--gf-font-mono);font-size:12px;vertical-align:middle}.gf-table tbody tr:hover td{background:var(--gf-hover)}.gf-td-dim{color:var(--gf-text-sec)}.gf-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:3px;font-size:11px;font-weight:500}.gf-badge--docker{background:rgba(0,145,255,.1);color:#2496ed}.gf-badge--k8s{background:rgba(50,108,229,.1);color:#326ce5}.gf-badge--grafana{background:rgba(255,136,51,.12);color:#f83}.gf-badge--prometheus{background:rgba(230,82,44,.1);color:#e6522c}.gf-badge--gitlab{background:rgba(252,109,38,.1);color:#fc6d26}.gf-badge--aws{background:rgba(255,153,0,.1);color:#f90}.gf-badge--terraform{background:rgba(126,90,238,.1);color:#844fba}.gf-badge--ansible{background:rgba(238,0,0,.08);color:#e00}.gf-badge--linux{background:rgba(250,222,42,.1);color:var(--gf-yellow)}.gf-status--active{color:var(--gf-green);font-size:11px}.gf-status--info{color:var(--gf-blue-text);font-size:11px}.gf-state-hist{padding:16px 12px;height:100%;overflow:hidden}.gf-sh-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.gf-sh-row:last-child{margin-bottom:0}.gf-sh-label{width:100px;font-size:12px;color:var(--gf-text-sec);flex-shrink:0;text-align:right}.gf-sh-bar{flex:1;height:16px;display:flex;gap:2px;border-radius:2px;overflow:hidden}.gf-sh-seg{flex:1;cursor:crosshair;transition:opacity .1s;border-radius:1px}.gf-sh-seg:hover{opacity:.6}.gf-sh-seg--up{background:var(--gf-green-main)}.gf-sh-seg--partial,.gf-sh-seg--up{animation:gfSegIn .4s cubic-bezier(.4,0,.2,1) both}.gf-sh-seg--partial{background:var(--gf-yellow)}.gf-sh-seg--down{background:var(--gf-red-main);animation:gfSegIn .4s cubic-bezier(.4,0,.2,1) both}.gf-sh-seg:nth-child(n){animation-delay:calc(var(--seg-i, 0) * 8ms + .2s)}@keyframes gfSegIn{0%{opacity:0;transform:scaleY(.4)}to{opacity:1;transform:scaleY(1)}}.gf-sh-pct{width:44px;text-align:right;font-size:12px;font-family:var(--gf-font-mono);color:var(--gf-green);flex-shrink:0}.gf-contact{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px 12px 24px;height:100%;align-content:start}.gf-root .gf-contact-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(204,204,220,.02);border:1px solid var(--gf-border-weak);border-radius:2px;color:inherit;transition:all .1s;cursor:pointer}.gf-root .gf-contact-card:hover{background:var(--gf-hover);border-color:var(--gf-border-med)}.gf-contact-icon{width:28px;height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gf-text-sec);background:var(--gf-canvas);border:1px solid var(--gf-border-weak)}.gf-contact-icon--email{color:var(--gf-blue-text)}.gf-contact-icon--github{color:#fff}.gf-contact-icon--linkedin{color:#0a66c2}.gf-contact-icon--location{color:var(--gf-orange)}.gf-contact-k{font-size:11px;color:var(--gf-text-dis);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.gf-contact-v{font-size:13px;font-weight:500;color:var(--gf-text)}.gf-toast{position:fixed;top:60px;right:16px;z-index:9999;background:var(--gf-bg-elev);border:1px solid var(--gf-border-med);border-radius:2px;box-shadow:0 4px 12px rgba(0,0,0,.4);display:flex;align-items:flex-start;min-width:280px;max-width:400px;padding:12px 16px 16px;gap:12px;animation:gf-toast-in .3s cubic-bezier(.2,0,0,1)}@keyframes gf-toast-in{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.gf-toast-edge{position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--gf-green);border-radius:2px 0 0 2px}.gf-toast-icon{color:var(--gf-green);flex-shrink:0;margin-top:2px}.gf-toast-title{color:var(--gf-text);font-size:14px;font-weight:600;margin-bottom:4px}.gf-toast-msg{color:var(--gf-text-sec);font-size:13px;line-height:1.4}.gf-nav-overlay{display:none}.gf-topbar__hamburger{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:2px;color:var(--gf-text-sec);flex-shrink:0;transition:background .1s,color .1s;margin-left:8px}.gf-topbar__hamburger:hover{background:var(--gf-hover);color:var(--gf-text)}.gf-topbar{padding-left:16px;padding-right:8px}@media (max-width:1280px){.gf-sidemenu{width:240px;min-width:240px}.gf-w-25{width:calc(50% - 4px)}.gf-topbar__search{width:220px}}@media (max-width:1024px){.gf-sidemenu{width:56px;min-width:56px;overflow:visible}.gf-sidemenu__hdr{padding:0 8px;justify-content:center}.gf-nav-badge,.gf-nav-chevron,.gf-nav-label,.gf-sidemenu__hdr-brand span,.gf-sidemenu__hdr-close{display:none}.gf-nav-item{justify-content:center;padding:0 8px}.gf-nav-icon{width:auto}.gf-sidemenu__bottom{padding:8px 4px}.gf-sidemenu__bottom .gf-nav-item{justify-content:center}.gf-topbar__search{width:180px}.gf-topbar__invite{display:none}}@media (max-width:768px){.gf-sidemenu{position:fixed;top:0;left:0;height:100vh;z-index:2000;width:260px;min-width:260px;transform:translateX(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px rgba(0,0,0,.6);overflow:auto}.gf-sidemenu--open{transform:translateX(0)}.gf-sidemenu--open .gf-nav-badge,.gf-sidemenu--open .gf-nav-label{display:inline}.gf-sidemenu--open .gf-sidemenu__hdr-brand span,.gf-sidemenu--open .gf-sidemenu__hdr-close{display:flex}.gf-sidemenu--open .gf-nav-item{justify-content:flex-start;padding:0 8px 0 4px}.gf-sidemenu--open .gf-nav-icon{width:22px}.gf-nav-overlay{display:block;position:fixed;inset:0;z-index:1999;background:rgba(0,0,0,.65)}.gf-topbar__hamburger{display:flex}.gf-topbar{padding-left:4px}.gf-topbar__search{width:160px}.gf-w-25,.gf-w-33{width:calc(50% - 4px)}.gf-h-stat{height:160px}.gf-stat__val{font-size:42px}.gf-h-gauge{height:280px}.gf-h-xl{height:320px}.gf-h-md{height:220px}.gf-h-logs{height:360px}}@media (max-width:600px){.gf-w-25,.gf-w-33,.gf-w-50{width:100%}.gf-h-stat{height:140px}.gf-stat__val{font-size:36px;letter-spacing:-2px}.gf-stat__fg{padding:0 12px 10px}.gf-h-gauge{height:320px}.gf-h-logs{height:400px}.gf-h-xl{height:360px}.gf-h-md{height:auto;min-height:360px}.gf-ctrlbar__left,.gf-topbar__crumb,.gf-topbar__search,.gf-topbar__sep{display:none}.gf-ctrlbar{justify-content:flex-end}.gf-contact{grid-template-columns:1fr}.gf-hero-panel{flex-direction:column;gap:16px;padding:14px 16px}.gf-hero-vdiv{display:none}.gf-hero-right{width:100%;min-width:0}.gf-hero-bio{max-width:100%}.gf-log-ts,.gf-table td:nth-child(3),.gf-table th:nth-child(3){display:none}.gf-row__label{font-size:11px}.gf-topbar__icon:nth-child(n+3){display:none}}@media (max-width:380px){.gf-h-stat{height:120px}.gf-stat__val{font-size:30px}.gf-hero-name{font-size:17px!important}.gf-canvas{padding:0 4px 4px}}.gf-hero-row{padding:8px 8px 0}.gf-hero-panel{background:var(--gf-bg);border:1px solid var(--gf-border-weak);border-radius:2px;display:flex;align-items:stretch;gap:28px;padding:20px 24px;position:relative;overflow:hidden}.gf-hero-panel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gf-brand);border-radius:2px 0 0 2px}.gf-hero-identity{display:flex;align-items:flex-start;gap:16px;flex:1;min-width:0}.gf-hero-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#f55f3e,#f83);color:#fff;font-size:17px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.5px}.gf-hero-id-text{display:flex;flex-direction:column;gap:5px;min-width:0}.gf-hero-name{font-size:20px!important;font-weight:600!important;color:var(--gf-text)!important;line-height:1.3!important;letter-spacing:-.2px}.gf-hero-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gf-hero-role{font-size:13px;color:var(--gf-text-sec);font-weight:400}.gf-hero-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:2px;line-height:1.5;white-space:nowrap}.gf-hero-badge--green{background:rgba(108,207,142,.15);color:var(--gf-green);border:1px solid rgba(108,207,142,.25)}.gf-hero-badge--blue{background:rgba(61,113,217,.15);color:var(--gf-blue-text);border:1px solid rgba(61,113,217,.25)}.gf-hero-bio{font-size:12.5px;color:var(--gf-text-sec);line-height:1.6;max-width:520px}.gf-hero-vdiv{width:1px;background:var(--gf-border-weak);align-self:stretch;flex-shrink:0}.gf-hero-right{display:flex;flex-direction:column;gap:12px;justify-content:center;min-width:220px;flex-shrink:0}.gf-hero-skills{display:flex;flex-wrap:wrap;gap:6px}.gf-hero-skill-chip{font-size:11px;font-weight:500;padding:3px 9px;border-radius:2px;border:1px solid;background:transparent;opacity:.85;letter-spacing:.2px;white-space:nowrap}.gf-hero-links{display:flex;flex-direction:column;gap:5px}.gf-hero-link{display:flex;align-items:center;gap:8px;font-size:12px;padding:5px 10px;border-radius:2px;border:1px solid var(--gf-border-weak);background:transparent;color:var(--gf-text-sec);cursor:pointer;transition:background .12s,color .12s,border-color .12s;text-decoration:none;font-family:var(--gf-font);line-height:inherit;width:100%;text-align:left}.gf-hero-link:hover{background:var(--gf-hover);color:var(--gf-text);border-color:var(--gf-border-med)}.gf-hero-link--gh:hover{color:#fff}.gf-hero-link--li:hover{color:#0a66c2}.gf-hero-link--email:hover{color:var(--gf-orange)}