@charset "UTF-8";

/* ../../libs/ui/theme.css */
:root {
  --color-bg: #1f1f29;
  --color-bg-alt: #252531;
  --body-dots: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='8'%3E%3Ccircle cx='2' cy='2' r='0.7' fill='%23ffffff' fill-opacity='0.02'/%3E%3Ccircle cx='10' cy='6' r='0.7' fill='%23ffffff' fill-opacity='0.02'/%3E%3C/svg%3E");
  --color-text: rgba(255, 255, 255, 0.88);
  --color-text-muted: rgba(255, 255, 255, 0.45);
  --color-gold: hsla(48, 88%, 73%, 0.97);
  --color-accent: rgba(0, 212, 255, 0.9);
  --color-surface: #252531;
  --color-input-bg: #16161e;
  --color-border: rgba(255, 255, 255, 0.14);
  --warn-bg: rgba(255, 180, 0, 0.08);
  --warn-border: rgba(255, 180, 0, 0.35);
  --warn-strong: #f0c040;
  --header-bg: rgba(15, 15, 20, 0.7);
  --header-bg-scrolled: rgba(12, 12, 16, 0.94);
  --header-text: rgba(255, 255, 255, 0.88);
  --drawer-bg: rgba(18, 18, 24, 0.97);
  --drawer-link: rgba(255, 255, 255, 0.78);
  --drawer-link-hover-bg: rgba(255, 255, 255, 0.05);
  --drawer-divider: rgba(255, 255, 255, 0.07);
  --drawer-backdrop: rgba(0, 0, 0, 0.55);
  --icon-color: rgba(255, 255, 255, 0.65);
  --icon-hover-bg: rgba(255, 255, 255, 0.10);
  --icon-hover-color: #fff;
  --auth-btn-border: rgba(255, 255, 255, 0.15);
  --auth-btn-color: rgba(255, 255, 255, 0.5);
  --auth-btn-hover-border: rgba(255, 255, 255, 0.35);
  --auth-btn-hover-color: #fff;
  --dialog-bg: rgba(22, 22, 30, 0.82);
  --dialog-text: rgba(255, 255, 255, 0.88);
  --btn-bg: #2a2a36;
  --btn-text: var(--color-text);
  --btn-border: rgba(255, 255, 255, 0.25);
  --btn-hover-bg: rgba(255, 255, 255, 0.12);
  --btn-hover-text: #fff;
  --menu-bg: rgba(24, 24, 31, 0.9);
  --menu-border: rgba(255, 255, 255, 0.12);
  --uc-overlay: rgba(10, 10, 16, 0.65);
  --uc-card: rgba(255, 255, 255, 0.03);
  --uc-border: rgba(255, 255, 255, 0.08);
  --uc-bar-bg: rgba(255, 255, 255, 0.07);
}
html.light {
  --color-bg: #d9d9de;
  --color-bg-alt: #cfcfd6;
  --body-dots: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Ccircle cx='1.5' cy='1.5' r='0.6' fill='%23000000' fill-opacity='0.025'/%3E%3C/svg%3E");
  --color-text: rgba(20, 20, 32, 0.88);
  --color-text-muted: rgba(20, 20, 32, 0.45);
  --color-gold: #b8860b;
  --color-accent: rgba(0, 140, 200, 0.9);
  --color-surface: #e9e9ef;
  --color-input-bg: #fafafc;
  --color-border: rgba(0, 0, 0, 0.18);
  --warn-bg: rgba(200, 140, 0, 0.10);
  --warn-border: rgba(160, 110, 0, 0.45);
  --warn-strong: #8a6100;
  --header-bg: rgba(234, 234, 237, 0.8);
  --header-bg-scrolled: rgba(237, 237, 240, 0.94);
  --header-text: rgba(20, 20, 32, 0.88);
  --drawer-bg: rgba(245, 244, 250, 0.98);
  --drawer-link: rgba(20, 20, 32, 0.78);
  --drawer-link-hover-bg: rgba(0, 0, 0, 0.05);
  --drawer-divider: rgba(0, 0, 0, 0.08);
  --drawer-backdrop: rgba(0, 0, 0, 0.35);
  --icon-color: rgba(20, 20, 32, 0.6);
  --icon-hover-bg: rgba(0, 0, 0, 0.07);
  --icon-hover-color: rgba(20, 20, 32, 0.95);
  --auth-btn-border: rgba(0, 0, 0, 0.15);
  --auth-btn-color: rgba(20, 20, 32, 0.5);
  --auth-btn-hover-border: rgba(0, 0, 0, 0.35);
  --auth-btn-hover-color: rgba(20, 20, 32, 0.95);
  --dialog-bg: rgba(240, 239, 245, 0.88);
  --dialog-text: rgba(20, 20, 32, 0.88);
  --btn-bg: #e0dfe8;
  --btn-text: var(--color-text);
  --btn-border: rgba(0, 0, 0, 0.18);
  --btn-hover-bg: rgba(0, 0, 0, 0.08);
  --btn-hover-text: rgba(20, 20, 32, 0.95);
  --menu-bg: rgba(240, 239, 245, 0.95);
  --menu-border: rgba(0, 0, 0, 0.1);
  --uc-overlay: rgba(220, 218, 228, 0.70);
  --uc-card: rgba(255, 255, 255, 0.55);
  --uc-border: rgba(0, 0, 0, 0.10);
  --uc-bar-bg: rgba(0, 0, 0, 0.08);
}
html {
  color-scheme: dark;
}
html.light {
  color-scheme: light;
}
html,
body {
  margin: 0;
  padding: 0;
  background: var(--color-bg);
  color: var(--color-text);
  transition: background 0.3s ease, color 0.3s ease;
}

/* src/styles.scss */
select option {
  background: var(--color-bg-alt);
  color: var(--color-text);
}
.admin-main > router-outlet ~ * {
  display: block;
  animation: admin-route-fade 0.45s ease-out both;
}
@keyframes admin-route-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .admin-main > router-outlet ~ * {
    animation: none;
  }
}
.btn-del-x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 1.5px solid #e04545;
  border-radius: 50%;
  background: transparent;
  color: #e04545;
  font-size: 0.75rem;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
  box-sizing: border-box;
  transition: background 0.15s, color 0.15s;
}
.btn-del-x:hover:not(:disabled) {
  background: #e04545;
  color: #fff;
}
.btn-del-x:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
html,
body {
  height: 100%;
  font-family: Arial, sans-serif;
}

/* ../../node_modules/@xterm/xterm/css/xterm.css */
/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */
.xterm {
  cursor: text;
  position: relative;
  user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
}
.xterm.focus,
.xterm:focus {
  outline: none;
}
.xterm .xterm-helpers {
  position: absolute;
  top: 0;
  z-index: 5;
}
.xterm .xterm-helper-textarea {
  padding: 0;
  border: 0;
  margin: 0;
  position: absolute;
  opacity: 0;
  left: -9999em;
  top: 0;
  width: 0;
  height: 0;
  z-index: -5;
  white-space: nowrap;
  overflow: hidden;
  resize: none;
}
.xterm .composition-view {
  background: #000;
  color: #FFF;
  display: none;
  position: absolute;
  white-space: nowrap;
  z-index: 1;
}
.xterm .composition-view.active {
  display: block;
}
.xterm .xterm-viewport {
  background-color: #000;
  overflow-y: scroll;
  cursor: default;
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
}
.xterm .xterm-screen {
  position: relative;
}
.xterm .xterm-screen canvas {
  position: absolute;
  left: 0;
  top: 0;
}
.xterm .xterm-scroll-area {
  visibility: hidden;
}
.xterm-char-measure-element {
  display: inline-block;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: -9999em;
  line-height: normal;
}
.xterm.enable-mouse-events {
  cursor: default;
}
.xterm.xterm-cursor-pointer,
.xterm .xterm-cursor-pointer {
  cursor: pointer;
}
.xterm.column-select.focus {
  cursor: crosshair;
}
.xterm .xterm-accessibility:not(.debug),
.xterm .xterm-message {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 10;
  color: transparent;
  pointer-events: none;
}
.xterm .xterm-accessibility-tree:not(.debug) *::selection {
  color: transparent;
}
.xterm .xterm-accessibility-tree {
  -webkit-user-select: text;
  user-select: text;
  white-space: pre;
}
.xterm .live-region {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.xterm-dim {
  opacity: 1 !important;
}
.xterm-underline-1 {
  text-decoration: underline;
}
.xterm-underline-2 {
  text-decoration: double underline;
}
.xterm-underline-3 {
  text-decoration: wavy underline;
}
.xterm-underline-4 {
  text-decoration: dotted underline;
}
.xterm-underline-5 {
  text-decoration: dashed underline;
}
.xterm-overline {
  text-decoration: overline;
}
.xterm-overline.xterm-underline-1 {
  text-decoration: overline underline;
}
.xterm-overline.xterm-underline-2 {
  text-decoration: overline double underline;
}
.xterm-overline.xterm-underline-3 {
  text-decoration: overline wavy underline;
}
.xterm-overline.xterm-underline-4 {
  text-decoration: overline dotted underline;
}
.xterm-overline.xterm-underline-5 {
  text-decoration: overline dashed underline;
}
.xterm-strikethrough {
  text-decoration: line-through;
}
.xterm-screen .xterm-decoration-container .xterm-decoration {
  z-index: 6;
  position: absolute;
}
.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer {
  z-index: 7;
}
.xterm-decoration-overview-ruler {
  z-index: 8;
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
}
.xterm-decoration-top {
  z-index: 2;
  position: relative;
}

/* angular:styles/global:styles */
/*# sourceMappingURL=styles-FBSGL37U.css.map */
