﻿/* в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ
   FONTS & RESET
в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ */
@font-face {
  font-family: "Windows XP Tahoma";
  src:
    url("./assets/fonts/windows-xp-tahoma.otf.woff2") format("woff2"),
    url("./assets/fonts/windows-xp-tahoma.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --xp-blue:        #0a246a;
  --xp-blue-light:  #2060c8;
  --xp-blue-mid:    #1e50b0;
  --xp-taskbar:     #1f5fb5;
  --xp-start-green: #3d8a26;
  --xp-teal:        #3a6ea5;
  --xp-desktop:     #008080;
  --xp-win-bg:      #ece9d8;
  --xp-win-border:  #0054e3;
  --xp-title-grad1: #4a90e2;
  --xp-title-grad2: #1e50b0;
  --xp-btn-face:    #ece9d8;
  --xp-btn-border:  #808080;
  --xp-scrollbar:   #d4d0c8;
  --font: "Windows XP Tahoma", Tahoma, "MS Sans Serif", sans-serif;
  --cursor-normal: url("./assets/cursors/normal.cur"), url("./assets/cursors/normal.png"), default;
  --cursor-link: url("./assets/cursors/link.cur"), url("./assets/cursors/link.png"), pointer;
  --cursor-text: url("./assets/cursors/text.cur"), url("./assets/cursors/text.png"), text;
  --cursor-move: url("./assets/cursors/move.cur"), url("./assets/cursors/move.png"), move;
  --cursor-help: url("./assets/cursors/help.cur"), url("./assets/cursors/help.png"), help;
  --cursor-precision: url("./assets/cursors/precision.cur"), url("./assets/cursors/precision.png"), crosshair;
  --cursor-unavailable: url("./assets/cursors/unavailable.cur"), url("./assets/cursors/unavailable.png"), not-allowed;
  --cursor-working: url("./assets/cursors/working.cur"), url("./assets/cursors/working.png"), progress;
  --cursor-busy: url("./assets/cursors/busy.cur"), url("./assets/cursors/busy.png"), wait;
  --cursor-resize-ew: url("./assets/cursors/resize-ew.cur"), url("./assets/cursors/resize-ew.png"), ew-resize;
  --cursor-resize-se: url("./assets/cursors/resize-se.cur"), url("./assets/cursors/resize-se.png"), se-resize;
  
  /* Status colors */
  --green:  #008000;
  --red:    #cc0000;
  --yellow: #cc8800;
}

html, body {
  width: 100%; height: 100%;
  font-family: var(--font);
  font-size: 12px;
  overflow: hidden;
  cursor: var(--cursor-normal);
}

/* в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ
   DESKTOP
в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ */
#desktop {
  width: 100vw;
  height: calc(100vh - 42px);
  background: #6eb2ff url("./assets/wallpapers/bliss.jpg") center center / cover no-repeat;
  position: relative;
  overflow: hidden;
}

/* Desktop icons */
.desktop-icon {
  position: absolute;
  width: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 4px 5px;
  border-radius: 3px;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.12s ease, box-shadow 0.12s ease;
}
.desktop-icon:hover { background: rgba(255,255,255,0.14); }
.desktop-icon.selected { background: rgba(30,80,180,0.5); outline: 1px dotted white; }
.desktop-icon--dragging {
  z-index: 220;
  cursor: var(--cursor-move);
  background: rgba(30,80,180,0.42);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
}
.desktop-icon .ico { font-size: 34px; line-height: 1; }
.desktop-icon__image {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.desktop-icon__image--pixelated {
  image-rendering: pixelated;
}

.desktop-icon .lbl {
  color: white;
  font-size: 13px;
  text-align: center;
  text-shadow: 1px 1px 1px black, -1px -1px 1px black;
  line-height: 1.25;
  word-break: break-word;
}

/* в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ
   WINDOW BASE
в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ */
.window {
  position: absolute;
  background: var(--xp-win-bg);
  border: 2px solid var(--xp-win-border);
  border-radius: 8px 8px 4px 4px;
  box-shadow: 0 14px 34px rgba(4, 30, 42, 0.34), 0 3px 10px rgba(0,0,0,0.22), inset 0 0 0 1px rgba(255,255,255,0.18);
  min-width: 300px;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  z-index: 10;
}
.window.focused { z-index: 100; }
.window.minimized { display: none; }
.window--interacting {
  box-shadow: 0 8px 18px rgba(4, 30, 42, 0.24), 0 2px 7px rgba(0,0,0,0.16), inset 0 0 0 1px rgba(255,255,255,0.15);
  will-change: transform, width, height;
}
.window--dragging,
.window--resizing {
  transition: none !important;
}
.window--dragging iframe,
.window--resizing iframe {
  pointer-events: none;
}

/* Title bar */
.win-titlebar {
  background: linear-gradient(to bottom,
    #4a8ed8 0%, #2a6bc8 6%, #1e58b8 50%,
    #1a52b0 51%, #1e5ec4 100%);
  padding: 3px 4px 3px 6px;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: var(--cursor-move);
  flex-shrink: 0;
  border-bottom: 1px solid rgba(0,0,0,0.3);
  user-select: none;
}
.window:not(.focused) .win-titlebar {
  background: linear-gradient(to bottom, #7a9fc8 0%, #5a82b8 50%, #507ab0 100%);
}
.win-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.win-icon__image {
  display: block;
  width: 16px;
  height: 16px;
  object-fit: contain;
}
.win-icon__glyph {
  display: block;
  font-size: 14px;
  line-height: 1;
}
.win-title {
  color: white;
  font-weight: bold;
  font-size: 13px;
  flex: 1;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.win-controls { display: flex; gap: 3px; flex-shrink: 0; }
.win-btn {
  width: 28px; height: 24px;
  border-radius: 4px;
  border: 1px solid #0f2f77;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.85),
    inset 1px 0 0 rgba(255,255,255,0.5),
    inset -1px -1px 0 rgba(10,26,72,0.3),
    0 0 0 1px rgba(255,255,255,0.28);
  color: #fff;
  text-shadow: 0 1px 0 rgba(0,0,0,0.25);
}
.btn-min {
  background: linear-gradient(to bottom, #77b7ff 0%, #4d92f1 48%, #2d67cf 100%);
}
.btn-max {
  background: linear-gradient(to bottom, #77b7ff 0%, #4d92f1 48%, #2d67cf 100%);
}
.btn-close {
  background: linear-gradient(to bottom, #ff7b70 0%, #f3554a 46%, #cb2d25 100%);
  color: #fff;
}
.win-btn:hover {
  filter: brightness(1.08);
}
.win-btn:active {
  filter: brightness(0.94);
  box-shadow:
    inset 1px 1px 0 rgba(0,0,0,0.22),
    inset -1px -1px 0 rgba(255,255,255,0.25);
}

/* Menu bar */
.win-menubar {
  background: var(--xp-win-bg);
  padding: 1px 4px;
  display: flex;
  gap: 0;
  border-bottom: 1px solid #a0a0a0;
  flex-shrink: 0;
}
.menu-item {
  padding: 2px 8px;
  border-radius: 3px;
  cursor: pointer;
  color: #000;
}
.menu-item:hover { background: #316ac5; color: white; }

/* Toolbar */
.win-toolbar {
  background: linear-gradient(to bottom, #f5f3ee, #e8e4d8);
  padding: 3px 6px;
  border-bottom: 1px solid #c0b8a8;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  font-size: 12px;
  color: #444;
}
.toolbar-sep { width: 1px; height: 20px; background: #b0a898; margin: 0 4px; }
.toolbar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  background: linear-gradient(to bottom, #fff, #e8e4d8);
  border: 1px solid #a0a098;
  border-radius: 3px;
  cursor: pointer;
  font-size: 12px;
  font-family: var(--font);
  color: inherit;
  text-decoration: none;
}
.toolbar-btn--with-icon {
  justify-content: flex-start;
  gap: 6px;
}
.toolbar-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.toolbar-btn__icon-image {
  width: 14px;
  height: 14px;
  object-fit: contain;
  image-rendering: pixelated;
}
.toolbar-btn__icon-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  font-size: 12px;
  line-height: 1;
}
.toolbar-btn:hover { background: linear-gradient(to bottom, #e8f0ff, #d0d8f0); border-color: #7090c0; }
.toolbar-btn.is-pressed {
  background: linear-gradient(to bottom, #dbeaff, #bdd6ff);
  border-color: #4f78c8;
  color: #103c90;
}
.toolbar-btn--icon {
  min-width: 30px;
  padding: 2px 6px;
  font-size: 14px;
  line-height: 1;
}
.toolbar-btn--muted {
  cursor: var(--cursor-unavailable);
  color: #666;
}
.toolbar-select {
  padding: 2px 4px;
  background: white;
  border: 1px solid #a0a098;
  font-family: var(--font);
  font-size: 12px;
}

.toolbar-select--compact {
  min-width: 108px;
}

/* Window content */
.win-content {
  flex: 1;
  min-height: 0;
  overflow: auto;
  background: white;
  position: relative;
}

.win-content--pair {
  display: flex;
  overflow: hidden;
  background: #ece9d8;
}

.pair-body {
  flex: 1;
  min-height: 0;
  min-width: 0;
}

.win-content--community {
  padding: 0;
  background: #008080;
  overflow: hidden;
}

.community-frame {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #008080;
}

/* Status bar */
.win-statusbar {
  background: var(--xp-win-bg);
  border-top: 1px solid #a0a0a0;
  padding: 2px 6px;
  display: flex;
  gap: 1px;
  font-size: 12px;
  color: #444;
  flex-shrink: 0;
}
.statusbar-panel {
  flex: 1;
  padding: 1px 6px;
  border: 1px solid;
  border-color: #808080 #fff #fff #808080;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ
   SPREADS TABLE
в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ */
#spreads-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
#spreads-table thead th {
  background: linear-gradient(to bottom, #e8e8e4, #d4d0c8);
  padding: 6px 10px;
  text-align: left;
  border-right: 1px solid #c0b8b0;
  border-bottom: 2px solid #a0a098;
  font-weight: bold;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  position: sticky; top: 0;
}
#spreads-table thead th:hover { background: linear-gradient(to bottom, #d8d8f8, #c4c4e8); }
#spreads-table thead th.sorted-asc::after  { content: " \25B2"; color: #0054e3; }
#spreads-table thead th.sorted-desc::after { content: " \25BC"; color: #0054e3; }

#spreads-table tbody tr { cursor: pointer; }
#spreads-table tbody tr:nth-child(even) { background: #f0f0f8; }
#spreads-table tbody tr:hover { background: #c8d8f8 !important; }
#spreads-table tbody tr.selected { background: #316ac5 !important; color: white; }
#spreads-table tbody tr.selected td { color: white !important; }

#spreads-table td {
  padding: 5px 10px;
  border-right: 1px solid #e8e4d8;
  border-bottom: 1px solid #e8e4d8;
  white-space: nowrap;
}
.col-symbol {
  width: 96px;
  font-weight: bold;
}
.col-spread.positive { color: var(--green); font-weight: bold; }
.col-spread.negative { color: var(--red); font-weight: bold; }
.col-fund.positive { color: var(--green); }
.col-fund.negative { color: var(--red); }

.badge {
  display: inline-block;
  padding: 1px 5px;
  border-radius: 2px;
  font-size: 11px;
  font-weight: bold;
}
.badge-good { background: #90ee90; color: #004400; border: 1px solid #60a060; }
.badge-ok   { background: #ffffc0; color: #666600; border: 1px solid #c0c050; }
.badge-bad  { background: #ffb0b0; color: #660000; border: 1px solid #c07070; }

.cat-tag {
  display: inline-block;
  padding: 0 5px;
  border-radius: 2px;
  font-size: 11px;
  background: #d8e8ff;
  border: 1px solid #90b0d8;
  color: #003070;
}

/* в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ
   TASKBAR
в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ */
#taskbar {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  height: 42px;
  background: linear-gradient(to bottom,
    #2468c0 0%, #1e5cb8 8%,
    #1a54b0 50%, #1650a8 51%, #1e5cbf 100%);
  border-top: 2px solid #5a9ee0;
  display: flex;
  align-items: center;
  z-index: 9999;
  user-select: none;
}

#start-btn {
  height: 38px;
  padding: 0 14px 0 6px;
  background: linear-gradient(to bottom,
    #5ec040 0%, #42a030 8%,
    #388828 50%, #328020 51%, #48a038 100%);
  border: 1px solid #2a6018;
  border-left: none;
  border-radius: 0 16px 16px 0;
  color: white;
  font-family: var(--font);
  font-weight: bold;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  margin-right: 8px;
  box-shadow: inset 0 1px rgba(255,255,255,0.3);
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}
#start-btn:hover { filter: brightness(1.1); }
#start-btn:active { filter: brightness(0.9); }

.taskbar-divider {
  width: 2px; height: 34px;
  background: linear-gradient(to bottom,
    transparent, rgba(255,255,255,0.3) 30%,
    rgba(255,255,255,0.3) 70%, transparent);
  margin: 0 4px;
}

#taskbar-items {
  display: flex;
  gap: 2px;
  flex: 1;
  padding: 0 4px;
  overflow: hidden;
}

.tb-item {
  height: 32px;
  min-width: 130px;
  max-width: 200px;
  padding: 0 8px;
  background: linear-gradient(to bottom, #1a58b8, #1e5cc0);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 3px;
  color: white;
  font-family: var(--font);
  font-size: 11px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  box-shadow: inset 0 1px rgba(255,255,255,0.1);
}
.tb-item__icon {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.tb-item__icon-image {
  display: block;
  width: 16px;
  height: 16px;
  object-fit: contain;
}
.tb-item__icon-glyph {
  display: block;
  font-size: 13px;
  line-height: 1;
}
.tb-item__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tb-item:hover { background: linear-gradient(to bottom, #2868c8, #2060c0); }
.tb-item.active {
  background: linear-gradient(to bottom, #0e3a88, #1850a8);
  border-color: rgba(0,0,0,0.3);
  box-shadow: inset 0 2px rgba(0,0,0,0.2);
}

#tray {
  display: flex;
  align-items: center;
  padding: 0 8px;
  gap: 6px;
  border-left: 2px solid rgba(255,255,255,0.15);
  height: 100%;
}
.tray-icon {
  font-size: 16px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
}
.tray-btn {
  appearance: none;
  border: 1px solid transparent;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
}
.tray-btn:hover,
.tray-btn:focus-visible {
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.22);
  outline: none;
}
.tray-icon.is-on {
  filter: saturate(1);
}
.tray-icon.is-off {
  opacity: 0.55;
  filter: grayscale(0.2);
}
#clock {
  color: white;
  font-size: 11px;
  text-align: center;
  line-height: 1.4;
  white-space: nowrap;
}

/* в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ
   RESIZE HANDLE
в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ */
.resize-handle {
  position: absolute;
  bottom: 0; right: 0;
  width: 16px; height: 16px;
  cursor: var(--cursor-resize-se);
  background:
    linear-gradient(135deg,
      transparent 0%, transparent 60%,
      #a0a098 60%, #a0a098 70%,
      transparent 70%, transparent 80%,
      #a0a098 80%, #a0a098 90%,
      transparent 90%);
}

/* в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ
   SCROLLBAR (XP style)
в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ */
::-webkit-scrollbar { width: 16px; height: 16px; }
::-webkit-scrollbar-track { background: #d4d0c8; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(to right, #e8e4dc, #d0ccc4);
  border: 1px solid #808080;
}
::-webkit-scrollbar-button {
  background: linear-gradient(to bottom, #e8e4dc, #d0ccc4);
  border: 1px solid #808080;
  height: 16px;
}

/* в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ
   LOADING SCREEN
в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ */
#loading-screen {
  position: fixed;
  inset: 0;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  color: white;
  font-family: var(--font);
  transition: opacity 350ms ease;
}
#loading-screen .loading-screen__hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(540px, calc(100vw - 40px));
  text-align: center;
}
#loading-screen .logo {
  margin-bottom: 18px;
}
#loading-screen .logo img {
  width: min(240px, 52vw);
  max-height: 210px;
  object-fit: contain;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.45));
}
#loading-screen .title {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  margin-bottom: 6px;
  font-weight: bold;
  line-height: 1;
}
#loading-screen .title-mark {
  font-size: 28px;
  color: #f3f3f3;
  letter-spacing: 0.4px;
}
#loading-screen .title-main {
  font-size: clamp(42px, 7vw, 68px);
  color: #f4f4f4;
  text-shadow: 0 2px 10px rgba(255,255,255,0.08);
}
#loading-screen .title-xp {
  font-size: clamp(30px, 5vw, 44px);
  color: #f58c2b;
  text-transform: lowercase;
  text-shadow: 0 0 14px rgba(245, 140, 43, 0.22);
}
#loading-screen .sub {
  font-size: 17px;
  color: #d8d8d8;
  margin-bottom: 28px;
}
.progress-outer {
  width: min(250px, 60vw);
  height: 18px;
  padding: 2px;
  background: linear-gradient(180deg, #161616, #010101);
  border: 1px solid #bdbdbd;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px #2a2a2a, 0 0 0 1px rgba(255,255,255,0.06);
}
.progress-inner {
  position: relative;
  width: 100%;
  height: 100%;
  background: #050505;
  overflow: hidden;
  --load-progress: 0%;
}
.progress-inner::before {
  content: "";
  position: absolute;
  top: 1px;
  bottom: 1px;
  width: 72px;
  left: -72px;
  background:
    linear-gradient(90deg,
      transparent 0 6px,
      #2a47ec 6px 18px,
      #98b3ff 18px 20px,
      transparent 20px 24px,
      #2a47ec 24px 36px,
      #98b3ff 36px 38px,
      transparent 38px 42px,
      #2a47ec 42px 54px,
      #98b3ff 54px 56px,
      transparent 56px 72px);
  filter: drop-shadow(0 0 2px rgba(74, 125, 255, 0.45));
  animation: xp-loader-move 1.08s linear infinite;
}
@keyframes xp-loader-move {
  from { left: -72px; }
  to { left: calc(100% + 12px); }
}
.progress-text {
  margin-top: 16px;
  font-size: 13px;
  color: #d4d8e4;
  min-height: 18px;
}
.loading-screen__footer {
  position: absolute;
  bottom: 18px;
  font-size: 12px;
  color: #f0f0f0;
  opacity: 0.92;
}
.loading-screen__footer--left {
  left: 20px;
}
.loading-screen__footer--right {
  right: 20px;
  text-align: right;
}

/* в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ
   NOTIFICATION
в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ */
.xp-notification {
  position: fixed;
  bottom: 50px;
  right: 10px;
  width: 300px;
  background: var(--xp-win-bg);
  border: 2px solid var(--xp-win-border);
  border-radius: 8px 8px 4px 4px;
  box-shadow: 3px 3px 10px rgba(0,0,0,0.4);
  z-index: 9998;
  overflow: hidden;
  animation: notif-in 0.3s ease;
}
@keyframes notif-in { from { transform: translateY(20px); opacity: 0; } }
.notif-title {
  background: linear-gradient(to bottom, #4a8ed8, #1e58b8);
  padding: 4px 8px;
  color: white;
  font-weight: bold;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.notif-body { padding: 8px 10px; font-size: 11px; }

/* в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ
   PAIR WINDOW SPECIFICS  
в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ */
.pair-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.pair-exchange-card {
  padding: 7px 9px;
  border-right: 1px solid #d0c8b8;
}
.pair-exchange-card:last-child { border-right: none; }
.pair-ex-name {
  font-weight: bold;
  font-size: 12px;
  padding: 3px 0 6px;
  border-bottom: 1px solid #d0c8b8;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.pair-row {
  display: flex;
  justify-content: space-between;
  padding: 1px 0;
  font-size: 11px;
}
.pair-row .label { color: #666; }
.pair-row .value { font-weight: bold; }

.chart-container {
  background: #161923;
  position: relative;
  border: 1px solid #242836;
  border-radius: 8px;
  box-shadow: 0 8px 28px rgba(0,0,0,0.38);
  overflow: hidden;
}
.chart-tabs {
  display: flex;
  background: #1a1a1a;
  border-bottom: 1px solid #333;
}
.chart-tab {
  padding: 4px 12px;
  color: #aaa;
  cursor: pointer;
  font-size: 11px;
  border-right: 1px solid #333;
}
.chart-tab.active { background: #111; color: #7ab0ff; border-bottom: 2px solid #4a80e0; }
.chart-tab:hover:not(.active) { background: #222; color: #ccc; }

#chart-canvas {
  width: 100%;
  height: 200px;
  display: block;
}

/* Mini chart for spread history */
#spread-chart-canvas {
  width: 100%;
  height: 80px;
  display: block;
}

.loading-screen--hidden {
  opacity: 0;
  pointer-events: none;
}

.win-toolbar--wrap {
  flex-wrap: wrap;
  align-items: flex-start;
}

.toolbar-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
}

.toolbar-inline--stack {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.toolbar-input,
.toolbar-textarea {
  padding: 3px 6px;
  background: white;
  border: 1px solid #a0a098;
  color: #111;
  font-family: var(--font);
  font-size: 12px;
}

.toolbar-input {
  min-width: 170px;
  height: 24px;
}

.toolbar-input--grow {
  flex: 1;
  min-width: 220px;
}

.toolbar-textarea {
  width: 100%;
  min-height: 88px;
  resize: vertical;
}

.toolbar-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.toolbar-dropdown.is-open {
  z-index: 40;
}

.toolbar-btn--dropdown::after {
  content: " ▾";
  font-size: 10px;
}

.toolbar-dropdown__panel {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  width: min(440px, calc(100vw - 150px));
  max-height: min(430px, calc(100vh - 200px));
  display: none;
  overflow: auto;
  padding: 8px;
  background: linear-gradient(to bottom, #f5f3ee, #e8e4d8);
  border: 1px solid #c2baa9;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24), inset 1px 1px 0 rgba(255,255,255,0.45);
}

.toolbar-dropdown.is-open .toolbar-dropdown__panel {
  display: block;
}

.toolbar-dropdown__grid {
  display: grid;
  gap: 8px;
}

.toolbar-dropdown__block {
  gap: 7px;
}

.toolbar-dropdown__panel .toolbar-input,
.toolbar-dropdown__panel .toolbar-select {
  width: 100%;
  min-width: 0;
}

.toolbar-check {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #333;
  font-size: 12px;
}

.toolbar-check input {
  margin: 0;
}

.window-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  min-height: 0;
  height: 100%;
}

.window-main {
  min-height: 0;
  overflow: auto;
  background: white;
}

.window-main--full {
  height: 100%;
}

.window-sidepanel {
  display: grid;
  gap: 8px;
  min-height: 0;
  overflow: auto;
  padding: 8px;
  background: linear-gradient(to bottom, #f5f3ee, #e8e4d8);
  border-left: 1px solid #c0b8a8;
}

.panel-block {
  display: grid;
  gap: 8px;
  padding: 8px;
  background: white;
  border: 1px solid #c8c2b6;
  border-radius: 4px;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.6);
}

.panel-title {
  color: var(--xp-blue);
  font-size: 12px;
  font-weight: bold;
}

.panel-subtitle,
.panel-status,
.source-card__note,
.source-card__error {
  font-size: 11px;
  line-height: 1.4;
}

.panel-subtitle,
.source-card__note {
  color: #555;
}

.panel-status {
  color: #333;
}

.panel-links {
  display: grid;
  gap: 5px;
}

.panel-links a {
  color: #0054e3;
  text-decoration: none;
}

.panel-links a:hover {
  text-decoration: underline;
}

.source-list,
.exchange-list {
  display: grid;
  gap: 8px;
}

.exchange-list--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  max-height: 220px;
  overflow: auto;
  padding-right: 2px;
}

.source-card {
  display: grid;
  gap: 6px;
  padding: 8px;
  background: #fbfaf7;
  border: 1px solid #bdb6a9;
  border-radius: 4px;
}

.source-card.is-active {
  box-shadow: inset 0 0 0 1px rgba(46, 97, 182, 0.35);
}

.source-card.is-warning {
  border-color: #c48a24;
}

.source-card.is-link-only {
  background: #f7f0db;
}

.source-card__header,
.source-card__footer,
.source-card__title-wrap,
.source-toggle {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.source-toggle {
  justify-content: flex-start;
  font-size: 11px;
  font-weight: bold;
}

.source-toggle input {
  margin-top: 1px;
}

.source-card__title-wrap {
  flex: 1 1 auto;
  min-width: 0;
}

.source-card__title {
  font-size: 11px;
  font-weight: bold;
  color: #111;
}

.source-card__chip,
.source-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.2;
  white-space: nowrap;
}

.source-card__chip {
  border: 1px solid rgba(0, 0, 0, 0.12);
}

.source-card__chip--uainvest,
.source-badge--uainvest {
  background: rgba(51, 131, 255, 0.16);
  color: #0a3f9d;
}

.source-card__chip--scanner,
.source-badge--scanner {
  background: rgba(31, 148, 54, 0.14);
  color: #146a26;
}

.source-card__chip--arbitragescanner,
.source-badge--arbitragescanner {
  background: rgba(0, 113, 227, 0.14);
  color: #0050a2;
}

.source-card__chip--sharpe,
.source-badge--sharpe {
  background: rgba(188, 57, 245, 0.12);
  color: #7b1db0;
}

.source-card__chip--sharpe-arb,
.source-badge--sharpe-arb {
  background: rgba(28, 162, 117, 0.14);
  color: #0d6d4b;
}

.source-card__chip--external,
.source-badge--external {
  background: rgba(161, 99, 255, 0.14);
  color: #6334c8;
}

.source-card__chip--uacryptoinvest,
.source-badge--uacryptoinvest {
  background: rgba(226, 155, 47, 0.14);
  color: #9a5b00;
}

.source-card__chip--generic,
.source-badge--generic {
  background: rgba(143, 155, 171, 0.16);
  color: #48525d;
}

.source-card__count {
  color: var(--xp-blue);
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
}

.source-card__footer {
  flex-wrap: wrap;
}

.source-card__link {
  color: #0054e3;
  font-size: 12px;
  text-decoration: none;
}

.source-card__link:hover {
  text-decoration: underline;
}

.source-card__link--muted {
  color: #666;
}

.source-card__error {
  color: #b40000;
}

.source-badge-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.exchange-check {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 6px;
  background: #f7f4ed;
  border: 1px solid #d9d1c1;
  border-radius: 3px;
  font-size: 12px;
}

.exchange-check input {
  margin: 0;
}

.pair-stack,
.fund-stack,
.fund24-stack,
.status-stack {
  display: grid;
  gap: 5px;
}

.pair-line,
.fund-line,
.fund24-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.pair-line__left,
.fund-line__value,
.fund-line__time {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.pair-line__price,
.fund24-line__value,
.spread-apr {
  color: #133c84;
  font-weight: bold;
}

.pair-line__price {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 78px;
  padding: 2px 6px;
  border-radius: 4px;
}

.spread-apr.is-positive,
.summary-value.is-positive,
.funding-value.is-positive,
.detail-chart__value.is-positive,
.history-stat__value.is-positive,
.history-table td.is-positive {
  color: #18832a;
}

.spread-apr.is-negative,
.summary-value.is-negative,
.funding-value.is-negative,
.detail-chart__value.is-negative,
.history-stat__value.is-negative,
.history-table td.is-negative {
  color: #b32525;
}

.spread-apr.is-neutral,
.summary-value.is-neutral,
.detail-chart__value.is-neutral,
.history-stat__value.is-neutral,
.history-table td.is-neutral {
  color: #133c84;
}

.coin-button {
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  color: #0054e3;
  cursor: pointer;
  font: inherit;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.01em;
  line-height: 1;
}

.coin-button:hover {
  text-decoration: underline;
}

#spreads-table .col-symbol {
  width: 82px;
}

#spreads-table .coin-button,
.coin-button--table {
  font-size: 13px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.direction-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 19px;
  height: 19px;
  border-radius: 4px;
  position: relative;
  flex-shrink: 0;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.72),
    inset 1px 0 0 rgba(255,255,255,0.24),
    0 0 0 1px rgba(21, 42, 78, 0.18);
}

.direction-pill--up {
  background: linear-gradient(to bottom, #4ecf61 0%, #21a53e 100%);
}

.direction-pill--down {
  background: linear-gradient(to bottom, #ee6f7e 0%, #d23f52 100%);
}

.direction-pill::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 7px;
  width: 2px;
  height: 7px;
  background: #fff;
  border-radius: 2px;
}

.direction-pill::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 5px;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 5px solid #fff;
}

.direction-pill--down::before {
  top: 4px;
}

.direction-pill--down::after {
  top: 11px;
  left: 5px;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid #fff;
  border-bottom: 0;
}

.exchange {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.exchange--link {
  text-decoration: none;
}

.exchange--link:hover .exchange-name {
  text-decoration: underline;
}

.exchange-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17px;
  height: 17px;
  border-radius: 4px;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: -0.03em;
}

.exchange-icon--logo {
  overflow: hidden;
  border-radius: 4px;
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(19, 36, 71, 0.16);
}

.exchange-icon__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.exchange-name {
  color: #222;
  font-weight: bold;
  font-size: 12px;
  line-height: 1.15;
}

#spreads-table .exchange-name {
  font-size: 12px;
}

.brand-aster { background: linear-gradient(135deg, #f8ccb1, #8b5739); color: #1f1712; }
.brand-binance { background: linear-gradient(135deg, #fecb31, #af7f00); color: #251700; }
.brand-bitget { background: linear-gradient(135deg, #01d9ff, #006f96); }
.brand-bybit { background: linear-gradient(135deg, #646a8d, #161a2d); }
.brand-gate { background: linear-gradient(135deg, #4b79ff, #003bd1); }
.brand-kucoin { background: linear-gradient(135deg, #34d2a5, #0f8f74); }
.brand-mexc { background: linear-gradient(135deg, #f0f3fa, #8ba2d7); color: #1b315d; }
.brand-okx { background: linear-gradient(135deg, #444, #000); }
.brand-whitebit { background: linear-gradient(135deg, #f0c777, #936200); color: #251800; }
.brand-generic { background: linear-gradient(135deg, #8b98ab, #516071); }

.spread-badge,
.open-spread {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 74px;
  min-height: 26px;
  padding: 0 12px;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  color: white;
  font: inherit;
  font-weight: bold;
  cursor: pointer;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    filter 180ms ease,
    background 180ms ease;
}

.spread-badge {
  background: linear-gradient(to bottom, #3fb84d, #18832a);
}

.spread-badge.is-negative {
  background: linear-gradient(to bottom, #d55b5b, #ab2222);
}

.open-spread {
  background: linear-gradient(to bottom, #d55b5b, #ab2222);
}

.open-spread.is-positive {
  background: linear-gradient(to bottom, #3fb84d, #18832a);
}

.spread-badge:hover,
.open-spread:hover,
.signal-card:hover,
.funding-card:hover {
  filter: brightness(1.05);
}

#spreads-table tbody tr.spread-row--moving {
  will-change: transform;
}

#spreads-table tbody tr.spread-row--up:not(.selected) td {
  animation: spreadRowUpFlash 0.9s ease-out;
}

#spreads-table tbody tr.spread-row--down:not(.selected) td {
  animation: spreadRowDownFlash 0.9s ease-out;
}

@keyframes spreadRowUpFlash {
  0% { background-color: #ccffb6; }
  55% { background-color: #ccffb6; }
  100% { background-color: transparent; }
}

@keyframes spreadRowDownFlash {
  0% { background-color: #ffb7b7; }
  55% { background-color: #ffb7b7; }
  100% { background-color: transparent; }
}

.status-line {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.status-flag {
  font-size: 14px;
  font-weight: bold;
}

.status-flag.is-green { color: #18832a; }
.status-flag.is-yellow { color: #cc8800; }
.status-flag.is-red { color: #b32525; }
.status-flag.is-muted { color: #777; }

.window-empty {
  padding: 18px;
  color: #555;
  text-align: center;
  line-height: 1.45;
}

.window-empty--error {
  color: #9f1d1d;
}

.statusbar-panel .summary-value {
  font-weight: bold;
}

.signals-list,
.funding-list {
  display: grid;
  gap: 6px;
  padding: 10px;
}

.listings-board {
  display: grid;
  gap: 10px;
  padding: 10px;
  background: linear-gradient(to bottom, #fbfaf6, #f2ede1);
}

.listings-day {
  display: grid;
  gap: 8px;
  padding: 8px;
  background: rgba(255,255,255,0.7);
  border: 1px solid #d3cbb9;
  border-radius: 4px;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.55);
}

.listings-spotlight {
  display: grid;
  gap: 8px;
  padding: 8px;
  background: linear-gradient(to bottom, #f7f3e8, #ece4d2);
  border: 1px solid #cdbf9e;
  border-radius: 4px;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.6);
}

.listings-spotlight__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 6px;
  border-bottom: 1px dashed #bfae88;
}

.listings-spotlight__title {
  color: #173f84;
  font-size: 13px;
  font-weight: bold;
}

.listings-spotlight__sub {
  color: #6b675d;
  font-size: 11px;
}

.listings-day__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 6px;
  border-bottom: 1px dashed #c5bca7;
}

.listings-day__title {
  color: var(--xp-blue);
  font-size: 13px;
  font-weight: bold;
}

.listings-day__sub,
.listings-day__utc {
  color: #666;
  font-size: 11px;
}

.listings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 8px;
}

.listings-grid--spotlight {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.listing-card {
  display: grid;
  gap: 8px;
  padding: 9px 10px;
  background: white;
  border: 1px solid #d5cdbd;
  border-radius: 4px;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.6);
}

.listing-card--spotlight {
  position: relative;
  background: linear-gradient(to bottom, #fffefb, #f7f0e4);
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.7), 0 1px 0 rgba(105, 88, 43, 0.08);
  padding-bottom: 28px;
}

.listing-card--spotlight::after {
  content: "SOON";
  position: absolute;
  right: 8px;
  bottom: 8px;
  padding: 1px 7px;
  border: 1px solid #b79d6b;
  background: linear-gradient(to bottom, #fff5d8, #edd29a);
  color: #76541a;
  font-size: 10px;
  font-weight: bold;
  line-height: 1.3;
  border-radius: 3px;
}

.listing-card--listing {
  border-left: 4px solid #3ca24d;
}

.listing-card--delisting {
  border-left: 4px solid #d95757;
}

.listing-card__top,
.listing-card__exchange {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.listing-card__exchange {
  align-items: center;
  flex-wrap: wrap;
}

.listing-card__ticker {
  color: var(--xp-blue);
  font-size: 15px;
  font-weight: bold;
}

.listing-card__symbol,
.listing-card__time,
.listing-card__name {
  color: #555;
  font-size: 11px;
}

.listing-card__name {
  line-height: 1.45;
}

.listing-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.2;
  white-space: nowrap;
  border: 1px solid rgba(0,0,0,0.1);
}

.listing-chip--listing {
  background: rgba(60, 162, 77, 0.14);
  color: #1c7c2b;
}

.listing-chip--delisting {
  background: rgba(217, 87, 87, 0.14);
  color: #9e2424;
}

.listing-chip--market {
  background: rgba(10, 36, 106, 0.08);
  color: var(--xp-blue);
}

.unlocks-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: linear-gradient(to bottom, #f5fbff, #e3f0ff);
  border: 1px solid #b7cee8;
  border-radius: 6px;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.78);
}

.unlocks-hero__copy {
  display: grid;
  gap: 7px;
}

.unlocks-hero__title {
  color: var(--xp-blue);
  font-size: 16px;
  font-weight: bold;
}

.unlocks-hero__text {
  max-width: 800px;
  color: #3f546f;
  font-size: 12px;
  line-height: 1.5;
}

.unlocks-toolbar-caption {
  color: #44597a;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.02em;
}

.unlocks-filters {
  display: grid;
  gap: 8px;
  padding: 8px 10px;
  background: linear-gradient(to bottom, #f5f3ee, #e8e4d8);
  border: 1px solid #c0b8a8;
  border-radius: 4px;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.72);
}

.unlocks-chipbar {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
}

.unlocks-chipbar__label {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 2px;
  color: #27446f;
  font-size: 12px;
  font-weight: bold;
  text-transform: none;
  letter-spacing: 0;
}

.unlocks-chiprow {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
}

.unlocks-chip {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 2px 10px;
  border-radius: 4px;
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
  border-right: 1px solid #9a9388;
  border-bottom: 1px solid #9a9388;
  background: linear-gradient(to bottom, #ffffff, #e9e4d7);
  color: #2f3b4b;
  font-family: var(--font);
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.2);
  transition: background .12s ease, color .12s ease;
}

.unlocks-chip:hover {
  background: linear-gradient(to bottom, #fdfefe, #dfe9fb);
  color: #154694;
}

.unlocks-chip.is-pressed {
  border-top: 1px solid #9a9388;
  border-left: 1px solid #9a9388;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  background: linear-gradient(to bottom, #d9e8ff, #bcd4ff);
  color: #173f84;
}

.unlocks-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

.unlocks-summary--single {
  grid-template-columns: minmax(0, 380px);
}

.unlock-stat,
.unlock-topcard,
.unlocks-table-wrap {
  background: rgba(255,255,255,0.9);
  border: 1px solid #d5cdbd;
  border-radius: 6px;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.7);
}

.unlock-stat {
  position: relative;
  display: grid;
  gap: 4px;
  padding: 10px 12px 11px;
  overflow: hidden;
}

.unlock-stat::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(to bottom, #3c8ee8, #1f5cb4);
}

.unlock-stat__label {
  color: #6c6f75;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.unlock-stat__value {
  color: var(--xp-blue);
  font-size: 19px;
  line-height: 1.15;
}

.unlock-stat__meta {
  color: #656b76;
  font-size: 11px;
  line-height: 1.4;
}

.unlock-stat--soonest {
  min-height: 82px;
}

.unlocks-toplist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
}

.unlock-topcard {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border-left: 4px solid #3e8bdd;
  background: linear-gradient(to bottom, rgba(255,255,255,0.94), rgba(247,250,255,0.9));
}

.unlock-topcard__symbol {
  color: var(--xp-blue);
  font-size: 16px;
  font-weight: bold;
}

.unlock-topcard__value {
  color: #1f5b10;
  font-size: 17px;
  font-weight: bold;
}

.unlock-topcard__meta,
.unlock-token__name,
.unlock-cell__muted {
  color: #666;
  font-size: 11px;
  line-height: 1.4;
}

.unlocks-table-wrap {
  overflow: auto;
  border-color: #d0c1a5;
}

.unlocks-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 980px;
  background: rgba(255,255,255,0.78);
}

.unlocks-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 9px 10px;
  background: linear-gradient(to bottom, #f7f3e6, #e7dcc0);
  border-bottom: 1px solid #bda97a;
  border-right: 1px solid #d3c7a9;
  color: #584b2c;
  font-size: 12px;
  font-weight: bold;
  text-align: left;
  white-space: nowrap;
}

.unlocks-table thead th:last-child {
  border-right: none;
}

.unlocks-table tbody td {
  padding: 10px 10px;
  border-top: 1px solid #e5dcc8;
  border-right: 1px solid #efe8d7;
  vertical-align: top;
}

.unlocks-table tbody td:last-child {
  border-right: none;
}

.unlocks-table tbody tr:nth-child(even) td {
  background: rgba(245, 241, 232, 0.68);
}

.unlocks-table tbody tr:hover td {
  background: rgba(221, 236, 255, 0.45);
}

.unlocks-table tbody tr.unlock-row {
  cursor: var(--cursor-link);
}

.unlocks-table tbody tr.unlock-row:focus-visible td {
  outline: 2px solid #2f6fd6;
  outline-offset: -2px;
}

.unlock-token {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: flex-start;
}

.unlock-token__icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  background: #fff;
  border: 1px solid #d1c7b3;
}

.unlock-token__icon--fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--xp-blue);
  font-weight: bold;
}

.unlock-token__symbol {
  color: var(--xp-blue);
  font-size: 15px;
  font-weight: bold;
}

.unlock-token__chips {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.unlock-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.2;
  white-space: nowrap;
  border: 1px solid rgba(0,0,0,0.1);
}

.unlock-chip--state {
  background: rgba(10, 36, 106, 0.08);
  color: var(--xp-blue);
}

.unlock-chip--fresh {
  background: rgba(60, 162, 77, 0.14);
  color: #1c7c2b;
}

.unlock-chip--insider {
  background: rgba(217, 87, 87, 0.14);
  color: #9e2424;
}

.unlock-cell__stack {
  display: grid;
  gap: 3px;
}

.unlock-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--xp-blue);
  font-weight: bold;
  text-decoration: none;
  font-family: var(--font);
  font-size: 12px;
  cursor: pointer;
}

.unlock-link:hover {
  text-decoration: underline;
}

.unlock-detail-shell {
  display: grid;
  gap: 10px;
  padding: 10px;
  background: linear-gradient(to bottom, #f7f3e8, #ece5d6);
}

.unlock-detail-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: linear-gradient(to bottom, #edf6ff, #dbeeff);
  border: 1px solid #b7cee8;
  border-radius: 6px;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.78);
}

.unlock-detail-hero__token {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.unlock-detail-hero__icon {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  object-fit: cover;
  border: 1px solid rgba(0,0,0,0.08);
  background: #fff;
  flex-shrink: 0;
}

.unlock-detail-hero__icon--fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--xp-blue);
  font-weight: bold;
}

.unlock-detail-hero__copy {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.unlock-detail-hero__title {
  color: #183b77;
  font-size: 21px;
  font-weight: bold;
  line-height: 1.1;
}

.unlock-detail-hero__title span {
  margin-left: 6px;
  color: #637186;
  font-size: 12px;
  font-weight: bold;
  vertical-align: middle;
}

.unlock-detail-hero__meta {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}

.unlock-detail-hero__metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(90px, 1fr));
  gap: 8px;
  min-width: min(520px, 48%);
}

.unlock-detail-hero__metric {
  display: grid;
  gap: 4px;
  padding: 8px 10px;
  background: rgba(255,255,255,0.76);
  border: 1px solid #c8d7eb;
  border-radius: 5px;
}

.unlock-detail-hero__metric span {
  color: #607084;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.unlock-detail-hero__metric strong {
  color: #173f84;
  font-size: 16px;
}

.unlock-detail-layout {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  gap: 10px;
  min-height: 0;
}

.unlock-detail-side,
.unlock-detail-main {
  display: grid;
  gap: 10px;
  align-content: start;
}

.unlock-detail-card {
  gap: 10px;
}

.unlock-detail-insights {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
  color: #2f2f2f;
  font-size: 12px;
  line-height: 1.5;
}

.unlock-detail-kv {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid #ece3cf;
  color: #4f5562;
  font-size: 12px;
}

.unlock-detail-kv:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.unlock-detail-kv strong {
  color: #153f88;
  font-size: 13px;
  text-align: right;
}

.unlock-detail-progress {
  display: grid;
  gap: 8px;
}

.unlock-detail-progress__track {
  height: 16px;
  border-radius: 999px;
  background: linear-gradient(to bottom, #efe2eb, #e2d0db);
  border: 1px solid #c7b2bf;
  overflow: hidden;
}

.unlock-detail-progress__fill {
  height: 100%;
  background: linear-gradient(to right, #4cb467, #2f9149);
}

.unlock-detail-progress__legend {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #5e6068;
  font-size: 11px;
}

.unlock-detail-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.unlock-detail-summary-item {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  background: linear-gradient(to bottom, #fffefc, #f7f1e5);
  border: 1px solid #ddd0b6;
  border-radius: 5px;
}

.unlock-detail-summary-item span {
  color: #6e675a;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.unlock-detail-summary-item strong {
  color: #1d3f7a;
  font-size: 14px;
  line-height: 1.3;
}

.unlock-detail-allocations {
  display: grid;
  gap: 10px;
}

.unlock-detail-allocation {
  display: grid;
  gap: 6px;
  padding-bottom: 8px;
  border-bottom: 1px solid #ece4d3;
}

.unlock-detail-allocation:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.unlock-detail-allocation__head,
.unlock-detail-allocation__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.unlock-detail-allocation__head strong {
  color: #193f81;
  font-size: 13px;
}

.unlock-detail-allocation__head span,
.unlock-detail-allocation__meta {
  color: #64676f;
  font-size: 11px;
}

.unlock-detail-allocation__bar {
  height: 10px;
  background: #efe6d6;
  border: 1px solid #dbc9ab;
  border-radius: 999px;
  overflow: hidden;
}

.unlock-detail-allocation__fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(to right, #ffb76a, #e67628);
}

.pumpdump-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  background: linear-gradient(to bottom, #fff8ea, #f3ead2);
  border: 1px solid #d2c39f;
  border-radius: 4px;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.6);
}

.pumpdump-hero__copy {
  display: grid;
  gap: 6px;
}

.pumpdump-hero__title {
  color: #7a3d00;
  font-size: 15px;
  font-weight: bold;
}

.pumpdump-hero__text {
  max-width: 720px;
  color: #5a4d36;
  font-size: 12px;
  line-height: 1.45;
}

.pumpdump-hero__links {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.pumpdump-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

.pumpdump-stat,
.pumpdump-method__panel,
.pumpdump-card {
  background: rgba(255,255,255,0.84);
  border: 1px solid #d5cdbd;
  border-radius: 4px;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.6);
}

.pumpdump-stat {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
}

.pumpdump-stat__label {
  color: #666;
  font-size: 11px;
}

.pumpdump-stat__value {
  color: var(--xp-blue);
  font-size: 15px;
}

.pumpdump-method {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(280px, 1.1fr);
  gap: 8px;
}

.pumpdump-method__panel {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.pumpdump-method__title {
  color: #7a3d00;
  font-size: 13px;
  font-weight: bold;
}

.pumpdump-method__list {
  display: grid;
  gap: 6px;
}

.pumpdump-method__row {
  padding-left: 14px;
  position: relative;
  color: #5a4d36;
  font-size: 12px;
  line-height: 1.45;
}

.pumpdump-method__row::before {
  content: "•";
  position: absolute;
  left: 2px;
  color: #b25000;
  font-weight: bold;
}

.pumpdump-method__metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

.pumpdump-method__metric {
  display: grid;
  gap: 3px;
  padding: 8px;
  background: rgba(255, 248, 234, 0.7);
  border: 1px solid #e1d5b8;
  border-radius: 4px;
}

.pumpdump-method__metric span {
  color: #74664c;
  font-size: 11px;
}

.pumpdump-method__metric strong {
  color: #7a3d00;
  font-size: 14px;
}

.pumpdump-method__foot {
  color: #6d6555;
  font-size: 11px;
  line-height: 1.4;
}

.pumpdump-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 8px;
}

.pumpdump-card {
  display: grid;
  gap: 10px;
  padding: 10px;
}

.pumpdump-card--high {
  border-left: 4px solid #d95757;
}

.pumpdump-card--moderate {
  border-left: 4px solid #d8a329;
}

.pumpdump-card--watch {
  border-left: 4px solid #5eaa59;
}

.pumpdump-card__head,
.pumpdump-card__foot {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.pumpdump-card__symbol {
  color: var(--xp-blue);
  font-size: 16px;
  font-weight: bold;
}

.pumpdump-card__name {
  color: #666;
  font-size: 11px;
}

.pumpdump-risk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: bold;
  border: 1px solid rgba(0,0,0,0.1);
  white-space: nowrap;
}

.pumpdump-risk--high {
  background: rgba(217, 87, 87, 0.14);
  color: #9e2424;
}

.pumpdump-risk--moderate {
  background: rgba(216, 163, 41, 0.16);
  color: #8f6100;
}

.pumpdump-risk--watch {
  background: rgba(94, 170, 89, 0.14);
  color: #2d7a2a;
}

.pumpdump-score {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pumpdump-score__bar {
  flex: 1;
  height: 10px;
  background: #e9dfca;
  border: 1px solid #ccbda0;
  border-radius: 999px;
  overflow: hidden;
}

.pumpdump-score__fill {
  height: 100%;
  border-radius: 999px;
}

.pumpdump-score__fill--high {
  background: linear-gradient(to right, #f29c9c, #d95757);
}

.pumpdump-score__fill--moderate {
  background: linear-gradient(to right, #f5d66f, #d8a329);
}

.pumpdump-score__fill--watch {
  background: linear-gradient(to right, #9cdd95, #5eaa59);
}

.pumpdump-score__value {
  min-width: 34px;
  color: #333;
  font-size: 14px;
  text-align: right;
}

.pumpdump-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 10px;
}

.pumpdump-metric {
  display: grid;
  gap: 2px;
}

.pumpdump-metric span {
  color: #666;
  font-size: 11px;
}

.pumpdump-metric strong {
  color: #333;
  font-size: 12px;
}

.pumpdump-card__foot {
  padding-top: 6px;
  border-top: 1px dashed #d7cdb8;
  color: #666;
  font-size: 11px;
}

.pumpdump-card__foot a {
  color: var(--xp-blue);
  font-weight: bold;
  text-decoration: none;
}

.pumpdump-card__foot a:hover {
  text-decoration: underline;
}

.pumpdump-tabs {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.pumpdump-tab {
  min-width: 120px;
  padding: 5px 12px;
  border: 1px solid #7f9db9;
  border-top-color: #d9ebf7;
  border-left-color: #d9ebf7;
  background: linear-gradient(to bottom, #fbfbfa, #e7e6dc);
  color: #274b7e;
  font-size: 12px;
  font-weight: bold;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.75);
  cursor: pointer;
}

.pumpdump-tab.is-pressed {
  border-top-color: #7f9db9;
  border-left-color: #7f9db9;
  border-right-color: #e8f2fb;
  border-bottom-color: #e8f2fb;
  background: linear-gradient(to bottom, #dde9f7, #f7f7f3);
  color: #7a1f72;
}

.pumpdump-overview {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr);
  gap: 8px;
}

.pumpdump-overview__text {
  color: #5a4d36;
  font-size: 12px;
  line-height: 1.5;
}

.pumpdump-overview__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
}

.pumpdump-overview__pill {
  display: grid;
  gap: 4px;
  padding: 8px;
  background: linear-gradient(to bottom, #fffdf7, #f4ecd8);
  border: 1px solid #dccfaf;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.75);
}

.pumpdump-overview__pill span {
  color: #6a5e4a;
  font-size: 11px;
}

.pumpdump-overview__pill strong {
  color: #1f4f8b;
  font-size: 14px;
}

.pumpdump-methodology {
  display: grid;
  gap: 8px;
}

.pumpdump-methodology__grid {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr);
  gap: 8px;
}

.pumpdump-methodology__lead {
  color: #5a4d36;
  font-size: 12px;
  line-height: 1.55;
}

.pumpdump-methodology__table-wrap {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.pumpdump-methodology__table-title {
  color: #7a3d00;
  font-size: 12px;
  font-weight: bold;
}

.pumpdump-methodology__table {
  background: #fffdf8;
}

@media (max-width: 980px) {
  .pumpdump-overview,
  .pumpdump-methodology__grid,
  .pumpdump-method {
    grid-template-columns: 1fr;
  }
}

.history-board {
  display: grid;
  gap: 10px;
  padding: 10px;
  background: linear-gradient(to bottom, #fbfaf6, #efe7d8);
}

.history-layout {
  display: grid;
  grid-template-columns: 275px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.history-sidebar,
.history-hero,
.history-stat,
.history-replay,
.alert-panel,
.alert-item {
  background: linear-gradient(to bottom, rgba(255,255,255,0.96), rgba(248,243,234,0.95));
  border: 1px solid #d5cdbd;
  border-radius: 4px;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.7);
}

.history-sidebar,
.history-main {
  min-height: 0;
}

.history-panel__head,
.history-replay__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.history-panel__head {
  padding: 10px 10px 8px;
  border-bottom: 1px solid #ddd2be;
}

.history-panel__title,
.history-replay__title,
.alert-panel__title {
  color: #7a3d00;
  font-size: 13px;
  font-weight: bold;
}

.history-panel__sub,
.history-replay__hint,
.history-stat__label,
.history-stat__sub {
  color: #666;
  font-size: 11px;
  line-height: 1.35;
}

.history-panel__count {
  min-width: 34px;
  padding: 3px 8px;
  border: 1px solid #d7c193;
  border-radius: 999px;
  background: linear-gradient(to bottom, #fffaf0, #f3e2ba);
  color: #8a5800;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
}

.history-pairlist {
  display: grid;
  gap: 7px;
  max-height: 595px;
  overflow: auto;
  padding: 10px;
}

.history-paircard {
  appearance: none;
  display: grid;
  gap: 5px;
  width: 100%;
  padding: 9px 10px;
  border: 1px solid #d1c7b3;
  border-radius: 4px;
  background: linear-gradient(to bottom, #fffefb, #f3ecde);
  color: #1f3f78;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.8);
}

.history-paircard:hover {
  border-color: #87a4d3;
  background: linear-gradient(to bottom, #fdfefe, #e8effd);
}

.history-paircard.is-active {
  border-color: #7a9ad2;
  background: linear-gradient(to bottom, #f0f5ff, #dae6fb);
  box-shadow: inset 2px 0 0 #3f76d3, inset 1px 1px 0 rgba(255,255,255,0.85);
}

.history-paircard:focus-visible {
  outline: 1px dotted #0b3175;
  outline-offset: -3px;
}

.history-paircard__head,
.history-paircard__metrics,
.history-hero__badges {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.history-paircard__head strong {
  color: #08388f;
  font-size: 13px;
}

.history-paircard__route {
  color: #4c4c4c;
  font-size: 11px;
}

.history-paircard__tag,
.history-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 2px 8px;
  border: 1px solid #c9bead;
  border-radius: 999px;
  background: linear-gradient(to bottom, #fffef7, #efe4cf);
  color: #7c4f00;
  font-size: 10px;
  font-weight: bold;
}

.history-paircard__tag {
  margin-left: auto;
}

.history-paircard__metric {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 7px;
  border: 1px solid #d0c5b3;
  border-radius: 999px;
  background: rgba(255,255,255,0.9);
  font-size: 10px;
  font-weight: bold;
}

.history-paircard__metric.is-positive,
.history-pill.is-positive {
  color: #0a8f2f;
}

.history-paircard__metric.is-negative,
.history-pill.is-negative {
  color: #b22e2e;
}

.history-paircard__metric.is-neutral,
.history-pill.is-neutral {
  color: #6e6554;
}

.history-main {
  display: grid;
  gap: 10px;
}

.history-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
}

.history-hero__copy {
  display: grid;
  gap: 5px;
}

.history-hero__eyebrow {
  color: #876121;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.history-hero__title {
  color: #0e3f97;
  font-size: 22px;
  line-height: 1.1;
}

.history-hero__sub {
  color: #545454;
  font-size: 12px;
}

.history-hero--empty .history-hero__title {
  color: #335d9f;
}

.history-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: 8px;
}

.history-stat {
  display: grid;
  gap: 4px;
  padding: 10px 11px;
}

.history-stat--wide {
  grid-column: span 2;
}

.history-stat__value {
  color: var(--xp-blue);
  font-size: 14px;
  line-height: 1.35;
}

.history-empty {
  padding: 22px 16px;
}

.history-replay {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.history-replay__table-wrap {
  max-height: 430px;
  overflow: auto;
  border: 1px solid #d8cfbf;
  background: #fffdf8;
}

.history-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}

.history-table th,
.history-table td {
  padding: 6px 7px;
  border-bottom: 1px solid #e8e0d3;
  text-align: left;
  white-space: nowrap;
}

.history-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: linear-gradient(to bottom, #f7f3ea, #e6dcc9);
  color: #5c513e;
}

.history-table tbody tr:nth-child(odd) {
  background: rgba(248, 244, 236, 0.7);
}

.history-toolbar__label {
  color: #545454;
  font-size: 11px;
  font-weight: bold;
}

@media (max-width: 1120px) {
  .history-layout {
    grid-template-columns: 1fr;
  }

  .history-pairlist {
    max-height: 260px;
  }

  .history-stat--wide {
    grid-column: auto;
  }

  .history-hero {
    flex-direction: column;
  }
}

.alerts-layout {
  display: grid;
  gap: 10px;
  padding: 10px;
  background: linear-gradient(to bottom, #fbfaf6, #f2ede1);
}

.alerts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
}

.alert-panel {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.alert-panel--feed {
  min-height: 280px;
}

.alerts-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.alerts-note {
  color: #6b6355;
  font-size: 11px;
  line-height: 1.45;
}

.alerts-feed {
  display: grid;
  gap: 8px;
  max-height: 320px;
  overflow: auto;
}

.alert-item {
  display: grid;
  gap: 5px;
  padding: 9px 10px;
}

.alert-item--spread {
  border-left: 4px solid #3ca24d;
}

.alert-item--listing,
.alert-item--system {
  border-left: 4px solid #4a8ed8;
}

.alert-item--pumpdump {
  border-left: 4px solid #d95757;
}

.alert-item__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  color: #444;
  font-size: 11px;
}

.alert-item__head strong {
  color: #1f3f76;
  font-size: 12px;
}

.alert-item__body {
  color: #5e5442;
  font-size: 11px;
  line-height: 1.45;
}

.signal-card,
.funding-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  background: white;
  border: 1px solid #d5cdbd;
  border-radius: 4px;
  cursor: pointer;
}

.signal-card__main,
.funding-card__main {
  display: grid;
  gap: 3px;
}

.signal-card__meta,
.funding-card__meta {
  color: #666;
  font-size: 11px;
}

.signal-card__value,
.funding-card__value {
  color: #18832a;
  font-weight: bold;
}

.funding-table-wrap {
  margin: 10px;
  border: 1px solid #cdbf9e;
  background: #fffdf8;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.7);
  overflow: auto;
}

.funding-list--arb {
  display: block;
  gap: 0;
  height: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.funding-table-wrap--arb-skin {
  height: 100%;
  margin: 0;
  border: 0;
  background: #fff;
  box-shadow: none;
}

.funding-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.funding-table--arb-skin {
  font-size: 13px;
}

.funding-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 8px 9px;
  text-align: left;
  background: linear-gradient(to bottom, #f7f3e6, #e7dcc0);
  border-bottom: 1px solid #bda97a;
  border-right: 1px solid #d3c7a9;
  color: #584b2c;
  white-space: nowrap;
}

.funding-table--arb-skin thead th {
  z-index: 2;
  padding: 6px 10px;
  background: linear-gradient(to bottom, #e8e8e4, #d4d0c8);
  border-right: 1px solid #c0b8b0;
  border-bottom: 2px solid #a0a098;
  color: #1b1b1b;
  font-weight: bold;
}

.funding-table th[data-funding-sort] {
  cursor: pointer;
  user-select: none;
  position: sticky;
  padding-right: 19px;
}

.funding-table--arb-skin th[data-funding-sort] {
  padding-right: 22px;
}

.funding-table th[data-funding-sort]:hover {
  background: linear-gradient(to bottom, #fff9eb, #ecdfbe);
  color: #16428c;
}

.funding-table--arb-skin th[data-funding-sort]:hover {
  background: linear-gradient(to bottom, #d8d8f8, #c4c4e8);
}

.funding-table th.sorted-asc,
.funding-table th.sorted-desc {
  color: #0f469e;
  background: linear-gradient(to bottom, #fff8e6, #eadbb8);
}

.funding-table--arb-skin th.sorted-asc,
.funding-table--arb-skin th.sorted-desc {
  color: #0f469e;
  background: linear-gradient(to bottom, #e8e8e4, #d4d0c8);
}

.funding-table th.sorted-asc::after,
.funding-table th.sorted-desc::after {
  position: absolute;
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  color: #0054e3;
  font-size: 11px;
}

.funding-table th.sorted-asc::after {
  content: " \25B2";
}

.funding-table th.sorted-desc::after {
  content: " \25BC";
}

.funding-table--arb-skin th.sorted-asc::after,
.funding-table--arb-skin th.sorted-desc::after {
  right: 8px;
  color: #0054e3;
}

.funding-table th:last-child {
  border-right: none;
}

.funding-table td {
  padding: 8px 9px;
  border-bottom: 1px solid #e6decd;
  border-right: 1px solid #efe8d7;
  vertical-align: middle;
  background: rgba(255,255,255,0.88);
}

.funding-table--arb-skin td {
  padding: 5px 10px;
  border-right: 1px solid #e8e4d8;
  border-bottom: 1px solid #e8e4d8;
  white-space: nowrap;
  background: #fff;
}

.funding-table td:last-child {
  border-right: none;
}

.funding-table__row {
  cursor: pointer;
}

.funding-table__row:hover td {
  background: #f4f8ff;
}

.funding-table--arb-skin tbody tr:nth-child(even) td {
  background: #f0f0f8;
}

.funding-table--arb-skin tbody tr:hover td {
  background: #c8d8f8 !important;
}

.funding-table--arb-skin tbody tr.selected td {
  background: #316ac5 !important;
  color: #fff !important;
}

.funding-table--arb-skin tbody tr.selected .coin-button,
.funding-table--arb-skin tbody tr.selected .exchange-name,
.funding-table--arb-skin tbody tr.selected .funding-table__sub,
.funding-table--arb-skin tbody tr.selected .pair-line__price,
.funding-table--arb-skin tbody tr.selected .spread-apr,
.funding-table--arb-skin tbody tr.selected .funding-value,
.funding-table--arb-skin tbody tr.selected .fund-line__time {
  color: #fff !important;
}

.funding-table__sub {
  margin-top: 3px;
  color: #666;
  font-size: 11px;
  line-height: 1.35;
}

.funding-table__exchange .exchange {
  justify-content: flex-start;
}

.funding-table--arb-skin .col-symbol {
  width: 82px;
}

.funding-table--arb-skin .pair-line__price {
  min-width: 74px;
}

.funding-table--arb-skin .spread-badge,
.funding-table--arb-skin .open-spread {
  min-width: 62px;
}

.funding-open-btn {
  padding: 4px 10px;
  border: 1px solid;
  border-color: #ffffff #9a9388 #9a9388 #ffffff;
  background: linear-gradient(to bottom, #ffffff, #e9e4d7);
  color: #173f84;
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.funding-open-btn:active {
  border-color: #9a9388 #ffffff #ffffff #9a9388;
  background: linear-gradient(to bottom, #d9e8ff, #bcd4ff);
}

.pair-window {
  display: flex;
  flex-direction: column;
  gap: 6px;
  height: 100%;
  min-height: 0;
  padding: 6px;
  background: var(--xp-win-bg);
}

.pair-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  padding: 5px 8px;
  background: white;
  border: 1px solid #d0c8b8;
  border-radius: 4px;
}

.pair-header__meta {
  display: grid;
  gap: 4px;
}

.pair-header__title {
  color: var(--xp-blue);
  font-size: 13px;
  font-weight: bold;
}

.pair-header__subtitle {
  color: #555;
  font-size: 11px;
}

.pair-toolbar-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 11px;
}

.pair-toolbar-summary strong {
  color: #111;
}

.pair-exchange-card.is-short {
  background: #fff9f9;
}

.pair-exchange-card.is-long {
  background: #f7fff7;
}

.pair-ex-name--short {
  color: #8f1629;
}

.pair-ex-name--long {
  color: #146a26;
}

.pair-row .value.funding-value.is-positive {
  color: #18832a;
}

.pair-row .value.funding-value.is-negative {
  color: #b32525;
}

.pair-status-note {
  padding: 5px 8px;
  border: 1px solid #d2af5a;
  border-radius: 4px;
  background: #fff6d9;
  color: #7a5200;
  font-size: 11px;
  line-height: 1.25;
}

.pair-chart-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  padding: 5px 10px;
  background: #13161f;
  color: #c8cdd8;
  border-bottom: 1px solid #242836;
}

.pair-window .chart-container {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
}

.pair-tv-shell {
  flex: 1;
  min-height: 0;
}

.pair-tv-shell .chart-test-stage {
  flex: 1;
  min-height: 0;
}

.pair-tv-shell .chart-test-sidebar,
.pair-tv-shell .chart-test-main {
  min-height: 0;
}

.pair-tv-shell .chart-test-main {
  flex: 1;
}

.pair-tv-shell .chart-test-stack {
  flex: 1;
  min-height: 0;
}

.chart-legend,
.range-group {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.chart-controls-group,
.chart-zoom-group {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.chart-legend__item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 1px 0;
  background: transparent;
  border: none;
  color: #c8cdd8;
  font-size: 11px;
}

.chart-legend__swatch {
  width: 9px;
  height: 9px;
  border: 1px solid rgba(0, 0, 0, 0.42);
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.3);
}

.chart-legend__swatch--entry,
.chart-legend__swatch--long {
  background: #2ccb66;
}

.chart-legend__swatch--exit,
.chart-legend__swatch--short {
  background: #ff555f;
}

.range-btn {
  min-width: 42px;
  background: #2d3348;
  border-color: #242836;
  color: #c8cdd8;
  box-shadow: none;
  border-radius: 4px;
}

.range-btn.is-active {
  background: linear-gradient(to bottom, #4b7fff, #2f58d1);
  border-color: #6f94ff;
  color: white;
}

.zoom-btn {
  min-width: 36px;
  font-weight: bold;
}

.chart-controls__label,
.chart-controls__meta {
  color: #9eb4d7;
  font-size: 11px;
  font-weight: bold;
}

.detail-chart {
  min-height: 0;
  padding: 0 0 6px;
  background: #161923;
  overflow: hidden;
}

.detail-chart__viewport {
  width: 100%;
}

.detail-chart--chartjs {
  padding: 0 0 8px;
  background: #161923;
}

.detail-chart__viewport--chartjs {
  display: grid;
  gap: 10px;
  padding: 8px 8px 0;
  border: none;
  background: transparent;
  box-shadow: none;
}

.pair-chart-section {
  display: grid;
  gap: 4px;
}

.pair-chart-section__title {
  color: #dbe6f7;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.pair-chart-plot {
  position: relative;
  border: 1px solid #2a3144;
  background: #161923;
  border-radius: 6px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
  overflow: hidden;
}

.detail-chart__viewport--chartjs[data-chart-zoom-surface] {
  cursor: var(--cursor-resize-ew);
}

.pair-chart-canvas {
  display: block;
  width: 100% !important;
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.02), rgba(255,255,255,0)),
    #161923;
}

.pair-chart-plot--top .pair-chart-canvas {
  height: 260px !important;
}

.pair-chart-plot--bottom .pair-chart-canvas {
  height: 100px !important;
}

.pair-chart-badge-layer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 110px;
  pointer-events: none;
}

.pair-chart-badge {
  position: absolute;
  right: 0;
  min-width: 96px;
  padding: 4px 8px;
  border: 1px solid rgba(255,255,255,0.22);
  border-right: none;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.3;
  white-space: nowrap;
  text-align: left;
  border-radius: 4px 0 0 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.22);
}

.pair-chart-badge--green {
  background: linear-gradient(to bottom, #29bf59, #178637);
}

.pair-chart-badge--red {
  background: linear-gradient(to bottom, #ea6674, #b82f41);
}

.pair-chart-badge--amber {
  background: linear-gradient(to bottom, #ebb856, #af7314);
}

.detail-chart__svg {
  display: block;
  width: 100%;
  height: 236px;
  max-width: 100%;
  flex: none;
  background: #0f1419;
  border: 1px solid #7d776c;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.08), inset -1px -1px 0 rgba(0, 0, 0, 0.35);
}

.detail-chart__plot {
  fill: #161b21;
  stroke: #7b8795;
  stroke-width: 1;
}

.detail-chart__plot--bottom {
  fill: #12171d;
}

.detail-chart__grid-line {
  stroke: rgba(154, 172, 194, 0.18);
  stroke-width: 1;
}

.detail-chart__zero-line {
  stroke: rgba(215, 186, 72, 0.58);
  stroke-dasharray: 4 3;
  stroke-width: 1;
}

.detail-chart__series {
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.detail-chart__series--mid {
  stroke: #d2a024;
  stroke-dasharray: 3 2;
}
.detail-chart__series--entry,
.detail-chart__series--spread { stroke: #14a23a; }
.detail-chart__series--exit,
.detail-chart__series--open { stroke: #dd434d; }
.detail-chart__series--long { stroke: #14a23a; }
.detail-chart__series--short { stroke: #dd434d; }

.detail-chart__point {
  stroke: rgba(7, 11, 15, 0.95);
  stroke-width: 1.8;
}

.detail-chart__point--mid { fill: #b07a17; }
.detail-chart__point--entry,
.detail-chart__point--spread { fill: #15913b; }
.detail-chart__point--exit,
.detail-chart__point--open { fill: #c93441; }
.detail-chart__point--long { fill: #15913b; }
.detail-chart__point--short { fill: #c93441; }

.detail-chart__axis {
  fill: #b8c7d8;
  font-size: 8px;
  font-family: var(--font);
}

.detail-chart__panel-title {
  fill: #dbe7f5;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  font-family: var(--font);
}

.detail-chart__label-text {
  fill: #fff;
  font-size: 10px;
  font-weight: bold;
}

.detail-chart__footnote {
  margin-top: 6px;
  padding: 0 10px;
  color: #727b96;
  font-size: 10px;
  line-height: 1.35;
}

.arbcalc {
  display: grid;
  gap: 8px;
  min-height: 100%;
  padding: 8px;
  background: linear-gradient(to bottom, #ece9d8, #d4d0c8);
}

.arbcalc-display {
  min-height: 72px;
  padding: 8px 10px;
  border: 2px solid;
  border-color: #808080 #ffffff #ffffff #808080;
  background: #fbfff2;
  box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.12);
  display: grid;
  gap: 5px;
}

.arbcalc-display__caption {
  font-size: 10px;
  color: #5b5b5b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.arbcalc-display__main {
  font-size: 17px;
  font-weight: bold;
  color: #111;
}

.arbcalc-display__sub {
  font-size: 12px;
  color: #34485d;
}

.arbcalc-layout {
  display: grid;
  grid-template-columns: minmax(0, 300px) 220px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.arbcalc-panel {
  min-width: 0;
  padding: 8px;
  border: 1px solid;
  border-color: #ffffff #808080 #808080 #ffffff;
  background: #d4d0c8;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.55);
  display: grid;
  gap: 8px;
}

.arbcalc-panel--wide {
  align-self: stretch;
}

.arbcalc-panel__title {
  margin-bottom: 2px;
  font-size: 12px;
  font-weight: bold;
  color: #1a2a3c;
  text-transform: uppercase;
}

.arbcalc-field {
  display: grid;
  gap: 4px;
}

.arbcalc-field span {
  font-size: 11px;
  color: #243344;
}

.arbcalc-input,
.arbcalc-select {
  width: 100%;
  padding: 5px 6px;
  font-family: var(--font);
  font-size: 12px;
  color: #111;
  background: #fff;
  border: 2px solid;
  border-color: #808080 #ffffff #ffffff #808080;
}

.arbcalc-input:focus,
.arbcalc-select:focus {
  outline: 1px dotted #316ac5;
  outline-offset: -3px;
}

.arbcalc-input:disabled {
  background: #ece9d8;
  color: #666;
}

.arbcalc-mini-note {
  padding: 6px 7px;
  border: 1px solid #b8b0a0;
  background: #eee9dc;
  color: #4b5663;
  font-size: 11px;
  line-height: 1.35;
}

.arbcalc-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.arbcalc-keypad {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.arbcalc-btn {
  min-height: 34px;
  padding: 0 6px;
  border: 2px solid;
  border-color: #ffffff #808080 #808080 #ffffff;
  background: #d4d0c8;
  color: #111;
  font-family: var(--font);
  font-size: 12px;
  cursor: pointer;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.45);
}

.arbcalc-btn:hover {
  background: #ddd8cc;
}

.arbcalc-btn:active {
  border-color: #808080 #ffffff #ffffff #808080;
  box-shadow: inset 1px 1px 0 rgba(0,0,0,0.15);
}

.arbcalc-btn--wide {
  width: 100%;
}

.arbcalc-btn--digit {
  color: #1d33bf;
}

.arbcalc-btn--action {
  color: #b32020;
  font-weight: bold;
}

.arbcalc-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.arbcalc-summary__item {
  padding: 8px;
  border: 1px solid;
  border-color: #ffffff #9dacbc #9dacbc #ffffff;
  background: linear-gradient(to bottom, #fbfdff, #eef4fb);
}

.arbcalc-summary__label {
  display: block;
  margin-bottom: 5px;
  font-size: 10px;
  color: #526679;
  text-transform: uppercase;
}

.arbcalc-summary__value {
  display: block;
  font-size: 16px;
  color: #17283a;
}

.arbcalc-summary__value.is-positive {
  color: #187233;
}

.arbcalc-summary__value.is-negative {
  color: #b22222;
}

.arbcalc-order-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.arbcalc-order {
  padding: 9px 10px;
  border: 1px solid;
  border-color: #ffffff #9dacbc #9dacbc #ffffff;
  background: linear-gradient(to bottom, #fbfdff, #edf3fb);
  display: grid;
  gap: 6px;
}

.arbcalc-order--long {
  border-left: 4px solid #25a050;
}

.arbcalc-order--short {
  border-left: 4px solid #d04a4a;
}

.arbcalc-order__title {
  font-size: 12px;
  font-weight: bold;
  color: #1a2f43;
}

.arbcalc-order__line {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
}

.arbcalc-order__line span {
  color: #56687c;
}

.arbcalc-order__line strong {
  color: #17283a;
  text-align: right;
}

.arbcalc-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.arbcalc-metric {
  padding: 7px 8px;
  border: 1px solid;
  border-color: #ffffff #a4b6c8 #a4b6c8 #ffffff;
  background: #f3f7fc;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
}

.arbcalc-metric span {
  color: #54677b;
}

.arbcalc-metric strong {
  color: #17283a;
  text-align: right;
}

.arbcalc-metric strong.is-positive {
  color: #187233;
}

.arbcalc-metric strong.is-negative {
  color: #b22222;
}

.arbcalc-note {
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid #b7c8d8;
  background: #f9fbff;
  color: #33485f;
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 1180px) {
  .arbcalc-layout {
    grid-template-columns: 1fr;
  }

  .listings-grid--spotlight {
    grid-template-columns: 1fr;
  }

  .unlocks-chipbar {
    grid-template-columns: 1fr;
  }

  .unlock-detail-hero {
    flex-direction: column;
  }

  .unlock-detail-hero__metrics {
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .unlock-detail-layout {
    grid-template-columns: 1fr;
  }

  .unlocks-hero {
    flex-direction: column;
  }

  .unlocks-chipbar__label {
    justify-content: flex-start;
  }

  .unlocks-summary,
  .unlocks-toplist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .arbcalc-summary,
  .arbcalc-order-grid,
  .arbcalc-metrics,
  .arbcalc-actions {
    grid-template-columns: 1fr;
  }

  .window-split {
    grid-template-columns: 1fr;
  }

  .window-sidepanel {
    max-height: 280px;
    border-top: 1px solid #c0b8a8;
    border-left: none;
  }

  .pair-info-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px) {
  .arbcalc-keypad {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .unlock-detail-summary-grid {
    grid-template-columns: 1fr;
  }

  .unlocks-filters {
    padding: 9px 10px;
  }

  .unlocks-summary,
  .unlocks-toplist {
    grid-template-columns: 1fr;
  }

  .toolbar-dropdown__panel {
    width: min(92vw, 420px);
    max-height: min(72vh, 430px);
  }

  .exchange-list--compact {
    grid-template-columns: 1fr;
  }
}

/* Win98 calculator overhaul */
.arbcalc {
  min-height: 100%;
  padding: 8px;
  background: #d4d0c8;
}

.arbcalc-shell {
  display: grid;
  grid-template-columns: 372px minmax(0, 1fr);
  gap: 8px;
  min-height: 100%;
}

.arbcalc-machine,
.arbcalc-report {
  min-width: 0;
  border: 1px solid;
  border-color: #ffffff #808080 #808080 #ffffff;
  background: #d4d0c8;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.65);
}

.arbcalc-machine {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 8px;
}

.arbcalc-report {
  display: grid;
  gap: 8px;
  padding: 8px;
  align-content: start;
}

.arbcalc-report__header {
  padding: 6px 8px;
  border: 1px solid;
  border-color: #808080 #ffffff #ffffff #808080;
  background: linear-gradient(to bottom, #efe9dc, #e0d8c7);
}

.arbcalc-report__title {
  color: #14386e;
  font-size: 13px;
  font-weight: bold;
}

.arbcalc-report__sub {
  margin-top: 3px;
  color: #605749;
  font-size: 11px;
}

.arbcalc-display {
  min-height: 88px;
  padding: 8px 10px;
  border: 1px solid;
  border-color: #808080 #ffffff #ffffff #808080;
  background: #f8fff0;
  box-shadow: inset 1px 1px 0 rgba(0,0,0,0.16);
  display: grid;
  gap: 4px;
}

.arbcalc-display__caption {
  color: #55614c;
  font-size: 11px;
  min-height: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.arbcalc-display__main {
  color: #111;
  font-size: 31px;
  line-height: 1;
  font-weight: normal;
  text-align: right;
  letter-spacing: 0.01em;
}

.arbcalc-display__sub {
  color: #374735;
  font-size: 11px;
  text-align: right;
  min-height: 14px;
}

.arbcalc-selectrow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 6px;
  align-items: center;
}

.arbcalc-workgrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
}

.arbcalc-group {
  position: relative;
  padding: 12px 8px 8px;
  border: 1px solid #8f8b80;
  background: #d4d0c8;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.5);
  display: grid;
  gap: 6px;
}

.arbcalc-group--quick {
  padding-top: 12px;
}

.arbcalc-group__legend {
  position: absolute;
  top: -8px;
  left: 8px;
  padding: 0 4px;
  background: #d4d0c8;
  color: #343434;
  font-size: 11px;
  line-height: 1.2;
}

.arbcalc-field {
  display: grid;
  grid-template-columns: 1fr 120px;
  gap: 6px;
  align-items: center;
}

.arbcalc-field span {
  color: #333;
  font-size: 11px;
}

.arbcalc-input,
.arbcalc-select {
  width: 100%;
  min-width: 0;
  padding: 4px 5px;
  font-family: var(--font);
  font-size: 12px;
  color: #111;
  background: #fff;
  border: 1px solid;
  border-color: #808080 #ffffff #ffffff #808080;
  box-shadow: inset 1px 1px 0 rgba(0,0,0,0.1);
}

.arbcalc-input:focus,
.arbcalc-select:focus {
  outline: 1px dotted #000;
  outline-offset: -3px;
}

.arbcalc-input:disabled {
  background: #ece9d8;
  color: #666;
}

.arbcalc-input--wide {
  width: 100%;
}

.arbcalc-mini-note {
  margin-top: 2px;
  padding: 6px 7px;
  border: 1px solid;
  border-color: #ffffff #a19b8f #a19b8f #ffffff;
  background: #ebe6da;
  color: #4a4a4a;
  font-size: 11px;
  line-height: 1.35;
}

.arbcalc-quickrow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
}

.arbcalc-keypad-shell {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 6px;
  align-items: stretch;
}

.arbcalc-sidekeys {
  display: grid;
  gap: 6px;
}

.arbcalc-keypad {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.arbcalc-btn {
  min-height: 36px;
  padding: 0 6px;
  border: 1px solid;
  border-color: #ffffff #808080 #808080 #ffffff;
  background: #d4d0c8;
  color: #111;
  font-family: var(--font);
  font-size: 12px;
  cursor: pointer;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.5);
}

.arbcalc-btn:hover {
  background: #dbd6ca;
}

.arbcalc-btn:active {
  border-color: #808080 #ffffff #ffffff #808080;
  box-shadow: inset 1px 1px 0 rgba(0,0,0,0.16);
}

.arbcalc-btn--digit {
  color: #152ab3;
  font-size: 14px;
  font-weight: bold;
}

.arbcalc-btn--action {
  color: #a82424;
  font-weight: bold;
}

.arbcalc-btn--tool,
.arbcalc-btn--preset {
  color: #203e75;
}

.arbcalc-btn--eq {
  background: linear-gradient(to bottom, #faf2dd, #e7c98a);
  color: #7b2d00;
}

.arbcalc-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.arbcalc-summary__item,
.arbcalc-order,
.arbcalc-metric,
.arbcalc-note {
  border: 1px solid;
  border-color: #808080 #ffffff #ffffff #808080;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.45);
}

.arbcalc-summary__item {
  padding: 8px;
  background: #f2efe6;
}

.arbcalc-summary__label {
  display: block;
  margin-bottom: 4px;
  color: #5b5449;
  font-size: 10px;
  text-transform: uppercase;
}

.arbcalc-summary__value {
  display: block;
  color: #17283a;
  font-size: 18px;
  font-weight: bold;
}

.arbcalc-summary__value.is-positive {
  color: #17712f;
}

.arbcalc-summary__value.is-negative {
  color: #b22222;
}

.arbcalc-order-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.arbcalc-order {
  padding: 0;
  background: #f4f1e8;
  overflow: hidden;
}

.arbcalc-order--long {
  border-left: 3px solid #2da148;
}

.arbcalc-order--short {
  border-left: 3px solid #c44141;
}

.arbcalc-order__title {
  padding: 8px 9px 7px;
  background: #ece7db;
  border-bottom: 1px solid #c2b8a6;
  color: #1a2f43;
  font-size: 12px;
  font-weight: bold;
}

.arbcalc-order__line {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 9px;
  border-bottom: 1px solid #e5ddcc;
  font-size: 12px;
}

.arbcalc-order__line:last-child {
  border-bottom: none;
}

.arbcalc-order__line span {
  color: #5d6874;
}

.arbcalc-order__line strong {
  color: #17283a;
  text-align: right;
}

.arbcalc-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.arbcalc-metric {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 8px;
  background: #f4f2ea;
  font-size: 12px;
}

.arbcalc-metric span {
  color: #586577;
}

.arbcalc-metric strong {
  color: #16283e;
  text-align: right;
}

.arbcalc-metric strong.is-positive {
  color: #187233;
}

.arbcalc-metric strong.is-negative {
  color: #b22222;
}

.arbcalc-note {
  padding: 8px 10px;
  background: #ffffe6;
  color: #4a4436;
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 1180px) {
  .arbcalc-shell {
    grid-template-columns: 1fr;
  }

  .arbcalc-workgrid,
  .arbcalc-summary,
  .arbcalc-order-grid,
  .arbcalc-metrics {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .arbcalc-selectrow,
  .arbcalc-quickrow,
  .arbcalc-keypad-shell {
    grid-template-columns: 1fr;
  }

  .arbcalc-field {
    grid-template-columns: 1fr;
  }
}

.chart-test-window {
  min-height: 100%;
  padding: 12px;
  background:
    radial-gradient(circle at top left, rgba(58, 79, 118, 0.28), transparent 28%),
    linear-gradient(180deg, #111722 0%, #0b1220 100%);
  color: #d7e0ee;
}

.chart-test-shell {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 100%;
}

.chart-test-shell--combo .chart-test-stack {
  grid-template-rows: minmax(240px, 1fr) 118px;
}

.chart-test-shell--spread .chart-test-stack {
  grid-template-rows: minmax(330px, 1fr) 112px;
}

.chart-test-shell--funding .chart-test-stack {
  grid-template-rows: 130px minmax(280px, 1fr);
}

.chart-test-shell--funding-only .chart-test-stack {
  grid-template-rows: minmax(360px, 1fr);
}

.chart-test-shell--funding-only .chart-test-chartwrap--main {
  display: none;
}

.chart-test-topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(120, 138, 162, 0.28);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.96), rgba(17, 24, 39, 0.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.chart-test-titlewrap {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.chart-test-kicker {
  color: #8ea2c3;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.chart-test-title {
  color: #f3f6fb;
  font-size: 22px;
  line-height: 1.15;
}

.chart-test-meta {
  color: #9fb2ce;
  font-size: 12px;
}

.chart-test-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.chart-test-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(125, 147, 177, 0.28);
  border-radius: 999px;
  background: rgba(18, 25, 37, 0.96);
  color: #d8e3f3;
  font-size: 12px;
  font-weight: bold;
}

.chart-test-badge.is-positive {
  border-color: rgba(39, 174, 96, 0.42);
  background: rgba(13, 62, 38, 0.88);
  color: #83efab;
}

.chart-test-badge.is-negative {
  border-color: rgba(231, 76, 60, 0.42);
  background: rgba(74, 24, 22, 0.9);
  color: #ff9b93;
}

.chart-test-stage {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 12px;
  min-height: 0;
  flex: 1;
}

.chart-test-sidebar {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.chart-test-sidecard {
  padding: 13px 14px;
  border: 1px solid rgba(120, 138, 162, 0.28);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.98), rgba(12, 18, 30, 0.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.chart-test-sidecard.is-long {
  border-left: 3px solid #1ed760;
}

.chart-test-sidecard.is-short {
  border-left: 3px solid #ff5b61;
}

.chart-test-sidecard__head {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 10px;
}

.chart-test-sidecard__role {
  color: #8ea2c3;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.chart-test-sidecard__exchange {
  color: #f4f7fb;
  font-size: 17px;
  font-weight: bold;
}

.chart-test-sidecard__exchange .exchange-name {
  color: #eef6ff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.55);
}

.chart-test-sidecard__exchange .exchange--link:hover .exchange-name {
  color: #ffffff;
}

.chart-test-sidecard__market {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(54, 72, 97, 0.48);
  color: #bdd0ea;
  font-size: 11px;
  font-weight: bold;
}

.chart-test-sidecard__row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 0;
  border-bottom: 1px solid rgba(120, 138, 162, 0.14);
  font-size: 12px;
}

.chart-test-sidecard__row:last-of-type {
  border-bottom: 0;
}

.chart-test-sidecard__row span {
  color: #8ea2c3;
}

.chart-test-sidecard__row strong {
  color: #f3f6fb;
  text-align: right;
}

.chart-test-sidecard__status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(120, 138, 162, 0.14);
}

.chart-test-sidecard__status > span {
  color: #8ea2c3;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.chart-test-main {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.chart-test-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 6px 10px;
  border: 1px solid rgba(120, 138, 162, 0.28);
  border-radius: 10px;
  background: rgba(16, 23, 36, 0.96);
}

.chart-test-strip__lane {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: #bfd0e6;
  font-size: 12px;
}

.chart-test-strip__lane strong {
  color: #f4f7fb;
  font-size: 14px;
}

.chart-test-strip__lane--right {
  justify-content: flex-end;
}

.chart-test-strip__dot {
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  box-shadow: 0 0 14px currentColor;
}

.chart-test-strip__dot--green {
  color: #1ed760;
  background: #1ed760;
}

.chart-test-strip__dot--red {
  color: #ff5b61;
  background: #ff5b61;
}

.chart-test-legend {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 10px;
  border: 1px solid rgba(120, 138, 162, 0.22);
  border-radius: 10px;
  background: rgba(16, 23, 36, 0.92);
}

.chart-test-legend__group {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex-wrap: wrap;
}

.chart-test-legend__time {
  color: #8ea2c3;
  font-size: 12px;
  font-weight: bold;
}

.chart-test-legend__item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(31, 43, 61, 0.72);
  color: #d8e3f3;
  font-size: 12px;
}

.chart-test-legend__item b {
  color: #b8cae5;
  font-weight: bold;
}

.chart-test-legend__item strong {
  color: #f4f7fb;
}

.chart-test-legend__swatch {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  flex: 0 0 8px;
}

.chart-test-legend__swatch--amber {
  background: #d7b14a;
}

.chart-test-legend__swatch--green {
  background: #1ed760;
}

.chart-test-legend__swatch--red {
  background: #ff5b61;
}

.chart-test-stack {
  display: grid;
  grid-template-rows: minmax(240px, 1fr) 118px;
  gap: 8px;
  min-height: 0;
}

.chart-test-chartwrap {
  position: relative;
  min-width: 0;
}

.chart-test-panel-title {
  position: absolute;
  top: 9px;
  left: 10px;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border: 1px solid rgba(117, 143, 180, 0.36);
  border-radius: 6px;
  background: rgba(10, 16, 27, 0.82);
  color: #bcd0ee;
  font-size: 11px;
  font-weight: bold;
  pointer-events: none;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.55);
}

.chart-test-panel-title--funding {
  color: #9fe8bd;
}

.chart-test-watermark {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
  user-select: none;
  font-family: Tahoma, sans-serif;
  font-weight: bold;
  letter-spacing: 0.32em;
  color: rgba(205, 221, 244, 0.18);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.08), 0 0 18px rgba(110, 151, 220, 0.18);
  white-space: nowrap;
}

.chart-test-watermark--main {
  font-size: 76px;
}

.chart-test-watermark--funding {
  font-size: 60px;
  color: rgba(205, 221, 244, 0.18);
}

.chart-test-chart {
  min-width: 0;
  border: 1px solid rgba(120, 138, 162, 0.24);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(17, 23, 34, 0.98), rgba(13, 18, 29, 0.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.chart-test-chart--main {
  min-height: 240px;
}

.chart-test-chart--funding {
  min-height: 118px;
}

.chart-test-tooltip {
  position: absolute;
  z-index: 8;
  min-width: 188px;
  max-width: 240px;
  padding: 12px 14px;
  border: 1px solid rgba(86, 102, 125, 0.5);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(9, 14, 23, 0.96), rgba(15, 22, 35, 0.96));
  color: #eef4ff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38);
  pointer-events: none;
}

.chart-test-tooltip__time {
  margin-bottom: 8px;
  color: #93a7c5;
  font-size: 12px;
  font-weight: bold;
}

.chart-test-tooltip__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 2px 0;
  font-size: 12px;
}

.chart-test-tooltip__row span {
  color: #d4deee;
}

.chart-test-tooltip__row strong {
  color: #ffffff;
  text-align: right;
  white-space: nowrap;
}

.chart-test-shell--spread .chart-test-chart--main {
  min-height: 330px;
}

.chart-test-shell--spread .chart-test-chart--funding {
  min-height: 112px;
  opacity: 0.9;
}

.chart-test-shell--funding .chart-test-chart--main {
  min-height: 130px;
  opacity: 0.92;
}

.chart-test-shell--funding .chart-test-chart--funding {
  min-height: 280px;
}

.chart-test-shell--funding-only .chart-test-chart--funding {
  min-height: 360px;
}

.chart-test-foot {
  padding: 9px 11px;
  border: 1px solid rgba(120, 138, 162, 0.22);
  border-radius: 10px;
  background: rgba(16, 23, 36, 0.94);
  color: #8ea2c3;
  font-size: 12px;
  line-height: 1.45;
}

.pair-tv-shell.chart-test-shell {
  gap: 6px;
  min-height: 0;
}

.pair-tv-shell .chart-test-stage,
.pair-tv-shell .chart-test-main,
.pair-tv-shell .chart-test-stack,
.pair-tv-shell .chart-test-chartwrap {
  min-height: 0;
}

.pair-tv-shell .chart-test-chart {
  box-sizing: border-box;
  height: 100%;
}

@media (max-width: 1180px) {
  .chart-test-stage {
    grid-template-columns: 1fr;
  }

  .chart-test-strip {
    grid-template-columns: 1fr;
  }

  .chart-test-legend {
    flex-direction: column;
    align-items: flex-start;
  }

  .chart-test-strip__lane--right {
    justify-content: flex-start;
  }
}

@media (max-width: 860px) {
  .chart-test-topbar {
    flex-direction: column;
  }

  .chart-test-badges {
    justify-content: flex-start;
  }

  .chart-test-stack {
    grid-template-rows: minmax(320px, 1fr) 150px;
  }

  .chart-test-chart--main {
    min-height: 320px;
  }

  .chart-test-watermark--main {
    font-size: 58px;
  }

  .chart-test-watermark--funding {
    font-size: 46px;
  }
}

/* Site-wide XP font and cursor pass */
html,
body,
body * {
  font-family: var(--font) !important;
  font-weight: 400 !important;
}

.col-symbol,
.coin-button,
#spreads-table .coin-button,
.coin-button--table {
  font-weight: 700 !important;
}

html,
body,
body *,
#desktop,
.window,
.win-content {
  cursor: var(--cursor-normal) !important;
}

:is(
  a,
  button,
  select,
  label,
  summary,
  [role="button"],
  [onclick],
  [tabindex]:not([tabindex="-1"]),
  input[type="checkbox"],
  input[type="radio"],
  .desktop-icon,
  .win-control,
  .win-btn,
  .menu-item,
  .toolbar-btn,
  .source-toggle,
  .exchange-check,
  #spreads-table thead th,
  #spreads-table tbody tr,
  .funding-table th[data-funding-sort],
  .funding-table__row,
  .coin-button,
  .exchange--link,
  .spread-badge,
  .open-spread,
  .signal-card,
  .funding-card,
  .range-btn,
  .zoom-btn,
  .arbcalc-btn,
  .tray-icon,
  .tb-item,
  #start-btn,
  .taskbar-window
) {
  cursor: var(--cursor-link) !important;
}

:is(
  input:not([type="checkbox"]):not([type="radio"]),
  textarea,
  [contenteditable="true"]
) {
  cursor: var(--cursor-text) !important;
}

:is(
  button:disabled,
  input:disabled,
  select:disabled,
  textarea:disabled,
  .toolbar-btn--muted
) {
  cursor: var(--cursor-unavailable) !important;
}

:is(.win-titlebar, .window--dragging, .desktop-icon--dragging) {
  cursor: var(--cursor-move) !important;
}

.resize-handle {
  cursor: var(--cursor-resize-se) !important;
}

.detail-chart,
.detail-chart__viewport--chartjs[data-chart-zoom-surface] {
  cursor: var(--cursor-resize-ew) !important;
}

:is(#loading-screen, .loading-screen__hero, .window-empty:not(.window-empty--error)) {
  cursor: var(--cursor-working) !important;
}

/* XP Tahoma is visually smaller than browser Tahoma, so bump the UI back up. */
html,
body {
  font-size: 14px;
}

.desktop-icon {
  width: 88px;
  gap: 5px;
}

.desktop-icon .lbl {
  font-size: 14px;
  line-height: 1.24;
}

.win-title {
  font-size: 14px;
}

.win-menubar,
.menu-item,
.win-toolbar,
.toolbar-btn,
.toolbar-select,
.toolbar-input,
.toolbar-textarea,
.win-statusbar,
.statusbar-panel,
.tb-item,
#clock,
.panel-subtitle,
.pair-toolbar-summary,
.pair-header__subtitle,
.pair-row,
.listing-card__symbol,
.listing-card__time,
.listing-card__name {
  font-size: 13px;
}

#start-btn {
  font-size: 16px;
}

.tray-icon {
  font-size: 17px;
}

#spreads-table {
  font-size: 14px;
}

#spreads-table thead th {
  font-size: 14px;
  padding: 7px 10px;
}

#spreads-table td {
  font-size: 14px;
  padding: 7px 10px;
}

#spreads-table .coin-button,
.coin-button--table {
  font-size: 14px !important;
}

#spreads-table .exchange-name,
.exchange-name {
  font-size: 13px;
}

.spread-badge,
.open-spread {
  min-height: 28px;
  min-width: 78px;
  font-size: 13px;
}

.direction-pill,
.exchange-icon {
  width: 19px;
  height: 19px;
}

/* Large readability mode: the XP Tahoma file renders much smaller on high-res screens. */
html,
body {
  font-size: 22px;
}

.desktop-icon {
  width: 124px;
  gap: 8px;
}

.desktop-icon .lbl {
  font-size: 20px !important;
  line-height: 1.18;
}

.win-title {
  font-size: 20px !important;
}

.win-menubar,
.menu-item,
.win-toolbar,
.toolbar-btn,
.toolbar-select,
.toolbar-input,
.toolbar-textarea,
.win-statusbar,
.statusbar-panel,
.tb-item,
#clock,
.panel-subtitle,
.pair-toolbar-summary,
.pair-header__subtitle,
.pair-row,
.listing-card__symbol,
.listing-card__time,
.listing-card__name {
  font-size: 18px !important;
}

#start-btn {
  font-size: 22px !important;
}

.tray-icon {
  font-size: 23px !important;
}

#spreads-table {
  font-size: 22px !important;
}

#spreads-table thead th {
  font-size: 22px !important;
  padding: 12px 14px;
}

#spreads-table td {
  font-size: 22px !important;
  padding: 12px 14px;
}

#spreads-table .coin-button,
.coin-button--table {
  font-size: 23px !important;
}

#spreads-table .exchange-name,
.exchange-name {
  font-size: 20px !important;
}

.spread-badge,
.open-spread {
  min-height: 40px;
  min-width: 108px;
  font-size: 20px !important;
}

.direction-pill,
.exchange-icon {
  width: 28px;
  height: 28px;
}

/* Text-only readability correction: enlarge letters, not the chrome/icons. */
html,
body {
  font-size: 16px;
}

.desktop-icon {
  width: 80px;
  gap: 4px;
}

.desktop-icon .lbl {
  font-size: 18px !important;
  line-height: 1.12;
  text-shadow:
    1px 1px 1px black,
    -1px -1px 1px black,
    0 1px 1px black;
}

.win-title {
  font-size: 16px !important;
}

.win-menubar,
.win-menubar *,
.win-toolbar,
.win-toolbar *,
.toolbar-btn,
.toolbar-select,
.toolbar-input,
.toolbar-textarea,
.menu-item {
  font-size: 16px !important;
}

.win-statusbar,
.statusbar-panel {
  font-size: 15px !important;
}

#start-btn {
  font-size: 16px !important;
}

.tray-icon {
  font-size: 16px !important;
}

#spreads-table,
#spreads-table thead th,
#spreads-table tbody td,
#spreads-table tbody td * {
  font-size: 20px !important;
  line-height: 1.2 !important;
}

#spreads-table thead th {
  padding: 7px 10px;
}

#spreads-table td {
  padding: 7px 10px;
}

#spreads-table .coin-button,
.coin-button--table {
  font-size: 22px !important;
  line-height: 1.1 !important;
}

#spreads-table .exchange-name,
.exchange-name {
  font-size: 20px !important;
  line-height: 1.15 !important;
}

.direction-pill {
  width: 19px;
  height: 19px;
}

.exchange-icon {
  width: 17px;
  height: 17px;
  font-size: 9px !important;
}

#spreads-table .exchange-icon {
  width: 17px;
  height: 17px;
  font-size: 9px !important;
  line-height: 1 !important;
}

#spreads-table .direction-pill {
  width: 19px;
  height: 19px;
  line-height: 1 !important;
}

.spread-badge,
.open-spread {
  min-height: 26px;
  min-width: 74px;
  padding: 0 12px;
  font-size: 20px !important;
  line-height: 1.1 !important;
}

#spreads-table .status-flag {
  font-size: 18px !important;
}

/* Chart readability correction: pair windows and chart canvases need their own scale. */
.pair-window,
.pair-window * {
  font-size: 16px !important;
  line-height: 1.22 !important;
}

.pair-header__title {
  font-size: 17px !important;
}

.pair-header__subtitle,
.pair-toolbar-summary,
.pair-status-note {
  font-size: 16px !important;
}

.pair-chart-toolbar,
.pair-chart-toolbar *,
.chart-legend,
.chart-legend *,
.chart-controls__label,
.chart-controls__meta,
.range-btn,
.zoom-btn {
  font-size: 16px !important;
}

.chart-test-strip__lane,
.chart-test-strip__lane *,
.chart-test-legend,
.chart-test-legend *,
.chart-test-foot {
  font-size: 16px !important;
}

.chart-test-sidecard__role,
.chart-test-sidecard__market,
.chart-test-sidecard__status > span {
  font-size: 14px !important;
}

.chart-test-sidecard__exchange,
.chart-test-sidecard__exchange .exchange-name {
  font-size: 20px !important;
}

.chart-test-sidecard__row,
.chart-test-sidecard__row span,
.chart-test-sidecard__row strong {
  font-size: 16px !important;
}

.chart-test-panel-title {
  min-height: 28px;
  padding: 0 10px;
  font-size: 14px !important;
}

.chart-test-tooltip {
  min-width: 230px;
  max-width: 300px;
}

.chart-test-tooltip__time,
.chart-test-tooltip__row,
.chart-test-tooltip__row span,
.chart-test-tooltip__row strong {
  font-size: 16px !important;
}

.detail-chart__axis {
  font-size: 13px !important;
}

.detail-chart__panel-title,
.detail-chart__label-text,
.detail-chart__footnote,
.pair-chart-badge {
  font-size: 14px !important;
}

.pair-chart-badge {
  min-width: 118px;
  padding: 5px 9px;
}

.pair-window .exchange-icon {
  width: 17px;
  height: 17px;
  font-size: 9px !important;
  line-height: 1 !important;
}

.pair-window .exchange-icon__image {
  width: 100%;
  height: 100%;
}

/* Unified readability pass for every XP window/tab. */
.window .win-content,
.window .win-content *,
.window .win-toolbar,
.window .win-toolbar *,
.window .win-statusbar,
.window .win-statusbar * {
  font-size: 16px !important;
  line-height: 1.24 !important;
}

.window .win-title,
.window .panel-title,
.window .history-panel__title,
.window .history-replay__title,
.window .alert-panel__title,
.window .pumpdump-method__title,
.window .pumpdump-hero__title,
.window .unlocks-hero__title,
.window .listings-spotlight__title,
.window .listings-day__title,
.window .arbcalc-panel__title,
.window .source-card__title {
  font-size: 18px !important;
  line-height: 1.18 !important;
}

#spreads-table,
#spreads-table thead th,
#spreads-table tbody td,
#spreads-table tbody td *,
.funding-table,
.funding-table thead th,
.funding-table tbody td,
.funding-table tbody td *,
.unlocks-table,
.unlocks-table thead th,
.unlocks-table tbody td,
.unlocks-table tbody td *,
.history-table,
.history-table thead th,
.history-table tbody td,
.history-table tbody td *,
.pumpdump-methodology__table,
.pumpdump-methodology__table thead th,
.pumpdump-methodology__table tbody td,
.pumpdump-methodology__table tbody td * {
  font-size: 20px !important;
  line-height: 1.22 !important;
}

#spreads-table .coin-button,
.funding-table .coin-button,
.unlocks-table .unlock-token__symbol,
.history-paircard__head strong,
.listing-card__ticker,
.pumpdump-card__symbol,
.unlock-stat__value,
.unlock-topcard__symbol,
.unlock-topcard__value,
.history-hero__title,
.history-stat__value {
  font-size: 22px !important;
  line-height: 1.12 !important;
}

.funding-table__sub,
.unlock-token__name,
.unlock-cell__muted,
.unlock-chip,
.unlock-link,
.listing-card__symbol,
.listing-card__time,
.listing-card__name,
.listing-chip,
.pumpdump-risk,
.pumpdump-card__name,
.pumpdump-metric span,
.pumpdump-card__foot,
.history-paircard__route,
.history-paircard__tag,
.history-pill,
.history-paircard__metric,
.source-card__note,
.source-card__error,
.panel-status,
.alerts-note,
.alert-item__head,
.alert-item__body,
.signal-card__meta,
.funding-card__meta {
  font-size: 16px !important;
  line-height: 1.28 !important;
}

.unlocks-chip,
.pumpdump-tab,
.toolbar-btn,
.toolbar-select,
.toolbar-input,
.toolbar-textarea,
.funding-open-btn,
.arbcalc-btn,
.arbcalc-input,
.arbcalc-select {
  font-size: 16px !important;
  line-height: 1.2 !important;
}

.source-card__chip,
.source-badge,
.badge,
.cat-tag,
.pumpdump-score__value,
.pumpdump-method__metric strong,
.pumpdump-overview__pill strong,
.unlock-detail-summary-item strong,
.unlock-detail-kv strong,
.unlock-detail-allocation__head strong {
  font-size: 18px !important;
  line-height: 1.18 !important;
}

.unlock-detail-hero__title,
.pumpdump-stat__value,
.arbcalc-display__main {
  font-size: 24px !important;
  line-height: 1.12 !important;
}

.window .exchange-icon,
#spreads-table .exchange-icon,
.funding-table .exchange-icon,
.pair-window .exchange-icon {
  width: 17px;
  height: 17px;
  font-size: 9px !important;
  line-height: 1 !important;
}

.window .exchange-icon__image {
  width: 100%;
  height: 100%;
}

.window .direction-pill,
#spreads-table .direction-pill,
.funding-table .direction-pill {
  width: 19px;
  height: 19px;
  line-height: 1 !important;
}

.window .spread-badge,
.window .open-spread {
  font-size: 20px !important;
  line-height: 1.1 !important;
}

.chart-test-sidecard__exchange,
.chart-test-sidecard__exchange .exchange-name {
  font-size: 20px !important;
  line-height: 1.12 !important;
}

.chart-test-watermark--main {
  font-size: 76px !important;
  line-height: 1 !important;
}

.chart-test-watermark--funding {
  font-size: 60px !important;
  line-height: 1 !important;
}

/* Extra size for every tab except the main Arbitrage table. */
.window:not(#win-spreads) .win-content,
.window:not(#win-spreads) .win-content *,
.window:not(#win-spreads) .win-toolbar,
.window:not(#win-spreads) .win-toolbar *,
.window:not(#win-spreads) .win-statusbar,
.window:not(#win-spreads) .win-statusbar * {
  font-size: 18px !important;
  line-height: 1.26 !important;
}

.window:not(#win-spreads) .win-title,
.window:not(#win-spreads) .panel-title,
.window:not(#win-spreads) .history-panel__title,
.window:not(#win-spreads) .history-replay__title,
.window:not(#win-spreads) .alert-panel__title,
.window:not(#win-spreads) .pumpdump-method__title,
.window:not(#win-spreads) .pumpdump-hero__title,
.window:not(#win-spreads) .unlocks-hero__title,
.window:not(#win-spreads) .listings-spotlight__title,
.window:not(#win-spreads) .listings-day__title,
.window:not(#win-spreads) .arbcalc-panel__title,
.window:not(#win-spreads) .source-card__title {
  font-size: 21px !important;
  line-height: 1.16 !important;
}

.window:not(#win-spreads) .funding-table,
.window:not(#win-spreads) .funding-table thead th,
.window:not(#win-spreads) .funding-table tbody td,
.window:not(#win-spreads) .funding-table tbody td *,
.window:not(#win-spreads) .unlocks-table,
.window:not(#win-spreads) .unlocks-table thead th,
.window:not(#win-spreads) .unlocks-table tbody td,
.window:not(#win-spreads) .unlocks-table tbody td *,
.window:not(#win-spreads) .history-table,
.window:not(#win-spreads) .history-table thead th,
.window:not(#win-spreads) .history-table tbody td,
.window:not(#win-spreads) .history-table tbody td *,
.window:not(#win-spreads) .pumpdump-methodology__table,
.window:not(#win-spreads) .pumpdump-methodology__table thead th,
.window:not(#win-spreads) .pumpdump-methodology__table tbody td,
.window:not(#win-spreads) .pumpdump-methodology__table tbody td * {
  font-size: 22px !important;
  line-height: 1.22 !important;
}

.window:not(#win-spreads) .coin-button,
.window:not(#win-spreads) .unlock-token__symbol,
.window:not(#win-spreads) .history-paircard__head strong,
.window:not(#win-spreads) .listing-card__ticker,
.window:not(#win-spreads) .pumpdump-card__symbol,
.window:not(#win-spreads) .unlock-stat__value,
.window:not(#win-spreads) .unlock-topcard__symbol,
.window:not(#win-spreads) .unlock-topcard__value,
.window:not(#win-spreads) .history-hero__title,
.window:not(#win-spreads) .history-stat__value {
  font-size: 24px !important;
  line-height: 1.12 !important;
}

.window:not(#win-spreads) .funding-table__sub,
.window:not(#win-spreads) .unlock-token__name,
.window:not(#win-spreads) .unlock-cell__muted,
.window:not(#win-spreads) .unlock-chip,
.window:not(#win-spreads) .unlock-link,
.window:not(#win-spreads) .listing-card__symbol,
.window:not(#win-spreads) .listing-card__time,
.window:not(#win-spreads) .listing-card__name,
.window:not(#win-spreads) .listing-chip,
.window:not(#win-spreads) .pumpdump-risk,
.window:not(#win-spreads) .pumpdump-card__name,
.window:not(#win-spreads) .pumpdump-metric span,
.window:not(#win-spreads) .pumpdump-card__foot,
.window:not(#win-spreads) .history-paircard__route,
.window:not(#win-spreads) .history-paircard__tag,
.window:not(#win-spreads) .history-pill,
.window:not(#win-spreads) .history-paircard__metric,
.window:not(#win-spreads) .source-card__note,
.window:not(#win-spreads) .source-card__error,
.window:not(#win-spreads) .panel-status,
.window:not(#win-spreads) .alerts-note,
.window:not(#win-spreads) .alert-item__head,
.window:not(#win-spreads) .alert-item__body,
.window:not(#win-spreads) .signal-card__meta,
.window:not(#win-spreads) .funding-card__meta {
  font-size: 18px !important;
  line-height: 1.3 !important;
}

.window:not(#win-spreads) .unlocks-chip,
.window:not(#win-spreads) .pumpdump-tab,
.window:not(#win-spreads) .toolbar-btn,
.window:not(#win-spreads) .toolbar-select,
.window:not(#win-spreads) .toolbar-input,
.window:not(#win-spreads) .toolbar-textarea,
.window:not(#win-spreads) .funding-open-btn,
.window:not(#win-spreads) .arbcalc-btn,
.window:not(#win-spreads) .arbcalc-input,
.window:not(#win-spreads) .arbcalc-select {
  font-size: 18px !important;
  line-height: 1.2 !important;
}

.window:not(#win-spreads) .source-card__chip,
.window:not(#win-spreads) .source-badge,
.window:not(#win-spreads) .badge,
.window:not(#win-spreads) .cat-tag,
.window:not(#win-spreads) .pumpdump-score__value,
.window:not(#win-spreads) .pumpdump-method__metric strong,
.window:not(#win-spreads) .pumpdump-overview__pill strong,
.window:not(#win-spreads) .unlock-detail-summary-item strong,
.window:not(#win-spreads) .unlock-detail-kv strong,
.window:not(#win-spreads) .unlock-detail-allocation__head strong {
  font-size: 20px !important;
  line-height: 1.18 !important;
}

.window:not(#win-spreads) .unlock-detail-hero__title,
.window:not(#win-spreads) .pumpdump-stat__value,
.window:not(#win-spreads) .arbcalc-display__main {
  font-size: 26px !important;
  line-height: 1.12 !important;
}

.window:not(#win-spreads) .exchange-icon {
  width: 17px;
  height: 17px;
  font-size: 9px !important;
  line-height: 1 !important;
}

.window:not(#win-spreads) .exchange-icon__image {
  width: 100%;
  height: 100%;
}

.window:not(#win-spreads) .direction-pill {
  width: 19px;
  height: 19px;
  line-height: 1 !important;
}

/* XP Start menu + Ping Center polish */
#start-btn {
  appearance: none;
  -webkit-appearance: none;
}

#start-btn.is-open {
  filter: brightness(0.94);
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.34), inset 0 1px rgba(255,255,255,0.2);
}

.start-btn__logo {
  display: grid;
  grid-template-columns: repeat(2, 8px);
  grid-template-rows: repeat(2, 8px);
  gap: 1px;
  width: 19px;
  height: 19px;
  transform: skew(-8deg);
  filter: drop-shadow(1px 1px 0 rgba(0,0,0,0.34));
}

.start-btn__logo span:nth-child(1) { background: #f1573a; }
.start-btn__logo span:nth-child(2) { background: #45a9ff; }
.start-btn__logo span:nth-child(3) { background: #5fbd35; }
.start-btn__logo span:nth-child(4) { background: #ffd44a; }

.start-menu {
  position: fixed;
  left: 6px;
  bottom: 42px;
  width: min(560px, calc(100vw - 18px));
  max-height: min(720px, calc(100vh - 58px));
  z-index: 9998;
  overflow: hidden;
  border: 2px solid #1852aa;
  border-radius: 8px 8px 4px 4px;
  background: #f4efe2;
  box-shadow: 4px 8px 22px rgba(0,0,0,0.38), inset 1px 1px 0 rgba(255,255,255,0.7);
}

.start-menu[hidden] {
  display: none !important;
}

.start-menu__header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  color: #fff;
  background:
    linear-gradient(90deg, #0b3c91, #1d66c6 58%, #5aa1f0);
  border-bottom: 1px solid #123c83;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.45);
}

.start-menu__avatar {
  width: 42px;
  height: 42px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,0.86);
  background: #fff;
  object-fit: cover;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.start-menu__header strong {
  display: block;
  font-size: 20px !important;
  line-height: 1.1 !important;
}

.start-menu__header span {
  display: block;
  font-size: 14px !important;
  opacity: 0.92;
}

.start-menu__body {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(210px, 0.82fr);
  min-height: 360px;
}

.start-menu__left,
.start-menu__right {
  display: grid;
  align-content: start;
  gap: 4px;
  padding: 10px;
}

.start-menu__left {
  background: linear-gradient(to bottom, #fff, #f9f7ef);
  border-right: 1px solid #c4bea9;
}

.start-menu__right {
  background: linear-gradient(to bottom, #e3ecfb, #d5e3f8);
}

.start-menu__caption {
  padding: 2px 4px 5px;
  color: #24599b;
  font-size: 13px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0 !important;
}

.start-menu__item {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 50px;
  padding: 6px 8px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: #111;
  text-align: left;
  font-family: var(--font);
  cursor: var(--cursor-link);
}

.start-menu__item:hover,
.start-menu__item:focus-visible {
  border-color: #7aa4df;
  background: linear-gradient(to bottom, #f2f7ff, #d9eaff);
  outline: none;
}

.start-menu__item--system:hover,
.start-menu__item--system:focus-visible {
  background: linear-gradient(to bottom, #edf5ff, #cbdcf5);
}

.start-menu__icon {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.start-menu__icon .tb-item__icon-image {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.start-menu__icon .tb-item__icon-glyph {
  font-size: 24px !important;
}

.start-menu__text {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.start-menu__text strong {
  color: #083c8e;
  font-size: 17px !important;
  line-height: 1.1 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.start-menu__text small {
  color: #53606f;
  font-size: 13px !important;
  line-height: 1.18 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.start-menu__badge,
.start-menu__pill {
  padding: 2px 6px;
  border-radius: 10px;
  border: 1px solid #85a2d2;
  background: #eef5ff;
  color: #124d9c;
  font-size: 12px !important;
  line-height: 1.1 !important;
  font-weight: 700;
}

.start-menu__pill.is-on {
  border-color: #51a85b;
  background: #ddf6df;
  color: #11651b;
}

.start-menu__pill.is-off {
  border-color: #be8a78;
  background: #ffe5dc;
  color: #8a2a16;
}

.start-menu__ping-card {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 8px;
  margin-top: 8px;
  padding: 9px;
  border: 1px solid rgba(74, 112, 170, 0.45);
  border-radius: 5px;
  background: linear-gradient(to bottom, #f7fbff, #e6f0ff);
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.78);
}

.start-menu__ping-dot {
  width: 11px;
  height: 11px;
  margin-top: 4px;
  border-radius: 50%;
  background: #75a2d8;
  box-shadow: 0 0 0 3px rgba(117,162,216,0.16);
}

.start-menu__ping-dot.is-hot {
  background: #2abb54;
  box-shadow: 0 0 0 3px rgba(42,187,84,0.18), 0 0 10px rgba(42,187,84,0.65);
}

.start-menu__ping-card strong,
.start-menu__ping-card span,
.start-menu__ping-card small {
  display: block;
  min-width: 0;
}

.start-menu__ping-card strong {
  color: #0a3d87;
  font-size: 16px !important;
}

.start-menu__ping-card span,
.start-menu__ping-card small {
  color: #4f5e73;
  font-size: 12px !important;
  line-height: 1.22 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.start-menu__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 8px 10px;
  border-top: 1px solid #b7c3d8;
  background: linear-gradient(to bottom, #dbe8fb, #c4d8f4);
}

.start-menu__footer a,
.start-menu__footer button {
  min-height: 28px;
  padding: 3px 9px;
  border: 1px solid #7f9db9;
  border-radius: 3px;
  background: linear-gradient(to bottom, #fff, #dbe8fb);
  color: #083c8e;
  text-decoration: none;
  font: inherit;
  font-size: 14px !important;
  cursor: var(--cursor-link);
}

#win-alerts {
  min-width: 780px;
}

#win-alerts .win-content {
  background: linear-gradient(to bottom, #f8f7f1, #eee7d8);
}

.alerts-toolbar {
  align-items: center;
}

.alerts-layout {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
  grid-template-areas:
    "hero hero"
    "rules feed";
  gap: 12px;
  padding: 12px;
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.7), rgba(238,232,218,0.78)),
    repeating-linear-gradient(90deg, rgba(8,55,120,0.035) 0 1px, transparent 1px 38px);
}

.alerts-hero {
  grid-area: hero;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #c7baa1;
  border-radius: 6px;
  background:
    linear-gradient(120deg, #fffdf8 0%, #f2ead8 58%, #dceaff 100%);
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.86);
}

.alerts-hero__copy {
  display: grid;
  align-content: center;
  gap: 4px;
  min-width: 0;
}

.alerts-hero__kicker {
  color: #7a3d00;
  font-size: 13px !important;
  font-weight: 700;
  text-transform: uppercase;
}

.alerts-hero__title {
  color: #083c8e;
  font-size: 24px !important;
  line-height: 1.08 !important;
  font-weight: 700;
}

.alerts-hero__sub {
  color: #5d5a52;
  font-size: 15px !important;
}

.alerts-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(82px, 1fr));
  gap: 8px;
  min-width: 300px;
}

.alerts-stat {
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 9px 10px;
  border: 1px solid #b9c8dd;
  border-radius: 5px;
  background: linear-gradient(to bottom, #f7fbff, #e7f0ff);
  text-align: center;
}

.alerts-stat span {
  color: #5a6d88;
  font-size: 12px !important;
  font-weight: 700;
  text-transform: uppercase;
}

.alerts-stat strong {
  color: #073f93;
  font-size: 24px !important;
  line-height: 1 !important;
}

.alerts-stat strong.is-off {
  color: #9b2d16;
}

.alert-panel {
  border-radius: 6px;
}

.alerts-grid {
  grid-area: rules;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  align-content: start;
}

.alert-panel--feed {
  grid-area: feed;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.alert-panel--rule {
  position: relative;
  overflow: hidden;
  border-left-width: 4px;
}

.alert-panel--spread-rule { border-left-color: #2ea24d; }
.alert-panel--listing-rule { border-left-color: #2878d6; }
.alert-panel--pump-rule { border-left-color: #cc3d42; }
.alert-panel--sound { border-left: 4px solid #7b68c9; }

.alert-panel__head,
.alert-feed-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.alert-panel__head {
  justify-content: flex-start;
}

.alert-panel__icon {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  border-radius: 6px;
  color: #fff;
  background: linear-gradient(to bottom, #367bd5, #0b4aab);
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.35), 0 1px 2px rgba(0,0,0,0.22);
  font-weight: 700;
}

.alert-panel__desc {
  color: #6b6355;
  font-size: 14px !important;
  line-height: 1.25 !important;
}

.alert-switch {
  padding: 6px 8px;
  border: 1px solid #d1c7b6;
  border-radius: 4px;
  background: rgba(255,255,255,0.58);
}

.alert-feed-count {
  padding: 3px 8px;
  border: 1px solid #b9c8dd;
  border-radius: 999px;
  background: #eef5ff;
  color: #0b4a9e;
  font-size: 13px !important;
  font-weight: 700;
  white-space: nowrap;
}

.alerts-feed {
  gap: 9px;
  flex: 1;
  min-height: 0;
  max-height: none;
  padding-right: 4px;
}

.alert-item {
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  padding: 10px 11px;
  border-radius: 6px;
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.98), rgba(246,241,231,0.96));
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.alert-item:hover {
  transform: translateY(-1px);
  box-shadow: inset 1px 1px 0 rgba(255,255,255,0.74), 0 4px 10px rgba(33,45,70,0.12);
}

.alert-item__icon {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(to bottom, #f7fbff, #dbe9ff);
  border: 1px solid #9fb6d8;
  font-size: 18px !important;
  line-height: 1 !important;
}

.alert-item__content {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.alert-item__head {
  align-items: center;
}

.alert-item__head > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
}

.alert-item__head strong {
  font-size: 17px !important;
  color: #083c8e;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.alert-item__head time {
  color: #6b7584;
  font-size: 13px !important;
  white-space: nowrap;
}

.alert-item__tag {
  padding: 2px 6px;
  border: 1px solid #c6d2e4;
  border-radius: 999px;
  background: #eef5ff;
  color: #174e9e;
  font-size: 12px !important;
  line-height: 1.1 !important;
  font-weight: 700;
  white-space: nowrap;
}

.alert-item__body {
  color: #5e5442;
  font-size: 15px !important;
  line-height: 1.35 !important;
}

.alerts-empty {
  min-height: 150px;
  display: grid;
  place-content: center;
  gap: 5px;
  padding: 14px;
  text-align: center;
  color: #687386;
  border: 1px dashed #b9aa90;
  border-radius: 6px;
  background: rgba(255,255,255,0.48);
}

.alerts-empty strong {
  color: #083c8e;
  font-size: 20px !important;
}

.alerts-empty span {
  display: block;
  max-width: 280px;
  font-size: 15px !important;
  line-height: 1.32 !important;
  white-space: normal;
}

@media (max-width: 880px) {
  .start-menu__body,
  .alerts-layout,
  .alerts-hero {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .alerts-layout {
    grid-template-areas:
      "hero"
      "rules"
      "feed";
  }

  .start-menu__body {
    display: block;
    overflow: auto;
  }

  .start-menu__left {
    border-right: 0;
    border-bottom: 1px solid #c4bea9;
  }

  .alerts-hero__stats {
    min-width: 0;
  }
}

/* Spread table layer fix: keep row direction arrows under the sticky header. */
#spreads-table {
  border-collapse: separate;
  border-spacing: 0;
}

#spreads-table thead,
#spreads-table thead tr {
  position: sticky;
  top: 0;
  z-index: 30;
}

#spreads-table thead th {
  position: sticky;
  top: 0;
  z-index: 31;
  overflow: hidden;
  background: linear-gradient(to bottom, #e8e8e4, #d4d0c8);
  box-shadow: inset 0 -1px 0 #9f9a8f, 0 1px 0 #fff;
}

#spreads-table tbody td {
  position: relative;
  overflow: hidden;
  vertical-align: middle;
}

#spreads-table .pair-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 28px;
}

#spreads-table .pair-line__left {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
}

#spreads-table .pair-line__price {
  min-width: 74px;
  justify-content: flex-end;
}

#spreads-table .direction-pill {
  width: 19px !important;
  height: 19px !important;
  min-width: 19px;
  flex: 0 0 19px;
  align-self: center;
  margin: 0 !important;
  overflow: hidden;
  transform: none !important;
  z-index: 0;
}

/* Start menu readability: make the XP launcher usable at desktop distance. */
.start-menu {
  width: min(680px, calc(100vw - 18px)) !important;
}

.start-menu__header {
  gap: 12px;
  padding: 12px 14px;
}

.start-menu__avatar {
  width: 48px !important;
  height: 48px !important;
}

.start-menu__header strong {
  font-size: 24px !important;
  line-height: 1.08 !important;
}

.start-menu__header span {
  font-size: 17px !important;
  line-height: 1.18 !important;
}

.start-menu__body {
  grid-template-columns: minmax(0, 1.2fr) minmax(270px, 0.8fr) !important;
  min-height: 430px;
}

.start-menu__left,
.start-menu__right {
  gap: 7px;
  padding: 12px;
}

.start-menu__caption {
  font-size: 16px !important;
  line-height: 1.16 !important;
  padding: 3px 5px 7px;
}

.start-menu__item {
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  gap: 10px;
  min-height: 58px;
  padding: 8px 9px;
}

.start-menu__icon {
  width: 40px !important;
  height: 40px !important;
}

.start-menu__icon .tb-item__icon-image {
  width: 38px !important;
  height: 38px !important;
}

.start-menu__icon .tb-item__icon-glyph {
  font-size: 30px !important;
}

.start-menu__text {
  gap: 4px;
}

.start-menu__text strong {
  font-size: 21px !important;
  line-height: 1.12 !important;
}

.start-menu__text small {
  font-size: 16px !important;
  line-height: 1.2 !important;
}

.start-menu__badge,
.start-menu__pill {
  padding: 3px 8px;
  font-size: 14px !important;
  line-height: 1.1 !important;
}

.start-menu__ping-card {
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  padding: 10px;
}

.start-menu__ping-dot {
  width: 14px;
  height: 14px;
  margin-top: 5px;
}

.start-menu__ping-card strong {
  font-size: 20px !important;
  line-height: 1.16 !important;
}

.start-menu__ping-card span,
.start-menu__ping-card small {
  font-size: 15px !important;
  line-height: 1.24 !important;
}

.start-menu__footer {
  padding: 9px 12px;
}

.start-menu__footer a,
.start-menu__footer button {
  min-height: 34px;
  padding: 5px 12px;
  font-size: 16px !important;
  line-height: 1.15 !important;
}

/* Sort arrows: compact XP-style chevrons instead of oversized text triangles. */
#spreads-table thead th[data-sort],
.funding-table th[data-funding-sort] {
  padding-right: 24px !important;
}

#spreads-table thead th.sorted-asc::after,
#spreads-table thead th.sorted-desc::after,
.funding-table th.sorted-asc::after,
.funding-table th.sorted-desc::after {
  content: "" !important;
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 7px;
  vertical-align: middle;
  transform: translateY(-1px);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}

#spreads-table thead th.sorted-asc::after,
.funding-table th.sorted-asc::after {
  border-bottom: 7px solid #0054e3;
}

#spreads-table thead th.sorted-desc::after,
.funding-table th.sorted-desc::after {
  border-top: 7px solid #0054e3;
}

.funding-table th.sorted-asc::after,
.funding-table th.sorted-desc::after {
  position: absolute;
  right: 9px;
  top: 50%;
  margin-left: 0;
}

.funding-table th.sorted-asc::after {
  transform: translateY(-55%);
}

.funding-table th.sorted-desc::after {
  transform: translateY(-30%);
}

/* Listing calendar trade links. */
.listing-card__trade {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 10px;
  border: 1px solid #7f9db9;
  border-radius: 3px;
  background: linear-gradient(to bottom, #ffffff, #e7edf8);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.85);
  color: #003c8f;
  font-size: 18px !important;
  font-weight: 700;
  line-height: 1.15 !important;
  text-decoration: none;
  white-space: nowrap;
}

.listing-card__trade:hover {
  background: linear-gradient(to bottom, #eef6ff, #d7e9ff);
  color: #002f72;
  text-decoration: none;
}

.listing-card--spotlight .listing-card__trade {
  margin-bottom: 4px;
}

/* AI Assistant window. */
#win-assistant {
  min-width: 760px;
  min-height: 520px;
}

#win-assistant .win-content {
  overflow: hidden;
  background: #ece9d8;
}

.ai-toolbar .toolbar-btn {
  min-height: 30px;
}

.ai-assistant {
  display: grid;
  grid-template-columns: minmax(260px, 330px) minmax(0, 1fr);
  gap: 10px;
  height: 100%;
  min-height: 0;
  padding: 10px;
  background:
    linear-gradient(to bottom, rgba(255, 255, 255, 0.72), rgba(236, 233, 216, 0.92)),
    #ece9d8;
}

.ai-sidebar,
.ai-chat {
  min-height: 0;
}

.ai-sidebar {
  display: grid;
  align-content: start;
  gap: 10px;
}

.ai-hero,
.ai-context-card {
  border: 1px solid #b8aa8a;
  border-radius: 4px;
  background: linear-gradient(to bottom, #fffdf7, #f4eddd);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.85);
  padding: 10px;
}

.ai-hero__title {
  color: #073f93;
  font-size: 24px !important;
  font-weight: 700;
  line-height: 1.08 !important;
}

.ai-hero__text {
  margin-top: 4px;
  color: #4e514b;
  font-size: 16px !important;
  line-height: 1.28 !important;
}

.ai-context-card--empty {
  display: grid;
  gap: 5px;
  color: #5f5b50;
}

.ai-context-card--empty strong {
  color: #073f93;
}

.ai-picker {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.ai-picker label {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.ai-picker label > span {
  color: #61645d;
  font-size: 14px !important;
  line-height: 1.1 !important;
}

.ai-picker .toolbar-select {
  width: 100%;
  min-width: 0;
  font-size: 15px !important;
}

.ai-context-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.ai-context-card__head strong {
  display: block;
  color: #0054e3;
  font-size: 24px !important;
  line-height: 1.08 !important;
}

.ai-context-card__head span {
  color: #5c6270;
  font-size: 15px !important;
}

.ai-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 3px 9px;
  border-radius: 3px;
  border: 1px solid #7f9db9;
  background: linear-gradient(to bottom, #ffffff, #dfe9fb);
  font-size: 17px !important;
  font-weight: 700;
  white-space: nowrap;
}

.ai-context-grid,
.ai-mini-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.ai-context-grid div,
.ai-mini-list div {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #d2c7ad;
  background: rgba(255, 255, 255, 0.74);
}

.ai-context-grid span,
.ai-mini-list span {
  display: block;
  color: #61645d;
  font-size: 14px !important;
  line-height: 1.1 !important;
}

.ai-context-grid strong,
.ai-mini-list strong {
  display: block;
  overflow-wrap: anywhere;
  color: #111;
  font-size: 18px !important;
  line-height: 1.18 !important;
}

.ai-chat {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 10px;
  min-width: 0;
}

.ai-chat-feed {
  display: flex;
  flex-direction: column;
  gap: 9px;
  min-height: 0;
  overflow: auto;
  padding: 10px;
  border: 1px solid #9d9d92;
  background: #ffffff;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.16);
}

.ai-message {
  max-width: 92%;
  padding: 9px 11px;
  border: 1px solid #b8aa8a;
  border-radius: 4px;
  background: linear-gradient(to bottom, #fffef9, #f3eddf);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.8);
}

.ai-message--user {
  align-self: flex-end;
  border-color: #7f9db9;
  background: linear-gradient(to bottom, #edf5ff, #dbe9ff);
}

.ai-message--assistant {
  align-self: flex-start;
}

.ai-message--loading {
  opacity: 0.78;
}

.ai-message__meta {
  margin-bottom: 5px;
  color: #5b6580;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 1.12 !important;
}

.ai-message__body {
  display: grid;
  gap: 4px;
  color: #111;
  font-size: 18px !important;
  line-height: 1.28 !important;
}

.ai-suggested {
  display: grid;
  gap: 6px;
  padding: 8px;
  border: 1px solid #b8aa8a;
  background: linear-gradient(to bottom, #fffdf7, #f4eddd);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.85);
}

.ai-suggested__title {
  color: #073f93;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.1 !important;
}

.ai-suggested__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ai-suggested__btn {
  appearance: none;
  -webkit-appearance: none;
  max-width: 100%;
  min-height: 28px;
  padding: 4px 8px;
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
  border-right: 1px solid #9a9388;
  border-bottom: 1px solid #9a9388;
  background: linear-gradient(to bottom, #ffffff, #ece9d8);
  color: #111;
  font-family: var(--font-xp);
  font-size: 15px !important;
  line-height: 1.15 !important;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
}

.ai-suggested__btn:hover {
  background: linear-gradient(to bottom, #fdfefe, #dfe9fb);
  color: #073f93;
}

.ai-suggested__btn:active {
  border-top-color: #9a9388;
  border-left-color: #9a9388;
  border-right-color: #ffffff;
  border-bottom-color: #ffffff;
  background: #ece9d8;
}

.ai-composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 8px;
}

.ai-input {
  width: 100%;
  min-height: 64px;
  resize: none;
  padding: 7px 9px;
  border: 1px solid #7f9db9;
  background: white;
  color: #111;
  font-family: var(--font-xp);
  font-size: 18px !important;
  line-height: 1.25 !important;
}

.ai-send {
  min-height: 64px;
  font-size: 18px !important;
  font-weight: 700;
}

@media (max-width: 820px) {
  .ai-assistant {
    grid-template-columns: 1fr;
    overflow: auto;
  }

  .ai-chat {
    min-height: 420px;
  }
}

/* Final chart watermark override: keep this after global window font scaling. */
.window .pair-tv-shell .chart-test-watermark {
  font-size: clamp(54px, 5.8vw, 84px) !important;
  line-height: 1 !important;
  letter-spacing: 0.26em !important;
  color: rgba(205, 221, 244, 0.18) !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.08), 0 0 18px rgba(110, 151, 220, 0.18) !important;
}

.window .pair-tv-shell .chart-test-watermark--funding {
  font-size: clamp(44px, 4.8vw, 68px) !important;
}

/* Mobile shell: keep the XP desktop usable on every phone width. */
@media (max-width: 760px) {
  html,
  body {
    width: 100%;
    height: 100%;
    overflow: hidden;
    font-size: 14px;
    -webkit-text-size-adjust: 100%;
    touch-action: manipulation;
  }

  #desktop {
    height: calc(100dvh - 40px);
    min-height: 0;
    overflow: hidden;
    background-position: center bottom;
  }

  .desktop-icon {
    width: 76px !important;
    padding: 3px 4px;
    gap: 3px;
  }

  .desktop-icon__image {
    width: 40px !important;
    height: 40px !important;
  }

  .desktop-icon .lbl {
    font-size: 12px !important;
    line-height: 1.14 !important;
    max-height: 42px;
    overflow: hidden;
  }

  .window {
    position: absolute;
    inset: 0 auto auto 0;
    width: 100vw !important;
    height: calc(100dvh - 40px) !important;
    min-width: 0;
    min-height: 0;
    max-width: 100vw;
    max-height: calc(100dvh - 40px);
    border-width: 1px;
    border-radius: 0;
    box-shadow: none;
  }

  .win-titlebar {
    min-height: 34px;
    padding: 4px 4px 4px 7px;
    gap: 5px;
    cursor: default;
  }

  .win-title {
    font-size: 14px !important;
    line-height: 1.15;
  }

  .win-btn {
    width: 32px;
    height: 28px;
    font-size: 13px;
  }

  .win-menubar {
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .menu-item {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    font-size: 13px !important;
  }

  .win-toolbar,
  .win-toolbar--wrap {
    display: flex;
    align-items: stretch;
    gap: 5px;
    padding: 5px;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .toolbar-btn,
  .toolbar-select,
  .toolbar-input {
    min-height: 32px;
    font-size: 13px !important;
    flex: 0 0 auto;
  }

  .toolbar-input,
  .toolbar-input--grow {
    width: min(72vw, 260px);
    min-width: 170px;
  }

  .toolbar-sep {
    display: none;
  }

  .toolbar-dropdown {
    position: static;
  }

  .toolbar-dropdown__panel {
    position: fixed;
    left: 8px;
    right: 8px;
    top: 88px;
    width: auto;
    max-height: calc(100dvh - 142px);
    z-index: 10020;
  }

  .win-content,
  .window-main {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  .win-statusbar {
    min-height: 25px;
    padding: 2px 3px;
    gap: 2px;
  }

  .statusbar-panel {
    min-width: 0;
    padding: 2px 4px;
    font-size: 11px !important;
  }

  .resize-handle {
    display: none;
  }

  #taskbar {
    height: 40px;
    border-top-width: 1px;
  }

  #start-btn {
    width: 54px;
    height: 36px;
    min-width: 54px;
    padding: 0 7px 0 5px;
    margin-right: 2px;
    border-radius: 0 13px 13px 0;
    font-size: 0 !important;
  }

  #start-btn b {
    display: none;
  }

  .start-btn__logo {
    margin: 0;
  }

  .taskbar-divider {
    display: none;
  }

  #taskbar-items {
    gap: 2px;
    padding: 0 2px;
  }

  .tb-item {
    min-width: 38px;
    max-width: 42px;
    width: 40px;
    height: 32px;
    padding: 0;
    justify-content: center;
  }

  .tb-item__label {
    display: none;
  }

  #tray {
    gap: 2px;
    padding: 0 4px;
  }

  #tray .tray-icon:nth-child(1),
  #tray .tray-icon:nth-child(2) {
    display: none;
  }

  #clock {
    font-size: 10px !important;
    line-height: 1.1;
  }

  .start-menu {
    left: 4px !important;
    right: 4px !important;
    bottom: 42px !important;
    width: auto !important;
    max-height: calc(100dvh - 50px);
    overflow: hidden;
  }

  .start-menu__header {
    padding: 8px 10px;
  }

  .start-menu__avatar {
    width: 34px !important;
    height: 34px !important;
  }

  .start-menu__header strong {
    font-size: 17px !important;
  }

  .start-menu__header span {
    font-size: 12px !important;
  }

  .start-menu__body {
    display: block !important;
    min-height: 0;
    max-height: calc(100dvh - 162px);
    overflow: auto;
  }

  .start-menu__left,
  .start-menu__right {
    padding: 8px;
  }

  .start-menu__item {
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    min-height: 46px;
    padding: 6px 7px;
  }

  .start-menu__icon {
    width: 32px !important;
    height: 32px !important;
  }

  .start-menu__text strong {
    font-size: 13px !important;
  }

  .start-menu__text small {
    font-size: 11px !important;
  }

  #spreads-table,
  .funding-table,
  .unlocks-table,
  .history-table,
  .pumpdump-methodology__table {
    min-width: 860px;
  }

  #spreads-table,
  #spreads-table thead th,
  #spreads-table tbody td,
  #spreads-table tbody td * {
    font-size: 14px !important;
    line-height: 1.16 !important;
  }

  #spreads-table thead th,
  #spreads-table td {
    padding: 7px 8px;
  }

  #spreads-table .coin-button,
  .coin-button--table {
    font-size: 15px !important;
  }

  #spreads-table .exchange-name,
  .exchange-name {
    font-size: 13px !important;
  }

  .spread-badge,
  .open-spread {
    min-width: 64px;
    min-height: 24px;
    padding: 0 8px;
    font-size: 13px !important;
  }

  .window-split,
  .history-layout,
  .alerts-form-row,
  .pumpdump-grid,
  .pumpdump-overview,
  .pumpdump-methodology__grid,
  .arbcalc-shell,
  .arbcalc-workgrid,
  .unlock-detail-layout,
  .unlock-detail-summary-grid,
  .unlock-detail-hero__metrics,
  .unlocks-summary,
  .unlocks-toplist,
  .unlocks-chipbar,
  .listings-grid,
  .listings-grid--spotlight {
    grid-template-columns: 1fr !important;
  }

  .window-sidepanel {
    max-height: none;
    border-left: none;
    border-top: 1px solid #c0b8a8;
  }

  .pair-window {
    padding: 4px;
    gap: 4px;
  }

  .pair-header {
    padding: 5px 6px;
    gap: 5px;
  }

  .pair-header__title {
    font-size: 13px !important;
  }

  .pair-header__subtitle,
  .pair-toolbar-summary,
  .chart-controls__label,
  .chart-controls__meta {
    font-size: 11px !important;
  }

  .pair-chart-toolbar {
    align-items: flex-start;
    padding: 5px;
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  .chart-legend,
  .range-group,
  .chart-controls-group,
  .chart-zoom-group {
    flex-wrap: nowrap;
    gap: 5px;
  }

  .chart-legend__item {
    font-size: 10px;
    white-space: nowrap;
  }

  .range-btn,
  .zoom-btn {
    min-width: 34px;
    min-height: 30px;
    padding: 2px 7px;
    font-size: 12px !important;
  }

  .chart-test-shell--combo .chart-test-stack,
  .chart-test-shell--spread .chart-test-stack {
    grid-template-rows: minmax(260px, 1fr) 112px;
  }

  .chart-test-shell--funding .chart-test-stack {
    grid-template-rows: 108px minmax(260px, 1fr);
  }

  .chart-test-shell--funding-only .chart-test-stack {
    grid-template-rows: minmax(330px, 1fr);
  }

  .chart-test-chart--main {
    min-height: 260px;
  }

  .chart-test-chart--funding {
    min-height: 112px;
  }

  .chart-test-tooltip {
    max-width: min(240px, calc(100vw - 28px));
    min-width: 168px;
    padding: 9px 10px;
    font-size: 11px;
  }

  .window .pair-tv-shell .chart-test-watermark {
    font-size: clamp(36px, 16vw, 64px) !important;
    letter-spacing: 0.18em !important;
  }

  .window .pair-tv-shell .chart-test-watermark--funding {
    font-size: clamp(30px, 13vw, 52px) !important;
  }

  .ai-assistant {
    grid-template-columns: 1fr;
    overflow: auto;
  }

  .ai-chat {
    min-height: 320px;
  }

  .ai-composer {
    grid-template-columns: 1fr;
  }

  .ai-input {
    min-height: 82px;
    font-size: 16px !important;
  }

  .ai-send {
    min-height: 42px;
    font-size: 15px !important;
  }
}

@media (max-width: 420px) {
  .win-title {
    font-size: 13px !important;
  }

  .win-icon,
  .win-icon__image {
    width: 14px;
    height: 14px;
  }

  .win-controls {
    gap: 2px;
  }

  .win-btn {
    width: 29px;
  }

  .toolbar-btn,
  .toolbar-select,
  .toolbar-input {
    min-height: 31px;
    font-size: 12px !important;
  }

  .desktop-icon {
    width: 70px !important;
  }

  .desktop-icon__image {
    width: 36px !important;
    height: 36px !important;
  }

  .desktop-icon .lbl {
    font-size: 11px !important;
  }

  #spreads-table,
  .funding-table,
  .unlocks-table,
  .history-table,
  .pumpdump-methodology__table {
    min-width: 780px;
  }

  .chart-test-shell--combo .chart-test-stack,
  .chart-test-shell--spread .chart-test-stack {
    grid-template-rows: minmax(235px, 1fr) 104px;
  }

  .chart-test-chart--main {
    min-height: 235px;
  }
}
