.ap-default-term-ff{--term-font-family: "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace, "Symbols Nerd Font"}div.ap-wrapper{outline:none;height:100%;display:flex;justify-content:center}div.ap-wrapper .title-bar{display:none;top:-78px;transition:top .15s linear;position:absolute;left:0;right:0;box-sizing:content-box;font-size:20px;line-height:1em;padding:15px;font-family:sans-serif;color:#fff;background-color:#000c}div.ap-wrapper .title-bar img{vertical-align:middle;height:48px;margin-right:16px}div.ap-wrapper .title-bar a{color:#fff;text-decoration:underline}div.ap-wrapper .title-bar a:hover{text-decoration:none}div.ap-wrapper:fullscreen{background-color:#000;width:100%;align-items:center}div.ap-wrapper:fullscreen .title-bar{display:initial}div.ap-wrapper:fullscreen.hud .title-bar{top:0}div.ap-wrapper div.ap-player{text-align:left;display:inline-block;padding:0;position:relative;box-sizing:content-box;overflow:hidden;max-width:100%;border-radius:4px;font-size:15px;background-color:var(--term-color-background)}.ap-player{--term-color-foreground: #ffffff;--term-color-background: #000000;--term-color-0: var(--term-color-foreground);--term-color-1: var(--term-color-foreground);--term-color-2: var(--term-color-foreground);--term-color-3: var(--term-color-foreground);--term-color-4: var(--term-color-foreground);--term-color-5: var(--term-color-foreground);--term-color-6: var(--term-color-foreground);--term-color-7: var(--term-color-foreground);--term-color-8: var(--term-color-0);--term-color-9: var(--term-color-1);--term-color-10: var(--term-color-2);--term-color-11: var(--term-color-3);--term-color-12: var(--term-color-4);--term-color-13: var(--term-color-5);--term-color-14: var(--term-color-6);--term-color-15: var(--term-color-7)}div.ap-term{position:relative;font-family:var(--term-font-family);border-width:.75em;border-radius:0;border-style:solid;border-color:var(--term-color-background);box-sizing:content-box}div.ap-term canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}div.ap-term svg.ap-term-symbols{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}div.ap-term svg.ap-term-symbols use{color:var(--term-color-foreground)}div.ap-term svg.ap-term-symbols:not(.ap-blink) .ap-blink{opacity:0}div.ap-term pre.ap-term-text{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:content-box;overflow:hidden;padding:0;margin:0;display:block;white-space:pre;word-wrap:normal;word-break:normal;cursor:text;color:var(--term-color-foreground);outline:none;line-height:var(--term-line-height);font-family:inherit;font-size:inherit;font-variant-ligatures:none;border:0;border-radius:0;background-color:transparent!important}pre.ap-term-text .ap-line{display:block;width:100%;height:var(--term-line-height);position:absolute;top:calc(100% * var(--row) / var(--term-rows));letter-spacing:normal;overflow:hidden}pre.ap-term-text .ap-line span{position:absolute;left:calc(100% * var(--offset) / var(--term-cols));padding:0;display:inline-block;height:100%}pre.ap-term-text:not(.ap-blink) .ap-line .ap-blink{color:transparent;border-color:transparent}pre.ap-term-text .ap-bold{font-weight:700}pre.ap-term-text .ap-faint{opacity:.5}pre.ap-term-text .ap-underline{text-decoration:underline}pre.ap-term-text .ap-italic{font-style:italic}pre.ap-term-text .ap-strike{text-decoration:line-through}.ap-line span{color:var(--term-color-foreground)}div.ap-player div.ap-control-bar{width:100%;height:32px;display:flex;justify-content:space-between;align-items:stretch;color:var(--term-color-foreground);box-sizing:content-box;line-height:1;position:absolute;bottom:0;left:0;opacity:0;transition:opacity .15s linear;-webkit-user-select:none;user-select:none;border-top:2px solid color-mix(in oklab,var(--term-color-background) 80%,var(--term-color-foreground));z-index:30}div.ap-player div.ap-control-bar *{box-sizing:inherit}div.ap-control-bar svg.ap-icon path{fill:var(--term-color-foreground)}div.ap-control-bar span.ap-button{display:flex;flex:0 0 auto;cursor:pointer}div.ap-control-bar span.ap-playback-button{width:12px;height:12px;padding:10px;margin:0 0 0 2px}div.ap-control-bar span.ap-playback-button svg{height:12px;width:12px}div.ap-control-bar span.ap-timer{display:flex;flex:0 0 auto;min-width:50px;margin:0 10px;height:100%;text-align:center;font-size:13px;line-height:100%;cursor:default}div.ap-control-bar span.ap-timer span{font-family:var(--term-font-family);font-size:inherit;font-weight:600;margin:auto}div.ap-control-bar span.ap-timer .ap-time-remaining,div.ap-control-bar span.ap-timer:hover .ap-time-elapsed{display:none}div.ap-control-bar span.ap-timer:hover .ap-time-remaining{display:flex}div.ap-control-bar .ap-progressbar{display:block;flex:1 1 auto;height:100%;padding:0 10px}div.ap-control-bar .ap-progressbar .ap-bar{display:block;position:relative;cursor:default;height:100%;font-size:0}div.ap-control-bar .ap-progressbar .ap-bar .ap-gutter{display:block;position:absolute;top:15px;left:0;right:0;height:3px}div.ap-control-bar .ap-progressbar .ap-bar .ap-gutter-empty{background-color:color-mix(in oklab,var(--term-color-foreground) 20%,var(--term-color-background))}div.ap-control-bar .ap-progressbar .ap-bar .ap-gutter-full{width:100%;transform-origin:left center;background-color:var(--term-color-foreground);border-radius:3px}div.ap-control-bar.ap-seekable .ap-progressbar .ap-bar{cursor:pointer}div.ap-control-bar .ap-fullscreen-button{width:14px;height:14px;padding:9px;margin:0 2px 0 4px}div.ap-control-bar .ap-fullscreen-button svg{width:14px;height:14px}div.ap-control-bar .ap-fullscreen-button svg.ap-icon-fullscreen-on{display:inline}div.ap-control-bar .ap-fullscreen-button svg.ap-icon-fullscreen-off{display:none}div.ap-control-bar .ap-fullscreen-button .ap-tooltip{right:5px;left:initial;transform:none}div.ap-control-bar .ap-kbd-button{height:14px;padding:9px;margin:0 0 0 4px}div.ap-control-bar .ap-kbd-button svg{width:26px;height:14px}div.ap-control-bar .ap-kbd-button .ap-tooltip{right:5px;left:initial;transform:none}div.ap-control-bar .ap-speaker-button{width:19px;padding:6px 9px;margin:0 0 0 4px;position:relative}div.ap-control-bar .ap-speaker-button svg{width:19px}div.ap-control-bar .ap-speaker-button .ap-tooltip{left:-50%;transform:none}div.ap-wrapper.ap-hud .ap-control-bar{opacity:1}div.ap-wrapper:fullscreen .ap-fullscreen-button svg.ap-icon-fullscreen-on{display:none}div.ap-wrapper:fullscreen .ap-fullscreen-button svg.ap-icon-fullscreen-off{display:inline}span.ap-progressbar span.ap-marker-container{display:block;top:0;bottom:0;width:21px;position:absolute;margin-left:-10px}span.ap-marker-container span.ap-marker{display:block;top:13px;bottom:12px;left:7px;right:7px;background-color:color-mix(in oklab,var(--term-color-foreground) 33%,var(--term-color-background));position:absolute;transition:top .1s,bottom .1s,left .1s,right .1s,background-color .1s;border-radius:50%}span.ap-marker-container span.ap-marker.ap-marker-past{background-color:var(--term-color-foreground)}span.ap-marker-container span.ap-marker:hover,span.ap-marker-container:hover span.ap-marker{background-color:var(--term-color-foreground);top:11px;bottom:10px;left:5px;right:5px}.ap-tooltip-container span.ap-tooltip{visibility:hidden;background-color:var(--term-color-foreground);color:var(--term-color-background);font-family:var(--term-font-family);font-weight:700;text-align:center;padding:0 .5em;border-radius:4px;position:absolute;z-index:1;white-space:nowrap;font-size:13px;line-height:2em;bottom:100%;left:50%;transform:translate(-50%)}.ap-tooltip-container:hover span.ap-tooltip{visibility:visible}.ap-player .ap-overlay{z-index:10;background-repeat:no-repeat;background-position:center;position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center}.ap-player .ap-overlay-start{cursor:pointer}.ap-player .ap-overlay-start .ap-play-button{font-size:0px;position:absolute;left:0;top:0;right:0;bottom:0;text-align:center;color:#fff;height:80px;max-height:66%;margin:auto}.ap-player .ap-overlay-start .ap-play-button div{height:100%}.ap-player .ap-overlay-start .ap-play-button div span{height:100%;display:block}.ap-player .ap-overlay-start .ap-play-button div span svg{height:100%;display:inline-block}.ap-player .ap-overlay-start .ap-play-button svg{filter:drop-shadow(0px 0px 5px rgba(0,0,0,.4))}.ap-player .ap-overlay-loading .ap-loader{width:48px;height:48px;border-radius:50%;display:inline-block;position:relative;border:10px solid;border-color:rgba(255,255,255,.3) rgba(255,255,255,.5) rgba(255,255,255,.7) #ffffff;border-color:color-mix(in srgb,var(--term-color-foreground) 30%,var(--term-color-background)) color-mix(in srgb,var(--term-color-foreground) 50%,var(--term-color-background)) color-mix(in srgb,var(--term-color-foreground) 70%,var(--term-color-background)) color-mix(in srgb,var(--term-color-foreground) 100%,var(--term-color-background));box-sizing:border-box;animation:ap-loader-rotation 1s linear infinite}.ap-player .ap-overlay-info{background-color:var(--term-color-background)}.ap-player .ap-overlay-info span{font-family:var(--term-font-family);font-size:2em;font-weight:700;color:var(--term-color-background);background-color:var(--term-color-foreground);padding:.5em .75em;text-transform:uppercase}.ap-player .ap-overlay-help{background-color:#000c;container-type:inline-size}.ap-player .ap-overlay-help>div{font-family:var(--term-font-family);max-width:85%;max-height:85%;font-size:18px;color:var(--term-color-foreground);box-sizing:border-box;margin-bottom:32px}.ap-player .ap-overlay-help>div div{padding:min(4cqw,40px);font-size:min(1.9cqw,18px);background-color:var(--term-color-background);border:1px solid color-mix(in oklab,var(--term-color-background) 90%,var(--term-color-foreground));border-radius:6px}.ap-player .ap-overlay-help>div div p{font-weight:700;margin:0 0 2em}.ap-player .ap-overlay-help>div div ul{list-style:none;padding:0}.ap-player .ap-overlay-help>div div ul li{margin:0 0 .75em}.ap-player .ap-overlay-help>div div kbd{color:var(--term-color-background);background-color:var(--term-color-foreground);padding:.2em .5em;border-radius:.2em;font-family:inherit;font-size:.85em;border:none;margin:0}.ap-player .ap-overlay-error span{font-size:8em}.ap-player .slide-enter-active{transition:opacity .2s}.ap-player .slide-enter-active.ap-was-playing{transition:top .2s ease-out,opacity .2s}.ap-player .slide-exit-active{transition:top .2s ease-in,opacity .2s}.ap-player .slide-enter{top:-50%;opacity:0}.ap-player .slide-enter-to{top:0%}.ap-player .slide-enter,.ap-player .slide-enter-to,.ap-player .slide-exit,.ap-player .slide-exit-to{bottom:auto;height:100%}.ap-player .slide-exit{top:0%}.ap-player .slide-exit-to{top:-50%;opacity:0}@keyframes ap-loader-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.asciinema-player-theme-asciinema{--term-color-foreground: #cccccc;--term-color-background: #121314;--term-color-0: #000000;--term-color-1: #dd3c69;--term-color-2: #4ebf22;--term-color-3: #ddaf3c;--term-color-4: #26b0d7;--term-color-5: #b954e1;--term-color-6: #54e1b9;--term-color-7: #d9d9d9;--term-color-8: #4d4d4d;--term-color-9: #dd3c69;--term-color-10: #4ebf22;--term-color-11: #ddaf3c;--term-color-12: #26b0d7;--term-color-13: #b954e1;--term-color-14: #54e1b9;--term-color-15: #ffffff}.asciinema-player-theme-dracula{--term-color-foreground: #f8f8f2;--term-color-background: #282a36;--term-color-0: #21222c;--term-color-1: #ff5555;--term-color-2: #50fa7b;--term-color-3: #f1fa8c;--term-color-4: #bd93f9;--term-color-5: #ff79c6;--term-color-6: #8be9fd;--term-color-7: #f8f8f2;--term-color-8: #6272a4;--term-color-9: #ff6e6e;--term-color-10: #69ff94;--term-color-11: #ffffa5;--term-color-12: #d6acff;--term-color-13: #ff92df;--term-color-14: #a4ffff;--term-color-15: #ffffff}.asciinema-player-theme-monokai{--term-color-foreground: #f8f8f2;--term-color-background: #272822;--term-color-0: #272822;--term-color-1: #f92672;--term-color-2: #a6e22e;--term-color-3: #f4bf75;--term-color-4: #66d9ef;--term-color-5: #ae81ff;--term-color-6: #a1efe4;--term-color-7: #f8f8f2;--term-color-8: #75715e;--term-color-15: #f9f8f5}.asciinema-player-theme-nord{--term-color-foreground: #eceff4;--term-color-background: #2e3440;--term-color-0: #3b4252;--term-color-1: #bf616a;--term-color-2: #a3be8c;--term-color-3: #ebcb8b;--term-color-4: #81a1c1;--term-color-5: #b48ead;--term-color-6: #88c0d0;--term-color-7: #eceff4}.asciinema-player-theme-seti{--term-color-foreground: #cacecd;--term-color-background: #111213;--term-color-0: #323232;--term-color-1: #c22832;--term-color-2: #8ec43d;--term-color-3: #e0c64f;--term-color-4: #43a5d5;--term-color-5: #8b57b5;--term-color-6: #8ec43d;--term-color-7: #eeeeee;--term-color-15: #ffffff}.asciinema-player-theme-solarized-dark{--term-color-foreground: #839496;--term-color-background: #002b36;--term-color-0: #073642;--term-color-1: #dc322f;--term-color-2: #859900;--term-color-3: #b58900;--term-color-4: #268bd2;--term-color-5: #d33682;--term-color-6: #2aa198;--term-color-7: #eee8d5;--term-color-8: #002b36;--term-color-9: #cb4b16;--term-color-10: #586e75;--term-color-11: #657b83;--term-color-12: #839496;--term-color-13: #6c71c4;--term-color-14: #93a1a1;--term-color-15: #fdf6e3}.asciinema-player-theme-solarized-light{--term-color-foreground: #657b83;--term-color-background: #fdf6e3;--term-color-0: #073642;--term-color-1: #dc322f;--term-color-2: #859900;--term-color-3: #b58900;--term-color-4: #268bd2;--term-color-5: #d33682;--term-color-6: #2aa198;--term-color-7: #eee8d5;--term-color-8: #002b36;--term-color-9: #cb4b16;--term-color-10: #586e75;--term-color-11: #657c83;--term-color-12: #839496;--term-color-13: #6c71c4;--term-color-14: #93a1a1;--term-color-15: #fdf6e3}.asciinema-player-theme-solarized-light .ap-overlay-start .ap-play-button svg .ap-play-btn-fill{fill:var(--term-color-1)}.asciinema-player-theme-solarized-light .ap-overlay-start .ap-play-button svg .ap-play-btn-stroke{stroke:var(--term-color-1)}.asciinema-player-theme-tango{--term-color-foreground: #cccccc;--term-color-background: #121314;--term-color-0: #000000;--term-color-1: #cc0000;--term-color-2: #4e9a06;--term-color-3: #c4a000;--term-color-4: #3465a4;--term-color-5: #75507b;--term-color-6: #06989a;--term-color-7: #d3d7cf;--term-color-8: #555753;--term-color-9: #ef2929;--term-color-10: #8ae234;--term-color-11: #fce94f;--term-color-12: #729fcf;--term-color-13: #ad7fa8;--term-color-14: #34e2e2;--term-color-15: #eeeeec}.asciinema-player-theme-gruvbox-dark{--term-color-foreground: #fbf1c7;--term-color-background: #282828;--term-color-0: #282828;--term-color-1: #cc241d;--term-color-2: #98971a;--term-color-3: #d79921;--term-color-4: #458588;--term-color-5: #b16286;--term-color-6: #689d6a;--term-color-7: #a89984;--term-color-8: #7c6f65;--term-color-9: #fb4934;--term-color-10: #b8bb26;--term-color-11: #fabd2f;--term-color-12: #83a598;--term-color-13: #d3869b;--term-color-14: #8ec07c;--term-color-15: #fbf1c7}/**
 * 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}:root{color-scheme:light;--bg: #f4f7fb;--surface: #ffffff;--surface-2: #eef2f7;--border: #e6ebf2;--border-strong: #d3dbe6;--side-bg: #0e1722;--side-bg-2: #16212f;--side-border: #1e2c3c;--side-text: #c4cfdc;--side-text-dim: #74839a;--side-active-bg: #1b2a3b;--text: #0f1b2d;--text-2: #46566c;--text-3: #8290a3;--accent: #1499dd;--accent-2: #2bd0f5;--accent-grad: linear-gradient(135deg, #2bd0f5 0%, #1488e6 100%);--accent-hover: #1187c6;--accent-soft: #e4f5fd;--accent-text: #0b6e9e;--danger: #e23b3b;--danger-soft: #fdecec;--success: #18a558;--success-soft: #e4f6ec;--warn: #d68310;--warn-soft: #fbf1dc;--info: #2b8fff;--info-soft: #e6f0ff;--radius: 9px;--radius-sm: 6px;--shadow-sm: 0 1px 2px rgba(13, 23, 34, .06), 0 1px 3px rgba(13, 23, 34, .05);--shadow-md: 0 6px 22px rgba(13, 23, 34, .1);--mono: ui-monospace, "SF Mono", "Fira Code", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--z-modal: 50}[data-theme=dark]{color-scheme:dark;--bg: #0a121c;--surface: #111d2b;--surface-2: #0e1825;--border: #1e2c3d;--border-strong: #2a3c52;--side-bg: #0a121c;--side-bg-2: #14212f;--side-border: #1c2a3a;--side-active-bg: #17273a;--text: #e7eef6;--text-2: #a6b4c6;--text-3: #6e7d92;--accent: #2bb6ef;--accent-hover: #46c2f3;--accent-soft: rgba(43, 182, 239, .15);--accent-text: #7ad3f5;--danger-soft: rgba(226, 59, 59, .16);--success-soft: rgba(24, 165, 88, .16);--warn-soft: rgba(214, 131, 16, .16);--info-soft: rgba(43, 143, 255, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 10px 30px rgba(0, 0, 0, .55)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}code,.mono{font-family:var(--mono)}.app-shell{display:grid;grid-template-columns:248px 1fr;height:100vh}.sidebar{background:var(--side-bg);border-right:1px solid var(--side-border);display:flex;flex-direction:column;color:var(--side-text)}.tessera-mark{display:flex;align-items:center;gap:8px;padding:16px 16px 8px}.tessera-mark img{width:24px;height:24px;object-fit:contain;flex:none}.tessera-mark span{color:#fff;font-weight:700;font-size:15px;letter-spacing:.3px}.brand{display:flex;align-items:center;gap:10px;margin:0 12px 12px;padding:11px 12px;background:var(--side-bg-2);border:1px solid var(--side-border);border-radius:10px}.brand-mark{width:38px;height:38px;border-radius:9px;background:var(--accent-grad);display:flex;align-items:center;justify-content:center;color:#fff;flex:none}.brand-name{color:#fff;font-weight:700;font-size:16px;letter-spacing:.2px}.brand-sub{color:var(--side-text-dim);font-size:11px;letter-spacing:.3px}.nav{padding:12px 10px;display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.nav-section{color:var(--side-text-dim);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;padding:14px 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);color:var(--side-text);background:none;border:none;width:100%;font-size:13.5px;font-family:inherit;cursor:pointer;text-align:left;transition:background-color .15s,color .15s}.nav-item:hover{background:var(--side-bg-2);color:#e6eaf0}.nav-item.active{background:var(--side-active-bg);color:#fff}.nav-item.active .nav-ico{color:var(--accent)}.nav-ico{width:18px;height:18px;flex:none;color:var(--side-text-dim)}.sidebar-footer{border-top:1px solid var(--side-border);padding:12px}.user-chip{display:flex;align-items:center;gap:10px;padding:6px 8px}.avatar{width:30px;height:30px;border-radius:50%;flex:none;background:var(--side-bg-2);color:#cfd6e0;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}.user-meta{min-width:0;flex:1}.user-name{color:#e6eaf0;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{color:var(--side-text-dim);font-size:11px}.main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:60px;background:var(--surface);border-bottom:1px solid var(--border);flex:none}.topbar h1{font-size:18px;font-weight:600;margin:0}.topbar .sub{color:var(--text-3);font-size:13px;margin-top:1px}.page{padding:24px 28px;overflow-y:auto}.page-narrow{max-width:960px}.btn{display:inline-flex;align-items:center;gap:7px;font-family:inherit;font-size:13.5px;font-weight:500;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;white-space:nowrap}.btn:disabled{opacity:.55;cursor:default}.btn svg{width:16px;height:16px}.btn-primary{background:var(--accent-grad);color:#fff;box-shadow:0 1px 2px #1489e640}.btn-primary:hover:not(:disabled){filter:brightness(1.07)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-3)}.btn-ghost{background:transparent;color:var(--accent-text);padding:6px 8px}.btn-ghost:hover:not(:disabled){background:var(--accent-soft)}.btn-danger-ghost{background:transparent;color:var(--danger);padding:6px 8px}.btn-danger-ghost:hover:not(:disabled){background:var(--danger-soft)}.btn-sm{padding:5px 10px;font-size:12.5px}.btn-block{width:100%;justify-content:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:22px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.panel-title{font-weight:600;font-size:14px}.panel-title .count{color:var(--text-3);font-weight:500;margin-left:6px}.panel-body{padding:18px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.toolbar-actions{display:flex;gap:10px;align-items:center}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table td svg{width:14px;height:14px;flex:none;vertical-align:middle}.table th{text-align:left;font-weight:600;color:var(--text-3);font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;padding:11px 18px;border-bottom:1px solid var(--border);background:var(--surface-2)}.table td{padding:13px 18px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color .12s}.table tbody tr:hover{background:var(--surface-2)}.table .num{text-align:right}.cell-actions{text-align:right;white-space:nowrap}.cell-actions .btn{margin-left:4px}.cell-primary{font-weight:600;color:var(--text)}.cell-host{color:var(--text-2);font-family:var(--mono);font-size:12.5px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:100px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-success{background:var(--success-soft);color:var(--success);border-color:transparent}.badge-accent{background:var(--accent-soft);color:var(--accent-text);border-color:transparent}.badge-neutral{background:var(--surface-2);color:var(--text-3)}.badge-pending{background:var(--surface-2);color:var(--text-3);border-color:transparent}.badge-admin{background:var(--accent-soft);color:var(--accent-text);border-color:transparent}.badge-danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.badge-info{background:var(--accent-soft);color:var(--accent-text);border-color:transparent}.kind-badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:100px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.kind-badge .kind-ico{width:13px;height:13px}.kind-ssh,.kind-kubernetes{background:var(--accent-soft);color:var(--accent-text);border-color:transparent}.kind-rdp{background:var(--surface-2);color:var(--text-2)}.kind-postgresql{background:#2bb6ef24;color:#3a8fd0;border-color:transparent}.kind-mysql{background:#f59e0b29;color:#c77d11;border-color:transparent}[data-theme=dark] .kind-postgresql{color:#7ad3f5}[data-theme=dark] .kind-mysql{color:#f0b450}.tree-ico-kube{color:var(--accent);margin-left:14px}.code-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.5;white-space:pre;-moz-tab-size:2;tab-size:2;resize:vertical;min-height:160px}.code-input.dropzone-active{outline:2px dashed var(--accent);outline-offset:-2px}.hint{font-size:12.5px;color:var(--text-3);margin:0 0 14px;line-height:1.5}.row-clickable{cursor:pointer}.row-clickable:hover{background:var(--accent-soft)}.cmd-log{display:flex;flex-direction:column;gap:2px;padding:8px 4px}.cmd-log-row{display:flex;align-items:center;gap:10px;padding:3px 6px;border-radius:4px}.cmd-log-row:hover{background:var(--surface)}.cmd-log-time{color:var(--text-3);font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.cmd-log-cwd{color:var(--accent-text);font-size:12px;font-family:var(--mono);white-space:nowrap}.cmd-log-cmd{font-size:12.5px}.cmd-log-cmd.blocked{color:var(--danger);text-decoration:line-through}.cmd-log-approx{color:var(--text-3);font-size:13px;cursor:help}.logo-drop{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;border:1.5px dashed var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);transition:border-color .15s,background .15s}.logo-drop:hover,.logo-drop.drag{border-color:var(--accent);background:var(--accent-soft)}.logo-drop-img{max-width:100%;max-height:90px;object-fit:contain}.logo-drop-hint{font-size:12px;color:var(--text-3)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label,.field-label{font-size:12.5px;font-weight:500;color:var(--text-2)}input,select,textarea{font-family:inherit;font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 11px;width:100%;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{resize:vertical;font-family:var(--mono);font-size:12.5px}.form-inline{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.form-inline .field{margin-bottom:0;flex:1;min-width:140px}.checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2);cursor:pointer}.checkbox input{width:auto}.switch{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{position:relative;width:40px;height:23px;border-radius:999px;background:var(--border-strong);transition:background .18s ease;flex:none}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .18s ease}.switch input:checked+.track{background:var(--success)}.switch input:checked+.track:after{transform:translate(17px)}.switch input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.switch-bare{gap:0;flex:none}.audit-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin:0 0 6px}.audit-list{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.audit-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-top:1px solid var(--border)}.audit-row:first-child{border-top:none}.audit-row.is-disabled{opacity:.55}.audit-row-text{min-width:0}.audit-row-label{font-size:13.5px;font-weight:600;color:var(--text);display:flex;align-items:center}.audit-row-hint{font-size:12px;color:var(--text-3);margin-top:2px;line-height:1.4}.badge-ultimate{background:linear-gradient(90deg,#34d6f72e,#7b61ff2e);color:var(--accent-text);border-color:transparent;font-size:10.5px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11151b73;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px}.modal-card{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-md);width:440px;max-width:100%;overflow:hidden}.modal-head{padding:18px 20px;border-bottom:1px solid var(--border);font-weight:600;font-size:15px}.modal-body{padding:20px}.modal-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;background:var(--surface-2)}.empty{text-align:center;padding:48px 20px;color:var(--text-3)}.empty-ico{width:40px;height:40px;flex:none;color:var(--border-strong);margin-bottom:12px}.empty-title{color:var(--text-2);font-weight:600;margin-bottom:4px}.alert{border-radius:var(--radius-sm);padding:11px 14px;font-size:13px;margin-bottom:16px}.alert-error{background:var(--danger-soft);color:var(--danger);border:1px solid transparent}.alert-ok{background:var(--success-soft);color:var(--success)}.alert-warn{background:var(--warn-soft);color:var(--warn);border:1px solid transparent}.bare-fieldset{border:0;margin:0;padding:0;min-width:0}.bare-fieldset[disabled]{opacity:.78}.bare-fieldset[disabled] .btn,.bare-fieldset[disabled] input,.bare-fieldset[disabled] select,.bare-fieldset[disabled] textarea,.bare-fieldset[disabled] .logo-drop{cursor:not-allowed}.spinner{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.loading-wrap{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px;color:var(--text-3)}@keyframes spin{to{transform:rotate(360deg)}}.icon-spin{animation:spin .8s linear infinite}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--surface);color:var(--text-2);border:1px solid var(--border-strong);border-radius:100px;padding:4px 12px;font-size:12.5px;font-family:inherit;cursor:pointer;transition:all .15s}.chip:hover{border-color:var(--accent);color:var(--accent-text)}.chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}.chip.on:hover{background:var(--accent-hover);color:#fff}.grants{display:flex;flex-wrap:wrap;gap:8px}.grant{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 6px 5px 11px;font-size:12.5px;color:var(--text-2)}.grant .x{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-3);cursor:pointer;padding:2px;border-radius:4px;line-height:1}.grant .x svg{width:14px;height:14px;display:block}.grant .x:hover{background:var(--danger-soft);color:var(--danger)}.chips-removable .grant{transition:border-color .12s}.chips-removable .grant .x{opacity:0;color:var(--danger);transition:opacity .12s}.chips-removable .grant:hover{border-color:var(--danger)}.chips-removable .grant:hover .x{opacity:1;color:var(--danger)}.chips-removable .grant .x:hover{background:var(--danger-soft)}.role-block{padding:16px 18px;border-bottom:1px solid var(--border)}.role-block:last-child{border-bottom:none}.role-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.role-name{font-weight:600}.role-desc{color:var(--text-3);font-weight:400;margin-left:8px;font-size:13px}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 120% at 50% 0%,#1b212b,#0e1116 60%);padding:24px}.auth-card{background:var(--surface);border-radius:14px;box-shadow:0 20px 60px #0006;width:380px;max-width:100%;padding:30px}.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:22px}.auth-brand .brand-mark{width:34px;height:34px}.auth-title{font-size:17px;font-weight:600}.auth-card h2{font-size:15px;margin:0 0 16px;font-weight:600}.divider{display:flex;align-items:center;gap:12px;color:var(--text-3);font-size:12px;margin:18px 0 14px}.divider:before,.divider:after{content:"";height:1px;background:var(--border);flex:1}.oidc-btn{display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 14px;font-size:13.5px;font-weight:500;margin-bottom:8px;transition:background-color .15s,border-color .15s}.oidc-btn:hover{background:var(--surface-2);border-color:var(--accent)}.link-btn{background:none;border:none;color:var(--accent-text);cursor:pointer;font-size:13px;padding:6px 0;font-family:inherit}.link-btn:hover{text-decoration:underline}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.hamburger{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);cursor:pointer;transition:background-color .15s,color .15s}.hamburger:hover{background:var(--accent-soft);color:var(--accent-text)}.hamburger svg{width:20px;height:20px}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:49;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.hamburger{display:flex}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;z-index:50;transform:translate(-100%);transition:transform .25s ease}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.topbar{padding:0 16px;height:56px}.topbar h1{font-size:16px}.topbar .sub{display:none}.page{padding:16px}.page-narrow{max-width:100%}.panel{overflow-x:auto}.table{min-width:560px}.toolbar{flex-direction:column;align-items:stretch;gap:10px}.toolbar-actions{flex-wrap:wrap}.filter-input{max-width:100%}.overlay{align-items:flex-end;padding:0}.modal-card{width:100%;max-height:92vh;border-radius:14px 14px 0 0;overflow-y:auto}.settings-tabs{gap:0}.tree-actions{gap:4px}.tree-actions .btn{padding:4px 6px;font-size:12px}.btn-sm{padding:4px 8px}.user-meta{display:none}}.meta-tags{display:inline-flex;flex-wrap:wrap;gap:5px;margin-left:8px;vertical-align:middle}.meta-tag{font-family:var(--mono);font-size:11px;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px}.brand-logo{width:38px;height:38px;object-fit:contain;flex:none;display:block;background:none}.auth-brand .brand-logo{width:46px;height:46px}.brand-letter{font-weight:800;font-size:16px;color:#fff}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.icon-btn:hover{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent)}.icon-btn svg{width:18px;height:18px}.topbar-actions{display:flex;align-items:center;gap:10px}.filter-input{flex:1;max-width:420px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:13.5px;background:var(--surface);color:var(--text)}.filter-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select.filter-input{flex:0 0 auto;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:30px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238290a3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 10px center}.tree{padding:6px 0}.tree-row{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:6px 14px 6px 8px;border:none;background:none;font-family:inherit;font-size:13.5px;color:var(--text);text-align:left;border-bottom:1px solid var(--border)}.tree-row:last-child{border-bottom:none}.tree-node{cursor:pointer;font-weight:600}.tree-node:hover{background:var(--surface-2)}.tree-leaf{background:var(--surface)}.tree-leaf:hover{background:var(--surface-2)}.tree-caret{width:14px;height:14px;flex:none;color:var(--text-3);transition:transform .15s}.tree-caret.open{transform:rotate(90deg)}.tree-ico{width:17px;height:17px;flex:none}.tree-ico-project{color:var(--accent)}.tree-ico-group{color:#8b7cf0}.tree-ico-server{color:var(--text-3);margin-left:14px}.tree-ico-network{color:var(--accent);margin-left:14px}.segmented{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden}.seg{padding:7px 12px;background:var(--surface);color:var(--text-2);border:none;border-left:1px solid var(--border-strong);font:inherit;font-size:13px;cursor:pointer}.seg:first-child{border-left:none}.seg:hover{background:var(--accent-soft)}.seg-active{background:var(--accent);color:#fff}.seg-active:hover{background:var(--accent)}.tree-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;flex-wrap:wrap;font-weight:400}.tree-label{font-weight:600;color:var(--text)}.tree-leaf .tree-label{font-weight:500}.tree-host{color:var(--text-3);font-family:var(--mono);font-size:12px}.tree-count{margin-left:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-3);border-radius:10px;padding:1px 8px;font-size:11.5px;font-weight:600}.tree-actions{display:flex;gap:6px;flex:none}.settings-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:22px;overflow-x:auto}.settings-tab{display:flex;align-items:center;gap:8px;padding:10px 14px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text-2);font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:color .12s,border-color .12s}.settings-tab:hover{color:var(--text)}.settings-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.settings-tab-ico{width:17px;height:17px;flex:none}.settings-content{max-width:1100px}.pagination{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--border)}.pagination-info{font-size:12.5px;color:var(--text-3)}.pagination-btns{display:flex;align-items:center;gap:8px}.pagination-page{font-size:12.5px;color:var(--text-2);min-width:52px;text-align:center}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238290a3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}select:not(.filter-input){font:inherit;font-size:13.5px;padding:8px 32px 8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);color:var(--text)}.field select{width:100%}select.filter-input{padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238290a3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}select:hover{border-color:var(--accent)}select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select:disabled{opacity:.55;cursor:not-allowed}select option{background:var(--surface);color:var(--text)}.dropdown{position:relative;display:inline-block;vertical-align:top}.dropdown-btn{display:inline-flex;align-items:center;gap:8px;width:100%;padding:8px 10px 8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:13.5px;cursor:pointer;white-space:nowrap}.dropdown-btn:hover{border-color:var(--accent)}.dropdown-btn.open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dropdown-value{flex:1;overflow:hidden;text-overflow:ellipsis;text-align:left}.dropdown-caret{width:13px;height:13px;color:var(--text-3);transition:transform .12s;flex:none}.dropdown-caret.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;z-index:60;top:calc(100% + 4px);left:0;min-width:100%;max-height:280px;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md, 0 8px 24px rgba(0,0,0,.18));padding:4px}.dropdown-opt{display:block;width:100%;text-align:left;padding:7px 10px;border-radius:5px;background:none;border:none;color:var(--text);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.dropdown-opt:hover{background:var(--surface-2)}.dropdown-opt.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.manage-panel{display:flex;flex-direction:column}.manage-sub{color:var(--text-3);font-size:12px;padding:0 16px 10px}.entity-list{display:flex;flex-direction:column}.entity-row{display:flex;align-items:center;gap:10px;padding:9px 16px;border-top:1px solid var(--border)}.entity-row:hover{background:var(--surface-2)}.entity-row .entity-actions{opacity:0;transition:opacity .12s;margin-left:auto;display:flex;gap:4px}.entity-row:hover .entity-actions,.entity-row-edit .entity-actions{opacity:1}.entity-dot{width:11px;height:11px;border-radius:50%;flex:none}.entity-main{display:flex;align-items:baseline;gap:10px;min-width:0}.entity-name{font-weight:600;font-size:13.5px;color:var(--text)}.entity-desc{font-size:12.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-empty{color:var(--text-3);font-size:13px;padding:16px}.entity-row-edit{flex-wrap:wrap;background:var(--surface-2)}.entity-input{flex:0 1 150px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;font-size:13px;background:var(--surface);color:var(--text)}.entity-input-desc{flex:1 1 160px}.entity-swatches{display:flex;gap:5px;flex-basis:100%;margin-bottom:4px}.swatch{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.swatch.active{border-color:var(--text)}@media (max-width: 900px){.manage-grid{grid-template-columns:1fr}}.dashboard{width:100%}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;transition:box-shadow .15s,border-color .15s,transform .1s}.stat-card--link{cursor:pointer}.stat-card--link:hover{box-shadow:0 4px 14px #00000014;border-color:var(--accent);transform:translateY(-1px)}.stat-card--accent .stat-value{color:var(--warn)}.stat-ico{position:absolute;top:16px;right:16px;color:var(--accent);opacity:.55}.stat-ico svg{width:20px;height:20px}.stat-value{font-size:36px;font-weight:700;line-height:1;margin-bottom:6px;color:var(--text)}.stat-label{font-size:13px;color:var(--text-3);font-weight:500}.dash-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:20px}.dash-strip-sep{flex:1 1 12px;min-width:12px}.chip-stat{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:100px;background:var(--surface);border:1px solid var(--border);color:var(--text-2);font:inherit;font-size:13px}.chip-stat svg{width:15px;height:15px;color:var(--text-3);flex:none}.chip-stat b{color:var(--text);font-weight:700}.chip-stat--link{cursor:pointer;transition:border-color .12s,box-shadow .12s}.chip-stat--link:hover{border-color:var(--accent);box-shadow:0 1px 6px #0000000f}.chip-stat--danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.chip-stat--danger svg,.chip-stat--danger b{color:var(--danger)}.dash-row{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:20px}.dash-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;min-height:180px}.dash-panel-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text-2);margin:0 0 14px;text-transform:uppercase;letter-spacing:.04em}.empty-hint{color:var(--text-3);font-size:14px;padding:24px 0;text-align:center}.audit-feed{display:flex;flex-direction:column;gap:2px}.audit-feed-item{padding:8px 10px;border-radius:6px;transition:background .1s}.audit-feed-item:hover{background:var(--surface-2)}.audit-feed-action{font-size:13px;font-weight:600;color:var(--text);font-family:var(--mono)}.audit-feed-meta{display:flex;gap:8px;font-size:12px;color:var(--text-3);margin-top:2px;flex-wrap:wrap}.dash-meta{display:flex;gap:20px;font-size:13px;color:var(--text-3);padding:6px 0}.dash-meta b{color:var(--text-2);font-weight:600}@media (max-width: 900px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dash-row{grid-template-columns:1fr}}@media (max-width: 480px){.stat-grid{grid-template-columns:1fr 1fr}}.lic-conn{overflow:hidden}.lic-conn-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.lic-conn-icon{flex:none;width:38px;height:38px;border-radius:10px;background:var(--accent-grad);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #1489e640}.lic-conn-icon svg{width:20px;height:20px}.lic-conn-titles{flex:1;min-width:0}.lic-conn-title{font-weight:600;color:var(--text)}.lic-conn-sub{color:var(--text-2);font-size:13px;margin-top:2px}.lic-conn-badge{align-self:center;display:inline-flex;align-items:center;gap:5px}.lic-conn-badge svg{width:13px;height:13px}.lic-conn-body{padding:16px 18px;display:flex;flex-direction:column;gap:16px}.lic-callout{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border-radius:8px;background:var(--accent-soft);color:var(--text-2);font-size:13px;line-height:1.45}.lic-callout-ico{flex:none;width:17px;height:17px;color:var(--accent);margin-top:1px}.lic-sec{display:flex;flex-direction:column;gap:6px}.lic-sec-label{text-transform:uppercase;font-size:11px;letter-spacing:.05em;color:var(--text-3);font-weight:600}.lic-url{position:relative;display:flex}.lic-url input{width:100%;padding:9px 42px 9px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--mono, ui-monospace, monospace);font-size:13px}.lic-url-ext{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;color:var(--accent-text);cursor:pointer}.lic-url-ext:hover{background:var(--accent-soft)}.lic-url-ext svg{width:16px;height:16px}.lic-status{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.lic-status-dot{flex:none;display:flex}.lic-status-dot svg{width:20px;height:20px}.lic-status-dot.ok{color:var(--success)}.lic-status-dot.warn{color:var(--danger)}.lic-status-main{flex:1;min-width:0}.lic-status-title{color:var(--text);font-weight:500;font-size:14px}.lic-status-meta{color:var(--text-3);font-size:12px;margin-top:2px}.lic-status-link{display:inline-flex;align-items:center;gap:4px;color:var(--accent-text);font-size:12px;white-space:nowrap;text-decoration:none}.lic-status-link:hover{text-decoration:underline}.lic-status-link svg{width:12px;height:12px}.lic-conn-actions{display:flex;align-items:center;gap:10px;margin-top:2px}.lic-card{overflow:hidden}.lic-card-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.lic-card-icon{flex:none;width:40px;height:40px;border-radius:11px;background:var(--accent-grad);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #1489e640}.lic-card-icon svg{width:22px;height:22px}.lic-card-titles{flex:1;min-width:0}.lic-card-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lic-card-title{font-weight:700;font-size:17px;color:var(--text)}.lic-card-sub{color:var(--text-2);font-size:13px;margin-top:2px}.lic-card-status{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.lic-card-status .badge{display:inline-flex;align-items:center;gap:5px}.lic-card-status .badge svg{width:13px;height:13px}.lic-card-exp{color:var(--text-3);font-size:12px}.lic-card-body{padding:16px 18px;display:flex;flex-direction:column;gap:16px}.lic-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lic-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:12px 14px}.lic-stat-label{display:flex;align-items:center;gap:7px;color:var(--text-3);font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.lic-stat-label svg{width:14px;height:14px}.lic-stat-value{color:var(--text);font-weight:600;font-size:15px;margin-top:6px}.lic-gauge{margin-top:8px;height:6px;border-radius:3px;background:var(--border);overflow:hidden}.lic-gauge-fill{height:100%;background:var(--accent-grad);border-radius:3px}.lic-chips{display:flex;flex-wrap:wrap;gap:7px}.lic-chip{font-size:12px;padding:4px 10px;border-radius:7px;background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--border);text-transform:capitalize}.lic-chip-more{background:var(--surface-2);color:var(--text-3)}.lic-key{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 8px 8px 12px}.lic-key code{flex:1;min-width:0;font-family:var(--mono, ui-monospace, monospace);font-size:12px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lic-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lic-sync{color:var(--text-3);font-size:12px}@media (max-width: 560px){.lic-stats{grid-template-columns:1fr}}.dash-upgrade{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--accent-soft);color:var(--text-2);font-size:13.5px;line-height:1.5}.dash-upgrade .btn{flex:none}.tour-spot{position:fixed;z-index:70;pointer-events:none;box-shadow:0 0 0 9999px #080f1a73,0 0 0 1px #2bd0f58c,0 0 0 5px #2bd0f529;transition:top .26s cubic-bezier(.4,0,.2,1),left .26s cubic-bezier(.4,0,.2,1),width .26s cubic-bezier(.4,0,.2,1),height .26s cubic-bezier(.4,0,.2,1),border-radius .26s cubic-bezier(.4,0,.2,1)}.tour-spot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:inherit;border:2px solid rgba(43,208,245,.5);animation:tour-pulse 2.4s ease-out infinite}@keyframes tour-pulse{0%{opacity:.75;transform:scale(1)}70%{opacity:0;transform:scale(1.06)}to{opacity:0;transform:scale(1.06)}}.tour-card{position:fixed;z-index:71;width:344px;max-width:calc(100vw - 24px);background:var(--side-bg);color:#fff;border:1px solid var(--side-border);border-radius:12px;box-shadow:0 24px 64px #060c1473,0 2px 8px #060c144d;animation:tour-in .22s cubic-bezier(.2,.8,.3,1) both}@keyframes tour-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tour-card:before{content:"";position:absolute;width:12px;height:12px;background:var(--side-bg);border:1px solid var(--side-border);transform:rotate(45deg)}.tour-beak-left:before{left:-7px;top:34px;border-right:0;border-top:0}.tour-beak-right:before{right:-7px;top:34px;border-left:0;border-bottom:0}.tour-beak-up:before{top:-7px;left:28px;border-right:0;border-bottom:0}.tour-beak-down:before{bottom:-7px;left:28px;border-left:0;border-top:0}.tour-card-body{padding:15px 17px 13px}.tour-card-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:7px}.tour-card-head h3{font-size:14.5px;font-weight:650;margin:0;flex:1;line-height:1.3;color:#fff}.tour-card-body p{font-size:13px;line-height:1.55;color:var(--side-text);margin:0}.tour-done{margin-top:9px!important;color:#5fd39a!important;font-size:12.5px!important}.tour-close{border:0;background:none;color:var(--side-text-dim);cursor:pointer;font-size:19px;line-height:1;padding:0 2px;margin:-2px -3px 0 0}.tour-close:hover{color:#fff}.tour-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 17px 13px;border-top:1px solid rgba(255,255,255,.06)}.tour-dots{display:flex;gap:6px}.tour-dot{width:7px;height:7px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#ffffff2e;transition:background .15s,transform .15s}.tour-dot:hover{transform:scale(1.25)}.tour-dot.past{background:#2bd0f573}.tour-dot.on{background:var(--accent-2);box-shadow:0 0 0 3px #2bd0f52e}.tour-nav{display:flex;gap:7px}.tour-btn{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid transparent;border-radius:7px;padding:7px 13px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;text-align:left;text-decoration:none;transition:filter .15s,background .15s,border-color .15s}.tour-btn-primary{background:var(--accent-grad);color:#04222f}.tour-btn-primary:hover{filter:brightness(1.07)}.tour-btn-primary:disabled{filter:saturate(.4);opacity:.55;cursor:default}.tour-btn-quiet{background:#ffffff0f;color:#fff;border-color:#ffffff1f}.tour-btn-quiet:hover{background:#ffffff1c}.tour-btn-ghost{background:none;color:var(--side-text-dim)}.tour-btn-ghost:hover{color:#fff}.tour-btn-wide{width:100%;align-items:center;margin-top:11px}.tour-btn small{font-weight:450;font-size:11.5px;color:#ffffff9e;line-height:1.4}.tour-btn-primary small{color:#04222fb8}.tour-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:72;display:flex;align-items:center;justify-content:center;background:#080f1a9e;padding:20px;animation:tour-fade .2s ease both}@keyframes tour-fade{0%{opacity:0}to{opacity:1}}.tour-modal{width:460px;max-width:100%;background:var(--side-bg);color:#fff;border:1px solid var(--side-border);border-radius:14px;padding:26px 26px 18px;box-shadow:0 30px 80px #060c148c;animation:tour-in .24s cubic-bezier(.2,.8,.3,1) both}.tour-modal-mark{width:34px;height:34px;margin-bottom:14px}.tour-modal h2{margin:0 0 9px;font-size:20px;font-weight:650;letter-spacing:-.01em}.tour-modal p{margin:0 0 20px;font-size:13.5px;line-height:1.6;color:var(--side-text)}.tour-modal-actions{display:flex;flex-direction:column;gap:9px}.tour-modal-actions .tour-btn{width:100%;padding:12px 15px;font-size:13.5px;gap:3px}.tour-modal-actions-row{flex-direction:row}.tour-modal-actions-row .tour-btn{flex:1;align-items:center}.tour-modal-skip{display:block;width:100%;margin-top:13px;padding:4px;border:0;background:none;cursor:pointer;color:var(--side-text-dim);font:inherit;font-size:12.5px}.tour-modal-skip:hover{color:#fff}.tour-field{margin:0 0 13px}.tour-field label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--side-text-dim)}.tour-field input{width:100%;box-sizing:border-box;padding:10px 12px;background:#ffffff0d;color:#fff;border:1px solid var(--side-border);border-radius:9px;font:inherit;font-size:13.5px}.tour-field input::placeholder{color:#ffffff57}.tour-field input:focus{outline:none;border-color:#2bd0f58c;box-shadow:0 0 0 3px #2bd0f524}.tour-check{display:flex;gap:9px;align-items:flex-start;margin:0 0 4px;font-size:12.5px;line-height:1.5;color:var(--side-text);cursor:pointer}.tour-check input{width:auto;margin:2px 0 0;accent-color:var(--accent-2);flex:none}.tour-err{margin:10px 0 0!important;color:#ff9b8a!important;font-size:12.5px!important}.tour-fine{margin:11px 0 0!important;font-size:11.5px!important;line-height:1.5!important;color:var(--side-text-dim)!important}.tour-fine a{color:var(--accent-2)}.tour-pill{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:9px;background:var(--side-bg);color:#fff;border:1px solid var(--side-border);border-radius:999px;padding:9px 16px 9px 13px;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;box-shadow:0 10px 30px #060c1459}.tour-pill:hover{border-color:#2bd0f573}.tour-pill-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 #2bd0f58c;animation:tour-beacon 2s ease-out infinite}@keyframes tour-beacon{0%{box-shadow:0 0 #2bd0f580}70%{box-shadow:0 0 0 9px #2bd0f500}to{box-shadow:0 0 #2bd0f500}}@media (max-width: 720px){.tour-card{left:12px!important;right:12px;top:auto!important;bottom:12px!important;width:auto;transform:none!important}.tour-card:before{display:none}}@media (prefers-reduced-motion: reduce){.tour-spot,.tour-card,.tour-modal,.tour-scrim,.tour-progress i{transition:none;animation:none}.tour-spot:after,.tour-pill-dot{animation:none}}
