/**
 * 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-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{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.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}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}@font-face{font-family:Oswald;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/oswald-300.woff2) format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/oswald-ext-300.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:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/oswald-400.woff2) format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/oswald-ext-400.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:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/oswald-500.woff2) format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/oswald-ext-500.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:Oswald;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/oswald-600.woff2) format("woff2");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/oswald-ext-600.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:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-lat-400.woff2) format("woff2");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+2074,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-weight:400;font-display:swap;src:url(/fonts/plex-ext-400.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:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-lat-500.woff2) format("woff2");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+2074,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-weight:500;font-display:swap;src:url(/fonts/plex-ext-500.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:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-lat-600.woff2) format("woff2");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+2074,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-weight:600;font-display:swap;src:url(/fonts/plex-ext-600.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}:root{--bg: #08131a;--bg-2: #0a1a22;--aurora-1: rgba(52, 228, 196, .28);--aurora-2: rgba(96, 130, 255, .2);--aurora-3: rgba(255, 122, 89, .16);--glass: rgba(255, 255, 255, .055);--glass-2: rgba(255, 255, 255, .085);--glass-border: rgba(255, 255, 255, .12);--glass-border-2: rgba(255, 255, 255, .18);--ink: #e7f4f2;--ink-muted: #93aeac;--ink-faint: #648180;--accent: #34e4c4;--accent-2: #ff7a59;--accent-ink: #052722;--ok: #34d399;--warn: #fbbf24;--err: #f87171;--idle: #6b8483;--grid: rgba(255, 255, 255, .06);--shadow: 0 18px 50px -20px rgba(0, 0, 0, .7);--radius: 16px;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "Cascadia Code", "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--text: var(--ink);--muted: var(--ink-muted);color-scheme:dark}@media (prefers-color-scheme: light){:root{color-scheme:light;--bg: #eef4f4;--bg-2: #e2ecec;--aurora-1: rgba(52, 200, 172, .3);--aurora-2: rgba(96, 130, 255, .18);--aurora-3: rgba(255, 122, 89, .16);--glass: rgba(255, 255, 255, .62);--glass-2: rgba(255, 255, 255, .78);--glass-border: rgba(10, 40, 40, .1);--glass-border-2: rgba(10, 40, 40, .16);--ink: #0c2626;--ink-muted: #46605e;--ink-faint: #6d8583;--accent: #0fae93;--accent-2: #e0603f;--accent-ink: #ffffff;--ok: #0ea56f;--warn: #c07d06;--err: #d84a4a;--idle: #7b9291;--grid: rgba(10, 40, 40, .08);--shadow: 0 18px 50px -24px rgba(20, 60, 60, .35)}}:root[data-theme=dark]{color-scheme:dark;--bg: #08131a;--bg-2: #0a1a22;--aurora-1: rgba(52,228,196,.28);--aurora-2: rgba(96,130,255,.2);--aurora-3: rgba(255,122,89,.16);--glass: rgba(255,255,255,.055);--glass-2: rgba(255,255,255,.085);--glass-border: rgba(255,255,255,.12);--glass-border-2: rgba(255,255,255,.18);--ink: #e7f4f2;--ink-muted: #93aeac;--ink-faint: #648180;--accent: #34e4c4;--accent-2: #ff7a59;--accent-ink: #052722;--ok: #34d399;--warn: #fbbf24;--err: #f87171;--idle: #6b8483;--grid: rgba(255,255,255,.06);--shadow: 0 18px 50px -20px rgba(0,0,0,.7)}:root[data-theme=light]{color-scheme:light;--bg: #eef4f4;--bg-2: #e2ecec;--aurora-1: rgba(52,200,172,.3);--aurora-2: rgba(96,130,255,.18);--aurora-3: rgba(255,122,89,.16);--glass: rgba(255,255,255,.62);--glass-2: rgba(255,255,255,.78);--glass-border: rgba(10,40,40,.1);--glass-border-2: rgba(10,40,40,.16);--ink: #0c2626;--ink-muted: #46605e;--ink-faint: #6d8583;--accent: #0fae93;--accent-2: #e0603f;--accent-ink: #ffffff;--ok: #0ea56f;--warn: #c07d06;--err: #d84a4a;--idle: #7b9291;--grid: rgba(10,40,40,.08);--shadow: 0 18px 50px -24px rgba(20,60,60,.35)}*{box-sizing:border-box}button{color:inherit;font-family:inherit}input,select,textarea{font-family:inherit;color:inherit}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--bg)}.aurora:before,.aurora:after{content:"";position:absolute;border-radius:50%;filter:blur(90px);opacity:.9}.aurora:before{width:60vw;height:60vw;left:-12vw;top:-18vw;background:radial-gradient(circle at 30% 30%,var(--aurora-1),transparent 62%);animation:drift1 26s ease-in-out infinite alternate}.aurora:after{width:55vw;height:55vw;right:-14vw;top:8vh;background:radial-gradient(circle at 60% 40%,var(--aurora-2),transparent 60%);animation:drift2 32s ease-in-out infinite alternate}.aurora i{position:absolute;width:46vw;height:46vw;left:24vw;bottom:-22vw;border-radius:50%;filter:blur(100px);background:radial-gradient(circle at 50% 50%,var(--aurora-3),transparent 60%);animation:drift3 30s ease-in-out infinite alternate}@keyframes drift1{to{transform:translate(6vw,8vh) scale(1.1)}}@keyframes drift2{to{transform:translate(-5vw,6vh) scale(1.08)}}@keyframes drift3{to{transform:translate(3vw,-6vh) scale(1.12)}}@media (prefers-reduced-motion: reduce){.aurora:before,.aurora:after,.aurora i{animation:none}*{scroll-behavior:auto!important}}.app{position:relative;z-index:1;display:grid;grid-template-columns:248px 1fr;grid-template-rows:58px 1fr;grid-template-areas:"brand top" "side main";min-height:100vh}.brand{grid-area:brand;display:flex;align-items:center;gap:11px;padding:0 18px;border-bottom:1px solid var(--glass-border);border-right:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}.logo{width:30px;height:30px;border-radius:9px;flex:none;background:linear-gradient(140deg,var(--accent),var(--accent-2));display:grid;place-items:center;color:var(--accent-ink);font-weight:800;font-family:var(--mono);font-size:16px;box-shadow:0 6px 18px -6px var(--accent)}.brand b{font-size:15px;letter-spacing:-.2px}.brand span{color:var(--ink-faint);font-size:11px;font-family:var(--mono)}.topbar{grid-area:top;display:flex;align-items:center;gap:14px;padding:0 18px;border-bottom:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-muted)}.crumbs b{color:var(--ink);font-weight:600}.crumbs .sep{color:var(--ink-faint)}.spacer{flex:1}.kbar{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;background:var(--glass);border:1px solid var(--glass-border);border-radius:9px;color:var(--ink-faint);font-size:12.5px;min-width:220px;cursor:text}.kbar kbd{margin-left:auto;font-family:var(--mono);font-size:11px;padding:1px 6px;border:1px solid var(--glass-border-2);border-radius:5px;color:var(--ink-muted)}.iconbtn{width:34px;height:34px;border-radius:9px;border:1px solid var(--glass-border);background:var(--glass);color:var(--ink-muted);cursor:pointer;font-size:15px;display:grid;place-items:center;transition:.15s}.iconbtn:hover{background:var(--glass-2);color:var(--ink)}.skin-picker{height:34px;padding:0 10px;border-radius:9px;border:1px solid var(--glass-border);background:var(--glass);color:var(--ink-muted);font-size:12.5px;font-family:inherit;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;color-scheme:inherit}.skin-picker:hover{background:var(--glass-2);color:var(--ink)}.skin-picker option{background:var(--bg-2);color:var(--ink)}.avatar{width:34px;height:34px;border-radius:50%;flex:none;background:linear-gradient(140deg,#6082ff,var(--accent));display:grid;place-items:center;font-weight:700;font-size:13px;color:#05201c}.side{grid-area:side;border-right:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);padding:14px 12px;display:flex;flex-direction:column;gap:3px;overflow-y:auto}.side .proj{display:flex;align-items:center;gap:10px;padding:10px 10px 12px;margin-bottom:8px;border-bottom:1px solid var(--glass-border)}.side .proj .pic{width:32px;height:32px;border-radius:8px;flex:none;font-family:var(--mono);background:linear-gradient(140deg,#23413f,#16302e);display:grid;place-items:center;color:var(--accent);font-weight:700;border:1px solid var(--glass-border)}.side .proj b{font-size:13.5px;display:block}.side .proj small{color:var(--ink-faint);font-size:11px;font-family:var(--mono)}.navlabel{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);padding:12px 10px 5px}.nav{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;color:var(--ink-muted);font-size:13.5px;cursor:pointer;border:1px solid transparent;transition:.14s;text-align:left;background:none;width:100%;font-family:inherit}.nav:hover{background:var(--glass);color:var(--ink)}.nav.active{background:var(--glass-2);color:var(--ink);border-color:var(--glass-border)}.nav.active .ic{color:var(--accent)}.nav .ic{width:17px;text-align:center;font-size:14px;color:var(--ink-faint)}.nav .badge{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--ink-faint)}.nav .rdot{width:8px;height:8px;border-radius:50%;flex:none;margin-left:4px;background:var(--idle)}.nav .rdot.ok{background:var(--ok)}.nav .rdot.bad{background:var(--err)}.nav .rdot.warn{background:var(--warn)}.nav .rdot.idle{background:var(--idle)}.nav .rname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav.navhint{color:var(--ink-faint);font-style:italic}.main{grid-area:main;overflow-y:auto;padding:22px 26px 60px}.glass{background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow)}h1.page{font-size:22px;margin:4px 0 2px;letter-spacing:-.4px;text-wrap:balance}.sub{color:var(--ink-muted);font-size:13.5px;margin:0 0 18px}.row{display:flex;align-items:center;gap:12px}.wrap{display:flex;flex-wrap:wrap;gap:16px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:9px;border:1px solid var(--glass-border);background:var(--glass);color:var(--ink);font-size:13px;font-family:inherit;cursor:pointer;transition:.15s}.btn:hover{background:var(--glass-2);border-color:var(--glass-border-2)}.btn.primary{background:linear-gradient(140deg,var(--accent),#1fbfa4);color:var(--accent-ink);border:none;font-weight:600;box-shadow:0 8px 20px -10px var(--accent)}.btn.small{height:28px;padding:0 11px;font-size:12px}.btn:disabled{opacity:.5;cursor:default}.btn.danger{color:var(--err);border-color:color-mix(in srgb,var(--err) 45%,transparent);background:color-mix(in srgb,var(--err) 10%,transparent)}.btn.danger:hover{background:color-mix(in srgb,var(--err) 20%,transparent);border-color:var(--err)}.danger-zone{margin-top:18px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--err) 30%,transparent)}.danger-zone .kv{margin-top:4px;max-width:640px}.versions{padding:12px 14px;margin-top:8px}.ver-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--glass-border)}.ver-row:first-of-type{border-top:none}.ver-row.dim{opacity:.6}.fm-editwrap{display:grid;grid-template-columns:1fr;gap:10px}.fm-history{padding:10px 12px}.ver-list{display:flex;flex-direction:column;gap:2px;max-height:150px;overflow:auto}.ver-item{display:flex;justify-content:space-between;gap:8px;padding:4px 6px;border-radius:6px;cursor:pointer}.ver-item:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.ver-item.on{background:color-mix(in srgb,var(--accent) 18%,transparent)}.diff-view .diff-add{color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent)}.diff-view .diff-del{color:var(--err);background:color-mix(in srgb,var(--err) 10%,transparent)}.diff-view .diff-same{color:var(--ink-faint)}.ver-main{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proc-table{width:100%;border-collapse:collapse;font-size:12.5px}.proc-table th{text-align:right;padding:4px 10px;color:var(--ink-muted);border-bottom:1px solid var(--glass-border);white-space:nowrap}.proc-table td{text-align:right;padding:3px 10px;white-space:nowrap}.proc-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.inspect-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 18px}.insp-fact{display:flex;flex-direction:column;gap:1px;min-width:0}.insp-fact>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dismantle-confirm{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.snap-create{margin:14px 0 18px;padding:14px 16px}.snap-create .row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.snap-create .kv{margin-top:4px;max-width:620px}.snap-create .inp{max-width:220px}.snap-row a.btn{text-decoration:none}.storage-status{display:flex;align-items:center;gap:14px;padding:14px 16px}.storage-info{flex:1;display:flex;flex-direction:column;gap:3px}.stor-dot{width:12px;height:12px;border-radius:50%;flex:none}.stor-dot.ok{background:var(--ok);box-shadow:0 0 8px var(--ok)}.stor-dot.bad{background:var(--err);box-shadow:0 0 8px var(--err)}.storage-routes{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid var(--glass-border)}.route-chip{font-size:12px;padding:3px 10px;border-radius:20px;background:var(--glass-2);border:1px solid var(--glass-border)}.target-row{display:grid;grid-template-columns:1.1fr 1.3fr 1fr .7fr 1fr 1fr auto auto;gap:6px;align-items:center;margin-bottom:6px}.target-row .inp{min-width:0}.route-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.route-label{min-width:96px}.route-arrow{color:var(--ink-faint)}.route-row .inp{max-width:220px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:100px;font-family:var(--mono);letter-spacing:-.2px;border:1px solid transparent}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.running{color:var(--ok);background:color-mix(in srgb,var(--ok) 15%,transparent)}.pill.stopped{color:var(--idle);background:color-mix(in srgb,var(--idle) 18%,transparent)}.pill.error{color:var(--err);background:color-mix(in srgb,var(--err) 15%,transparent)}.pill.building,.pill.creating,.pill.pending,.pill.running-task{color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,transparent)}.pill.building:before,.pill.creating:before,.pill.running-task:before{animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:.25}}.tag{font-family:var(--mono);font-size:11px;padding:2px 7px;border-radius:6px;background:var(--glass);border:1px solid var(--glass-border);color:var(--ink-muted)}.kv{color:var(--ink-faint);font-size:12px}.mono{font-family:var(--mono)}.pcard{padding:18px;cursor:pointer;transition:.18s;display:block}.pcard:hover{transform:translateY(-3px);border-color:var(--glass-border-2)}.pcard h3{margin:0 0 4px;font-size:15.5px}.pcard .meta{display:flex;gap:14px;margin-top:14px;color:var(--ink-faint);font-size:12px}.pcard .meta b{color:var(--ink-muted);font-family:var(--mono)}.dot-row{display:flex;gap:5px;margin-top:12px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--idle);vertical-align:middle}.dot.ok{background:var(--ok)}.dot.idle{background:var(--idle)}.dot-row span{height:5px;border-radius:4px;flex:1;background:var(--idle);opacity:.5}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);padding:0 14px 10px;font-weight:600}tbody td{padding:13px 14px;border-top:1px solid var(--glass-border);font-size:13.5px;vertical-align:middle}tbody tr.clickable{cursor:pointer;transition:.12s}tbody tr.clickable:hover td{background:var(--glass)}.rtype{display:inline-flex;align-items:center;gap:8px}.rtype .ico{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-size:13px;background:var(--glass);border:1px solid var(--glass-border)}.tnum{font-family:var(--mono);font-variant-numeric:tabular-nums}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--glass-border);margin:4px 0 20px;overflow-x:auto}.tab{padding:10px 14px;font-size:13.5px;color:var(--ink-muted);cursor:pointer;border:none;background:none;font-family:inherit;border-bottom:2px solid transparent;white-space:nowrap;transition:.14s}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--accent)}.tabpanel{animation:fade .25s ease}@keyframes fade{0%{opacity:0;transform:translateY(4px)}}.term{background:#030c0eb8;border-radius:12px;border:1px solid var(--glass-border);font-family:var(--mono);font-size:12.5px;line-height:1.7;padding:0;overflow:hidden}.term .bar{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--glass-border);background:var(--glass)}.term .bar i{width:11px;height:11px;border-radius:50%;display:inline-block}.term .body{padding:14px 16px;max-height:340px;overflow-y:auto;color:#b9d6d2}.term .body .p{color:var(--accent)}.term .body .c{color:#eaf6f4}.term .body .m{color:var(--ink-faint)}.pipe{display:flex;flex-direction:column;gap:10px}.job{padding:0;overflow:hidden}.job .head{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer}.job .stat{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;flex:none;position:relative}.job .stat.done{background:color-mix(in srgb,var(--ok) 20%,transparent);color:var(--ok)}.job .stat.run{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn)}.job .stat.error{background:color-mix(in srgb,var(--err) 20%,transparent);color:var(--err)}.job .stat.wait{background:var(--glass);color:var(--ink-faint);border:1px solid var(--glass-border)}.job .stat.run:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;border:2px solid var(--warn);border-top-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.job .jname{font-size:13.5px;font-weight:500}.job .jstage{font-family:var(--mono);font-size:10.5px;color:var(--ink-faint);background:var(--glass);padding:2px 7px;border-radius:5px;border:1px solid var(--glass-border)}.job .jeta{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46%}.job .jdur{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--ink-faint)}.job .jeta+.jdur{margin-left:10px}.job .jbar{height:4px;margin:0 16px 12px;border-radius:2px}.job .log{font-family:var(--mono);font-size:11.5px;line-height:1.65;padding:12px 16px 14px;border-top:1px solid var(--glass-border);background:#030c0e80;color:#a9c8c4;max-height:260px;overflow-y:auto}.log .ok{color:var(--ok)}.log .wr{color:var(--warn)}.log .er{color:var(--err)}.log .dim{color:var(--ink-faint)}.log .ac{color:var(--accent)}.ports{position:relative;padding:22px}.ports .cols{display:grid;grid-template-columns:1fr 120px 1fr;align-items:center;gap:0;position:relative;z-index:2}.node{display:flex;flex-direction:column;gap:10px}.node.rt{align-items:flex-start}.node.pub{align-items:flex-end}.port-chip{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:10px;background:var(--glass-2);border:1px solid var(--glass-border);font-family:var(--mono);font-size:12px;min-width:190px;transition:.15s;cursor:pointer}.port-chip:hover{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.port-chip .p{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}.port-chip .svc{color:var(--ink)}.port-chip .num{margin-left:auto;color:var(--ink-muted)}.port-chip.off{opacity:.5}.port-chip.off .p{background:var(--idle)}.ports svg.wires{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.hub{justify-self:center;width:92px;height:92px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(140deg,var(--accent),#1fbfa4);color:var(--accent-ink);box-shadow:0 12px 30px -12px var(--accent);text-align:center;font-size:11px;font-weight:700;line-height:1.25}.hub .globe{font-size:22px}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}.tile{padding:15px 16px}.tile .l{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}.tile .v{font-size:23px;font-family:var(--mono);font-variant-numeric:tabular-nums;margin-top:6px;letter-spacing:-.5px}.tile .v small{font-size:12px;color:var(--ink-faint)}.tile .d{font-size:11.5px;margin-top:3px}.tile .d.up{color:var(--ok)}.tile .d.dn{color:var(--err)}.bar{height:7px;border-radius:4px;background:var(--glass);overflow:hidden;margin-top:10px}.bar>i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .3s ease}.logs-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.logs-bar .inp{min-width:140px}.logs{padding:0;overflow:hidden}.logs .body{padding:12px 14px;max-height:460px;overflow:auto;font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--ink)}.logline{display:flex;gap:8px;align-items:baseline;padding:1px 0}.logline .m{color:var(--ink-faint);flex:none;font-size:11px;font-variant-numeric:tabular-nums}.logline .src{color:var(--ink-faint);flex:none}.logline .msg{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.logline.err .msg,.logline.err .src{color:var(--err)}.logfiles-grid{display:grid;grid-template-columns:280px 1fr;gap:12px;align-items:start}.logfiles-list{padding:8px;max-height:460px;overflow:auto}.logfile-item{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--ink);padding:6px 8px;border-radius:6px;cursor:pointer;margin-bottom:2px}.logfile-item:hover{background:var(--glass)}.logfile-item.active{background:color-mix(in srgb,var(--accent) 16%,transparent)}.logfile-item .p{font-family:var(--mono);font-size:12px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logfile-item .meta{font-size:11px;color:var(--ink-faint);margin-top:1px}.logfile-view{min-height:460px}.logfile-view .body{max-height:460px}.logfile-view pre{margin:0;font-family:var(--mono);font-size:12px;line-height:1.5;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}@media (max-width: 720px){.logfiles-grid{grid-template-columns:1fr}}.ovl-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:8px;border-left:3px solid var(--accent)}.ovl-diff{padding:12px;margin-bottom:8px;max-height:420px;overflow:auto}.ovl-diff-item{margin-bottom:12px}.ovl-diff-item:last-child{margin-bottom:0}.tag.tag-ok{color:var(--ok)}.tag.tag-err{color:var(--err)}.ce-editor{background:#030c0e59;border:none;border-radius:0;min-height:330px;max-height:60vh;overflow:auto;color:var(--ink);caret-color:var(--accent)}@media (prefers-color-scheme: light){.ce-editor{background:#0a28280a}}:root[data-theme=light] .ce-editor{background:#0a28280a}:root[data-theme=dark] .ce-editor{background:#030c0e59}.ce-editor textarea.ce-textarea:focus{outline:none}.ce-editor pre,.ce-editor textarea{white-space:pre!important}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--ink-faint);font-style:italic}.token.punctuation{color:var(--ink-muted)}.token.keyword,.token.tag,.token.selector,.token.important,.token.atrule{color:var(--accent)}.token.string,.token.char,.token.attr-value,.token.regex{color:var(--ok)}.token.number,.token.boolean,.token.constant,.token.symbol{color:var(--accent-2)}.token.function,.token.class-name,.token.property,.token.attr-name{color:var(--warn)}.token.operator,.token.entity,.token.url,.token.variable{color:var(--ink-muted)}.token.deleted{color:var(--err)}.token.inserted{color:var(--ok)}.files{display:grid;grid-template-columns:230px 1fr;gap:0;overflow:hidden}.ftree{border-right:1px solid var(--glass-border);padding:10px;font-family:var(--mono);font-size:12.5px}.ftree .f{padding:5px 8px;border-radius:6px;color:var(--ink-muted);cursor:pointer;display:flex;gap:7px}.ftree .f:hover{background:var(--glass);color:var(--ink)}.ftree .f.on{background:var(--glass-2);color:var(--ink)}.ftree .f.ind{padding-left:22px}.fm-bar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.fm-crumb{display:flex;align-items:center;flex-wrap:wrap;font-size:12.5px}.fm-crumb .crumb{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;padding:2px 3px;border-radius:4px}.fm-crumb .crumb:hover{background:var(--glass)}.fm-crumb .sep{color:var(--ink-faint)}.ftree{max-height:420px;overflow-y:auto}.ftree .f{align-items:center}.ftree .f .fname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ftree .f .fsize{color:var(--ink-faint);font-size:11px}.ftree .f .fdel{visibility:hidden;background:none;border:none;color:var(--err);cursor:pointer;font-size:11px;padding:0 2px}.ftree .f:hover .fdel{visibility:visible}.ftree .f.dir .fname{color:var(--accent-2, var(--accent))}.fm-edit{min-height:330px;border:none;border-radius:0}.fcode{padding:0}.fcode .ftop{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--glass-border);font-family:var(--mono);font-size:12px;color:var(--ink-muted)}.fcode pre{margin:0;padding:14px 16px;font-family:var(--mono);font-size:12.5px;line-height:1.7;overflow-x:auto;color:#c3ddd9;max-height:330px}.listcard{padding:6px}.section-t{font-weight:600;color:var(--ink-muted);margin:0 0 12px;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:12px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.snap-row{display:flex;align-items:center;gap:14px;padding:13px 14px;border-top:1px solid var(--glass-border);flex-wrap:wrap}.snap-row:first-child{border-top:none}.snap-row .si{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--glass);border:1px solid var(--glass-border);color:var(--accent)}.member{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--glass-border);flex-wrap:wrap}.member:first-child{border-top:none}.perm{font-family:var(--mono);font-size:10.5px;padding:2px 7px;border-radius:5px;background:var(--glass);border:1px solid var(--glass-border);color:var(--ink-muted)}.yaml,.editor{font-family:var(--mono);font-size:12.5px;line-height:1.8;padding:16px 18px;white-space:pre;overflow-x:auto;color:#c3ddd9;width:100%;border:none;background:transparent;resize:vertical;min-height:340px}.editor:focus{outline:none}.banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);color:var(--ink);font-size:13px;margin-bottom:18px}.banner.err{background:color-mix(in srgb,var(--err) 12%,transparent);border-color:color-mix(in srgb,var(--err) 30%,transparent)}.banner.warn{background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:color-mix(in srgb,var(--warn) 32%,transparent)}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.center-state{display:grid;place-items:center;padding:60px 0;color:var(--ink-muted);gap:10px}.spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--glass-border);border-top-color:var(--accent);animation:spin .8s linear infinite}@media (max-width: 860px){.app{grid-template-columns:1fr;grid-template-areas:"brand" "top" "main"}.side{display:none}.files{grid-template-columns:1fr}.ftree{display:none}}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:420px;text-align:center;padding:40px 32px;border-radius:20px;background:#171b268c;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 20px 60px #00000073}.login-logo{width:56px;height:56px;margin:0 auto 18px;display:grid;place-items:center;font-weight:800;font-size:26px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#6366f1,#10b981)}.login-card h1{margin:0 0 8px;font-size:24px}.login-card p{color:var(--muted, #aab1c7);margin:0 0 24px;line-height:1.5}.login-btn{width:100%;padding:12px 16px;border:0;border-radius:12px;font-size:15px;font-weight:600;color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);transition:filter .15s}.login-btn:hover{filter:brightness(1.1)}.login-card small{display:block;margin-top:18px;color:var(--muted, #7f869e);font-size:12px}.usermenu{display:flex;align-items:center;gap:10px}.useremail{font-size:13px;color:var(--muted, #aab1c7);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rolebadge{font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;color:#10b981;border:1px solid rgba(16,185,129,.4);background:#10b98114}.rowbetween{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.btn-primary{padding:9px 16px;border:0;border-radius:10px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#6366f1,#4f46e5);transition:filter .15s}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:disabled{opacity:.55;cursor:default}.newproj{display:flex;gap:10px;align-items:center;padding:14px 16px;border-radius:14px;margin:6px 0 18px}.inp{flex:1;padding:10px 12px;border-radius:10px;font-size:14px;color:var(--ink);background:var(--glass);border:1px solid var(--glass-border);outline:none}.inp:focus{border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.inp::placeholder{color:var(--ink-faint)}.err-inline{color:#f87171;font-size:13px}.inp.invalid{border-color:color-mix(in srgb,var(--err) 60%,transparent)}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:min(92vw,380px)}.toast{display:flex;align-items:center;gap:10px;cursor:pointer;padding:11px 14px;border-radius:12px;font-size:14px;background:var(--panel, #1b1f2a);color:var(--ink, #e8ebf2);border:1px solid color-mix(in srgb,var(--ink, #fff) 14%,transparent);box-shadow:0 8px 28px #00000052;animation:toast-in .18s ease-out}.toast .toast-ico{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#fff}.toast.ok .toast-ico{background:var(--ok, #22c55e)}.toast.err .toast-ico{background:var(--err, #ef4444)}.toast.info .toast-ico{background:var(--accent, #6366f1)}.toast.ok{border-color:color-mix(in srgb,var(--ok, #22c55e) 45%,transparent)}.toast.err{border-color:color-mix(in srgb,var(--err, #ef4444) 45%,transparent)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.empty{text-align:center;padding:48px 24px;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:16px}.empty p{color:var(--muted, #aab1c7);margin:0}.login-form{display:flex;flex-direction:column;gap:10px;margin-top:4px;text-align:left}.login-form .inp{width:100%}.login-form .btn-primary{width:100%;margin-top:4px}.login-sep{display:flex;align-items:center;gap:12px;margin:20px 0 14px;color:var(--muted, #7f869e);font-size:12px}.login-sep:before,.login-sep:after{content:"";flex:1;height:1px;background:#ffffff1a}.topnav-link{padding:7px 12px;border-radius:9px;font-size:13px;font-weight:600;color:var(--ink-muted);text-decoration:none;border:1px solid var(--glass-border)}.topnav-link:hover,.topnav-link.active{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.invite-form{padding:20px 22px;border-radius:16px;display:flex;flex-direction:column;gap:18px;margin-bottom:18px}.field{display:flex;flex-direction:column;gap:8px}.field>label{font-size:13px;font-weight:600;color:var(--text, #e6e9f0)}.radio-row,.chk-row{display:flex;flex-wrap:wrap;gap:16px}.radio-row label,.chk{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted, #aab1c7);cursor:pointer}select.inp{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;color-scheme:inherit;background:var(--bg-2)}select.inp option,select.inp optgroup{background:var(--bg-2);color:var(--ink)}.inp.short{max-width:140px}.limit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.limit-cell{display:flex;flex-direction:column;gap:5px}.limit-label{font-size:12px;color:var(--muted, #aab1c7)}.limit-hint{font-size:11px;color:var(--muted, #6b7189)}.invite-result{padding:18px 22px;border-radius:14px;display:flex;flex-direction:column;gap:12px}.link-row{display:flex;gap:10px;align-items:center}.link-code{flex:1;background:#ffffff0d;padding:10px 12px;border-radius:8px;font-size:12px;word-break:break-all;color:#c7cbe0}.share-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px}.share-card{width:100%;max-width:720px;padding:26px 30px}.share-brand{display:flex;gap:12px;align-items:center}.set-cat{margin-bottom:22px}.set-cat-title{font-size:15px;margin:0 0 10px;color:var(--text, #e6e9f0);letter-spacing:.01em}.set-group{border-radius:14px;overflow:hidden}.set-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.06)}.set-row:last-child{border-bottom:0}.set-meta{flex:1;min-width:240px}.set-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text, #e6e9f0);flex-wrap:wrap}.set-key{font-size:11px;color:var(--muted, #6b7189);background:#ffffff0d;padding:1px 6px;border-radius:5px}.set-badge{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#f59e0b;border:1px solid rgba(245,158,11,.4);background:#f59e0b14;padding:2px 7px;border-radius:999px}.set-desc{font-size:12px;color:var(--muted, #aab1c7);margin-top:4px;line-height:1.5;max-width:640px}.set-edit{display:flex;align-items:center;gap:8px}.set-edit .inp{min-width:200px}.set-badge.locked{color:#60a5fa;border-color:#60a5fa66;background:#60a5fa14}.set-row-full{flex-direction:column;align-items:stretch}.pool-editor{display:flex;flex-direction:column;gap:10px;margin-top:10px;width:100%}.pool-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pool-row .inp{flex:1;min-width:120px}.pool-num{flex:0 0 90px!important;min-width:0!important}.pool-group{flex:0 0 200px!important}.pool-dash{color:var(--muted, #7f869e)}.pool-actions{display:flex;gap:10px;align-items:center;margin-top:4px}textarea.inp{resize:vertical;font-family:inherit}.term-host{padding:8px;overflow:hidden}.xterm-host{height:420px}.xterm .xterm-viewport{background-color:transparent!important}.task-row{display:flex;align-items:center;gap:14px;padding:13px 14px;border-top:1px solid var(--glass-border);flex-wrap:wrap;color:inherit}.task-row:first-child{border-top:none}.task-row:hover{background:var(--glass)}.task-row .si{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--glass);border:1px solid var(--glass-border);color:var(--accent)}.task-row .task-main{min-width:200px}.task-row .task-bar{width:120px;margin:0}.wiz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.wiz-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;text-align:left;cursor:pointer;border:1px solid var(--glass-border);color:inherit;font:inherit;transition:.15s}.wiz-card:hover:not(.off){background:var(--glass-2);border-color:var(--accent)}.wiz-card .ic{font-size:22px}.wiz-card b{font-size:14px}.wiz-card.off{opacity:.55;cursor:not-allowed}.wiz-form{padding:18px;display:flex;flex-direction:column;gap:14px}.wiz-row{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:start}.field-label{display:block;font-size:12.5px;font-weight:500;color:var(--ink-muted);margin-bottom:5px}.wiz-label{display:flex;flex-direction:column;font-size:13px}.wiz-label .kv{font-size:11.5px;margin-top:2px}.wiz-label .req{color:var(--err)}.wiz-area{min-height:140px;font-size:12px}.wiz-preview{margin:0;padding:14px 16px;font-family:var(--mono);font-size:12px;line-height:1.6;overflow-x:auto;color:#c3ddd9;max-height:420px}@media (max-width: 860px){.wiz-row{grid-template-columns:1fr}}.tree-node{padding:0;margin-bottom:10px;overflow:hidden}.tree-head{padding:12px 14px;gap:10px;border-bottom:1px solid var(--glass-border)}.tree-order{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--glass-2);color:var(--accent);font-size:11px;font-family:var(--mono);flex:none}.tree-body{padding:10px 14px;display:flex;flex-direction:column;gap:8px}.tree-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tree-key{font-size:11px;color:var(--ink-faint);min-width:92px;text-transform:uppercase;letter-spacing:.04em}.dep-chip{font-family:var(--mono);font-size:11.5px;padding:2px 8px;border-radius:999px;border:1px solid var(--glass-border)}.dep-chip.in{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.dep-chip.out{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.port-chip,.vol-chip{font-family:var(--mono);font-size:11.5px;padding:2px 8px;border-radius:6px;background:var(--glass);border:1px solid var(--glass-border);color:var(--ink-muted)}.env-editor{display:flex;flex-direction:column;gap:8px;width:100%}.env-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.env-row{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;padding:8px;border-radius:10px;background:var(--glass);border:1px solid var(--glass-border)}.env-keywrap{display:flex;flex-direction:column;gap:3px;flex:0 0 170px;min-width:130px}.env-key{width:100%;font-family:var(--mono)}.env-seg{display:inline-flex;flex:none}.env-seg .btn{border-radius:0}.env-seg .btn:first-child{border-radius:8px 0 0 8px}.env-seg .btn:last-child{border-radius:0 8px 8px 0;margin-left:-1px}.env-val{flex:1 1 200px;min-width:140px;font-family:var(--mono)}.env-secret{flex:1 1 320px;min-width:200px;display:flex;flex-direction:column;gap:6px}.env-secfields{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}.env-secfields>.inp{flex:1 1 110px;min-width:88px;height:40px;align-self:flex-start}.env-ref{font-size:12px;color:var(--ink-faint);word-break:break-all}.env-name-combo{position:relative;flex:1 1 140px;min-width:110px;display:flex;flex-direction:column;gap:3px;align-self:flex-start}.env-name-combo>.inp{width:100%;height:40px}.env-hint{font-size:11px;color:var(--ink-faint)}.combo-pop{position:absolute;z-index:40;top:calc(100% + 3px);left:0;right:0;margin:0;padding:4px;list-style:none;max-height:220px;overflow-y:auto;background:var(--bg-2);border:1px solid var(--glass-border);border-radius:10px;box-shadow:0 12px 30px #00000057;display:flex;flex-direction:column;gap:2px}.combo-opt{width:100%;text-align:left;padding:7px 9px;border:0;border-radius:7px;background:transparent;color:var(--ink);cursor:pointer;font-family:var(--mono);font-size:12.5px;display:flex;align-items:baseline;gap:8px}.combo-opt.active,.combo-opt:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.combo-opt .combo-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combo-opt .combo-meta{margin-left:auto;color:var(--ink-faint);font-size:11px}.env-raw{width:100%;min-height:160px}.env-rawrow{align-items:center}.env-comment{flex:1;min-width:0;color:var(--ink-faint);font-family:var(--mono);font-size:12.5px;padding:4px 2px;word-break:break-all}.port-chip.pub{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}:root[data-skin=aperture]{color-scheme:light;--bg: #F7F7F8;--bg-2: #FFFFFF;--glass: #FFFFFF;--glass-2: #F4F4F5;--glass-border: #E4E4E7;--glass-border-2: #D4D4D8;--ink: #18181B;--ink-muted: #71717A;--ink-faint: #A1A1AA;--accent: #F58A1F;--accent-2: #1BA7DE;--accent-ink: #FFFFFF;--rule: #D4D4D8;--ok: #16A34A;--warn: #CA8A04;--err: #DC2626;--idle: #A1A1AA;--grid: rgba(24, 24, 27, .04);--shadow: 0 1px 2px 0 rgba(0, 0, 0, .05), 0 1px 3px 0 rgba(0, 0, 0, .06);--radius: 8px;--ring: 0 0 0 3px rgba(245, 138, 31, .35);--sans: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--display: "Oswald", "Helvetica Neue", Arial, sans-serif;--iris: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58A1F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='14.31' y1='8' x2='20.05' y2='8'/><line x1='9.69' y1='8' x2='21.17' y2='16'/><line x1='7.38' y1='12' x2='13.12' y2='2'/><line x1='9.69' y1='16' x2='3.95' y2='16'/><line x1='14.31' y1='16' x2='2.83' y2='8'/><line x1='16.62' y1='12' x2='10.88' y2='22'/></svg>")}:root[data-skin=aperture][data-theme=dark]{color-scheme:dark;--bg: #09090B;--bg-2: #18181B;--glass: #101012;--glass-2: #1C1C1F;--glass-border: #27272A;--glass-border-2: #3F3F46;--ink: #FAFAFA;--ink-muted: #A1A1AA;--ink-faint: #71717A;--accent: #F58A1F;--accent-2: #1BA7DE;--accent-ink: #FFFFFF;--rule: #3F3F46;--ok: #22C55E;--warn: #EAB308;--err: #EF4444;--idle: #52525B;--grid: rgba(250, 250, 250, .04);--shadow: 0 1px 2px 0 rgba(0, 0, 0, .4), 0 1px 3px 0 rgba(0, 0, 0, .5);--ring: 0 0 0 3px rgba(245, 138, 31, .4);--iris: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F58A1F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='14.31' y1='8' x2='20.05' y2='8'/><line x1='9.69' y1='8' x2='21.17' y2='16'/><line x1='7.38' y1='12' x2='13.12' y2='2'/><line x1='9.69' y1='16' x2='3.95' y2='16'/><line x1='14.31' y1='16' x2='2.83' y2='8'/><line x1='16.62' y1='12' x2='10.88' y2='22'/></svg>")}[data-skin=aperture] .aurora{display:none}[data-skin=aperture] body{background-color:var(--bg);background-image:radial-gradient(60vw 50vh at 100% 0%,rgba(245,138,31,.05),transparent 60%);background-attachment:fixed;line-height:1.55}[data-skin=aperture] .glass{background:var(--glass);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow)}[data-skin=aperture] .brand,[data-skin=aperture] .topbar,[data-skin=aperture] .side{background:var(--glass);backdrop-filter:none;-webkit-backdrop-filter:none}[data-skin=aperture] .brand{border-right-color:var(--glass-border);position:relative;overflow:visible}[data-skin=aperture] .side{border-right-color:var(--glass-border)}[data-skin=aperture] .pcard{transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}[data-skin=aperture] .pcard:hover{transform:translateY(-2px);border-color:var(--glass-border-2)}[data-skin=aperture] .iconbtn,[data-skin=aperture] .btn,[data-skin=aperture] .btn-primary,[data-skin=aperture] .login-btn,[data-skin=aperture] .skin-picker,[data-skin=aperture] .inp,[data-skin=aperture] .kbar,[data-skin=aperture] .nav,[data-skin=aperture] .route-chip,[data-skin=aperture] .term,[data-skin=aperture] .avatar,[data-skin=aperture] .hub{border-radius:var(--radius)}[data-skin=aperture] .inp{background:var(--glass);border:1px solid var(--glass-border);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}[data-skin=aperture] .inp::placeholder{color:var(--ink-faint)}[data-skin=aperture] select.inp{background:var(--glass)}[data-skin=aperture] .inp:focus,[data-skin=aperture] .inp:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring)}[data-skin=aperture] .btn.primary,[data-skin=aperture] .btn-primary,[data-skin=aperture] .login-btn{background:var(--accent);color:var(--accent-ink);border:1px solid transparent;box-shadow:var(--shadow);font-weight:500;text-transform:none;letter-spacing:normal;position:relative;overflow:hidden;transition:filter .15s ease,box-shadow .15s ease,opacity .15s ease,transform .12s ease}[data-skin=aperture] .btn.primary:hover,[data-skin=aperture] .btn-primary:hover,[data-skin=aperture] .login-btn:hover{filter:brightness(.94);opacity:1}[data-skin=aperture] .btn:not(.primary):not(.danger){background:var(--glass);border-color:var(--glass-border);color:var(--ink);transition:background .15s ease,border-color .15s ease}[data-skin=aperture] .btn:not(.primary):not(.danger):hover{background:var(--glass-2);border-color:var(--glass-border-2)}[data-skin=aperture] .btn:focus-visible,[data-skin=aperture] .btn.primary:focus-visible,[data-skin=aperture] .btn-primary:focus-visible,[data-skin=aperture] .login-btn:focus-visible,[data-skin=aperture] .iconbtn:focus-visible{outline:none;box-shadow:var(--ring)}[data-skin=aperture] .navlabel{text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:var(--ink-faint);font-weight:500}[data-skin=aperture] .tile .l,[data-skin=aperture] .kv,[data-skin=aperture] .perm,[data-skin=aperture] .rolebadge{text-transform:none;letter-spacing:normal}[data-skin=aperture] thead th{text-transform:none;letter-spacing:.01em;color:var(--ink-muted);font-weight:500}[data-skin=aperture] .pill{text-transform:none;letter-spacing:normal;background:var(--glass-2);color:var(--ink-muted);border:1px solid var(--glass-border);border-radius:999px;font-weight:500}[data-skin=aperture] .pill:before{background:var(--idle)}[data-skin=aperture] .pill.running:before{background:var(--accent)}[data-skin=aperture] .pill.error:before{background:var(--err)}[data-skin=aperture] .pill.stopped:before{background:var(--idle)}[data-skin=aperture] .pill.building:before,[data-skin=aperture] .pill.creating:before,[data-skin=aperture] .pill.pending:before,[data-skin=aperture] .pill.running-task:before{background:var(--warn)}[data-skin=aperture] .tag,[data-skin=aperture] .chip{text-transform:none;letter-spacing:normal;background:var(--glass-2);color:var(--ink-muted);border:1px solid var(--glass-border);border-radius:var(--radius)}[data-skin=aperture] .dep-chip.in,[data-skin=aperture] .dep-chip.out{color:var(--ink-muted);border-color:var(--glass-border)}[data-skin=aperture] .section-t{display:block;border:none;padding:0 0 2px;margin:0 0 12px;font-family:var(--sans);font-weight:600;font-size:13px;color:var(--ink);text-transform:none;letter-spacing:normal}[data-skin=aperture] h1.page{font-family:var(--sans);font-weight:600;font-size:24px;text-transform:none;letter-spacing:-.01em;line-height:1.2}[data-skin=aperture] .brand b{font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:-.01em;text-transform:none}[data-skin=aperture] .brand span{letter-spacing:normal;text-transform:none;color:var(--ink-faint)}[data-skin=aperture] .tile .v{font-family:var(--display);font-weight:500;font-size:28px;line-height:1.1;letter-spacing:normal;color:var(--ink);margin-top:2px}[data-skin=aperture] .tile .v small{font-family:var(--sans);font-weight:400;font-size:12px;color:var(--ink-faint);letter-spacing:normal;margin-left:3px}[data-skin=aperture] .tile .l{font-size:11px;color:var(--ink-muted)}[data-skin=aperture] .tile .d{text-transform:none;letter-spacing:normal;font-size:11.5px}[data-skin=aperture] .tile .d.up{color:var(--ok)}[data-skin=aperture] .tile .d.dn{color:var(--err)}[data-skin=aperture] .glass.tile{border:1px solid var(--glass-border);box-shadow:var(--shadow)}[data-skin=aperture] .stat-tiles{gap:16px}[data-skin=aperture] .tile{padding:16px 18px}[data-skin=aperture] .tile .d{margin-top:6px}[data-skin=aperture] .bar{background:var(--glass-2);border:1px solid var(--glass-border);border-radius:999px}[data-skin=aperture] .bar>i{background:var(--accent);border-radius:999px}[data-skin=aperture] .brand .logo,[data-skin=aperture] .login-logo,[data-skin=aperture] .share-brand .logo{background:transparent var(--iris) center / contain no-repeat;border:none;border-radius:0;box-shadow:none;color:transparent;transition:transform .4s ease}[data-skin=aperture] .brand:hover .logo{transform:rotate(30deg)}[data-skin=aperture] .nav.active{position:relative;background:var(--glass-2);color:var(--ink);border-color:var(--glass-border);font-weight:500}[data-skin=aperture] .nav.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--accent);box-shadow:0 0 8px -1px color-mix(in srgb,var(--accent) 60%,transparent);transform:scaleY(0);transform-origin:center;animation:apNavBar .35s ease forwards;pointer-events:none}@keyframes apNavBar{to{transform:scaleY(1)}}[data-skin=aperture] .nav.active .ic{color:var(--accent)}[data-skin=aperture] .nav.active .badge,[data-skin=aperture] .nav.active .rname{color:var(--ink)}[data-skin=aperture] .tab.active{position:relative;border-bottom-color:transparent;color:var(--ink)}[data-skin=aperture] .tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--accent);box-shadow:0 0 8px -2px color-mix(in srgb,var(--accent) 60%,transparent);transform:scaleX(0);transform-origin:center;animation:apTabUnder .3s ease forwards;pointer-events:none}@keyframes apTabUnder{to{transform:scaleX(1)}}[data-skin=aperture] .topnav-link.active{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,var(--glass-border));color:var(--ink)}[data-skin=aperture] .avatar{background:var(--accent);color:var(--accent-ink)}[data-skin=aperture] .side .proj .pic{background:var(--glass);color:var(--ink);border:1px solid var(--glass-border-2)}[data-skin=aperture] .hub{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow)}[data-skin=aperture] .term{background:var(--glass);border:1px solid var(--glass-border)}[data-skin=aperture] .term .body,[data-skin=aperture] .term .body .c{color:var(--ink)}[data-skin=aperture] .term .body .p{color:var(--accent)}[data-skin=aperture] .term .body .m{color:var(--ink-faint)}[data-skin=aperture] .job .log{background:var(--glass);color:var(--ink)}:root[data-skin=aperture] .ce-editor{background:var(--glass);color:var(--ink)}[data-skin=aperture] .yaml,[data-skin=aperture] .editor,[data-skin=aperture] .fcode pre,[data-skin=aperture] .wiz-preview{color:var(--ink)}[data-skin=aperture] .login-card{background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:var(--shadow);border-radius:var(--radius)}[data-skin=aperture] .toast{background:var(--glass);color:var(--ink);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow)}[data-skin=aperture][data-theme=dark] .term,[data-skin=aperture][data-theme=dark] .job .log{background:var(--glass)}:root[data-skin=aperture][data-theme=dark] .ce-editor{background:var(--glass)}[data-skin=aperture] .chamber-signage{display:none}[data-skin=aperture] .pill.running{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 45%,var(--glass-border));background:color-mix(in srgb,var(--accent) 10%,var(--glass))}[data-skin=aperture] .pill.running:before{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);animation:apLive 2.4s ease-in-out infinite}@keyframes apLive{0%,to{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 14%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 28%,transparent)}}[data-skin=aperture] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(52vw 42vh at 100% 0%,rgba(245,138,31,.06),transparent 60%),radial-gradient(46vw 40vh at 0% 100%,rgba(27,167,222,.05),transparent 62%);transform-origin:center;animation:apAmbient 26s ease-in-out infinite alternate;will-change:opacity,transform}@keyframes apAmbient{0%{opacity:.65;transform:scale(1)}to{opacity:1;transform:scale(1.06)}}[data-skin=aperture] .pcard:hover{box-shadow:var(--shadow),0 8px 22px -12px color-mix(in srgb,var(--accent) 45%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}[data-skin=aperture] .btn.primary:hover,[data-skin=aperture] .btn-primary:hover,[data-skin=aperture] .login-btn:hover{box-shadow:var(--shadow),0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 6px 18px -8px color-mix(in srgb,var(--accent) 70%,transparent)}[data-skin=aperture] .btn.primary:active,[data-skin=aperture] .btn-primary:active,[data-skin=aperture] .login-btn:active{transform:translateY(1px) scale(.995)}[data-skin=aperture] .btn.primary:after,[data-skin=aperture] .btn-primary:after,[data-skin=aperture] .login-btn:after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:translate(-180%) skew(-18deg);transition:transform .6s ease;pointer-events:none}[data-skin=aperture] .btn.primary:hover:after,[data-skin=aperture] .btn-primary:hover:after,[data-skin=aperture] .login-btn:hover:after{transform:translate(320%) skew(-18deg)}[data-skin=aperture] .btn:focus-visible,[data-skin=aperture] .btn.primary:focus-visible,[data-skin=aperture] .btn-primary:focus-visible,[data-skin=aperture] .login-btn:focus-visible,[data-skin=aperture] .iconbtn:focus-visible,[data-skin=aperture] .inp:focus,[data-skin=aperture] .inp:focus-visible{animation:apRing .32s ease}@keyframes apRing{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent)}55%{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 30%,transparent)}to{box-shadow:var(--ring)}}[data-skin=aperture] tbody tr{transition:background-color .15s ease,box-shadow .15s ease}[data-skin=aperture] tbody tr:hover{background:var(--glass-2);box-shadow:inset 2px 0 color-mix(in srgb,var(--accent) 55%,transparent)}[data-skin=aperture] .bar>i{position:relative;overflow:hidden}[data-skin=aperture] .bar>i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translate(-100%);animation:apShimmer 2.6s ease-in-out infinite;pointer-events:none}@keyframes apShimmer{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}[data-skin=aperture] .pill.running{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}[data-skin=aperture] .brand .logo,[data-skin=aperture] .login-logo,[data-skin=aperture] .share-brand .logo{animation:apIris 12s ease-in-out infinite}@keyframes apIris{0%,to{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 45%,transparent))}50%{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent-2) 50%,transparent))}}[data-skin=aperture] .toast{animation:apToastIn .28s ease}@keyframes apToastIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){[data-skin=aperture] .pill.running:before,[data-skin=aperture] body:before,[data-skin=aperture] .brand .logo,[data-skin=aperture] .login-logo,[data-skin=aperture] .share-brand .logo,[data-skin=aperture] .toast,[data-skin=aperture] .btn:focus-visible,[data-skin=aperture] .btn.primary:focus-visible,[data-skin=aperture] .btn-primary:focus-visible,[data-skin=aperture] .login-btn:focus-visible,[data-skin=aperture] .iconbtn:focus-visible,[data-skin=aperture] .inp:focus,[data-skin=aperture] .inp:focus-visible{animation:none}[data-skin=aperture] body:before{opacity:.85;transform:none}[data-skin=aperture] .brand .logo,[data-skin=aperture] .login-logo,[data-skin=aperture] .share-brand .logo{filter:none}[data-skin=aperture] .brand:hover .logo{transform:none}[data-skin=aperture] .btn.primary:after,[data-skin=aperture] .btn-primary:after,[data-skin=aperture] .login-btn:after,[data-skin=aperture] .bar>i:after{display:none}[data-skin=aperture] .nav.active:before{animation:none;transform:scaleY(1)}[data-skin=aperture] .tab.active:after{animation:none;transform:scaleX(1)}}:root[data-skin=meridian]{color-scheme:dark;--bg: #0A0E1A;--bg-2: #111629;--glass: rgba(255, 255, 255, .035);--glass-2: rgba(255, 255, 255, .06);--glass-border: rgba(140, 150, 255, .16);--glass-border-2: rgba(140, 150, 255, .28);--ink: #EAECF5;--ink-muted: #98A0C4;--ink-faint: #636C90;--accent: #7C6CFF;--accent-2: #35D0E0;--accent-ink: #0A0E1A;--ok: #34E0B0;--warn: #FBBF5A;--err: #FF6B8A;--idle: #6B7397;--grid: rgba(140, 150, 255, .05);--shadow: 0 24px 60px -28px rgba(0, 0, 0, .8);--radius: 14px;--grad: linear-gradient(135deg, #7C6CFF, #35D0E0 55%, #FF6CC4);--grad-soft: linear-gradient(135deg, rgba(124, 108, 255, .55), rgba(53, 208, 224, .45) 55%, rgba(255, 108, 196, .4));--grad-btn: linear-gradient(135deg, #8B7BFF 0%, #6350E6 100%);--halo-accent: color-mix(in srgb, var(--accent) 55%, transparent)}[data-skin=meridian] .aurora{display:none}[data-skin=meridian] body{background-color:var(--bg);background-image:radial-gradient(1.5px 1.5px at 12% 18%,rgba(200,210,255,.55),transparent 60%),radial-gradient(1.5px 1.5px at 82% 26%,rgba(150,230,255,.5),transparent 60%),radial-gradient(1px 1px at 46% 62%,rgba(255,220,250,.45),transparent 60%),radial-gradient(1px 1px at 68% 82%,rgba(200,210,255,.45),transparent 60%),radial-gradient(1px 1px at 28% 88%,rgba(180,200,255,.4),transparent 60%),radial-gradient(circle,rgba(180,190,255,.05) .6px,transparent 1.4px),radial-gradient(circle,rgba(160,220,255,.04) .6px,transparent 1.4px);background-size:auto,auto,auto,auto,auto,140px 140px,220px 220px;background-attachment:fixed}[data-skin=meridian] body:before{content:"";position:fixed;top:-20%;right:-10%;bottom:-10%;left:-10%;z-index:0;pointer-events:none;background:radial-gradient(46vw 42vw at 8% 2%,rgba(124,108,255,.28),transparent 60%),radial-gradient(48vw 46vw at 96% 100%,rgba(53,208,224,.2),transparent 62%),radial-gradient(38vw 34vw at 62% 44%,rgba(255,108,196,.1),transparent 66%);filter:blur(28px);animation:meridianDrift 42s ease-in-out infinite alternate}@keyframes meridianDrift{to{transform:translate3d(3vw,2vh,0) scale(1.06)}}[data-skin=meridian] .glass{position:relative;background:linear-gradient(180deg,#ffffff0b,#ffffff05);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid transparent;box-shadow:var(--shadow),inset 0 1px #ffffff0f}[data-skin=meridian] .glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:var(--grad-soft);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;pointer-events:none;transition:opacity .25s ease}[data-skin=meridian] .glass:hover:before{opacity:.9}[data-skin=meridian] .pcard:hover{transform:translateY(-3px)}[data-skin=meridian] .pcard:hover:before{opacity:1}[data-skin=meridian] .brand,[data-skin=meridian] .topbar,[data-skin=meridian] .side{background:#0c101e8c;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-color:var(--glass-border)}[data-skin=meridian] .section-t{display:flex;align-items:center;gap:9px;letter-spacing:.12em;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}[data-skin=meridian] .section-t:before{content:"";width:14px;height:3px;border-radius:3px;flex:none;background:var(--grad);box-shadow:0 0 10px -1px var(--halo-accent)}[data-skin=meridian] .tile .v{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;letter-spacing:-.6px}[data-skin=meridian] .tile .v small{-webkit-text-fill-color:var(--ink-faint);color:var(--ink-faint)}[data-skin=meridian] .tile .l{color:var(--ink-faint)}[data-skin=meridian] .pill.running{border-color:color-mix(in srgb,var(--ok) 45%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--ok) 22%,transparent),0 0 16px -4px var(--ok);animation:meridianPulse 2.6s ease-in-out infinite}[data-skin=meridian] .pill.running:before{box-shadow:0 0 8px var(--ok)}[data-skin=meridian] .pill.error{border-color:color-mix(in srgb,var(--err) 45%,transparent);box-shadow:0 0 16px -5px var(--err)}@keyframes meridianPulse{0%,to{box-shadow:0 0 0 1px color-mix(in srgb,var(--ok) 22%,transparent),0 0 14px -6px var(--ok)}50%{box-shadow:0 0 0 1px color-mix(in srgb,var(--ok) 34%,transparent),0 0 22px -2px var(--ok)}}[data-skin=meridian] .dot.ok,[data-skin=meridian] .nav .rdot.ok,[data-skin=meridian] .stor-dot.ok{box-shadow:0 0 8px var(--ok)}[data-skin=meridian] .nav .rdot.bad,[data-skin=meridian] .stor-dot.bad{box-shadow:0 0 8px var(--err)}[data-skin=meridian] .nav .rdot.warn{box-shadow:0 0 8px var(--warn)}[data-skin=meridian] .job .stat.done{box-shadow:0 0 14px -6px var(--ok)}[data-skin=meridian] .job .stat.run{box-shadow:0 0 14px -6px var(--warn)}[data-skin=meridian] .btn.primary{background:var(--grad-btn);color:#fff;border:none;font-weight:600;box-shadow:0 8px 22px -12px var(--accent),inset 0 1px #ffffff38}[data-skin=meridian] .btn.primary:hover{filter:brightness(1.06);box-shadow:0 10px 26px -10px var(--accent),inset 0 1px #ffffff47}[data-skin=meridian] .btn-primary,[data-skin=meridian] .login-btn{background:var(--grad-btn);color:#fff}[data-skin=meridian] .btn-primary:hover,[data-skin=meridian] .login-btn:hover{filter:brightness(1.06)}[data-skin=meridian] .nav.active{position:relative;background:var(--glass-2);border-color:var(--glass-border-2)}[data-skin=meridian] .nav.active:before{content:"";position:absolute;left:-1px;top:6px;bottom:6px;width:3px;border-radius:3px;background:var(--grad);box-shadow:0 0 10px -1px var(--halo-accent)}[data-skin=meridian] .nav.active .ic{color:var(--accent-2)}[data-skin=meridian] .tab.active{border-bottom-color:transparent;background-image:var(--grad);background-repeat:no-repeat;background-position:bottom;background-size:100% 2px}[data-skin=meridian] .topnav-link.active{border-color:transparent;background:linear-gradient(color-mix(in srgb,var(--accent) 16%,transparent),color-mix(in srgb,var(--accent) 16%,transparent)) padding-box,var(--grad) border-box;border:1px solid transparent;color:var(--ink)}[data-skin=meridian] .brand .logo{background:var(--grad);background-size:200% 200%;color:var(--accent-ink);box-shadow:0 6px 20px -6px var(--accent),inset 0 1px #ffffff4d;animation:meridianShimmer 8s ease-in-out infinite alternate}@keyframes meridianShimmer{0%{background-position:0% 50%}to{background-position:100% 50%}}[data-skin=meridian] .avatar{background:var(--grad);color:var(--accent-ink)}[data-skin=meridian] .hub{background:var(--grad);color:var(--accent-ink);box-shadow:0 14px 34px -14px var(--accent)}[data-skin=meridian] .inp:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}[data-skin=meridian] ::-webkit-scrollbar{width:10px;height:10px}[data-skin=meridian] ::-webkit-scrollbar-track{background:transparent}[data-skin=meridian] ::-webkit-scrollbar-thumb{background:var(--grad);border-radius:8px;border:2px solid transparent;background-clip:padding-box}[data-skin=meridian] ::-webkit-scrollbar-thumb:hover{background-clip:border-box}[data-skin=meridian] .term{background:#080b16b8;border-color:var(--glass-border)}[data-skin=meridian] .term .body{color:#c4c9e6}[data-skin=meridian] .term .body .c{color:var(--ink)}[data-skin=meridian] .job .log{background:#080b1699;color:#b7bddd}:root[data-skin=meridian] .ce-editor{background:#080b168c}[data-skin=meridian] .yaml,[data-skin=meridian] .editor,[data-skin=meridian] .fcode pre,[data-skin=meridian] .wiz-preview{color:#c4c9e6}[data-skin=meridian] .login-card{position:relative;background:#11162999;border:1px solid var(--glass-border);box-shadow:var(--shadow),inset 0 1px #ffffff0f}[data-skin=meridian] .login-logo{background:var(--grad)}[data-skin=meridian] .toast{background:#111629eb;color:var(--ink);border:1px solid var(--glass-border-2)}@media (prefers-reduced-motion: reduce){[data-skin=meridian] body:before,[data-skin=meridian] .brand .logo,[data-skin=meridian] .pill.running{animation:none}}
