/* ═══════════════════════════════════════════════════════════════════════════════════════════════════════════
   SKILLI GODMIND — v42 THEME: SLATE · LIQUID GLASS (the operator's photo, 2026-10-25)
   "Re theme the whole platform … look exactly like the image provided color, rebuild the whole header section …
    better style font for platform name, upgrade the platform cards ultra real liquid glass cards, fix the
    horizontal double layout whole screen, upgrade the platform software smooth scrolling."

   Loaded AFTER aether.css + ads.css, so an equal selector here wins on order; every rule that has to beat an
   earlier !important carries more specificity (a tie is a loss — see the cascade notes). Sections:
     1 · tokens            the photo's palette (sampled from the photo: page #161e29, bar #1c2630, panels #1c2631,
                           green #2fc195, rose #f04865, blue #3b82f6, cyan icons)
     2 · ground            a flat slate page — the drifting aurora, stars and nebula are switched off
     3 · header v5         two rows: logo tile · two-tone name · socials │ Aether · link · account · Sign out ·
                           Transfer — then the section tabs
     4 · cockpit           the console's two panes fill the whole screen under the bar; each scrolls on its own
     5 · liquid glass      one material for every card: clear slate body, lit rim, top specular, bottom refraction
     6 · controls          fields, selects, pills, the Bulk desk's rings and its two big buttons — the photo's look
     7 · motion & scroll   no perpetual background motion; panes scroll on the compositor
   ⚠ Plan gates hide nav entries with `display:none !important` — nothing here sets `display` on a nav entry with
     !important (that would show a link a plan doesn't include).
   ═══════════════════════════════════════════════════════════════════════════════════════════════════════════ */

/* ───────────────────────────────────────────── 1 · TOKENS ───────────────────────────────────────────── */
:root{
  --sl-bg:#151d28;          /* the page — the photo's #161e29 */
  --sl-bg-2:#151e2b;        /* the tab row */
  --sl-bar:#192331;         /* the header bar */
  --sl-panel:#1c2632;       /* fields · selects — the photo's #1c2631 */
  --sl-line:rgba(148,170,204,.13);
  --sl-line-2:rgba(148,170,204,.22);
  --sl-text:#e8eef7;
  --sl-muted:#8d9db4;
  --sl-blue:#3b82f6;
  --sl-blue-2:#2563eb;
  --sl-cyan:#3fc6de;
  --sl-green:#2fc195;
  --sl-rose:#f04865;
  --sl-ic:#4fbcd8;          /* the tab icons */
  --sl-row1:58px;
  --sl-row2:46px;
  --sl-pad:20px;

  /* the photo's cards — flat slate panels a step above the page, one hairline edge, small corners; the only light is a
     faint top lip (the operator: "the cards dont look like image") */
  --lg-body: linear-gradient(180deg, #1d2734 0%, #1b2531 100%);
  --lg-edge: rgba(148,163,184,.14);
  --lg-light: inset 0 1px 0 rgba(255,255,255,.035);
  --lg-drop: 0 1px 2px rgba(0,0,0,.22);
  /* a panel inside a card — one step lighter */
  --lg-sub-body: linear-gradient(180deg, #222d3b 0%, #202a38 100%);
  --lg-sub-light: inset 0 1px 0 rgba(255,255,255,.03);
  /* a well inside a panel — one step darker */
  --lg-well: #18212d;
  --lg-field: linear-gradient(180deg, #1d2734, #1c2632);
  --lg-field-light: inset 0 1px 0 rgba(255,255,255,.03);
}

/* ───────────────────────────────────────────── 2 · GROUND ───────────────────────────────────────────── */
/* the photo's page is a flat slate — the light lives in the cards, not behind them */
html:root{ background:var(--sl-bg) !important; background-image:none !important; color-scheme:dark; }
html:root body{ background:transparent !important; }
html:root body::before{
  content:"" !important; position:fixed !important; inset:0 !important; z-index:-2 !important; pointer-events:none !important;
  background:var(--sl-bg) !important;
  opacity:1 !important; transform:none !important; animation:none !important; filter:none !important; mix-blend-mode:normal !important;
}
html:root body::after{
  content:"" !important; position:fixed !important; inset:0 !important; z-index:-1 !important; pointer-events:none !important;
  background:none !important;
  opacity:1 !important; transform:translateZ(0) !important; animation:none !important; filter:none !important; mix-blend-mode:normal !important;
}
html:root .gm-aurora, html:root .nebula{ display:none !important; }

/* ───────────────────────────────────────────── 3 · HEADER v5 ───────────────────────────────────────────── */
/* The photo's bar on EVERY screen (the operator: "the header should not look different when on smaller devices like phones"):
     row 1 · the blue logo tile · the two-tone name · WhatsApp / Telegram │ "Real account ▾" over the balance · Sign out · Transfer
     row 2 · the section tabs as blue cells (icon + name; the open one lighter with a rose underline) · then the Deriv link dot
   A phone gets the same bar, smaller — never a different one: the tabs keep icon + name and scroll sideways, the two pills keep
   their words. Row 2's band is painted by the bar itself (a hard stop under row 1), so it runs edge to edge. */
html body header.aether-header.gh5{
  --r1:calc(env(safe-area-inset-top, 0px) + var(--sl-row1));
  position:fixed !important; top:0 !important; left:0 !important; right:0 !important; z-index:60 !important;
  margin:0 !important; padding:env(safe-area-inset-top, 0px) var(--sl-pad) 0 !important; box-sizing:border-box !important;
  height:auto !important; min-height:0 !important; max-height:none !important; overflow:visible !important;
  display:grid !important; align-items:center !important; justify-content:stretch !important;
  grid-template-columns:auto auto auto minmax(6px, 1fr) auto auto auto;
  grid-template-rows:var(--sl-row1) var(--sl-row2);
  grid-template-areas:
    "brand sep social . acct signout transfer"
    "nav   nav nav    nav nav  nav     nav";
  column-gap:var(--sl-gap, 14px); row-gap:0;
  background:linear-gradient(180deg,
    #1c2631 0, #1b2530 var(--r1),
    rgba(150,172,206,.16) var(--r1), rgba(150,172,206,.16) calc(var(--r1) + 1px),
    #1a2434 calc(var(--r1) + 1px), #182231 100%) !important;
  border:0 !important; border-bottom:1px solid rgba(150,172,206,.14) !important; border-radius:0 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035), 0 12px 28px -20px rgba(0,0,0,.9) !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  font-family:var(--font-body, "Segoe UI", system-ui, sans-serif);
  color:var(--sl-text);
}
html body header.aether-header.gh5::before, html body header.aether-header.gh5::after{ content:none !important; display:none !important; }
html body header.aether-header.gh5 [hidden]{ display:none !important; }
/* liquid glass on a desktop: the bar is see-through — a desk's page slides under it, blurred (a phone keeps it solid: no blur there) */
@media (hover:hover) and (pointer:fine) and (min-width:821px){
  html body header.aether-header.gh5{
    background:linear-gradient(180deg,
      rgba(28,38,49,.86) 0, rgba(27,37,48,.86) var(--r1),
      rgba(150,172,206,.16) var(--r1), rgba(150,172,206,.16) calc(var(--r1) + 1px),
      rgba(26,36,52,.88) calc(var(--r1) + 1px), rgba(24,34,49,.9) 100%) !important;
    -webkit-backdrop-filter:blur(18px) saturate(150%) !important; backdrop-filter:blur(18px) saturate(150%) !important;
  }
}
/* the nav wrapper's children are the bar's own cells (the wrapper stays for the modules that look for it) */
html body header.aether-header.gh5 > .gh-right.header-actions{ display:contents !important; }
html body header.aether-header.gh5 .gh-deskname,
html body header.aether-header.gh5 #gh-plan-tools{ display:none !important; }

/* brand: a lit blue tile + the two-tone name */
html body header.aether-header.gh5 .gh-brand{ grid-area:brand; display:inline-flex !important; align-items:center; gap:var(--sl-bgap, 12px); min-width:0; text-decoration:none; color:inherit; }
html body header.aether-header.gh5 .gh-logo{
  flex:none; width:var(--sl-logo, 38px) !important; height:var(--sl-logo, 38px) !important; border-radius:calc(var(--sl-logo, 38px) * .26) !important; overflow:hidden; display:block !important;
  background:none !important; border:0 !important; padding:0 !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 6px 16px -6px rgba(59,130,246,.7), inset 0 1px 0 rgba(255,255,255,.35) !important;
}
html body header.aether-header.gh5 .gh-logo svg{ display:block; width:100% !important; height:100% !important; }
html body header.aether-header.gh5 .gh-name{
  display:inline-flex !important; align-items:baseline; gap:var(--sl-ngap, 8px); white-space:nowrap; min-width:0;
  font-family:"Outfit", var(--font-body, "Segoe UI"), system-ui, sans-serif !important; line-height:1 !important;
  background:none !important; -webkit-text-fill-color:currentColor; color:#fff !important; text-shadow:none !important; letter-spacing:0 !important;
}
html body header.aether-header.gh5 .gh-n1{ font-weight:800; font-size:var(--sl-n1, 22px); letter-spacing:-.01em; color:#fff; }
html body header.aether-header.gh5 .gh-n2{ font-weight:500; font-size:var(--sl-n2, 13.5px); letter-spacing:var(--sl-n2ls, .26em); text-transform:uppercase; color:#a9bbd4; }
html body header.aether-header.gh5 .gh-vsep{ grid-area:sep; width:1px; height:26px; background:var(--sl-line-2); }

/* socials: WhatsApp · Telegram @handle */
html body header.aether-header.gh5 .gh-social{ grid-area:social; display:flex; align-items:center; gap:var(--sl-sgap, 16px); min-width:0; }
html body header.aether-header.gh5 .gh-social:empty{ display:none; }
html body header.aether-header.gh5 .gh-soc{
  display:inline-flex; align-items:center; gap:7px; height:30px; padding:0; color:#9fb2cb; text-decoration:none; white-space:nowrap;
  font:600 13px/1 var(--font-body, inherit); background:none; border:0; transition:color .18s ease;
}
html body header.aether-header.gh5 .gh-soc svg{ width:var(--sl-soc, 19px); height:var(--sl-soc, 19px); flex:none; }
html body header.aether-header.gh5 .gh-soc.gh-wa svg{ color:#4fb8b0; }
html body header.aether-header.gh5 .gh-soc.gh-tg svg{ color:#c3cfdd; }
html body header.aether-header.gh5 .gh-soc .gh-soc-h:empty{ display:none; }
html body header.aether-header.gh5 .gh-soc .gh-soc-h{ color:#aebccd; }
html body header.aether-header.gh5 .gh-soc:hover{ color:#fff; }
html body header.aether-header.gh5 .gh-soc.is-unset{ opacity:.45; }

/* the account: "Real account ▾" over the balance — tap = Demo ⇄ Real */
html body header.aether-header.gh5 .gh-acct{ grid-area:acct; display:flex; align-items:center; justify-content:flex-end; min-width:0; }
html body header.aether-header.gh5 .gh-acct:empty{ display:none; }
html body header.aether-header.gh5 #gh-bal{
  display:inline-grid; grid-template-rows:auto auto; justify-items:start; align-content:center; gap:4px; height:42px; min-height:0 !important; padding:0 6px; margin:0;
  background:none; border:0; border-radius:8px; cursor:pointer; color:#fff; text-align:left; font-family:var(--font-body, inherit);
}
html body header.aether-header.gh5 #gh-bal:hover{ background:rgba(255,255,255,.04); }
html body header.aether-header.gh5 #gh-bal .gh-bal-top{ display:inline-flex; align-items:center; gap:4px; }
html body header.aether-header.gh5 #gh-bal .gh-bal-k{ font:600 var(--sl-ak, 12.5px)/1 var(--font-body, inherit); font-style:normal; letter-spacing:.005em; color:#4cc39b; white-space:nowrap; }
html body header.aether-header.gh5 #gh-bal[data-kind="demo"] .gh-bal-k{ color:#7cb3ff; }
html body header.aether-header.gh5 #gh-bal .gh-bal-chev{ width:13px; height:13px; color:#4cc39b; transition:transform .2s ease; }
html body header.aether-header.gh5 #gh-bal[data-kind="demo"] .gh-bal-chev{ color:#7cb3ff; }
html body header.aether-header.gh5 #gh-bal[aria-expanded="true"] .gh-bal-chev{ transform:rotate(180deg); }
html body header.aether-header.gh5 #gh-bal .gh-bal-v{ font:800 var(--sl-av, 15.5px)/1 var(--font-body, inherit); letter-spacing:.01em; color:#eef3fa; font-variant-numeric:tabular-nums; white-space:nowrap; }
html body header.aether-header.gh5 #gh-bal .gh-bal-s{ display:none; font:800 var(--sl-av, 15.5px)/1 var(--font-body, inherit); color:#eef3fa; font-variant-numeric:tabular-nums; }

/* Sign out (rose, exit icon) · Transfer (blue) — the photo's two pills, words on every screen */
html body header.aether-header.gh5 :is(#session-logout, #gh-transfer){
  display:inline-flex; align-items:center; justify-content:center; gap:8px; height:var(--sl-pill, 38px); min-height:0 !important; padding:0 var(--sl-ppad, 20px); margin:0; border-radius:999px; cursor:pointer;
  font:700 var(--sl-pfs, 14px)/1 var(--font-body, inherit); letter-spacing:.01em; color:#fff; white-space:nowrap; border:1px solid transparent;
  transition:filter .18s ease, transform .12s ease, box-shadow .18s ease;
}
html body header.aether-header.gh5 #session-logout{
  grid-area:signout;
  background:linear-gradient(180deg, #f05a72 0%, #e5435e 100%);
  border-color:rgba(255,170,184,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3), inset 0 -1px 0 rgba(0,0,0,.16), 0 6px 16px -8px rgba(232,77,101,.8);
}
html body header.aether-header.gh5 #gh-transfer{
  grid-area:transfer;
  background:linear-gradient(180deg, #6e9bec 0%, #4b7ddc 100%);
  border-color:rgba(176,204,255,.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3), inset 0 -1px 0 rgba(0,0,0,.16), 0 6px 16px -8px rgba(75,125,220,.85);
}
html body header.aether-header.gh5 #session-logout svg{ width:calc(var(--sl-pfs, 14px) + 2px); height:calc(var(--sl-pfs, 14px) + 2px); flex:none; }
html body header.aether-header.gh5 #gh-transfer svg{ display:none; }
html body header.aether-header.gh5 :is(#session-logout, #gh-transfer) span{ display:inline; }
html body header.aether-header.gh5 :is(#session-logout, #gh-transfer):hover{ filter:brightness(1.07); }

html body header.aether-header.gh5 :is(#session-logout, #gh-transfer):focus-visible{ outline:2px solid #93c5fd; outline-offset:2px; }

/* row 2 — the section tabs: the photo's blue cells, icon + name, the open one lighter with a rose underline */
html body header.aether-header.gh5 .gh-nav{
  grid-area:nav; position:relative; align-self:stretch;
  display:flex !important; align-items:center; gap:var(--sl-tgap, 3px); flex-wrap:nowrap !important;
  margin:0 0 0 calc(-1 * var(--sl-pad)) !important; padding:0 6px 0 calc(var(--sl-pad) - 4px) !important; min-width:0;
  background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; height:auto !important;
  overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;
}
html body header.aether-header.gh5 .gh-nav::-webkit-scrollbar{ display:none; }
html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link{
  position:relative; flex:none; display:inline-flex; flex-direction:row !important; align-items:center; gap:var(--sl-tig, 8px);
  height:var(--sl-tab, 36px) !important; min-height:0 !important; padding:0 var(--sl-tpad, 15px) !important; margin:0 !important; border-radius:6px !important;
  font:600 var(--sl-tfs, 14px)/1 var(--font-body, inherit) !important; letter-spacing:0 !important; color:#d4ddea !important; text-decoration:none !important;
  background:linear-gradient(180deg, rgba(48,84,140,.42), rgba(38,70,122,.42)) !important;
  border:0 !important; box-shadow:inset 0 -2px 0 rgba(84,170,206,.22), inset 0 1px 0 rgba(255,255,255,.035) !important; filter:none !important; transform:none !important;
  white-space:nowrap; cursor:pointer; transition:background-color .16s ease, color .16s ease, box-shadow .16s ease;
}
html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link::after{ content:none !important; display:none !important; }
html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link::before{
  content:"" !important; display:block !important; flex:none; width:var(--sl-tic, 16px); height:var(--sl-tic, 16px); position:static !important; opacity:1 !important;
  background:var(--sl-ic) !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; transform:none !important;
  -webkit-mask:var(--gh-ic, var(--ic-console)) center / contain no-repeat; mask:var(--gh-ic, var(--ic-console)) center / contain no-repeat;
}
html body header.aether-header.gh5 .gh-nav > a.gh-link[href="/"]{ --gh-ic:var(--ic-home); }
html body header.aether-header.gh5 #gh-analyzer{ --gh-ic:var(--ic-analyzer); }
html body header.aether-header.gh5 #at-open{ --gh-ic:var(--ic-gmind); }
html body header.aether-header.gh5 #bulk-open{ --gh-ic:var(--ic-bulk); }
html body header.aether-header.gh5 #scan-open{ --gh-ic:var(--ic-scan); }
html body header.aether-header.gh5 #speed-open{ --gh-ic:var(--ic-speed); }
html body header.aether-header.gh5 #session-admin-link{ --gh-ic:var(--ic-admin); }
html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link .ao-t{ display:inline !important; font:inherit !important; color:inherit !important; }
html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link .ao-i{ display:none !important; }
/* every tab keeps its full name on every screen — the row scrolls instead */
html body header.aether-header.gh5 .gh-nav :is(.bk-ns, .ss-ns, .sp-ns, .ao-cs){ display:none !important; }
html body header.aether-header.gh5 .gh-nav :is(.bk-nl, .ss-nl, .sp-nl, .ao-cl){ display:inline !important; }
html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link:hover{ color:#fff !important; background:linear-gradient(180deg, rgba(58,98,160,.52), rgba(46,82,140,.52)) !important; }
/* the open section: the console's Analyzer while no desk is open, else the desk's own tab */
html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link.active,
html body:not(.gm-bulk-active):not(.gm-at-active) header.aether-header.gh5 .gh-nav > #gh-analyzer.is-here{
  color:#fff !important;
  background:linear-gradient(180deg, rgba(70,110,184,.62), rgba(56,94,166,.62)) !important;
  box-shadow:inset 0 -2px 0 #d2609c, inset 0 1px 0 rgba(255,255,255,.08) !important;
}
html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link.active::before,
html body:not(.gm-bulk-active):not(.gm-at-active) header.aether-header.gh5 .gh-nav > #gh-analyzer.is-here::before{ background:#8be6f7 !important; }
html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link:focus-visible{ outline:2px solid #93c5fd; outline-offset:-2px; }
/* a user's subscription countdown rides at the end of the tabs as the photo's outlined teal pill */
html body header.aether-header.gh5 .gh-nav > #sub-countdown{
  flex:none; display:inline-flex; align-items:center; gap:7px; height:calc(var(--sl-tab, 36px) - 4px); padding:0 14px; margin-left:6px; border-radius:8px;
  font:700 var(--sl-tfs, 14px)/1 var(--font-body, inherit); color:#4fd1c5; background:rgba(20,184,166,.06); border:1px solid rgba(45,212,191,.5); white-space:nowrap;
}
html body header.aether-header.gh5 .gh-nav > #sub-countdown .sc-k{ font-weight:600; color:#7fe0d4; }
/* a desk-only plan's "Link Deriv" */
html body header.aether-header.gh5 .gh-nav > #gm-plan-link{ color:#bfdbfe !important; }
html body header.aether-header.gh5 .gh-nav > #gm-plan-link::before{ display:none !important; }

/* the platform's own extra at the end of row 2: the Deriv link (a dot + word) */
/* v42 — the operator: "remove online offline from header too no need for it". The link chip stays in the page (the connection card
   reads its state) but the bar no longer shows it — the tabs run the full width */
html body header.aether-header.gh5 .gh-tools, html body header.aether-header.gh5 #connection-chip{ display:none !important; }
html body header.aether-header.gh5 #connection-chip{
  display:inline-flex; align-items:center; gap:7px; height:28px; padding:0 2px !important; margin:0 !important;
  background:none !important; border:0 !important; box-shadow:none !important; border-radius:0 !important; animation:none !important;
  font:600 12.5px/1 var(--font-body, inherit) !important; color:var(--sl-muted) !important; white-space:nowrap; text-transform:none !important; letter-spacing:0 !important;
}
html body header.aether-header.gh5 #connection-chip .chip-text{ text-transform:none !important; letter-spacing:0 !important; font:inherit !important; color:inherit !important; }
html body header.aether-header.gh5 #connection-chip .chip-dot{ width:8px !important; height:8px !important; border-radius:50% !important; background:#64748b !important; box-shadow:none !important; animation:none !important; }
html body header.aether-header.gh5 #connection-chip.chip-online{ color:#7ee2b8 !important; }
html body header.aether-header.gh5 #connection-chip.chip-online .chip-dot{ background:#22c55e !important; box-shadow:0 0 0 3px rgba(34,197,94,.16) !important; }
html body header.aether-header.gh5 #connection-chip:is(.chip-connecting, .chip-syncing, .chip-waking) .chip-dot{ background:#ffb340 !important; }
/* once the account shows, the account says it — the word goes, the dot stays */
html body header.aether-header.gh5:has(#gh-bal:not([hidden])) #connection-chip .chip-text{ display:none !important; }
/* G Mind: an early block hid every header control on that desk — the link stays */

/* the bar's pop-overs: the account list and Transfer — liquid glass cards below the bar */
html body .gh-bal-dd, html body .gh-xfer{
  position:fixed; z-index:9700; box-sizing:border-box; border-radius:14px; padding:12px;
  color:var(--sl-text); border:1px solid var(--lg-edge);
  /* SOLID by default: a phone has no blur, and a see-through card over the page reads as ghosted text */
  background:radial-gradient(150% 95% at 0% 0%, rgba(255,255,255,.07), rgba(255,255,255,0) 44%), linear-gradient(180deg, #243145 0%, #1c2737 55%, #18212f 100%);
  box-shadow:var(--lg-light), 0 24px 48px -20px rgba(0,0,0,.85), 0 2px 6px rgba(0,0,0,.35);
  opacity:0; transform:translateY(-6px) scale(.985); transform-origin:top right; transition:opacity .18s ease, transform .2s cubic-bezier(.2,.8,.2,1);
}
html body .gh-bal-dd[data-open="1"], html body .gh-xfer[data-open="1"]{ opacity:1; transform:none; }
@media (hover:hover) and (pointer:fine) and (min-width:821px){
  html body .gh-bal-dd, html body .gh-xfer{ background:linear-gradient(180deg, rgba(36,48,66,.86), rgba(24,33,47,.9)); -webkit-backdrop-filter:blur(18px) saturate(150%); backdrop-filter:blur(18px) saturate(150%); }
}
html body .gh-xfer .ghx-h{ display:flex; align-items:center; gap:10px; margin:0 0 8px; }
html body .gh-xfer .ghx-ic{ display:grid; place-items:center; width:32px; height:32px; border-radius:9px; color:#fff; background:linear-gradient(180deg, #6e9bec, #4b7ddc); box-shadow:inset 0 1px 0 rgba(255,255,255,.3); }
html body .gh-xfer .ghx-ic svg{ width:16px; height:16px; }
html body .gh-xfer .ghx-h b{ font:800 15px/1.2 var(--font-body, inherit); }
html body .gh-xfer .ghx-p{ margin:0 0 12px; font:500 13px/1.5 var(--font-body, inherit); color:#c3cfdf; }
html body .gh-xfer .ghx-p b{ color:#fff; }
html body .gh-xfer .ghx-acts{ display:flex; gap:8px; flex-wrap:wrap; }
html body .gh-xfer .ghx-acts a{ display:inline-flex; align-items:center; justify-content:center; height:36px; padding:0 14px; border-radius:9px; text-decoration:none; font:700 13px/1 var(--font-body, inherit); }
html body .gh-xfer .ghx-go{ color:#fff; background:linear-gradient(180deg, #6e9bec, #4b7ddc); border:1px solid rgba(176,204,255,.4); box-shadow:inset 0 1px 0 rgba(255,255,255,.3); }
html body .gh-xfer .ghx-help{ color:#cfe0ff; background:rgba(255,255,255,.04); border:1px solid var(--sl-line-2); }
html body .gh-bal-dd .ghd-xfer{ display:flex; align-items:center; gap:9px; width:100%; margin:10px 0 0; padding:10px 12px; border-radius:10px; cursor:pointer; text-align:left;
  font:700 13px/1 var(--font-body, inherit); color:#dbe8ff; background:rgba(59,130,246,.12); border:1px solid rgba(96,165,250,.4); }
html body .gh-bal-dd .ghd-xfer svg{ width:16px; height:16px; flex:none; color:#93c5fd; }
html body .gh-bal-dd .ghd-xfer:hover{ background:rgba(59,130,246,.2); }
/* the phone menu sheet */
html body .gh-menu-dd{ position:fixed; z-index:9700; box-sizing:border-box; border-radius:12px; padding:8px; color:var(--sl-text);
  background:linear-gradient(180deg, #212c3b 0%, #1b2532 100%); border:1px solid var(--lg-edge); box-shadow:0 24px 48px -20px rgba(0,0,0,.85), 0 2px 6px rgba(0,0,0,.35);
  opacity:0; transform:translateY(-6px) scale(.985); transform-origin:top left; transition:opacity .18s ease, transform .2s cubic-bezier(.2,.8,.2,1); }
html body .gh-menu-dd[data-open="1"]{ opacity:1; transform:none; }
html body .gh-menu-dd .ghm-h{ padding:6px 10px 8px; font:800 15px/1 "Outfit", var(--font-body, inherit); color:#fff; }
html body .gh-menu-dd .ghm-h b{ font-weight:500; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:#a9bbd4; margin-left:6px; }
html body .gh-menu-dd .ghm-list{ display:grid; gap:2px; }
html body .gh-menu-dd .ghm-sep{ height:1px; margin:6px 4px; background:var(--sl-line); }
html body .gh-menu-dd .ghm-i{ display:flex; align-items:center; gap:10px; width:100%; min-height:40px; padding:0 10px; margin:0; border:0; border-radius:8px; cursor:pointer; text-align:left; text-decoration:none;
  font:600 14px/1.2 var(--font-body, inherit); color:#d9e2ee; background:none; }
html body .gh-menu-dd .ghm-i:hover{ background:rgba(255,255,255,.05); color:#fff; }
html body .gh-menu-dd .ghm-i.on{ color:#fff; background:rgba(72,110,180,.35); box-shadow:inset 3px 0 0 #d2609c; }
html body .gh-menu-dd .ghm-i small{ color:var(--sl-muted); font-weight:600; font-size:12px; }
html body .gh-menu-dd .ghm-i > i{ flex:none; width:16px; height:16px; background:var(--sl-ic); -webkit-mask:var(--gh-ic, var(--ic-console)) center / contain no-repeat; mask:var(--gh-ic, var(--ic-console)) center / contain no-repeat; }
html body .gh-menu-dd .ghm-i[data-k="home"]{ --gh-ic:var(--ic-home); }
html body .gh-menu-dd .ghm-i[data-k="gh-analyzer"]{ --gh-ic:var(--ic-analyzer); }
html body .gh-menu-dd .ghm-i[data-k="at-open"]{ --gh-ic:var(--ic-gmind); }
html body .gh-menu-dd .ghm-i[data-k="bulk-open"]{ --gh-ic:var(--ic-bulk); }
html body .gh-menu-dd .ghm-i[data-k="scan-open"]{ --gh-ic:var(--ic-scan); }
html body .gh-menu-dd .ghm-i[data-k="speed-open"]{ --gh-ic:var(--ic-speed); }
html body .gh-menu-dd .ghm-i[data-k="session-admin-link"]{ --gh-ic:var(--ic-admin); }
html body .gh-menu-dd .ghm-i[data-k="manual"] > i{ -webkit-mask:none; mask:none; background:none; border:2px solid var(--sl-ic); border-radius:2px 4px 4px 2px; width:12px; height:15px; margin:0 2px; }
html body .gh-menu-dd .ghm-i[data-k="tg"] > i, html body .gh-menu-dd .ghm-i[data-k="wa"] > i{ -webkit-mask:none; mask:none; border-radius:50%; background:#47a7e3; width:14px; height:14px; margin:0 1px; }
html body .gh-menu-dd .ghm-i[data-k="wa"] > i{ background:#38c98a; }
html body .gh-xfer .ghx-note{ margin:10px 0 0; font:500 11.5px/1.4 var(--font-body, inherit); color:var(--sl-muted); }

/* ── the same bar, smaller: only sizes change below here ── */
@media (max-width:1280px){
  html body header.aether-header.gh5 .gh-soc .gh-soc-t, html body header.aether-header.gh5 .gh-soc .gh-soc-h{ display:none !important; }
}
@media (max-width:1100px){
  :root{ --sl-pad:16px; --sl-gap:12px; --sl-ppad:17px; --sl-tpad:13px; --sl-tfs:13.5px; }
}
@media (max-width:900px){
  :root{ --sl-row1:54px; --sl-row2:44px; --sl-pad:14px; --sl-gap:10px; --sl-logo:34px; --sl-n1:19px; --sl-n2:11.5px; --sl-n2ls:.22em; --sl-bgap:10px;
    --sl-pill:34px; --sl-ppad:15px; --sl-pfs:13px; --sl-ak:11.5px; --sl-av:14px; --sl-tab:32px; --sl-tpad:12px; --sl-tfs:13px; --sl-tic:15px; --sl-tig:7px; --sl-mic:30px; --sl-sgap:13px; --sl-soc:18px; }
  html body header.aether-header.gh5 .gh-vsep{ height:22px; }
}
/* ── a phone: the operator's phone photo ──
   row 1 · ≡ menu · the logo tile · the Telegram circle · "Real account ▾" over the balance │ Sign out · Transfer
   row 2 · the sliders emblem (a logo, as in the photo) · the tabs (icon + name, scrolling sideways)
   The name gives its place to the account, exactly as the photo's phone bar does; the menu carries every section. */
html body header.aether-header.gh5 :is(.gh-menu, .gh-tabsbtn){ display:none; }
@media (max-width:600px){
  :root{ --sl-row1:52px; --sl-row2:44px; --sl-pad:8px; --sl-gap:6px; --sl-logo:30px; --sl-bgap:0px;
    --sl-pill:32px; --sl-ppad:11px; --sl-pfs:12px; --sl-ak:10.5px; --sl-av:12.5px;
    --sl-tab:32px; --sl-tpad:10px; --sl-tfs:12.5px; --sl-tic:14px; --sl-tig:6px; --sl-tgap:2px; }
  html body header.aether-header.gh5{
    grid-template-columns:auto auto auto auto minmax(4px, 1fr) auto auto;
    grid-template-areas:
      "menu    brand social acct . signout transfer"
      "tabsbtn nav   nav    nav  nav nav   nav";
    /* the photo's phone tab row is one blue band */
    background:linear-gradient(180deg,
      #1c2631 0, #1b2530 var(--r1),
      rgba(150,172,206,.16) var(--r1), rgba(150,172,206,.16) calc(var(--r1) + 1px),
      #1d2e48 calc(var(--r1) + 1px), #1b2a42 100%) !important;
  }
  html body header.aether-header.gh5 .gh-menu{
    grid-area:menu; display:grid; place-items:center; width:30px; height:32px; min-height:0 !important; padding:0; margin:0;
    color:#c9d4e3; background:none; border:0; border-radius:6px; cursor:pointer;
  }
  html body header.aether-header.gh5 .gh-menu svg{ width:20px; height:20px; }
  /* the photo's emblem at the head of the tab row — a logo tile, not a control */
  html body header.aether-header.gh5 .gh-tabsbtn{
    grid-area:tabsbtn; display:grid; place-items:center; width:34px; height:30px; padding:0; margin:0; pointer-events:none; user-select:none;
    color:#f1f6fc; background:linear-gradient(180deg, #2b4569, #243b5c); border:1.5px solid rgba(190,212,240,.42); border-radius:8px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  }
  html body header.aether-header.gh5 .gh-tabsbtn svg{ width:18px; height:18px; }
  html body header.aether-header.gh5 .gh-menu[aria-expanded="true"]{ color:#fff; background:rgba(59,130,246,.22); }
  html body header.aether-header.gh5 :is(.gh-name, .gh-vsep){ display:none !important; }
  /* the Telegram circle (WhatsApp stands in when there is no Telegram) */
  html body header.aether-header.gh5 .gh-social{ gap:6px; }
  html body header.aether-header.gh5 .gh-social:has(.gh-tg:not([hidden])) .gh-wa{ display:none !important; }
  html body header.aether-header.gh5 .gh-soc{ width:30px; height:30px; justify-content:center; gap:0; border-radius:50%;
    background:rgba(14,22,34,.7); border:1.5px solid rgba(79,184,200,.55); }
  html body header.aether-header.gh5 .gh-soc svg{ width:14px !important; height:14px !important; color:#5ec8e0 !important; }
  html body header.aether-header.gh5 .gh-soc :is(.gh-soc-t, .gh-soc-h){ display:none !important; }
  /* the account sits on the left, after the circle */
  html body header.aether-header.gh5 .gh-acct{ justify-content:flex-start; }
  html body header.aether-header.gh5 #gh-bal{ height:38px; padding:0 2px; gap:3px; }
  /* the tabs: the band is blue; the open tab is lighter with the rose underline */
  html body header.aether-header.gh5 .gh-nav{ margin:0 !important; padding:0 4px 0 2px !important; }
  html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link{ background:transparent !important; box-shadow:none !important; }
  html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link:hover{ background:rgba(255,255,255,.05) !important; }
  html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link.active,
  html body:not(.gm-bulk-active):not(.gm-at-active) header.aether-header.gh5 .gh-nav > #gh-analyzer.is-here{
    background:rgba(72,110,180,.45) !important; box-shadow:inset 0 -2px 0 #d2609c !important; }
  html body header.aether-header.gh5 #connection-chip .chip-text{ display:none !important; }
}
/* a small tablet still has the desktop bar: once the account shows, the social logos step aside */
@media (min-width:601px) and (max-width:700px){
  html body header.aether-header.gh5:has(#gh-bal:not([hidden])) .gh-social{ display:none !important; }
}
@media (max-width:400px){
  :root{ --sl-gap:5px; --sl-logo:28px; --sl-pill:30px; --sl-ppad:10px; --sl-pfs:11.5px; --sl-ak:10px; --sl-av:12px; --sl-tfs:12px; }
  html body header.aether-header.gh5 .gh-menu{ width:26px; }
  html body header.aether-header.gh5 .gh-soc{ width:28px; height:28px; }
  html body header.aether-header.gh5 #gh-bal .gh-bal-chev{ width:11px; height:11px; }
}
@media (max-width:370px){
  :root{ --sl-ppad:8px; --sl-gap:4px; }
  html body header.aether-header.gh5 #gh-bal .gh-bal-cur{ display:none; }
}
/* the smallest phones: the circle goes, the account reads "Real ▾", Sign out keeps its word */
@media (max-width:340px){
  :root{ --sl-pfs:11px; }
  html body header.aether-header.gh5 .gh-social{ display:none !important; }
  html body header.aether-header.gh5 #gh-bal .gh-bal-kx{ display:none; }
  html body header.aether-header.gh5 #session-logout svg{ display:none; }
}

/* ───────────────────────────────────────────── 4 · COCKPIT (the console, ≥700px) ───────────────────────────────────────────── */
/* "fix the horizontal double layout whole screen": the console is the whole screen under the bar — a slim title row over
   two panes that run edge to edge to the bottom of the window, each scrolling on its own. The page itself never scrolls. */
@media (min-width:700px){
  html body.gm-dual:not(.gm-bulk-active):not(.gm-at-active) main.aether-main{
    max-width:none !important; width:auto !important; margin:0 !important; padding:0 !important; display:block !important;
  }
  html body.gm-dual:not(.gm-bulk-active):not(.gm-at-active){ overflow:hidden; }
  html body.gm-dual:not(.gm-bulk-active):not(.gm-at-active) main.aether-main > footer.aether-footer{ display:none !important; }
  /* ⚠ only while the console is the open view — a desk hides it with an inline display:none that an !important here would beat */
  html body.gm-dual:not(.gm-bulk-active):not(.gm-at-active) #view-console.ws-split{
    box-sizing:border-box !important;
    height:calc(100vh - var(--gh-h, 104px)) !important;
    height:calc(100dvh - var(--gh-h, 104px)) !important;
    max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0, 5fr) minmax(0, 7fr) !important;
    grid-template-rows:auto minmax(0, 1fr) !important;
    grid-template-areas:"top top" "left right" !important;
    gap:0 !important; overflow:hidden !important;
  }
  html body.gm-dual #view-console.ws-split > .ws-top{
    grid-area:top !important; margin:0 !important; padding:10px 16px !important; min-width:0;
    border-bottom:1px solid var(--sl-line); background:transparent;
  }
  html body.gm-dual #view-console.ws-split > :is(.ws-left, .ws-right){
    position:relative !important; top:auto !important; align-self:stretch !important;
    height:auto !important; max-height:none !important; min-height:0 !important;
    margin:0 !important; padding:16px 16px 28px !important;
    overflow-x:hidden !important; overflow-y:auto !important; overscroll-behavior:contain !important;
    border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important;
    -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
    scrollbar-width:thin; scrollbar-color:rgba(148,170,204,.28) transparent; scrollbar-gutter:stable;
  }
  /* ⚠ a pane now has a DEFINITE height: its grid would squeeze an overflow:hidden card (the strategies board) to nothing to
     fit — every row is its card's own height and the pane scrolls instead */
  html body.gm-dual #view-console.ws-split > :is(.ws-left, .ws-right){ display:grid !important; grid-auto-rows:max-content !important; align-content:start !important; }
  html body.gm-dual #view-console.ws-split > .ws-left{ grid-area:left !important; border-right:1px solid var(--sl-line) !important; }
  html body.gm-dual #view-console.ws-split > .ws-right{ grid-area:right !important; }
  html body.gm-dual #view-console.ws-split > :is(.ws-left, .ws-right)::-webkit-scrollbar{ width:8px; }
  html body.gm-dual #view-console.ws-split > :is(.ws-left, .ws-right)::-webkit-scrollbar-track{ background:transparent; }
  html body.gm-dual #view-console.ws-split > :is(.ws-left, .ws-right)::-webkit-scrollbar-thumb{ background:rgba(148,170,204,.24); border-radius:99px; border:2px solid transparent; background-clip:padding-box; }
  html body.gm-dual #view-console.ws-split > :is(.ws-left, .ws-right)::-webkit-scrollbar-thumb:hover{ background-color:rgba(148,170,204,.4); }
  /* the title row: one slim line, not a card */
  html body.gm-dual #view-console.ws-split > .ws-top .gm-dash{ margin:0 !important; padding:0 !important; }
  html body.gm-dual #view-console.ws-split > .ws-top .gm-dash-card:not(#gm-dp):not(#gm-lg){
    display:flex !important; align-items:center !important; justify-content:space-between; gap:16px; min-height:0 !important;
    margin:0 !important; padding:4px 2px !important; border:0 !important; border-radius:0 !important; background:none !important; box-shadow:none !important;
  }
  html body.gm-dual #view-console.ws-split > .ws-top .gm-dash-card::before,
  html body.gm-dual #view-console.ws-split > .ws-top .gm-dash-card::after{ display:none !important; }
  html body.gm-dual #view-console.ws-split > .ws-top .gm-dash-card :is(h1, h2){ margin:0 !important; font-size:19px !important; line-height:1.2 !important; letter-spacing:-.01em; }
  html body.gm-dual #view-console.ws-split > .ws-top .gm-dash-card p{ margin:3px 0 0 !important; font-size:12.5px !important; color:var(--sl-muted) !important; }
  /* the console's own footer rides at the end of the left pane (made by gmWorkstationSplit) */
  html body.gm-dual #view-console.ws-split > .ws-left > .ws-foot{ display:block; margin:6px 0 0 !important; padding:14px 6px 0 !important; border-top:1px solid var(--sl-line); background:none !important; box-shadow:none !important; text-align:left; }
  html body.gm-dual #view-console.ws-split > .ws-left > .ws-foot p{ margin:0 0 8px !important; font-size:12px !important; line-height:1.5 !important; color:var(--sl-muted) !important; }
  html body.gm-dual #view-console.ws-split > .ws-left > .ws-foot .fine-print{ padding:0 !important; background:none !important; border:0 !important; box-shadow:none !important; text-align:left !important; font-size:11.5px !important; }
  html body.gm-dual #view-console.ws-split > .ws-left > .ws-foot .legal-links{ justify-content:flex-start !important; }
}
/* a portrait tablet: the desk needs the width more than the list does (a 1:1 split cut the Hybrid steps to "+0.0") */
@media (min-width:700px) and (max-width:900px){
  html body.gm-dual #view-console.ws-split{ grid-template-columns:minmax(0, 4fr) minmax(0, 6fr) !important; }
}
html body #view-console:not(.ws-split) > .ws-foot{ display:none; }

/* ───────────────────────────────────────────── 5 · CARDS (the photo's slate panels) ───────────────────────────────────────────── */
/* The operator: "the cards dont look like image". The photo's panels are FLAT: a slate body one step above the page, one
   hairline edge, small corners, no glow. Every card family wears that now:
     L1 · the shells (desk cards · connection · strategies · Trade History · the title card) — the card slate, 10px corners
     L2 · the panels inside a desk — one step lighter, 8px
     L3 · the tiles inside a panel — a darker well, 7px
   Tinted panels (G Digit's AUTO TRADE, the Hybrid autos) keep their own colour and only take the edge. :not(#gm-lg) outranks
   depth v4 and every earlier material block (a tie is a loss). */
html body #view-console :is(article.analyzer.glass[data-analyzer], .godmind-hero, .orb-gallery, #journal-section):not(#gm-dp):not(#gm-lg),
html body .gm-dash .gm-dash-card:not(#gm-dp):not(#gm-lg){
  background:var(--lg-body) !important;
  border:1px solid var(--lg-edge) !important;
  border-radius:10px !important;
  box-shadow:var(--lg-light), var(--lg-drop) !important;
}
@media (hover:hover) and (pointer:fine){
  html body #view-console :is(article.analyzer.glass[data-analyzer], .godmind-hero, .orb-gallery):not(#gm-dp):not(#gm-lg):hover{
    border-color:rgba(148,163,184,.22) !important; box-shadow:var(--lg-light), var(--lg-drop) !important;
  }
}
/* no painted glints, pools or orbiting light on a card — the photo has none */
html body #view-console .analyzer[data-analyzer]:not(#gm-dp):not(#gm-lg)::before,
html body #view-console .analyzer[data-analyzer]:not(#gm-dp):not(#gm-lg)::after{ background:none !important; background-image:none !important; box-shadow:none !important; animation:none !important; }
html body .gm-dash .gm-dash-card:not(#gm-lg)::before, html body .gm-dash .gm-dash-card:not(#gm-lg)::after{ background:none !important; box-shadow:none !important; }
/* the connection card's own panel inside its shell, and the strategy rows */
html body #view-console #connection-form.gm-conn:not(#gm-lg){
  background:transparent !important; border:0 !important; box-shadow:none !important;
}
html body #view-console #connection-form.gm-conn :is(.gm-conn-acct, .gm-conn-stat, .gm-conn-box):not(#gm-lg){
  background:var(--lg-sub-body) !important; border:1px solid rgba(148,163,184,.12) !important; border-radius:8px !important; box-shadow:var(--lg-sub-light) !important;
}
html body #view-console .orb-gallery .orb-cell.tts:not(#gm-dp):not(#gm-lg){
  background:var(--lg-sub-body) !important;
  border:1px solid rgba(148,163,184,.12) !important; border-radius:8px !important;
  box-shadow:var(--lg-sub-light) !important;
}
html body #view-console .orb-gallery .orb-cell.tts:not(#gm-lg) > i.tts-field{ opacity:.55; border-radius:8px !important; }
/* L2 — the panels inside a desk */
html body #view-console article.analyzer[data-analyzer] :is(.sx-box, .sx-card, .ldp-card, .gd-cts, .gd-ldp, .g1-card, .hyb-card:not(.hyb-autoc):not(.hyb-agg), .hyb-opt, .hyb-chart, .hyb-lpred,
  .acc-chart, .acc-ctl, .acc-stats, .acc-ko, .acc-info):not(#gm-dp):not(#gm-lg){
  background:var(--lg-sub-body) !important;
  border:1px solid rgba(148,163,184,.12) !important;
  border-radius:8px !important;
  box-shadow:var(--lg-sub-light) !important;
}
/* the tinted panels keep their colour — only the edge and the corners */
html body #view-console article.analyzer[data-analyzer] :is(.gd-bpa, .gd-auto, .gd-smart, .hyb-autoc, .hyb-agg):not(#gm-dp):not(#gm-lg){
  border-color:rgba(255,255,255,.1) !important; border-radius:8px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
}
/* L3 — the tiles inside a panel: a darker well */
html body #view-console article.analyzer[data-analyzer] :is(.sx-stat, .sx-pred, .g1-blk, .g1-leg, .hyb-bp, .acc-koc, .acc-infoc, .acc-stake, .hyb-seg):not(#gm-lg){
  background:var(--lg-well) !important;
  border:1px solid rgba(148,163,184,.1) !important; border-radius:7px !important;
  box-shadow:none !important;
}
/* the trade-history pane */
html body #view-console #journal-section .th-card:not(#gm-lg){ border-color:rgba(148,163,184,.12) !important; }

/* the desks outside the console (Bulk · Speed · Scan · G Mind): the same flat panels */
html body .gm-bulk-sec :is(.bk-match, .sp-card, .sp-stat, .ss-head, .ss-bar, .sp-opt):not(#gm-lg){
  background:var(--lg-body) !important;
  border:1px solid var(--lg-edge) !important; border-radius:8px !important;
  box-shadow:var(--lg-light) !important;
}
html body .gm-bulk-sec .sp-opt:has(.sp-sw.on):not(#gm-lg){
  border-color:rgba(96,165,250,.55) !important;
  box-shadow:var(--lg-light), inset 0 0 0 1px rgba(59,130,246,.14) !important;
}
html body .gm-at-sec :is(.dv-card, .dv-panel, .dv-mkt, .dv-price, .dv-types, .dv-sides):not(#gm-lg){
  background:var(--lg-body) !important;
  border:1px solid var(--lg-edge) !important; border-radius:10px !important;
  box-shadow:var(--lg-light) !important;
}
html body .gm-at-sec .dv-card.dv-rpt.on:not(#gm-lg){ border-color:rgba(45,212,191,.35) !important; }

/* ───────────────────────────────────────────── 6 · CONTROLS (the photo's Bulk Trader) ───────────────────────────────────────────── */
/* fields + selects: the photo's slate wells — a touch lighter than the page, a hairline edge, a lit lip */
html body .gm-bulk-sec :is(.bk-sel, input#bk-hist, .bk-inputs input):not(#gm-lg){
  background:linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)), var(--sl-panel) !important;
  border:1px solid rgba(148,163,184,.15) !important; border-radius:6px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important; color:#eef3fb !important;
}
html body .gm-bulk-sec .bk-sel:not(#gm-lg) select{ background:transparent !important; color:#eef3fb !important; }
html body .gm-bulk-sec :is(.bk-sel, input#bk-hist, .bk-inputs input):not(#gm-lg):focus-within{ border-color:rgba(96,165,250,.6) !important; box-shadow:var(--lg-field-light), 0 0 0 3px rgba(59,130,246,.16) !important; }
html body .gm-bulk-sec .bk-field > u{ color:#93a3b9 !important; letter-spacing:.08em !important; }
/* AI SCAN: the photo's outlined blue pills */
html body .gm-bulk-sec .bk-scan:not(#gm-lg){
  background:linear-gradient(180deg, rgba(37,99,235,.2), rgba(37,99,235,.1)) !important;
  border:1px solid rgba(96,165,250,.55) !important; border-radius:5px !important; color:#dbe8ff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 4px 12px -8px rgba(37,99,235,.8) !important;
}
html body .gm-bulk-sec .bk-scan:not(#gm-lg):hover{ background:linear-gradient(180deg, rgba(59,130,246,.3), rgba(37,99,235,.16)) !important; border-color:#93c5fd !important; }
/* the current tick: the photo's red figure; Session P/L in its own small glass card */
html body .gm-bulk-sec .bk-tick-l > b{ color:var(--sl-rose) !important; }
html body .gm-bulk-sec .bk-pl:not(#gm-lg){
  background:var(--lg-body) !important; border:1px solid var(--lg-edge) !important; border-radius:6px !important;
  box-shadow:var(--lg-light) !important;
}
/* the digit rings: a hairline track, the selected one ringed in cyan */
html body .gm-bulk-sec .bk-ring.sel:not(#gm-lg){ box-shadow:0 0 0 2px rgba(63,198,222,.85), 0 0 18px -2px rgba(63,198,222,.55) !important; }
/* the two big buttons: the photo's solid green and rose, lit like glass */
html body .gm-bulk-sec .bk-side:not(#gm-lg){ --c:var(--sl-green); border-radius:6px !important;
  background:linear-gradient(180deg, color-mix(in srgb, var(--c) 88%, #fff) 0%, var(--c) 48%, color-mix(in srgb, var(--c) 90%, #000) 100%) !important;
  border:1px solid color-mix(in srgb, var(--c) 55%, #fff) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34), inset 0 -1px 0 rgba(0,0,0,.16), 0 12px 26px -16px color-mix(in srgb, var(--c) 80%, transparent) !important;
}
html body .gm-bulk-sec .bk-side.r:not(#gm-lg){ --c:var(--sl-rose); }
html body .gm-bulk-sec .bk-side.dim:not(#gm-lg){ opacity:.62; filter:saturate(.85); }
/* the status line: the photo's blue-slate bar */
html body .gm-bulk-sec .bk-msg-in:not(#gm-lg){
  background:linear-gradient(180deg, rgba(31,45,66,.92), rgba(26,38,56,.92)) !important;
  border:1px solid rgba(120,150,200,.18) !important; border-radius:6px !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}

/* a phone: the photo's phone desk — all ten digit rings on one row, the AI SCAN buttons on one row */
@media (max-width:600px){
  html body .gm-bulk-sec .bk-rings.five:not(#gm-lg){ grid-template-columns:repeat(10, minmax(0,1fr)) !important; gap:3px !important; padding:4px 0 12px !important; }
  html body .gm-bulk-sec .bk-rings.five:not(#gm-lg) .bk-ring{ max-width:40px; margin:0 auto; }
  html body .gm-bulk-sec .bk-rings.five:not(#gm-lg) .bk-ring b{ font-size:12.5px !important; }
  html body .gm-bulk-sec .bk-rings.five:not(#gm-lg) .bk-ring u{ font-size:6.5px !important; margin-top:0 !important; }
  html body .gm-bulk-sec .bk-rings.five:not(#gm-lg) .bk-ring.sel::before{ inset:-3px; }
  html body .gm-bulk-sec .bk-ctl-l:not(#gm-lg){ flex-wrap:nowrap !important; gap:5px !important; overflow-x:auto; scrollbar-width:none; }
  html body .gm-bulk-sec .bk-ctl-l:not(#gm-lg)::-webkit-scrollbar{ display:none; }
  html body .gm-bulk-sec .bk-scan:not(#gm-lg){ flex:none; height:28px !important; min-height:0 !important; padding:0 7px !important; font-size:9.5px !important; letter-spacing:.03em !important; }
  html body .gm-bulk-sec .bk-ctl-l:not(#gm-lg) .bk-scan{ flex:1 1 auto; padding:0 5px !important; font-size:9px !important; letter-spacing:.02em !important; }
}

/* ───────────────────────────────────────────── 7 · MOTION & SCROLL ───────────────────────────────────────────── */
/* no perpetual motion behind the content (the ground is static now), and each pane scrolls on its own compositor layer.
   ⚠ no `contain:layout` on a pane — it would become the containing block of every position:fixed thing inside a desk. */
html body.gm-dual #view-console.ws-split > :is(.ws-left, .ws-right){ will-change:scroll-position; }
/* things that animate forever while nobody can see them: the voice panel's wave (the panel sits at opacity 0 until it shows)
   and the link chip's glow pulse (the v5 chip has no glow to pulse) — measured: 100 running animations at rest before v42, 21 after */
html body .aether-voice-hud:not(.show) .avh-wave i{ animation-play-state:paused !important; }
html body header.aether-header.gh5 #connection-chip{ animation:none !important; }

/* ───────────────────────────────────────────── 8 · THE TRANSACTIONS PANEL (the operator's photos, v43) ───────────────────────────────────────────── */
/* Summary · Transactions · Journal with the red underline; Type = the contract icon + its market's icon; the entry spot a red dot,
   the exit spot a white ring; an open trade shimmers until its result (v48 — § 19: no dashed wait any more). Nothing
   pulses or flashes — the photos' panel is calm. */
html body .gm-bulk-sec .bk-sheet-live{ display:none !important; }
html body .gm-bulk-sec .bk-tab:not(#gm-lg){ color:#9fb0c6; font-weight:700; }
html body .gm-bulk-sec .bk-tab.on:not(#gm-lg){ color:#fff; font-weight:800; }
html body .gm-bulk-sec .bk-tab.on:not(#gm-lg)::after{ left:14%; right:14%; height:3px; border-radius:2px; background:#ff444f; box-shadow:none; }
/* rows: calm — no pulsing, no flashing band */
html body .gm-bulk-sec .bk-tr:not(#gm-lg){ background:transparent !important; border-bottom-color:rgba(148,163,184,.08); }
html body .gm-bulk-sec .bk-tr.placing:not(#gm-lg), html body .gm-bulk-sec .bk-tr.placing.is-new:not(#gm-lg){ animation:none !important; }
html body .gm-bulk-sec .bk-tr.pend:not(#gm-lg)::before{ display:none !important; }
html body .gm-bulk-sec .bk-tr:is(.fx-win, .fx-loss):not(#gm-lg)::after{ display:none !important; }
/* Type: two icons */
html body .gm-bulk-sec .bk-tr .bk-td.type:not(#gm-lg){ display:flex; align-items:center; gap:12px; min-width:0; }
html body .gm-bulk-sec .bk-tr .bk-ct:not(#gm-lg){ display:grid; place-items:center; width:24px; height:24px; color:#3fd0c6; }
html body .gm-bulk-sec .bk-tr .bk-ct.r:not(#gm-lg){ color:#ff5a6e; }
html body .gm-bulk-sec .bk-tr .bk-ct:not(#gm-lg) svg{ width:21px; height:21px; }
html body .gm-bulk-sec .bk-tr .bk-ct:not(#gm-lg) u{ display:none; }
html body .gm-bulk-sec .bk-tr .bk-mki{ display:grid; place-items:center; width:22px; height:22px; color:#ff4f63; }
html body .gm-bulk-sec .bk-tr .bk-mki svg{ width:17px; height:17px; }
/* the spots */
html body .gm-bulk-sec .bk-td.spot:not(#gm-lg) > div{ font:700 13.5px/1.2 var(--font-body, inherit); color:#e6edf7; }
html body .gm-bulk-sec .bk-td.spot:not(#gm-lg) i{ width:13px; height:13px; border-width:2px; }
html body .gm-bulk-sec .bk-td.spot:not(#gm-lg) i.in{ border-color:#ff444f; background:radial-gradient(circle, #ff444f 0 52%, transparent 56%); box-shadow:0 0 8px rgba(255,68,79,.55); }
html body .gm-bulk-sec .bk-td.spot:not(#gm-lg) i.out{ border-color:#e8eef7; background:transparent; box-shadow:none; }
/* buy price and P/L */
html body .gm-bulk-sec .bk-td.pl:not(#gm-lg) > b{ font:700 13.5px/1.2 var(--font-body, inherit); color:#eef3fa; }
html body .gm-bulk-sec .bk-td.pl:not(#gm-lg) > span{ font:800 13.5px/1.2 var(--font-body, inherit); }
html body .gm-bulk-sec .bk-td.pl:not(#gm-lg) > span.pos{ color:#3ddc97; }
html body .gm-bulk-sec .bk-td.pl:not(#gm-lg) > span.neg{ color:#ff5a6e; }
html body .gm-bulk-sec .bk-td.pl:not(#gm-lg) > span.stale{ color:#8d9db4; }
/* the placeholders: a shimmer while the trade is on its way out, dashes while its entry waits on the exit */
html body .gm-bulk-sec .bk-skel{ display:inline-block; position:relative; overflow:hidden; vertical-align:middle; width:72px; height:11px; border-radius:4px; background:rgba(82,122,190,.34); }
html body .gm-bulk-sec .bk-skel::after{ content:""; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg, rgba(255,255,255,0), rgba(220,234,255,.32), rgba(255,255,255,0)); animation:bkSkel 1.15s ease-in-out infinite; }
html body .gm-bulk-sec .bk-skel.dash{ width:68px; height:3px; border-radius:2px; background:repeating-linear-gradient(90deg, rgba(225,234,246,.72) 0 7px, rgba(225,234,246,0) 7px 11px); animation:bkDash 1.2s ease-in-out infinite; }
html body .gm-bulk-sec .bk-skel.dash::after{ display:none; }
html body .gm-bulk-sec .bk-td.pl .bk-skel{ width:58px; }
@keyframes bkSkel{ to{ transform:translateX(100%); } }
@keyframes bkDash{ 0%, 100%{ opacity:.35; } 50%{ opacity:.95; } }
/* the result arrives: the exit spot and the P/L fade up into place */
html body .gm-bulk-sec .bk-tr.just-set .bk-td.spot > div:last-child span, html body .gm-bulk-sec .bk-tr.just-set .bk-td.pl > span{ animation:bkSet .42s cubic-bezier(.2,.8,.2,1) both; }
@keyframes bkSet{ from{ opacity:0; transform:translateY(5px); } to{ opacity:1; transform:none; } }
/* the totals and Reset, as in the photos */
html body .gm-bulk-sec .bk-totals:not(#gm-lg) u{ color:#b9c6d8; font-weight:600; }
html body .gm-bulk-sec .bk-totals:not(#gm-lg) b{ color:#eef3fa; font-weight:800; }
html body .gm-bulk-sec .bk-totals:not(#gm-lg) b.pos{ color:#3ddc97; }
html body .gm-bulk-sec .bk-totals:not(#gm-lg) b.neg{ color:#ff5a6e; }
@media (prefers-reduced-motion:reduce){
  html body .gm-bulk-sec .bk-skel::after, html body .gm-bulk-sec .bk-skel.dash, html body .gm-bulk-sec .bk-tr.just-set .bk-td.spot > div:last-child span, html body .gm-bulk-sec .bk-tr.just-set .bk-td.pl > span{ animation:none !important; }
}

/* ══ 9 · NO TOUCH OR CLICK FEEDBACK (v43) — the operator: "remove the touch and click feedback aesthetic completely". No ripple,
   no press shrink, no flash: a tap or a click changes nothing on screen but what the control itself does. The browser's own
   tap highlight goes too. Hover and the keyboard focus ring stay. ══ */
html, html *, html *::before, html *::after{ -webkit-tap-highlight-color:transparent !important; }

/* ══ 10 · THE "PAIR HAS GOT WEAKER" PANEL (v43) — the operator's photo, to the pixel: a near-black card with a thin amber rim,
   "Pair has got weaker" in a light 20px, the Auto switch pair switch (a dark track in a cyan ring), four plain lines, and one
   full-width blue "Choose a stronger pair" whose words sit on the left. The pairs open under it on demand. ══ */
.spw-veil{ position:fixed; inset:0; z-index:2147482000; display:grid; place-items:center; padding:max(16px, env(safe-area-inset-top, 0px)) 16px max(16px, env(safe-area-inset-bottom, 0px));
  background:rgba(0,0,0,.55); opacity:0; transition:opacity .2s ease; overscroll-behavior:contain; }
.spw-veil.in{ opacity:1; }
.spw-veil.out{ opacity:0; pointer-events:none; }
.spw-card{ position:relative; box-sizing:border-box; width:min(506px, 100%); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain;
  padding:22px 24px 24px; border-radius:10px; text-align:left; color:#d6dde7; font-family:var(--font-body, system-ui, sans-serif);
  background:#101821; border:2px solid rgba(255,179,64,.78); box-shadow:0 18px 50px -14px rgba(0,0,0,.85);
  transform:translateY(8px); transition:transform .25s cubic-bezier(.2,.8,.2,1); }
.spw-veil.in .spw-card{ transform:none; }
html body #spw .spw-t{ margin:0 0 12px; padding:0; font:500 20px/1.25 var(--font-body, inherit); letter-spacing:0; color:#f1f5f9; text-transform:none; }
.spw-sw{ display:flex; align-items:center; gap:6px; margin:0 0 9px; font:700 12.5px/1 var(--font-body, inherit); color:#f1f5f9; }
html body #spw .spw-tg{ position:relative; flex:none; box-sizing:border-box; width:50px; height:30px !important; min-height:30px !important; padding:0; margin:0; border-radius:99px; cursor:pointer;
  background:#1b2433; border:2px solid #2bb6d3; box-shadow:0 0 0 2px rgba(43,182,211,.16), 0 0 10px rgba(43,182,211,.32); transition:background .2s ease; }
html body #spw .spw-tg i{ position:absolute; top:50%; left:5px; width:17px; height:17px; margin-top:-8.5px; border-radius:50%; background:#c9cfe2; transition:transform .2s ease, background .2s ease; }
html body #spw .spw-tg[aria-checked="true"]{ background:#2f6ff3; }
html body #spw .spw-tg[aria-checked="true"] i{ transform:translateX(19px); background:#fff; }
.spw-d{ margin:0 0 6px; font:400 13.5px/1.6 var(--font-body, inherit); color:#d6dde7; }
html body #spw .spw-d p{ margin:0; padding:0; font:inherit; color:inherit; }
html body #spw .spw-go{ display:flex; align-items:center; justify-content:flex-start; box-sizing:border-box; width:100%; height:40px !important; min-height:40px !important; margin:0; padding:0 14px;
  border:0; border-radius:5px; cursor:pointer; text-align:left; color:#fff; background:#2f6ff3; box-shadow:none; font:700 12.5px/1 var(--font-body, inherit); letter-spacing:0; text-transform:none; }
html body #spw .spw-go:hover{ background:#3a79ff; }
.spw-list{ display:grid; gap:6px; margin:10px 0 0; }
html body #spw .spw-list[hidden]{ display:none; }
html body #spw .spw-o{ display:flex; align-items:center; justify-content:space-between; gap:10px; box-sizing:border-box; width:100%; height:auto !important; min-height:40px !important; padding:8px 12px; margin:0;
  border-radius:6px; cursor:pointer; text-align:left; color:#e6edf7; background:#162130; border:1px solid rgba(255,255,255,.09); box-shadow:none; font:600 13px/1.25 var(--font-body, inherit); }
html body #spw .spw-o:hover{ background:#1b293a; border-color:rgba(47,111,243,.6); }
html body #spw .spw-o b{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
html body #spw .spw-o span{ flex:none; font:700 13px/1 var(--font-body, inherit); font-variant-numeric:tabular-nums; color:#3ddc97; }
.spw-empty{ margin:0; padding:11px 12px; border-radius:6px; background:#141e2a; color:#94a3b8; font:500 12.5px/1.4 var(--font-body, inherit); }
html body #spw button:focus-visible{ outline:2px solid #93c5fd; outline-offset:2px; }
/* the pill under the Speed Trader's status line — brings the panel back */
html body .gm-bulk-sec .sp-wrap .sp-paused{ display:inline-flex; align-items:center; gap:7px; height:34px !important; min-height:34px !important; margin:10px 0 0; padding:0 14px;
  border-radius:99px; border:0; cursor:pointer; color:#1c1203; background:#ffb340; box-shadow:none; font:800 12px/1 var(--font-body, inherit); }
html body .gm-bulk-sec .sp-wrap .sp-paused[hidden]{ display:none !important; }
html body .gm-bulk-sec .sp-wrap .sp-paused svg{ width:13px; height:13px; }
@media (max-width:420px){ .spw-card{ padding:20px 18px 20px; } html body #spw .spw-t{ font-size:18.5px; } .spw-d{ font-size:13px; } }
@media (prefers-reduced-motion:reduce){ .spw-veil, .spw-card, html body #spw .spw-tg, html body #spw .spw-tg i{ transition:none !important; } }

/* ══ 11 · THE HORIZONTAL LAYOUT (v43) — the operator's three photos (Speedbot · Bulk Trader · Speedbot with Transactions open):
   • the Bulk section runs edge to edge — no 1360px column in the middle of a wide screen, a 12–22px gutter each side, the
     desk's own inner padding gone — so every row (START + FAST | NORMAL, the market and its price, the ten rings, the three
     inputs, the two sides) spans the screen as in the photos;
   • the Transactions panel docks on the right OVER the desk, full height under the header, ~23% of the screen (340–440px),
     » on its edge; the desk never shrinks or re-flows when it opens or closes (the p15 gutter is gone — opening the panel
     costs no layout of the desk at all). ══ */
@media (min-width:900px), (orientation:landscape) and (min-width:640px) and (max-height:600px){
  :root{ --bk-sheet-w:clamp(340px, 23vw, 440px); --bk-gut:clamp(12px, 1.2vw, 22px); }
  html body.gm-bulk-active main.aether-main{ max-width:none !important; margin-left:0 !important; margin-right:0 !important; padding-left:0 !important; padding-right:0 !important; }
  html body.gm-bulk-active .gm-bulk-sec{ padding-left:var(--bk-gut) !important; padding-right:calc(var(--bk-gut) + 16px) !important; }   /* the « tab's own lane on the right, as in the photo */
  /* the handles are solid now that the panel lies over the desk (b2 drew them see-through, and a switch showed through ») */
  html body .gm-bulk-sec .bk-sheet-close{ background:#0d1622 !important; border-color:rgba(150,185,255,.3); box-shadow:-6px 0 14px -6px rgba(0,0,0,.75); }
  html body .gm-bulk-sec .bk-sheet-close:hover, html body .gm-bulk-sec .bk-sheet-close:focus-visible{ background:#15233a !important; }
  html body:not(.gm-bulk-drawer) .gm-bulk-sec .bk-sidetab{ background:#0d1622 !important; }
  html body .gm-bulk-sec .bk-sidetab:hover, html body .gm-bulk-sec .bk-sidetab:focus-visible{ background:#15233a !important; }
  html body .gm-bulk-sec .sp-wrap, html body .gm-bulk-sec .bk-wrap{ max-width:none !important; padding-left:0 !important; padding-right:0 !important; }
  /* the panel's three columns at its ~23% width: the price column keeps "Buy price and P/L" on one line, as in the photo */
  html body .gm-bulk-sec .bk-tr, html body .gm-bulk-sec .bk-thead{ grid-template-columns:minmax(56px,.62fr) minmax(0,1.1fr) minmax(0,1.28fr); gap:8px; }
  html body .gm-bulk-sec .bk-thead{ white-space:nowrap; }
  /* the Speed Trader's option cards keep each name on one line ("Auto switch pair" wrapped on 1180–2560px screens) */
  html body .gm-bulk-sec .sp-opts{ grid-template-columns:repeat(auto-fill, minmax(236px, 1fr)); }
  html body .gm-bulk-sec .sp-opt-t b{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
}

/* ══ 12 · v44 — the header account comes up when a desk opens (the operator: "fix the balance in the header to pop up when user
   switch from the analyzer section"), and the Bulk auto bar's "settling" state (one run at a time: it waits for the last run's
   results). The account animates each time it is shown — leaving the Analyzer for a desk — and never while it stays shown. ══ */
@keyframes ghBalIn{ from{ opacity:0; transform:translateY(-6px) scale(.94); } to{ opacity:1; transform:none; } }
html body header.aether-header.gh5 #gh-bal:not([hidden]){ animation:ghBalIn .34s cubic-bezier(.2,.9,.3,1.15); }
html body .gm-bulk-sec .bk-pills.is-floating[data-state="settling"] .bk-pill-live{ color:#93c5fd; }
@media (prefers-reduced-motion:reduce){ html body header.aether-header.gh5 #gh-bal:not([hidden]){ animation:none; } }

/* ══ 13 · v45 — the system sweep: Skilli X's result badge on a stream tile sat on the tile's top-right corner — exactly where the
   last digit's ✝️ marker sits — and on tablet-width tiles it touched the digit itself. It now takes the free outer top-left corner
   (the marker keeps the top-right, the bar the bottom). ══ */
html body #sx-stream .sx-d .dres-badge{ top:-7px !important; left:-7px !important; right:auto !important; bottom:auto !important; }
/* G Digit's action buttons carry a status on the right ("🔒 3/200", "next 4s", "every tick") while the label sits centred: on a
   narrow desk (a tablet, a half-width button) the two met and overlapped. Where the buttons' box is narrow, a button with a
   status stacks it under its label instead (the box is the size container; its width — never the screen's — decides). */
html body [data-analyzer="matches"] #ldp-autos{ container-type:inline-size; container-name:gdautos; }
@container gdautos (max-width:640px){
  html body [data-analyzer="matches"] .gd-btn:is([data-state="lock"], [data-state="run"], [data-state="open"]){ flex-direction:column; justify-content:center; gap:3px; }
  html body [data-analyzer="matches"] .gd-btn:is([data-state="lock"], [data-state="run"], [data-state="open"]) .gd-bs{ position:static; transform:none; }
  html body [data-analyzer="matches"] .gd-btn:is([data-state="lock"], [data-state="run"], [data-state="open"]) .gd-bt{ max-width:100%; }
  html body [data-analyzer="matches"] .gd-btn:is([data-state="lock"], [data-state="run"], [data-state="open"]) .gd-spin{ display:none !important; }
  /* the half-width pair ("⇶ SEQUENTIAL ×5 · DIGIT 5") wraps its label as it does on a phone, instead of ending in "…" */
  html body [data-analyzer="matches"] .gd-acts-2 .gd-btn{ height:auto; min-height:48px !important; padding:6px 10px; }
  html body [data-analyzer="matches"] .gd-acts-2 .gd-bt{ white-space:normal; overflow:visible; line-height:1.2; }
}
/* Skilli X: on a tablet the stream's tiles are narrower and the last digit's ✝️ (20px, 8px outside the corner) reached the digit */
@media (max-width:900px){
  html body #sx-stream .sx-cross{ font-size:17px; top:-10px; right:-11px; }
}

/* ══ 14 · v46 — THE REFERENCE'S BLUE LINES AND PALETTE (the operator: "the platform doesn't have blue lines on cards like the images
   … the platform color seems a little off and the transaction panel color too"). Sampled from the reference screenshots: page
   #161e29, cards and fields #1c2630, the header bar #1c2630 over a #1a2533 tab band, the open tab #223d69 with a lavender line, the
   open card #1c2c3c. The cards' edge is a BLUE hairline — what reads as "blue lines" in the photos — one step quieter on a panel
   inside a card; wells stay neutral so a desk never turns into a grid of lines. The Transactions panel is the cards' own slate
   (it was near-black navy) with the reference's blue strip and » down its left edge. ══ */
:root{
  --sl-bg:#161e29;
  --sl-bar:#1c2630;
  --sl-bg-2:#1a2533;
  --sl-panel:#1c2630;
  --sl-bl:#2a4669;          /* a card's blue line */
  --sl-bl-2:#233a58;        /* a panel inside a card — the same blue, quieter */
  --sl-bl-hi:#3b6fb4;       /* the open / selected card */
  --sl-card-hi:#1c2c3c;     /* the open card's body */
  --lg-body:#1c2630;
  --lg-edge:var(--sl-bl);
  --lg-field:#1c2630;
}
/* L1 — the shells: hover lifts the line, never the body */
@media (hover:hover) and (pointer:fine){
  html body #view-console :is(article.analyzer.glass[data-analyzer], .godmind-hero, .orb-gallery):not(#gm-dp):not(#gm-lg):hover{ border-color:#35577f !important; }
}
/* L2 — the panels inside a desk carry the quieter blue line */
html body #view-console article.analyzer[data-analyzer] :is(.sx-box, .sx-card, .ldp-card, .gd-cts, .gd-ldp, .g1-card, .hyb-card:not(.hyb-autoc):not(.hyb-agg), .hyb-opt, .hyb-chart, .hyb-lpred,
  .acc-chart, .acc-ctl, .acc-stats, .acc-ko, .acc-info):not(#gm-dp):not(#gm-lg){ border-color:var(--sl-bl-2) !important; }
html body #view-console #connection-form.gm-conn :is(.gm-conn-acct, .gm-conn-stat, .gm-conn-box):not(#gm-lg),
html body #view-console .orb-gallery .orb-cell.tts:not(#gm-dp):not(#gm-lg),
html body #view-console #journal-section .th-card:not(#gm-lg){ border-color:var(--sl-bl-2) !important; }
/* the Speed Trader's strategy card and a switched-on option = the reference's open card ("Fixed Martingale": blue line, blue-slate body) */
html body .gm-bulk-sec :is(#sp-card.sp-card, .sp-opt:has(.sp-sw.on)):not(#gm-lg){ background:var(--sl-card-hi) !important; border-color:var(--sl-bl-hi) !important; box-shadow:none !important; }

/* the Bulk desk's fields: flat slate, the blue line */
html body .gm-bulk-sec :is(.bk-sel, input#bk-hist, .bk-inputs input):not(#gm-lg){ background:var(--sl-panel) !important; border-color:var(--sl-bl) !important; box-shadow:none !important; }
html body .gm-bulk-sec :is(.bk-sel, input#bk-hist, .bk-inputs input):not(#gm-lg):focus-within{ border-color:#4f86d0 !important; box-shadow:0 0 0 3px rgba(59,130,246,.16) !important; }
/* AI SCAN: the reference's filled blue buttons */
html body .gm-bulk-sec .bk-scan:not(#gm-lg){ background:#1f3a60 !important; border-color:#3f6797 !important; color:#eaf2ff !important; box-shadow:none !important; }
html body .gm-bulk-sec .bk-scan:not(#gm-lg):hover{ background:#26467a !important; border-color:#6f9ad4 !important; }
/* the status line: the reference's blue-slate bar */
html body .gm-bulk-sec .bk-msg-in:not(#gm-lg){ background:#1d2c41 !important; border-color:#2e4a6e !important; box-shadow:none !important; }
/* "100% Reinvest after a win": the reference's slate card with the blue line (it was a darker navy with a grey edge) */
html body .gm-bulk-sec .bk-reinv:not(#gm-lg){ background:#1c2630 !important; border-color:var(--sl-bl) !important; }

/* the header: the bar's slate over the tab band, one blue-grey line between them and one under the band (a phone keeps the blue
   band of the operator's phone photo) */
@media (min-width:601px){
  html body header.aether-header.gh5{
    background:linear-gradient(180deg,
      #1c2630 0, #1c2630 var(--r1),
      #2a3c53 var(--r1), #2a3c53 calc(var(--r1) + 1px),
      #1a2533 calc(var(--r1) + 1px), #1a2533 100%) !important;
    border-bottom:1px solid #31475f !important;
  }
}
@media (hover:hover) and (pointer:fine) and (min-width:821px){
  html body header.aether-header.gh5{
    background:linear-gradient(180deg,
      rgba(28,38,48,.93) 0, rgba(28,38,48,.93) var(--r1),
      rgba(42,60,83,.96) var(--r1), rgba(42,60,83,.96) calc(var(--r1) + 1px),
      rgba(26,37,51,.95) calc(var(--r1) + 1px), rgba(26,37,51,.95) 100%) !important;
  }
}
/* the tabs, as in the reference: flat words on the band; the open one is a blue cell the band's full height with a lavender line
   under it (a phone keeps its own band — it already draws them flat) */
@media (min-width:601px){
  html body header.aether-header.gh5 .gh-nav{ align-items:stretch; }
  html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link{
    height:auto !important; border-radius:0 !important; padding:0 var(--sl-tpad, 15px) !important;
    background:transparent !important; box-shadow:none !important; color:#dfe7f2 !important;
  }
  html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link:hover{ background:rgba(255,255,255,.045) !important; color:#fff !important; }
  html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link.active,
  html body:not(.gm-bulk-active):not(.gm-at-active) header.aether-header.gh5 .gh-nav > #gh-analyzer.is-here{
    color:#fff !important; background:#223d69 !important; box-shadow:inset 0 -2px 0 #a493d6 !important;
  }
  html body header.aether-header.gh5 .gh-nav > #sub-countdown{ align-self:center; }
}

/* THE TRANSACTIONS PANEL — the cards' slate, not near-black navy */
html body .gm-bulk-sec .bk-sheet-in{ background:#1c2630 !important; border-color:var(--sl-bl) !important; }
html body .gm-bulk-sec .bk-tabs{ background:#18222e !important; border-bottom-color:#26384f !important; }
html body .gm-bulk-sec .bk-tab:not(#gm-lg){ color:#c3cede; }
html body .gm-bulk-sec .bk-btn{ background:#161e29 !important; border-color:#3a4b60 !important; color:#eef3fa !important; }
html body .gm-bulk-sec .bk-btn.on{ border-color:#5d8fd6 !important; background:#1d2c41 !important; }
html body .gm-bulk-sec .bk-btn:hover{ border-color:#5a7193 !important; }
html body .gm-bulk-sec .bk-reset{ background:#1c2630 !important; border-color:#34465c !important; color:#eef3fa !important; }
html body .gm-bulk-sec .bk-reset:hover{ border-color:#5a7193 !important; }
html body .gm-bulk-sec .bk-sheet-body:has(> .bk-tbody) > .bk-totals{ border-top-color:#26384f !important; }
@media (min-width:900px), (orientation:landscape) and (min-width:640px) and (max-height:600px){
  /* docked flush on the right like the reference: square, a hairline on the left, no glow */
  html body .gm-bulk-sec .bk-sheet-in{ border-radius:0 !important; border-top:0 !important; box-shadow:-18px 0 40px -28px rgba(0,0,0,.9) !important; }
  /* » — the reference's blue strip, the panel's full height, on its left edge */
  html body .gm-bulk-sec .bk-sheet-close{
    left:-12px !important; top:0 !important; bottom:0 !important; transform:none !important; width:12px !important; height:auto !important;
    border:0 !important; border-radius:0 !important; color:#d8e6fb !important; background:#23426f !important; box-shadow:none !important;
    display:flex; align-items:center; justify-content:center; padding:0 !important;
  }
  html body .gm-bulk-sec .bk-sheet-close::before{ font:800 13px/1 var(--font-body, inherit) !important; }
  html body .gm-bulk-sec .bk-sheet-close:hover, html body .gm-bulk-sec .bk-sheet-close:focus-visible{ background:#2d5590 !important; color:#fff !important; }
  /* « on the screen edge while it is shut: the same slate and line */
  html body:not(.gm-bulk-drawer) .gm-bulk-sec .bk-sidetab{ background:#1c2630 !important; border-color:var(--sl-bl) !important; box-shadow:-10px 0 22px -16px rgba(0,0,0,.9) !important; }
  html body .gm-bulk-sec .bk-sidetab:hover, html body .gm-bulk-sec .bk-sidetab:focus-visible{ background:#22324a !important; }
}

/* ══ 15 · v46 — 🔥 BEST DIGITS under the market — the operator's photo, exactly: two compact pills right under the market select
   ("Over 1 · Under 1"), the play's name only — the selected one filled dark green with a light-green rim, the other dark slate —
   and one small grey line under them: the latest-25 scores on the left, "Last 25 completed ticks" at its end. The stronger pill
   carries a 🔥 that FLOATS over its corner (the operator: "make it look like it is floating"); a run fills its pill green, reads
   "2/5" and a thin bar fills through the ten seconds to the next trade. The row pops up when a market's digits are first read. ══ */
html body .gm-bulk-sec .bk-bd{ display:grid; gap:7px; margin-top:0; min-width:0; }
html body .gm-bulk-sec .bk-bd[hidden]{ display:none !important; }
@media (min-width:900px), (orientation:landscape) and (min-width:640px) and (max-height:600px){
  html body .gm-bulk-sec .bk-bd{ max-width:calc(50% - 6px); }                 /* under the Market column, as in the photo */
}
html body .gm-bulk-sec .bk-bd-row{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0; padding-top:5px; }   /* headroom for the floating 🔥 */
html body .gm-bulk-sec .bk-bd-t{
  position:relative; flex:none; display:inline-flex; align-items:center; gap:6px; height:28px; min-height:28px !important; padding:0 12px; margin:0;
  border-radius:6px; border:1px solid #3c4b61; background:#262f3d; color:#e2e8f0; cursor:pointer; box-shadow:none;
  font:700 12.5px/1 var(--font-body, inherit); letter-spacing:0; text-transform:none;
  transition:border-color .2s ease, background-color .2s ease, color .2s ease;
}
html body .gm-bulk-sec .bk-bd-t b{ font-weight:700; color:inherit; white-space:nowrap; }
html body .gm-bulk-sec .bk-bd-t u{ text-decoration:none; font:800 11.5px/1 var(--font-body, inherit); color:inherit; opacity:.85; font-variant-numeric:tabular-nums; white-space:nowrap; }
html body .gm-bulk-sec .bk-bd-t u:empty{ display:none; }
/* the stronger side = the photo's selected pill: dark green, a light-green rim, white words — and the floating 🔥 */
html body .gm-bulk-sec .bk-bd-t.is-best{ background:#1f4d38; border-color:#58b384; color:#f1fff7; }
html body .gm-bulk-sec .bk-bd-t.is-best::after{
  content:"\1F525"; position:absolute; top:-10px; right:-8px; font-size:15px; line-height:1; pointer-events:none;
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.55)); animation:bkFireFloat 2.6s ease-in-out infinite; will-change:transform;
}
/* running: filled green, "2/5", and the ten seconds to the next trade filling along its foot — while a run goes the green belongs
   to the running pill alone (the other keeps its slate look and, when it is the stronger pick, its floating 🔥) */
html body .gm-bulk-sec .bk-bd.is-running .bk-bd-t.is-best:not(.on){ background:#262f3d; border-color:#3c4b61; color:#e2e8f0; }
html body .gm-bulk-sec .bk-bd-t.on{ background:#2a7a55; border-color:#7ad9ab; color:#ffffff; }
html body .gm-bulk-sec .bk-bd-pg{ position:absolute; left:0; right:0; bottom:0; height:2px; border-radius:0 0 5px 5px; background:#c8f7df; opacity:0; transform-origin:left center; transform:scaleX(var(--p, 0)); transition:transform .25s linear, opacity .2s ease; pointer-events:none; text-decoration:none; }
html body .gm-bulk-sec .bk-bd-t.on .bk-bd-pg{ opacity:1; }
html body .gm-bulk-sec .bk-bd-t:disabled, html body .gm-bulk-sec .bk-bd-t.na{ opacity:.45; cursor:default; }
@media (hover:hover) and (pointer:fine){
  html body .gm-bulk-sec .bk-bd-t:hover:not(:disabled){ border-color:#5d7392; }
  html body .gm-bulk-sec .bk-bd-t.is-best:hover:not(:disabled), html body .gm-bulk-sec .bk-bd-t.on:hover{ border-color:#86e3b6; }
  html body .gm-bulk-sec .bk-bd-ref:hover{ border-color:#6f9ad4; }
}
html body .gm-bulk-sec :is(.bk-bd-t, .bk-bd-ref):focus-visible{ outline:2px solid #93c5fd; outline-offset:2px; }
html body .gm-bulk-sec .bk-bd-ref{ flex:none; height:28px; min-height:28px !important; padding:0 11px; margin:0; border-radius:6px; border:1px solid #3f6797; background:#1f3a60; color:#eaf2ff; cursor:pointer; box-shadow:none; font:700 12px/1 var(--font-body, inherit); letter-spacing:0; text-transform:none; }
html body .gm-bulk-sec .bk-bd-ref[hidden]{ display:none !important; }
html body .gm-bulk-sec .bk-bd-note{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; min-width:0; font:500 11px/1.35 var(--font-body, inherit); color:#8193aa; }
html body .gm-bulk-sec .bk-bd-l{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html body .gm-bulk-sec .bk-bd-r{ flex:none; white-space:nowrap; }
html body .gm-bulk-sec .bk-bd.is-running .bk-bd-l{ color:#c9d6e5; }
html body .gm-bulk-sec .bk-bd.is-reading .bk-bd-t{ color:#6f8199; }
/* the 🔥 floats: up and back on a slow breath with a slight sway, its shadow under it */
@keyframes bkFireFloat{ 0%, 100%{ transform:translateY(0) rotate(-6deg); } 50%{ transform:translateY(-4px) rotate(6deg); } }
/* the digits pop up when a market is first read; a reference that changes slides its new name in */
@keyframes bkBdPop{ from{ opacity:0; transform:translateY(-7px) scale(.96); } to{ opacity:1; transform:none; } }
@keyframes bkBdSwap{ from{ opacity:0; transform:translateY(5px); } to{ opacity:1; transform:none; } }
html body .gm-bulk-sec .bk-bd.is-pop .bk-bd-t{ animation:bkBdPop .42s cubic-bezier(.2,.9,.3,1.2) both; }
html body .gm-bulk-sec .bk-bd.is-pop .bk-bd-t + .bk-bd-t{ animation-delay:.08s; }
html body .gm-bulk-sec .bk-bd.is-pop .bk-bd-note{ animation:bkBdPop .42s .16s ease both; }
html body .gm-bulk-sec .bk-bd-t.is-swap b{ animation:bkBdSwap .38s ease both; }
@media (max-width:600px){
  html body .gm-bulk-sec .bk-bd-t{ padding:0 11px; font-size:12px; }
  html body .gm-bulk-sec .bk-bd-note{ font-size:10.5px; }
}
@media (prefers-reduced-motion:reduce){
  html body .gm-bulk-sec :is(.bk-bd.is-pop .bk-bd-t, .bk-bd.is-pop .bk-bd-note, .bk-bd-t.is-swap b){ animation:none !important; }
  html body .gm-bulk-sec .bk-bd-t.is-best::after{ animation:none; }
  html body .gm-bulk-sec .bk-bd-pg{ transition:none; }
}

/* ══ 16 · v46 — THE DESK TO THE REFERENCE, DETAIL BY DETAIL (the operator: "the design should perfectly match"). Read off the
   reference Bulk Trader (screenshot + photo):
   • the selected digit ring is a thin CYAN OUTLINE on the ring's own track — the page dark inside, no fill, no halo ring around
     it (o2's bold blue ball came from an earlier, different reference);
   • the strip under the rings is flat outcome chips: green #42ba95 for a win, rose #df506e for a loss — the "=" barrier chip and
     Matches/Differs' blue digit keep their meaning;
   • the scanners read "V2 AI SCAN … V5 AI SCAN" with a 🔥 after the last. ══ */
html body .gm-bulk-sec .bk-rings .bk-ring.sel:not(#gm-lg){ background:transparent !important; border-color:transparent !important; box-shadow:none !important; }
html body .gm-bulk-sec .bk-rings .bk-ring.sel:not(#gm-lg)::before{ display:none !important; }
html body .gm-bulk-sec .bk-rings .bk-ring.sel:not(#gm-lg) circle.bg{ stroke:#6fc3d4 !important; }
html body .gm-bulk-sec .bk-rings .bk-ring.sel:not(#gm-lg) circle.fg{ stroke:#bff0fa !important; filter:none !important; }
html body .gm-bulk-sec .bk-rings .bk-ring.sel:not(#gm-lg) svg{ filter:drop-shadow(0 0 5px rgba(111,195,212,.35)); }
html body .gm-bulk-sec .bk-rings .bk-ring.sel:not(#gm-lg) b{ color:#ffffff !important; font-weight:800 !important; text-shadow:none !important; }
html body .gm-bulk-sec .bk-rings .bk-ring.sel:not(#gm-lg) u{ color:#c3cfdd !important; font-weight:700 !important; }
html body .gm-bulk-sec .bk-strip .bk-chip:is(.win.g, .win.r):not(.eq):not(#gm-lg){ background:#42ba95 !important; border-color:#42ba95 !important; color:#fff !important; box-shadow:none !important; text-shadow:none !important; }
html body .gm-bulk-sec .bk-strip .bk-chip.miss:not(.eq):not(#gm-lg){ background:#df506e !important; border-color:#df506e !important; color:#fff !important; box-shadow:none !important; text-shadow:none !important; }
/* the 🔥 after the scanners floats like the one on the stronger Best Digits pill */
html body .gm-bulk-sec .bk-ctl-l .bk-scan-fire{ flex:none; display:inline-block; font-style:normal; font-size:17px; line-height:1; margin-left:-1px; user-select:none; pointer-events:none;
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.55)); animation:bkFireFloat 2.6s ease-in-out infinite; animation-delay:-1.3s; will-change:transform; }
@media (prefers-reduced-motion:reduce){ html body .gm-bulk-sec .bk-ctl-l .bk-scan-fire{ animation:none; } }
/* the scanners in the photo: a blue fill inside a light teal-blue rim, white words */
html body .gm-bulk-sec .bk-scan:not(#gm-lg){ background:#1e3f68 !important; border-color:#4a8fbe !important; color:#f2f7ff !important; box-shadow:none !important; }
html body .gm-bulk-sec .bk-scan:not(#gm-lg):hover{ background:#24507f !important; border-color:#7ab7e0 !important; }
/* the running scanner reads as running: a lit rim and a soft ring, no pulse (the overrides above had flattened it since v42) */
html body .gm-bulk-sec .bk-scan.is-scanning:not(#gm-lg){ background:#26568a !important; border-color:#9bd6f7 !important; box-shadow:0 0 0 2px rgba(122,183,224,.32) !important; }


/* ══ 17 · v46 — THE EXACT PALETTE (the operator: "the platform color still doesn't match image to perfection"). Every flat surface
   was MEASURED on the reference screenshots — the median of a 5×5 box away from text and edges — and ours set to the value:
     page #161e29 · header bar #1c2630 · tab band #1a2734 · open tab #243d68 · cards, fields, the Transactions panel #1c2630 ·
     open card #1c2c3c · AI SCAN #1f3e65 · Session P/L #202938 · status bar #1d2c41 · Matches/Over #45c79b over #2fc194 ·
     Differs/Under #f15771 over #f14865 · STOP #e54e6a · FAST (on) #336fed · NORMAL (off) #1e2b3c · panel buttons #1a2631 ·
     the » strip #233a5c.
   The card LINE was matched through the pipeline the reference went through (a 1920 render scaled ×0.5625 to 1080 and saved as
   JPEG): ours read ~30% brighter, so the blue lines are dimmer — the same blue at the reference's strength. The page itself was
   NOT flat: html::before still painted the glass era's top light bloom (#202938 under the header fading to #161e29) and
   html::after a film grain — both go; the reference is one flat #161e29. The header is opaque (the reference's bar is solid). ══ */
:root{ --sl-bl:#263c58; --sl-bl-2:#20334c; --sl-bl-hi:#33568a; }
html:root::before, html:root::after{ content:none !important; display:none !important; background:none !important; animation:none !important; }
@media (min-width:601px){
  html body header.aether-header.gh5{
    background:linear-gradient(180deg,
      #1c2630 0, #1c2630 var(--r1),
      #2a3c53 var(--r1), #2a3c53 calc(var(--r1) + 1px),
      #1a2734 calc(var(--r1) + 1px), #1a2734 100%) !important;
    -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  }
  html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link.active,
  html body:not(.gm-bulk-active):not(.gm-at-active) header.aether-header.gh5 .gh-nav > #gh-analyzer.is-here{ background:#243d68 !important; }
}
html body .gm-bulk-sec .bk-scan:not(#gm-lg){ background:#1f3e65 !important; }
html body .gm-bulk-sec .bk-pl:not(#gm-lg){ background:#202938 !important; }
/* the two big sides: the reference's two-tone — a lighter head band over the body, a short soft step between */
html body .gm-bulk-sec .bk-side:not(#gm-lg){ background:linear-gradient(180deg, #45c79b 0%, #45c79b 40%, #2fc194 52%, #2fc194 100%) !important; border-color:#45c79b !important; box-shadow:none !important; }
html body .gm-bulk-sec .bk-side.r:not(#gm-lg){ background:linear-gradient(180deg, #f15771 0%, #f15771 40%, #f14865 52%, #f14865 100%) !important; border-color:#f15771 !important; }
/* the Speed Trader's STOP and its execution speed */
html body .gm-bulk-sec .sp-wrap .sp-start.is-on{ background:#e54e6a !important; box-shadow:none !important; }
html body .gm-bulk-sec .sp-seg{ background:#1e2b3c !important; }
html body .gm-bulk-sec .sp-wrap .sp-seg-b.on, html body .gm-bulk-sec .sp-wrap .sp-seg-b.on:hover{ background:#336fed !important; }
/* the Transactions panel: its tab row is the panel's own slate, its buttons a step darker, the » strip the reference's blue */
html body .gm-bulk-sec .bk-tabs{ background:#1c2630 !important; }
html body .gm-bulk-sec .bk-btn{ background:#1a2631 !important; }
@media (min-width:900px), (orientation:landscape) and (min-width:640px) and (max-height:600px){
  html body .gm-bulk-sec .bk-sheet-close{ background:#233a5c !important; }
  html body .gm-bulk-sec .bk-sheet-close:hover, html body .gm-bulk-sec .bk-sheet-close:focus-visible{ background:#2c4a76 !important; }
}

/* ══ 18 · v46 — THE TRANSACTIONS PANEL SLIDES (the operator: "build sliding animation for the transaction panel extraordinarily").
   OPENING — the panel glides in from the right edge, swinging flat on its right-hand hinge, overshoots by a few pixels and settles;
     its blue » strip catches the light as it lands, a soft sheen sweeps across it once, and its contents follow in order: the
     tabs, Download / View Detail, the column heads, the rows one after another, the totals, Reset.
   CLOSING — the contents let go, the panel slides back out past the edge, and only then is it put away (the « tab returns).
   A phone's bottom sheet rises and settles the same way over a fading veil.
   aether-bulk.js sets .is-opening / .is-closing on #bk-sheet once per open / close — a repaint never replays it. Transform and
   opacity only (one sheen = a background-position sweep on one layer); prefers-reduced-motion = no motion. ══ */
/* the panel travels SOLID — a see-through panel let the desk's words ghost through it mid-swing */
/* v48 — the panel leaves from, and comes back to, the closed strip's place on the screen's edge (§ 19): its own » strip starts
   and ends exactly where the « strip sits while it is shut */
@keyframes bkPanelIn{ 0%{ transform:translateX(calc(100% + var(--bk-sheet-r, 0px) - 3px)) rotateY(0deg); } 14%{ transform:translateX(calc(78% + var(--bk-sheet-r, 0px))) rotateY(-9deg); } 58%{ transform:translateX(-10px) rotateY(.8deg); } 80%{ transform:translateX(3px) rotateY(0deg); } 100%{ transform:none; } }
@keyframes bkPanelOut{ 0%{ transform:none; } 100%{ transform:translateX(calc(100% + var(--bk-sheet-r, 0px) - 3px)); } }
@keyframes bkSheetRise{ 0%{ transform:translateY(100%); } 62%{ transform:translateY(-10px); } 82%{ transform:translateY(3px); } 100%{ transform:none; } }
@keyframes bkSheetDrop{ 0%{ transform:none; } 100%{ transform:translateY(104%); } }
@keyframes bkVeil{ from{ opacity:0; } to{ opacity:1; } }
@keyframes bkItemX{ from{ opacity:0; transform:translateX(30px); } to{ opacity:1; transform:none; } }
@keyframes bkItemY{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
@keyframes bkItemOut{ from{ opacity:1; } to{ opacity:0; } }
@keyframes bkSheen{ from{ background-position:150% 0; } to{ background-position:-70% 0; } }
@keyframes bkStripLight{ 0%{ opacity:0; } 32%{ opacity:.9; } 100%{ opacity:0; } }
/* a phone: the bottom sheet rises over a veil, its contents come up after it */
html body .gm-bulk-sec .bk-sheet .bk-sheet-in{ animation:none !important; }
html body .gm-bulk-sec .bk-sheet.is-opening{ animation:bkVeil .3s ease both; }
html body .gm-bulk-sec .bk-sheet.is-closing{ animation:bkVeil .32s ease reverse both; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in{ animation:bkSheetRise .6s cubic-bezier(.16,1,.3,1) both !important; will-change:transform; }
html body .gm-bulk-sec .bk-sheet.is-closing .bk-sheet-in{ animation:bkSheetDrop .32s cubic-bezier(.55,0,.75,.2) both !important; will-change:transform; }
html body .gm-bulk-sec .bk-sheet.is-opening :is(.bk-tabs, .bk-sheet-body > .bk-tools, .bk-thead, .bk-tbody > .bk-tr, .bk-totals, .bk-reset, .bk-sum-grid, .bk-log, .bk-empty){ animation:bkItemY .42s cubic-bezier(.2,.9,.3,1) both; }
/* the order they arrive in */
/* ⚠ each single-class delay carries .bk-sheet-in: the :is() list above scores (0,2,0) for every element it matches, so a plain
   ".is-opening .bk-tabs" lost the tie and kept the shorthand's 0s */
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-tabs{ animation-delay:.14s; }
html body .gm-bulk-sec .bk-sheet.is-opening :is(.bk-sheet-body > .bk-tools, .bk-sum-grid, .bk-log, .bk-empty){ animation-delay:.2s; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-thead{ animation-delay:.25s; }
/* the rows: one after another — !important while the panel opens, because a row this page has not drawn before wears the p9
   "is-new" fade (!important); rows that land after the panel has opened keep that fade (this window is 1.15s) */
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-tbody > .bk-tr{ animation:bkItemY .42s cubic-bezier(.2,.9,.3,1) both !important; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-tbody > .bk-tr:nth-child(1){ animation-delay:.29s !important; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-tbody > .bk-tr:nth-child(2){ animation-delay:.33s !important; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-tbody > .bk-tr:nth-child(3){ animation-delay:.37s !important; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-tbody > .bk-tr:nth-child(4){ animation-delay:.41s !important; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-tbody > .bk-tr:nth-child(5){ animation-delay:.45s !important; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-tbody > .bk-tr:nth-child(6){ animation-delay:.49s !important; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-tbody > .bk-tr:nth-child(7){ animation-delay:.53s !important; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-tbody > .bk-tr:nth-child(8){ animation-delay:.57s !important; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-tbody > .bk-tr:nth-child(9){ animation-delay:.61s !important; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-tbody > .bk-tr:nth-child(n+10){ animation-delay:.65s !important; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-totals{ animation-delay:.62s; }
html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-reset{ animation-delay:.7s; }
html body .gm-bulk-sec .bk-sheet.is-closing :is(.bk-tabs, .bk-sheet-body, .bk-reset){ animation:bkItemOut .16s ease both; }

/* a horizontal screen: the side panel glides in from the right and swings flat on its hinge; no veil (the desk stays usable) */
@media (min-width:900px), (orientation:landscape) and (min-width:640px) and (max-height:600px){
  html body .gm-bulk-sec .bk-sheet{ perspective:1600px; perspective-origin:100% 50%; }
  html body .gm-bulk-sec .bk-sheet.is-opening, html body .gm-bulk-sec .bk-sheet.is-closing{ animation:none; }
  html body .gm-bulk-sec .bk-sheet .bk-sheet-in{ transform-origin:100% 50%; }
  html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in{ animation:bkPanelIn .62s cubic-bezier(.16,1,.3,1) both !important; will-change:transform, opacity; }
  html body .gm-bulk-sec .bk-sheet.is-closing .bk-sheet-in{ animation:bkPanelOut .34s cubic-bezier(.55,0,.75,.2) both !important; will-change:transform, opacity; }
  html body .gm-bulk-sec .bk-sheet.is-opening :is(.bk-tabs, .bk-sheet-body > .bk-tools, .bk-thead, .bk-tbody > .bk-tr, .bk-totals, .bk-reset, .bk-sum-grid, .bk-log, .bk-empty){ animation-name:bkItemX; }
  html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in .bk-tbody > .bk-tr{ animation-name:bkItemX !important; }
  /* the light as it lands: one soft sheen across the panel (the panel is position:fixed — the layer's box), and a glow running
     down the » strip (position:absolute — its own box); both invisible between opens */
  html body .gm-bulk-sec .bk-sheet-in::after{ content:""; position:absolute; inset:0; z-index:5; pointer-events:none; border-radius:inherit; opacity:0;
    background:linear-gradient(104deg, rgba(160,200,255,0) 38%, rgba(170,208,255,.11) 50%, rgba(160,200,255,0) 62%) no-repeat; background-size:260% 100%; background-position:150% 0; }
  html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-in::after{ opacity:1; animation:bkSheen .95s .34s cubic-bezier(.3,.6,.3,1) both; }
  html body .gm-bulk-sec .bk-sheet-close::after{ content:""; position:absolute; inset:0; pointer-events:none; opacity:0;
    background:linear-gradient(180deg, rgba(147,197,253,0) 0%, rgba(147,197,253,.95) 50%, rgba(147,197,253,0) 100%); }
  html body .gm-bulk-sec .bk-sheet.is-opening .bk-sheet-close::after{ animation:bkStripLight .95s .36s ease-out both; }
}
@media (prefers-reduced-motion:reduce){
  html body .gm-bulk-sec .bk-sheet:is(.is-opening, .is-closing), html body .gm-bulk-sec .bk-sheet:is(.is-opening, .is-closing) *,
  html body .gm-bulk-sec .bk-sheet:is(.is-opening, .is-closing) .bk-sheet-in::after, html body .gm-bulk-sec .bk-sheet:is(.is-opening, .is-closing) .bk-sheet-close::after{ animation:none !important; }
}

/* ══ 19 · v48 — THE TRANSACTIONS PANEL OPERATES LIKE THE OPERATOR'S VIDEO (read frame by frame at 30 fps and measured):
   • a trade lands → the list makes room at once (the rows step down a slot in one frame) and the new row GLIDES IN from the
     panel's right edge — the whole row as one piece, fading up as it comes, decelerating into place in ~0.3s (aether-bulk marks
     only a row the open list receives: .bk-in);
   • while the trade is open the row carries soft blurred bars where the entry spot, the exit spot and the P/L will be, a light
     running through them left to right about once a second — the stake shows from the start;
   • the result lands in one go: both spots and the P/L at once — no count-up, no colour flash on the row.
   The panel itself, measured on the video: a slate card that FLOATS — inset from the screen's right and bottom edges — with the
   blue » strip down its left side (a lighter outer edge, a dark inner line); no rules between rows; the figures in a regular
   weight, the labels bold. Shut, only its strip stays on the screen's right edge with « in the middle, and opening slides the
   panel out from under that strip (closing slides it back to it), so the handle never jumps. ══ */
@keyframes bkRowGlide{ from{ transform:translateX(100%); opacity:0; } 55%{ opacity:.88; } to{ transform:none; opacity:1; } }
@keyframes bkSetNow{ from{ opacity:0; } to{ opacity:1; } }
html body .gm-bulk-sec .bk-sheet-body > .bk-tbody{ overflow-x:clip; }   /* the gliding row is cut at the panel's edge, as in the video — never a scrollbar */
html body .gm-bulk-sec .bk-sheet:not(.is-opening) .bk-tbody > .bk-tr.bk-in:not(#gm-lg){ animation:bkRowGlide .34s cubic-bezier(.2,.78,.24,1) var(--bk-in-at, 40ms) both !important; }
html body .gm-bulk-sec .bk-tbody > .bk-tr:not(#gm-lg){ border-bottom-color:transparent; }
/* the open trade's placeholders: soft blurred bars with a light running through them */
html body .gm-bulk-sec .bk-tr .bk-skel:not(#gm-lg){ width:76px; height:10px; border-radius:6px; background:rgba(66,104,170,.42); filter:blur(1.4px); }
html body .gm-bulk-sec .bk-tr .bk-td.pl .bk-skel:not(#gm-lg){ width:66px; }
/* ⚠ the spot's dot rule (".bk-td.spot i" — 13px, a 2px ring, round) caught the placeholder too and drew it as a small circle */
html body .gm-bulk-sec .bk-td.spot:not(#gm-lg) i.bk-skel{ flex:none; width:76px; height:10px; border:0; border-radius:6px; box-shadow:none; }
html body .gm-bulk-sec .bk-tr .bk-skel:not(#gm-lg)::after{ background:linear-gradient(90deg, rgba(140,180,250,0) 0%, rgba(155,195,255,.8) 50%, rgba(140,180,250,0) 100%); animation:bkSkel 1.05s cubic-bezier(.45,.05,.55,.95) infinite; }
/* Type (the operator: "add the same arrows and candle … for type"): the MARKET as a little candle chart — teal candles under a
   white label box, a 1s index with a rose corner box — then the CONTRACT as a red arrow: Over ↗ above a light bar, Under ↘ below
   one (aether-bulk ctIcon / mkIcon draw them; every contract icon is red, as in the photos) */
html body .gm-bulk-sec .bk-tr .bk-td.type:not(#gm-lg){ gap:9px; }
html body .gm-bulk-sec .bk-tr .bk-mki:not(#gm-lg){ width:22px; height:22px; color:#2bbfa9; }
html body .gm-bulk-sec .bk-tr .bk-mki:is(.down, .jump):not(#gm-lg){ color:#f03a52; }
html body .gm-bulk-sec .bk-tr .bk-mki:not(#gm-lg) svg{ width:21px; height:21px; }
html body .gm-bulk-sec .bk-tr .bk-mki svg .bk-i-lb{ fill:#e9eef5; }
html body .gm-bulk-sec .bk-tr .bk-mki svg .bk-i-1s{ fill:#f0506a; }
html body .gm-bulk-sec .bk-tr :is(.bk-ct, .bk-ct.r):not(#gm-lg){ width:22px; height:22px; color:#f03a52; }
html body .gm-bulk-sec .bk-tr .bk-ct:not(#gm-lg) svg{ width:21px; height:21px; }
html body .gm-bulk-sec .bk-tr .bk-ct svg .bk-i-tile{ fill:#f03a52; }
html body .gm-bulk-sec .bk-tr .bk-ct svg .bk-i-gl{ stroke:#fff3f5; }
html body .gm-bulk-sec .bk-tr .bk-ct svg .bk-i-gl circle{ fill:#fff3f5; stroke:none; }
html body .gm-bulk-sec .bk-tr .bk-ct svg .bk-i-bar{ fill:none; stroke:#d3dae3; stroke-width:2.2; stroke-linecap:round; }
/* the result: everything at once */
html body .gm-bulk-sec .bk-tr.just-set:not(#gm-lg) :is(.bk-td.spot span, .bk-td.pl > span){ animation:bkSetNow .2s ease-out both !important; }
/* the reference's type: regular-weight figures, bold labels */
html body .gm-bulk-sec .bk-td.spot:not(#gm-lg) > div{ font-weight:500; color:#d4dbe5; }
html body .gm-bulk-sec .bk-td.pl:not(#gm-lg) > b{ font-weight:500; color:#e2e8f0; }
html body .gm-bulk-sec .bk-td.pl:not(#gm-lg) > span{ font-weight:600; }
html body .gm-bulk-sec .bk-td.pl:not(#gm-lg) > span.pos{ color:#3ccf8e; }
html body .gm-bulk-sec .bk-td.pl:not(#gm-lg) > span.neg{ color:#f0566e; }
html body .gm-bulk-sec .bk-tab:not(#gm-lg){ font-weight:500; color:#b6c1ce; }
html body .gm-bulk-sec .bk-tab.on:not(#gm-lg){ font-weight:700; color:#ffffff; }
html body .gm-bulk-sec .bk-tab.on:not(#gm-lg)::after{ height:2px; left:18%; right:18%; background:#e2506b; }
html body .gm-bulk-sec .bk-thead:not(#gm-lg){ font-weight:700; color:#c9d2dd; border-bottom-color:transparent; }
html body .gm-bulk-sec .bk-totals:not(#gm-lg) u{ font-weight:700; color:#e4e9f0; }
html body .gm-bulk-sec .bk-totals:not(#gm-lg) b{ font-weight:500; color:#b9c3cf; }
html body .gm-bulk-sec .bk-totals:not(#gm-lg) b.pos{ font-weight:700; color:#3ccf8e; }
html body .gm-bulk-sec .bk-totals:not(#gm-lg) b.neg{ font-weight:700; color:#f0566e; }
html body .gm-bulk-sec .bk-sheet-body:has(> .bk-tbody) > .bk-totals:not(#gm-lg){ border-top-color:transparent !important; }
/* Download · View Detail · Reset: a step darker than the panel, a quiet rim, a lit top edge */
html body .gm-bulk-sec .bk-sheet-body > .bk-tools .bk-btn:not(#gm-lg){ background:#1a2733 !important; border:1px solid #2a3747 !important; color:#f2f5f9 !important; font-weight:700; border-radius:5px; box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important; }
html body .gm-bulk-sec .bk-sheet-body > .bk-tools .bk-btn.on:not(#gm-lg){ background:#1d2c41 !important; border-color:#4f7fc2 !important; }
html body .gm-bulk-sec .bk-sheet-body > .bk-tools .bk-btn:not(#gm-lg):hover{ border-color:#4c627f !important; }
html body .gm-bulk-sec .bk-sheet-in .bk-reset:not(#gm-lg){ background:#1b2530 !important; border:1px solid #2b3948 !important; color:#f2f5f9 !important; border-radius:6px; box-shadow:inset 0 1px 0 rgba(255,255,255,.035) !important; }
html body .gm-bulk-sec .bk-sheet-in .bk-reset:not(#gm-lg):hover{ border-color:#4c627f !important; }
@media (min-width:900px), (orientation:landscape) and (min-width:640px) and (max-height:600px){
  :root{ --bk-sheet-w:clamp(330px, 20.7vw, 410px); --bk-sheet-r:clamp(8px, 1.25vw, 26px); --bk-sheet-b:clamp(10px, 4.5vh, 50px); --bk-strip:20px; }
  html body .gm-bulk-sec .bk-sheet-in{ right:var(--bk-sheet-r) !important; bottom:var(--bk-sheet-b) !important; border:0 !important; border-radius:0 !important;
    box-shadow:1px 0 0 #141d27, 0 1px 0 #141d27, 0 26px 50px -30px rgba(0,0,0,.9) !important; }
  /* » — the reference's strip: blue, a lighter outer edge, a dark line where it meets the panel */
  html body .gm-bulk-sec .bk-sheet-close{ left:calc(-1 * var(--bk-strip)) !important; width:var(--bk-strip) !important; background:#243858 !important;
    box-shadow:inset 2px 0 0 #2c3a4d, inset -1px 0 0 #13253f !important; color:#cdd9ea !important; }
  html body .gm-bulk-sec .bk-sheet-close::before{ content:"\00bb" !important; display:block; width:auto !important; height:auto !important; border:0 !important; border-radius:0 !important; transform:none !important; font:700 16px/1 var(--font-body, inherit) !important; }
  html body .gm-bulk-sec .bk-sheet-close:hover, html body .gm-bulk-sec .bk-sheet-close:focus-visible{ background:#2c4a76 !important; color:#fff !important; }
  /* shut: the strip alone on the screen's right edge, « in the middle (68.jpg) — exactly where the open panel's strip comes to rest when it slides away */
  html body:not(.gm-bulk-drawer) .gm-bulk-sec .bk-sidetab{ top:var(--gh-h, 104px) !important; bottom:var(--bk-sheet-b) !important; right:3px !important; transform:none !important;
    width:var(--bk-strip) !important; height:auto !important; min-height:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important;
    background:#243858 !important; box-shadow:inset 2px 0 0 #2c3a4d, inset -1px 0 0 #13253f !important; color:#cdd9ea; animation:none !important; }
  html body .gm-bulk-sec .bk-sidetab svg{ display:none !important; }
  html body .gm-bulk-sec .bk-sidetab::before{ content:"\00ab"; font:700 16px/1 var(--font-body, inherit); }
  html body .gm-bulk-sec .bk-sidetab:hover, html body .gm-bulk-sec .bk-sidetab:focus-visible{ background:#2c4a76 !important; color:#fff; }
  /* the AI orb keeps clear of the inset panel and its strip */
  html body.gm-bulk-drawer .gm-bulk-sec .bk-fab:not([style*="left"]){ right:calc(var(--bk-sheet-w) + var(--bk-sheet-r) + var(--bk-strip) + 16px); }
}
/* the reference's sizes — on a screen tall enough for them (a short one keeps the p11/p12 compact panel, so its list keeps room) */
@media (min-width:900px) and (min-height:621px){
  html body .gm-bulk-sec .bk-tab{ height:44px; font-size:15px; }
  html body .gm-bulk-sec .bk-sheet-body > .bk-tools .bk-btn{ height:38px; padding:0 18px; font-size:14px; }
  html body .gm-bulk-sec .bk-thead{ font-size:13px; }
  html body .gm-bulk-sec .bk-td.spot:not(#gm-lg) > div, html body .gm-bulk-sec .bk-td.pl:not(#gm-lg) > :is(b, span){ font-size:14.5px; }
  html body .gm-bulk-sec .bk-totals:not(#gm-lg) :is(u, b){ font-size:13.5px; }
  html body .gm-bulk-sec .bk-sheet-in .bk-reset{ height:38px; font-size:14px; }
}
@media (prefers-reduced-motion:reduce){
  html body .gm-bulk-sec .bk-sheet .bk-tbody > .bk-tr.bk-in:not(#gm-lg), html body .gm-bulk-sec .bk-tr.just-set:not(#gm-lg) :is(.bk-td.spot span, .bk-td.pl > span),
  html body .gm-bulk-sec .bk-tr .bk-skel:not(#gm-lg)::after{ animation:none !important; }
}

/* ══ 20 · v48 — THE POLISH (the operator: "it doesn't have that glossy polish look to it"). Measured on the video and both
   screenshots, the reference's flat surfaces are ours already (page, bar, cards, panel — within 1–3 levels). Its light lives in
   three places ours had none of:
   • THE TAB BAND is not flat: it runs from a deep blue at the left (#243a5e) to the page's slate at the right (#171f2a) — a blue
     sheen under the section names — over a light line and a dark line; the names are larger and bolder on a wide screen;
   • every card, field and button has a lit top edge and a darker foot, and the cards rest on a soft shadow;
   • the buttons are glossy — a lighter top over the colour (the two big sides, AI SCAN, START / STOP, the execution speed). ══ */
@media (min-width:601px){
  html body header.aether-header.gh5{
    background:
      linear-gradient(180deg, #1c2630 0, #1c2630 var(--r1), #2a3c53 var(--r1), #2a3c53 calc(var(--r1) + 1px), transparent calc(var(--r1) + 1px)),
      linear-gradient(90deg, #243a5e 0%, #22354f 18%, #21314a 34%, #1e2e42 48%, #1d2c3c 58%, #1b2736 72%, #19212f 88%, #171f2a 100%) !important;
    border-bottom:1px solid #3a4e64 !important;
    box-shadow:0 1px 0 #0f2133 !important;
  }
}
@media (min-width:1280px){
  :root{ --sl-row2:52px; --sl-tfs:15px; --sl-tic:17px; }
  html body header.aether-header.gh5 .gh-nav > :is(a, button).gh-link{ font-weight:700 !important; color:#e8edf4 !important; }
}
/* the card material: the measured slate, lit from above */
:root{
  --lg-body:linear-gradient(180deg, rgba(255,255,255,.026) 0, rgba(255,255,255,0) 60px), #1c2630;
  --lg-light:inset 0 1px 0 rgba(255,255,255,.055), inset 0 -1px 0 rgba(0,0,0,.18);
  --lg-drop:0 1px 0 rgba(0,0,0,.28), 0 14px 26px -20px rgba(0,0,0,.8);
  --lg-sub-light:inset 0 1px 0 rgba(255,255,255,.045), inset 0 -1px 0 rgba(0,0,0,.14);
}
html body .gm-bulk-sec :is(.bk-match, .sp-stat, .ss-head, .ss-bar, .sp-opt):not(#gm-lg),
html body .gm-at-sec :is(.dv-card, .dv-panel, .dv-mkt, .dv-price, .dv-types, .dv-sides):not(#gm-lg){ box-shadow:var(--lg-light), var(--lg-drop) !important; }
html body .gm-bulk-sec :is(#sp-card.sp-card, .sp-opt:has(.sp-sw.on)):not(#gm-lg){
  background:linear-gradient(180deg, rgba(255,255,255,.03) 0, rgba(255,255,255,0) 60px), var(--sl-card-hi) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), inset 0 -1px 0 rgba(0,0,0,.18), 0 14px 26px -20px rgba(0,0,0,.8) !important;
}
/* fields and bars: a lit top edge, a darker foot (the focus ring keeps its own glow) */
html body .gm-bulk-sec :is(.bk-sel, input#bk-hist, .bk-inputs input):not(#gm-lg):not(:focus-within){ border-top-color:#30465f !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.04), inset 0 -1px 0 rgba(0,0,0,.2) !important; }
html body .gm-bulk-sec :is(.bk-msg-in, .bk-reinv, .bk-pl):not(#gm-lg){ box-shadow:inset 0 1px 0 rgba(255,255,255,.045), inset 0 -1px 0 rgba(0,0,0,.18) !important; }
/* the glossy buttons */
html body .gm-bulk-sec .bk-side:not(#gm-lg){ box-shadow:inset 0 1px 0 rgba(255,255,255,.3), inset 0 -1px 0 rgba(255,255,255,.14), 0 12px 24px -16px rgba(47,193,148,.75) !important; }
html body .gm-bulk-sec .bk-side.r:not(#gm-lg){ box-shadow:inset 0 1px 0 rgba(255,255,255,.3), inset 0 -1px 0 rgba(255,255,255,.14), 0 12px 24px -16px rgba(241,72,101,.75) !important; }
html body .gm-bulk-sec .bk-side.dim:not(#gm-lg){ box-shadow:inset 0 1px 0 rgba(255,255,255,.18) !important; }
html body .gm-bulk-sec .bk-scan:not(.is-scanning):not(#gm-lg){ background:linear-gradient(180deg, #25497a 0%, #213f69 52%, #1d3a60 100%) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.12), inset 0 -1px 0 rgba(0,0,0,.24), 0 6px 14px -10px rgba(40,100,190,.85) !important; }
html body .gm-bulk-sec .bk-scan:not(.is-scanning):not(#gm-lg):hover{ background:linear-gradient(180deg, #2c5789 0%, #26507f 52%, #214773 100%) !important; }
html body .gm-bulk-sec .sp-wrap .sp-start:not(#gm-lg){ box-shadow:inset 0 1px 0 rgba(255,255,255,.26), inset 0 -2px 0 rgba(0,0,0,.14), 0 10px 22px -14px rgba(51,111,237,.85) !important; }
html body .gm-bulk-sec .sp-wrap .sp-start.is-on:not(#gm-lg){ background:linear-gradient(180deg, #f45b76 0%, #ef4a66 52%, #e5435f 100%) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.26), inset 0 -2px 0 rgba(0,0,0,.16), 0 10px 22px -14px rgba(240,73,101,.85) !important; }
html body .gm-bulk-sec .sp-wrap .sp-seg-b.on:not(#gm-lg), html body .gm-bulk-sec .sp-wrap .sp-seg-b.on:not(#gm-lg):hover{ background:linear-gradient(180deg, #3f7af1 0%, #376edf 55%, #3268d8 100%) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.16) !important; }

/* ══ 21 · v48 — THE LAST OFF-PALETTE PIECES to the reference's blues (a sweep of every section for purple, indigo and
   green-glass surfaces found these): the How-to-Use buttons — an indigo pill on the desks, a blue→violet one on the Analyzer,
   a different tint on every strategy row; G Mind's selected trade type (indigo), the teal glow behind its title and its
   near-black fields; the Trading Strategies board's green light, green title and coloured row washes. The tinted desk panels
   (G Digit's AUTO TRADE and its trade buttons, the Hybrid autos) keep their colours — they come from their own photos. ══ */
html body [class][class][class].gm-howto-pill:not(#gm-lg),
html body #view-console .gm-dash-card .gm-dash-howto:not(#gm-lg),
html body #view-console .orb-gallery.tts-board .tts-howto:not(#gm-lg){
  background:linear-gradient(180deg, #25497a 0%, #1f3e65 55%, #1d3a60 100%) !important; border:1px solid #4a8fbe !important; color:#f2f7ff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), inset 0 -1px 0 rgba(0,0,0,.22) !important; text-shadow:none !important;
}
html body [class][class][class].gm-howto-pill:not(#gm-lg):hover,
html body #view-console .gm-dash-card .gm-dash-howto:not(#gm-lg):hover,
html body #view-console .orb-gallery.tts-board .tts-howto:not(#gm-lg):hover{ background:linear-gradient(180deg, #2c5789 0%, #24507f 55%, #20466f 100%) !important; border-color:#7ab7e0 !important; }
html body #view-console .gm-dash-card .gm-dash-howto:not(#gm-lg){ border-radius:8px; }
/* the Trading Strategies board: slate rows, a white title, a blue tile; an ON row takes the reference's open-card blue line */
html body #view-console .orb-gallery.tts-board:not(#gm-dp):not(#gm-lg)::after{ background:none !important; background-image:none !important; box-shadow:none !important; opacity:0 !important; }   /* v54 — ::before is the live colour layer (§ 36) */
html body #view-console .orb-gallery.tts-board > .section-head h2:not(#gm-lg){ color:#eef3fa !important; }
html body #view-console .orb-gallery.tts-board .tts-board-ic:not(#gm-lg){ color:#8fc1ff; background:#1f3e65; border-color:#4a8fbe; }
html body #view-console .orb-gallery .orb-cell.tts:not(#gm-lg) > i.tts-field{ display:none !important; }
html body #view-console .orb-gallery.tts-board .orbs .orb-cell.tts[data-on="1"]:not(#gm-dp):not(#gm-lg){ border-color:var(--sl-bl-hi) !important; }
/* G Mind: the selected trade type = the reference's solid execution-speed blue; no glow behind the title; the reference's fields */
html body .gm-at-sec .atv.dv .dv-type.is-on:not(#gm-lg){ background:linear-gradient(180deg, #3f7af1 0%, #376edf 55%, #3268d8 100%) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 10px 22px -14px rgba(51,111,237,.85) !important; }
html body .gm-at-sec .atv.dv:not(#gm-lg)::before{ background:none !important; opacity:0 !important; }
html body .gm-at-sec .atv.dv :is(label.dv-f:not(.dv-f-amb), .dv-tog:not(.on), .dv-chips):not(#gm-lg){ background:#161e29 !important; border-color:#263c58 !important; }
html body .gm-at-sec .atv.dv label.dv-f.dv-f-amb:not(#gm-lg){ background:#161e29 !important; }
html body .gm-at-sec .atv.dv :is(.dv-refbtn, .atk-risk, .dv-best):not(#gm-lg){ background:#161e29 !important; }   /* "OFF — no trade limit" keeps its amber accent; the two info boxes take the blue line */
html body .gm-at-sec .atv.dv :is(.atk-risk, .dv-best):not(#gm-lg){ border-color:#263c58 !important; }

/* ══ 22 · v49 — MATCHES IS BLUE, DIFFERS IS GREEN (the operator: "the matches button should be blue because it [is] the selected
   digit and the differ button the color of the matches"). Matches/Differs' sides carry tone "b" and "g" (aether-bulk TYPES): the
   Matches button wears the blue digit's blue as the same two-tone gloss as the other sides — a lighter head band over the
   execution-speed blue — and Differs the green Matches used to wear. The live digit stream speaks the same two colours: the blue
   digit landing = blue, any other digit = green, whichever side is chosen (paintStrip). ══ */
html body .gm-bulk-sec .bk-side.b:not(#gm-lg){ --c:#336fed;
  background:linear-gradient(180deg, #4f86f2 0%, #4f86f2 40%, #336fed 52%, #336fed 100%) !important; border-color:#4f86f2 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3), inset 0 -1px 0 rgba(255,255,255,.14), 0 12px 24px -16px rgba(51,111,237,.8) !important; }
html body .gm-bulk-sec .bk-side.b.dim:not(#gm-lg){ box-shadow:inset 0 1px 0 rgba(255,255,255,.18) !important; }
/* the stream before its first live digit: one small neutral chip in the middle, not a red bar the width of the row */
html body .gm-bulk-sec .bk-strip.is-empty:not(#gm-lg){ display:flex; justify-content:center; }
/* v49 — the live digit stream in the BUTTONS' colours (paintStrip): an Over / Even tick blue, an Under / Odd tick rose, a Differs
   digit green, the blue digit its own blue chip, and "=" the dark chip of the operator's photos (it was amber) */
html body .gm-bulk-sec .bk-strip .bk-chip.t-b:not(#gm-lg){ background:#4a82ee !important; border-color:#4a82ee !important; color:#fff !important; box-shadow:none !important; text-shadow:none !important; }
html body .gm-bulk-sec .bk-strip .bk-chip.t-g:not(#gm-lg){ background:#42ba95 !important; border-color:#42ba95 !important; color:#fff !important; box-shadow:none !important; text-shadow:none !important; }
html body .gm-bulk-sec .bk-strip .bk-chip.t-r:not(#gm-lg){ background:#df506e !important; border-color:#df506e !important; color:#fff !important; box-shadow:none !important; text-shadow:none !important; }
html body .gm-bulk-sec .bk-strip .bk-chip.eq:not(#gm-lg){ background:#22304a !important; border-color:#2e4166 !important; color:#dfe7f2 !important; box-shadow:none !important; text-shadow:none !important; }
/* v49 — the operator: "update the gold equal sign color to match the live digit stream". The "=" chip that ends "the digits that settle
   it" row (the barrier on Over/Under, the blue digit on Matches, the other parity on Even/Odd — level or not) is the stream's dark navy
   "=" now: one "=" colour on the whole desk */
html body .gm-bulk-sec .bk-mchip.is-eq:not(#gm-lg){ background:#22304a !important; border-color:#2e4166 !important; box-shadow:none !important; }
html body .gm-bulk-sec .bk-mchip.is-eq:not(#gm-lg) > b{ color:#dfe7f2 !important; text-shadow:none !important; }

/* ══ 23 · v50 — THE AI SCAN CARDS, MEASURED OFF THE OPERATOR'S PHOTOS 73 · 74 (a 1920 screen at ×0.5625: sizes = photo px ÷ .5625).
   RUNNING (73), under the scan buttons: an 87px violet → navy band (#28264d → #222643 → #20263f → #1c2536), a 58px clock — a thin ring,
   bright lavender from 6 to 8 o'clock, violet on to 11:30, a dim track the rest, and two white hands that sweep — and ONE 14px line:
   "V3 AI Scanner is checking the selected market". Every scan button dims while it runs (73: #1b3152), the running ones included.
   RESULT (74), its own card UNDER THE DIGIT SELECTORS (#bk-v2r, aether-bulk scanCardSet): a 62px band (#222542 → #1f243b → #1c2437),
   "V3 AI SCANNER" in 10.5px lavender caps, "Volatility 25 (1s) Index — Over 2" in 14px white, one 12.5px line under them; it stays
   until the next scan or a new trade type. The top card's own end states (cancelled · no trade) take the result card's look. ══ */
html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.bk-v2.bk-v2:not([hidden]):not(#gm-lg){
  display:grid !important; grid-template-columns:auto minmax(0,1fr) !important; align-items:center !important; column-gap:27px !important; row-gap:3px !important;
  box-sizing:border-box; min-height:87px; margin-top:-1px !important; padding:13px 18px 13px 14px !important; border-radius:7px !important; text-align:left !important; color:#ecebfa;
  background:linear-gradient(90deg, #29264e 0%, #28264d 5%, #272646 18%, #222643 37%, #212740 56%, #20263f 75%, #1d2638 94%, #1c2536 100%) !important;
  border:1px solid #565b7e !important; box-shadow:none !important; }
html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2 > :is(.bk-v2-line, .bk-v2-list, .bk-v2-set, .bk-v2-acts):not(#gm-lg){ display:none !important; }
/* running: the clock and the one line */
html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.is-running > .bk-v2-clock:not(#gm-lg){ display:block !important; position:relative; grid-column:1; grid-row:1; width:58px !important; height:58px !important; margin:0 !important; }
html body .gm-bulk-sec #bk-v2.is-running > .bk-v2-clock::before{ content:""; position:absolute; inset:0; border-radius:50%; pointer-events:none;
  background:conic-gradient(from 0deg, #67658c 0deg, #69678f 166deg, #bdb4df 178deg, #beb8e6 226deg, #b5ade9 250deg, #897fc4 268deg, #827db7 336deg, #66648b 352deg, #67658c 360deg);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3.6px), #000 calc(100% - 3px)); mask:radial-gradient(farthest-side, transparent calc(100% - 3.6px), #000 calc(100% - 3px)); }
html body .gm-bulk-sec #bk-v2.is-running > .bk-v2-clock svg{ position:absolute; inset:0; width:100% !important; height:100% !important; animation:none !important; overflow:visible; }
html body .gm-bulk-sec #bk-v2 :is(.bk-v2-track, .bk-v2-arc, .bk-v2-pin, .bk-v2-tick-ok){ display:none !important; }
html body .gm-bulk-sec #bk-v2:not(.is-running) .bk-v2-hands{ display:none !important; }
html body .gm-bulk-sec #bk-v2.is-running .bk-v2-hands{ display:inline !important; }
html body .gm-bulk-sec #bk-v2.is-running .bk-v2-hands line{ stroke:#ece9ff !important; stroke-width:7.2 !important; stroke-linecap:round !important; opacity:1 !important; transform-box:view-box; transform-origin:50% 50%; }
html body .gm-bulk-sec #bk-v2.is-running .bk-v2-mh{ animation:bkHandM 1.6s linear infinite !important; }
html body .gm-bulk-sec #bk-v2.is-running .bk-v2-hh{ animation:bkHandH 19.2s linear infinite !important; }
@keyframes bkHandM{ from{ transform:rotate(196deg); } to{ transform:rotate(556deg); } }
@keyframes bkHandH{ from{ transform:rotate(270deg); } to{ transform:rotate(630deg); } }
html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.is-running > .bk-v2-say:not(#gm-lg){ display:block !important; grid-column:2; grid-row:1; margin:0 !important; width:auto;
  font:700 14.5px/1.35 var(--font-body, inherit) !important; letter-spacing:0 !important; color:#d9d7f0 !important; text-align:left !important; text-shadow:none !important;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.is-running > :is(.bk-v2-eyebrow, .bk-v2-title, .bk-v2-sub):not(#gm-lg){ display:none !important; }
/* the top card's end states (cancelled · no trade) and the result card share one look */
html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.bk-v2.bk-v2.is-done:not([hidden]):not(#gm-lg){ min-height:0; padding:10px 14px 11px !important; column-gap:12px !important; row-gap:4px !important; align-items:baseline !important;
  background:linear-gradient(90deg, #232543 0%, #20243d 42%, #1f243b 56%, #1c2438 73%, #1b2336 100%) !important; border-color:#565b7e !important; }
html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.is-done > :is(.bk-v2-clock, .bk-v2-say):not(#gm-lg){ display:none !important; }
html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.is-done > .bk-v2-eyebrow:not(#gm-lg){ display:block !important; grid-column:1; grid-row:1; }
html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.is-done > .bk-v2-title:not(#gm-lg){ display:block !important; grid-column:2; grid-row:1; }
html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.is-done > .bk-v2-sub:not(#gm-lg){ display:block !important; grid-column:1 / -1; grid-row:2; margin:0 !important; }
html body .gm-bulk-sec #bk-v2r.bk-v2r:not([hidden]):not(#gm-lg){ display:block !important; box-sizing:border-box; margin:-10px 0 6px !important; padding:9px 14px 10px !important; border-radius:7px !important; text-align:left;
  background:linear-gradient(90deg, #232543 0%, #20243d 42%, #1f243b 56%, #1c2438 73%, #1b2336 100%) !important; border:1px solid #565b7e !important; box-shadow:none !important; }
html body .gm-bulk-sec #bk-v2r .bk-v2r-h:not(#gm-lg){ display:flex; flex-wrap:wrap; align-items:baseline; column-gap:12px; row-gap:2px; margin:0; }
html body .gm-bulk-sec :is(#bk-v2r .bk-v2r-eye, #bk-v2.is-done > .bk-v2-eyebrow):not(#gm-lg){ font:800 10.5px/1.3 var(--font-body, inherit) !important; letter-spacing:.14em !important; text-transform:uppercase; color:#a9a7cf !important; white-space:nowrap; }
html body .gm-bulk-sec :is(#bk-v2r .bk-v2r-t, #bk-v2.is-done > .bk-v2-title):not(#gm-lg){ font:700 14px/1.35 var(--font-body, inherit) !important; letter-spacing:0 !important; color:#d5d6eb !important; }
html body .gm-bulk-sec :is(#bk-v2r .bk-v2r-sub, #bk-v2.is-done > .bk-v2-sub):not(#gm-lg){ font:500 12.5px/1.4 var(--font-body, inherit) !important; letter-spacing:0 !important; color:#9ea4bc !important; }
html body .gm-bulk-sec #bk-v2r .bk-v2r-sub:not(#gm-lg){ margin:4px 0 0 !important; }
/* the scan buttons of 74: a flat #1d3a5b with a light steel-blue outline and soft white caps (measured like-with-like) … */
html body .gm-bulk-sec .bk-ctl-l .bk-scan:not(.is-dim):not(.is-scanning):not(#gm-lg){ background:#1d3a5b !important; border-color:#a9c4de !important; color:#d5e4f8 !important; box-shadow:none !important; text-shadow:none !important; }
html body .gm-bulk-sec .bk-ctl-l .bk-scan:not(.is-dim):not(.is-scanning):not(#gm-lg):hover{ background:#234670 !important; border-color:#93b4d4 !important; }
/* … and every one of them dims while a scan runs (73), the running ones too — they read "V3 WATCHING" */
html body .gm-bulk-sec .bk-ctl-l .bk-scan:is(.is-dim, .is-scanning):not(#gm-lg),
html body .gm-bulk-sec .bk-ctl-l .bk-scan:is(.is-dim, .is-scanning):not(#gm-lg):hover{ background:#1e3048 !important; border-color:#5f7c99 !important; color:#8796ab !important; box-shadow:none !important; text-shadow:none !important; opacity:1 !important; filter:none !important; }
html body .gm-bulk-sec .bk-ctl-l .bk-scan:disabled:not(#gm-lg){ opacity:1 !important; cursor:default; }
@media (min-width:601px){ html body .gm-bulk-sec .bk-ctl-l .bk-scan:not(#gm-lg){ height:38px !important; min-height:0 !important; padding:0 15px !important; font-size:11.5px !important; letter-spacing:.11em !important; } }
@media (max-width:600px){
  html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.bk-v2.bk-v2:not([hidden]):not(#gm-lg){ min-height:64px; column-gap:14px; padding:10px 12px !important; }
  html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.is-running > .bk-v2-clock:not(#gm-lg){ width:42px !important; height:42px !important; }
  html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.is-running > .bk-v2-say:not(#gm-lg){ white-space:normal; font-size:12.5px !important; }
  html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.is-done > .bk-v2-title:not(#gm-lg){ grid-column:1 / -1; grid-row:2; }
  html body .gm-bulk-sec #bk-v2.bk-v2.bk-v2.bk-v2.is-done > .bk-v2-sub:not(#gm-lg){ grid-row:3; }
  html body .gm-bulk-sec #bk-v2r.bk-v2r:not([hidden]):not(#gm-lg){ margin:12px 0 !important; padding:10px 12px 11px !important; }
}
@media (prefers-reduced-motion:reduce){ html body .gm-bulk-sec #bk-v2.is-running :is(.bk-v2-mh, .bk-v2-hh){ animation:none !important; } }

/* ══ 25 · v50 — THE DIGIT SELECTORS AT THE PHOTO'S SIZE (the user: "the digit rings appear smaller than in the photo fix it").
   Measured off 73 · 74 (a 1920 screen ×0.5625): a ring 78px across (an 86px box — the circle is r 15.5 of 36), a thin 3.7px line,
   the digit 21px (Rajdhani: its glyph stands as tall as the photo's), its share 13px just under it, the two
   centred together in the ring; the selected ring is drawn 9% larger with a heavier cyan line. Phones keep their own
   compact rings (§ 2). The font sizes ease down with the desk below 1160px so a narrower ring still holds "10.00%". ══ */
@media (min-width:900px){
  html body .gm-bulk-sec .bk-rings .bk-ring:not(#gm-lg){ max-width:86px !important; align-content:center !important; row-gap:0 !important; }
  html body .gm-bulk-sec .bk-rings .bk-ring:not(#gm-lg) circle{ stroke-width:1.55 !important; }
  html body .gm-bulk-sec .bk-rings .bk-ring:not(#gm-lg) b{ font-size:clamp(17px, 1.8vw, 21px) !important; line-height:1 !important; }
  html body .gm-bulk-sec .bk-rings .bk-ring:not(#gm-lg) u{ font-size:clamp(10px, 1.12vw, 13px) !important; line-height:1.1 !important; margin-top:3px !important; }
  html body .gm-bulk-sec .bk-rings .bk-ring.sel:not(#gm-lg) svg{ transform:scale(1.09); }
  html body .gm-bulk-sec .bk-rings .bk-ring.sel:not(#gm-lg) circle{ stroke-width:1.75 !important; }
}

/* ══ 26 · v51 — THE DESK INTRO in the platform's slate (the operator: "retheme the blue overlay when switching …"). A desk-only plan's
   title sequence after sign-in (aether.css .gmi) played on a deep-navy "space" field — a blue overlay between the sign-in and the
   desk. Same rings, lights and letters; the slate ground, the desks' blue and cyan (G Mind: indigo and green). ══ */
html body .gmi{ background:radial-gradient(140% 100% at 50% 42%, #1f2a38 0%, #172030 52%, #121924 100%) !important; color:#e8eef7;
  --gmi-a:#4f86f2; --gmi-b:#3fc6de; --gmi-c:#9cc0ff; --gmi-ga:rgba(79,134,242,.11); --gmi-gb:rgba(63,198,222,.07); }
html body .gmi[data-desk="gmind"]{ background:radial-gradient(140% 100% at 50% 42%, #1f2a38 0%, #172030 52%, #121924 100%) !important;
  --gmi-a:#6f7ff2; --gmi-b:#2fc195; --gmi-c:#b4c0ff; --gmi-ga:rgba(111,127,242,.11); --gmi-gb:rgba(47,193,149,.07); }

/* ══ 24 · v49 — THE TRANSACTIONS PANEL: a row lights under the mouse, as in the operator's photo (74.jpg: #233858 on #1d2530) ══ */
html body .gm-bulk-sec .bk-tbody > .bk-tr:not(#gm-lg){ transition:background-color .14s ease; }
@media (hover:hover) and (pointer:fine){
  html body .gm-bulk-sec .bk-tbody > .bk-tr:hover:not(#gm-lg){ background:#233858 !important; }
}
html body .gm-bulk-sec .bk-strip .bk-chip.idle:not(#gm-lg){ width:auto; min-width:44px; padding:0 14px; background:#1c2630 !important; border:1px solid #263c58 !important; color:#8193aa !important; box-shadow:none !important; }

/* ══ 27 · v52 — SKILLI X: THE TOUCHED DIGIT TURNS PINK, THE PANEL IS COMPACT (the operator: "Skilli X live digit stream digit selection
   hovers pink when touch before execution panel pops up also decrease execution pop up panel size to perfection"). A tap lights the
   digit pink, the Select Trade Type panel follows 0.14s later and the digit stays pink while that panel is open (the panel's own digit
   is the same pink); the hover is pink too, except on the last digit, which keeps its cyan. The panel is about two-thirds of its old
   height: 340px wide, the two sides 84px tall, the instant pair 68px, Cancel 42px. ══ */
html body .analyzer[data-analyzer="over_under"] #sx-stream button.sx-d:not(#gm-lg):not([data-last="1"]):hover{ border-color:rgba(244,114,182,.62); }
html body .analyzer[data-analyzer="over_under"] #sx-stream button.sx-d[data-pick="1"]:not(#gm-lg){
  background:linear-gradient(180deg, rgba(236,72,153,.34), rgba(190,24,93,.2)) !important; border:2px solid #f472b6 !important;
  box-shadow:0 0 0 1px rgba(244,114,182,.28), 0 0 24px -4px rgba(236,72,153,.8) !important; }
html body #sx-stream .sx-d[data-pick="1"]:not(#gm-lg) > b{ color:#fdf2f8 !important; }
html body #sx-stream .sx-d[data-pick="1"]:not(#gm-lg) .sx-d-p{ color:#f9a8d4 !important; }
html body .sx-modal{ padding:16px; }
html body .sx-modal .sx-mcard{ width:min(340px, 100%); max-height:calc(100vh - 32px); padding:18px 16px 14px; border-radius:18px; border-color:rgba(244,114,182,.34);
  box-shadow:0 30px 70px -26px rgba(0,0,0,.95), 0 0 34px -18px rgba(236,72,153,.5), inset 0 1px 0 rgba(255,255,255,.06); }
html body .sx-modal .sx-m-t{ font-size:19px; }
html body .sx-modal .sx-m-s{ margin:6px 0 0; font-size:13.5px; }
html body .sx-modal .sx-m-s em{ margin-left:5px; font-size:22px; vertical-align:-2px; color:#f472b6; text-shadow:0 0 14px rgba(236,72,153,.55); }
html body .sx-modal .sx-m-g{ gap:10px; margin-top:14px; }
html body .sx-modal button.sx-m-b{ min-height:84px !important; padding:10px 8px; gap:4px; border-radius:13px; }
html body .sx-modal button.sx-m-b.io, html body .sx-modal button.sx-m-b.iu{ min-height:68px !important; }
html body .sx-modal .sx-m-ic{ font-size:20px; }
html body .sx-modal .sx-m-b b{ font-size:16px; }
html body .sx-modal .sx-m-b.inst b{ font-size:13.5px; letter-spacing:.02em; }
html body .sx-modal .sx-m-b i{ font-size:10.5px; }
html body .sx-modal .sx-m-sep{ margin:14px 0 0; }
html body .sx-modal .sx-m-l{ margin:11px 0 0; font-size:11.5px; }
html body .sx-modal .sx-m-l + .sx-m-g{ margin-top:9px; }
html body .sx-modal button.sx-m-x{ min-height:42px !important; margin:14px 0 0; border-radius:11px; font-size:14px; }
/* v54 — NO BLUR behind the panel (the operator: "remove the blur when the panel pops up too"): one flat scrim on every screen (the
   desktop rule in aether.css blurred the console 6px). The panel's own line under the Instant pair says what happened — Placing…,
   ✓ placed (the panel then closes itself) or why nothing went (the panel stays open). */
html body .sx-modal{ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; background:rgba(3,7,16,.62) !important; }
html body .sx-modal .sx-m-msg{ margin:12px 0 0; padding:8px 10px; border-radius:10px; font-size:12px; font-weight:600; line-height:1.4; text-align:center;
  color:#cbd5e1; background:rgba(148,163,184,.08); border:1px solid rgba(148,163,184,.2); }
html body .sx-modal .sx-m-msg[hidden]{ display:none !important; }
html body .sx-modal .sx-m-msg[data-kind="ok"]{ color:#86efac; background:rgba(34,197,94,.1); border-color:rgba(34,197,94,.34); }
html body .sx-modal .sx-m-msg[data-kind="err"]{ color:#fecaca; background:rgba(239,68,68,.1); border-color:rgba(239,68,68,.34); }

/* ══ 28 · v52 — G DIGIT: A RUNNING PROGRAM IS A RED, FLASHING STOP (the operator: "fix every auto buttons to turn red and the button switch
   to stop also flashes too on G digit"). Whatever is running — an engine, Sequential ×5 / 0→9, AUTO TRADE and its rows, Smart Trade's
   switch, the Knockout AUTO — is red, reads ■ STOP … / STOP (tap = stop) and flashes once a second; it takes its own colour back the
   moment it stops. Only the red flashes (bright #ef4444 ↔ deep #7f1d1d under a fixed light-to-shade sheen): the STOP label stays white
   (a whole-button brightness flash dimmed the words with it). Reduced motion: steady red. ══ */
@keyframes gdStopFlash{ 0%,100%{ background-color:#ef4444; } 50%{ background-color:#7f1d1d; } }
html body [data-analyzer="matches"] .gd-btn[data-state="run"]:not(#gm-lg),
html body [data-analyzer="matches"] :is(.gd-tg, #gd-smart-on, .gko-auto)[aria-pressed="true"]:not(#gm-lg){
  --c1:#ef4444; --c2:#b91c1c; color:#fff !important; -webkit-text-fill-color:#fff; background-color:#ef4444;
  background-image:linear-gradient(135deg, rgba(255,255,255,.16), rgba(0,0,0,.24)) !important; border-color:#fca5a5 !important; filter:none !important;
  animation:gdStopFlash 1s ease-in-out infinite !important; }
html body [data-analyzer="matches"] .gd-btn[data-state="run"]:not(#gm-lg) .gd-spin{ display:none !important; }
@media (prefers-reduced-motion:reduce){
  html body [data-analyzer="matches"] .gd-btn[data-state="run"]:not(#gm-lg),
  html body [data-analyzer="matches"] :is(.gd-tg, #gd-smart-on, .gko-auto)[aria-pressed="true"]:not(#gm-lg){ animation:none !important; }
}

/* ══ 29 · v52 — TRADE HISTORY, BUILT TO THE OPERATOR'S PHOTOS 75 · 76 ("the trade history win loss cards need to look more better … build
   it exactly"). Won: a green hairline round a green-tinted slate card, a green tile with ↗, the WON pill, a green net. Lost: the same in
   red with ↘, and no Payout line under the stake. Entry is the green contract pill on both; Exit Digit is a box — green won, red lost; a
   line runs above Status, which leads with ✓ / ⊗ in a circle. The two summary cards stack, as in the photo (Net Profit/Loss over Win
   Rate) — side by side the P/L was cut to "-1323.33 …"; the filter pills carry the photo's trophy, ✓ and ⊗ as line icons. Pending
   cards stay orange with their countdown. ══ */
html body #journal-section.th .th-card:not(#gm-lg){
  padding:15px 15px 12px; border-radius:16px; border:1.5px solid var(--c) !important;
  background:linear-gradient(165deg, color-mix(in srgb, var(--c) 12%, #1b2536) 0%, #182231 55%, color-mix(in srgb, var(--c) 6%, #151e2b) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 0 24px -12px color-mix(in srgb, var(--c) 80%, transparent), 0 16px 30px -26px rgba(0,0,0,.9);
}
html body #journal-section.th .th-card:not(#gm-lg) .th-l1{ gap:10px; }
html body #journal-section.th .th-card:not(#gm-lg) .th-ic{
  width:36px; height:36px; border-radius:9px; flex:none; display:grid; place-items:center; font-size:0;
  color:color-mix(in srgb, var(--c) 72%, #ffffff); background:color-mix(in srgb, var(--c) 30%, #16202e); border:1px solid color-mix(in srgb, var(--c) 58%, transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12); }
html body #journal-section.th .th-card:not(#gm-lg) .th-ic svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
html body #journal-section.th .th-card:not(#gm-lg) .th-sym{ font:800 15px/1.15 var(--font-body, inherit); color:#fff; letter-spacing:.01em; }
html body #journal-section.th .th-card:not(#gm-lg) .th-st{ display:inline-flex; align-items:center; height:22px; padding:0 12px; border-radius:999px;
  font:800 10px/1 var(--font-body, inherit); letter-spacing:.08em; color:color-mix(in srgb, var(--c) 52%, #ffffff);
  background:color-mix(in srgb, var(--c) 24%, transparent); border:1px solid color-mix(in srgb, var(--c) 72%, transparent); }
html body #journal-section.th .th-card:not(#gm-lg) .th-route{ margin-top:5px; font:800 12.5px/1.2 var(--font-body, inherit); letter-spacing:.03em; color:#5aa9ff; }
html body #journal-section.th .th-card:not(#gm-lg) .th-chip{ padding:3px 8px; border-radius:6px; font:700 10.5px/1.25 var(--font-body, inherit); color:#d3e3ff;
  background:rgba(59,130,246,.2); border:1px solid rgba(96,165,250,.48); }
html body #journal-section.th .th-card:not(#gm-lg) .th-chip i{ font-size:11px; }
html body #journal-section.th .th-card:not(#gm-lg) .th-right{ gap:3px; }
html body #journal-section.th .th-card:not(#gm-lg) .th-net{ font:800 17px/1.15 var(--font-body, inherit); letter-spacing:0; color:color-mix(in srgb, var(--c) 88%, #ffffff); }
html body #journal-section.th .th-card:not(#gm-lg) .th-stake{ font:700 11px/1.35 var(--font-body, inherit); color:#e2e8f0; }
html body #journal-section.th .th-card:not(#gm-lg) .th-stake b{ font-weight:800; color:#fff; }
html body #journal-section.th .th-card:not(#gm-lg) .th-pay{ font:600 10.5px/1.35 var(--font-body, inherit); color:#8d9db4; }
html body #journal-section.th .th-card:not(#gm-lg) .th-rows{ margin-top:14px; padding-top:12px; border-top:1px solid rgba(255,255,255,.11); gap:11px; }
html body #journal-section.th .th-card:not(#gm-lg) .th-rows > div > span:first-child{ font:700 12.5px/1.2 var(--font-body, inherit); color:#e6ecf5; }
html body #journal-section.th .th-card:not(#gm-lg) .th-rows b{ font:700 12px/1.2 var(--font-body, inherit); color:#fff; }
html body #journal-section.th .th-card:not(#gm-lg) .th-rows .th-mono{ font-family:ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size:11.5px; }
html body #journal-section.th .th-card:not(#gm-lg) .th-pill{ padding:4px 10px; border-radius:6px; font:800 11px/1.1 ui-monospace, "SF Mono", Menlo, Consolas, monospace; letter-spacing:.06em;
  color:#c9f8dc !important; background:rgba(61,220,132,.24); border:1px solid rgba(61,220,132,.62); }
html body #journal-section.th .th-card:not(#gm-lg) .th-exd{ display:inline-grid; place-items:center; min-width:26px; height:26px; padding:0 6px; border-radius:6px;
  font:800 13px/1 ui-monospace, "SF Mono", Menlo, Consolas, monospace; color:#fff;
  background:color-mix(in srgb, var(--c) 40%, #1b2536); border:1px solid color-mix(in srgb, var(--c) 75%, transparent); }
html body #journal-section.th .th-card:not(#gm-lg) .th-rows .th-mv{ font-style:normal; font-variant-numeric:tabular-nums; color:color-mix(in srgb, var(--c) 80%, #ffffff); }
html body #journal-section.th .th-card:not(#gm-lg) .th-calc{ color:#cbd5e1 !important; }
html body #journal-section.th .th-card:not(#gm-lg) .th-rows > .th-srow{ margin-top:1px; padding-top:11px; border-top:1px solid rgba(255,255,255,.11); }
html body #journal-section.th .th-card:not(#gm-lg) .th-status{ display:inline-flex; align-items:center; gap:7px; font-weight:800; color:color-mix(in srgb, var(--c) 82%, #ffffff) !important; }
html body #journal-section.th .th-card:not(#gm-lg) .th-status svg{ width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
/* the summary: stacked, as in the photo (side by side only where the panel is wide) */
@container th (max-width: 560px){
  html body #journal-section.th .th-sum:not(#gm-lg){ grid-template-columns:minmax(0,1fr) !important; gap:10px; }
}
/* the filter pills: the photo's line icons, the open one a solid blue */
html body #journal-section.th .th-filter:not(#gm-lg){ min-height:50px; padding:6px 8px; border-radius:14px; gap:8px; background:rgba(255,255,255,.02) !important; border:1px solid rgba(148,170,204,.26) !important;
  color:#dbe4f0 !important; font:700 12.5px/1.25 var(--font-body, inherit) !important; white-space:normal !important; overflow:visible; text-overflow:clip; text-align:center; }
html body #journal-section.th .th-filter:not(#gm-lg) i{ display:inline-grid; place-items:center; width:20px; height:20px; flex:none; font-size:0; opacity:1; }
html body #journal-section.th .th-filter:not(#gm-lg) > span{ min-width:0; }
html body #journal-section.th .th-filter:not(#gm-lg) strong{ white-space:nowrap; }
html body #journal-section.th .th-filter:not(#gm-lg) i svg{ width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
html body #journal-section.th .th-filter.is-active:not(#gm-lg){ color:#fff !important; background:linear-gradient(180deg, #4b8df8, #2f6fe0) !important; border-color:#7fb0ff !important;
  box-shadow:0 0 0 1px rgba(127,176,255,.25), 0 8px 22px -8px rgba(59,130,246,.95) !important; }

/* ══ 30 · v54 — SKILLI X: THE BEST PAIRS ANALYZER, THE INTELLIGENT BARRIER ANALYSIS AND ADVANCED / BURST, BUILT TO THE OPERATOR'S TWO
   PHOTOS ("upgrade the skilli X best pair analyzer to look exactly like image provided … with same digit options too, build a card like
   best pairs analyzer for the intelligent barrier analysis … remove the top signal card entirely also the fire at features"). The
   header box: the target icon, the title, Start Analysis (a soft red Stop Analysis while it runs) and Analysis Mode OVER 0 · OVER 1 ·
   OVER 2 · UNDER 8 · UNDER 9 (sky blue = the mode). Running: the TIME box and its cyan → blue bar, "Pairs for <mode>", the green START
   AUTO (red while on), its rule on a dark strip, and a card per pair at ≥ 95%: #n · name · ← Click to select · the percentage over h/20
   digits · the 20 digits (wins outlined green, losses plain). The Intelligent Barrier Analysis is its own dark card: Start / Stop
   Analysis (solid red), the green Recommended Barrier, All Barrier Performance (⭐ the best; green at or above the barrier's fair rate,
   #ffb340 below it). Advanced (purple → indigo) and Burst (orange → red), 1 Trade | 2 Trades under them, right-aligned. ══ */
html body #view-console .analyzer[data-analyzer="over_under"] :is(#sx-pairs, #sx-quick):not(#gm-lg){ padding:12px; }
/* the header box */
html body #view-console .analyzer[data-analyzer="over_under"] #sx-pairs .sx-bp-hd:not(#gm-lg){ padding:14px; border-radius:8px; background:rgba(148,163,184,.07); border:1px solid rgba(148,163,184,.16); }
html body #sx-pairs .sx-bp-h:not(#gm-lg){ display:flex; align-items:center; gap:10px; min-height:36px; }
html body #sx-pairs .sx-bp-ic{ flex:none; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:rgba(20,184,166,.16); border:1px solid rgba(45,212,191,.35); }
html body #sx-pairs .sx-bp-ic svg{ display:block; width:16px; height:16px; fill:none; stroke:#5eead4; stroke-width:2.2; }
html body #sx-pairs .sx-bp-t:not(#gm-lg){ flex:1 1 auto; min-width:0; font-size:15px; font-weight:700; letter-spacing:.005em; line-height:1.25; color:#c9e9ee; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs :is(button.sx-bp-go, button.sx-iba-go):not(#gm-lg){ flex:none; min-height:34px !important; margin:0; padding:0 14px; border-radius:8px; cursor:pointer;
  font:inherit; font-size:12.5px; font-weight:700; white-space:nowrap; color:#cfd9e6 !important; background:rgba(148,163,184,.14) !important;
  border:1px solid rgba(148,163,184,.36) !important; box-shadow:none !important; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-bp-go[data-on="1"]:not(#gm-lg){ color:#fca5a5 !important; background:rgba(239,68,68,.14) !important; border-color:rgba(248,113,113,.55) !important; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-iba-go[data-on="1"]:not(#gm-lg){ color:#fff !important; background:linear-gradient(180deg, #ef4444, #dc2626) !important; border-color:#f87171 !important; }
html body #sx-pairs .sx-modes:not(#gm-lg){ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:12px; }
html body #sx-pairs .sx-modes[hidden]{ display:none !important; }
html body #sx-pairs .sx-modes-l:not(#gm-lg){ flex:none; flex-basis:auto; margin-right:4px; font-size:11.5px; font-weight:600; color:#94a3b8; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-mode:not(#gm-lg){ min-height:30px !important; margin:0; padding:0 11px; border-radius:6px; cursor:pointer; font:inherit; font-size:11.5px; font-weight:700;
  letter-spacing:.03em; color:#b8c4d3 !important; background:rgba(148,163,184,.10) !important; border:1px solid rgba(148,163,184,.14) !important; box-shadow:none !important; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-mode.is-on:not(#gm-lg){ color:#fff !important; background:#0ea5e9 !important; border-color:#38bdf8 !important; box-shadow:0 0 14px -4px rgba(14,165,233,.8) !important; }
/* running: TIME, the title, START AUTO and its rule */
html body #sx-pairs .sx-bp-run:not(#gm-lg){ display:block; margin-top:14px; }
html body #sx-pairs .sx-bp-run[hidden]{ display:none !important; }
html body #sx-pairs .sx-tbox{ display:block; padding:10px 12px 12px; border-radius:8px; background:rgba(148,163,184,.08); border:1px solid rgba(148,163,184,.16); }
html body #sx-pairs .sx-tbox > b{ display:block; font-size:11.5px; font-weight:700; letter-spacing:.02em; color:#b4c2d3; font-variant-numeric:tabular-nums; }
html body #sx-pairs .sx-tbar{ display:block; height:6px; margin-top:9px; border-radius:99px; background:rgba(2,6,23,.45); overflow:hidden; }
html body #sx-pairs .sx-tbar > i{ display:block; height:100%; border-radius:99px; background:linear-gradient(90deg, #22d3ee, #3b82f6); transform-origin:0 50%; transform:scaleX(0); transition:transform .5s ease; }
html body #sx-pairs .sx-bp-title{ display:block; margin:16px 0 10px; font-size:14px; font-weight:700; color:#e6eef6; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-auto:not(#gm-lg){ display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:46px !important; margin:0; padding:0 14px;
  border-radius:8px; cursor:pointer; font:inherit; font-size:14px; font-weight:800; letter-spacing:.04em; color:#fff !important;
  background:linear-gradient(180deg, #22c55e, #16a34a) !important; border:1px solid rgba(134,239,172,.55) !important; box-shadow:none !important; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-auto[aria-pressed="true"]:not(#gm-lg){ background:linear-gradient(180deg, #ef4444, #dc2626) !important; border-color:rgba(252,165,165,.55) !important; }
html body #sx-pairs .sx-auto svg:not(#gm-lg){ flex:none; width:18px; height:18px; }
html body #sx-pairs .sx-auto-cap:not(#gm-lg){ display:flex; align-items:center; justify-content:center; gap:7px; margin:8px 0 0; padding:8px 10px; border-radius:6px;
  background:rgba(2,6,23,.5); border:0; text-align:center; font-size:11.5px; font-weight:600; line-height:1.4; color:#cbd5e1; }
html body #sx-pairs .sx-auto-cap span:not(#gm-lg){ font-size:inherit !important; font-weight:inherit !important; line-height:inherit !important; color:inherit !important; }
/* the pairs at ≥ 95% */
html body #sx-pairs .sx-plist:not(#gm-lg){ display:grid; gap:10px; margin-top:12px; }
html body #sx-pairs .sx-plist:empty:not(#gm-lg){ display:none; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-pc:not(#gm-lg){ display:block; width:100%; min-height:0 !important; margin:0; padding:12px; border-radius:8px; cursor:pointer; font:inherit; text-align:left;
  color:#e8eef7; background:rgba(148,163,184,.07) !important; border:1px solid rgba(148,163,184,.16) !important; box-shadow:none !important; contain:layout paint; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-pc[data-sel="1"]:not(#gm-lg){ border-color:#4ade80 !important; box-shadow:0 0 0 1px rgba(74,222,128,.25) !important; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-pc[data-live="0"]:not(#gm-lg){ opacity:.7; }
html body #sx-pairs .sx-pc-h{ display:flex; align-items:center; gap:8px; min-width:0; }
html body #sx-pairs .sx-pc-rk{ flex:none; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; font-style:normal; font-size:10px; font-weight:800; color:#94a3b8;
  background:rgba(148,163,184,.12); border:1px solid rgba(148,163,184,.3); }
html body #sx-pairs .sx-pc[data-hot="1"] .sx-pc-rk{ color:#4ade80; background:rgba(34,197,94,.14); border-color:rgba(74,222,128,.5); }
html body #sx-pairs .sx-pc-n{ flex:0 0 auto; min-width:0; max-width:62%; font-size:14px; font-weight:700; color:#f1f5f9; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body #sx-pairs .sx-pc-sel{ flex:0 1 auto; min-width:0; font-style:normal; font-size:11.5px; font-weight:600; color:#6fbf8c; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body #sx-pairs .sx-pc[data-sel="1"] .sx-pc-sel{ color:#4ade80; }
html body #sx-pairs .sx-pc-pc{ flex:none; margin-left:auto; display:flex; flex-direction:column; align-items:flex-end; line-height:1.1; }
html body #sx-pairs .sx-pc-pc b{ font-size:18px; font-weight:800; color:#e2e8f0; font-variant-numeric:tabular-nums; }
html body #sx-pairs .sx-pc[data-hot="1"] .sx-pc-pc b{ color:#4ade80; }
html body #sx-pairs .sx-pc-pc u{ margin-top:3px; text-decoration:none; font-size:11px; font-weight:600; color:#94a3b8; font-variant-numeric:tabular-nums; }
html body #sx-pairs .sx-pc-cells{ display:grid; grid-template-columns:repeat(20, minmax(0,1fr)); gap:4px; margin-top:12px; }
html body #sx-pairs .sx-pc-cells > i{ display:grid; place-items:center; min-width:0; height:auto; aspect-ratio:1 / 1; min-height:20px; border-radius:4px; font-style:normal; font-size:11px; font-weight:700;
  font-variant-numeric:tabular-nums; color:#cbd5e1; background:rgba(148,163,184,.16); border:1px solid transparent; }
html body #sx-pairs .sx-pc-cells > i.w{ color:#bbf7d0; background:rgba(34,197,94,.10); border-color:rgba(74,222,128,.55); }
html body #sx-pairs .sx-pempty{ margin:12px 0 0; padding:12px; border-radius:8px; border:1px dashed rgba(148,163,184,.28); font-size:12px; font-weight:600; text-align:center; color:#94a3b8; }
html body #sx-pairs .sx-pempty[hidden]{ display:none !important; }
/* the Intelligent Barrier Analysis card */
html body .analyzer[data-analyzer="over_under"] #sx-pairs .sx-iba:not(#gm-lg){ display:block; margin-top:12px; padding:14px 12px 12px; border-radius:8px; background:#111a25; border:1px solid rgba(148,163,184,.14); }
html body #sx-pairs .sx-iba-h{ display:flex; align-items:center; gap:10px; min-width:0; }
html body #sx-pairs .sx-iba-dot{ flex:none; width:24px; height:24px; border-radius:50%; background:radial-gradient(circle at 50% 45%, #3aa6c4 0 32%, #1d5566 72%); border:1px solid rgba(56,189,248,.3); }
html body #sx-pairs .sx-iba-tt{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
html body #sx-pairs .sx-iba-tt b{ font-size:14px; font-weight:800; line-height:1.2; color:#fff; }
html body #sx-pairs .sx-iba-tt i{ font-style:normal; font-size:11.5px; font-weight:500; color:#94a3b8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body #sx-pairs .sx-iba-body:not(#gm-lg){ display:block; }
html body #sx-pairs .sx-iba-body[hidden]{ display:none !important; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-rec:not(#gm-lg){ display:block; width:100%; min-height:0 !important; margin:12px 0 0; padding:10px; border-radius:8px; cursor:pointer; font:inherit; text-align:left;
  color:#e8eef7; background:rgba(16,185,129,.10) !important; border:1px solid rgba(52,211,153,.42) !important; box-shadow:none !important; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-rec[data-sel="1"]:not(#gm-lg){ border-color:#34d399 !important; box-shadow:0 0 0 1px rgba(52,211,153,.3) !important; }
html body #sx-pairs .sx-rec-h{ display:flex; align-items:center; gap:9px; }
html body #sx-pairs .sx-rec-h > span{ display:flex; flex-direction:column; gap:1px; min-width:0; }
html body #sx-pairs .sx-rec-h b{ font-size:12.5px; font-weight:800; color:#e6fff4; }
html body #sx-pairs .sx-rec-h u{ text-decoration:none; font-size:11px; font-weight:500; color:#6ee7b7; }
html body #sx-pairs .sx-rec-ck{ flex:none; width:20px; height:20px; color:#34d399; }
html body #sx-pairs :is(.sx-rec-ck, .sx-abr-ck) svg{ display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
html body #sx-pairs :is(.sx-rec, .sx-abr)[data-sel="1"] :is(.sx-rec-ck, .sx-abr-ck) svg circle{ fill:#34d399; stroke:#34d399; }
html body #sx-pairs :is(.sx-rec, .sx-abr)[data-sel="1"] :is(.sx-rec-ck, .sx-abr-ck) svg path{ stroke:#06261b; }
html body #sx-pairs .sx-rec-box{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; margin-top:9px; padding:12px 12px 10px; border-radius:7px; background:rgba(2,6,23,.4); border:1px solid rgba(255,255,255,.05); }
html body #sx-pairs .sx-rec-l{ display:flex; flex-direction:column; gap:4px; min-width:0; }
html body #sx-pairs .sx-rec-l b{ font-size:20px; font-weight:800; letter-spacing:.01em; line-height:1.1; color:#4ade80; }
html body #sx-pairs .sx-rec-l > span, html body #sx-pairs .sx-rec-c{ font-size:11.5px; font-weight:500; color:#94a3b8; }
html body #sx-pairs .sx-rec-l em, html body #sx-pairs .sx-rec-c em{ font-style:normal; font-weight:700; color:#4ade80; font-variant-numeric:tabular-nums; }
html body #sx-pairs .sx-rec[data-up="0"] .sx-rec-l b, html body #sx-pairs .sx-rec[data-up="0"] :is(.sx-rec-l, .sx-rec-c) em{ color:#ffb340; }
html body #sx-pairs .sx-rec-r{ display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:6px; }
html body #sx-pairs .sx-rec-r small{ font-size:10px; font-weight:700; letter-spacing:.08em; color:#94a3b8; }
html body #sx-pairs .sx-rec-c{ grid-column:1 / -1; margin-top:6px; padding-top:8px; border-top:1px solid rgba(255,255,255,.07); }
/* the trend tile: → stable · ↗ improving · ↘ declining */
html body #sx-pairs .sx-tr-ic{ flex:none; display:inline-grid; place-items:center; width:18px; height:18px; border-radius:4px; font-style:normal; color:#fff; background:rgba(148,163,184,.5); border:0; }
html body #sx-pairs .sx-tr-ic svg{ display:block; width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; transition:transform .25s ease; }
html body #sx-pairs .sx-rec-r .sx-tr-ic{ width:30px; height:30px; border-radius:6px; background:rgba(203,213,225,.55); }
html body #sx-pairs .sx-rec-r .sx-tr-ic svg{ width:20px; height:20px; }
html body #sx-pairs [data-tr="rising"] .sx-tr-ic svg{ transform:rotate(-45deg); }
html body #sx-pairs [data-tr="declining"] .sx-tr-ic svg{ transform:rotate(45deg); }
/* All Barrier Performance */
html body #sx-pairs .sx-abp-h{ display:flex; align-items:center; gap:7px; margin:14px 2px 8px; padding:0; font:700 12px/1.2 var(--font-body, inherit); letter-spacing:.01em; text-transform:none;
  color:#e2e8f0; background:none; border:0; }
html body #sx-pairs .sx-abp-h svg{ width:15px; height:15px; fill:none; stroke:#94a3b8; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
html body #sx-pairs .sx-abp{ display:grid; gap:8px; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-abr:not(#gm-lg){ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; width:100%; min-height:0 !important; margin:0; padding:11px 12px 10px;
  border-radius:8px; cursor:pointer; font:inherit; text-align:left; color:#e8eef7; background:rgba(34,197,94,.07) !important; border:1px solid rgba(74,222,128,.2) !important;
  box-shadow:none !important; contain:layout paint; }
html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-abr[data-sel="1"]:not(#gm-lg){ border-color:#34d399 !important; box-shadow:0 0 0 1px rgba(52,211,153,.25) !important; }
html body #sx-pairs .sx-abr-a{ display:flex; align-items:center; gap:8px; min-width:0; }
html body #sx-pairs .sx-abr-star{ display:none; flex:none; width:17px; height:17px; }
html body #sx-pairs .sx-abr[data-top="1"] .sx-abr-star{ display:inline-block; }
html body #sx-pairs .sx-abr-star svg{ display:block; width:100%; height:100%; fill:#ffb340; stroke:#ffb340; stroke-width:1; stroke-linejoin:round; }
html body #sx-pairs .sx-abr-n{ display:flex; flex-direction:column; gap:2px; min-width:0; }
html body #sx-pairs .sx-abr-n b{ font-size:13px; font-weight:800; letter-spacing:.02em; color:#f1f5f9; }
html body #sx-pairs .sx-abr-n u{ text-decoration:none; font-size:11px; font-weight:500; color:#94a3b8; font-variant-numeric:tabular-nums; }
html body #sx-pairs .sx-abr-ck{ display:none; flex:none; width:17px; height:17px; color:#34d399; }
html body #sx-pairs .sx-abr[data-sel="1"] .sx-abr-ck{ display:inline-block; }
html body #sx-pairs .sx-abr-b{ display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
html body #sx-pairs .sx-abr-b > b{ font-size:16px; font-weight:800; line-height:1.1; color:#4ade80; font-variant-numeric:tabular-nums; }
html body #sx-pairs .sx-abr-tr{ display:inline-flex; align-items:center; gap:5px; }
html body #sx-pairs .sx-abr-tr small{ font-size:10px; font-weight:700; letter-spacing:.06em; color:#94a3b8; }
html body #sx-pairs .sx-abr-bar{ grid-column:1 / -1; position:relative; display:block; height:6px; margin-top:2px; border-radius:99px; background:rgba(2,6,23,.45); overflow:hidden; }
html body #sx-pairs .sx-abr-bar > em{ display:block; height:100%; border-radius:99px; background:linear-gradient(90deg, #22c55e, #4ade80); transform-origin:0 50%; transform:scaleX(0); transition:transform .4s ease; }
html body #sx-pairs .sx-abr-c{ grid-column:1 / -1; font-size:11px; font-weight:500; color:#94a3b8; }
html body #sx-pairs .sx-abr-c em{ font-style:normal; font-weight:700; color:#4ade80; font-variant-numeric:tabular-nums; }
html body #sx-pairs .sx-abr[data-up="0"] :is(.sx-abr-b > b, .sx-abr-c em){ color:#ffb340; }
html body #sx-pairs .sx-abr[data-up="0"] .sx-abr-bar > em{ background:linear-gradient(90deg, #ffb340, #f97316); }
/* ② Advanced · Burst — 1 Trade | 2 Trades under them, right-aligned */
html body #sx-quick .sx-q-row:not(#gm-lg){ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
html body .analyzer[data-analyzer="over_under"] #sx-quick button.sx-qb:not(#gm-lg){ display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:46px !important; margin:0; padding:6px 10px;
  border-radius:8px; cursor:pointer; font:inherit; font-size:13px; font-weight:700; line-height:1.25; text-align:center; color:#fff !important; border:0 !important; box-shadow:none !important; }
html body .analyzer[data-analyzer="over_under"] #sx-quick button.sx-qb.adv:not(#gm-lg){ background:linear-gradient(90deg, #9333ea, #4f46e5) !important; }
html body .analyzer[data-analyzer="over_under"] #sx-quick button.sx-qb.burst:not(#gm-lg){ background:linear-gradient(90deg, #f97316, #dc2626) !important; }
html body .analyzer[data-analyzer="over_under"] #sx-quick button.sx-qb.adv[data-run="1"]:not(#gm-lg){ box-shadow:0 0 0 2px rgba(196,181,253,.55) !important; }
html body .analyzer[data-analyzer="over_under"] #sx-quick button.sx-qb[disabled]:not(#gm-lg){ opacity:.55; cursor:default; }
html body #sx-quick .sx-qb-ic{ flex:none; font-size:16px; line-height:1; }
html body #sx-quick .sx-qb-tx{ min-width:0; }
html body #sx-quick .sx-seg{ display:flex; justify-content:flex-end; gap:6px; margin-top:10px; }
html body .analyzer[data-analyzer="over_under"] #sx-quick button.sx-seg-b:not(#gm-lg){ min-height:28px !important; margin:0; padding:0 12px; border-radius:5px; cursor:pointer; font:inherit; font-size:12px; font-weight:600; white-space:nowrap;
  color:#94a3b8 !important; background:rgba(148,163,184,.10) !important; border:0 !important; box-shadow:none !important; }
html body .analyzer[data-analyzer="over_under"] #sx-quick button.sx-seg-b.is-on:not(#gm-lg){ color:#fff !important; background:#7c3aed !important; box-shadow:inset 0 0 0 1px #8b5cf6 !important; }
/* hover only (no press feedback) */
@media (hover:hover) and (pointer:fine){
  html body .analyzer[data-analyzer="over_under"] #sx-pairs :is(button.sx-bp-go, button.sx-iba-go, button.sx-auto):not(#gm-lg):hover, html body .analyzer[data-analyzer="over_under"] #sx-quick button.sx-qb:not([disabled]):not(#gm-lg):hover{ filter:brightness(1.1); }
  html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-mode:not(.is-on):not(#gm-lg):hover, html body .analyzer[data-analyzer="over_under"] #sx-quick button.sx-seg-b:not(.is-on):not(#gm-lg):hover{ color:#e2e8f0 !important; }
  html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-pc:not([data-sel="1"]):not(#gm-lg):hover{ border-color:rgba(148,163,184,.34) !important; }
  html body .analyzer[data-analyzer="over_under"] #sx-pairs :is(button.sx-rec, button.sx-abr):not(#gm-lg):hover{ background:#141d28 !important; }
}
/* a phone: the five modes in one row under their label, tighter boxes, smaller cells */
@media (max-width:560px){
  html body #view-console .analyzer[data-analyzer="over_under"] :is(#sx-pairs, #sx-quick):not(#gm-lg){ padding:10px; }
  html body #view-console .analyzer[data-analyzer="over_under"] #sx-pairs .sx-bp-hd:not(#gm-lg){ padding:12px 10px; }
  html body #sx-pairs .sx-bp-t:not(#gm-lg){ font-size:14px; }
  html body .analyzer[data-analyzer="over_under"] #sx-pairs :is(button.sx-bp-go, button.sx-iba-go):not(#gm-lg){ padding:0 11px; font-size:12px; }
  html body #sx-pairs .sx-modes:not(#gm-lg){ display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:6px; }
  html body #sx-pairs .sx-modes-l:not(#gm-lg){ grid-column:1 / -1; margin:0 0 2px; }
  html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-mode:not(#gm-lg){ padding:0 2px; font-size:11px; letter-spacing:.01em; }
  html body .analyzer[data-analyzer="over_under"] #sx-pairs button.sx-pc:not(#gm-lg){ padding:10px; }
  html body #sx-pairs .sx-pc-n{ font-size:13.5px; }
  html body #sx-pairs .sx-pc-sel{ font-size:10.5px; }
  html body #sx-pairs .sx-auto-cap:not(#gm-lg){ gap:5px; padding:7px 8px; font-size:10.5px; }
  html body #sx-pairs .sx-pc-pc b{ font-size:16px; }
  html body #sx-pairs .sx-pc-cells{ gap:3px; margin-top:10px; }
  html body #sx-pairs .sx-pc-cells > i{ min-height:21px; font-size:10px; border-radius:3px; }
  html body .analyzer[data-analyzer="over_under"] #sx-pairs .sx-iba:not(#gm-lg){ padding:12px 10px 10px; }
  html body .analyzer[data-analyzer="over_under"] #sx-quick button.sx-qb:not(#gm-lg){ gap:6px; padding:6px 8px; font-size:12px; }
}

/* ══ 30b · v52 — "add a tick when market is selected": every dropdown's selected option carries a green ✓ at its right edge (the
   market lists most of all); it was a "✓" pressed against the name, or none. ══ */
html body .gm-sel-opt.is-sel::after{ content:"" !important; float:none !important; flex:none; width:16px; height:16px; margin-left:auto; background:#4ade80;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>") center / 16px 16px no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>") center / 16px 16px no-repeat; }

/* ══ 31 · v52 — SCROLLBARS: THIN, WHITE, AND ONLY THERE WHILE SOMETHING SCROLLS (the operator: "upgrade all scrolling panel on the platform
   to disappear if not in use they are too big also fix, change all their color to white"). 6px, a white thumb on no track; hidden at rest;
   shown while the page or a panel is being scrolled (gm-scroll.js marks the element that moved with .gm-sb-on and holds it 0.9s after
   its last scroll) or while the pointer is on the thumb. ⚠ Edge/Chrome 121+ skip ::-webkit-scrollbar on any element whose
   scrollbar-width or scrollbar-color is not auto (measured in Edge 156: 15px default, 10px "thin", 6px only with both auto) — so the
   platform's standard-property scrollbars are handed back to auto here; a bar meant to stay hidden keeps its ::-webkit-scrollbar
   {display:none} (every one of them has it). Firefox, which has no ::-webkit-scrollbar, gets the standard thin bar, clear at rest. ══ */
@supports selector(::-webkit-scrollbar){
  html:not(#gm-sb), html body:not(#gm-sb), html body *:not(#gm-sb){ scrollbar-width:auto !important; scrollbar-color:auto !important; }
  html:not(#gm-sb)::-webkit-scrollbar, html body:not(#gm-sb)::-webkit-scrollbar, html body *:not(#gm-sb)::-webkit-scrollbar{ width:6px !important; height:6px !important; background:transparent !important; }
  html:not(#gm-sb)::-webkit-scrollbar-track, html body:not(#gm-sb)::-webkit-scrollbar-track, html body *:not(#gm-sb)::-webkit-scrollbar-track,
  html:not(#gm-sb)::-webkit-scrollbar-track-piece, html body:not(#gm-sb)::-webkit-scrollbar-track-piece, html body *:not(#gm-sb)::-webkit-scrollbar-track-piece,
  html:not(#gm-sb)::-webkit-scrollbar-corner, html body:not(#gm-sb)::-webkit-scrollbar-corner, html body *:not(#gm-sb)::-webkit-scrollbar-corner{ background:transparent !important; border:0 !important; box-shadow:none !important; }
  html:not(#gm-sb)::-webkit-scrollbar-button, html body:not(#gm-sb)::-webkit-scrollbar-button, html body *:not(#gm-sb)::-webkit-scrollbar-button{ display:none !important; width:0 !important; height:0 !important; }
  html:not(#gm-sb)::-webkit-scrollbar-thumb, html body:not(#gm-sb)::-webkit-scrollbar-thumb, html body *:not(#gm-sb)::-webkit-scrollbar-thumb{
    background:transparent !important; border:0 !important; border-radius:99px !important; box-shadow:none !important; }
  html.gm-sb-on:not(#gm-sb)::-webkit-scrollbar-thumb, html body.gm-sb-on:not(#gm-sb)::-webkit-scrollbar-thumb, html body .gm-sb-on:not(#gm-sb)::-webkit-scrollbar-thumb,
  html:not(#gm-sb)::-webkit-scrollbar-thumb:hover, html body:not(#gm-sb)::-webkit-scrollbar-thumb:hover, html body *:not(#gm-sb)::-webkit-scrollbar-thumb:hover{ background:rgba(255,255,255,.66) !important; }
}
@supports not selector(::-webkit-scrollbar){
  html:not(#gm-sb), html body:not(#gm-sb), html body *:not(#gm-sb){ scrollbar-color:transparent transparent !important; }
  html.gm-sb-on:not(#gm-sb), html body .gm-sb-on:not(#gm-sb){ scrollbar-color:rgba(255,255,255,.66) transparent !important; }
  :where(html){ scrollbar-width:thin; }
}

/* ══ 32 · v53 — BULK TRADER · HYBRID, BUILT TO THE OPERATOR'S PHOTOS 79–83 (a Higher and a Lower leg per trade, 5–10 ticks). In the
   Hybrid view the digit desk steps aside — its market row, the scanners, the rings, the strip, the sides and the AI orb — and one card
   takes the column, as in the photos: TRADE TYPE on top, then "Hybrid · 5 ticks", Market (ranked by barrier reach, re-read every 10
   seconds), the past-move check, Duration · Stake per trade · No. of trades, the red Place trade carrying each leg's payout, the stake
   line, and the batch's settled P/L. The Transactions panel is the desk's own. ══ */
html body .gm-bulk-sec[data-hy="1"] :is(#bk-bd, #bk-ctl, #bk-v2, #bk-v2r, .bk-hist, #bk-tick, #bk-rings, #bk-match, #bk-strip, .bk-inputs, #bk-reinv, #bk-sides, #bk-fab, .bk-field-x):not(#gm-lg){ display:none !important; }
html body .gm-bulk-sec[data-hy="1"] .bk-row2 > .bk-field:first-child:not(#gm-lg){ display:none !important; }
html body .gm-bulk-sec[data-hy="1"] .bk-honest:not(.bk-hy-honest):not(#gm-lg){ display:none !important; }
html body .gm-bulk-sec:not([data-hy="1"]) :is(#bk-hy, .bk-hy-honest):not(#gm-lg){ display:none !important; }
html body .gm-bulk-sec[data-hy="1"] :is(.bk-row2, #bk-hy, #bk-msg, .bk-hy-honest):not(#gm-lg){ width:100%; max-width:760px; justify-self:center; margin-left:auto; margin-right:auto; }
html body .gm-bulk-sec[data-hy="1"] .bk-row2:not(#gm-lg){ display:block !important; }
/* the card */
html body .gm-bulk-sec #bk-hy:not(#gm-lg){ display:block; padding:18px 18px 16px; border-radius:12px; background:#1c2630; border:1px solid var(--sl-bl, #2a4669); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }
html body .gm-bulk-sec #bk-hy[hidden]:not(#gm-lg){ display:none !important; }
html body .gm-bulk-sec #bk-hy .bk-hy-h{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 14px; }
html body .gm-bulk-sec #bk-hy .bk-hy-h > b{ font:600 19px/1.2 var(--font-body, inherit); color:#e8eef7; letter-spacing:.01em; }
html body .gm-bulk-sec #bk-hy .bk-field{ display:flex; flex-direction:column; justify-content:flex-end; gap:7px; min-width:0; }
html body .gm-bulk-sec #bk-hy .bk-field > u{ text-transform:none !important; letter-spacing:0 !important; font:500 14.5px/1.3 var(--font-body, inherit); color:#c9d3e1 !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body .gm-bulk-sec #bk-hy :is(select, input):not(#gm-lg){ width:100%; height:48px !important; padding:0 14px !important; border-radius:8px !important; font:500 17px/1 var(--font-body, inherit) !important;
  color:#f1f5f9 !important; background:#151d28 !important; border:1px solid #2e4560 !important; box-shadow:none !important; }
html body .gm-bulk-sec #bk-hy .bk-sel select:not(#gm-lg){ padding-right:36px !important; text-overflow:ellipsis; }
/* the digit desk's select wrapper draws its own border and bevel — on this card the select IS the box, the same as the inputs */
html body .gm-bulk-sec #bk-hy .bk-field span.bk-sel:not(#gm-lg){ border:0 !important; background:transparent !important; box-shadow:none !important; border-radius:8px; }
html body .gm-bulk-sec #bk-hy :is(select, input):focus:not(#gm-lg){ border-color:#4fc3e8 !important; box-shadow:0 0 0 3px rgba(79,195,232,.18) !important; outline:none; }
html body .gm-bulk-sec #bk-hy .bk-hy-reach{ margin:12px 2px 0; font:500 14px/1.45 var(--font-body, inherit); color:#c7d2e2; }
html body .gm-bulk-sec #bk-hy .bk-hy-in{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; margin-top:14px; }
/* the button in its box: red, both legs' payouts under the name */
html body .gm-bulk-sec #bk-hy .bk-hy-box{ margin-top:18px; padding:14px 14px 12px; border-radius:10px; border:1px solid rgba(110,104,240,.55); background:rgba(11,16,28,.3); }
html body .gm-bulk-sec #bk-hy button.bk-hy-fire:not(#gm-lg){ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:100%; min-height:104px !important; height:auto !important;
  margin:0; padding:12px; border:0 !important; border-radius:7px !important; cursor:pointer; color:#fff !important; font:inherit; text-transform:none !important; letter-spacing:0 !important;
  background:linear-gradient(180deg, #f5404d, #e72e3c) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 10px 24px -14px rgba(231,46,60,.9) !important; }
html body .gm-bulk-sec #bk-hy .bk-hy-fire > b{ font:800 16.5px/1.2 var(--font-body, inherit); letter-spacing:.01em; }
html body .gm-bulk-sec #bk-hy .bk-hy-fire > span{ display:inline-flex; align-items:center; gap:6px; font:600 13.5px/1.3 var(--font-body, inherit); color:rgba(255,255,255,.93); font-variant-numeric:tabular-nums; }
html body .gm-bulk-sec #bk-hy .bk-hy-fire > span > i{ font-style:normal; font-size:9px; opacity:.8; }
html body .gm-bulk-sec #bk-hy .bk-hy-fire > span > em{ font-style:normal; }
html body .gm-bulk-sec #bk-hy button.bk-hy-fire[data-ok="0"]:not(#gm-lg){ background:#7a2731 !important; box-shadow:none !important; }
html body .gm-bulk-sec #bk-hy .bk-hy-fire[data-ok="0"] > :is(b, span){ color:rgba(255,255,255,.48); }
html body .gm-bulk-sec #bk-hy button.bk-hy-fire:disabled:not(#gm-lg){ cursor:progress; }
@media (hover:hover) and (pointer:fine){
  html body .gm-bulk-sec #bk-hy button.bk-hy-fire[data-ok="1"]:not(:disabled):not(#gm-lg):hover{ filter:brightness(1.06); }
}
html body .gm-bulk-sec #bk-hy .bk-hy-tot{ margin:12px 2px 0; font:500 12.5px/1.4 var(--font-body, inherit); color:#d5dbe5; font-variant-numeric:tabular-nums; }
html body .gm-bulk-sec #bk-hy .bk-hy-tot[data-tone="bad"]{ color:#c9a3ab; }
html body .gm-bulk-sec #bk-hy .bk-hy-tot[data-tone="err"]{ color:#ffb3bc; }
html body .gm-bulk-sec #bk-hy .bk-hy-note{ margin:16px 2px 0; font:500 15px/1.4 var(--font-body, inherit); color:#c7d2e2; }
html body .gm-bulk-sec #bk-hy .bk-hy-stat{ margin:10px 2px 0; font:500 15px/1.4 var(--font-body, inherit); color:#c7d2e2; font-variant-numeric:tabular-nums; }
html body .gm-bulk-sec #bk-hy .bk-hy-stat[data-tone="up"]{ color:#7fd9b0; }
html body .gm-bulk-sec #bk-hy .bk-hy-stat[data-tone="dn"]{ color:#ff9aa6; }
@media (max-width:480px){
  html body .gm-bulk-sec #bk-hy:not(#gm-lg){ padding:16px 14px 14px; }
  html body .gm-bulk-sec #bk-hy .bk-hy-in{ gap:10px; }
  html body .gm-bulk-sec #bk-hy .bk-field > u{ font-size:13px; line-height:1.25; white-space:normal; overflow:visible; text-overflow:clip; }   /* the whole label, on two lines if it needs them */
  html body .gm-bulk-sec #bk-hy :is(select, input):not(#gm-lg){ height:46px !important; padding:0 10px !important; font-size:16px !important; }
  html body .gm-bulk-sec #bk-hy .bk-sel select:not(#gm-lg){ padding-right:28px !important; }
  html body .gm-bulk-sec #bk-hy button.bk-hy-fire:not(#gm-lg){ min-height:96px !important; }
  html body .gm-bulk-sec #bk-hy :is(.bk-hy-note, .bk-hy-stat){ font-size:14px; }
}
/* v54b — THE READINESS GATE. Place trade is the photo's red only while the selected market reads READY; otherwise it is slate, reads
   NOT READY in the platform amber and says why underneath (an invalid stake keeps the photo's greyed red). */
/* the gate on the button */
html body .gm-bulk-sec #bk-hy button.bk-hy-fire[data-ready="0"][data-ok="1"]:not(#gm-lg){ background:linear-gradient(180deg, #2a3546, #222c3b) !important; box-shadow:inset 0 0 0 1px #3a4a60 !important; cursor:not-allowed; }
html body .gm-bulk-sec #bk-hy .bk-hy-fire[data-ready="0"][data-ok="1"] > b{ color:#ffb340; letter-spacing:.08em; }
html body .gm-bulk-sec #bk-hy .bk-hy-fire[data-ready="0"][data-ok="1"] > span{ color:rgba(226,232,240,.72); }
html body .gm-bulk-sec #bk-hy .bk-hy-fire > small.bk-hy-why{ display:block; max-width:100%; margin-top:2px; font:600 11.5px/1.35 var(--font-body, inherit); color:rgba(255,255,255,.9); text-align:center; }
html body .gm-bulk-sec #bk-hy .bk-hy-fire[data-ready="0"] > small.bk-hy-why{ color:#c9d3e1; }

/* ══ 34 · v53 — TRADE HISTORY FILTERS IN THEIR OWN COLOURS ("wins hovers green, loss hovers red all hovers blue"): each pill takes
   its colour under the pointer and while it is the open filter — All Trades blue (as before), Wins green, Losses red. A phone has
   no hover: the tap opens the filter, which lights in that colour. No press effect (v43). ══ */
html body #journal-section.th .th-filter:not(#gm-lg){ transition:background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease; }
html body #journal-section.th .th-filter[data-journal-filter="wins"].is-active:not(#gm-lg){ background:linear-gradient(180deg, #23b26b, #17894f) !important; border-color:#6ee7a8 !important;
  box-shadow:0 0 0 1px rgba(110,231,168,.25), 0 8px 22px -8px rgba(34,197,94,.9) !important; }
html body #journal-section.th .th-filter[data-journal-filter="losses"].is-active:not(#gm-lg){ background:linear-gradient(180deg, #ef4b5b, #cc3343) !important; border-color:#ff9aa5 !important;
  box-shadow:0 0 0 1px rgba(255,154,165,.25), 0 8px 22px -8px rgba(239,68,68,.9) !important; }
@media (hover:hover) and (pointer:fine){
  html body #journal-section.th .th-filter[data-journal-filter="all"]:not(.is-active):not(#gm-lg):hover{ color:#eaf2ff !important; background:rgba(59,130,246,.16) !important; border-color:#4b8df8 !important;
    box-shadow:0 0 0 1px rgba(75,141,248,.22), 0 6px 18px -10px rgba(59,130,246,.9) !important; }
  html body #journal-section.th .th-filter[data-journal-filter="wins"]:not(.is-active):not(#gm-lg):hover{ color:#e6fff1 !important; background:rgba(34,197,94,.16) !important; border-color:#3ddc84 !important;
    box-shadow:0 0 0 1px rgba(61,220,132,.22), 0 6px 18px -10px rgba(34,197,94,.9) !important; }
  html body #journal-section.th .th-filter[data-journal-filter="losses"]:not(.is-active):not(#gm-lg):hover{ color:#ffeef0 !important; background:rgba(239,68,68,.16) !important; border-color:#ff5c6c !important;
    box-shadow:0 0 0 1px rgba(255,92,108,.22), 0 6px 18px -10px rgba(239,68,68,.9) !important; }
  html body #journal-section.th .th-filter.is-active:not(#gm-lg):hover{ filter:brightness(1.07); }
}

/* ══ 35 · v54 → v56 — DAWN AND DUSK BEHIND THE WHOLE CONSOLE (gm-dim.js) — the sea is gone. The operator (v54): "remove the
   bioluminescence waves aesthetic background completely use the dark theme back ground of image one … the background should dim
   from the dark color to light vis versa extraordinarily"; then (v56): "upgrade the background transition change the white to a
   darker blue to match the platform theme".
   Two grounds: NIGHT #141414 (image one's page) and DAY #172a48 — the header band's blue (#1d2e48 on a phone, #243a5e → #171f2a
   across a desktop) one step deeper, so every line of light ink that stands straight on it keeps 4.5:1 or better (measured per
   section: the dimmest, the Bulk desk's 🔥 note #8193aa at 11 px, reads 4.6:1). The day deepens toward the foot (#12223d, under
   the dock).
   #gm-dim (body's first child — outside main, whose identity transform would trap a fixed child — fixed, z −1) is the night.
   Its one child, the TIDE, is the day: the blue body under a twilight band, 172% of the screen tall. At night it waits under the
   screen (58.14%); a dawn lifts it its own height in 6.5s, so the band climbs the screen and the day fills it (−41.86%); a dusk
   takes it back down the same road. The band is a DOME — an ellipse 125% of the screen wide, centred under its foot — so the day
   comes up in the middle first: out of the night a navy haze, then an arc of the platform's blue lit along its edge like a
   planet's limb, then the day.
   Both grounds are dark, so nothing on the page changes ink — the v54 engine that turned text dark for the old light day is gone.
   ONE composited layer moved by the compositor; while a ground holds, nothing animates.
   ⚠ gm-dim.js mirrors the travel (58.14% ⇄ −41.86%) and the easing for its test hooks.
   Behind EVERY section (html.gm-sky-on): the Analyzer and — the operator, mid-build: "add background to every desk" — Bulk Trader,
   Strategy Scan, Speed Trader and G Mind. One sky: switching sections never resets it. ══ */
#gm-dim{ position:fixed; left:0; top:0; width:100vw; height:100vh; z-index:-1; display:block; pointer-events:none; overflow:hidden; contain:strict;
  background:#141414; opacity:0; visibility:hidden; transition:opacity .45s ease, visibility 0s linear .45s; }
html.gm-sky-on #gm-dim{ opacity:1; visibility:visible; transition:opacity .45s ease, visibility 0s; }
/* the band, from the dome's foot outward: the day (to 43%), the limb's glow rising to its lit edge (49.2% — the platform blue,
   dimmed so the ink stays legible as it passes), then the haze falling back through navy into the night */
#gm-dim .gd-tide{ position:absolute; left:0; top:0; display:block; width:100%; height:172%;
  background:
    radial-gradient(ellipse 125% 100% at 50% 100%, #172a48 43%, #1a3050 45%, #1f3a62 46.8%, #27497a 48.2%, #2b5290 49.2%, #26487c 50.2%,
      #1f3a66 51.8%, #1a3156 54%, #172a4b 58%, #152541 64%, #131f36 71%, #121a2b 79%, #131721 87%, #14161a 94%, #141414 100%) center top / 100% 41.86% no-repeat,
    linear-gradient(180deg, #172a48, #12223d) center bottom / 100% 58.14% no-repeat,
    #172a48;
  transform:translate3d(0, 58.14%, 0); will-change:transform; backface-visibility:hidden;
  transition:transform 6.5s cubic-bezier(.45,.05,.35,1); }
html.gm-sky-up #gm-dim .gd-tide{ transform:translate3d(0, -41.86%, 0); }
#gm-dim .gd-tide.gd-cut{ transition:none !important; }
@media (prefers-reduced-motion:reduce){
  #gm-dim .gd-tide{ transform:translate3d(0, -41.86%, 0) !important; opacity:0; will-change:opacity; transition:opacity 4s ease; }
  html.gm-sky-up #gm-dim .gd-tide{ opacity:1; }
}

/* the Analyzer's empty desk: its badge keeps its green glow (the v54 dark-disc turn went with the light day) */
html.gm-sky-on body #view-console .analyzer-empty > .ae-ic{ box-shadow:inset 0 0 0 0 rgba(22,33,44,0), 0 0 30px -8px rgba(74,222,128,.55); }
/* see-through panels on the desks keep the slate they were drawn on (#161e29) under their tint — the sky must not shine through them */
html.gm-sky-on body :is(.gm-bulk-sec .bk-title-ic, .gm-bulk-sec .bk-pills.is-floating, .ss-wrap .ss-note, .atv.dv .dv-hist.dv-liq):not(#gd-x){ background-color:#161e29 !important; }
/* G Mind's card colours were left a little see-through for the old moving background (aether.css: --d-card .88, --d-card2 .86,
   --d-in .82); over a sky that turns blue they would tint, so they take back their solid values */
html.gm-sky-on body .gm-at-sec .atv.dv{ --d-card:#141b26; --d-card2:#101722; --d-in:#0e141d; }
html.gm-sky-on body .atv.dv .dv-status.warn:not(#gd-x){ background:linear-gradient(rgba(255,84,112,.08), rgba(255,84,112,.08)) #161e29 !important; }
html.gm-sky-on body .atv.dv .dv-status.rep:not(#gd-x){ background:linear-gradient(rgba(31,209,172,.07), rgba(31,209,172,.07)) #161e29 !important; }
html.gm-sky-on body .gm-bulk-sec .bk-dock:not(#gd-x){ background:linear-gradient(rgba(7,12,28,.9), rgba(7,12,28,.9)) #161e29 !important; }

/* ══ 36 · v54 — LIVE ANALYZER CARDS (the operator: "Upgrade Analyzer section cards with live aesthetic cards to rotate colors from
   current to the header color visa versa"). The Analyzer's shells — the title card (where it is a card), Deriv API Connection, the
   trade-type board, the open desk and Trade History — turn slowly from their own slate into the header's colours (the tab band's
   blue sheen, left to right, as the bar paints it; a phone's band is its flat blue) and back, one after another down the section.
   One layer per card, under everything on it (::before at z −1 inside the card's own stacking context), and only its OPACITY moves:
   the compositor blends it, nothing on the card is repainted, its panels and controls keep their colours. 16 s a round trip;
   reduced motion = still. ⚠ An !important opacity on these ::before would freeze the animation (it outranks it) — the board's old
   "no glints" rule now covers ::after only. ⚠ The connection card takes z-index 1: its account list hangs below it (z 40 inside its
   context) and must stay over the board under it.
   v57 — the operator: "add a grey color theme to current color cards also make it transition properly perfection". Three colours
   now: SLATE → the header's BLUE → GREY → slate, 4 s to turn and 4 s to hold each (a 24 s round). The grey is the same layer
   desaturated (grayscale — the header sheen's own light, #383838 → #1e1e1e, neutral), so every turn is one clean cross-fade
   between two colours: no muddy dip half-way, as two layers fading against each other would show, and still only compositor
   properties move (opacity, filter). Each turn eases in and out like a sine (cubic-bezier .37,0,.63,1). ⚠ filter must stay OFF
   the !important list below, or it freezes the grey. The cards keep ONE clock: gm-dim.js pins every gmLiveCard animation's start
   to the page's timeline on its first frame, so a card drawn later (the open desk, Trade History, the console on the way back
   from a desk) joins the wave where it stands; the negative delay below makes that first frame the one it appears on. aether.js's
   motion budget, which pauses a card while it is off screen, resumes it onto the same clock (start time 0, never play()). ══ */
html body #view-console:not(.ws-split) .gm-dash .gm-dash-card:not(#gm-dp):not(#gm-lg):not(#gm-lc),
html body #view-console :is(.godmind-hero.gm-conn-host, .orb-gallery.tts-board, article.analyzer.glass[data-analyzer], #journal-section):not(#gm-dp):not(#gm-lg):not(#gm-lc){ isolation:isolate; }
html body #view-console .godmind-hero.gm-conn-host:not(#gm-dp):not(#gm-lg):not(#gm-lc){ z-index:1; }
html body #view-console:not(.ws-split) .gm-dash .gm-dash-card:not(#gm-dp):not(#gm-lg):not(#gm-lc)::before,
html body #view-console :is(.godmind-hero.gm-conn-host, .orb-gallery.tts-board, article.analyzer.glass[data-analyzer], #journal-section):not(#gm-dp):not(#gm-lg):not(#gm-lc)::before{
  content:"" !important; display:block !important; position:absolute !important; inset:0 !important; z-index:-1 !important;
  width:auto !important; height:auto !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:inherit !important;
  background:linear-gradient(180deg, rgba(255,255,255,.03) 0, rgba(255,255,255,0) 60px),
    linear-gradient(90deg, #243a5e 0%, #22354f 18%, #21314a 34%, #1e2e42 48%, #1d2c3c 58%, #1b2736 72%, #19212f 88%, #171f2a 100%) !important;
  box-shadow:none !important; transform:none !important; mix-blend-mode:normal !important; clip-path:none !important;
  -webkit-mask:none !important; mask:none !important; transition:none !important; pointer-events:none !important;
  opacity:0; filter:grayscale(0); will-change:opacity, filter;
  animation:gmLiveCard 24s cubic-bezier(.37,0,.63,1) calc(var(--lc-d, 0s) - 24s) infinite !important;
}
@media (max-width:600px){
  html body #view-console:not(.ws-split) .gm-dash .gm-dash-card:not(#gm-dp):not(#gm-lg):not(#gm-lc)::before,
  html body #view-console :is(.godmind-hero.gm-conn-host, .orb-gallery.tts-board, article.analyzer.glass[data-analyzer], #journal-section):not(#gm-dp):not(#gm-lg):not(#gm-lc)::before{
    background:linear-gradient(180deg, rgba(255,255,255,.03) 0, rgba(255,255,255,0) 60px), linear-gradient(180deg, #1d2e48, #1b2a42) !important; }
}
/* down the section, one after another (the card carries its delay; the layer inherits it — a delay rule on ::before itself would
   lose to the :is() above, which weighs as much as #journal-section) */
html body #view-console .godmind-hero.gm-conn-host{ --lc-d:1.5s; }
html body #view-console .orb-gallery.tts-board{ --lc-d:3s; }
html body #view-console article.analyzer.glass[data-analyzer]{ --lc-d:4.5s; }
html body #view-console #journal-section{ --lc-d:6s; }
/* slate (hold) → blue → (hold) → grey → (hold) → slate; the grey lets go of its grayscale only once the layer is invisible again */
@keyframes gmLiveCard{
  0%, 16.667%{ opacity:0; filter:grayscale(0); }
  33.333%, 50%{ opacity:1; filter:grayscale(0); }
  66.667%, 83.333%{ opacity:1; filter:grayscale(1); }
  100%{ opacity:0; filter:grayscale(1); }
}
@media (prefers-reduced-motion:reduce){
  html body #view-console:not(.ws-split) .gm-dash .gm-dash-card:not(#gm-dp):not(#gm-lg):not(#gm-lc)::before,
  html body #view-console :is(.godmind-hero.gm-conn-host, .orb-gallery.tts-board, article.analyzer.glass[data-analyzer], #journal-section):not(#gm-dp):not(#gm-lg):not(#gm-lc)::before{ animation:none !important; opacity:0 !important; }
}

/* ══ 37 · v54b — THE BULK TRADER ON A PHONE AS THE OPERATOR'S PHOTO, AND THE FLOATING AUTO PANEL AS THE SAME PHOTO.
   The operator: "Fix on the bulk trader the phone layout to look exactly like the image provided no errors, also the auto floating
   panel fix to look exactly like the one provided in the image too". Measured on the photo (1080 px across — a share of the
   width below is that photo's share, so it holds on every phone):
   • the digit rings two rows of five, each ring 15 % of the column, its share drawn as an arc from twelve o'clock — hottest cyan,
     second blue, coldest red, second-coldest amber, the rest a dim slate — on a dark hairline track; the selected digit inside a
     thick cyan ring; the red ▲ just under the digit that landed last;
   • the stream straight under the rings: rounded square tiles, sixteen to a row, the last row centred (18 ticks = 16 + 2);
   • the panel that settles a play and the honest note follow the status line (the photo runs rings → stream → inputs → sides →
     status);
   • at the foot the Transactions strip — a hairline blue frame open to the right edge, a plain ^ and nothing else — with the page's
     dark under it; the AI orb 70 % across, sitting on the strip's lower edge; the Auto panel floating clear above.
   THE AUTO PANEL (every width): a dark capsule with a thin rim, ONE slim row; every control a dark pill with a dot — off: a dim rim,
   a dark dot, a dim name; on: the rim lights in the control's own colour (Skip AI steel, Double amber …), the dot and the name light
   up. Exactly the photo's five: 1 2 3 ● · Auto · Skip AI · Blue (the photo's "Green" — renamed in p3, same filter) · Double, and Stop
   while Auto runs. Single · Triple · Quad · Quint are not on the photo's panel: one of them shows, lit, only while it is armed (a
   Strategy Scan setup can arm it), so nothing ever runs unseen. On a phone the row keeps the photo's proportions (sizes in vw: the
   capsule ≈ 56 % of the screen, 5.5 % tall, 34.4 % above the foot). Opaque — the photo's panel is not faded.
   v56 — the day is a deep blue now (§ 35), so the rings keep these night colours all day: the day-ink overrides are gone. ══ */

/* ── the Auto panel, every width ── */
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc){
  --pr-off:#1d2a37;
  display:flex !important; flex-wrap:wrap !important; align-items:center !important; justify-content:center !important;
  gap:4px !important; row-gap:4px !important; padding:4px !important; border-radius:999px !important;
  background:#0a1826 !important; border:1px solid #1a2a3b !important;
  box-shadow:0 12px 30px -16px rgba(0,0,0,.95) !important; opacity:1 !important;
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important; overflow:visible !important;
}
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > :is(.bk-pill, .bk-counter){
  display:inline-flex !important; align-items:center !important; justify-content:center !important; flex:0 0 auto !important;
  height:26px !important; min-height:26px !important; padding:0 11px 0 6px !important; gap:6px !important; margin:0 !important;
  border-radius:999px !important; background:#101a26 !important; border:1px solid var(--pr-off) !important; box-shadow:none !important;
  color:#4d5d70 !important; font-size:10px !important; font-weight:700 !important; line-height:1 !important; letter-spacing:.01em !important;
  text-transform:none !important; text-shadow:none !important; filter:none !important; transform:none !important; transition:border-color .2s ease, color .2s ease;
}
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill[hidden]{ display:none !important; }
/* the photo's five only — the other four triggers appear (lit) only while armed */
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill:is(.single, .triple, .quad, .quint):not(.on){ display:none !important; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill > i{
  display:block !important; flex:none !important; width:9px !important; height:9px !important; margin:0 !important; border-radius:50% !important;
  background:#253241 !important; box-shadow:none !important; animation:none !important; }
/* on: the rim in the control's own colour, the dot and the name lit */
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.on{ border-color:var(--pr) !important; color:#dde5ee !important; background:#111c29 !important; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.on > i{ background:#7f8fa3 !important; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.auto{ --pr:#4fd1b0; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.skip{ --pr:#a9c1da; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.blue{ --pr:#5b8cff; --pr-off:#1b2b42; }   /* off, its rim keeps a trace of its colour, as the photo's Green does */
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.dbl{ --pr:#c9a253; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.single{ --pr:#22c3dd; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.triple{ --pr:#e86aa8; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.quad{ --pr:#818cf8; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.quint{ --pr:#d77cf0; }
/* Stop exists only while Auto runs: it is always lit, in red */
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.stop{ border-color:#e5566b !important; color:#ffd9de !important; background:#1a1622 !important; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.stop > i{ background:#e5566b !important; }
/* 1 2 3 ●: the three digits light as the live ticks count (cyan), the dot lights when the counter is switched on */
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-counter{ padding:0 8px 0 11px !important; gap:10px !important; border-color:#1d3546 !important; cursor:pointer; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-counter > b{
  display:inline-block !important; width:auto !important; height:auto !important; min-width:0 !important; padding:0 !important; margin:0 !important;
  background:none !important; box-shadow:none !important; border-radius:0 !important;
  color:#76869a !important; font-size:10px !important; font-weight:700 !important; line-height:1 !important; text-shadow:none !important; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-counter > b.on{ color:#8fe4f4 !important; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-counter::after{
  content:""; display:block; flex:none; width:9px; height:9px; margin-left:-1px; border-radius:50%; background:#1b3550; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-counter.on{ border-color:#46c6dc !important; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-counter.on::after{ background:#7f8fa3; }
/* the photo's order */
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-counter{ order:1; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.auto{ order:2; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.skip{ order:3; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.blue{ order:4; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.dbl{ order:5; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.single{ order:7; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.triple{ order:8; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.quad{ order:9; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.quint{ order:10; }
html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill.stop{ order:11; }
/* the 3-second gap after a run (data-state="cooling") keeps its line under the panel */
html body .gm-bulk-sec .bk-pills.is-floating[data-state="cooling"]:not(#gm-lg):not(#gm-lc){ border-color:#1d3344 !important; }

/* ── a phone ── */
@media (max-width:600px){
  /* the panel: the photo's one slim row in the photo's proportions — measured on it (1080 across): the capsule 568 wide and 59 tall,
     its pills 33 tall, 6 apart, the 1·2·3 pill 148 wide; in vw so it keeps that shape on every phone */
  html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc){ display:flex !important; flex-wrap:nowrap !important; gap:.55vw !important; row-gap:0 !important;
    padding:1vw .9vw !important; border-radius:999px !important; width:max-content !important; max-width:none !important; }
  html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > :is(.bk-pill, .bk-counter){ height:3.2vw !important; min-height:0 !important; min-width:0 !important;
    font-size:max(6px, 1.65vw) !important; padding:0 1.4vw 0 .9vw !important; gap:.8vw !important; }
  html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-counter{ padding:0 .8vw 0 2vw !important; gap:2.3vw !important; }
  html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-counter > b{ font-size:max(6px, 1.65vw) !important; }
  html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-pill > i{ width:1.5vw !important; height:1.5vw !important; }
  html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > .bk-counter::after{ width:1.5vw; height:1.5vw; margin-left:0; }
  html body .gm-bulk-sec .bk-pills.is-floating:not(.has-pos):not(#gm-lg):not(#gm-lc){ left:50% !important; right:auto !important; transform:translateX(-50%) !important;
    bottom:calc(34.4vw + env(safe-area-inset-bottom, 0px)) !important; }
  /* the column: the photo's margins (the section's own 13 px, nothing more) */
  html body .gm-bulk-sec .bk-wrap:not(#gm-lg):not(#gm-lc){ padding-left:0 !important; padding-right:0 !important; }

  /* the rings: two rows of five; the drawn ring 14.7 % of the column with the photo's 3 px track (the button is 79 % of its fifth,
     the circle 33.1 of its 36 units) */
  html body .gm-bulk-sec #bk-rings.five:not(#gm-lg):not(#gm-lc){ display:grid !important; grid-template-columns:repeat(5, minmax(0,1fr)) !important; column-gap:0 !important;
    row-gap:2vw !important; justify-items:center !important; align-items:center !important; padding:2px 0 0 !important; margin:0 !important; }
  html body .gm-bulk-sec #bk-rings.five:not(#gm-lg):not(#gm-lc) > .bk-ring{ width:79% !important; max-width:none !important; height:auto !important; aspect-ratio:1 !important; margin:0 !important;
    padding:0 !important; display:grid !important; place-items:center !important; align-content:center !important; row-gap:0 !important;
    background:transparent !important; border:0 !important; border-radius:50% !important; box-shadow:none !important; transform:none !important; }
  html body .gm-bulk-sec #bk-rings.five:not(#gm-lg):not(#gm-lc) > .bk-ring > svg{ inset:0 !important; width:100% !important; height:100% !important; transform:none !important; filter:none !important; }
  html body .gm-bulk-sec #bk-rings.five:not(#gm-lg):not(#gm-lc) > .bk-ring circle{ stroke-width:2.1 !important; }
  /* the figures as the photo sets them: a semibold digit, a light share under it */
  html body .gm-bulk-sec #bk-rings.five:not(#gm-lg):not(#gm-lc) > .bk-ring > b{ font-size:clamp(11px, 3.1vw, 13.5px) !important; font-weight:600 !important; line-height:1 !important; text-shadow:none !important; }
  html body .gm-bulk-sec #bk-rings.five:not(#gm-lg):not(#gm-lc) > .bk-ring > u{ font-family:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif !important; font-size:clamp(6.5px, 1.85vw, 8px) !important;
    font-weight:500 !important; line-height:1.1 !important; margin-top:2px !important; }
  /* the selected digit: a cyan ring just outside its own track */
  html body .gm-bulk-sec #bk-rings.five:not(#gm-lg):not(#gm-lc) > .bk-ring.sel::before{ content:"" !important; display:block !important; position:absolute !important; inset:-1.5% !important;
    border-radius:50% !important; border:2.2px solid #3ec0d5 !important; background:none !important; box-shadow:none !important; animation:none !important; pointer-events:none; }
  /* the ▲ under the digit that landed last, 3 px under its ring (the rows stand 2vw apart, so a top-row ▲ clears the ring below) */
  html body .gm-bulk-sec #bk-rings.five:not(#gm-lg):not(#gm-lc) > .bk-ring.last::after{ top:auto !important; right:auto !important; bottom:-6px !important; left:50% !important; margin-left:-4px !important; width:0 !important; height:0 !important;
    border-left:4px solid transparent !important; border-right:4px solid transparent !important; border-bottom-width:5px !important; border-bottom-style:solid !important; border-top:0 !important; filter:none !important; }
  /* their colours — the same at night and on the blue day */
  html body .gm-bulk-sec #bk-rings .bk-ring:not(#gm-lg) circle.bg{ stroke:#132232 !important; }
  html body .gm-bulk-sec #bk-rings .bk-ring:not(#gm-lg) circle.fg{ stroke:#24425f !important; filter:none !important; stroke-linecap:butt !important; }
  html body .gm-bulk-sec #bk-rings .bk-ring.hot1:not(#gm-lg) circle.fg{ stroke:#47bed2 !important; }
  html body .gm-bulk-sec #bk-rings .bk-ring.hot2:not(#gm-lg) circle.fg{ stroke:#2c71ee !important; }
  html body .gm-bulk-sec #bk-rings .bk-ring.cold1:not(#gm-lg) circle.fg{ stroke:#eb4c67 !important; }
  html body .gm-bulk-sec #bk-rings .bk-ring.cold2:not(#gm-lg) circle.fg{ stroke:#ffb340 !important; }
  html body .gm-bulk-sec #bk-rings .bk-ring.last:not(#gm-lg)::after{ border-bottom-color:#eb4c67 !important; }

  /* the stream: sixteen tiles a row, the last row centred */
  html body .gm-bulk-sec #bk-strip:not(#gm-lg):not(#gm-lc){ display:flex !important; flex-wrap:wrap !important; justify-content:center !important; align-content:flex-start !important;
    gap:1.05vw !important; padding:0 !important; margin:0 !important; grid-template-columns:none !important; }
  html body .gm-bulk-sec #bk-strip:not(#gm-lg):not(#gm-lc) > .bk-chip:not(.idle){ flex:0 0 auto !important; width:calc((100% - 15 * 1.05vw) / 16) !important; min-width:0 !important;
    height:auto !important; min-height:0 !important; aspect-ratio:1 !important; padding:0 !important; border-radius:22% !important;
    font-size:clamp(8.5px, 2.45vw, 11px) !important; font-weight:800 !important; line-height:1 !important; outline:none !important; box-shadow:none !important; }

  /* the photo's order: the stream right under the rings; what settles the play and the honest note after the status line */
  html body .gm-bulk-sec:not([data-hy="1"]) #bk-match:not(#gm-lg){ order:2; }
  html body .gm-bulk-sec:not([data-hy="1"]) .bk-wrap > .bk-honest:not(#gm-lg){ order:3; }
  html body .gm-bulk-sec .bk-wrap:not(#gm-lg):not(#gm-lc){ padding-bottom:calc(34.4vw + 96px + env(safe-area-inset-bottom, 0px)) !important; }

  /* the scan buttons: dark with the photo's cyan rim */
  html body .gm-bulk-sec .bk-ctl-l .bk-scan:not(.is-scanning):not(#gm-lg):not(#gm-lc){ background:#132a4a !important; border:1px solid #3fa9c6 !important; box-shadow:none !important; color:#e6f1fb !important; }

  /* the status line: the photo's box, no dot */
  html body .gm-bulk-sec .bk-msg-in:not(#gm-lg):not(#gm-lc) > i{ display:none !important; }
  html body .gm-bulk-sec .bk-msg-in:not(#gm-lg):not(#gm-lc){ background:#112236 !important; border:1px solid #283d52 !important; border-radius:8px !important;
    padding:9px 12px !important; font-size:11.5px !important; line-height:1.45 !important; }

  /* the photo's slim desk: small spaced labels, low fields, a modest price — its proportions at sizes a phone still reads
     (the fields keep 16 px figures, under which iOS zooms the page on focus) */
  html body .gm-bulk-sec :is(.bk-hist, .bk-inputs > .bk-field, #bk-tick .bk-tick-l):not(#gm-lg):not(#gm-lc) > u{ font-size:9px !important; letter-spacing:.09em !important; line-height:1.35 !important; }
  html body .gm-bulk-sec :is(#bk-hist, #bk-dur, #bk-stake, #bk-count):not(#gm-lg):not(#gm-lc){ height:34px !important; min-height:0 !important; border-radius:7px !important; }
  html body .gm-bulk-sec #bk-hist-note:not(#gm-lg):not(#gm-lc){ font-size:10px !important; line-height:1.4 !important; }
  html body .gm-bulk-sec #bk-tick:not(#gm-lg):not(#gm-lc) .bk-tick-l > b{ font-size:22px !important; line-height:1.05 !important; }
  html body .gm-bulk-sec #bk-tick:not(#gm-lg):not(#gm-lc) > .bk-pl{ padding:6px 14px !important; border-radius:7px !important; min-width:0 !important; min-height:0 !important; }
  html body .gm-bulk-sec #bk-tick:not(#gm-lg):not(#gm-lc) > .bk-pl > u{ font-size:7.5px !important; line-height:1.3 !important; }
  html body .gm-bulk-sec #bk-tick:not(#gm-lg):not(#gm-lc) > .bk-pl > b{ font-size:13px !important; line-height:1.1 !important; }
  /* the two sides: the photo's low bars — the name over the share, nothing else (a warning still shows; the digit is the cyan ring,
     the count is No of trades) */
  html body .gm-bulk-sec #bk-sides:not(#gm-lg):not(#gm-lc){ gap:1.7vw !important; }
  html body .gm-bulk-sec #bk-sides:not(#gm-lg):not(#gm-lc) > .bk-side{ flex-direction:column !important; align-items:flex-start !important; justify-content:center !important; gap:4px !important;
    min-height:0 !important; height:auto !important; padding:8px 11px !important; border-radius:7px !important; text-align:left !important; }
  html body .gm-bulk-sec #bk-sides:not(#gm-lg):not(#gm-lc) > .bk-side .bk-side-n{ font-size:12px !important; line-height:1.1 !important; }
  html body .gm-bulk-sec #bk-sides:not(#gm-lg):not(#gm-lc) > .bk-side .bk-side-x{ display:none !important; }
  html body .gm-bulk-sec #bk-sides:not(#gm-lg):not(#gm-lc) > .bk-side .bk-side-q:not(.is-warn){ display:none !important; }
  html body .gm-bulk-sec #bk-sides:not(#gm-lg):not(#gm-lc) > .bk-side > b{ font-size:13.5px !important; line-height:1 !important; margin:0 !important; align-self:flex-start !important; }

  /* the Transactions strip: a hairline blue frame (open to the right edge), a plain ^, the page's dark under it */
  html body .gm-bulk-sec .bk-dock:not(#gm-lg):not(#gm-lc){ left:0 !important; right:0 !important; bottom:0 !important; top:auto !important;
    height:calc(21.6vw + env(safe-area-inset-bottom, 0px)) !important; min-height:0 !important; padding:0 !important; margin:0 !important; display:block !important;
    border:0 !important; border-radius:0 !important; box-shadow:none !important; background:#0b121c !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
  html body .gm-bulk-sec .bk-dock:not(#gm-lg):not(#gm-lc)::before{ content:""; position:absolute; left:1.3vw; right:-1px; top:0; height:7.8vw; min-height:28px; box-sizing:border-box;
    border:1px solid #3c5670; border-right:0; pointer-events:none; }
  html body .gm-bulk-sec .bk-dock:not(#gm-lg):not(#gm-lc) > .bk-dock-btn{ position:absolute !important; left:1.3vw !important; right:0 !important; top:0 !important;
    width:auto !important; height:7.8vw !important; min-height:28px !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important;
    background:transparent !important; box-shadow:none !important; color:#c0d0df !important; display:grid !important; place-items:center !important; }
  html body .gm-bulk-sec .bk-dock:not(#gm-lg):not(#gm-lc) > .bk-dock-btn > svg{ width:24px !important; height:24px !important; transform:scale(1.75, 1.1) !important; }
  html body .gm-bulk-sec .bk-dock:not(#gm-lg):not(#gm-lc) > .bk-dock-btn > svg path{ stroke-width:1.7 !important; }
  html body .gm-bulk-sec .bk-dock:not(#gm-lg):not(#gm-lc) > .bk-dock-sum{ display:none !important; }

  /* the AI orb: 70 % across, sitting on the strip's lower edge (a dragged orb keeps its own place) */
  html body .gm-bulk-sec .bk-fab:not(#gm-lg):not(#gm-lc){ width:max(38px, 10.2vw) !important; height:max(38px, 10.2vw) !important; min-width:0 !important; min-height:0 !important; padding:0 !important;
    border:1px solid rgba(124,106,232,.42) !important;
    background:radial-gradient(circle at 38% 30%, rgba(70,104,190,.94) 0%, rgba(37,69,140,.92) 40%, rgba(28,51,106,.9) 72%, rgba(26,40,92,.9) 100%) !important;
    box-shadow:0 0 0 3px rgba(98,78,210,.16), 0 0 18px 5px rgba(98,78,210,.38), inset 0 1px 3px rgba(255,255,255,.18), inset 0 -6px 10px rgba(0,0,0,.32) !important;
    color:rgba(200,212,236,.66) !important; font-size:max(16px, 5vw) !important; font-weight:800 !important; letter-spacing:.02em !important; }
  html body .gm-bulk-sec .bk-fab:not([style*="top:"]):not(#gm-lg):not(#gm-lc){ left:65.3vw !important; right:auto !important; top:auto !important;
    bottom:calc(6.66vw + env(safe-area-inset-bottom, 0px)) !important; }
  html body .gm-bulk-sec .bk-fab:not(#gm-lg):not(#gm-lc) > .bk-fab-ring{ display:none !important; }
  html body .gm-bulk-sec .bk-fab:not(#gm-lg):not(#gm-lc)::after{ display:none !important; }
  html body .gm-bulk-sec .bk-fab:not(#gm-lg):not(#gm-lc)::before{ content:""; position:absolute; top:2%; right:4%; width:22%; height:22%; border-radius:50%;
    background:#475466; box-shadow:0 0 0 1.5px #0b121c; z-index:2; pointer-events:none; }
  html body .gm-bulk-sec .bk-fab.is-linked:not(#gm-lg):not(#gm-lc)::before{ background:#22c07a; }
}
@media (max-width:600px) and (prefers-reduced-motion:reduce){
  html body .gm-bulk-sec .bk-pills.is-floating:not(#gm-lg):not(#gm-lc) > :is(.bk-pill, .bk-counter){ transition:none !important; }
}
