@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,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}:root{--gray-50: hsl(216, 33%, 97%);--gray-100: hsl(214, 15%, 91%);--gray-200: hsl(210, 16%, 82%);--gray-300: hsl(211, 13%, 65%);--gray-400: hsl(211, 10%, 53%);--gray-500: hsl(211, 12%, 43%);--gray-600: hsl(209, 14%, 37%);--gray-700: hsl(209, 18%, 30%);--gray-800: hsl(209, 20%, 25%);--gray-900: hsl(210, 24%, 16%);--black: #131a20;--cyan-500: #06b6d4;--cyan-600: #0891b2;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--green-500: #22c55e;--yellow-500: #eab308;--red-500: #ef4444;--red-600: #dc2626;--bg: var(--gray-800);--bg-elevated: var(--gray-700);--bg-soft: var(--gray-600);--border: var(--gray-600);--text: var(--gray-200);--muted: var(--gray-400);--accent: var(--blue-500);--accent-hover: var(--blue-600);--danger: var(--red-500);--warn: var(--yellow-500);--ok: var(--green-500);--radius: .25rem;--font: "IBM Plex Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--content-max: 1600px;--nav-height: 3.5rem}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.45;letter-spacing:.015em;color:var(--text);background:var(--bg)}a{color:var(--cyan-500);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font);font-weight:500;letter-spacing:normal;margin:0 0 .5rem;color:var(--gray-100)}h1{font-size:1.5rem}h2{font-size:1.125rem}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topnav{position:sticky;top:0;z-index:40;height:var(--nav-height);background:var(--black);box-shadow:0 1px 3px #00000059;flex-shrink:0}.topnav-inner{height:100%;max-width:var(--content-max);margin:0 auto;padding:0 1rem;display:flex;align-items:center;gap:.5rem}.topnav-brand{display:inline-flex;align-items:center;height:100%;padding-right:1rem;font-size:1.05rem;font-weight:600;color:var(--gray-100);text-decoration:none;white-space:nowrap}.topnav-brand:hover{color:#fff;text-decoration:none}.topnav-brand span{color:var(--cyan-500);margin-left:.25rem}.topnav-toggle{display:none;margin-left:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--gray-600);background:transparent;color:var(--gray-200);border-radius:var(--radius);width:2.25rem;height:2.25rem;cursor:pointer;align-items:center;justify-content:center}.topnav-toggle-bars{display:block;width:1rem;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}.topnav-right{margin-left:auto;display:flex;align-items:stretch;height:100%}.topnav-right a,.topnav-right button.nav-link{display:inline-flex;align-items:center;height:100%;padding:0 1.25rem;color:var(--gray-300);text-decoration:none;font-size:.875rem;font-weight:500;background:transparent;border:none;cursor:pointer;font-family:inherit;transition:color .15s,background .15s,box-shadow .15s;box-shadow:inset 0 -2px transparent}.topnav-right a:hover,.topnav-right button.nav-link:hover{color:var(--gray-100);background:#000;text-decoration:none}.topnav-right a.active,.topnav-right a:hover,.topnav-right button.nav-link:hover{box-shadow:inset 0 -2px var(--cyan-600)}.topnav-right a.active{color:var(--gray-100)}.topnav-user-link{display:inline-flex!important;align-items:center;gap:.55rem;padding:0 .85rem!important;max-width:14rem;text-decoration:none!important}.topnav-user-stack{display:flex;flex-direction:column;line-height:1.15;min-width:0}.topnav-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gray-100);font-size:.8rem;font-weight:600}.topnav-user-account{color:var(--gray-400);font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.topnav-icon-link{display:inline-flex!important;align-items:center;justify-content:center;width:2.5rem;padding:0!important;color:var(--gray-300)}.topnav-icon{display:block}.topnav-avatar{width:1.75rem;height:1.75rem;border-radius:999px;background:var(--gray-600);color:var(--gray-100);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;flex-shrink:0}.subnav{width:100%;background:var(--gray-700);box-shadow:0 1px 2px #00000040;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-shrink:0}.subnav-inner{max-width:var(--content-max);margin:0 auto;padding:0 .5rem;display:flex;align-items:center;font-size:.875rem}.subnav-inner a{display:inline-block;padding:.75rem 1rem;color:var(--gray-300);text-decoration:none;white-space:nowrap;transition:color .15s,box-shadow .15s;box-shadow:inset 0 -2px transparent}.subnav-inner a:not(:first-child){margin-left:.5rem}.subnav-inner a:hover{color:var(--gray-100);text-decoration:none}.subnav-inner a.active{color:var(--gray-100);box-shadow:inset 0 -2px var(--cyan-600)}.tabs{display:flex;flex-wrap:nowrap;gap:0;margin:0 0 1rem;background:var(--gray-700);box-shadow:0 1px 2px #00000040;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.tabs a{flex:0 0 auto;padding:.75rem 1rem;color:var(--gray-300);text-decoration:none;font-size:.875rem;white-space:nowrap;box-shadow:inset 0 -2px transparent}.tabs a:hover{color:var(--gray-100);text-decoration:none}.tabs a.active{color:var(--gray-100);box-shadow:inset 0 -2px var(--cyan-600)}.content-area{flex:1;width:100%;padding:1.5rem 0 3rem}.content-container{max-width:var(--content-max);margin:0 1rem}@media(min-width:1280px){.content-container{margin-left:auto;margin-right:auto}}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem}.page-header h1{margin-bottom:.15rem}.page-header .lede{margin-bottom:0}.server-title{margin-bottom:1rem}.server-meta{margin:0;font-size:.8rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;display:inline-block;border:1px solid var(--gray-600);background:transparent;color:var(--gray-200);border-radius:var(--radius);padding:.5rem 1rem;font:inherit;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.btn:hover:not(:disabled){border-color:var(--gray-500);color:var(--gray-100)}.btn-primary{background:var(--blue-500);border-color:var(--blue-600);color:#eff6ff}.btn-primary:hover:not(:disabled){background:var(--blue-600);border-color:var(--blue-700);color:#fff}.btn-danger{background:var(--red-500);border-color:var(--red-600);color:#fef2f2}.btn-danger:hover:not(:disabled){background:var(--red-600);border-color:#b91c1c;color:#fff}.btn:disabled{opacity:.55;cursor:default}.btn-sm{padding:.3rem .65rem;font-size:.72rem}.btn-icon{width:2rem;height:2rem;padding:0;display:inline-flex;align-items:center;justify-content:center;letter-spacing:0;text-transform:none}.panel{background:var(--bg-elevated);border:1px solid transparent;border-radius:var(--radius);padding:1rem;margin-bottom:1rem;color:var(--text)}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.muted{color:var(--muted)}.error{color:#fca5a5}.ok{color:var(--ok)}.lede{color:var(--muted);line-height:1.5;margin:0 0 1rem;font-size:.9rem}.server-list{display:flex;flex-direction:column;gap:.5rem}.server-row{position:relative;display:grid;grid-template-columns:1fr;gap:1rem;align-items:center;padding:1rem 1.25rem 1rem 1rem;background:var(--gray-700);border:1px solid transparent;border-radius:var(--radius);color:var(--gray-200);text-decoration:none;overflow:hidden;transition:border-color .15s;cursor:pointer}.server-row:hover{border-color:var(--gray-500);text-decoration:none;color:var(--gray-200)}.server-row-main{min-width:0}.server-row-name{display:block;font-size:1.05rem;font-weight:600;color:var(--gray-50);margin-bottom:.15rem}.server-row-desc{margin:0;font-size:.85rem;color:var(--gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-row-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;font-size:.85rem;color:var(--gray-300)}.server-row-meta .mono{color:var(--gray-200)}.server-row-status-bar{position:absolute;right:.25rem;top:.25rem;bottom:.25rem;width:.5rem;border-radius:999px;opacity:.5;transition:opacity .15s}.server-row:hover .server-row-status-bar{opacity:.75}.server-row-status-bar.is-ok{background:var(--green-500)}.server-row-status-bar.is-warn{background:var(--yellow-500)}.server-row-status-bar.is-danger{background:var(--red-500)}@media(min-width:768px){.server-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}.table-wrap{overflow-x:auto;background:var(--gray-700);border-radius:var(--radius)}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th,.table td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--gray-600);vertical-align:middle}.table-dense th,.table-dense td{padding:.35rem .55rem;font-size:.8125rem}.table tr.is-selected td{background:color-mix(in srgb,var(--cyan-600) 12%,transparent)}.table th{color:var(--gray-400);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;background:var(--gray-800)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:#00000026}.table a.row-link{color:var(--gray-100);text-decoration:none;font-weight:600}.table a.row-link:hover{color:var(--cyan-500)}.table-clickable tbody tr{cursor:pointer}label{display:block;font-size:.8rem;font-weight:500;color:var(--gray-400);margin-bottom:.3rem}.field{margin-bottom:.85rem}.row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}input,select,textarea{width:100%;background:var(--gray-800);border:1px solid var(--gray-600);color:var(--gray-100);border-radius:var(--radius);padding:.5rem .65rem;font:inherit;font-size:.875rem}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cyan-600);box-shadow:0 0 0 1px var(--cyan-600)}input[type=checkbox]{width:auto;margin-right:.4rem;accent-color:var(--cyan-600)}.switch-row{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-bottom:1rem;color:var(--gray-300);font-size:.875rem}.badge{display:inline-block;padding:.15rem .45rem;border-radius:.2rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:var(--gray-600);border:1px solid var(--gray-500);color:var(--gray-200)}.badge-ok{color:#bbf7d0;background:#22c55e26;border-color:#22c55e59}.badge-warn{color:#fde68a;background:#eab30826;border-color:#eab30859}.badge-danger{color:#fecaca;background:#ef444426;border-color:#ef444459}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:var(--gray-800)}.login-card{width:100%;max-width:28rem;background:var(--gray-700);border-radius:var(--radius);padding:2rem 1.5rem;text-align:center;box-shadow:0 10px 25px #00000059}.login-card h1{font-size:1.5rem;margin-bottom:.5rem}.login-card h1 span{color:var(--cyan-500)}.login-card .lede{margin-bottom:1.5rem}.login-card .btn{width:100%}.login-foot{margin-top:1.25rem;font-size:.75rem;color:var(--gray-500)}.console-wrap{background:#000;border:1px solid var(--gray-600);border-radius:var(--radius);overflow:hidden;min-height:360px}.console-wrap .xterm{padding:.5rem}.stat{font-family:var(--font);font-size:1.6rem;font-weight:600;margin:0;color:var(--gray-50)}.mono{font-family:var(--mono);font-size:.85rem}.files-manager{position:relative}.files-manager.is-dragging .files-drop{border-color:var(--cyan-600);background:color-mix(in srgb,var(--cyan-600) 10%,var(--gray-700))}.files-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.5rem;justify-content:space-between}.files-toolbar-actions{flex-shrink:0}.files-crumbs{flex:1;min-width:0}.files-crumb{border:none;background:transparent;color:var(--cyan-500);font:inherit;padding:0;cursor:pointer}.files-crumb:hover{text-decoration:underline}.files-mass-bar{margin-bottom:.5rem;padding:.4rem .65rem;background:var(--gray-700);border-radius:var(--radius)}.files-drop{position:relative;border:1px solid var(--gray-600);border-radius:var(--radius);padding:0;background:var(--gray-700);overflow:hidden;transition:border-color .15s ease,background .15s ease}.files-drop.active{border-color:var(--cyan-600);border-style:dashed}.files-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;margin:0;display:grid;place-items:center;background:color-mix(in srgb,var(--cyan-600) 18%,rgba(0,0,0,.55));color:#fff;font-weight:600;pointer-events:none}.files-table{margin:0}.files-table tr.is-selected{background:color-mix(in srgb,var(--cyan-600) 12%,transparent)}.files-table tr[data-folder]:hover{outline:1px dashed color-mix(in srgb,var(--cyan-600) 50%,transparent)}.files-name-btn{border:none;background:transparent;color:var(--gray-100);font:inherit;padding:.15rem 0;cursor:pointer;text-align:left;display:inline-flex;align-items:center;gap:.45rem}.files-name-btn:hover{color:var(--cyan-500)}.files-icon{display:inline-block;width:.85rem;height:.85rem;border-radius:.12rem;flex-shrink:0;background:var(--gray-500)}.files-icon.is-dir{background:color-mix(in srgb,var(--cyan-500) 55%,var(--gray-600))}.files-icon.is-file{background:var(--gray-500)}.file-menu{position:relative;display:inline-flex;justify-content:flex-end}.file-menu-panel{position:absolute;right:0;top:calc(100% + .25rem);z-index:20;min-width:9rem;background:var(--gray-800);border:1px solid var(--gray-600);border-radius:var(--radius);box-shadow:0 10px 24px #00000059;padding:.25rem;display:flex;flex-direction:column}.file-menu-panel button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--gray-200);text-align:left;font:inherit;font-size:.8rem;padding:.4rem .55rem;border-radius:.15rem;cursor:pointer}.file-menu-panel button:hover{background:var(--gray-700);color:#fff}.file-menu-panel button.is-danger{color:#fecaca}.files-editor-layout{display:flex;flex-direction:column;gap:.75rem;height:calc(100vh - 11rem);min-height:28rem}.files-editor-toolbar{flex-wrap:wrap;flex-shrink:0}.monaco-wrap{flex:1 1 auto;min-height:0;position:relative;border:1px solid var(--gray-600);border-radius:var(--radius);overflow:hidden;background:#1e1e1e}.monaco-wrap>div{position:absolute;top:0;right:0;bottom:0;left:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.grey-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;padding:.55rem .75rem;background:var(--gray-700);border:1px solid transparent;border-radius:var(--radius);color:var(--gray-200);margin-bottom:.35rem;overflow:hidden;transition:border-color .15s}.panel-flush{background:var(--gray-700);border-radius:var(--radius);overflow:hidden}.grey-row.is-hoverable:hover{border-color:var(--gray-500)}.grey-row-list{display:flex;flex-direction:column}.page-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.page-toolbar h1{margin:0}.alert{padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;background:#eab3081f;border:1px solid rgba(234,179,8,.35);color:#fde68a}.alert-danger{background:#ef44441f;border-color:#ef444459;color:#fecaca}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:1rem}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:#000000a6;cursor:pointer}.modal-dialog{position:relative;z-index:1;width:100%;max-width:32rem;max-height:calc(100vh - 2rem);overflow:auto;background:var(--gray-700);border:1px solid var(--gray-600);border-radius:var(--radius);box-shadow:0 20px 40px #00000073}.modal-dialog.is-wide{max-width:42rem}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--gray-600)}.modal-header h2{margin:0;font-size:1.05rem}.modal-body{padding:1rem}.spinner-text{margin:1rem 0}.console-layout{display:grid;gap:1rem}.console-main{min-width:0}.console-side{display:flex;flex-direction:column;gap:.5rem}.stat-card{background:var(--gray-700);border-radius:var(--radius);padding:.85rem 1rem;border:1px solid transparent}.stat-card-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-400);margin-bottom:.25rem}.stat-card-value{font-size:.95rem;font-weight:600;color:var(--gray-50);word-break:break-all}.stat-bar{margin-top:.45rem;height:.35rem;background:var(--gray-800);border-radius:999px;overflow:hidden}.stat-bar>span{display:block;height:100%;background:var(--cyan-600);border-radius:999px}.power-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;align-items:center}@media(min-width:1024px){.console-layout{grid-template-columns:minmax(0,1fr) 17rem;align-items:start}}.admin-shell{display:flex;min-height:100vh;background:var(--gray-900)}.admin-sidebar{position:fixed;inset:0 auto 0 0;z-index:45;width:230px;background:var(--black);color:var(--gray-200);display:flex;flex-direction:column;transform:translate(0);transition:transform .2s ease;overflow-y:auto}.admin-brand{display:block;padding:1rem 1.15rem;font-weight:700;font-size:1rem;color:var(--gray-50);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.06)}.admin-brand:hover{color:#fff;text-decoration:none}.admin-brand span{color:var(--cyan-500)}.admin-nav-section{padding:.85rem .75rem .25rem}.admin-nav-label{display:block;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500);padding:.35rem .65rem .5rem}.admin-nav-section a{display:block;padding:.5rem .65rem;border-radius:var(--radius);color:var(--gray-300);text-decoration:none;font-size:.875rem;font-weight:500;margin-bottom:.1rem}.admin-nav-section a:hover{background:var(--gray-800);color:var(--gray-50);text-decoration:none}.admin-nav-section a.active{background:color-mix(in srgb,var(--cyan-600) 22%,var(--gray-800));color:#fff;box-shadow:inset 3px 0 0 var(--cyan-600)}.admin-main{flex:1;margin-left:230px;min-width:0;display:flex;flex-direction:column;min-height:100vh}.admin-topbar{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.65rem 1.25rem;background:var(--gray-800);border-bottom:1px solid var(--gray-700);position:sticky;top:0;z-index:30}.admin-topbar-user{font-size:.85rem;color:var(--gray-300);margin-right:auto}.admin-menu-toggle{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--gray-600);background:transparent;color:var(--gray-200);border-radius:var(--radius);width:2.25rem;height:2.25rem;cursor:pointer;align-items:center;justify-content:center}.admin-backdrop{display:none}.admin-page{padding:1.25rem 1.5rem 2.5rem;flex:1}.admin-content-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--gray-700)}.admin-content-header h1{margin:0;font-size:1.35rem}.admin-content-sub{display:block;margin-top:.25rem;font-size:.875rem;font-weight:400;color:var(--gray-400)}.admin-breadcrumbs{font-size:.8rem;color:var(--gray-400)}.admin-breadcrumbs a{color:var(--cyan-500)}.admin-crumb-sep{color:var(--gray-600)}.admin-box{background:var(--gray-800);border:1px solid var(--gray-700);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden}.admin-box-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--gray-700);background:var(--gray-800)}.admin-box-header h3{margin:0;font-size:.95rem;color:var(--gray-100)}.admin-box-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-box-actions input[type=search],.admin-box-actions input[type=text]{width:auto;min-width:12rem}.admin-box-body{padding:.85rem 1rem}.admin-box-body:has(.table-wrap){padding:0}.admin-box-body .table-wrap{margin:0;border-radius:0;background:transparent}.admin-stat-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-bottom:1rem}.admin-stat-tile{display:block;background:var(--gray-800);border:1px solid var(--gray-700);border-radius:var(--radius);padding:1rem;color:inherit;text-decoration:none}.admin-stat-tile:hover{border-color:var(--cyan-600);text-decoration:none}.admin-stat-tile .muted{margin:0 0 .35rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.admin-stat-tile .stat{color:var(--gray-50)}.admin-tabs{display:flex;flex-wrap:nowrap;gap:0;margin:0 0 1rem;background:var(--gray-800);border:1px solid var(--gray-700);border-radius:var(--radius);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.admin-tabs button,.admin-tabs a.admin-tabs-external{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--gray-300);font:inherit;font-size:.85rem;font-weight:500;padding:.7rem .95rem;cursor:pointer;white-space:nowrap;text-decoration:none;box-shadow:inset 0 -2px transparent}.admin-tabs button:hover,.admin-tabs a.admin-tabs-external:hover{color:var(--gray-100);text-decoration:none}.admin-tabs button.active{color:var(--gray-50);box-shadow:inset 0 -2px var(--cyan-600)}.admin-tabs-external{margin-left:auto}.admin-server-about{display:grid;gap:1rem}@media(min-width:1100px){.admin-server-about{grid-template-columns:minmax(0,1fr) 16rem;align-items:start}}.admin-server-side{display:flex;flex-direction:column;gap:1rem}.info-dl{margin:0 0 1rem;display:grid;gap:.55rem 1rem}.info-dl>div{display:grid;grid-template-columns:minmax(9rem,12rem) minmax(0,1fr);gap:.5rem 1rem;padding-bottom:.45rem;border-bottom:1px solid var(--gray-700)}.info-dl dt{margin:0;color:var(--gray-400);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.info-dl dd{margin:0;color:var(--gray-100);word-break:break-word}.uuid-chip{display:inline-block;font-family:var(--mono);font-size:.72rem;padding:.12rem .4rem;border-radius:.2rem;background:var(--gray-800);color:var(--gray-300);border:1px solid var(--gray-600)}.nest-egg-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .75rem}.node-heart{display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;line-height:1;width:1.25rem}.node-heart.is-online{color:var(--green-500)}.node-heart.is-offline{color:var(--red-500)}.node-heart.is-checking{color:var(--gray-500);animation:node-pulse 1s ease-in-out infinite}@keyframes node-pulse{0%,to{opacity:.35}50%{opacity:1}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:768px){.topnav{height:auto;min-height:var(--nav-height)}.topnav-inner{flex-wrap:wrap;padding:.5rem 1rem;gap:0}.topnav-toggle{display:inline-flex}.topnav-right{display:none;width:100%;flex-direction:column;height:auto;margin:.5rem 0 0;border-top:1px solid var(--gray-700)}.app-shell.nav-open .topnav-right{display:flex}.topnav-right a,.topnav-right button.nav-link{height:auto;padding:.85rem .5rem;justify-content:flex-start}.topnav-user-link{padding:.65rem .5rem!important;max-width:none}.content-area{padding:1rem 0 2rem}.grid-2{grid-template-columns:1fr}.files-editor-layout{height:calc(100vh - 9rem);min-height:18rem}.files-toolbar{flex-direction:column;align-items:stretch}.console-wrap{min-height:280px}.subnav-inner a:not(:first-child){margin-left:0}.admin-menu-toggle{display:inline-flex}.admin-sidebar{transform:translate(-100%)}.admin-shell.nav-open .admin-sidebar{transform:translate(0)}.admin-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000080;border:none;padding:0;cursor:pointer}.admin-main{margin-left:0}.admin-topbar-user{display:none}.admin-page{padding:1rem}.admin-box-actions input[type=search],.admin-box-actions input[type=text]{min-width:0;width:100%}}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}
