@charset "UTF-8";@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-ext-wght-normal-IYF56FF6.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-wght-normal-JEOLYBOO.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-ext-wght-normal-EOVOK2B5.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-wght-normal-IRE366VL.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-cyrillic-ext-wght-normal-BUWC6ZS3.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-cyrillic-wght-normal-ENSFVLK4.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-greek-wght-normal-Y3BRZMJV.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-vietnamese-wght-normal-SP6EBKAH.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-latin-ext-wght-normal-TSLVDSQR.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-latin-wght-normal-VBS632QH.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@property --spin{syntax: "<angle>"; inherits: false; initial-value: 0deg;}html{color-scheme:light dark;--mat-sys-background: light-dark(#f9faf4, #111411);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f0f1ec, #2e312e);--mat-sys-inverse-primary: light-dark(#00e472, #006d33);--mat-sys-inverse-surface: light-dark(#2e312e, #e2e3de);--mat-sys-on-background: light-dark(#191c19, #e2e3de);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #003917);--mat-sys-on-primary-container: light-dark(#005225, #63ff94);--mat-sys-on-primary-fixed: light-dark(#00210b, #00210b);--mat-sys-on-primary-fixed-variant: light-dark(#005225, #005225);--mat-sys-on-secondary: light-dark(#ffffff, #233425);--mat-sys-on-secondary-container: light-dark(#394b3b, #d3e8d2);--mat-sys-on-secondary-fixed: light-dark(#0e1f12, #0e1f12);--mat-sys-on-secondary-fixed-variant: light-dark(#394b3b, #394b3b);--mat-sys-on-surface: light-dark(#191c19, #e2e3de);--mat-sys-on-surface-variant: light-dark(#414941, #dde5da);--mat-sys-on-tertiary: light-dark(#ffffff, #003737);--mat-sys-on-tertiary-container: light-dark(#004f4f, #00fbfb);--mat-sys-on-tertiary-fixed: light-dark(#002020, #002020);--mat-sys-on-tertiary-fixed-variant: light-dark(#004f4f, #004f4f);--mat-sys-outline: light-dark(#717970, #8b9389);--mat-sys-outline-variant: light-dark(#c1c9be, #414941);--mat-sys-primary: light-dark(#006d33, #00e472);--mat-sys-primary-container: light-dark(#63ff94, #005225);--mat-sys-primary-fixed: light-dark(#63ff94, #63ff94);--mat-sys-primary-fixed-dim: light-dark(#00e472, #00e472);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#506352, #b7ccb7);--mat-sys-secondary-container: light-dark(#d3e8d2, #394b3b);--mat-sys-secondary-fixed: light-dark(#d3e8d2, #d3e8d2);--mat-sys-secondary-fixed-dim: light-dark(#b7ccb7, #b7ccb7);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#f9faf4, #111411);--mat-sys-surface-bright: light-dark(#f9faf4, #373a36);--mat-sys-surface-container: light-dark(#edefe8, #1d201d);--mat-sys-surface-container-high: light-dark(#e7e9e3, #282b27);--mat-sys-surface-container-highest: light-dark(#e2e3de, #323632);--mat-sys-surface-container-low: light-dark(#f2f4ee, #191c19);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0c0f0c);--mat-sys-surface-dim: light-dark(#d9dbd5, #111411);--mat-sys-surface-tint: light-dark(#006d33, #00e472);--mat-sys-surface-variant: light-dark(#dde5da, #414941);--mat-sys-tertiary: light-dark(#006a6a, #00dddd);--mat-sys-tertiary-container: light-dark(#00fbfb, #004f4f);--mat-sys-tertiary-fixed: light-dark(#00fbfb, #00fbfb);--mat-sys-tertiary-fixed-dim: light-dark(#00dddd, #00dddd);--mat-sys-neutral-variant20: #2b322b;--mat-sys-neutral10: #191c19;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-body-large-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-body-medium-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-body-small-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-display-large-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-display-medium-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-display-small-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-headline-large-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-headline-medium-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-headline-small-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 550 .875rem / 1.25rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-label-large-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 550;--mat-sys-label-large-weight-prominent: 650;--mat-sys-label-medium: 550 .75rem / 1rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-label-medium-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 550;--mat-sys-label-medium-weight-prominent: 650;--mat-sys-label-small: 550 .688rem / 1rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-label-small-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 550;--mat-sys-title-large: 400 1.375rem / 1.75rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-title-large-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 550 1rem / 1.5rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-title-medium-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 550;--mat-sys-title-small: 550 .875rem / 1.25rem "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-title-small-font: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 550;--mat-checkbox-touch-target-display: block;--mat-checkbox-state-layer-size: 36px;--mat-chip-container-height: 28px;--mat-chip-touch-target-display: none;--mat-expansion-header-collapsed-state-height: 44px;--mat-expansion-header-expanded-state-height: 60px;--mat-fab-small-touch-target-display: ;--mat-fab-touch-target-display: block;--mat-button-filled-touch-target-display: block;--mat-button-filled-container-height: 36px;--mat-button-outlined-container-height: 36px;--mat-button-outlined-touch-target-display: block;--mat-button-protected-touch-target-display: block;--mat-button-protected-container-height: 36px;--mat-button-text-touch-target-display: block;--mat-button-text-container-height: 36px;--mat-button-tonal-container-height: 36px;--mat-button-tonal-touch-target-display: block;--mat-form-field-container-height: 52px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 14px;--mat-form-field-filled-with-label-container-padding-top: 22px;--mat-form-field-filled-with-label-container-padding-bottom: 6px;--mat-icon-button-touch-target-display: block;--mat-icon-button-state-layer-size: 36px;--mat-list-list-item-one-line-container-height: 44px;--mat-list-list-item-two-line-container-height: 60px;--mat-list-list-item-three-line-container-height: 84px;--mat-paginator-container-size: 52px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: block;--mat-radio-touch-target-display: block;--mat-radio-state-layer-size: 36px;--mat-select-arrow-transform: translateY(-8px);--mat-button-toggle-height: 40px;--mat-stepper-header-height: 68px;--mat-table-header-container-height: 52px;--mat-table-footer-container-height: 48px;--mat-table-row-item-container-height: 48px;--mat-toolbar-mobile-height: 52px;--mat-tree-node-min-height: 44px;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--mat-sys-primary: light-dark(#047857, #34d399);--mat-sys-on-primary: light-dark(#ffffff, #03291c);--mat-sys-primary-container: light-dark(#d1fae5, #0b3a2a);--mat-sys-on-primary-container: light-dark(#064e3b, #a7f3d0);--mat-sys-inverse-primary: light-dark(#6ee7b7, #047857);--accent-300: #6ee7b7;--accent-400: #34d399;--accent-500: #10b981;--accent-600: #059669;--accent-700: #047857;--accent-800: #065f46;--accent-alt: #06b6d4;--mat-sys-background: light-dark(color-mix(in srgb, var(--accent-500) 2%, #fafafa), color-mix(in srgb, var(--accent-500) 3%, #0b0c0c));--mat-sys-on-background: light-dark(color-mix(in srgb, var(--accent-500) 3%, #101313), color-mix(in srgb, var(--accent-500) 3%, #e9ebea));--mat-sys-surface: light-dark(color-mix(in srgb, var(--accent-500) 2%, #fafafa), color-mix(in srgb, var(--accent-500) 3%, #0b0c0c));--mat-sys-surface-dim: light-dark(color-mix(in srgb, var(--accent-500) 4%, #dfe1e0), color-mix(in srgb, var(--accent-500) 3%, #0b0c0c));--mat-sys-surface-bright: light-dark(color-mix(in srgb, var(--accent-500) 0%, #ffffff), color-mix(in srgb, var(--accent-500) 4%, #1f2121));--mat-sys-surface-container-lowest: light-dark(color-mix(in srgb, var(--accent-500) 0%, #ffffff), color-mix(in srgb, var(--accent-500) 2%, #070808));--mat-sys-surface-container-low: light-dark(color-mix(in srgb, var(--accent-500) 0%, #ffffff), color-mix(in srgb, var(--accent-500) 4%, #111313));--mat-sys-surface-container: light-dark(color-mix(in srgb, var(--accent-500) 4%, #f1f2f2), color-mix(in srgb, var(--accent-500) 4%, #161818));--mat-sys-surface-container-high: light-dark(color-mix(in srgb, var(--accent-500) 4%, #eaebeb), color-mix(in srgb, var(--accent-500) 4%, #1b1d1d));--mat-sys-surface-container-highest: light-dark(color-mix(in srgb, var(--accent-500) 5%, #e3e5e4), color-mix(in srgb, var(--accent-500) 4%, #222424));--mat-sys-surface-variant: light-dark(color-mix(in srgb, var(--accent-500) 5%, #e3e5e4), color-mix(in srgb, var(--accent-500) 4%, #222424));--mat-sys-on-surface: light-dark(color-mix(in srgb, var(--accent-500) 3%, #101313), color-mix(in srgb, var(--accent-500) 3%, #e9ebea));--mat-sys-on-surface-variant: light-dark(color-mix(in srgb, var(--accent-500) 8%, #5a605e), color-mix(in srgb, var(--accent-500) 8%, #9ea3a1));--mat-sys-inverse-surface: light-dark(#17201b, #e8ece9);--mat-sys-inverse-on-surface: light-dark(#eef3f0, #17201b);--mat-sys-outline: light-dark(color-mix(in srgb, var(--accent-500) 8%, #7c8280), color-mix(in srgb, var(--accent-500) 8%, #6a706e));--mat-sys-outline-variant: light-dark(color-mix(in srgb, var(--accent-500) 4%, #e4e6e5), color-mix(in srgb, var(--accent-500) 4%, #202322));--mat-sys-secondary-container: color-mix(in srgb, var(--mat-sys-primary) 16%, var(--mat-sys-surface-container-low));--mat-sys-on-secondary-container: var(--mat-sys-on-primary-container);--mat-sys-corner-extra-small: 8px;--mat-sys-corner-small: 10px;--mat-sys-corner-medium: 12px;--mat-sys-corner-large: 16px;--mat-sys-corner-extra-large: 22px;--mat-sys-body-large-tracking: 0;--mat-sys-body-medium-tracking: 0;--mat-sys-body-small-tracking: 0;--mat-sys-label-large-tracking: 0;--mat-sys-label-medium-tracking: 0;--mat-sys-title-medium-tracking: 0;--mat-sys-title-small-tracking: 0;--mat-sidenav-container-background-color: var(--canvas);--mat-sidenav-container-divider-color: transparent;--mat-sidenav-container-shape: 0;--mat-sidenav-container-width: 256px;--mat-sidenav-content-background-color: var(--app-bg);--mat-sidenav-scrim-color: rgba(4, 8, 6, .45);--mat-toolbar-container-background-color: transparent;--mat-toolbar-standard-height: 60px;--mat-toolbar-mobile-height: 56px;--mat-form-field-outlined-container-shape: 10px;--mat-form-field-outlined-outline-color: var(--border-strong);--mat-form-field-outlined-hover-outline-color: color-mix(in srgb, var(--mat-sys-primary) 50%, var(--mat-sys-outline));--mat-form-field-outlined-label-text-color: var(--mat-sys-on-surface-variant);--mat-button-filled-container-shape: 10px;--mat-button-outlined-container-shape: 10px;--mat-button-text-container-shape: 10px;--mat-button-protected-container-shape: 10px;--mat-button-tonal-container-shape: 10px;--mat-button-filled-label-text-weight: 600;--mat-button-outlined-label-text-weight: 550;--mat-button-text-label-text-weight: 550;--mat-button-outlined-outline-color: color-mix(in srgb, var(--mat-sys-primary) 40%, var(--border-strong));--mat-list-list-item-container-shape: 10px;--mat-list-list-item-one-line-container-height: 38px;--mat-list-list-item-leading-icon-size: 20px;--mat-list-list-item-leading-icon-start-space: 12px;--mat-list-list-item-leading-icon-end-space: 12px;--mat-list-list-item-label-text-size: 14px;--mat-list-list-item-label-text-weight: 500;--mat-list-list-item-label-text-color: var(--mat-sys-on-surface-variant);--mat-list-list-item-leading-icon-color: var(--mat-sys-on-surface-variant);--mat-list-list-item-hover-label-text-color: var(--mat-sys-on-surface);--mat-list-list-item-hover-leading-icon-color: var(--mat-sys-primary);--mat-list-list-item-hover-state-layer-color: var(--mat-sys-primary);--mat-tab-divider-color: var(--border);--mat-tab-active-indicator-height: 3px;--mat-tab-active-indicator-shape: 3px 3px 0 0;--mat-tab-active-label-text-color: var(--mat-sys-primary);--mat-tab-active-hover-label-text-color: var(--mat-sys-primary);--mat-tab-active-focus-label-text-color: var(--mat-sys-primary);--mat-tab-inactive-ripple-color: var(--mat-sys-primary);--mat-tab-active-ripple-color: var(--mat-sys-primary);--mat-tab-inactive-label-text-color: var(--mat-sys-on-surface-variant);--mat-tab-inactive-hover-label-text-color: var(--mat-sys-on-surface);--mat-tab-inactive-focus-label-text-color: var(--mat-sys-on-surface);--mat-tab-label-text-weight: 550;--mat-tab-container-height: 44px;--mat-dialog-container-color: var(--elevated-bg);--mat-dialog-container-shape: 22px;--mat-dialog-subhead-size: 1.25rem;--mat-dialog-subhead-weight: 650;--mat-dialog-subhead-tracking: -.015em;--mat-menu-container-color: var(--elevated-bg);--mat-menu-container-shape: 12px;--mat-menu-item-label-text-size: 14px;--mat-select-panel-background-color: var(--elevated-bg);--mat-autocomplete-background-color: var(--elevated-bg);--mat-stepper-container-color: transparent;--mat-button-toggle-shape: 10px;--mat-button-toggle-divider-color: var(--border-strong);--mat-tooltip-supporting-text-size: 12px;--font-sans: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ok: light-dark(#047857, #34d399);--warn: light-dark(#b45309, #fbbf24);--danger: light-dark(#b91c1c, #f87171);--info: light-dark(#1d4ed8, #60a5fa);--canvas: light-dark(color-mix(in srgb, var(--accent-500) 6%, #eceeed), color-mix(in srgb, var(--accent-500) 5%, #060707));--app-bg: var(--mat-sys-surface);--surface-card: var(--mat-sys-surface-container-low);--elevated-bg: light-dark(color-mix(in srgb, var(--accent-500) 0%, #ffffff), color-mix(in srgb, var(--accent-500) 4%, #161818));--surface-2: light-dark(color-mix(in srgb, var(--accent-500) 3%, #f3f4f4), color-mix(in srgb, var(--accent-500) 4%, #171919));--input-bg: light-dark(#ffffff, rgb(0 0 0 / .22));--row-hover: color-mix(in srgb, var(--mat-sys-primary) 6%, var(--surface-card));--table-head-bg: light-dark(color-mix(in srgb, var(--accent-500) 3%, #fafbfb), color-mix(in srgb, var(--accent-500) 3%, #0f1111));--accent-soft: color-mix(in srgb, var(--mat-sys-primary) 16%, var(--surface-card));--accent-ring: color-mix(in srgb, var(--mat-sys-primary) 30%, transparent);--border: light-dark(rgb(14 30 22 / .09), rgb(255 255 255 / .075));--border-strong: light-dark(rgb(14 30 22 / .17), rgb(255 255 255 / .14));--grid-line: light-dark(rgb(16 22 20 / .05), rgb(255 255 255 / .04));--shadow-c: light-dark(rgb(15 23 20 / .05), rgb(0 0 0 / .3));--shadow-c-strong: light-dark(rgb(15 23 20 / .1), rgb(0 0 0 / .55));--highlight: light-dark(rgb(255 255 255 / 0), color-mix(in srgb, var(--accent-300) 10%, transparent));--scroll-shadow: light-dark(rgb(15 23 20 / .16), rgb(0 0 0 / .7));--shadow-sm: 0 1px 2px var(--shadow-c), 0 1px 1px var(--shadow-c);--shadow-md: 0 1px 2px var(--shadow-c), 0 10px 24px -8px var(--shadow-c-strong), 0 2px 6px -2px var(--shadow-c);--shadow-lg: 0 28px 56px -16px var(--shadow-c-strong), 0 10px 20px -10px var(--shadow-c);--accent-grad: linear-gradient(135deg, var(--accent-300) 0%, var(--accent-500) 45%, var(--accent-700) 100%);--term-bg: #0a0e0c;--term-fg: #d3e4da;--term-muted: #8b9a92;--term-border: #1c2420;--radius: 16px;--card-pad: clamp(16px, .6rem + 1.1vw, 24px);--gap: clamp(12px, .45rem + .9vw, 20px);--page-pad-x: clamp(16px, .25rem + 2.4vw, 40px);--page-pad-top: clamp(16px, .6rem + 1.2vw, 28px);--topbar-h: 60px;--inset: 8px;--bottom-nav-h: 64px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: linear(0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017 19.4%, 1.067, 1.099 24.3%, 1.108 26%, 1.103 28.2%, 1.044 34.1%, 1.008 38.6%, .994 42.7%, .993 50.6%, 1.001 66.9%, 1);--dur-fast: .14s;--dur: .24s;--dur-slow: .45s;--stagger-step: 45ms}@media(pointer:coarse){html{--mat-button-filled-touch-target-display: block;--mat-button-filled-container-height: 40px;--mat-button-outlined-container-height: 40px;--mat-button-outlined-touch-target-display: block;--mat-button-protected-touch-target-display: block;--mat-button-protected-container-height: 40px;--mat-button-text-touch-target-display: block;--mat-button-text-container-height: 40px;--mat-button-tonal-container-height: 40px;--mat-button-tonal-touch-target-display: block;--mat-button-toggle-height: 40px;--mat-checkbox-touch-target-display: block;--mat-checkbox-state-layer-size: 40px;--mat-chip-container-height: 32px;--mat-chip-touch-target-display: block;--mat-expansion-header-collapsed-state-height: 48px;--mat-expansion-header-expanded-state-height: 64px;--mat-fab-touch-target-display: block;--mat-form-field-container-height: 56px;--mat-form-field-filled-label-display: block;--mat-form-field-container-vertical-padding: 16px;--mat-form-field-filled-with-label-container-padding-top: 24px;--mat-form-field-filled-with-label-container-padding-bottom: 8px;--mat-icon-button-touch-target-display: block;--mat-icon-button-state-layer-size: 40px;--mat-list-list-item-leading-icon-start-space: 16px;--mat-list-list-item-leading-icon-end-space: 16px;--mat-list-list-item-two-line-container-height: 64px;--mat-list-list-item-three-line-container-height: 88px;--mat-paginator-container-size: 56px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: block;--mat-radio-touch-target-display: block;--mat-radio-state-layer-size: 40px;--mat-select-arrow-transform: translateY(-8px);--mat-slide-toggle-touch-target-display: block;--mat-stepper-header-height: 72px;--mat-table-header-container-height: 56px;--mat-table-footer-container-height: 52px;--mat-table-row-item-container-height: 52px;--mat-tab-container-height: 48px;--mat-toolbar-standard-height: 64px;--mat-toolbar-mobile-height: 56px;--mat-tree-node-min-height: 48px;--mat-list-list-item-one-line-container-height: 48px;--mat-list-list-item-leading-icon-start-space: 12px;--mat-list-list-item-leading-icon-end-space: 12px}}@media(max-width:599px){html{--topbar-h: 56px}}@media(max-width:900px){html{--inset: 0px}}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}html[data-accent=blue]{--mat-sys-primary: light-dark(#1d4ed8, #60a5fa);--mat-sys-on-primary: light-dark(#ffffff, #0a1a3d);--mat-sys-primary-container: light-dark(#dbeafe, #102a5c);--mat-sys-on-primary-container: light-dark(#1e3a8a, #bfdbfe);--mat-sys-inverse-primary: light-dark(#93c5fd, #1d4ed8);--accent-300: #93c5fd;--accent-400: #60a5fa;--accent-500: #3b82f6;--accent-600: #2563eb;--accent-700: #1d4ed8;--accent-800: #1e40af;--accent-alt: #6366f1}html[data-accent=violet]{--mat-sys-primary: light-dark(#6d28d9, #a78bfa);--mat-sys-on-primary: light-dark(#ffffff, #1f0a4a);--mat-sys-primary-container: light-dark(#ede9fe, #2b1660);--mat-sys-on-primary-container: light-dark(#4c1d95, #ddd6fe);--mat-sys-inverse-primary: light-dark(#c4b5fd, #6d28d9);--accent-300: #c4b5fd;--accent-400: #a78bfa;--accent-500: #8b5cf6;--accent-600: #7c3aed;--accent-700: #6d28d9;--accent-800: #5b21b6;--accent-alt: #d946ef}html[data-accent=pink]{--mat-sys-primary: light-dark(#be185d, #f472b6);--mat-sys-on-primary: light-dark(#ffffff, #45061f);--mat-sys-primary-container: light-dark(#fce7f3, #4a0d2b);--mat-sys-on-primary-container: light-dark(#831843, #fbcfe8);--mat-sys-inverse-primary: light-dark(#f9a8d4, #be185d);--accent-300: #f9a8d4;--accent-400: #f472b6;--accent-500: #ec4899;--accent-600: #db2777;--accent-700: #be185d;--accent-800: #9d174d;--accent-alt: #a855f7}html[data-accent=orange]{--mat-sys-primary: light-dark(#c2410c, #fb923c);--mat-sys-on-primary: light-dark(#ffffff, #3b1405);--mat-sys-primary-container: light-dark(#ffedd5, #4a1d08);--mat-sys-on-primary-container: light-dark(#7c2d12, #fed7aa);--mat-sys-inverse-primary: light-dark(#fdba74, #c2410c);--accent-300: #fdba74;--accent-400: #fb923c;--accent-500: #f97316;--accent-600: #ea580c;--accent-700: #c2410c;--accent-800: #9a3412;--accent-alt: #f59e0b}html[data-accent=graphite]{--mat-sys-primary: light-dark(#3f3f46, #d4d4d8);--mat-sys-on-primary: light-dark(#ffffff, #18181b);--mat-sys-primary-container: light-dark(#e4e4e7, #2e2e33);--mat-sys-on-primary-container: light-dark(#18181b, #e4e4e7);--mat-sys-inverse-primary: light-dark(#d4d4d8, #3f3f46);--accent-300: #d4d4d8;--accent-400: #a1a1aa;--accent-500: #71717a;--accent-600: #52525b;--accent-700: #3f3f46;--accent-800: #27272a;--accent-alt: #64748b}html,body{height:100%}body{margin:0;background:var(--canvas);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;accent-color:var(--mat-sys-primary)}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--mat-sys-primary) 35%,var(--border-strong)) transparent}::selection{background:color-mix(in srgb,var(--mat-sys-primary) 28%,transparent)}a{color:var(--mat-sys-primary);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}strong{font-weight:600}h1,h2,h3{line-height:1.25;text-wrap:balance}p{text-wrap:pretty}h1{font:700 clamp(1.5rem,1.2rem + 1vw,2rem)/1.15 var(--font-sans);letter-spacing:-.03em}h3{font:600 .9375rem/1.4 var(--font-sans);letter-spacing:-.01em;margin:20px 0 8px}code{font-family:var(--mono);font-size:.85em;padding:1px 6px;border-radius:6px;background:color-mix(in srgb,var(--mat-sys-primary) 7%,var(--surface-2));border:1px solid color-mix(in srgb,var(--mat-sys-primary) 16%,var(--border))}:focus-visible{outline:2px solid var(--mat-sys-primary);outline-offset:2px}.skip-link{position:absolute;left:-999px;top:8px;z-index:1000;padding:8px 14px;font-weight:600;background:var(--mat-sys-primary);color:var(--mat-sys-on-primary);border-radius:10px;text-decoration:none}.skip-link:focus{left:8px}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px) scale(.985)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes pulse{50%{opacity:.3}}@keyframes ring{0%{box-shadow:0 0 color-mix(in srgb,currentColor 55%,transparent)}70%,to{box-shadow:0 0 0 6px transparent}}@keyframes spin{to{--spin: 360deg}}@keyframes aurora{0%{transform:translateZ(0) rotate(0) scale(1)}50%{transform:translate3d(3%,-2%,0) rotate(6deg) scale(1.06)}to{transform:translate3d(-3%,3%,0) rotate(-5deg) scale(1.02)}}@keyframes topbar-raise{to{background-color:color-mix(in srgb,var(--app-bg) 72%,transparent);border-bottom-color:var(--border);box-shadow:0 12px 28px -20px var(--shadow-c-strong)}}.content>router-outlet+*,.mat-mdc-tab-nav-panel>router-outlet+*{display:block;animation:page-in var(--dur-slow) var(--ease-out) backwards}:is(.grid,.grid-2,.stats)>*{animation:rise-in var(--dur-slow) var(--ease-out) backwards;animation-delay:calc(var(--stagger, 0) * var(--stagger-step))}:is(.grid,.grid-2,.stats)>:nth-child(2){--stagger: 1}:is(.grid,.grid-2,.stats)>:nth-child(3){--stagger: 2}:is(.grid,.grid-2,.stats)>:nth-child(4){--stagger: 3}:is(.grid,.grid-2,.stats)>:nth-child(5){--stagger: 4}:is(.grid,.grid-2,.stats)>:nth-child(6){--stagger: 5}:is(.grid,.grid-2,.stats)>:nth-child(7){--stagger: 6}:is(.grid,.grid-2,.stats)>:nth-child(8){--stagger: 7}:is(.grid,.grid-2,.stats)>:nth-child(9){--stagger: 8}:is(.grid,.grid-2,.stats)>:nth-child(10){--stagger: 9}:is(.grid,.grid-2,.stats)>:nth-child(11){--stagger: 10}:is(.grid,.grid-2,.stats)>:nth-child(12){--stagger: 11}:is(.grid,.grid-2,.stats)>:nth-child(n+13){--stagger: 12}app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh}.shell{flex:1 1 auto;min-height:0}.shell.mat-drawer-transition .mat-drawer-content{transition-duration:var(--dur-slow);transition-timing-function:var(--ease-out)}.sidenav-inner{display:flex;flex-direction:column;min-height:100%;padding:12px 12px 20px;box-sizing:border-box}.sidenav .nav-section.mat-mdc-subheader{margin:0;height:auto;padding:20px 12px 6px;font:600 .75rem/1 var(--font-sans);color:color-mix(in srgb,var(--mat-sys-primary) 55%,var(--mat-sys-on-surface-variant))}.sidenav .mat-mdc-nav-list{padding:0}.sidenav .mat-mdc-list-item{margin-bottom:2px;border-radius:10px;transition:background-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.sidenav .mat-mdc-list-item .mat-icon{transition:translate var(--dur) var(--ease-spring),color var(--dur-fast) ease}@media(hover:hover){.sidenav .mat-mdc-list-item:not(.active-link):hover .mat-icon{translate:2px 0}}@keyframes nav-mark{0%{scale:1 0}}.active-link{background:var(--accent-soft)!important;--mat-list-list-item-label-text-color: var(--mat-sys-on-primary-container);--mat-list-list-item-hover-label-text-color: var(--mat-sys-on-primary-container);--mat-list-list-item-focus-label-text-color: var(--mat-sys-on-primary-container);--mat-list-list-item-label-text-weight: 600;--mat-list-list-item-leading-icon-color: var(--mat-sys-primary);--mat-list-list-item-hover-leading-icon-color: var(--mat-sys-primary);box-shadow:0 0 0 1px var(--accent-ring),0 1px 2px var(--shadow-c),0 6px 16px -8px color-mix(in srgb,var(--mat-sys-primary) 45%,transparent)}.active-link:after{content:"";position:absolute;left:5px;top:11px;bottom:11px;width:3px;border-radius:3px;background:var(--mat-sys-primary);pointer-events:none;animation:nav-mark var(--dur) var(--ease-spring) backwards}.nav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;box-sizing:border-box;border-radius:999px;font:650 .6875rem/1 var(--font-sans);font-variant-numeric:tabular-nums;color:var(--mat-sys-on-primary);background:var(--mat-sys-primary)}.nav-badge.sev-critical,.nav-badge.sev-high{color:var(--canvas);background:var(--danger)}.nav-badge.sev-medium{color:var(--canvas);background:var(--warn)}.sidenav.rail{--mat-sidenav-container-width: 72px}.sidenav.rail .sidenav-inner{padding-inline:10px}.sidenav.rail .sidenav-brand{justify-content:center;padding-inline:0}.sidenav.rail .brand-text{display:none}.sidenav.rail .nav-section.mat-mdc-subheader{height:1px;padding:0;margin:14px 10px;font-size:0;background:var(--border);opacity:1}.sidenav.rail .mat-mdc-list-item{--mat-list-list-item-leading-icon-start-space: 16px;--mat-list-list-item-leading-icon-end-space: 0;height:42px}.sidenav.rail .mat-mdc-list-item:hover .mat-icon{translate:none}.sidenav.rail .nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sidenav.rail .mdc-list-item__end{position:absolute;top:7px;left:35px;margin:0}.sidenav.rail .nav-badge{min-width:9px;height:9px;padding:0;font-size:0;box-shadow:0 0 0 2px var(--canvas)}.brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:650;letter-spacing:-.01em;border-radius:12px}.sidenav-brand{display:flex;padding:6px 8px 8px}.brand-text{display:inline-flex;flex-direction:column;line-height:1.15}.brand-name{font-size:.9375rem}.brand-sub{font-size:.75rem;font-weight:500;color:var(--mat-sys-on-surface-variant)}.brand-mark{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent-grad);color:#fff;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--accent-500) 70%,transparent),inset 0 1px #ffffff59;transition:rotate var(--dur) var(--ease-spring),scale var(--dur) var(--ease-spring),box-shadow var(--dur) ease}.brand-mark mat-icon{width:20px;height:20px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}@media(hover:hover){.brand:hover .brand-mark{rotate:-6deg;scale:1.06;box-shadow:0 10px 22px -8px color-mix(in srgb,var(--accent-500) 85%,transparent),inset 0 1px #ffffff59}}.shell.mat-drawer-container{background:var(--canvas)}.main-area{scrollbar-gutter:stable;scroll-padding-top:calc(var(--topbar-h) + 56px);background:radial-gradient(900px 380px at 85% -140px,color-mix(in srgb,var(--accent-500) 15%,transparent),transparent 70%),radial-gradient(700px 300px at 8% -180px,color-mix(in srgb,var(--accent-alt) 8%,transparent),transparent 70%),var(--app-bg)}@media(min-width:901px){.main-area.mat-drawer-content{margin-top:var(--inset);margin-right:var(--inset);height:calc(100% - 2 * var(--inset));border:1px solid var(--border);border-radius:18px;box-sizing:border-box;box-shadow:0 1px 2px var(--shadow-c),0 8px 28px -14px var(--shadow-c-strong)}}@media(prefers-reduced-motion:no-preference){.main-area{scroll-behavior:smooth}}.topbar-wrap{position:sticky;top:0;z-index:10;background-color:color-mix(in srgb,var(--app-bg) 76%,transparent);backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid var(--border)}@supports (animation-timeline: scroll()){.topbar-wrap{background-color:transparent;border-bottom-color:transparent;animation:topbar-raise auto linear both;animation-timeline:scroll(nearest block);animation-range:0 80px}}.topbar{gap:6px;padding:0 clamp(8px,1.6vw,20px)}.rail-toggle .mat-icon{transition:scale var(--dur) var(--ease-out)}.shell:has(.sidenav.rail) .rail-toggle .mat-icon{scale:-1 1}.spacer{flex:1 1 auto}.loading-slot{position:absolute;left:0;right:0;bottom:-1px;height:2px;--mat-progress-bar-active-indicator-height: 2px;--mat-progress-bar-track-height: 2px}.user-btn .mdc-button__label{display:inline-flex;align-items:center;gap:8px}html .user-btn.mat-mdc-button{padding-inline:6px 12px;border-radius:999px}.avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--accent-600),var(--accent-800));color:#fff;font-size:.8125rem;font-weight:700;box-shadow:0 0 0 2px var(--app-bg),0 0 0 3px color-mix(in srgb,var(--mat-sys-primary) 45%,transparent);transition:box-shadow var(--dur) ease}.user-btn:hover .avatar{box-shadow:0 0 0 2px var(--app-bg),0 0 0 4px color-mix(in srgb,var(--mat-sys-primary) 70%,transparent)}html .tasks-pill.mat-mdc-button{--mat-button-text-label-text-color: var(--info);background:color-mix(in srgb,var(--info) 10%,transparent);border-radius:999px;padding-inline:12px 14px}.content{padding:var(--page-pad-top) var(--page-pad-x) calc(var(--page-pad-top) * 2);max-width:1480px;margin:0 auto;outline:none}@media(max-width:900px){.hide-sm{display:none}}@media(max-width:600px){.topbar .brand-text{display:none}}.bottom-nav{flex:none;position:relative;z-index:5;display:flex;min-height:var(--bottom-nav-h);box-sizing:border-box;padding:6px max(4px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));background:var(--elevated-bg);border-top:1px solid var(--border);box-shadow:0 -8px 24px -18px var(--shadow-c-strong)}.dock-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;margin:0;padding:2px 0;border:0;border-radius:14px;background:none;cursor:pointer;font:600 .6875rem/1.2 var(--font-sans);color:var(--mat-sys-on-surface-variant);text-decoration:none;-webkit-tap-highlight-color:transparent;transition:color var(--dur-fast) ease}.dock-item:focus-visible{outline:2px solid var(--mat-sys-primary);outline-offset:-2px}.dock-item.active{color:var(--mat-sys-on-surface)}.dock-icon{display:grid;place-items:center;width:56px;max-width:100%;height:30px;border-radius:999px;transition:background-color var(--dur) var(--ease-out),color var(--dur-fast) ease}.dock-icon mat-icon{width:22px;height:22px;transition:scale var(--dur) var(--ease-spring)}.dock-label{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media(max-width:360px){.dock-item{font-size:.625rem}}.dock-item:active .dock-icon mat-icon{scale:.9}.dock-item.active{color:var(--mat-sys-primary)}.dock-item.active .dock-icon{color:var(--mat-sys-primary);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-ring)}@media(max-height:500px){html{--bottom-nav-h: 48px}.dock-item{font-size:0;gap:0}}body:has(.bottom-nav) .mat-mdc-snack-bar-container{margin-bottom:calc(var(--bottom-nav-h) + 8px + env(safe-area-inset-bottom))}.page-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:clamp(18px,.9rem + 1vw,28px)}.page-header h1{margin:0;min-width:0;overflow-wrap:anywhere}.page-header .actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px}@media(max-width:600px){.page-header .actions:has(>:is(.mat-mdc-unelevated-button,.mat-mdc-outlined-button)){margin-left:0;width:100%}.page-header .actions:has(>:is(.mat-mdc-unelevated-button,.mat-mdc-outlined-button))>:is(.mat-mdc-unelevated-button,.mat-mdc-outlined-button){flex:1 1 auto}}.page-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;flex:none;color:#fff;background:var(--accent-grad);box-shadow:0 8px 20px -8px color-mix(in srgb,var(--accent-500) 75%,transparent),inset 0 1px #ffffff59}.page-icon mat-icon{filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}html .server-tabs{position:sticky;top:var(--topbar-h);z-index:5;margin-bottom:24px;background-color:color-mix(in srgb,var(--app-bg) 82%,transparent);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px)}@media(max-height:560px){html .server-tabs{position:static}}html .server-tabs .mat-mdc-tab-link{padding-inline:16px;min-width:0}.section-chips{position:relative;display:flex;gap:6px;margin:0 calc(-1 * var(--page-pad-x)) 18px;padding:2px var(--page-pad-x) 6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--page-pad-x),#000 calc(100% - var(--page-pad-x)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--page-pad-x),#000 calc(100% - var(--page-pad-x)),transparent)}.section-chips::-webkit-scrollbar{display:none}.section-chip{flex:none;scroll-snap-align:center;padding:8px 14px;border-radius:999px;white-space:nowrap;font:550 .875rem/1.2 var(--font-sans);color:var(--mat-sys-on-surface-variant);text-decoration:none;background:var(--surface-card);border:1px solid var(--border);transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease}.section-chip:hover{color:var(--mat-sys-on-surface);border-color:var(--border-strong)}.section-chip:focus-visible{outline:2px solid var(--mat-sys-primary);outline-offset:2px}.section-chip.active{color:var(--mat-sys-on-primary);background:var(--mat-sys-primary);border-color:transparent;box-shadow:0 4px 12px -6px color-mix(in srgb,var(--mat-sys-primary) 80%,transparent)}.card{--scroll-bg: var(--surface-card);container:card/inline-size;position:relative;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--card-pad);box-shadow:var(--shadow-sm),inset 0 1px 0 var(--highlight)}.card h2{margin:0 0 16px;font:650 1rem/1.4 var(--font-sans);letter-spacing:-.015em}.card>.row:first-child:has(>h2){margin-bottom:14px}.card.server-card>.row:first-child{margin-bottom:0}app-task-progress.mb-8{margin-bottom:var(--gap)}.card .card{--scroll-bg: var(--surface-2);background:var(--surface-2);box-shadow:none}.row+.card{margin-top:16px}.card.mb-8{margin-bottom:var(--gap)}.card.mt-16{margin-top:var(--gap)}.alert.mb-8{margin-bottom:16px}.grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr))}.grid-2{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}.stack>*+*{margin-top:16px}.row{display:flex;align-items:center}:where(.row,mat-form-field.w-100)+mat-form-field{margin-top:14px}.row:has(>mat-form-field :is(mat-hint,mat-error)){align-items:flex-start}.row:has(>mat-form-field :is(mat-hint,mat-error))>.mat-mdc-button-base{margin-top:8px}.row:has(>mat-form-field :is(mat-hint,mat-error))>mat-checkbox{margin-top:6px}.row:has(>mat-form-field :is(mat-hint,mat-error))>mat-slide-toggle{margin-top:10px}@media(max-width:600px){.row.wrap>mat-form-field{flex:1 1 100%;min-width:0}}.wrap{flex-wrap:wrap}.space-between{justify-content:space-between}.gap-4{gap:4px}.gap-8{gap:8px}.gap-16{gap:16px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.ml-8{margin-left:8px}.w-100{width:100%}.muted{color:var(--mat-sys-on-surface-variant)}.small{font-size:.8125rem}.mono{font-family:var(--mono)}.pre-line{white-space:pre-line}.text-danger{color:var(--danger)}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.break{word-break:break-all}.mat-mdc-button-base.text-danger,.mat-mdc-menu-item.text-danger{--mat-button-outlined-label-text-color: var(--danger);--mat-button-text-label-text-color: var(--danger);--mat-button-outlined-outline-color: color-mix(in srgb, var(--danger) 45%, transparent);--mat-menu-item-label-text-color: var(--danger);--mat-menu-item-icon-color: var(--danger)}.mat-mdc-button-base.text-warn{--mat-button-outlined-label-text-color: var(--warn);--mat-button-text-label-text-color: var(--warn);--mat-button-outlined-outline-color: color-mix(in srgb, var(--warn) 45%, transparent)}.table-wrap{overflow-x:auto;background:linear-gradient(to right,var(--scroll-bg, var(--app-bg)) 40%,transparent) left/36px 100% no-repeat local,linear-gradient(to left,var(--scroll-bg, var(--app-bg)) 40%,transparent) right/36px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,var(--scroll-shadow),transparent) left/14px 100% no-repeat,radial-gradient(farthest-side at 100% 50%,var(--scroll-shadow),transparent) right/14px 100% no-repeat,var(--scroll-bg, var(--app-bg))}.card .table-wrap{margin-inline:calc(-1 * var(--card-pad))}.card.table-wrap{padding:0}table.data{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}table.data th,table.data td{text-align:left;padding:12px clamp(10px,.4rem + .4vw,14px);border-bottom:1px solid var(--border);vertical-align:middle}table.data th{font-size:.75rem;font-weight:550;letter-spacing:.01em;white-space:nowrap;color:var(--mat-sys-on-surface-variant);background:var(--table-head-bg);padding-top:10px;padding-bottom:10px}table.data tbody tr:last-child td{border-bottom:0}table.data tbody td{transition:background-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}table.data tbody tr:hover td{background:var(--row-hover)}table.data tbody tr:hover td:first-child{box-shadow:inset 2px 0 0 var(--mat-sys-primary)}table.data td.actions{white-space:nowrap;text-align:right}table.data td.actions .row{justify-content:flex-end;flex-wrap:nowrap}table.data td.actions>.mat-mdc-button-base{vertical-align:middle}table.data td a{font-weight:600;text-decoration:none;white-space:nowrap}table.data td.cell-title{min-width:180px}table.data td.cell-title>a{white-space:normal}table.data td a:hover{text-decoration:underline}.card .table-wrap table.data :is(th,td):first-child,.card.table-wrap table.data :is(th,td):first-child{padding-left:var(--card-pad)}.card .table-wrap table.data :is(th,td):last-child,.card.table-wrap table.data :is(th,td):last-child{padding-right:var(--card-pad)}.card .table-wrap table.data thead th{border-top:1px solid var(--border)}.card.table-wrap table.data thead th{border-top:0}table.data th.mat-sort-header .mat-sort-header-container{letter-spacing:inherit;border-radius:4px}table.data th.mat-sort-header .mat-sort-header-container:focus-visible{outline:2px solid var(--mat-sys-primary);outline-offset:2px}table.data th.mat-sort-header.cdk-keyboard-focused .mat-sort-header-container{border-bottom:0}table.data th.mat-sort-header:is([aria-sort=ascending],[aria-sort=descending]){color:var(--mat-sys-on-surface)}table.data th.mat-sort-header:hover{color:var(--mat-sys-on-surface)}@media(max-width:700px){.card.table-wrap table.data.stack-sm thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.card.table-wrap table.data.stack-sm tbody,.card.table-wrap table.data.stack-sm tr{display:block}.card.table-wrap table.data.stack-sm tbody tr{padding:14px var(--card-pad);border-bottom:1px solid var(--border)}.card.table-wrap table.data.stack-sm tbody tr:last-child{border-bottom:0}.card.table-wrap table.data.stack-sm tbody td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0;border:0;text-align:right;min-height:24px}.card.table-wrap table.data.stack-sm tbody td[data-label]:before{content:attr(data-label);color:var(--mat-sys-on-surface-variant);font-size:.8125rem;text-align:left}.card.table-wrap table.data.stack-sm tbody td.cell-title{display:block;text-align:left;padding-bottom:8px}.card.table-wrap table.data.stack-sm tbody td.cell-title>a{white-space:normal;font-size:1rem}.card.table-wrap table.data.stack-sm tbody td.actions{justify-content:flex-start;padding-top:10px;margin-top:6px;border-top:1px solid var(--border)}.card.table-wrap table.data.stack-sm tbody td.empty{display:block;text-align:center}.card.table-wrap table.data.stack-sm tbody td.sm-hide{display:none}.card.table-wrap table.data.stack-sm tbody tr:hover td{background:none}.card.table-wrap table.data.stack-sm tbody tr:hover td:first-child{box-shadow:none}}app-update-badge{display:contents}.update-pill{display:inline-flex;align-items:center;gap:4px;width:fit-content;padding:2px 10px 2px 6px;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.35;white-space:nowrap;text-decoration:none;color:var(--mat-sys-primary);border:1px solid color-mix(in srgb,currentColor 30%,transparent);background:color-mix(in srgb,currentColor 10%,transparent);transition:background-color var(--dur-fast) ease}.update-pill mat-icon{width:14px;height:14px}@media(hover:hover){.update-pill:hover{background:color-mix(in srgb,currentColor 18%,transparent)}}.update-pill:focus-visible{outline:2px solid var(--mat-sys-primary);outline-offset:2px}td.cell-title .update-pill{margin-top:6px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1.35;letter-spacing:.01em;white-space:nowrap;border:1px solid color-mix(in srgb,currentColor 28%,transparent);background:color-mix(in srgb,currentColor 10%,transparent);transition:color var(--dur) ease}.badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.state-running,.task-succeeded,.b-ok{color:var(--ok)}.state-starting,.state-stopping,.state-busy,.task-running,.task-pending,.b-info{color:var(--info)}.state-error,.task-failed,.b-error{color:var(--danger)}.state-warn,.b-warn{color:var(--warn)}.state-stopped,.task-cancelled,.b-neutral{color:var(--mat-sys-on-surface-variant)}.state-running .dot{animation:ring 2.4s ease-out infinite}.state-starting .dot,.state-stopping .dot,.state-busy .dot{animation:pulse 1.2s infinite}.conn{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:550;padding:5px 12px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 26%,transparent);background:color-mix(in srgb,currentColor 8%,transparent);transition:color var(--dur) ease}.conn .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.conn-connected{color:var(--ok)}.conn-connecting{color:var(--warn)}.conn-disconnected{color:var(--danger)}.conn-connected .dot{animation:ring 2.4s ease-out infinite}.conn-connecting .dot{animation:pulse 1.2s infinite}.alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;border:1px solid;line-height:1.5;animation:drop-in var(--dur) var(--ease-out) backwards}.alert mat-icon{flex:0 0 auto;width:20px;height:20px}.alert-error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 32%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent)}.alert-warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 32%,transparent);background:color-mix(in srgb,var(--warn) 8%,transparent)}.alert-info{color:var(--info);border-color:color-mix(in srgb,var(--info) 28%,transparent);background:color-mix(in srgb,var(--info) 7%,transparent)}.alert-ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent);background:color-mix(in srgb,var(--ok) 8%,transparent)}.alert>div{color:var(--mat-sys-on-surface);flex:1 1 auto;min-width:0}.snack-error{--mat-snack-bar-container-color: #991b1b;--mat-snack-bar-supporting-text-color: #fff;--mat-snack-bar-button-color: #fecaca}.snack-success{--mat-snack-bar-container-color: #065f46;--mat-snack-bar-supporting-text-color: #fff;--mat-snack-bar-button-color: #a7f3d0}.danger-btn{--mat-button-filled-container-color: var(--danger);--mat-button-filled-label-text-color: light-dark(#fff, #3a0905)}html .mat-mdc-button-base{transition:box-shadow .28s cubic-bezier(.4,0,.2,1),border-color .28s cubic-bezier(.4,0,.2,1),scale var(--dur-fast) var(--ease-out)}html .mat-mdc-button-base:not(:disabled):active{scale:.97}html .mat-mdc-unelevated-button:not(:disabled){box-shadow:0 1px 2px var(--shadow-c-strong),0 4px 14px -6px color-mix(in srgb,var(--mat-button-filled-container-color, var(--mat-sys-primary)) 55%,transparent),inset 0 1px #ffffff29}@media(hover:hover){html .mat-mdc-unelevated-button:not(:disabled):hover{box-shadow:0 8px 18px -8px color-mix(in srgb,var(--mat-button-filled-container-color, var(--mat-sys-primary)) 75%,transparent),inset 0 1px #fff3}}html .mat-mdc-menu-panel{border:1px solid var(--border);box-shadow:var(--shadow-lg)}html .mat-mdc-menu-content{padding:6px}html .mat-mdc-menu-item{border-radius:8px;min-height:40px}html .mat-mdc-tooltip-surface{border-radius:8px;padding:6px 10px}html .mat-mdc-select-panel,html .mat-mdc-autocomplete-panel{border:1px solid var(--border);box-shadow:var(--shadow-lg)}html .mat-mdc-select.pill-select .mat-mdc-select-trigger{height:100%;padding:0 12px;box-sizing:border-box}html .mat-mdc-dialog-surface{border:1px solid var(--border);box-shadow:var(--shadow-lg)}html .cdk-overlay-dark-backdrop{background:#0408068c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}html .mat-mdc-snack-bar-container .mdc-snackbar__surface{box-shadow:var(--shadow-lg)}html .mat-stepper-horizontal{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm),inset 0 1px 0 var(--highlight)}html .mat-horizontal-stepper-header-container{border-bottom:1px solid var(--border)}html .mat-mdc-progress-bar{border-radius:999px}.loading-slot .mat-mdc-progress-bar{border-radius:0}.mat-mdc-form-field-hint:not(.text-danger){color:var(--mat-sys-on-surface-variant)}html .mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{background:var(--input-bg);border-radius:10px}html .mat-form-field-appearance-outline .mdc-notched-outline>*{transition:border-color var(--dur-fast) ease}.fields{display:grid;gap:14px 16px;align-items:start;grid-template-columns:repeat(auto-fit,minmax(min(var(--field-min, 200px),100%),1fr))}.fields>*{min-width:0}.fields+:is(.fields,mat-form-field){margin-top:14px}html .mat-mdc-icon-button:not(:disabled).act-go{--mat-icon-button-icon-color: var(--ok);background:color-mix(in srgb,var(--ok) 13%,transparent)}html .mat-mdc-icon-button:not(:disabled).act-stop{--mat-icon-button-icon-color: var(--danger);background:color-mix(in srgb,var(--danger) 11%,transparent)}html .copy-btn.mat-mdc-icon-button{--mat-icon-button-state-layer-size: 28px;--mat-icon-button-icon-size: 16px;padding:6px;vertical-align:middle;margin-left:2px;--mat-icon-button-icon-color: var(--mat-sys-on-surface-variant)}@media(max-width:900px){html .sidenav.mat-drawer-over{width:min(288px,86vw);border-radius:0 22px 22px 0;border-right:1px solid var(--border);box-shadow:var(--shadow-lg)}}@media(max-width:600px){html .cdk-global-overlay-wrapper:has(>.mat-mdc-dialog-panel){align-items:flex-end!important}html .mat-mdc-dialog-panel{width:100%!important;max-width:100vw!important}html .mat-mdc-dialog-container{--mat-dialog-container-shape: 22px 22px 0 0}html .mat-mdc-dialog-container .mat-mdc-dialog-surface{max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;transform:translateY(40px);transition:transform var(--dur-slow) var(--ease-out)}html .mat-mdc-dialog-container:is(.mdc-dialog--open,.mdc-dialog--closing) .mat-mdc-dialog-surface{transform:none}html .mat-mdc-dialog-container .mat-mdc-dialog-surface:after{content:"";position:absolute;top:8px;left:50%;translate:-50% 0;width:36px;height:4px;border-radius:2px;background:var(--border-strong);pointer-events:none}html .mat-mdc-dialog-actions{flex-wrap:wrap-reverse;gap:8px}html .mat-mdc-dialog-actions .mat-mdc-button-base{flex:1 1 auto;margin-left:0!important}html .mat-horizontal-stepper-header{padding-inline:12px}html .mat-horizontal-stepper-header:not([aria-selected=true]) .mat-step-label{display:none}html .mat-stepper-horizontal-line{min-width:12px}html .mat-horizontal-content-container{padding:0 var(--card-pad) var(--card-pad)}}.task-card{border:1px solid var(--border);border-radius:14px;padding:14px 16px;background:var(--surface-2);animation:rise-in var(--dur-slow) var(--ease-out) backwards}.steps{list-style:none;padding:0;margin:10px 0 0}.steps li{display:flex;align-items:center;gap:8px;padding:3px 0}.step-icon{width:18px;height:18px;flex:none;transition:color var(--dur) ease}.step-done .step-icon{color:var(--ok)}.step-failed .step-icon{color:var(--danger)}.step-running .step-icon{color:var(--info)}.step-pending{opacity:.6}.step-skipped{opacity:.7}.steps li{transition:opacity var(--dur) ease}.task-log,.console-view{font-family:var(--mono);font-size:.78rem;line-height:1.6;background:var(--term-bg);color:var(--term-fg);border:1px solid var(--term-border);border-radius:12px;padding:12px 14px;overflow:auto;white-space:pre-wrap;word-break:break-word;scrollbar-color:#2c3732 transparent;box-shadow:inset 0 1px #ffffff08}.task-log{max-height:280px}.console-view{height:clamp(320px,62dvh,1100px);margin:0;padding:14px 16px;font-size:clamp(.72rem,.68rem + .2vw,.8rem);transition:border-color var(--dur) ease,box-shadow var(--dur) ease}.console-view:focus-visible{outline:none;border-color:color-mix(in srgb,var(--mat-sys-primary) 55%,var(--term-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--mat-sys-primary) 22%,transparent)}.console-view .l-WARN{color:#fcd34d}.console-view .l-ERROR{color:#fca5a5}.console-view .l-DEBUG{color:var(--term-muted)}.cmd-row{display:flex;align-items:flex-start;gap:8px;margin-top:12px}.cmd-row mat-form-field{flex:1;min-width:0}.cmd-row input{font-family:var(--mono)}.cmd-row>button{margin-top:8px}.auth-page{position:relative;isolation:isolate;overflow:clip;min-height:100vh;min-height:100dvh;box-sizing:border-box;display:grid;place-items:center;padding:32px 16px;background:var(--app-bg)}.auth-page:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at center,#000 25%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 25%,transparent 75%)}.auth-page:after{content:"";position:absolute;inset:-15%;z-index:-2;pointer-events:none;background:radial-gradient(36% 34% at 22% 22%,color-mix(in srgb,var(--accent-500) 30%,transparent),transparent 70%),radial-gradient(32% 30% at 80% 80%,color-mix(in srgb,var(--accent-alt) 22%,transparent),transparent 70%),radial-gradient(24% 22% at 72% 20%,color-mix(in srgb,var(--accent-400) 15%,transparent),transparent 70%);animation:aurora 26s ease-in-out infinite alternate}.auth-card{--card-pad: clamp(22px, 1rem + 2vw, 32px);width:min(460px,100%);box-sizing:border-box;border-radius:22px;background:color-mix(in srgb,var(--surface-card) 84%,transparent);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:var(--shadow-lg),inset 0 1px 0 var(--highlight);animation:rise-in var(--dur-slow) var(--ease-out) backwards}.auth-card h1{font-size:1.5rem;margin:0 0 8px}.auth-card:before{content:"";position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--spin),transparent 0 58%,color-mix(in srgb,var(--mat-sys-primary) 90%,transparent) 76%,transparent 92%);-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-clip:content-box,border-box;-webkit-mask-composite:xor;mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-clip:content-box,border-box;mask-composite:exclude;opacity:.9;animation:spin 9s linear infinite}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-weight:650;letter-spacing:-.01em;color:var(--mat-sys-on-surface-variant)}.auth-title{display:flex;align-items:center;gap:12px}.qr{display:block;margin:14px auto;width:min(220px,100% - 22px);height:auto;aspect-ratio:1;image-rendering:pixelated;background:#fff;padding:10px;border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-md)}.codes{columns:2 9rem;font-family:var(--mono);list-style:none;padding:12px 16px;margin:12px 0 0;background:var(--surface-2);border:1px solid var(--border);border-radius:12px}.codes li{padding:3px 0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:clamp(12px,.4rem + .8vw,16px);margin-bottom:clamp(20px,1rem + 1vw,28px)}.stat{--tone: var(--mat-sys-primary);display:grid;grid-template-columns:1fr auto;grid-template-areas:"k icon" "v v";align-items:center;gap:10px 12px;padding:clamp(14px,.6rem + .5vw,18px);background:radial-gradient(160px 90px at 100% 0,color-mix(in srgb,var(--tone) 14%,transparent),transparent 70%),var(--surface-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm),inset 0 1px 0 var(--highlight);transition:translate var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) ease}.stat .v{grid-area:v;font-size:clamp(1.375rem,1.1rem + .8vw,1.75rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat .k{grid-area:k;font-size:.8125rem;font-weight:500;color:var(--mat-sys-on-surface-variant)}@media(hover:hover){.stat:hover{translate:0 -2px;box-shadow:var(--shadow-md),inset 0 1px 0 var(--highlight);border-color:color-mix(in srgb,var(--tone) 40%,var(--border))}.stat:hover .stat-icon{scale:1.08;rotate:-6deg}}.stat-icon{grid-area:icon;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--tone);background:color-mix(in srgb,var(--tone) 16%,transparent);transition:scale var(--dur) var(--ease-spring),rotate var(--dur) var(--ease-spring)}.stat-icon mat-icon{width:18px;height:18px}@media(max-width:599px){.stats{grid-template-columns:1fr 1fr}.stats>:last-child:nth-child(odd){grid-column:1/-1}}.stat-ok{--tone: var(--ok)}.stat-info{--tone: var(--info)}.stat-error{--tone: var(--danger)}.stat-neutral{--tone: var(--mat-sys-on-surface-variant)}.stat-warn{--tone: var(--warn)}:is(a,button).stat{color:inherit;text-decoration:none;font:inherit;text-align:start;cursor:pointer}:is(a,button).stat:focus-visible{outline:2px solid var(--mat-sys-primary);outline-offset:2px}.server-card{--state-tone: transparent;display:flex;flex-direction:column;gap:14px;background-image:radial-gradient(420px 140px at 0 0,color-mix(in srgb,var(--state-tone) 10%,transparent),transparent 70%);box-shadow:var(--shadow-sm),inset 0 2px color-mix(in srgb,var(--state-tone) 75%,transparent),inset 0 1px 0 var(--highlight);transition:translate var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) ease}@media(hover:hover){.server-card:hover{translate:0 -3px;box-shadow:var(--shadow-md),0 14px 32px -20px var(--state-tone),inset 0 2px color-mix(in srgb,var(--state-tone) 75%,transparent),inset 0 1px 0 var(--highlight);border-color:color-mix(in srgb,var(--state-tone) 30%,var(--border-strong))}}.server-card:has(.state-running){--state-tone: var(--ok)}.server-card:has(.state-error){--state-tone: var(--danger)}.server-card:has(.state-warn){--state-tone: var(--warn)}.server-card:has(.state-starting),.server-card:has(.state-stopping),.server-card:has(.state-busy){--state-tone: var(--info)}.server-card>app-server-actions{display:block;margin-top:auto;padding-top:10px;border-top:1px solid var(--border)}.last-logs{font-family:var(--mono);font-size:.72rem;line-height:1.55;background:var(--term-bg);color:var(--term-muted);border:1px solid var(--term-border);border-radius:10px;padding:8px 12px;max-height:96px;overflow:hidden;white-space:pre;text-overflow:ellipsis}.logs-empty{display:flex;align-items:center;gap:8px;margin:0;padding:8px 12px;border-radius:10px;font-size:.8125rem;color:var(--mat-sys-on-surface-variant);background:var(--surface-2);border:1px dashed var(--border-strong)}.logs-empty mat-icon{width:16px;height:16px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:4px 6px 4px 12px;border-radius:999px;background:var(--mat-sys-secondary-container);color:var(--mat-sys-on-secondary-container);font-size:.8125rem;font-weight:550;display:inline-flex;align-items:center;gap:4px;border:1px solid color-mix(in srgb,var(--mat-sys-primary) 22%,transparent);animation:drop-in var(--dur) var(--ease-out) backwards;transition:border-color var(--dur-fast) ease}.chip:hover{border-color:color-mix(in srgb,var(--mat-sys-primary) 45%,transparent)}.chip mat-icon{width:16px;height:16px}.chip button{all:unset;cursor:pointer;display:inline-flex;padding:2px;border-radius:50%;transition:background-color var(--dur-fast) ease,rotate var(--dur) var(--ease-spring)}.chip button:hover{background:color-mix(in srgb,currentColor 16%,transparent);rotate:90deg}.chip button:focus-visible{outline:2px solid var(--mat-sys-primary);outline-offset:1px}.empty{text-align:center;padding:clamp(28px,1rem + 3vw,48px) 16px;color:var(--mat-sys-on-surface-variant)}.empty-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 14px;border-radius:16px;color:var(--mat-sys-primary);background:color-mix(in srgb,var(--mat-sys-primary) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mat-sys-primary) 24%,transparent)}.empty-icon mat-icon{width:26px;height:26px}.empty>p{margin:0}.empty>p+*{margin-top:14px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.skeleton{display:block;height:12px;border-radius:6px;max-width:var(--w, 100%);background:linear-gradient(90deg,var(--surface-2) 30%,color-mix(in srgb,var(--mat-sys-on-surface) 8%,var(--surface-2)) 50%,var(--surface-2) 70%) 0 0/300% 100%;animation:shimmer 1.4s ease-in-out infinite}table.data tr.skeleton-row td{padding-block:17px}table.data tbody tr.skeleton-row:hover td{background:none;box-shadow:none}.card.empty{border-style:dashed;border-color:var(--border-strong);box-shadow:none;background:radial-gradient(60% 80% at 50% 0,color-mix(in srgb,var(--mat-sys-primary) 9%,transparent),transparent 70%)}.kv{display:grid;grid-template-columns:fit-content(45%) minmax(0,1fr);gap:8px 20px;margin:0}.kv dt{color:var(--mat-sys-on-surface-variant)}.kv dd{margin:0;word-break:break-word}@container card (max-width: 300px){.kv{grid-template-columns:minmax(0,1fr);gap:2px}.kv dd+dt{margin-top:8px}}.prefs fieldset{border:0;padding:0;margin:0;min-width:0}.prefs fieldset+fieldset{margin-top:20px}.prefs legend{padding:0;margin-bottom:10px;font:600 .875rem/1.4 var(--font-sans)}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{display:grid;justify-items:center;gap:8px;min-width:76px;padding:8px 4px;border-radius:12px;cursor:pointer;font-size:.8125rem;font-weight:550;color:var(--mat-sys-on-surface-variant);transition:color var(--dur-fast) ease,background-color var(--dur-fast) ease}.swatch:hover{color:var(--mat-sys-on-surface);background:var(--row-hover)}.swatch:has(:checked){color:var(--mat-sys-on-surface)}.swatch:has(:focus-visible){outline:2px solid var(--mat-sys-primary);outline-offset:2px}.swatch-dot{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--swatch);color:#fff;box-shadow:inset 0 1px #ffffff4d,0 0 0 1px var(--border);transition:scale var(--dur) var(--ease-spring),box-shadow var(--dur) ease}.swatch-dot mat-icon{width:20px;height:20px;opacity:0;scale:.5;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3));transition:opacity var(--dur-fast) ease,scale var(--dur) var(--ease-spring)}.swatch:hover .swatch-dot{scale:1.08}.swatch:has(:checked) .swatch-dot{box-shadow:inset 0 1px #ffffff4d,0 0 0 2px var(--surface-card),0 0 0 4px var(--mat-sys-primary)}.swatch:has(:checked) .swatch-dot mat-icon{opacity:1;scale:1}.swatch-emerald{--swatch: linear-gradient(135deg, #6ee7b7, #10b981 45%, #047857)}.swatch-blue{--swatch: linear-gradient(135deg, #93c5fd, #3b82f6 45%, #1d4ed8)}.swatch-violet{--swatch: linear-gradient(135deg, #c4b5fd, #8b5cf6 45%, #6d28d9)}.swatch-pink{--swatch: linear-gradient(135deg, #f9a8d4, #ec4899 45%, #be185d)}.swatch-orange{--swatch: linear-gradient(135deg, #fdba74, #f97316 45%, #c2410c)}.swatch-graphite{--swatch: linear-gradient(135deg, #d4d4d8, #71717a 45%, #3f3f46)}@media(prefers-reduced-motion:reduce){html{--dur-fast: 0s;--dur: 0s;--dur-slow: 0s;--stagger-step: 0ms}.dot,.auth-page:after,.auth-card:before,.skeleton{animation:none!important}.server-card:hover,.stat:hover{translate:none}.brand:hover .brand-mark,.stat:hover .stat-icon,.swatch:hover .swatch-dot{rotate:none;scale:none}}
