@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Archivo Fallback;src:local("Arial");ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.00%;size-adjust:98.70%}.__className_9b68a8{font-family:Archivo,Archivo Fallback;font-style:normal}.__variable_9b68a8{--font-sans:"Archivo","Archivo Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_e896d9{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_e896d9{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}.portal-theme{--bg:#05070a;--bg2:#070a10;--panel:#0b0f16;--panel2:#0e1420;--line:rgba(140,165,195,.1);--line2:rgba(140,165,195,.22);--text:#e8edf4;--text2:#94a1b5;--text3:#566274;--brand-accent:#22d3ee;--btnInk:#031318;--hud:rgba(13,18,28,.55);--modalbg:rgba(13,18,28,.94);--chipbg:rgba(5,8,13,.88);--navbg:rgba(5,7,10,.6);--dotc:rgba(140,165,195,.09);--termbg:#05080d;--background:216 28% 3%;--foreground:214 27% 93%;--card:220 27% 7%;--card-foreground:214 27% 93%;--popover:220 27% 7%;--popover-foreground:214 27% 93%;--primary:187 82% 53%;--primary-foreground:192 73% 5%;--secondary:218 29% 9%;--secondary-foreground:214 27% 93%;--muted:218 29% 9%;--muted-foreground:216 15% 65%;--accent:187 35% 12%;--accent-foreground:187 82% 70%;--destructive:0 72% 51%;--destructive-foreground:0 0% 98%;--border:214 20% 18%;--input:218 29% 9%;--ring:187 82% 53%;--radius:0.25rem;--sidebar:216 28% 4%;--sidebar-foreground:214 27% 93%;--sidebar-border:214 20% 14%;--sidebar-accent:187 35% 12%;--sidebar-accent-foreground:187 82% 70%;--sidebar-primary:187 82% 53%;--sidebar-primary-foreground:192 73% 5%;--sidebar-ring:187 82% 53%;color:var(--text);background-color:var(--bg);transition:background .3s,color .3s}.portal-theme .portal-kicker{font-family:var(--font-mono),"JetBrains Mono",monospace;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-accent)}.portal-theme .portal-page-title{font-weight:800;font-size:clamp(1.75rem,2.4vw,2rem);line-height:1.05;letter-spacing:-.035em;color:var(--text)}.portal-theme .canvas-grid{background-color:var(--bg2);background-image:radial-gradient(var(--dotc) 1.5px,transparent 1.5px);background-size:24px 24px}.portal-theme .btn-bright{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:3px;background:var(--brand-accent);color:var(--btnInk);border:1px solid var(--brand-accent);font-size:13.5px;font-weight:700;cursor:pointer;transition:filter .15s ease}.portal-theme .btn-bright:hover{filter:brightness(1.12)}.portal-theme .btn-glass{display:inline-flex;align-items:center;padding:8px 16px;border-radius:3px;border:1px solid var(--line2);color:var(--text);background:var(--hud);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:13.5px;font-weight:600;cursor:pointer;transition:border-color .15s ease}.portal-theme .btn-glass:hover{border-color:var(--brand-accent)}.portal-theme .deploy-card{border-radius:4px;border:1px solid var(--line2);background:var(--panel);box-shadow:0 18px 50px -18px rgba(0,0,0,.8);overflow:hidden}.portal-theme .resource-border-active{border:1px solid #19d3ee!important}.portal-theme .resource-border-deploying{border:1px solid #fbbf24!important}.portal-theme .deploy-card-header{background:var(--panel2);border-bottom:1px solid var(--line);padding:11px 16px;font-family:var(--font-mono),"JetBrains Mono",monospace;font-size:11.5px;color:var(--text3)}.portal-theme .hud-panel{border:1px solid var(--line2);border-radius:4px;background:var(--hud)}.portal-theme .hud-panel,.portal-theme .portal-nav-header{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.portal-theme .portal-nav-header{background:var(--navbg);border-bottom-color:var(--line)}.portal-theme .docklet-panel{border-radius:4px;border:1px solid var(--line2);background:var(--panel);box-shadow:0 18px 50px -18px rgba(0,0,0,.45)}.portal-theme .docklet-input{border-radius:3px;border-color:var(--line2);background:var(--panel2)}.portal-theme .docklet-input:focus{border-color:color-mix(in oklab,var(--brand-accent) 55%,transparent);ring-color:color-mix(in oklab,var(--brand-accent) 25%,transparent)}.portal-theme .terminal-window{border-radius:4px;border:1px solid var(--line2);background:var(--termbg);box-shadow:0 30px 80px -30px rgba(0,0,0,.8);font-family:var(--font-mono),"JetBrains Mono",monospace;font-size:13px;line-height:2;overflow:hidden}.portal-theme .status-indicator-live{width:6px;height:6px;border-radius:50%;background:var(--brand-accent);animation:portal-pulse 2s infinite}.portal-theme .status-spinner{display:inline-block;width:11px;height:11px;border-radius:50%;border:2px solid var(--line2);border-top:2px solid #f5b14c;animation:portal-spinv2 .7s linear infinite}.portal-theme .portal-tab-active{border-color:color-mix(in oklab,var(--brand-accent) 45%,transparent);background:color-mix(in oklab,var(--brand-accent) 12%,transparent);color:var(--brand-accent)}.portal-theme .portal-service-tab-active{border-bottom-color:var(--brand-accent);color:var(--text)}.portal-theme .portal-status-running{background:color-mix(in oklab,var(--brand-accent) 14%,transparent);color:var(--brand-accent);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--brand-accent) 28%,transparent)}@keyframes portal-pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes portal-spinv2{to{transform:rotate(1turn)}}.portal-theme .log-terminal{border-radius:4px;border:1px solid var(--line2);background:var(--termbg);box-shadow:0 30px 80px -30px rgba(0,0,0,.8);color:#c7d3e4;line-height:2}@keyframes portal-fadeup{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.portal-theme,.portal-theme *{scrollbar-width:thin;scrollbar-color:#17bfd8 transparent}.portal-theme ::-webkit-scrollbar{width:6px;height:6px}.portal-theme ::-webkit-scrollbar-track{background:transparent}.portal-theme ::-webkit-scrollbar-thumb{background:#17bfd8;border-radius:999px}.portal-theme ::-webkit-scrollbar-thumb:hover{background:#22d3ee}.portal-theme ::-webkit-scrollbar-corner{background:transparent}.portal-theme .portal-thin-scroll{scrollbar-width:thin;scrollbar-color:#17bfd8 transparent}.portal-theme .react-flow__node,.portal-theme .react-flow__node>div{overflow:visible!important}.portal-theme .opendb-data-scroll{scrollbar-gutter:stable}