






















@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/vendor/fonts/manrope-latin-400.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/vendor/fonts/manrope-cyrillic-400.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/vendor/fonts/manrope-latin-600.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/vendor/fonts/manrope-cyrillic-600.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/vendor/fonts/manrope-latin-700.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/vendor/fonts/manrope-cyrillic-700.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/vendor/fonts/jbmono-latin-400.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/vendor/fonts/jbmono-cyrillic-400.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/vendor/fonts/jbmono-latin-600.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/static/vendor/fonts/jbmono-cyrillic-600.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
:root {
  
  --bg: #131415;
  --bg-glow: rgba(255, 255, 255, 0.028);   
  --panel: #131415;
  --panel-2: #1b1c1e;
  --panel-3: #202124;

  
  --border: rgba(255, 255, 255, 0.055);
  --border-strong: rgba(255, 255, 255, 0.10);

  
  --text: #cfd2d5;
  --text-dim: #a3a7ab;
  --muted: #83878c;

  
  --accent: #cfd2d5;
  --accent-soft: rgba(255, 255, 255, 0.08);
  --accent-line: rgba(255, 255, 255, 0.24);

  --brand-core: #b9bdc2;
  --logo-ink: #d8dbde;
  --overlay: rgba(9, 10, 12, 0.6);
  --row-hover: rgba(255, 255, 255, 0.03);
  --field-focus: rgba(255, 255, 255, 0.04);
  --scroll: #2c2e30;
  --scroll-hover: #3a3d40;
  --sel: rgba(255, 255, 255, 0.16);

  --chart-grid-h: rgba(255, 255, 255, 0.045);
  --chart-grid-v: rgba(255, 255, 255, 0.022);
  --chart-axis: rgba(255, 255, 255, 0.07);
  --chart-tick: #83878c;
  --chart-cross: #878b90;
  --chart-cross-text: #d2d4d7;
  --chart-cross-bg: #212325;

  --shadow-float: 0 8px 20px rgba(0, 0, 0, 0.45);
  --shadow-sheet: 0 -10px 26px rgba(0, 0, 0, 0.45);

  --up-ink: #aed7d1;
  --down-ink: #dba9a6;
  --on-accent: #131415;

  
  --up: #26a69a;
  --down: #ef5350;
  --warn: #c8a05c;   

  

  --mark-green: #57b39a;
  --mark-red: #d0736f;
  --mark-blue: #6d95d6;

  


  --ruler: #a3b8d6;
  --ray: #a3b8d6;
  --ray-line: rgba(163, 184, 214, 0.45);   
  --ray-chip: #161c24;                     
  --ray-ink: #c2cdda;                      
  --alert: #b3a266;                        
  --chart-label-ink: #d5d8dd;
  --chart-label-shadow: 0 1px 3px rgba(0, 0, 0, 0.75);
  --vol-up: rgba(38, 166, 154, 0.26);
  --vol-down: rgba(239, 83, 80, 0.26);

  
  --radius: 4px;
  --radius-sm: 4px;
  --row-h: 30px;
  
  --rail-w: 36px;

  
  --shadow-panel: none;
  --shadow-pop: 0 16px 34px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.07);

  --font-ui: "Manrope", -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  
  --font-num: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}


html, body {
  margin: 0;
  height: 100%;
  font-family: var(--font-ui);
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection {
  background: var(--sel);
  color: var(--text);
}


:focus-visible {
  outline: none;
  box-shadow: 0 0 0 1px var(--accent);
  border-radius: var(--radius-sm);
}




[hidden] {
  display: none !important;
}


* {
  scrollbar-width: thin;
  scrollbar-color: var(--scroll) transparent;
}
*::-webkit-scrollbar { width: 9px; height: 9px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb {
  background: var(--scroll);
  border: 2px solid transparent;
  background-clip: content-box;
  border-radius: 6px;
}
*::-webkit-scrollbar-thumb:hover { background: var(--scroll-hover); background-clip: content-box; }
*::-webkit-scrollbar-corner { background: transparent; }





.brand {
  --brand-scale: 1;
  display: inline-flex;
  align-items: center;
  gap: calc(9px * var(--brand-scale));
  color: var(--text);
  text-decoration: none;
}
.brand-mark {
  width: calc(30px * var(--brand-scale));
  height: calc(30px * var(--brand-scale));
  margin-bottom: calc(3px * var(--brand-scale));
  flex: 0 0 auto;
  color: var(--logo-ink);
}
.brand-mark .core-dot { fill: currentColor; }
.brand-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(3px * var(--brand-scale));
  min-width: 0;
}
.brand-word {
  position: relative;
  padding-bottom: calc(3px * var(--brand-scale));
  font-size: calc(17px * var(--brand-scale));
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: .3px;
  white-space: nowrap;
}

.brand-word::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(1px * var(--brand-scale));
  background: linear-gradient(90deg, var(--border-strong) 0 60%, var(--brand-core) 60% 100%);
}

.brand-ice { font-style: normal; color: var(--brand-core); }
.brand-sub {
  color: var(--muted);
  font-size: calc(8.5px * var(--brand-scale));
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
}


@media (max-width: 720px) {
  .brand { --brand-scale: .88; }
}

.topbar {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  flex: 0 0 auto;
  min-height: 44px;
  padding: 8px 18px;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
}
.top-nav { display: flex; align-items: center; gap: 4px; }
.topbar .top-nav { margin-left: auto; }
.topbar .top-nav + .auth { margin-left: 4px; }
.top-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: auto;
  height: 30px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  transition: color .15s, border-color .15s, background .15s, padding .18s ease, gap .18s ease;
}
.top-btn svg { display: block; }
.top-btn-label {
  display: block;
  max-width: 160px;
  overflow: hidden;
  white-space: nowrap;
  transition: max-width .2s ease, opacity .16s ease;
}
.top-btn:hover { color: var(--text); background: var(--panel-3); }
.top-btn:focus-visible { outline: 1px solid var(--accent); outline-offset: 1px; }
.top-btn.is-current {
  color: var(--text);
  border-color: var(--border-strong);
  background: var(--accent-soft);
}
.top-nav .top-btn.is-current { display: none; }


@media (max-width: 720px) {
  .topbar {
    flex-direction: row;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 6px 12px;
  }
  .topbar .top-nav { margin-left: auto; }
  .topbar .top-nav + .auth { margin-left: 0; }
}


[data-theme="gray"] {
  --bg: #1d1e21;
  --panel: #1d1e21;
  --panel-2: #26272b;
  --panel-3: #2d2e33;

  --border: rgba(255, 255, 255, 0.07);
  --border-strong: rgba(255, 255, 255, 0.13);

  --text: #d6d8db;
  --text-dim: #a8abaf;
  --muted: #8b8e93;

  --accent: #d6d8db;
  --accent-soft: rgba(255, 255, 255, 0.09);
  --accent-line: rgba(255, 255, 255, 0.28);

  --brand-core: #c3c6ca;
  --logo-ink: #dadcdf;
  --overlay: rgba(12, 13, 15, 0.6);
  --row-hover: rgba(255, 255, 255, 0.045);
  --field-focus: rgba(255, 255, 255, 0.05);
  --scroll: #3c3e42;
  --scroll-hover: #4a4c51;
  --sel: rgba(255, 255, 255, 0.18);

  --chart-grid-h: rgba(255, 255, 255, 0.05);
  --chart-grid-v: rgba(255, 255, 255, 0.028);
  --chart-axis: rgba(255, 255, 255, 0.09);
  --chart-tick: #8b8e93;
  --chart-cross: #8f9296;
  --chart-cross-text: #d3d5d7;
  --chart-cross-bg: #2a2b2f;

  --shadow-pop: 0 16px 34px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.09);
  --shadow-float: 0 8px 20px rgba(0, 0, 0, 0.4);
  --shadow-sheet: 0 -10px 26px rgba(0, 0, 0, 0.4);
}

[data-theme="light"] {
  --bg: #edf0f2;
  --panel: #edf0f2;
  --panel-2: #f7f8fa;
  --panel-3: #e0e3e7;

  --border: rgba(20, 24, 30, 0.07);
  --border-strong: rgba(20, 24, 30, 0.14);

  --text: #232527;
  --text-dim: #565a5e;
  --muted: #64686c;

  --accent: #232527;
  --accent-soft: rgba(20, 24, 30, 0.06);
  --accent-line: rgba(20, 24, 30, 0.35);

  --brand-core: #6b6f74;
  --logo-ink: #0d1117;
  --overlay: rgba(20, 30, 45, 0.42);
  --row-hover: rgba(20, 24, 30, 0.05);
  --field-focus: rgba(20, 24, 30, 0.04);
  --scroll: #c6c9cd;
  --scroll-hover: #b5b9bd;
  --sel: rgba(20, 24, 30, 0.14);

  --warn: #96762a;
  --mark-green: #3f9474;
  --mark-red: #c25c58;
  --mark-blue: #4a70b8;

  --ruler: #4d6fbe;
  --ray: #4d6fbe;
  --ray-line: rgba(77, 111, 190, 0.5);
  --ray-chip: #eef1f7;
  --ray-ink: #24365c;
  --alert: #97803a;
  --chart-label-ink: #232527;
  --chart-label-shadow: 0 1px 3px rgba(255, 255, 255, 0.85);
  --vol-up: rgba(63, 154, 141, 0.30);
  --vol-down: rgba(198, 96, 92, 0.30);

  --chart-grid-h: rgba(20, 24, 30, 0.10);
  --chart-grid-v: rgba(20, 24, 30, 0.05);
  --chart-axis: #d9dbde;
  --chart-tick: #6f7377;
  --chart-cross: #9a9ea3;
  --chart-cross-text: #232527;
  --chart-cross-bg: #f7f8fa;

  --shadow-pop: 0 16px 34px rgba(23, 34, 51, 0.16), 0 0 0 1px rgba(20, 24, 30, 0.10);
  --shadow-float: 0 8px 20px rgba(23, 34, 51, 0.16);
  --shadow-sheet: 0 -10px 26px rgba(23, 34, 51, 0.14);

  --up-ink: #10695f;
  --down-ink: #a3251f;
  --on-accent: #ffffff;
}
