/* ══════════════════════════════════════════════════════════════════
   BlockTicker v44 — REVAMP LAYER
   CoinMarketCap-inspired navbar + Blog/Analysis/Signals/Editorial
   Loads AFTER frontend.css, critical-fixes.css, and patch-animations.css
   ══════════════════════════════════════════════════════════════════ */

/* ── DISTINCTIVE TYPOGRAPHY ─────────────────────────────────────────
   Chivo: display (headlines)  |  IBM Plex Sans: body  |  JetBrains Mono: numbers/data
   v117: Terminal aesthetic — neon green, deep black, zero radius
   Loaded from Google Fonts via preconnect in PHP for perf.
─────────────────────────────────────────────────────────────────── */
:root {
    /* Type — Chivo for punchy display, IBM Plex Sans for body, mono for all data */
    --bt-font-display: 'Chivo', 'Plus Jakarta Sans', 'SF Pro Display', -apple-system, sans-serif;
    --bt-font-body:    'IBM Plex Sans', 'Plus Jakarta Sans', 'SF Pro Text', -apple-system, sans-serif;
    --bt-font-mono:    'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;

    /* Surfaces — deeper, blacker, more industrial */
    --bt-bg:          #0A0B0D;
    --bt-bg-elev:     #121316;
    --bt-bg-elev-2:   #1A1C20;
    --bt-bg-stripe:   #0d0e11;

    /* Borders */
    --bt-border:      rgba(255,255,255,.05);
    --bt-border-2:    rgba(255,255,255,.10);

    /* Text — pure white headlines, zinc scale for hierarchy */
    --bt-text:        #ffffff;
    --bt-text-2:      #a1a1aa;
    --bt-text-3:      #71717a;
    --bt-text-4:      #52525b;

    /* Accents — single neon green identity, drop blue entirely */
    --bt-accent:      #00FF66;
    --bt-accent-warm: #FFB800;
    --bt-danger:      #FF3B30;
    /* --bt-accent-2 removed — one accent, terminal discipline */

    --bt-shadow-sm:  0 2px 8px rgba(0,0,0,.4);
    --bt-shadow-md:  0 8px 24px rgba(0,0,0,.55);
    --bt-shadow-lg:  0 16px 48px rgba(0,0,0,.75);

    /* Radius — zero. Terminal aesthetic means no rounded anything. */
    --bt-radius:     0;
    --bt-radius-sm:  0;
    --bt-radius-lg:  0;

    /* Container — match reference 1400px */
    --bt-container:  1400px;

    --bt-dur-fast: .18s;
    --bt-dur:      .28s;
    --bt-dur-slow: .55s;
    --bt-ease:     cubic-bezier(.22,.61,.36,1);
    --bt-ease-out: cubic-bezier(.16,1,.3,1);
}

/* ── GLOBAL RADIUS PURGE ─────────────────────────────────────────────
   Kill every border-radius site-wide. The ~120 individual declarations
   stay in place but this rule overrides them all. Refactor gradually.
   Exception: .bt-icon-circle for coin/avatar circles (see below).
─────────────────────────────────────────────────────────────────── */
.fxlm-scope *,
.bt-scope *,
[class*="bt-h84-"],
[class*="fxlm-"],
[class*="bt-brief"],
[class*="bt-card"],
[class*="bt-stats"],
[class*="bt-fxsess"],
[class*="bt-av-"],
[class*="bt-desk-"],
[class*="cp-navbar"],
[class*="cp-dropdown"] {
  border-radius: 0 !important;
}
/* Preserve true circles — coin icons, avatars, pulse dots only */
.bt-icon-circle,
.bt-coin-circle,
.fxlm-news-img.bt-icon-circle { border-radius: 50% !important; }

body,
.cp-navbar, .cp-nav-link, .cp-logo-text,
.fxlm-page-header h1, .fxlm-page-header p,
.bt-blog-tab, .bt-blog-header,
.bt-section-head h2,
.fxlm-section-header h2 {
    font-family: var(--bt-font-body) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/* Display headings use Chivo */
h1, h2, h3,
.bt-h84-headline,
.bt-h84-desk-title,
.bt-h84-explore-head h2,
.bt-av-h1,
.bt-brief-title,
.fxlm-page-header h1 {
    font-family: var(--bt-font-display) !important;
}

/* ══════════════════════════════════════════════════════════════════
   1. NAVBAR — CoinMarketCap-inspired refinement
   ══════════════════════════════════════════════════════════════════ */

/* Ambient top band — subtle colour wash to mimic CMC's premium feel */
.cp-navbar {
    background: linear-gradient(180deg, rgba(10,14,26,.96) 0%, rgba(10,14,26,.92) 100%) !important;
    backdrop-filter: blur(24px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(140%) !important;
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.02) inset;
    height: 64px;
}
.cp-navbar.scrolled {
    background: rgba(10,14,26,.985) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.03) inset !important;
}
.cp-nav-inner {
    max-width: 1440px !important;
    padding: 0 24px !important;
    gap: 8px;
}

/* Logo — more assertive, crypto-native */
.cp-logo-text {
    font-family: var(--bt-font-display) !important;
    font-weight: 800 !important;
    font-size: 20px !important;
    letter-spacing: -0.6px !important;
    color: #f1f5f9 !important;
}
.cp-logo-accent {
    color: var(--bt-accent) !important;
    -webkit-text-fill-color: var(--bt-accent) !important;
    font-weight: 800 !important;
}

/* Nav links — CMC-style: light weight, subtle spacing, pill hover */
.cp-nav-links {
    gap: 2px !important;
    margin-left: 20px;
}
.cp-nav-link {
    font-family: var(--bt-font-body) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #a1a8b8 !important;
    padding: 8px 13px !important;
    border-radius: 8px !important;
    letter-spacing: -0.1px !important;
    transition: color var(--bt-dur-fast) var(--bt-ease),
                background var(--bt-dur-fast) var(--bt-ease) !important;
    position: relative;
}
.cp-nav-link:hover {
    color: #ffffff !important;
    background: rgba(255,255,255,.04) !important;
}
.cp-nav-link.active {
    color: var(--bt-accent) !important;
    background: rgba(0,255,102,.06) !important;
}
.cp-nav-link.active::after {
    content: '';
    position: absolute;
    left: 13px; right: 13px;
    bottom: 2px;
    height: 2px;
    border-radius: 0;
    background: var(--bt-accent);
}
/* Dropdown caret softer */
.cp-has-dropdown { padding-right: 10px !important; }
.cp-has-dropdown span + * { opacity: .6; }

/* Dropdown panel — refined, CMC-style with subtle shadow */
.cp-dropdown-menu {
    background: #121316 !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 14px !important;
    padding: 10px 0 !important;
    box-shadow: var(--bt-shadow-lg), 0 0 0 1px rgba(0,255,102,.03) inset !important;
    top: calc(100% + 4px) !important;
    min-width: 240px !important;
    overflow: hidden;
    animation: bt-dropdown-in .22s var(--bt-ease-out);
}
@keyframes bt-dropdown-in {
    from { opacity: 0; transform: translateY(-6px) scale(.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}
.cp-dropdown-menu a {
    padding: 10px 18px !important;
    font-size: 13px !important;
    color: #b4bcce !important;
    font-weight: 500 !important;
    letter-spacing: -0.1px;
    display: flex !important;
    align-items: center;
    gap: 10px;
    position: relative;
    transition: color var(--bt-dur-fast) ease, background var(--bt-dur-fast) ease, padding-left var(--bt-dur-fast) ease !important;
}
.cp-dropdown-menu a:hover {
    background: rgba(0,255,102,.06) !important;
    color: var(--bt-accent) !important;
    padding-left: 22px !important;
}
.cp-dropdown-menu a:hover::before {
    content: '';
    position: absolute;
    left: 0; top: 6px; bottom: 6px;
    width: 3px;
    border-radius: 0;
    background: var(--bt-accent);
}

/* Dropdown section labels — smaller, cleaner */
.cp-dropdown-menu div[style*="text-transform:uppercase"],
.cp-dd-section {
    font-size: 9px !important;
    letter-spacing: 1.4px !important;
    color: #475569 !important;
    font-weight: 700 !important;
    padding: 10px 18px 4px !important;
    text-transform: uppercase !important;
}

/* Dropdown thin dividers */
.cp-dd-divider {
    height: 1px;
    background: rgba(255,255,255,.05);
    margin: 6px 0;
}

/* "New" badge — refined */
.cp-dropdown-menu span[style*="background:linear-gradient"] {
    font-family: var(--bt-font-body) !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 2px 8px rgba(167,139,250,.35);
}

/* Quick action links (Portfolio, Watchlist) — CMC-style icon buttons */
.bt-nav-quick-link {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 7px 11px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #cbd5e1 !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    border: 1px solid rgba(255,255,255,.06) !important;
    background: rgba(255,255,255,.02) !important;
    transition: all var(--bt-dur-fast) var(--bt-ease) !important;
    letter-spacing: -0.1px !important;
}
.bt-nav-quick-link:hover {
    background: rgba(0,255,102,.08) !important;
    border-color: rgba(0,255,102,.25) !important;
    color: var(--bt-accent) !important;
    transform: translateY(-1px);
}
.bt-nav-quick-link svg {
    flex-shrink: 0;
}

/* Auth buttons — refined like CMC */
.bt-nav-auth-login,
.bt-nav-login {
    font-family: var(--bt-font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 16px !important;
    color: #e2e8f0 !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 8px !important;
    letter-spacing: -0.1px !important;
    transition: all var(--bt-dur-fast) var(--bt-ease) !important;
    cursor: pointer;
}
.bt-nav-auth-login:hover,
.bt-nav-login:hover {
    background: rgba(255,255,255,.06) !important;
    border-color: rgba(255,255,255,.2) !important;
}
.bt-nav-auth-signup,
.bt-nav-signup {
    font-family: var(--bt-font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 8px 18px !important;
    color: #000 !important;
    background: linear-gradient(100deg, var(--bt-accent) 0%, var(--bt-accent) 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    letter-spacing: -0.1px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(0,255,102,.25);
    transition: all var(--bt-dur-fast) var(--bt-ease) !important;
}
.bt-nav-auth-signup:hover,
.bt-nav-signup:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0,255,102,.45) !important;
    filter: brightness(1.05);
}

/* Search + language buttons — icon style */
.bt-search-btn,
.bt-lang-btn {
    width: 36px; height: 36px;
    display: inline-flex !important;
    align-items: center; justify-content: center;
    background: rgba(255,255,255,.04) !important;
    border: 1px solid rgba(255,255,255,.06) !important;
    border-radius: 9px !important;
    color: #cbd5e1 !important;
    cursor: pointer;
    transition: all var(--bt-dur-fast) var(--bt-ease) !important;
}
.bt-search-btn:hover,
.bt-lang-btn:hover {
    background: rgba(255,255,255,.07) !important;
    border-color: rgba(255,255,255,.12) !important;
}
.bt-lang-btn {
    width: auto;
    padding: 0 10px !important;
    gap: 5px;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    min-width: 64px;
}

/* ══════════════════════════════════════════════════════════════════
   2. UNIVERSAL PAGE HEADER — proper alignment with content width
   ══════════════════════════════════════════════════════════════════ */
.fxlm-page-header {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 48px 24px 36px !important;
    border-bottom: 1px solid var(--bt-border) !important;
    margin-bottom: 40px !important;
    position: relative;
}
.fxlm-page-header::before {
    content: '';
    position: absolute;
    left: 24px; top: 56px;
    width: 3px; height: 48px;
    background: linear-gradient(180deg, var(--bt-accent), var(--bt-accent));
    border-radius: 3px;
    opacity: .85;
    animation: bt-accent-grow .6s var(--bt-ease-out) .15s both;
}
@keyframes bt-accent-grow {
    from { height: 0; opacity: 0; }
    to   { height: 48px; opacity: .85; }
}
.fxlm-page-header h1 {
    font-family: var(--bt-font-display) !important;
    font-size: clamp(28px, 3.5vw, 44px) !important;
    font-weight: 800 !important;
    color: #f1f5f9 !important;
    margin: 0 0 12px !important;
    padding-left: 20px !important;
    letter-spacing: -1px !important;
    line-height: 1.1 !important;
    animation: bt-slide-up .6s var(--bt-ease-out) both;
}
.fxlm-page-header p {
    font-family: var(--bt-font-body) !important;
    font-size: 16px !important;
    color: #94a3b8 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    padding-left: 20px !important;
    max-width: 720px !important;
    animation: bt-slide-up .6s var(--bt-ease-out) .1s both;
}
@keyframes bt-slide-up {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
.fxlm-breadcrumbs,
.bt-breadcrumbs {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 18px 24px 0 !important;
}

/* Section headers — consistent across pages */
.bt-section-head,
.fxlm-section-header {
    max-width: 1280px !important;
    margin: 36px auto 20px !important;
    padding: 0 24px 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    border-bottom: 1px solid var(--bt-border) !important;
}
.bt-section-head h2,
.fxlm-section-header h2 {
    font-family: var(--bt-font-display) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    margin: 0 !important;
    letter-spacing: -0.4px !important;
    flex: 1;
}
.bt-section-badge,
.fxlm-section-badge {
    font-family: var(--bt-font-body) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 999px !important;
    background: rgba(0,255,102,.1) !important;
    color: var(--bt-accent) !important;
    border: 1px solid rgba(0,255,102,.25) !important;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

/* ══════════════════════════════════════════════════════════════════
   3. BLOG PAGE — cards, tabs, empty state, animations
   ══════════════════════════════════════════════════════════════════ */
.bt-blog-header {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

/* Tabs — pill-style like CMC categories */
.bt-blog-tabs {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap;
    margin-bottom: 28px !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid var(--bt-border) !important;
    position: relative;
}
.bt-blog-tab {
    font-family: var(--bt-font-body) !important;
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    color: #8892a8 !important;
    padding: 8px 16px !important;
    border-radius: 999px !important;
    cursor: pointer;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: -0.1px;
    white-space: nowrap;
    transition: all var(--bt-dur-fast) var(--bt-ease) !important;
}
.bt-blog-tab:hover {
    color: #e2e8f0 !important;
    background: rgba(255,255,255,.04) !important;
    border-color: rgba(255,255,255,.14) !important;
    transform: translateY(-1px);
}
.bt-blog-tab.active {
    color: #000 !important;
    background: var(--bt-accent) !important;
    border-color: transparent !important;
    box-shadow: 0 4px 14px rgba(0,255,102,.28);
}

/* Revamped blog hero — remove inline hacky style, use class */
.bt-blog-hero {
    max-width: 1280px;
    margin: 0 auto 40px;
    padding: 56px 24px 44px;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--bt-border);
}
.bt-blog-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 600px 280px at 15% 30%, rgba(0,255,102,.07), transparent 60%),
        radial-gradient(ellipse 500px 260px at 85% 70%, rgba(0,255,102,.06), transparent 60%);
    pointer-events: none;
}
.bt-blog-hero-inner {
    max-width: 760px;
    position: relative;
}
.bt-blog-hero .bt-blog-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(0,255,102,.1);
    border: 1px solid rgba(0,255,102,.22);
    border-radius: 999px;
    padding: 5px 14px;
    font-size: 11px;
    font-weight: 700;
    color: var(--bt-accent);
    letter-spacing: 1.4px;
    text-transform: uppercase;
    margin-bottom: 20px;
    animation: bt-slide-up .6s var(--bt-ease-out) both;
}
.bt-blog-hero h1 {
    font-family: var(--bt-font-display);
    font-size: clamp(32px, 5vw, 56px) !important;
    font-weight: 800 !important;
    color: #f1f5f9 !important;
    margin: 0 0 16px !important;
    line-height: 1.05 !important;
    letter-spacing: -1.8px !important;
    animation: bt-slide-up .7s var(--bt-ease-out) .05s both;
}
.bt-blog-hero h1 span.bt-accent-grad {
    background: linear-gradient(100deg, var(--bt-accent) 0%, var(--bt-accent) 50%, var(--bt-accent) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.bt-blog-hero p {
    font-family: var(--bt-font-body);
    font-size: 17px !important;
    color: #94a3b8 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    max-width: 640px;
    animation: bt-slide-up .7s var(--bt-ease-out) .1s both;
}

/* Blog empty state — softer, inviting */
.fxlm-blog-empty {
    max-width: 1280px;
    margin: 30px auto !important;
    padding: 80px 40px !important;
    text-align: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(0,255,102,.06), transparent 60%),
        linear-gradient(180deg, rgba(17,24,39,.6) 0%, rgba(10,14,26,.3) 100%) !important;
    border: 1px dashed rgba(0,255,102,.18) !important;
    border-radius: var(--bt-radius-lg) !important;
    position: relative;
    overflow: hidden;
    animation: bt-fade-in .6s var(--bt-ease-out) both;
}
.fxlm-blog-empty::before {
    content: '';
    position: absolute;
    left: 50%; top: 40px;
    transform: translateX(-50%);
    width: 120px; height: 120px;
    background: radial-gradient(circle, rgba(0,255,102,.15), transparent 70%);
    animation: bt-pulse 2.8s ease-in-out infinite;
    pointer-events: none;
}
@keyframes bt-pulse {
    0%,100% { opacity: .4; transform: translateX(-50%) scale(1); }
    50%     { opacity: .8; transform: translateX(-50%) scale(1.2); }
}
.fxlm-blog-empty > div[style*="font-size:48px"] {
    font-size: 56px !important;
    margin-bottom: 20px !important;
    position: relative;
    animation: bt-float 3s ease-in-out infinite;
}
@keyframes bt-float {
    0%,100% { transform: translateY(0); }
    50%     { transform: translateY(-10px); }
}
.fxlm-blog-empty h3 {
    font-family: var(--bt-font-display) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.4px !important;
    margin: 0 0 10px !important;
    position: relative;
}
.fxlm-blog-empty p {
    font-size: 14.5px !important;
    color: #94a3b8 !important;
    line-height: 1.7 !important;
    max-width: 520px !important;
    margin: 0 auto !important;
    position: relative;
}
.fxlm-blog-empty p:last-of-type {
    margin-top: 18px !important;
    font-size: 12px !important;
    color: var(--bt-text-3) !important;
}
.fxlm-blog-empty strong { color: var(--bt-accent) !important; }

/* Stagger-reveal for blog cards when they exist */
@supports (animation-timeline: view()) {
    .fxlm-blog-grid > *,
    .fxlm-blog-cards-grid > * {
        animation: bt-card-in 1s var(--bt-ease-out) both;
        animation-timeline: view();
        animation-range: entry 0% entry 30%;
    }
}
@keyframes bt-card-in {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ══════════════════════════════════════════════════════════════════
   4. AI MARKET ANALYSIS — restructure
   ══════════════════════════════════════════════════════════════════ */
.bt-analysis-meta {
    max-width: 1280px !important;
    margin: -20px auto 24px !important;
    padding: 0 24px 20px !important;
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap;
}
.bt-am-badge {
    font-family: var(--bt-font-body) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: -0.1px !important;
    padding: 6px 14px !important;
    border-radius: 999px !important;
    background: rgba(0,255,102,.08) !important;
    border: 1px solid rgba(0,255,102,.22) !important;
    color: var(--bt-accent) !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.bt-pulse {
    display: inline-block;
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--bt-accent);
    position: relative;
    animation: bt-dot-pulse 1.8s ease-in-out infinite;
}
@keyframes bt-dot-pulse {
    0%,100% { box-shadow: 0 0 0 0 rgba(0,255,102,.5); }
    50%     { box-shadow: 0 0 0 6px rgba(0,255,102,0); }
}

/* Page wrapper for analysis — no longer 2-column on default
   We move newsletter to full-width below */
.bt-analysis-page-wrap {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    display: block !important;
}
.bt-analysis-sticky-sidebar {
    display: none !important;  /* removed per user request: "Stay Ahead not in right place" */
}

/* Section below: full-width newsletter band */
.bt-analysis-newsletter-band {
    max-width: 1280px;
    margin: 48px auto 0;
    padding: 0 24px;
}

/* Analysis grid fixes */
.fxlm-blog-grid,
.fxlm-blog-cards-grid {
    max-width: 1280px !important;
    margin: 20px auto !important;
    padding: 0 24px !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 24px !important;
}

.fxlm-blog-card,
.fxlm-blog-compact-card {
    background: var(--bt-bg-elev) !important;
    border: 1px solid var(--bt-border) !important;
    border-radius: var(--bt-radius) !important;
    overflow: hidden;
    transition: transform var(--bt-dur) var(--bt-ease),
                border-color var(--bt-dur) var(--bt-ease),
                box-shadow var(--bt-dur) var(--bt-ease) !important;
}
.fxlm-blog-card:hover,
.fxlm-blog-compact-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0,255,102,.25) !important;
    box-shadow: var(--bt-shadow-md), 0 0 0 1px rgba(0,255,102,.08) inset !important;
}

/* ══════════════════════════════════════════════════════════════════
   5. FREE TRADING SIGNALS — alignment + new display
   ══════════════════════════════════════════════════════════════════ */
.fxlm-signals-feed,
.fxlm-signals-v2 {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)) !important;
    gap: 14px !important;
}

/* Reset previous signal tile to a uniform card */
.fxlm-signal-v2 {
    display: grid !important;
    grid-template-columns: 4px 1fr auto !important;
    align-items: stretch !important;
    gap: 0 !important;
    background: var(--bt-bg-elev) !important;
    border: 1px solid var(--bt-border) !important;
    border-radius: var(--bt-radius) !important;
    text-decoration: none !important;
    overflow: hidden;
    transition: transform var(--bt-dur) var(--bt-ease),
                border-color var(--bt-dur) var(--bt-ease),
                box-shadow var(--bt-dur) var(--bt-ease) !important;
    animation: bt-signal-in .55s var(--bt-ease-out) both;
    position: relative;
}
@keyframes bt-signal-in {
    from { opacity: 0; transform: translateX(-12px); }
    to   { opacity: 1; transform: translateX(0); }
}
.fxlm-signal-v2:hover {
    transform: translateY(-2px);
    border-color: var(--sig-accent, rgba(0,255,102,.4)) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.35),
                0 0 0 1px var(--sig-accent, rgba(0,255,102,.2)) inset !important;
}
.fxlm-signal-v2-bar {
    width: 4px !important;
    align-self: stretch;
    background: var(--sig-accent, var(--bt-accent)) !important;
    box-shadow: 0 0 14px var(--sig-accent, rgba(0,255,102,.5));
}
.fxlm-signal-v2-body {
    padding: 16px 18px !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}
.fxlm-signal-v2-title {
    font-family: var(--bt-font-body) !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    line-height: 1.4 !important;
    letter-spacing: -0.2px !important;
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fxlm-signal-v2-meta {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px !important;
    font-size: 11px !important;
}
.fxlm-signal-v2-source {
    font-family: var(--bt-font-body) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    border-width: 1px !important;
    border-style: solid !important;
}
.fxlm-signal-v2-sent {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: -0.1px;
}
.fxlm-signal-v2-time {
    font-size: 11px !important;
    color: var(--bt-text-3) !important;
    margin-left: auto !important;
    font-variant-numeric: tabular-nums;
    font-family: var(--bt-font-mono) !important;
}
.fxlm-signal-v2-arrow {
    align-self: center !important;
    padding: 0 18px !important;
    font-size: 18px !important;
    color: #475569 !important;
    transition: transform var(--bt-dur-fast) var(--bt-ease), color var(--bt-dur-fast) var(--bt-ease) !important;
}
.fxlm-signal-v2:hover .fxlm-signal-v2-arrow {
    transform: translateX(4px);
    color: var(--sig-accent, var(--bt-accent)) !important;
}

/* Legacy signal tiles */
.fxlm-signal-item {
    background: var(--bt-bg-elev) !important;
    border: 1px solid var(--bt-border) !important;
    border-radius: var(--bt-radius) !important;
    padding: 16px 18px !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: all var(--bt-dur) var(--bt-ease) !important;
}
.fxlm-signal-item:hover {
    border-color: rgba(0,255,102,.3) !important;
    transform: translateY(-2px);
}

/* Signals disclaimer — align with content */
.fxlm-signals-disclaimer {
    max-width: 1280px;
    margin: 30px auto 20px !important;
    padding: 14px 18px !important;
    background: linear-gradient(90deg, rgba(255,184,0,.08), rgba(255,184,0,.02)) !important;
    border-left: 3px solid var(--bt-accent-warm) !important;
    border-radius: 0 var(--bt-radius-sm) var(--bt-radius-sm) 0 !important;
    color: #fcd34d !important;
}

/* Empty signals state — more elegant */
.fxlm-signals-empty {
    max-width: 860px !important;
    margin: 30px auto !important;
    padding: 60px 40px !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,184,0,.06), transparent 60%),
        linear-gradient(180deg, rgba(17,24,39,.6) 0%, rgba(10,14,26,.3) 100%) !important;
    border: 1px dashed rgba(255,184,0,.2) !important;
    border-radius: var(--bt-radius-lg) !important;
    text-align: center;
    animation: bt-fade-in .6s var(--bt-ease-out) both;
}

/* ══════════════════════════════════════════════════════════════════
   6. EDITORIAL POLICY — card layout, fonts, animations
   ══════════════════════════════════════════════════════════════════ */
.bt-editorial-wrap {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 24px 60px;
}
.bt-editorial-commit {
    background:
        linear-gradient(135deg, rgba(0,255,102,.08) 0%, rgba(0,255,102,.04) 100%),
        radial-gradient(circle at 90% -10%, rgba(0,255,102,.15), transparent 60%) !important;
    border: 1px solid rgba(0,255,102,.22) !important;
    border-radius: var(--bt-radius-lg) !important;
    padding: 32px 36px !important;
    margin-bottom: 36px !important;
    position: relative;
    overflow: hidden;
    animation: bt-slide-up .6s var(--bt-ease-out) .1s both;
}
.bt-editorial-commit::after {
    content: '📋';
    position: absolute;
    right: 24px; top: 24px;
    font-size: 64px;
    opacity: .08;
    transform: rotate(-12deg);
}
.bt-editorial-commit h2 {
    font-family: var(--bt-font-display) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--bt-accent) !important;
    margin: 0 0 12px !important;
    letter-spacing: -0.3px !important;
}
.bt-editorial-commit p {
    font-family: var(--bt-font-body) !important;
    color: #cbd5e1 !important;
    line-height: 1.7 !important;
    font-size: 15px !important;
    margin: 0 !important;
    max-width: 720px;
}

.bt-editorial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 36px;
}
.bt-editorial-card {
    background: var(--bt-bg-elev) !important;
    border: 1px solid var(--bt-border) !important;
    border-radius: var(--bt-radius) !important;
    padding: 26px 28px !important;
    position: relative;
    overflow: hidden;
    transition: transform var(--bt-dur) var(--bt-ease),
                border-color var(--bt-dur) var(--bt-ease),
                box-shadow var(--bt-dur) var(--bt-ease) !important;
    animation: bt-slide-up .7s var(--bt-ease-out) both;
}
.bt-editorial-card:nth-child(1) { animation-delay: .15s; }
.bt-editorial-card:nth-child(2) { animation-delay: .25s; }
.bt-editorial-card:nth-child(3) { animation-delay: .35s; }
.bt-editorial-card:nth-child(4) { animation-delay: .45s; }
.bt-editorial-card:nth-child(5) { animation-delay: .55s; }
.bt-editorial-card::before {
    content: '';
    position: absolute;
    left: 0; top: 0;
    width: 100%; height: 3px;
    background: linear-gradient(90deg, var(--card-c, var(--bt-accent)) 0%, transparent 70%);
    opacity: .8;
}
.bt-editorial-card:hover {
    transform: translateY(-3px);
    border-color: rgba(0,255,102,.25) !important;
    box-shadow: var(--bt-shadow-md);
}
.bt-editorial-card .bt-ec-icon {
    display: inline-flex;
    align-items: center; justify-content: center;
    width: 44px; height: 44px;
    background: rgba(0,255,102,.1);
    border-radius: 12px;
    font-size: 22px;
    margin-bottom: 14px;
    color: var(--card-c, var(--bt-accent));
}
.bt-editorial-card h3 {
    font-family: var(--bt-font-display) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.3px !important;
    margin: 0 0 10px !important;
}
.bt-editorial-card p {
    font-family: var(--bt-font-body) !important;
    font-size: 14px !important;
    color: #94a3b8 !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}
.bt-editorial-card p + p { margin-top: 10px !important; }
.bt-editorial-card strong { color: #cbd5e1 !important; font-weight: 600 !important; }
.bt-editorial-card a {
    color: var(--bt-accent) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(0,255,102,.3);
    transition: border-color .2s;
}
.bt-editorial-card a:hover { border-bottom-color: var(--bt-accent); }

.bt-editorial-card-wide {
    grid-column: 1 / -1;
}
.bt-editorial-card.bt-risk {
    --card-c: var(--bt-accent-warm);
    background: linear-gradient(135deg, rgba(255,184,0,.04) 0%, transparent 100%) !important;
    border-color: rgba(255,184,0,.16) !important;
}
.bt-editorial-card.bt-risk .bt-ec-icon {
    background: rgba(255,184,0,.1);
    color: var(--bt-accent-warm);
}

/* ══════════════════════════════════════════════════════════════════
   7. NEWSLETTER — full-width band reset
   ══════════════════════════════════════════════════════════════════ */
.fxlm-newsletter-v2 {
    max-width: 1280px !important;
    margin: 0 auto !important;
    background:
        linear-gradient(120deg, rgba(0,255,102,.08) 0%, rgba(0,255,102,.04) 50%, rgba(167,139,250,.04) 100%),
        var(--bt-bg-elev) !important;
    border: 1px solid rgba(0,255,102,.16) !important;
    border-radius: var(--bt-radius-lg) !important;
    padding: 32px 40px !important;
    display: grid !important;
    grid-template-columns: 1fr minmax(300px, 480px) !important;
    align-items: center !important;
    gap: 32px !important;
    box-shadow: var(--bt-shadow-md);
    position: relative;
    overflow: hidden;
}
.fxlm-newsletter-v2::before {
    content: '';
    position: absolute;
    right: -50px; top: -50px;
    width: 200px; height: 200px;
    background: radial-gradient(circle, rgba(0,255,102,.15), transparent 70%);
    pointer-events: none;
}
@media (max-width: 800px) {
    .fxlm-newsletter-v2 {
        grid-template-columns: 1fr !important;
        padding: 24px !important;
    }
}
.fxlm-newsletter-v2-left {
    display: flex !important;
    gap: 18px !important;
    align-items: flex-start;
}
.fxlm-newsletter-v2-icon {
    width: 48px; height: 48px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0,255,102,.15);
    border-radius: 12px;
    font-size: 22px;
    flex-shrink: 0;
}
.fxlm-newsletter-v2-title {
    font-family: var(--bt-font-display) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.4px !important;
    margin-bottom: 6px !important;
}
.fxlm-newsletter-v2-sub {
    font-family: var(--bt-font-body) !important;
    font-size: 14px !important;
    color: #94a3b8 !important;
    line-height: 1.6 !important;
    margin-bottom: 10px !important;
}
.fxlm-newsletter-v2-trust {
    display: flex !important;
    gap: 14px !important;
    flex-wrap: wrap;
    font-size: 12px !important;
    color: var(--bt-text-3) !important;
}
.fxlm-newsletter-v2-trust span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.fxlm-newsletter-v2-form {
    display: flex !important;
    gap: 8px !important;
    background: rgba(0,0,0,.25);
    padding: 6px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.06);
}
.fxlm-newsletter-v2-input {
    flex: 1 !important;
    background: transparent !important;
    border: none !important;
    color: #f1f5f9 !important;
    font-size: 14px !important;
    padding: 10px 14px !important;
    outline: none !important;
    font-family: var(--bt-font-body) !important;
}
.fxlm-newsletter-v2-input::placeholder { color: #475569; }
.fxlm-newsletter-v2-btn {
    background: var(--bt-accent) !important;
    color: #000 !important;
    border: none !important;
    padding: 10px 18px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 13.5px !important;
    cursor: pointer;
    font-family: var(--bt-font-body) !important;
    letter-spacing: -0.1px;
    transition: all var(--bt-dur-fast) var(--bt-ease);
    box-shadow: 0 4px 14px rgba(0,255,102,.28);
    white-space: nowrap;
}
.fxlm-newsletter-v2-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0,255,102,.45);
    filter: brightness(1.05);
}
.fxlm-newsletter-v2-freq {
    text-align: right !important;
    font-size: 11px !important;
    color: var(--bt-text-3) !important;
    margin-top: 10px !important;
    font-family: var(--bt-font-mono) !important;
}

/* ══════════════════════════════════════════════════════════════════
   8. SCROLL-TRIGGER REVEAL — universal
   ══════════════════════════════════════════════════════════════════ */
.bt-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s var(--bt-ease-out), transform .7s var(--bt-ease-out);
}
.bt-reveal.bt-reveal-in {
    opacity: 1;
    transform: translateY(0);
}
.bt-reveal-stagger > * {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .65s var(--bt-ease-out), transform .65s var(--bt-ease-out);
}
.bt-reveal-stagger.bt-reveal-in > *:nth-child(1)  { transition-delay: .05s; opacity: 1; transform: translateY(0); }
.bt-reveal-stagger.bt-reveal-in > *:nth-child(2)  { transition-delay: .12s; opacity: 1; transform: translateY(0); }
.bt-reveal-stagger.bt-reveal-in > *:nth-child(3)  { transition-delay: .19s; opacity: 1; transform: translateY(0); }
.bt-reveal-stagger.bt-reveal-in > *:nth-child(4)  { transition-delay: .26s; opacity: 1; transform: translateY(0); }
.bt-reveal-stagger.bt-reveal-in > *:nth-child(5)  { transition-delay: .33s; opacity: 1; transform: translateY(0); }
.bt-reveal-stagger.bt-reveal-in > *:nth-child(6)  { transition-delay: .40s; opacity: 1; transform: translateY(0); }
.bt-reveal-stagger.bt-reveal-in > *:nth-child(7)  { transition-delay: .47s; opacity: 1; transform: translateY(0); }
.bt-reveal-stagger.bt-reveal-in > *:nth-child(8)  { transition-delay: .54s; opacity: 1; transform: translateY(0); }
.bt-reveal-stagger.bt-reveal-in > *:nth-child(n+9){ transition-delay: .60s; opacity: 1; transform: translateY(0); }

@keyframes bt-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
    .bt-reveal, .bt-reveal-stagger > * { opacity: 1; transform: none; }
}

/* ══════════════════════════════════════════════════════════════════
   9. MOBILE REFINEMENT
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    .fxlm-page-header {
        padding: 32px 20px 28px !important;
        margin-bottom: 28px !important;
    }
    .fxlm-page-header::before {
        left: 20px; top: 40px;
        height: 36px;
    }
    .fxlm-page-header h1,
    .fxlm-page-header p { padding-left: 16px !important; }
    .bt-section-head, .fxlm-section-header {
        padding: 0 20px 12px !important;
        margin: 28px auto 16px !important;
    }
    .bt-blog-header { padding: 0 20px !important; }
    .bt-blog-hero {
        padding: 36px 20px 28px;
    }
    .bt-editorial-wrap { padding: 0 20px 40px; }
    .bt-editorial-commit { padding: 24px 22px !important; }
    .fxlm-signals-feed, .fxlm-signals-v2,
    .fxlm-blog-grid, .fxlm-blog-cards-grid {
        padding: 0 20px !important;
        gap: 14px !important;
    }
}

/* ══════════════════════════════════════════════════════════════════
   9B. DEXSCAN + EXCHANGE SUB-PAGES (v44.1)
   ══════════════════════════════════════════════════════════════════ */

/* Shared content wrap — used across new sub-pages */
.bt-exch-explainer,
.bt-dex-info-row,
.bt-dex-about,
.bt-dex-placeholder,
.bt-exch-placeholder,
.bt-dexscan-grid {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

/* Explainer banner (Exchange sub-pages) */
.bt-exch-explainer {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 20px;
    padding: 24px 28px;
    margin: 0 24px 28px;
    background: linear-gradient(120deg, rgba(0,255,102,.07) 0%, rgba(0,255,102,.04) 100%), var(--bt-bg-elev);
    border: 1px solid rgba(0,255,102,.18);
    border-radius: var(--bt-radius);
    animation: bt-slide-up .6s var(--bt-ease-out) .1s both;
}
.bt-exch-icon {
    width: 64px; height: 64px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0,255,102,.12);
    color: var(--bt-accent);
    border-radius: 14px;
    font-size: 32px;
    flex-shrink: 0;
}
.bt-exch-explainer h3 {
    font-family: var(--bt-font-display) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    margin: 0 0 8px !important;
    letter-spacing: -0.3px !important;
}
.bt-exch-explainer p {
    font-family: var(--bt-font-body) !important;
    font-size: 14.5px !important;
    color: #94a3b8 !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}
.bt-exch-explainer em { color: #cbd5e1; font-style: normal; font-weight: 600; }
.bt-exch-explainer strong { color: #cbd5e1 !important; }

/* Exchange placeholder block (for DEX-derivatives until data source added) */
.bt-exch-placeholder,
.bt-dex-placeholder {
    margin: 30px 24px;
    padding: 64px 32px;
    text-align: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(0,255,102,.06), transparent 60%),
        linear-gradient(180deg, rgba(17,24,39,.6) 0%, rgba(10,14,26,.3) 100%);
    border: 1px dashed rgba(0,255,102,.2);
    border-radius: var(--bt-radius-lg);
    animation: bt-fade-in .6s var(--bt-ease-out) both;
}
.bt-exch-placeholder-icon,
.bt-dex-placeholder-icon {
    font-size: 56px;
    margin-bottom: 18px;
    animation: bt-float 3s ease-in-out infinite;
}
.bt-exch-placeholder h3,
.bt-dex-placeholder h3 {
    font-family: var(--bt-font-display) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.4px !important;
    margin: 0 0 12px !important;
}
.bt-exch-placeholder p,
.bt-dex-placeholder p {
    font-family: var(--bt-font-body) !important;
    font-size: 15px !important;
    color: #94a3b8 !important;
    line-height: 1.7 !important;
    max-width: 560px;
    margin: 0 auto 8px !important;
}
.bt-dex-placeholder-sub {
    font-size: 13px !important;
    color: var(--bt-text-3) !important;
    margin-top: 16px !important;
}
.bt-dex-placeholder a:not(.bt-exch-btn),
.bt-exch-placeholder a:not(.bt-exch-btn) { color: var(--bt-accent) !important; border-bottom: 1px solid rgba(0,255,102,.3); text-decoration: none; }
.bt-dex-placeholder a:not(.bt-exch-btn):hover,
.bt-exch-placeholder a:not(.bt-exch-btn):hover { border-bottom-color: var(--bt-accent); }

.bt-exch-placeholder-cta {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 24px;
}
.bt-exch-btn {
    font-family: var(--bt-font-body) !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    padding: 10px 20px !important;
    border-radius: 10px !important;
    background: var(--bt-accent) !important;
    color: #000 !important;
    text-decoration: none !important;
    border: none;
    transition: all var(--bt-dur-fast) var(--bt-ease);
    box-shadow: 0 4px 14px rgba(0,255,102,.25);
    display: inline-flex;
    align-items: center;
}
.bt-exch-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0,255,102,.4);
}
.bt-exch-btn-ghost {
    background: transparent !important;
    color: #cbd5e1 !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: none !important;
}
.bt-exch-btn-ghost:hover {
    background: rgba(255,255,255,.04) !important;
    border-color: rgba(255,255,255,.2) !important;
    transform: translateY(-1px);
    box-shadow: none !important;
}

/* DexScan landing grid */
.bt-dexscan-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    padding: 0 24px;
    margin-bottom: 48px;
}
.bt-dex-card {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    padding: 28px 26px 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-decoration: none !important;
    position: relative;
    overflow: hidden;
    transition: transform var(--bt-dur) var(--bt-ease),
                border-color var(--bt-dur) var(--bt-ease),
                box-shadow var(--bt-dur) var(--bt-ease) !important;
    animation: bt-slide-up .6s var(--bt-ease-out) both;
}
.bt-dex-card:nth-child(1) { animation-delay: .05s; }
.bt-dex-card:nth-child(2) { animation-delay: .12s; }
.bt-dex-card:nth-child(3) { animation-delay: .19s; }
.bt-dex-card:nth-child(4) { animation-delay: .26s; }
.bt-dex-card:nth-child(5) { animation-delay: .33s; }
.bt-dex-card:nth-child(6) { animation-delay: .40s; }
.bt-dex-card::before {
    content: '';
    position: absolute;
    left: 0; top: 0;
    width: 100%; height: 3px;
    background: linear-gradient(90deg, var(--dex-c, var(--bt-accent)) 0%, transparent 70%);
}
.bt-dex-card::after {
    content: '';
    position: absolute;
    right: -60px; top: -60px;
    width: 160px; height: 160px;
    background: radial-gradient(circle, var(--dex-c, var(--bt-accent)) 0%, transparent 70%);
    opacity: .06;
    pointer-events: none;
    transition: opacity var(--bt-dur) var(--bt-ease);
}
.bt-dex-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0,255,102,.3) !important;
    box-shadow: var(--bt-shadow-md);
}
.bt-dex-card:hover::after { opacity: .14; }
.bt-dex-ico {
    font-size: 28px;
    margin-bottom: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px; height: 52px;
    background: rgba(255,255,255,.03);
    border-radius: 13px;
    color: var(--dex-c, var(--bt-accent));
    transition: transform var(--bt-dur) var(--bt-ease);
}
.bt-dex-card:hover .bt-dex-ico {
    transform: scale(1.05) rotate(-3deg);
}
.bt-dex-card h3 {
    font-family: var(--bt-font-display) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.3px !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.bt-dex-new {
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase;
    padding: 2px 8px !important;
    border-radius: 4px !important;
    background: linear-gradient(135deg, #a78bfa, #6366f1);
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(167,139,250,.35);
}
.bt-dex-card p {
    font-family: var(--bt-font-body) !important;
    font-size: 13.5px !important;
    color: #94a3b8 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    flex: 1;
}
.bt-dex-cta {
    margin-top: 8px;
    font-family: var(--bt-font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--dex-c, var(--bt-accent)) !important;
    letter-spacing: -0.1px;
    transition: gap var(--bt-dur-fast) var(--bt-ease);
}
.bt-dex-card:hover .bt-dex-cta {
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* DexScan info row (3-card strip on sub-pages) */
.bt-dex-info-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
    padding: 0 24px;
    margin-bottom: 28px;
}
.bt-dex-info-card {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    align-items: center;
    padding: 18px 20px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-left: 3px solid var(--c, var(--bt-accent));
    border-radius: var(--bt-radius-sm);
    animation: bt-slide-up .55s var(--bt-ease-out) both;
}
.bt-dex-info-card > span:first-child {
    width: 44px; height: 44px;
    display: inline-flex;
    align-items: center; justify-content: center;
    background: color-mix(in oklab, var(--c, var(--bt-accent)) 14%, transparent);
    color: var(--c, var(--bt-accent));
    border-radius: 10px;
    font-size: 22px;
}
.bt-dex-info-card > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.bt-dex-info-card strong {
    font-family: var(--bt-font-display) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #e2e8f0 !important;
    letter-spacing: -0.2px;
}
.bt-dex-info-card span:last-child {
    font-family: var(--bt-font-body) !important;
    font-size: 12.5px !important;
    color: #8892a8 !important;
    line-height: 1.55;
}

/* DexScan "What is DexScan" about block */
.bt-dex-about {
    margin: 48px auto 32px;
    padding: 32px 36px;
    background: linear-gradient(120deg, rgba(167,139,250,.04), rgba(0,255,102,.02));
    border: 1px solid rgba(167,139,250,.12);
    border-radius: var(--bt-radius-lg);
    max-width: 1232px;
}
.bt-dex-about h2 {
    font-family: var(--bt-font-display) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.4px !important;
    margin: 0 0 14px !important;
}
.bt-dex-about p {
    font-family: var(--bt-font-body) !important;
    font-size: 14.5px !important;
    color: #94a3b8 !important;
    line-height: 1.75 !important;
    margin: 0 !important;
    max-width: 820px;
}
.bt-dex-about p + p { margin-top: 14px !important; }
.bt-dex-about em { color: #cbd5e1; font-weight: 600; font-style: normal; }

/* Mobile adjustments for new page blocks */
@media (max-width: 768px) {
    .bt-exch-explainer {
        grid-template-columns: 52px 1fr;
        padding: 20px;
        margin: 0 20px 24px;
    }
    .bt-exch-icon { width: 52px; height: 52px; font-size: 26px; }
    .bt-exch-placeholder, .bt-dex-placeholder {
        padding: 44px 20px;
        margin: 24px 20px;
    }
    .bt-dexscan-grid,
    .bt-dex-info-row { padding: 0 20px; }
    .bt-dex-about {
        margin: 32px 20px 24px;
        padding: 24px 22px;
    }
    .bt-dex-card { padding: 22px 20px 18px; }
}

/* ══════════════════════════════════════════════════════════════════
   9E. DEXSCAN — CMC-STYLE PAGES (v45.1)
   Shared tabs + tokens table + signals grid + meme columns + traders
   ══════════════════════════════════════════════════════════════════ */

/* Shared tab bar — appears at top of all 4 DexScan sub-pages */
.bt-dextab-wrap {
    max-width: 1440px;
    margin: 0 auto 20px;
    padding: 20px 24px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.bt-dextabs {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid var(--bt-border);
    flex: 1;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
}
.bt-dextabs::-webkit-scrollbar { display: none; }
.bt-dextab {
    font-family: var(--bt-font-display) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    color: var(--bt-text-3) !important;
    text-decoration: none !important;
    padding: 14px 18px 16px !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -1px;
    white-space: nowrap;
    transition: color var(--bt-dur-fast), border-color var(--bt-dur-fast);
    letter-spacing: -0.3px;
}
.bt-dextab:hover { color: #cbd5e1 !important; }
.bt-dextab.active {
    color: #f1f5f9 !important;
    border-bottom-color: var(--bt-accent) !important;
}
.bt-dextab-badge {
    display: inline-block;
    font-size: 8.5px !important;
    font-weight: 800 !important;
    letter-spacing: 0.6px;
    padding: 1px 6px;
    border-radius: 3px;
    background: linear-gradient(135deg, #a78bfa, #6366f1);
    color: #fff !important;
    vertical-align: middle;
    margin-left: 4px;
}
.bt-dex-icons {
    display: flex;
    gap: 6px;
}
.bt-dex-iconbtn {
    width: 34px; height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.04);
    border: 1px solid var(--bt-border);
    border-radius: 8px;
    color: var(--bt-text-3);
    text-decoration: none !important;
    transition: all var(--bt-dur-fast);
}
.bt-dex-iconbtn:hover {
    color: #e2e8f0;
    background: rgba(255,255,255,.08);
    border-color: var(--bt-border-2);
}

/* ── DexScan Tokens (Trending / New / Gainers) ── */
.bt-dextokens-wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px 60px;
}

/* Top categories grid (BSC, Chinese, perpDEX, Solana, Base) */
.bt-cats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}
.bt-cat-card {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    padding: 16px 18px 14px;
    min-width: 0;
    animation: bt-slide-up .5s var(--bt-ease-out) both;
}
.bt-cat-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: var(--bt-font-display);
    font-weight: 700;
    font-size: 15px;
    color: #f1f5f9;
    margin-bottom: 10px;
}
.bt-cat-head::after {
    content: '›';
    color: var(--bt-text-3);
    font-weight: 600;
    font-size: 16px;
}
.bt-cat-row {
    display: grid;
    grid-template-columns: 20px 22px 1fr auto;
    gap: 8px;
    align-items: center;
    padding: 5px 0;
    font-size: 12px;
}
.bt-cat-row-rank { color: var(--bt-text-3); font-weight: 600; font-size: 11px; }
.bt-cat-row-ico {
    width: 22px; height: 22px;
    border-radius: 50%;
    background: #1a2235;
    display: flex; align-items: center; justify-content: center;
    font-size: 10px;
    font-weight: 700;
    color: #000;
    flex-shrink: 0;
}
.bt-cat-row-sym {
    font-weight: 700;
    color: #e2e8f0;
    font-size: 12px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bt-cat-row-vol {
    color: var(--bt-text-3);
    font-size: 10.5px;
    font-family: var(--bt-font-mono);
    text-align: right;
    line-height: 1.3;
}
.bt-cat-row-vol small { color: #475569; display: block; }
.bt-cat-row-price {
    font-family: var(--bt-font-mono);
    font-weight: 600;
    font-size: 12px;
    color: #e2e8f0;
    text-align: right;
}
.bt-cat-row-chg {
    font-size: 10.5px;
    font-weight: 600;
    display: block;
}
.bt-cat-row-chg.up { color: var(--bt-accent); }
.bt-cat-row-chg.dn { color: var(--bt-danger); }

/* Network filter chips */
.bt-netfilter {
    display: flex;
    gap: 8px;
    padding: 12px 0;
    margin-bottom: 16px;
    overflow-x: auto;
    scrollbar-width: none;
}
.bt-netfilter::-webkit-scrollbar { display: none; }
.bt-netchip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px;
    background: rgba(255,255,255,.03);
    border: 1px solid var(--bt-border);
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 600;
    color: #cbd5e1;
    text-decoration: none !important;
    transition: all var(--bt-dur-fast);
    white-space: nowrap;
    cursor: pointer;
}
.bt-netchip:hover {
    border-color: rgba(0,255,102,.2);
    background: rgba(0,255,102,.04);
}
.bt-netchip.active {
    background: rgba(99,102,241,.12) !important;
    border-color: rgba(99,102,241,.35) !important;
    color: #a78bfa !important;
}
.bt-netchip-new {
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.5px;
    padding: 1px 5px;
    border-radius: 3px;
    background: linear-gradient(135deg, #a78bfa, #6366f1);
    color: #fff;
    text-transform: uppercase;
}

/* Sub-filter bar: Trending/New/Gainers + timeframe toggles + right-side filter */
.bt-subfilter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: 10px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}
.bt-subfilter-left {
    display: flex;
    gap: 4px;
    align-items: center;
    flex-wrap: wrap;
}
.bt-subf-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 7px;
    font-family: var(--bt-font-body);
    font-size: 12.5px;
    font-weight: 600;
    color: #94a3b8;
    cursor: pointer;
    text-decoration: none !important;
    transition: all var(--bt-dur-fast);
}
.bt-subf-btn:hover { color: #e2e8f0; background: rgba(255,255,255,.04); }
.bt-subf-btn.active {
    color: #a78bfa;
    background: rgba(167,139,250,.12);
    border-color: rgba(167,139,250,.28);
}
.bt-subf-sep {
    width: 1px;
    height: 18px;
    background: var(--bt-border);
    margin: 0 6px;
}
.bt-timef-btn {
    padding: 5px 10px;
    background: transparent;
    border: none;
    border-radius: 6px;
    font-family: var(--bt-font-mono);
    font-size: 11.5px;
    font-weight: 600;
    color: var(--bt-text-3);
    cursor: pointer;
    transition: color var(--bt-dur-fast), background var(--bt-dur-fast);
}
.bt-timef-btn:hover { color: #cbd5e1; }
.bt-timef-btn.active { color: #a78bfa; background: rgba(167,139,250,.1); }
.bt-subfilter-right {
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 12px;
    color: #94a3b8;
    flex-wrap: wrap;
}
.bt-subfilter-right label {
    display: flex;
    gap: 5px;
    align-items: center;
    cursor: pointer;
    color: #94a3b8;
}
.bt-filter-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    border: 1px solid var(--bt-border);
    border-radius: 6px;
    color: #cbd5e1;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--bt-dur-fast);
    background: transparent;
}
.bt-filter-pill:hover { border-color: var(--bt-border-2); }
.bt-filter-pill-active {
    background: rgba(99,102,241,.1);
    border-color: rgba(99,102,241,.3);
    color: #a78bfa !important;
}
.bt-filter-pill-badge {
    display: inline-block;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    background: rgba(99,102,241,.25);
    color: #a78bfa;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    line-height: 16px;
    margin-left: 2px;
}

/* Token table */
.bt-toktable-wrap {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    overflow-x: auto;
}
.bt-toktable {
    width: 100%;
    min-width: 1100px;
    border-collapse: collapse;
    font-family: var(--bt-font-body);
    font-size: 13px;
}
.bt-toktable thead th {
    padding: 12px 14px;
    text-align: right;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--bt-text-3);
    border-bottom: 1px solid var(--bt-border);
    white-space: nowrap;
    background: rgba(255,255,255,.015);
    letter-spacing: 0;
}
.bt-toktable thead th:first-child,
.bt-toktable thead th.l { text-align: left; }
.bt-toktable thead th.c { text-align: center; }
.bt-toktable tbody td {
    padding: 14px;
    border-bottom: 1px solid rgba(255,255,255,.035);
    color: #cbd5e1;
    white-space: nowrap;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.bt-toktable tbody td:first-child,
.bt-toktable tbody td.l { text-align: left; }
.bt-toktable tbody td.c { text-align: center; }
.bt-toktable tbody tr:hover {
    background: rgba(255,255,255,.02);
}
.bt-toktable tbody tr:last-child td { border-bottom: none; }
.bt-tok-name-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 160px;
}
.bt-tok-ico {
    width: 28px; height: 28px;
    border-radius: 50%;
    flex-shrink: 0;
    background: linear-gradient(135deg, #1a2235, #121316);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: #cbd5e1;
}
.bt-tok-name { font-weight: 700; color: #f1f5f9; font-size: 13.5px; display: flex; align-items: center; gap: 5px; }
.bt-tok-addr { font-family: var(--bt-font-mono); font-size: 10.5px; color: var(--bt-text-3); margin-top: 2px; display: flex; align-items: center; gap: 4px; }
.bt-tok-addr-icons { display: inline-flex; gap: 3px; color: #475569; }
.bt-star { color: #475569; font-size: 14px; cursor: pointer; transition: color .15s; background: none; border: none; padding: 0; }
.bt-star:hover { color: #f7931a; }
.bt-chg-pos { color: var(--bt-accent); font-weight: 600; }
.bt-chg-neg { color: var(--bt-danger); font-weight: 600; }
.bt-chg-neu { color: var(--bt-text-3); font-weight: 600; }
.bt-age { color: var(--bt-accent-warm); font-weight: 600; }
.bt-txn-split { font-size: 11px; color: var(--bt-text-3); font-weight: 500; }
.bt-txn-split .up { color: var(--bt-accent); }
.bt-txn-split .dn { color: var(--bt-danger); }
.bt-sec-safe { color: var(--bt-accent) !important; font-weight: 600; display: inline-flex; align-items: center; gap: 3px; }
.bt-sec-caution { color: var(--bt-accent-warm) !important; font-weight: 600; display: inline-flex; align-items: center; gap: 3px; }
.bt-sec-risk { color: var(--bt-danger) !important; font-weight: 600; display: inline-flex; align-items: center; gap: 3px; }
.bt-sec-unknown { color: var(--bt-text-3) !important; font-weight: 600; display: inline-flex; align-items: center; gap: 3px; }

/* ── DexScan Signals — card grid ── */
.bt-signals-top {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 14px 0;
    margin-bottom: 20px;
    scrollbar-width: none;
}
.bt-signals-top::-webkit-scrollbar { display: none; }
.bt-signal-top-card {
    flex: 0 0 auto;
    min-width: 220px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: 12px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: transform var(--bt-dur-fast), border-color var(--bt-dur-fast);
}
.bt-signal-top-card:hover {
    transform: translateY(-2px);
    border-color: rgba(0,255,102,.2);
}
.bt-signal-top-card.special {
    background: linear-gradient(135deg, rgba(0,255,102,.08), rgba(0,255,102,.04));
    border-color: rgba(0,255,102,.22);
}
.bt-signal-top-card .bt-tok-ico { width: 32px; height: 32px; font-size: 13px; }
.bt-signal-top-body { flex: 1; min-width: 0; }
.bt-signal-top-title { font-weight: 700; color: #f1f5f9; font-size: 13px; display: flex; align-items: center; gap: 4px; }
.bt-signal-top-meta { font-size: 10.5px; color: var(--bt-text-3); margin-top: 2px; font-family: var(--bt-font-mono); }
.bt-signal-top-gain {
    padding: 6px 10px;
    background: rgba(255,184,0,.12);
    color: var(--bt-accent-warm);
    border-radius: 7px;
    font-family: var(--bt-font-mono);
    font-weight: 800;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 3px;
}

/* Signals grid */
.bt-signals-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
    gap: 14px;
    margin-bottom: 40px;
}
.bt-signal-card {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    padding: 16px 18px;
    transition: transform var(--bt-dur-fast), border-color var(--bt-dur-fast);
    animation: bt-slide-up .5s var(--bt-ease-out) both;
    position: relative;
    overflow: hidden;
}
.bt-signal-card:hover {
    transform: translateY(-2px);
    border-color: rgba(0,255,102,.25);
}
.bt-signal-card-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--bt-font-display);
    font-weight: 700;
    font-size: 12px;
    color: #a78bfa;
    margin-bottom: 10px;
    font-style: italic;
    letter-spacing: 0;
}
.bt-signal-card-tag.revived { color: var(--bt-danger); }
.bt-signal-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 10px;
}
.bt-signal-card-head-left {
    display: flex;
    align-items: center;
    gap: 10px;
}
.bt-signal-card-head-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    flex-shrink: 0;
}
.bt-signal-rank-pill {
    background: rgba(255,255,255,.04);
    border: 1px solid var(--bt-border);
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 11px;
    color: #94a3b8;
    display: flex;
    align-items: center;
    gap: 3px;
}
.bt-signal-gain-pill {
    background: rgba(255,184,0,.12);
    color: var(--bt-accent-warm);
    padding: 3px 8px;
    border-radius: 6px;
    font-family: var(--bt-font-mono);
    font-weight: 700;
    font-size: 11px;
}
.bt-signal-body {
    font-size: 12.5px;
    color: #94a3b8;
    line-height: 1.5;
    margin-bottom: 10px;
}
.bt-signal-body strong { color: var(--bt-accent); }
.bt-signal-tf-row {
    display: flex;
    gap: 4px;
    font-size: 11px;
    color: var(--bt-text-3);
    margin-bottom: 12px;
    justify-content: flex-end;
}
.bt-signal-tf { padding: 2px 8px; border-radius: 4px; font-weight: 600; cursor: pointer; }
.bt-signal-tf.active { background: rgba(0,255,102,.12); color: var(--bt-accent); }
.bt-signal-chart {
    height: 80px;
    background:
        linear-gradient(180deg, rgba(0,255,102,.1) 0%, rgba(0,255,102,0) 100%),
        var(--bt-bg-elev-2);
    border-radius: 8px;
    margin-bottom: 12px;
    position: relative;
    overflow: hidden;
}
.bt-signal-chart::before {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(circle 4px at 50% 40%, var(--bt-accent), transparent);
    box-shadow: 0 0 16px rgba(0,255,102,.6);
}
.bt-signal-chart svg { width: 100%; height: 100%; display: block; }
.bt-signal-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    font-size: 11px;
}
.bt-signal-stat-lbl { color: var(--bt-text-3); font-size: 10px; text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: 2px; }
.bt-signal-stat-val { font-family: var(--bt-font-mono); font-weight: 600; color: #e2e8f0; font-size: 11.5px; }
.bt-signal-stat-val.pos { color: var(--bt-accent); }
.bt-signal-stat-val.neg { color: var(--bt-danger); }

/* Signal category toggle under top cards */
.bt-signal-cats {
    display: flex;
    gap: 8px;
    margin-bottom: 18px;
}
.bt-signal-cat {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    background: rgba(255,255,255,.03);
    border: 1px solid var(--bt-border);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
    cursor: pointer;
    transition: all var(--bt-dur-fast);
}
.bt-signal-cat.active { background: rgba(167,139,250,.12); border-color: rgba(167,139,250,.3); color: #a78bfa; }

/* Live / History toggle */
.bt-live-toggle {
    display: inline-flex;
    gap: 4px;
    padding: 3px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: 999px;
    margin-bottom: 14px;
}
.bt-live-toggle-btn {
    padding: 6px 16px;
    background: transparent;
    border: none;
    border-radius: 999px;
    font-family: var(--bt-font-body);
    font-weight: 600;
    font-size: 12.5px;
    color: var(--bt-text-3);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: all var(--bt-dur-fast);
}
.bt-live-toggle-btn.active {
    background: rgba(167,139,250,.16);
    color: #a78bfa;
}
.bt-live-toggle-btn .dot {
    width: 6px; height: 6px;
    background: #a78bfa;
    border-radius: 50%;
    animation: bt-dot-pulse 1.8s infinite;
}

/* Timeline band above signals top cards */
.bt-timeline-band {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 16px;
    position: relative;
    overflow: hidden;
}
.bt-timeline-head {
    display: flex;
    justify-content: space-between;
    font-family: var(--bt-font-mono);
    font-size: 10.5px;
    color: var(--bt-text-3);
    margin-bottom: 8px;
}
.bt-timeline-bar {
    display: flex;
    gap: 1px;
    height: 28px;
    align-items: flex-end;
}
.bt-timeline-tick {
    flex: 1;
    background: rgba(255,255,255,.05);
    border-radius: 1px;
    min-width: 2px;
}
.bt-timeline-tick.has-signal {
    background: linear-gradient(180deg, rgba(0,255,102,.5), rgba(0,255,102,.15));
    height: 70%;
}
.bt-timeline-tick.major-signal {
    background: linear-gradient(180deg, #a78bfa, rgba(167,139,250,.3));
    height: 100%;
    box-shadow: 0 0 8px rgba(167,139,250,.5);
}
.bt-gems-box {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: 10px;
    margin-right: 10px;
    font-family: var(--bt-font-mono);
    font-size: 11px;
    color: #94a3b8;
}
.bt-gems-lbl { font-size: 10px; color: var(--bt-text-3); text-transform: uppercase; letter-spacing: 0.5px; }

/* ── Meme Explorer ── */
.bt-meme-platforms {
    display: flex;
    gap: 8px;
    padding: 14px 0 16px;
    flex-wrap: wrap;
}
.bt-meme-plat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    background: rgba(255,255,255,.03);
    border: 1px solid var(--bt-border);
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 600;
    color: #cbd5e1;
    cursor: pointer;
    transition: all var(--bt-dur-fast);
    text-decoration: none !important;
}
.bt-meme-plat:hover { border-color: rgba(0,255,102,.2); }
.bt-meme-plat.active {
    background: rgba(99,102,241,.12);
    border-color: rgba(99,102,241,.3);
    color: #a78bfa;
}
.bt-meme-cols {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 40px;
}
@media (max-width: 1100px) { .bt-meme-cols { grid-template-columns: 1fr; } }
.bt-meme-col {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: 700px;
}
.bt-meme-col-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid var(--bt-border);
    background: rgba(255,255,255,.015);
}
.bt-meme-col-title {
    font-family: var(--bt-font-display);
    font-weight: 700;
    font-size: 14px;
    color: #f1f5f9;
    letter-spacing: -0.2px;
}
.bt-meme-col-body {
    overflow-y: auto;
    flex: 1;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.1) transparent;
}
.bt-meme-item {
    display: grid;
    grid-template-columns: 40px 1fr auto;
    gap: 10px;
    padding: 10px 14px;
    border-bottom: 1px solid rgba(255,255,255,.025);
    align-items: center;
    transition: background var(--bt-dur-fast);
}
.bt-meme-item:hover { background: rgba(255,255,255,.02); }
.bt-meme-ico {
    width: 40px; height: 40px;
    border-radius: 8px;
    background: linear-gradient(135deg, #1a2235, var(--bt-bg));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.bt-meme-main { min-width: 0; }
.bt-meme-name {
    font-weight: 700;
    color: #f1f5f9;
    font-size: 12.5px;
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bt-meme-meta {
    font-family: var(--bt-font-mono);
    font-size: 10.5px;
    color: var(--bt-text-3);
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}
.bt-meme-meta .pos { color: var(--bt-accent); }
.bt-meme-meta .neg { color: var(--bt-danger); }
.bt-meme-right {
    text-align: right;
    font-family: var(--bt-font-mono);
    font-size: 11px;
    line-height: 1.4;
}
.bt-meme-right-line { display: block; color: #cbd5e1; font-weight: 600; }
.bt-meme-right-line small { color: var(--bt-text-3); font-weight: 500; }
.bt-meme-tx { color: var(--bt-text-3); font-size: 10.5px; margin-top: 3px; }
.bt-meme-prog {
    display: inline-block;
    width: 40px; height: 3px;
    background: rgba(255,255,255,.06);
    border-radius: 2px;
    margin-left: 6px;
    vertical-align: middle;
    overflow: hidden;
    position: relative;
}
.bt-meme-prog > span { display: block; height: 100%; background: linear-gradient(90deg, var(--bt-accent), var(--bt-accent)); }

/* ── Top Traders — table ── */
.bt-traders-wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px 60px;
}
.bt-traders-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.bt-traders-time {
    display: inline-flex;
    gap: 2px;
    padding: 3px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: 8px;
}
.bt-traders-time button {
    padding: 6px 12px;
    background: transparent;
    border: none;
    border-radius: 6px;
    font-family: var(--bt-font-mono);
    font-size: 12px;
    font-weight: 600;
    color: var(--bt-text-3);
    cursor: pointer;
    transition: all var(--bt-dur-fast);
}
.bt-traders-time button.active { background: rgba(167,139,250,.16); color: #a78bfa; }
.bt-traders-table { width: 100%; min-width: 1100px; border-collapse: collapse; font-size: 13px; }
.bt-traders-table thead th {
    padding: 14px;
    text-align: right;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--bt-text-3);
    border-bottom: 1px solid var(--bt-border);
    white-space: nowrap;
}
.bt-traders-table thead th:first-child,
.bt-traders-table thead th.l { text-align: left; }
.bt-traders-table tbody td {
    padding: 14px;
    border-bottom: 1px solid rgba(255,255,255,.03);
    text-align: right;
    color: #cbd5e1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.bt-traders-table tbody td:first-child,
.bt-traders-table tbody td.l { text-align: left; }
.bt-traders-table tbody tr:hover { background: rgba(255,255,255,.02); }
.bt-trader-wallet {
    display: flex;
    align-items: center;
    gap: 10px;
}
.bt-trader-avatar {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, #a78bfa, var(--bt-accent));
    flex-shrink: 0;
}
.bt-trader-addr {
    font-family: var(--bt-font-mono);
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 600;
}
.bt-trader-copy {
    background: none; border: none; color: #475569; cursor: pointer; font-size: 14px; padding: 0;
}
.bt-trader-copy:hover { color: var(--bt-accent); }
.bt-trader-pnl { color: var(--bt-accent); font-family: var(--bt-font-mono); font-weight: 700; }
.bt-trader-pnl-neg { color: var(--bt-danger) !important; }
.bt-trader-spark {
    display: inline-block;
    width: 90px; height: 32px;
}
.bt-trader-chips {
    display: inline-flex;
    gap: 2px;
    align-items: center;
}
.bt-trader-chip {
    width: 22px; height: 22px;
    border-radius: 50%;
    background: #1a2235;
    border: 2px solid var(--bt-bg-elev);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 700;
    margin-left: -6px;
}
.bt-trader-chip:first-child { margin-left: 0; }

/* Mobile */
@media (max-width: 768px) {
    .bt-dextab { font-size: 15px !important; padding: 12px 14px !important; }
    .bt-dextokens-wrap,
    .bt-traders-wrap { padding: 0 20px 40px; }
    .bt-signal-stats { grid-template-columns: repeat(2, 1fr); }
    .bt-meme-cols { grid-template-columns: 1fr; }
}
.cp-dd-new {
    display: inline-block;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase;
    padding: 2px 7px !important;
    margin-left: 6px;
    border-radius: 4px;
    background: linear-gradient(135deg, #a78bfa, #6366f1);
    color: #fff !important;
    vertical-align: middle;
    box-shadow: 0 2px 6px rgba(167,139,250,.35);
}

/* ══════════════════════════════════════════════════════════════════
   9C. FOREX TRADING GUIDE — card revamp
   ══════════════════════════════════════════════════════════════════ */
.bt-fxguide-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px 40px;
}
.bt-fxguide-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 40px;
}
.bt-fxguide-card {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    padding: 28px 26px;
    transition: transform var(--bt-dur) var(--bt-ease),
                border-color var(--bt-dur) var(--bt-ease),
                box-shadow var(--bt-dur) var(--bt-ease) !important;
    position: relative;
    overflow: hidden;
    animation: bt-slide-up .6s var(--bt-ease-out) both;
}
.bt-fxguide-card:nth-child(1) { animation-delay: .1s; }
.bt-fxguide-card:nth-child(2) { animation-delay: .2s; }
.bt-fxguide-card:nth-child(3) { animation-delay: .3s; }
.bt-fxguide-card::before {
    content: '';
    position: absolute;
    left: 0; top: 0;
    width: 100%; height: 3px;
    background: linear-gradient(90deg, var(--bt-accent), transparent 70%);
}
.bt-fxguide-card:hover {
    transform: translateY(-3px);
    border-color: rgba(0,255,102,.25) !important;
    box-shadow: var(--bt-shadow-md);
}
.bt-fxguide-icon {
    font-size: 32px;
    margin-bottom: 14px;
}
.bt-fxguide-card h3 {
    font-family: var(--bt-font-display) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.3px !important;
    margin: 0 0 10px !important;
}
.bt-fxguide-card p {
    font-family: var(--bt-font-body) !important;
    font-size: 14px !important;
    color: #94a3b8 !important;
    line-height: 1.7 !important;
    margin: 0 0 18px !important;
}
.bt-fxguide-btn {
    font-family: var(--bt-font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--bt-accent) !important;
    text-decoration: none !important;
    letter-spacing: -0.1px;
    transition: gap var(--bt-dur-fast);
    border-bottom: 1px solid rgba(0,255,102,.3);
    padding-bottom: 2px;
}
.bt-fxguide-btn:hover {
    border-bottom-color: var(--bt-accent);
}

/* Deep sections (What is / Why / How to) */
.bt-fxguide-section {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    padding: 32px 36px;
    margin-bottom: 24px;
    animation: bt-slide-up .6s var(--bt-ease-out) both;
}
.bt-fxguide-section h2 {
    font-family: var(--bt-font-display) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.5px !important;
    margin: 0 0 14px !important;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--bt-border);
    display: flex;
    align-items: center;
    gap: 10px;
}
.bt-fxguide-section p,
.bt-fxguide-section li {
    font-family: var(--bt-font-body) !important;
    font-size: 14.5px !important;
    color: #94a3b8 !important;
    line-height: 1.8 !important;
}
.bt-fxguide-section p { margin: 0 0 12px !important; }
.bt-fxguide-section strong { color: #e2e8f0 !important; font-weight: 600 !important; }
.bt-fxguide-section ul,
.bt-fxguide-section ol {
    padding-left: 22px !important;
    margin: 0 !important;
}
.bt-fxguide-section li { margin-bottom: 8px !important; }
.bt-fxguide-section li::marker { color: var(--bt-accent); }

/* ══════════════════════════════════════════════════════════════════
   9D. ABOUT / CONTACT / WRITE-FOR-US / PRIVACY revamp
   ══════════════════════════════════════════════════════════════════ */
.bt-about-wrap,
.bt-privacy-wrap,
.bt-contact-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px 60px;
}
.bt-about-mission {
    padding: 36px 40px;
    background:
        linear-gradient(135deg, rgba(0,255,102,.09), rgba(0,255,102,.04) 50%, rgba(167,139,250,.04) 100%),
        radial-gradient(ellipse 500px 200px at 85% 0%, rgba(0,255,102,.15), transparent 60%);
    border: 1px solid rgba(0,255,102,.22);
    border-radius: var(--bt-radius-lg);
    margin-bottom: 36px;
    position: relative;
    overflow: hidden;
    animation: bt-slide-up .6s var(--bt-ease-out) both;
}
.bt-about-mission::after {
    content: '🎯';
    position: absolute;
    right: 32px; top: 28px;
    font-size: 72px;
    opacity: .06;
    transform: rotate(-10deg);
}
.bt-about-mission h2 {
    font-family: var(--bt-font-display) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    color: var(--bt-accent) !important;
    letter-spacing: -0.5px !important;
    margin: 0 0 12px !important;
}
.bt-about-mission p {
    font-family: var(--bt-font-body) !important;
    font-size: 15.5px !important;
    color: #cbd5e1 !important;
    line-height: 1.8 !important;
    margin: 0 !important;
    max-width: 820px;
    position: relative;
}

.bt-about-section-head {
    font-family: var(--bt-font-display) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.5px !important;
    margin: 44px 0 20px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--bt-border);
}

.bt-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 18px;
    margin-bottom: 36px;
}
.bt-team-card {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    padding: 24px;
    transition: all var(--bt-dur) var(--bt-ease);
    animation: bt-slide-up .6s var(--bt-ease-out) both;
}
.bt-team-card:nth-child(1) { animation-delay: .1s; }
.bt-team-card:nth-child(2) { animation-delay: .18s; }
.bt-team-card:nth-child(3) { animation-delay: .26s; }
.bt-team-card:hover {
    border-color: rgba(0,255,102,.25);
    transform: translateY(-3px);
    box-shadow: var(--bt-shadow-md);
}
.bt-team-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}
.bt-team-avatar {
    width: 52px; height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--bt-font-display) !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    color: #000 !important;
    flex-shrink: 0;
}
.bt-team-name {
    font-family: var(--bt-font-display) !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    font-size: 16px !important;
    letter-spacing: -0.2px;
}
.bt-team-role {
    font-family: var(--bt-font-body) !important;
    font-size: 12px !important;
    color: var(--bt-accent) !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px;
    margin-top: 2px;
}
.bt-team-card p {
    font-family: var(--bt-font-body) !important;
    font-size: 13.5px !important;
    color: #8892a8 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

.bt-data-grid {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    padding: 26px 28px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
    margin-bottom: 36px;
}
.bt-data-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}
.bt-data-item > span:first-child {
    font-size: 22px;
    flex-shrink: 0;
    line-height: 1.2;
}
.bt-data-item strong {
    font-family: var(--bt-font-display) !important;
    font-weight: 700 !important;
    color: #e2e8f0 !important;
    font-size: 13.5px !important;
    letter-spacing: -0.2px;
    display: block;
    margin-bottom: 2px;
}
.bt-data-item small {
    font-family: var(--bt-font-body) !important;
    font-size: 12px !important;
    color: var(--bt-text-3) !important;
    line-height: 1.55;
}

.bt-provide-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 10px;
    margin-bottom: 36px;
}
.bt-provide-item {
    padding: 14px 16px;
    background: rgba(0,255,102,.05);
    border: 1px solid rgba(0,255,102,.12);
    border-radius: var(--bt-radius-sm);
    font-family: var(--bt-font-body) !important;
    font-size: 13.5px !important;
    color: #94a3b8 !important;
    line-height: 1.5 !important;
    display: flex;
    gap: 8px;
    align-items: flex-start;
    transition: all var(--bt-dur-fast) var(--bt-ease);
}
.bt-provide-item:hover {
    background: rgba(0,255,102,.09);
    border-color: rgba(0,255,102,.25);
    transform: translateX(2px);
}
.bt-provide-item strong {
    color: #e2e8f0 !important;
    font-weight: 600 !important;
}

/* Contact page wrapper */
.bt-contact-intro {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
    margin-bottom: 36px;
}
.bt-contact-card {
    padding: 22px 24px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    transition: all var(--bt-dur) var(--bt-ease);
    animation: bt-slide-up .6s var(--bt-ease-out) both;
}
.bt-contact-card:hover {
    border-color: rgba(0,255,102,.25);
    transform: translateY(-2px);
}
.bt-contact-card .bt-cc-icon {
    font-size: 26px;
    margin-bottom: 8px;
    display: inline-block;
}
.bt-contact-card h3 {
    font-family: var(--bt-font-display) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.2px !important;
    margin: 0 0 6px !important;
}
.bt-contact-card p {
    font-family: var(--bt-font-body) !important;
    font-size: 13px !important;
    color: #94a3b8 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Privacy styling */
.fxlm-privacy-wrap h2 {
    font-family: var(--bt-font-display) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.4px !important;
    margin: 36px 0 14px !important;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--bt-border);
}
.fxlm-privacy-wrap h3 {
    font-family: var(--bt-font-display) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #cbd5e1 !important;
    letter-spacing: -0.2px !important;
    margin: 20px 0 10px !important;
}
.fxlm-privacy-wrap p,
.fxlm-privacy-wrap li {
    font-family: var(--bt-font-body) !important;
    font-size: 14px !important;
    color: #94a3b8 !important;
    line-height: 1.75 !important;
}
.fxlm-privacy-wrap strong { color: #e2e8f0 !important; font-weight: 600 !important; }
.fxlm-privacy-wrap a { color: var(--bt-accent) !important; text-decoration: none; border-bottom: 1px solid rgba(0,255,102,.3); }
.fxlm-privacy-wrap a:hover { border-bottom-color: var(--bt-accent); }
.fxlm-privacy-intro {
    padding: 24px 28px;
    background: linear-gradient(120deg, rgba(0,255,102,.06), transparent);
    border: 1px solid rgba(0,255,102,.14);
    border-radius: var(--bt-radius);
    margin-bottom: 28px;
}
.fxlm-privacy-intro p { margin: 0 !important; color: #cbd5e1 !important; }
.fxlm-privacy-toc {
    padding: 22px 24px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    margin-bottom: 36px;
}
.fxlm-privacy-toc strong {
    display: block;
    margin-bottom: 12px;
    font-family: var(--bt-font-display) !important;
    font-size: 13px !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase;
    color: var(--bt-text-3) !important;
}
.fxlm-privacy-toc ol {
    columns: 2;
    column-gap: 30px;
    padding-left: 20px;
    margin: 0;
}
@media (max-width: 640px) { .fxlm-privacy-toc ol { columns: 1; } }
.fxlm-privacy-toc li { margin-bottom: 6px !important; }
.fxlm-privacy-table {
    width: 100%;
    border-collapse: collapse;
    margin: 14px 0 22px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius-sm);
    overflow: hidden;
    font-size: 13.5px !important;
}
.fxlm-privacy-table th,
.fxlm-privacy-table td {
    padding: 11px 14px;
    text-align: left;
    border-bottom: 1px solid var(--bt-border);
}
.fxlm-privacy-table th {
    font-family: var(--bt-font-display) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    color: #cbd5e1 !important;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    background: rgba(255,255,255,.02);
}
.fxlm-privacy-table td { color: #94a3b8 !important; }
.fxlm-privacy-table tr:last-child td { border-bottom: none; }
.fxlm-privacy-updated {
    display: inline-block;
    font-family: var(--bt-font-mono) !important;
    font-size: 12px !important;
    color: var(--bt-text-3) !important;
    padding: 4px 10px !important;
    background: rgba(255,255,255,.03);
    border-radius: 6px;
    margin-top: 12px;
}

/* ═══ COIN PAGE EMPTY-SPACE FIX (v46.1) ═══
   Root cause: .bcp-hero is 2-column with a very tall right sidebar (12+ cards)
   and a short left column (metrics + links). That leaves a huge empty gutter
   under the left column before the chart section.

   Fix strategy:
   a) Cap the sidebar's effective height to what the left column supplies,
      making overflow content scrollable inside the sidebar card-list.
   b) Reduce the hero wrapper width to 1280 to align with site chrome.
   c) Tighten sidebar width from 340 to 320.
   d) When the sidebar is shorter than the left column, fill the gap with a
      subtle radial wash so the negative space reads as intentional. */
.bcp { max-width: 1280px !important; padding: 0 20px 60px !important; }
.bcp-hero {
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 24px !important;
    align-items: start !important;
}
@media (max-width: 1000px) { .bcp-hero { grid-template-columns: 1fr !important; } }

/* Sidebar: natural-height sticky — no max-height clip, so all stats are visible
   (cap was hiding rows below All-Time Low). Users scroll the page normally; the
   sidebar stays sticky until the hero's bottom edge meets its top, then scrolls
   out with the parent — standard sticky behavior. */
.bcp-sidebar {
    display: flex !important;
    flex-direction: column;
    gap: 14px !important;
    position: sticky !important;
    top: 80px;
    align-self: start;
}

/* Loading skeleton when price is null (CoinGecko fetch hasn't returned) */
.bcp-price:empty::before,
.bcp-metric-val:empty::before {
    content: '';
    display: inline-block;
    width: 80px;
    height: 1em;
    background: linear-gradient(90deg, rgba(255,255,255,.03), rgba(255,255,255,.08), rgba(255,255,255,.03));
    background-size: 200% 100%;
    border-radius: 4px;
    animation: bt-skeleton-pulse 1.6s ease-in-out infinite;
}
@keyframes bt-skeleton-pulse {
    0%,100% { background-position: 200% 0; }
    50%     { background-position: -200% 0; }
}
.bcp-body { align-items: start !important; }
.fxlm-chart-wrap,
.fxlm-chart-placeholder { min-height: 400px; }

/* ══════════════════════════════════════════════════════════════════
   11. PORTFOLIO PAGE — CMC-style revamp (v46.1)
   ══════════════════════════════════════════════════════════════════ */
.bt-portpage-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px 60px;
}

.bt-portpage-auth-banner {
    background: linear-gradient(120deg, rgba(0,255,102,.06), rgba(0,255,102,.03)) !important;
    border: 1px solid rgba(0,255,102,.18) !important;
    border-radius: var(--bt-radius) !important;
    padding: 20px 24px !important;
    margin-bottom: 20px;
    animation: bt-slide-up .5s var(--bt-ease-out) both;
}
.bt-portpage-auth-btn {
    background: var(--bt-accent) !important;
    color: #000 !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 10px 20px !important;
    cursor: pointer;
    font-size: 13.5px !important;
    font-family: var(--bt-font-body) !important;
    box-shadow: 0 4px 14px rgba(0,255,102,.25);
    transition: all var(--bt-dur-fast);
}
.bt-portpage-auth-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(0,255,102,.4); }

/* Hero stats bar — CMC-style prominence for total value */
.bt-portpage-stats {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    gap: 0 !important;
    background:
        linear-gradient(135deg, rgba(0,255,102,.06) 0%, rgba(0,255,102,.03) 100%),
        var(--bt-bg-elev) !important;
    border: 1px solid var(--bt-border) !important;
    border-radius: var(--bt-radius-lg) !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
    overflow: hidden;
    animation: bt-slide-up .6s var(--bt-ease-out) .1s both;
}
@media (max-width: 900px) {
    .bt-portpage-stats { grid-template-columns: 1fr 1fr; }
}
.bt-portpage-stat {
    padding: 22px 24px !important;
    border-right: 1px solid var(--bt-border);
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    position: relative;
}
.bt-portpage-stat:last-child { border-right: none; }
.bt-portpage-stat:first-child {
    background:
        radial-gradient(ellipse 400px 200px at 0% 50%, rgba(0,255,102,.08), transparent 70%),
        transparent;
}
@media (max-width: 900px) {
    .bt-portpage-stat { border-right: 1px solid var(--bt-border); border-bottom: 1px solid var(--bt-border); }
    .bt-portpage-stat:nth-child(even) { border-right: none; }
}
.bt-portpage-stat span {
    font-family: var(--bt-font-body) !important;
    font-size: 11px !important;
    color: var(--bt-text-3) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    font-weight: 600 !important;
}
.bt-portpage-stat strong {
    font-family: var(--bt-font-display) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.5px !important;
    font-variant-numeric: tabular-nums;
}
.bt-portpage-stat:first-child strong {
    font-size: 32px !important;
    background: linear-gradient(100deg, #f1f5f9 0%, var(--bt-accent) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Add-transaction card */
.bt-portpage-add {
    background: var(--bt-bg-elev) !important;
    border: 1px solid var(--bt-border) !important;
    border-radius: var(--bt-radius) !important;
    padding: 22px 24px !important;
    margin-bottom: 20px;
    animation: bt-slide-up .5s var(--bt-ease-out) .2s both;
}
.bt-portpage-add h3 {
    font-family: var(--bt-font-display) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: -0.2px !important;
    margin: 0 0 16px !important;
}
.bt-portpage-add-row {
    display: flex !important;
    gap: 14px !important;
    align-items: flex-end;
    flex-wrap: wrap;
}
.bt-port-select, .bt-port-input {
    background: #000 !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 9px !important;
    padding: 10px 14px !important;
    color: #e2e8f0 !important;
    font-size: 13.5px !important;
    font-family: var(--bt-font-body) !important;
    outline: none !important;
    transition: border-color var(--bt-dur-fast);
}
.bt-port-select:focus, .bt-port-input:focus {
    border-color: rgba(0,255,102,.4) !important;
}
.bt-port-add-btn {
    background: var(--bt-accent) !important;
    color: #000 !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: 9px !important;
    padding: 10px 22px !important;
    cursor: pointer;
    font-size: 13.5px !important;
    font-family: var(--bt-font-body) !important;
    box-shadow: 0 4px 14px rgba(0,255,102,.25);
    transition: all var(--bt-dur-fast);
}
.bt-port-add-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(0,255,102,.4); }

/* Holdings table */
.bt-portpage-holdings {
    background: var(--bt-bg-elev) !important;
    border: 1px solid var(--bt-border) !important;
    border-radius: var(--bt-radius) !important;
    padding: 22px 24px !important;
    animation: bt-slide-up .5s var(--bt-ease-out) .3s both;
}
.bt-portpage-table-wrap { overflow-x: auto; }
.bt-port-table {
    width: 100%;
    min-width: 820px;
    border-collapse: collapse;
    font-size: 13.5px;
}
.bt-port-table thead th {
    text-align: right;
    padding: 12px 14px;
    font-family: var(--bt-font-body);
    font-size: 11px;
    font-weight: 600;
    color: var(--bt-text-3);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    border-bottom: 1px solid var(--bt-border);
    white-space: nowrap;
}
.bt-port-table thead th:first-child { text-align: left; }
.bt-port-table tbody td {
    padding: 14px;
    text-align: right;
    border-bottom: 1px solid rgba(255,255,255,.03);
    font-variant-numeric: tabular-nums;
    font-family: var(--bt-font-mono);
    color: #cbd5e1;
    white-space: nowrap;
}
.bt-port-table tbody td:first-child { text-align: left; font-family: var(--bt-font-body); }
.bt-port-table tbody tr:hover { background: rgba(255,255,255,.02); }

/* ══════════════════════════════════════════════════════════════════
   12. WRITE FOR US — styled form + dropzone
   ══════════════════════════════════════════════════════════════════ */
.bt-wfu-wrap {
    max-width: 820px;
    margin: 0 auto;
    padding: 40px 24px 60px;
    font-family: var(--bt-font-body);
}
.bt-wfu-hero {
    text-align: center;
    margin-bottom: 36px;
    padding: 40px 24px;
    background:
        radial-gradient(ellipse 500px 300px at 50% 0%, rgba(0,255,102,.08), transparent 70%),
        linear-gradient(135deg, rgba(0,255,102,.04) 0%, rgba(0,255,102,.02) 100%);
    border: 1px solid rgba(0,255,102,.18);
    border-radius: var(--bt-radius-lg);
    position: relative;
    overflow: hidden;
    animation: bt-slide-up .6s var(--bt-ease-out) both;
}
.bt-wfu-hero-icon {
    font-size: 44px;
    margin-bottom: 14px;
    animation: bt-float 3s ease-in-out infinite;
}
.bt-wfu-hero h1 {
    font-family: var(--bt-font-display) !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.8px !important;
    margin: 0 0 10px !important;
}
.bt-wfu-hero p {
    font-size: 15px !important;
    color: #94a3b8 !important;
    line-height: 1.65 !important;
    margin: 0 auto !important;
    max-width: 540px;
}

.bt-wfu-perks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 32px;
}
@media (max-width: 640px) { .bt-wfu-perks { grid-template-columns: 1fr; } }
.bt-wfu-perk {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-left: 3px solid var(--bt-accent);
    border-radius: var(--bt-radius-sm);
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: all var(--bt-dur) var(--bt-ease);
    animation: bt-slide-up .5s var(--bt-ease-out) both;
}
.bt-wfu-perk:nth-child(2) { animation-delay: .1s; border-left-color: var(--bt-accent); }
.bt-wfu-perk:nth-child(3) { animation-delay: .2s; border-left-color: #a78bfa; }
.bt-wfu-perk:hover { transform: translateY(-2px); border-color: rgba(0,255,102,.3); }
.bt-wfu-perk > span {
    font-size: 20px;
    margin-bottom: 4px;
}
.bt-wfu-perk strong {
    font-family: var(--bt-font-display) !important;
    font-size: 14px !important;
    color: #f1f5f9 !important;
    font-weight: 700 !important;
}
.bt-wfu-perk em {
    font-size: 12px;
    color: var(--bt-text-3);
    font-style: normal;
    line-height: 1.5;
}

.bt-wfu-form {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    padding: 28px 32px;
    animation: bt-slide-up .5s var(--bt-ease-out) .2s both;
}
.bt-wfu-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 16px;
}
@media (max-width: 640px) { .bt-wfu-row { grid-template-columns: 1fr; } }
.bt-wfu-field { margin-bottom: 16px; }
.bt-wfu-field label {
    display: block;
    font-family: var(--bt-font-body);
    font-size: 11px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 7px;
}
.bt-wfu-field input,
.bt-wfu-field select,
.bt-wfu-field textarea {
    width: 100%;
    background: #000;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 9px;
    padding: 11px 14px;
    color: #e2e8f0;
    font-size: 14px;
    font-family: var(--bt-font-body);
    outline: none;
    transition: border-color var(--bt-dur-fast);
    box-sizing: border-box;
}
.bt-wfu-field input:focus,
.bt-wfu-field select:focus,
.bt-wfu-field textarea:focus {
    border-color: rgba(0,255,102,.4);
}
.bt-wfu-field textarea { resize: vertical; min-height: 160px; line-height: 1.6; font-family: var(--bt-font-body); }

.bt-wfu-dropzone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 28px 20px;
    background: rgba(0,0,0,.2);
    border: 2px dashed rgba(255,255,255,.14);
    border-radius: var(--bt-radius);
    cursor: pointer;
    transition: all var(--bt-dur) var(--bt-ease);
    text-align: center;
}
.bt-wfu-dropzone:hover,
.bt-wfu-dropzone.active {
    border-color: rgba(0,255,102,.45);
    background: rgba(0,255,102,.05);
}
.bt-wfu-dz-icon { font-size: 28px; opacity: .7; }
.bt-wfu-dz-text {
    font-family: var(--bt-font-body);
    font-size: 14px;
    font-weight: 600;
    color: #cbd5e1;
}
.bt-wfu-dz-meta {
    font-size: 11.5px;
    color: var(--bt-text-3);
    letter-spacing: 0.1px;
}

.bt-wfu-submit {
    width: 100%;
    background: linear-gradient(100deg, var(--bt-accent) 0%, var(--bt-accent) 100%);
    color: #000 !important;
    font-family: var(--bt-font-body);
    font-weight: 800;
    border: none;
    border-radius: 12px;
    padding: 15px 28px;
    font-size: 15px;
    cursor: pointer;
    letter-spacing: -0.1px;
    box-shadow: 0 6px 20px rgba(0,255,102,.3);
    transition: all var(--bt-dur-fast) var(--bt-ease);
    margin-top: 6px;
}
.bt-wfu-submit:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 10px 28px rgba(0,255,102,.45);
    filter: brightness(1.05);
}
.bt-wfu-submit:disabled {
    opacity: .6;
    cursor: not-allowed;
}
.bt-wfu-msg {
    display: none;
    margin-top: 14px;
    padding: 12px 16px;
    border-radius: 9px;
    font-size: 13.5px;
    text-align: center;
    font-family: var(--bt-font-body);
}
.bt-wfu-msg-ok {
    background: rgba(0,255,102,.1);
    border: 1px solid rgba(0,255,102,.28);
    color: var(--bt-accent);
}
.bt-wfu-msg-err {
    background: rgba(255,59,48,.08);
    border: 1px solid rgba(255,59,48,.22);
    color: var(--bt-danger);
}
.bt-wfu-note {
    text-align: center;
    font-size: 12px;
    color: var(--bt-text-3);
    margin: 18px 0 0;
}

/* ══════════════════════════════════════════════════════════════════
   13. LANDING PAGE empty-space safeguards
   ══════════════════════════════════════════════════════════════════ */
/* Non-sticky sidebars don't need capping — sticky ones (bcp, analysis) stay
   visible as the page scrolls. The empty-gutter problem is solved structurally
   by moving the chart into the left column (done in class-asset-pages.php). */

/* Chart inside coin hero — override fxlm-section-header oversized default */
.bcp-chart-inline .fxlm-section-header {
    max-width: none !important;
    margin: 0 0 12px !important;
    padding: 0 0 10px !important;
}
.bcp-chart-inline .fxlm-section-header h2 { font-size: 17px !important; }
.cp-nav-link:focus-visible,
.bt-blog-tab:focus-visible,
.bt-nav-quick-link:focus-visible,
.fxlm-newsletter-v2-input:focus-visible,
.fxlm-newsletter-v2-btn:focus-visible,
.bt-editorial-card a:focus-visible {
    outline: 2px solid var(--bt-accent) !important;
    outline-offset: 2px !important;
}


/* ==================================================================
   14. INTELLIGENCE BRIEF (v49) - homepage differentiator
   ================================================================== */
.bt-brief-card {
    position: relative;
    background:
        radial-gradient(ellipse 800px 300px at 0% 0%, rgba(0,255,102,.08), transparent 60%),
        radial-gradient(ellipse 600px 400px at 100% 100%, rgba(167,139,250,.06), transparent 60%),
        linear-gradient(135deg, rgba(13,20,36,.95) 0%, rgba(15,24,41,.95) 100%);
    border: 1px solid rgba(0,255,102,.25);
    border-radius: var(--bt-radius-lg);
    padding: 32px 36px;
    margin: 0 0 24px;
    overflow: hidden;
    animation: bt-slide-up .6s var(--bt-ease-out) both;
}
.bt-brief-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--bt-accent) 0%, var(--bt-accent) 50%, #a78bfa 100%);
    opacity: .9;
}

.bt-brief-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    flex-wrap: wrap;
    gap: 10px;
}
.bt-brief-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--bt-font-body);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.2px;
    color: var(--bt-accent);
    background: rgba(0,255,102,.1);
    border: 1px solid rgba(0,255,102,.25);
    padding: 6px 12px;
    border-radius: 999px;
    text-transform: uppercase;
}
.bt-brief-pulse {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--bt-accent);
    box-shadow: 0 0 0 0 rgba(0,255,102,.6);
    animation: bt-brief-pulse 1.8s ease-out infinite;
}
@keyframes bt-brief-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(0,255,102,.6); }
    70%  { box-shadow: 0 0 0 10px rgba(0,255,102,0); }
    100% { box-shadow: 0 0 0 0 rgba(0,255,102,0); }
}
.bt-brief-time {
    font-family: var(--bt-font-mono);
    font-size: 11.5px;
    color: var(--bt-text-3);
}

.bt-brief-headline {
    font-family: var(--bt-font-display) !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    letter-spacing: -0.6px !important;
    color: #f1f5f9 !important;
    margin: 0 0 14px !important;
    line-height: 1.25 !important;
}
.bt-brief-para {
    font-family: var(--bt-font-body) !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #cbd5e1 !important;
    margin: 0 0 18px !important;
    max-width: 820px;
}

.bt-brief-why {
    background: rgba(255,184,0,.06);
    border-left: 3px solid var(--bt-accent-warm);
    padding: 12px 16px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 18px;
    display: flex;
    gap: 10px;
    align-items: baseline;
    flex-wrap: wrap;
}
.bt-brief-why-lbl {
    font-family: var(--bt-font-display);
    font-size: 11px;
    font-weight: 800;
    color: var(--bt-accent-warm);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    flex-shrink: 0;
}
.bt-brief-why-text {
    font-size: 14px;
    color: #cbd5e1;
    line-height: 1.6;
}

.bt-brief-signals {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}
.bt-brief-sig {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 13px;
    border-radius: 8px;
    font-family: var(--bt-font-body);
    font-size: 12px;
    font-weight: 600;
    border: 1px solid transparent;
    transition: transform var(--bt-dur-fast);
    animation: bt-fade-in .5s var(--bt-ease-out) both;
}
.bt-brief-sig:hover { transform: translateY(-1px); }
.bt-brief-sig:nth-child(1) { animation-delay: .1s; }
.bt-brief-sig:nth-child(2) { animation-delay: .17s; }
.bt-brief-sig:nth-child(3) { animation-delay: .24s; }
.bt-brief-sig:nth-child(4) { animation-delay: .31s; }
.bt-brief-sig strong {
    font-family: var(--bt-font-mono);
    font-weight: 700;
    letter-spacing: 0.3px;
}
.bt-brief-sig span {
    font-weight: 500;
    opacity: .85;
}
.bt-brief-sig-bull {
    background: rgba(0,255,102,.1);
    border-color: rgba(0,255,102,.3);
    color: var(--bt-accent);
}
.bt-brief-sig-bear {
    background: rgba(255,59,48,.08);
    border-color: rgba(255,59,48,.25);
    color: var(--bt-danger);
}
.bt-brief-sig-neutral {
    background: rgba(148,163,184,.08);
    border-color: rgba(148,163,184,.2);
    color: #94a3b8;
}

.bt-brief-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.06);
    font-family: var(--bt-font-body);
    font-size: 12px;
    color: var(--bt-text-3);
    flex-wrap: wrap;
    gap: 10px;
}
.bt-brief-foot a {
    color: var(--bt-accent) !important;
    font-weight: 600;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(0,255,102,.3);
    padding-bottom: 1px;
    transition: border-color var(--bt-dur-fast);
}
.bt-brief-foot a:hover {
    border-bottom-color: var(--bt-accent);
}

@media (max-width: 768px) {
    .bt-brief-card { padding: 22px 22px; }
    .bt-brief-headline { font-size: 22px !important; }
    .bt-brief-para { font-size: 15px !important; }
}

/* Cross-market compact card (for sidebars) */
.bt-xmarket-card {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    padding: 18px 20px;
    position: relative;
    overflow: hidden;
}
.bt-xmarket-card::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, var(--bt-accent), #a78bfa);
}
.bt-xmarket-head {
    font-family: var(--bt-font-display);
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 10px;
}
.bt-xmarket-verdict {
    font-family: var(--bt-font-display);
    font-size: 15px;
    font-weight: 700;
    color: #f1f5f9;
    letter-spacing: -0.2px;
    margin-bottom: 12px;
    line-height: 1.3;
}
.bt-xmarket-sigs {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px;
}
.bt-xmarket-sig {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 11.5px;
    font-family: var(--bt-font-body);
    border: 1px solid transparent;
}
.bt-xmarket-sig strong {
    font-family: var(--bt-font-mono);
    font-weight: 700;
    letter-spacing: 0.3px;
}
.bt-xmarket-sig.bt-brief-sig-bull {
    background: rgba(0,255,102,.08);
    border-color: rgba(0,255,102,.2);
    color: var(--bt-accent);
}
.bt-xmarket-sig.bt-brief-sig-bear {
    background: rgba(255,59,48,.06);
    border-color: rgba(255,59,48,.2);
    color: var(--bt-danger);
}
.bt-xmarket-sig.bt-brief-sig-neutral {
    background: rgba(148,163,184,.06);
    border-color: rgba(148,163,184,.15);
    color: #94a3b8;
}
.bt-xmarket-cta {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    color: var(--bt-accent) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(0,255,102,.3);
    padding-bottom: 1px;
}
.bt-xmarket-cta:hover { border-bottom-color: var(--bt-accent); }


/* ==================================================================
   15. PORTFOLIO ALLOCATION DONUT + WARNINGS (v50)
   ================================================================== */

/* Concentration warnings bar */
.bt-port-warnings {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
    animation: bt-slide-up .5s var(--bt-ease-out) both;
}
.bt-port-warn {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 12px;
    padding: 14px 16px;
    border-radius: var(--bt-radius-sm);
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
}
.bt-port-warn-warn {
    border-left: 3px solid var(--bt-accent-warm);
    background: linear-gradient(90deg, rgba(255,184,0,.06), rgba(255,184,0,0) 40%), var(--bt-bg-elev);
}
.bt-port-warn-info {
    border-left: 3px solid var(--bt-accent);
    background: linear-gradient(90deg, rgba(0,255,102,.05), rgba(0,255,102,0) 40%), var(--bt-bg-elev);
}
.bt-port-warn-icon {
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    font-size: 22px;
    background: rgba(255,255,255,.04);
    border-radius: 10px;
    flex-shrink: 0;
}
.bt-port-warn-warn .bt-port-warn-icon { background: rgba(255,184,0,.12); color: var(--bt-accent-warm); }
.bt-port-warn-info .bt-port-warn-icon { background: rgba(0,255,102,.1); color: var(--bt-accent); }
.bt-port-warn > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
    justify-content: center;
}
.bt-port-warn strong {
    font-family: var(--bt-font-display);
    font-size: 14px;
    font-weight: 700;
    color: #f1f5f9;
    letter-spacing: -0.2px;
}
.bt-port-warn span {
    font-family: var(--bt-font-body);
    font-size: 13px;
    color: #94a3b8;
    line-height: 1.55;
}

/* Allocation block */
.bt-port-allocation {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 22px 24px;
    margin-bottom: 20px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    animation: bt-slide-up .5s var(--bt-ease-out) .15s both;
}
.bt-port-alloc-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}
.bt-port-alloc-head h3 {
    font-family: var(--bt-font-display) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #e2e8f0 !important;
    margin: 0 !important;
    letter-spacing: -0.2px;
    display: inline-flex;
    gap: 8px;
    align-items: center;
}
.bt-port-alloc-sub {
    font-family: var(--bt-font-body);
    font-size: 11px;
    color: var(--bt-text-3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.bt-port-alloc-body {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 24px;
    align-items: center;
}
@media (max-width: 680px) {
    .bt-port-alloc-body { grid-template-columns: 1fr; justify-items: center; }
}

.bt-port-donut-wrap {
    position: relative;
    width: 200px; height: 200px;
}
#bt-port-donut-svg { display: block; }
.bt-port-donut-center {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    pointer-events: none;
}
.bt-port-donut-ct-lbl {
    font-family: var(--bt-font-body);
    font-size: 10px;
    color: var(--bt-text-3);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    font-weight: 600;
    margin-bottom: 2px;
}
.bt-port-donut-ct-val {
    font-family: var(--bt-font-display);
    font-size: 32px;
    font-weight: 800;
    color: #f1f5f9;
    letter-spacing: -0.5px;
    line-height: 1;
}

.bt-port-alloc-legend {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.bt-port-legend-row {
    display: grid;
    grid-template-columns: 14px minmax(60px, auto) 60px 1fr;
    gap: 10px;
    align-items: center;
    padding: 6px 8px;
    border-radius: 6px;
    font-family: var(--bt-font-body);
    font-size: 13px;
    transition: background var(--bt-dur-fast);
}
.bt-port-legend-row:hover { background: rgba(255,255,255,.02); }
.bt-port-legend-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.bt-port-legend-sym {
    font-family: var(--bt-font-mono);
    font-weight: 700;
    color: #e2e8f0;
    font-size: 12px;
}
.bt-port-legend-pct {
    font-family: var(--bt-font-mono);
    font-weight: 600;
    color: #cbd5e1;
    font-size: 12.5px;
    text-align: right;
}
.bt-port-legend-val {
    font-family: var(--bt-font-mono);
    color: var(--bt-text-3);
    font-size: 11.5px;
    text-align: right;
}

/* ==================================================================
   16. SIGNAL TRACK RECORD BADGE (v50)
   ================================================================== */
.bt-track-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 9px;
    border-radius: 6px;
    background: rgba(0,255,102,.08);
    border: 1px solid rgba(0,255,102,.22);
    color: var(--bt-accent) !important;
    font-family: var(--bt-font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1px;
    white-space: nowrap;
}
.bt-track-badge span:first-child {
    font-size: 10px;
}


/* ==================================================================
   15. SIGNAL TRACKER BADGE + MEME LIVE CONTAINER (v50)
   ================================================================== */
.bt-sig-track {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 7px;
    border-radius: 5px;
    font-family: var(--bt-font-mono);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.2px;
    border: 1px solid transparent;
    white-space: nowrap;
    transition: transform var(--bt-dur-fast);
    cursor: help;
}
.bt-sig-track:hover { transform: translateY(-1px); }
.bt-sig-track-pos {
    background: rgba(0,255,102,.1);
    color: var(--bt-accent);
    border-color: rgba(0,255,102,.22);
}
.bt-sig-track-neg {
    background: rgba(255,59,48,.08);
    color: var(--bt-danger);
    border-color: rgba(255,59,48,.22);
}

/* Live meme explorer 3-column container (matches hardcoded .bt-meme-cols styling) */
.bt-meme-cols-live {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 20px;
}
@media (max-width: 1100px) { .bt-meme-cols-live { grid-template-columns: 1fr; } }

.bt-meme-cols-live .bt-meme-col {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: 720px;
}
.bt-meme-cols-live .bt-meme-col-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid var(--bt-border);
    background: rgba(255,255,255,.015);
}
.bt-meme-col-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 20px;
    padding: 0 7px;
    border-radius: 10px;
    background: rgba(0,255,102,.1);
    border: 1px solid rgba(0,255,102,.22);
    color: var(--bt-accent);
    font-family: var(--bt-font-mono);
    font-size: 10.5px;
    font-weight: 700;
}
.bt-meme-cols-live .bt-meme-col-body {
    overflow-y: auto;
    flex: 1;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.1) transparent;
}
.bt-meme-cols-live .bt-meme-col-body::-webkit-scrollbar { width: 5px; }
.bt-meme-cols-live .bt-meme-col-body::-webkit-scrollbar-thumb { background: rgba(255,255,255,.08); border-radius: 3px; }

/* Live meme items are <a> tags instead of <div> - ensure no link styling leaks */
.bt-meme-cols-live .bt-meme-item {
    display: grid;
    grid-template-columns: 40px 1fr auto;
    gap: 10px;
    padding: 10px 14px;
    border-bottom: 1px solid rgba(255,255,255,.025);
    align-items: center;
    transition: background var(--bt-dur-fast);
    text-decoration: none !important;
    color: inherit !important;
}
.bt-meme-cols-live .bt-meme-item:hover {
    background: rgba(0,255,102,.04);
}


/* ==================================================================
   16. SIGNAL TRACK RECORD + OUTCOME BADGES + REBALANCE PROMPT (v51)
   ================================================================== */

/* Track record summary card */
.bt-track-record {
    background: linear-gradient(135deg, rgba(13,20,36,.95), rgba(15,24,41,.95));
    border: 1px solid rgba(0,255,102,.2);
    border-radius: var(--bt-radius-lg);
    padding: 24px 28px;
    margin: 0 auto 28px;
    max-width: 1280px;
    position: relative;
    overflow: hidden;
    animation: bt-slide-up .5s var(--bt-ease-out) both;
}
.bt-track-record::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--bt-accent), var(--bt-accent));
}
.bt-track-record-warming {
    border-color: rgba(167,139,250,.2);
}
.bt-track-record-warming::before {
    background: linear-gradient(90deg, #a78bfa, #6366f1);
}

.bt-track-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.bt-track-icon { font-size: 24px; }
.bt-track-head h3 {
    font-family: var(--bt-font-display) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #f1f5f9 !important;
    margin: 0 !important;
    letter-spacing: -0.3px;
}
.bt-track-window, .bt-track-badge {
    margin-left: auto;
    padding: 4px 11px;
    border-radius: 999px;
    font-family: var(--bt-font-mono);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}
.bt-track-window {
    background: rgba(0,255,102,.1);
    color: var(--bt-accent);
    border: 1px solid rgba(0,255,102,.25);
}
.bt-track-badge {
    background: rgba(167,139,250,.12);
    color: #a78bfa;
    border: 1px solid rgba(167,139,250,.3);
}

.bt-track-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 18px;
}
@media (max-width: 640px) { .bt-track-stats { grid-template-columns: repeat(2, 1fr); } }
.bt-track-stat {
    background: rgba(255,255,255,.02);
    border: 1px solid var(--bt-border);
    border-radius: var(--bt-radius-sm);
    padding: 14px 16px;
    text-align: center;
}
.bt-track-stat-lbl {
    font-family: var(--bt-font-body);
    font-size: 10.5px;
    color: var(--bt-text-3);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 6px;
    font-weight: 600;
}
.bt-track-stat-val {
    font-family: var(--bt-font-display);
    font-size: 26px;
    font-weight: 800;
    color: #f1f5f9;
    letter-spacing: -0.5px;
    font-variant-numeric: tabular-nums;
}
.bt-track-accuracy-high { color: var(--bt-accent); }
.bt-track-accuracy-mid  { color: var(--bt-accent-warm); }
.bt-track-accuracy-low  { color: var(--bt-danger); }
.bt-track-wins    { color: var(--bt-accent); }
.bt-track-losses  { color: var(--bt-danger); }

.bt-track-best {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 12px 16px;
    background: rgba(0,255,102,.04);
    border: 1px solid rgba(0,255,102,.15);
    border-radius: 9px;
    font-size: 13px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.bt-track-best-lbl {
    font-family: var(--bt-font-body);
    font-weight: 700;
    color: var(--bt-accent);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    flex-shrink: 0;
}
.bt-track-best-sym {
    font-family: var(--bt-font-mono);
    font-weight: 700;
    color: #f1f5f9;
    background: rgba(255,255,255,.04);
    padding: 3px 10px;
    border-radius: 6px;
}
.bt-track-best-dir { color: #cbd5e1; font-size: 12.5px; }
.bt-track-best-pct {
    margin-left: auto;
    font-family: var(--bt-font-mono);
    font-weight: 800;
    color: var(--bt-accent);
    font-size: 15px;
    font-variant-numeric: tabular-nums;
}

.bt-track-body,
.bt-track-note {
    font-family: var(--bt-font-body);
    font-size: 13px;
    color: #94a3b8;
    line-height: 1.65;
    margin: 0;
}
.bt-track-note {
    font-size: 11.5px;
    color: var(--bt-text-3);
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,.05);
}

/* Outcome marker (shown next to tracker badge after 48h) */
.bt-sig-outcome {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 8px;
    border-radius: 5px;
    font-family: var(--bt-font-body);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    border: 1px solid transparent;
    margin-right: 4px;
    white-space: nowrap;
}
.bt-sig-outcome-win {
    background: rgba(0,255,102,.12);
    color: var(--bt-accent);
    border-color: rgba(0,255,102,.3);
}
.bt-sig-outcome-loss {
    background: rgba(255,59,48,.1);
    color: var(--bt-danger);
    border-color: rgba(255,59,48,.28);
}

/* F&G rebalance prompt */
.bt-port-rebalance {
    padding: 18px 22px;
    border-radius: var(--bt-radius);
    margin-bottom: 16px;
    position: relative;
    overflow: hidden;
    animation: bt-slide-up .5s var(--bt-ease-out) both;
}
.bt-port-rebalance::before {
    content: '';
    position: absolute;
    top: 0; left: 0; bottom: 0;
    width: 3px;
}
.bt-port-rebalance-bull {
    background: linear-gradient(120deg, rgba(0,255,102,.06), rgba(0,255,102,.03));
    border: 1px solid rgba(0,255,102,.22);
}
.bt-port-rebalance-bull::before { background: var(--bt-accent); }
.bt-port-rebalance-bear {
    background: linear-gradient(120deg, rgba(255,184,0,.07), rgba(255,59,48,.03));
    border: 1px solid rgba(255,184,0,.25);
}
.bt-port-rebalance-bear::before { background: var(--bt-accent-warm); }
.bt-port-rebalance-neutral {
    background: rgba(148,163,184,.05);
    border: 1px solid rgba(148,163,184,.18);
}
.bt-port-rebalance-neutral::before { background: #94a3b8; }

.bt-port-reb-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}
.bt-port-reb-icon {
    font-size: 22px;
    line-height: 1;
}
.bt-port-reb-head strong {
    font-family: var(--bt-font-display);
    font-weight: 800;
    font-size: 14px;
    color: #f1f5f9;
    letter-spacing: -0.2px;
}
.bt-port-rebalance p {
    font-family: var(--bt-font-body);
    font-size: 13.5px;
    color: #cbd5e1;
    line-height: 1.65;
    margin: 0;
}
.bt-port-reb-cta {
    display: inline-block;
    margin-top: 10px;
    font-family: var(--bt-font-body);
    font-weight: 700;
    font-size: 12px;
    color: var(--bt-accent);
    border-bottom: 1px solid rgba(0,255,102,.3);
    padding-bottom: 1px;
}


/* ==================================================================
   17. TABLE RENDERING FIXES + DEXSCAN SORT (v52)
   ================================================================== */
/* Bug: WordPress themes sometimes apply `display: block` or tight word-break
   to td elements inside .entry-content, which broke our sector tables into
   a vertical stack of single-character-wide cells (Image 4). Force proper
   table-cell rendering for our tables. */
.bt-cat-table,
.bt-toktable,
.bt-traders-table,
.bt-port-table,
.fxlm-privacy-table {
    display: table !important;
    width: 100% !important;
    table-layout: auto !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}
.bt-cat-table thead,
.bt-toktable thead,
.bt-traders-table thead,
.bt-port-table thead,
.fxlm-privacy-table thead { display: table-header-group !important; }
.bt-cat-table tbody,
.bt-toktable tbody,
.bt-traders-table tbody,
.bt-port-table tbody,
.fxlm-privacy-table tbody { display: table-row-group !important; }
.bt-cat-table tr,
.bt-toktable tr,
.bt-traders-table tr,
.bt-port-table tr,
.fxlm-privacy-table tr { display: table-row !important; }
.bt-cat-table th,
.bt-cat-table td,
.bt-toktable th,
.bt-toktable td,
.bt-traders-table th,
.bt-traders-table td,
.bt-port-table th,
.bt-port-table td,
.fxlm-privacy-table th,
.fxlm-privacy-table td {
    display: table-cell !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* Sector coin-link should wrap name normally though */
.bt-cat-coin-link {
    white-space: nowrap;
    min-width: 180px;
}
.bt-cat-coin-link strong {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 220px;
}

/* Sortable header affordance */
.bt-toktable thead th {
    cursor: pointer;
    user-select: none;
    position: relative;
    transition: color var(--bt-dur-fast), background var(--bt-dur-fast);
}
.bt-toktable thead th:hover { color: #cbd5e1 !important; background: rgba(255,255,255,.03) !important; }
.bt-toktable thead th.sort-active { color: var(--bt-accent) !important; }
.bt-toktable thead th.sort-active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--bt-accent);
}

/* Intelligence Brief: snippet-style analysis list */
.bt-brief-snippet-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 18px;
}
.bt-brief-snippet {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    background: rgba(255,255,255,.02);
    border: 1px solid var(--bt-border);
    border-radius: 10px;
    transition: border-color var(--bt-dur-fast);
}
.bt-brief-snippet:hover {
    border-color: rgba(0,255,102,.22);
}
.bt-brief-snippet-icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    flex-shrink: 0;
}
.bt-brief-snippet-icon.up   { background: rgba(0,255,102,.12); color: var(--bt-accent); }
.bt-brief-snippet-icon.down { background: rgba(255,59,48,.12); color: var(--bt-danger); }
.bt-brief-snippet-icon.neu  { background: rgba(148,163,184,.1); color: #94a3b8; }
.bt-brief-snippet-body {
    flex: 1;
    min-width: 0;
}
.bt-brief-snippet-title {
    font-family: var(--bt-font-display);
    font-size: 13px;
    font-weight: 700;
    color: #e2e8f0;
    letter-spacing: -0.2px;
    margin-bottom: 3px;
    line-height: 1.3;
}
.bt-brief-snippet-meta {
    font-family: var(--bt-font-body);
    font-size: 12px;
    color: #94a3b8;
    line-height: 1.5;
}
.bt-brief-snippet-meta strong {
    color: #cbd5e1;
    font-weight: 600;
}
.bt-brief-snippet-val {
    font-family: var(--bt-font-mono);
    font-size: 12.5px;
    font-weight: 700;
    flex-shrink: 0;
    text-align: right;
}
.bt-brief-snippet-val.up { color: var(--bt-accent); }
.bt-brief-snippet-val.down { color: var(--bt-danger); }

/* Blog: hero + empty-state improvements */
.bt-blog-emptier {
    padding: 36px 28px;
    margin: 20px 0;
    background:
        radial-gradient(ellipse 400px 200px at 50% 0%, rgba(0,255,102,.06), transparent 70%),
        var(--bt-bg-elev);
    border: 1px solid rgba(0,255,102,.18);
    border-radius: var(--bt-radius-lg);
    text-align: center;
}
.bt-blog-emptier-icon {
    font-size: 40px;
    margin-bottom: 12px;
    opacity: 0.9;
}
.bt-blog-emptier h3 {
    font-family: var(--bt-font-display) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #f1f5f9 !important;
    margin: 0 0 8px !important;
    letter-spacing: -0.3px;
}
.bt-blog-emptier p {
    font-family: var(--bt-font-body) !important;
    color: #94a3b8 !important;
    font-size: 14px !important;
    margin: 0 auto 16px !important;
    line-height: 1.65;
    max-width: 560px;
}
.bt-blog-emptier-ctas {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}
.bt-blog-emptier-cta {
    padding: 9px 18px;
    border-radius: 9px;
    font-family: var(--bt-font-body) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-decoration: none !important;
    transition: transform var(--bt-dur-fast);
}
.bt-blog-emptier-cta-primary {
    background: var(--bt-accent);
    color: #000 !important;
    box-shadow: 0 4px 14px rgba(0,255,102,.25);
}
.bt-blog-emptier-cta-ghost {
    background: transparent;
    color: #cbd5e1 !important;
    border: 1px solid var(--bt-border);
}
.bt-blog-emptier-cta:hover {
    transform: translateY(-1px);
}


/* ==================================================================
   18. BLOG REVAMP (v53) - magazine-style layout, constrained images
   ================================================================== */

/* Image sizing fix: was rendering at intrinsic size (broken faces).
   Force a fixed aspect ratio with object-fit cover. */
.fxlm-blog-img-wrap,
.fxlm-bcc-img-wrap {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    position: relative;
    border-radius: 0;
    background: var(--bt-bg-elev-2);
}
.fxlm-blog-img-wrap img,
.fxlm-bcc-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transition: transform .5s cubic-bezier(.2, .8, .2, 1);
}
.fxlm-blog-card:hover .fxlm-blog-img-wrap img,
.fxlm-blog-compact-card:hover .fxlm-bcc-img-wrap img {
    transform: scale(1.05);
}
.fxlm-blog-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10,14,26,0) 0%, rgba(10,14,26,0) 45%, rgba(10,14,26,.65) 100%);
    pointer-events: none;
}
.fxlm-blog-no-img {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 0 !important;
}

/* Magazine grid: featured post spans 2 cols, then regular cards */
.fxlm-blog-grid {
    max-width: 1280px !important;
    margin: 28px auto !important;
    padding: 0 24px !important;
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    gap: 24px !important;
}
.fxlm-blog-grid .fxlm-blog-card {
    grid-column: span 4;
    display: flex;
    flex-direction: column;
    position: relative;
    animation: bt-slide-up .5s var(--bt-ease-out) both;
}
.fxlm-blog-grid .fxlm-blog-card:nth-child(2) { animation-delay: .05s; }
.fxlm-blog-grid .fxlm-blog-card:nth-child(3) { animation-delay: .10s; }
.fxlm-blog-grid .fxlm-blog-card:nth-child(4) { animation-delay: .15s; }
.fxlm-blog-grid .fxlm-blog-card:nth-child(5) { animation-delay: .20s; }
.fxlm-blog-grid .fxlm-blog-card:nth-child(6) { animation-delay: .25s; }
@media (max-width: 980px) {
    .fxlm-blog-grid { grid-template-columns: repeat(6, 1fr) !important; }
    .fxlm-blog-grid .fxlm-blog-card { grid-column: span 3; }
}
@media (max-width: 640px) {
    .fxlm-blog-grid { grid-template-columns: 1fr !important; }
    .fxlm-blog-grid .fxlm-blog-card { grid-column: span 1; }
}

/* Featured card takes full width of main column */
.fxlm-blog-featured {
    grid-column: span 12 !important;
    display: grid !important;
    grid-template-columns: 1.3fr 1fr;
    gap: 0;
    overflow: hidden;
    padding: 0 !important;
    background: var(--bt-bg-elev) !important;
    border: 1px solid var(--bt-border) !important;
    border-radius: var(--bt-radius-lg) !important;
    min-height: 360px;
    position: relative;
}
.fxlm-blog-featured::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--bt-accent) 0%, var(--bt-accent) 50%, #a78bfa 100%);
    z-index: 2;
}
.fxlm-blog-featured .fxlm-blog-img-wrap {
    aspect-ratio: auto;
    height: 100%;
    min-height: 360px;
}
.fxlm-blog-featured .fxlm-blog-img-wrap img {
    height: 100% !important;
    min-height: 360px;
}
.fxlm-blog-featured .fxlm-blog-meta {
    padding: 28px 32px 0;
}
.fxlm-blog-featured .fxlm-blog-title {
    padding: 0 32px;
    font-size: 26px !important;
    line-height: 1.25 !important;
}
.fxlm-blog-featured .fxlm-blog-excerpt {
    padding: 0 32px;
    font-size: 15px !important;
    line-height: 1.7 !important;
}
.fxlm-blog-featured .fxlm-blog-footer {
    padding: 16px 32px 28px;
    border-top: 1px solid var(--bt-border);
    margin-top: auto;
}
@media (max-width: 800px) {
    .fxlm-blog-featured { grid-template-columns: 1fr; }
    .fxlm-blog-featured .fxlm-blog-img-wrap { min-height: 220px; aspect-ratio: 16/9; }
    .fxlm-blog-featured .fxlm-blog-img-wrap img { min-height: 220px; }
    .fxlm-blog-featured .fxlm-blog-meta,
    .fxlm-blog-featured .fxlm-blog-title,
    .fxlm-blog-featured .fxlm-blog-excerpt,
    .fxlm-blog-featured .fxlm-blog-footer { padding-left: 22px; padding-right: 22px; }
}

/* Regular card layout */
.fxlm-blog-card {
    padding: 0 !important;
    overflow: hidden;
    display: flex !important;
    flex-direction: column !important;
}
.fxlm-blog-card .fxlm-blog-meta {
    padding: 16px 18px 0;
    display: flex;
    gap: 8px;
    align-items: center;
}
.fxlm-blog-card .fxlm-blog-title {
    padding: 0 18px !important;
    margin: 10px 0 8px !important;
    font-family: var(--bt-font-display) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
    color: #f1f5f9 !important;
    line-height: 1.35 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fxlm-blog-card .fxlm-blog-title a {
    color: #f1f5f9 !important;
    text-decoration: none !important;
    transition: color var(--bt-dur-fast);
}
.fxlm-blog-card:hover .fxlm-blog-title a {
    color: var(--bt-accent) !important;
}
.fxlm-blog-card .fxlm-blog-excerpt {
    padding: 0 18px !important;
    color: #94a3b8 !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 14px !important;
}
.fxlm-blog-card .fxlm-blog-footer {
    padding: 12px 18px 16px !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    border-top: 1px solid rgba(255,255,255,.04);
    font-family: var(--bt-font-body);
    font-size: 11.5px;
    color: var(--bt-text-3);
    flex-wrap: wrap;
}
.fxlm-blog-date, .fxlm-blog-read {
    font-family: var(--bt-font-mono);
    font-size: 11px;
    color: var(--bt-text-3);
}
.fxlm-blog-cta {
    color: var(--bt-accent) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-decoration: none !important;
    margin-left: auto;
    border-bottom: 1px solid rgba(0,255,102,.25);
    padding-bottom: 1px;
    transition: border-color var(--bt-dur-fast);
}
.fxlm-blog-cta:hover { border-bottom-color: var(--bt-accent); }

/* Category badge refinement */
.fxlm-blog-cat {
    display: inline-block;
    font-family: var(--bt-font-body) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 4px 9px !important;
    border-radius: 5px !important;
    border: 1px solid currentColor !important;
    line-height: 1 !important;
}
.fxlm-blog-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 4px 9px;
    border-radius: 5px;
    background: linear-gradient(135deg, var(--bt-accent-warm), #f97316);
    color: #000 !important;
}

/* Compact card (homepage "Market Analysis & AI Blog" section) matches too */
.fxlm-blog-cards-grid {
    max-width: 1280px !important;
    margin: 20px auto !important;
    padding: 0 24px !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
}
@media (max-width: 800px) {
    .fxlm-blog-cards-grid { grid-template-columns: 1fr !important; }
}
.fxlm-blog-compact-card .fxlm-bcc-body {
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.fxlm-blog-compact-card .fxlm-bcc-title {
    font-family: var(--bt-font-display) !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    letter-spacing: -0.2px !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fxlm-blog-compact-card .fxlm-bcc-title a {
    color: #f1f5f9 !important;
    text-decoration: none !important;
}
.fxlm-blog-compact-card:hover .fxlm-bcc-title a {
    color: var(--bt-accent) !important;
}
.fxlm-blog-compact-card .fxlm-bcc-excerpt {
    color: #94a3b8 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fxlm-blog-compact-card .fxlm-bcc-footer {
    display: flex;
    gap: 12px;
    align-items: center;
    padding-top: 8px;
    border-top: 1px solid rgba(255,255,255,.04);
    font-family: var(--bt-font-mono);
    font-size: 11px;
    color: var(--bt-text-3);
    flex-wrap: wrap;
}
.fxlm-blog-compact-card .fxlm-bcc-footer a {
    color: var(--bt-accent) !important;
    font-weight: 700;
    margin-left: auto;
    text-decoration: none !important;
    font-family: var(--bt-font-body);
    font-size: 11.5px;
}

/* ==================================================================
   19. BT LOGO 3D ROTATE (v54)
   ================================================================== */
.bt-logo-3d {
    display: inline-block;
    perspective: 500px;
    width: 36px;
    height: 36px;
    vertical-align: middle;
    margin-right: 8px;
}
.bt-logo-img {
    display: block;
    width: 36px !important;
    height: 36px !important;
    object-fit: contain;
    border-radius: 8px;
    transform-style: preserve-3d;
    animation: bt-logo-spin 6s cubic-bezier(.45, .05, .55, .95) infinite;
    filter: drop-shadow(0 2px 8px rgba(0, 212, 170, .25));
    will-change: transform;
}
@keyframes bt-logo-spin {
    0%   { transform: rotateY(0deg);   }
    45%  { transform: rotateY(360deg); }
    55%  { transform: rotateY(360deg); }  /* brief pause at 1 full turn */
    100% { transform: rotateY(720deg); }
}
/* Pause on nav hover so it doesn't distract when users are reading the menu */
.cp-nav-logo:hover .bt-logo-img,
.cp-navbar:hover .bt-logo-img {
    animation-play-state: paused;
}
/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
    .bt-logo-img { animation: none; }
}

/* ==================================================================
   20. THREADS ARCHIVE + INLINE THREAD (v56)
   ================================================================== */

.bt-threads-archive {
    max-width: 760px;
    margin: 32px auto;
    padding: 0 20px;
    font-family: var(--bt-font-body);
}

.bt-threads-intro {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding: 24px 0 28px;
    border-bottom: 1px solid var(--bt-border);
    margin-bottom: 28px;
}
.bt-threads-intro-left h2 {
    font-family: var(--bt-font-display) !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #f1f5f9 !important;
    letter-spacing: -0.4px;
    margin: 0 0 6px !important;
}
.bt-threads-intro-left p {
    color: #94a3b8 !important;
    font-size: 14px !important;
    margin: 0 !important;
    line-height: 1.55;
    max-width: 500px;
}
.bt-threads-follow {
    padding: 10px 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--bt-accent), var(--bt-accent));
    color: #000 !important;
    font-weight: 800;
    font-size: 13.5px;
    text-decoration: none !important;
    flex-shrink: 0;
    transition: transform var(--bt-dur-fast);
}
.bt-threads-follow:hover { transform: translateY(-1px); }

.bt-threads-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bt-thread-card {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: 16px;
    padding: 20px 22px;
    transition: border-color var(--bt-dur-fast), transform var(--bt-dur-fast);
    animation: bt-slide-up .4s var(--bt-ease-out) both;
}
.bt-thread-card:hover {
    border-color: rgba(0, 153, 255, .3);
}

.bt-thread-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}
.bt-thread-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--bt-accent), var(--bt-accent));
    color: #000;
    font-weight: 800;
    font-family: var(--bt-font-display);
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: -0.5px;
}
.bt-thread-meta { flex: 1; min-width: 0; }
.bt-thread-author {
    font-weight: 700;
    font-size: 14.5px;
    color: #f1f5f9;
    display: flex;
    align-items: center;
    gap: 4px;
}
.bt-thread-check {
    color: var(--bt-accent);
    font-size: 13px;
    background: var(--bt-accent);
    color: #000;
    border-radius: 50%;
    width: 14px;
    height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 9px;
    line-height: 1;
}
.bt-thread-handle {
    font-size: 12.5px;
    color: var(--bt-text-3);
    margin-top: 1px;
}
.bt-thread-count {
    font-family: var(--bt-font-mono);
    font-size: 10.5px;
    font-weight: 700;
    color: var(--bt-accent);
    background: rgba(0, 153, 255, .08);
    border: 1px solid rgba(0, 153, 255, .25);
    padding: 4px 10px;
    border-radius: 999px;
    flex-shrink: 0;
}

.bt-thread-hook {
    font-family: var(--bt-font-body);
    font-size: 16px;
    line-height: 1.55;
    color: #e2e8f0;
    margin-bottom: 16px;
    white-space: pre-wrap;
}

.bt-thread-body {
    padding: 14px 0 4px;
    border-top: 1px solid rgba(255,255,255,.05);
    margin-bottom: 8px;
    animation: bt-fade-in .3s var(--bt-ease-out) both;
}
.bt-thread-tweet {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,.03);
    align-items: start;
}
.bt-thread-tweet:last-child { border-bottom: none; }
.bt-thread-tweet-n {
    font-family: var(--bt-font-mono);
    font-size: 11px;
    color: #475569;
    font-weight: 700;
    padding-top: 2px;
}
.bt-thread-tweet-t {
    font-size: 14.5px;
    line-height: 1.55;
    color: #cbd5e1;
    white-space: pre-wrap;
}

.bt-thread-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.05);
    flex-wrap: wrap;
}
.bt-thread-expand {
    background: transparent;
    border: 1px solid var(--bt-border);
    color: #cbd5e1;
    border-radius: 999px;
    padding: 7px 14px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--bt-dur-fast);
    font-family: inherit;
}
.bt-thread-expand:hover {
    background: rgba(0, 153, 255, .06);
    border-color: rgba(0, 153, 255, .3);
    color: var(--bt-accent);
}
.bt-thread-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.bt-thread-copy {
    background: transparent;
    border: 1px solid var(--bt-border);
    color: #94a3b8;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: all var(--bt-dur-fast);
}
.bt-thread-copy:hover {
    border-color: rgba(0, 212, 170, .3);
    color: var(--bt-accent);
}
.bt-thread-share {
    background: var(--bt-accent);
    color: #000 !important;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 11.5px;
    font-weight: 700;
    text-decoration: none !important;
    transition: transform var(--bt-dur-fast);
}
.bt-thread-share:hover { transform: translateY(-1px); }
.bt-thread-perma {
    color: #94a3b8 !important;
    font-size: 11.5px;
    text-decoration: none !important;
    font-weight: 600;
    padding: 6px 10px;
    border-radius: 8px;
    transition: color var(--bt-dur-fast);
}
.bt-thread-perma:hover { color: var(--bt-accent) !important; }

.bt-threads-empty {
    max-width: 520px;
    margin: 60px auto;
    padding: 48px 32px;
    text-align: center;
    background: var(--bt-bg-elev);
    border: 1px dashed rgba(0, 153, 255, .25);
    border-radius: 16px;
}
.bt-threads-empty-icon { font-size: 44px; margin-bottom: 12px; }
.bt-threads-empty h3 {
    font-family: var(--bt-font-display) !important;
    font-size: 20px !important;
    color: #f1f5f9 !important;
    margin: 0 0 10px !important;
}
.bt-threads-empty p {
    color: #94a3b8 !important;
    font-size: 14px !important;
    line-height: 1.6;
    margin: 0 0 20px !important;
}
.bt-threads-cta {
    display: inline-block;
    padding: 10px 20px;
    background: linear-gradient(135deg, var(--bt-accent), var(--bt-accent));
    color: #000 !important;
    font-weight: 700;
    border-radius: 999px;
    text-decoration: none !important;
}

/* Inline thread on blog posts */
.bt-inline-thread {
    max-width: 760px;
    margin: 36px auto;
    padding: 24px 26px;
    background: linear-gradient(135deg, rgba(0,255,102,.05), rgba(0,255,102,.03));
    border: 1px solid rgba(0, 153, 255, .2);
    border-radius: 16px;
}
.bt-inline-thread-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    flex-wrap: wrap;
    gap: 10px;
}
.bt-inline-thread-badge {
    font-family: var(--bt-font-display);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    background: rgba(0, 153, 255, .12);
    color: var(--bt-accent);
    padding: 5px 12px;
    border-radius: 999px;
    border: 1px solid rgba(0, 153, 255, .3);
}
.bt-inline-thread-follow {
    color: var(--bt-accent) !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    border-bottom: 1px dashed rgba(0, 153, 255, .3);
    padding-bottom: 1px;
}
.bt-inline-thread-intro {
    color: #94a3b8;
    font-size: 13.5px;
    line-height: 1.6;
    margin: 0 0 16px !important;
}
.bt-inline-thread-tweets {
    background: rgba(0,0,0,.2);
    border-radius: 10px;
    padding: 8px 16px;
    margin-bottom: 16px;
}
.bt-inline-thread-tweets .bt-thread-tweet {
    border-bottom: 1px solid rgba(255,255,255,.04);
}
.bt-inline-thread-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════════════════════
   v59 — MAGAZINE GRID (Blog + AI Market Analysis)
   Clean editorial layout: lead story + uniform thumbnail cards.
   Higher specificity than legacy .fxlm-blog-* rules so it wins
   the cascade without touching frontend.css.
   ═══════════════════════════════════════════════════════════════ */

/* --- Tabs wrapper: narrow, centered, separate from the grid --- */
.bt-blog-tabs-wrap {
    max-width: 1280px;
    margin: 0 auto 4px;
    padding: 0 24px;
}
.bt-blog-tabs-wrap .bt-blog-tabs {
    margin: 0 !important;
    padding: 0 0 20px !important;
    border-bottom: 1px solid var(--bt-border, rgba(255,255,255,.08)) !important;
}

/* --- Grid container: full-width, breathes on its own --- */
.bt-magazine-grid {
    max-width: 1280px;
    margin: 32px auto 56px;
    padding: 0 24px;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 28px;
}

/* --- Card base --- */
.bt-magazine-grid .bt-mag-card {
    grid-column: span 4;
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 14px;
    overflow: hidden;
    position: relative;
    transition: transform .3s cubic-bezier(.2,.8,.2,1), border-color .3s, box-shadow .3s;
    animation: bt-mag-rise .5s cubic-bezier(.2,.8,.2,1) both;
    min-width: 0; /* grid item flex fix for long titles */
}
.bt-magazine-grid .bt-mag-card:nth-child(2) { animation-delay: .05s; }
.bt-magazine-grid .bt-mag-card:nth-child(3) { animation-delay: .08s; }
.bt-magazine-grid .bt-mag-card:nth-child(4) { animation-delay: .11s; }
.bt-magazine-grid .bt-mag-card:nth-child(5) { animation-delay: .14s; }
.bt-magazine-grid .bt-mag-card:nth-child(6) { animation-delay: .17s; }
.bt-magazine-grid .bt-mag-card:nth-child(n+7) { animation-delay: .2s; }
.bt-magazine-grid .bt-mag-card:hover {
    transform: translateY(-4px);
    border-color: rgba(0,255,102,.25);
    box-shadow: 0 18px 48px -16px rgba(0,0,0,.55), 0 0 0 1px rgba(0,255,102,.05);
}

@keyframes bt-mag-rise {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* --- Lead card: spans 8 cols, side-by-side thumb + body --- */
.bt-magazine-grid .bt-mag-card.bt-mag-lead {
    grid-column: span 12;
    flex-direction: row;
    min-height: 280px;
}
.bt-magazine-grid .bt-mag-card.bt-mag-lead .bt-mag-thumb {
    width: 52%;
    flex-shrink: 0;
    aspect-ratio: auto;
    height: auto;
    min-height: 280px;
}
.bt-magazine-grid .bt-mag-card.bt-mag-lead .bt-mag-body {
    padding: 32px 36px 28px;
    justify-content: center;
}
.bt-magazine-grid .bt-mag-card.bt-mag-lead .bt-mag-title {
    font-size: 26px !important;
    line-height: 1.2 !important;
    -webkit-line-clamp: 3;
    margin: 14px 0 14px !important;
}
.bt-magazine-grid .bt-mag-card.bt-mag-lead .bt-mag-excerpt {
    font-size: 15px;
    -webkit-line-clamp: 3;
    margin-bottom: 20px;
}
.bt-magazine-grid .bt-mag-card.bt-mag-lead::before {
    content: 'LATEST';
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 3;
    font-family: var(--bt-font-mono, var(--bt-font-mono));
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #000;
    background: var(--bt-accent);
    padding: 5px 10px;
    border-radius: 4px;
    box-shadow: 0 4px 14px rgba(0,255,102,.35);
}

/* --- Thumbnail: aspect-locked, zoom on hover --- */
.bt-magazine-grid .bt-mag-thumb {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: rgba(255,255,255,.02);
    text-decoration: none;
}
.bt-magazine-grid .bt-mag-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(.2,.8,.2,1), filter .3s;
    filter: saturate(.92);
}
.bt-magazine-grid .bt-mag-card:hover .bt-mag-thumb img {
    transform: scale(1.05);
    filter: saturate(1.1);
}

/* Gradient overlay at bottom of thumb to cradle the chip + improve legibility */
.bt-magazine-grid .bt-mag-thumb::after {
    content: '';
    position: absolute;
    inset: auto 0 0 0;
    height: 50%;
    background: linear-gradient(180deg, transparent, rgba(10,14,26,.65));
    pointer-events: none;
    z-index: 1;
}

/* Thumb fallback (no featured image) — gradient + emoji + tag */
.bt-magazine-grid .bt-mag-thumb-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    position: relative;
}
.bt-magazine-grid .bt-mag-thumb-emoji {
    font-size: 48px;
    line-height: 1;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,.4));
}
.bt-magazine-grid .bt-mag-thumb-mark {
    font-family: var(--bt-font-mono, var(--bt-font-mono));
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
    opacity: .75;
}

/* --- Category chip: pinned to thumb bottom-left --- */
.bt-magazine-grid .bt-mag-chip {
    position: absolute;
    bottom: 14px;
    left: 14px;
    z-index: 2;
    font-family: var(--bt-font-body, var(--bt-font-body));
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 4px;
    box-shadow: 0 4px 14px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.15);
    white-space: nowrap;
    max-width: calc(100% - 28px);
    overflow: hidden;
    text-overflow: ellipsis;
}

/* --- Card body --- */
.bt-magazine-grid .bt-mag-body {
    padding: 20px 22px 18px;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}
.bt-magazine-grid .bt-mag-title {
    font-family: var(--bt-font-display, var(--bt-font-body));
    font-size: 18px;
    font-weight: 700;
    color: #f1f5f9;
    line-height: 1.32;
    letter-spacing: -0.3px;
    margin: 0 0 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.bt-magazine-grid .bt-mag-title a {
    color: inherit;
    text-decoration: none;
    background-image: linear-gradient(var(--bt-accent), var(--bt-accent));
    background-repeat: no-repeat;
    background-size: 0 1px;
    background-position: 0 100%;
    transition: background-size .4s cubic-bezier(.2,.8,.2,1), color .3s;
}
.bt-magazine-grid .bt-mag-card:hover .bt-mag-title a {
    color: var(--bt-accent);
    background-size: 100% 1px;
}
.bt-magazine-grid .bt-mag-excerpt {
    font-family: var(--bt-font-body, var(--bt-font-body));
    font-size: 13.5px;
    line-height: 1.6;
    color: #94a3b8;
    margin: 0 0 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}

/* --- Meta footer --- */
.bt-magazine-grid .bt-mag-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.05);
    font-family: var(--bt-font-mono, var(--bt-font-mono));
    font-size: 11px;
    color: var(--bt-text-3);
    margin-top: auto;
}
.bt-magazine-grid .bt-mag-dot { opacity: .4; }
.bt-magazine-grid .bt-mag-arrow {
    margin-left: auto;
    color: var(--bt-accent);
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0,255,102,.08);
    border: 1px solid rgba(0,255,102,.18);
    transition: transform .3s cubic-bezier(.2,.8,.2,1), background .2s, border-color .2s;
}
.bt-magazine-grid .bt-mag-card:hover .bt-mag-arrow {
    transform: translateX(3px);
    background: rgba(0,255,102,.18);
    border-color: rgba(0,255,102,.35);
}

/* --- Responsive breakpoints --- */
@media (max-width: 1100px) {
    .bt-magazine-grid .bt-mag-card { grid-column: span 6; }
    .bt-magazine-grid .bt-mag-card.bt-mag-lead { grid-column: span 12; }
}
@media (max-width: 760px) {
    .bt-magazine-grid {
        gap: 20px;
        padding: 0 16px;
        margin: 20px auto 40px;
    }
    .bt-magazine-grid .bt-mag-card { grid-column: span 12; }
    .bt-magazine-grid .bt-mag-card.bt-mag-lead { flex-direction: column; min-height: 0; }
    .bt-magazine-grid .bt-mag-card.bt-mag-lead .bt-mag-thumb {
        width: 100%;
        aspect-ratio: 16 / 9;
        min-height: 0;
    }
    .bt-magazine-grid .bt-mag-card.bt-mag-lead .bt-mag-body {
        padding: 20px 22px 18px;
    }
    .bt-magazine-grid .bt-mag-card.bt-mag-lead .bt-mag-title {
        font-size: 20px !important;
        margin: 10px 0 !important;
    }
    .bt-magazine-grid .bt-mag-card.bt-mag-lead .bt-mag-excerpt {
        font-size: 14px;
        margin-bottom: 14px;
    }
    .bt-magazine-grid .bt-mag-card.bt-mag-lead::before {
        top: 12px; right: 12px;
        font-size: 9px;
        padding: 4px 8px;
    }
    .bt-blog-tabs-wrap { padding: 0 16px; }
}

/* --- Section head above Market Analysis magazine grid --- */
.bt-analysis-page-wrap + .bt-magazine-grid,
.bt-analysis-page-wrap .bt-magazine-grid {
    margin-top: 16px;
}

/* --- Empty state breathing room on both pages --- */
.bt-blog-emptier + * { margin-top: 32px; }

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
    .bt-magazine-grid .bt-mag-card,
    .bt-magazine-grid .bt-mag-card:hover,
    .bt-magazine-grid .bt-mag-card:hover .bt-mag-thumb img,
    .bt-magazine-grid .bt-mag-card:hover .bt-mag-arrow {
        animation: none !important;
        transform: none !important;
        transition: border-color .2s, box-shadow .2s, color .2s, background-size .2s;
    }
}

/* v59 — full-width data sections below the home grid
   (Market Pulse, Gainers/Losers, Global Charts — promoted out of bt-home-main) */
.bt-home-fullwidth {
    max-width: 1400px;
    margin: 40px auto 0;
    padding: 0 20px;
}
.bt-home-fullwidth .bt-charts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 16px;
}
@media (max-width: 1100px) {
    .bt-home-fullwidth .bt-charts-grid { grid-template-columns: 1fr; }
}

/* v59 — soft notice above magazine grid when category filter fell back */
.bt-mag-fallback-notice {
    max-width: 1280px;
    margin: 16px auto 0;
    padding: 12px 20px;
    background: rgba(0,255,102,.06);
    border: 1px solid rgba(0,255,102,.2);
    border-radius: 10px;
    color: #8ab9e8;
    font-family: var(--bt-font-body, var(--bt-font-body));
    font-size: 13px;
    line-height: 1.5;
}

/* ═══════════════════════════════════════════════════════════════
   v63 — SOCIAL SHARE BAR (on single posts, above article content)
   ═══════════════════════════════════════════════════════════════ */
.bt-share-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 24px;
    padding: 12px 16px;
    background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 12px;
}
.bt-share-label {
    font-family: var(--bt-font-body, var(--bt-font-body));
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--bt-text-3);
    margin-right: 6px;
}
.bt-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.08);
    color: #94a3b8 !important;
    font-family: var(--bt-font-body, var(--bt-font-body));
    font-size: 15px;
    font-weight: 800;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform .2s cubic-bezier(.2,.8,.2,1), background .15s, color .15s, border-color .15s;
    padding: 0;
}
.bt-share-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(255,255,255,.18);
}
/* Platform-specific hover colors — keeps the design flat but hints at destination */
.bt-share-btn.bt-share-tw:hover { background: rgba(255,255,255,.08); color: #fff !important; }
.bt-share-btn.bt-share-li:hover { background: rgba(10,102,194,.2); color: #66a3ff !important; border-color: rgba(10,102,194,.4); }
.bt-share-btn.bt-share-fb:hover { background: rgba(24,119,242,.2); color: #66a3ff !important; border-color: rgba(24,119,242,.4); }
.bt-share-btn.bt-share-rd:hover { background: rgba(255,69,0,.2); color: #ff8c66 !important; border-color: rgba(255,69,0,.4); }
.bt-share-btn.bt-share-tg:hover { background: rgba(0,136,204,.2); color: #66b3ff !important; border-color: rgba(0,136,204,.4); }
.bt-share-btn.bt-share-wa:hover { background: rgba(37,211,102,.2); color: #66e699 !important; border-color: rgba(37,211,102,.4); }
.bt-share-btn.bt-share-em:hover { background: rgba(168,85,247,.2); color: #c4b5fd !important; border-color: rgba(168,85,247,.4); }
.bt-share-btn.bt-share-copy:hover { background: rgba(0,255,102,.15); color: var(--bt-accent) !important; border-color: rgba(0,255,102,.35); }
.bt-share-btn:active { transform: translateY(0); }

@media (max-width: 560px) {
    .bt-share-bar { padding: 10px 12px; }
    .bt-share-label { margin-right: 2px; font-size: 10px; }
    .bt-share-btn { width: 30px; height: 30px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .bt-share-btn:hover { transform: none; }
}

/* ═══════════════════════════════════════════════════════════════
   v63 — DATA SOURCES TRUST BAND (above footer)
   Directly addresses the audit report's #1 recommendation: surface
   source credits visibly to rebuild trust vs CMC/Gecko.
   ═══════════════════════════════════════════════════════════════ */
.bt-trust-band {
    background: linear-gradient(180deg, rgba(0,255,102,.02), transparent);
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
    padding: 32px 20px;
    margin-top: 48px;
}
.bt-trust-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 32px;
}
.bt-trust-title {
    font-family: var(--bt-font-display, var(--bt-font-body));
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--bt-text-3);
    margin: 0;
    line-height: 1.4;
}
.bt-trust-title strong {
    display: block;
    color: var(--bt-accent);
    font-size: 11px;
    margin-top: 4px;
    letter-spacing: 2px;
}
.bt-trust-sources {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: center;
    justify-content: center;
}
.bt-trust-source {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 999px;
    font-family: var(--bt-font-body, var(--bt-font-body));
    font-size: 12px;
    color: #94a3b8;
    text-decoration: none !important;
    transition: border-color .2s, color .2s, background .2s;
    white-space: nowrap;
}
.bt-trust-source:hover {
    border-color: rgba(0,255,102,.35);
    color: var(--bt-accent);
    background: rgba(0,255,102,.05);
}
.bt-trust-source-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--bt-accent);
    flex-shrink: 0;
    box-shadow: 0 0 8px rgba(0,255,102,.5);
}
.bt-trust-policies {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 11px;
}
.bt-trust-policies a {
    color: var(--bt-text-3);
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s;
}
.bt-trust-policies a:hover { color: var(--bt-accent); }

@media (max-width: 900px) {
    .bt-trust-inner { grid-template-columns: 1fr; text-align: center; gap: 18px; }
    .bt-trust-sources { justify-content: center; }
    .bt-trust-policies { flex-direction: row; justify-content: center; flex-wrap: wrap; gap: 10px 14px; }
}

/* ═══════════════════════════════════════════════════════════════
   v73 — INTELLIGENCE BRIEF: regime gauge + verdict tiers + meta
   New composite-score engine surfaces: 5-tier verdict, 5-state
   regime gauge, confidence fraction, regime label.
   ═══════════════════════════════════════════════════════════════ */

/* Regime gauge — 5-segment bar with a position marker */
.bt-brief-gauge { margin: 14px 0 4px; }
.bt-brief-gauge-track {
    position: relative;
    display: flex;
    height: 6px;
    border-radius: 99px;
    overflow: hidden;
    background: rgba(255,255,255,.04);
}
.bt-brief-gauge-seg { flex: 1; height: 100%; }
.bt-brief-gauge-sb { background: linear-gradient(90deg, rgba(255,59,48,.55), rgba(255,59,48,.35)); }
.bt-brief-gauge-b  { background: linear-gradient(90deg, rgba(255,59,48,.35), rgba(255,159,67,.30)); }
.bt-brief-gauge-n  { background: linear-gradient(90deg, rgba(100,116,139,.25), rgba(100,116,139,.25)); }
.bt-brief-gauge-u  { background: linear-gradient(90deg, rgba(100,116,139,.25), rgba(0,255,102,.35)); }
.bt-brief-gauge-su { background: linear-gradient(90deg, rgba(0,255,102,.35), rgba(0,255,102,.55)); }

/* Position marker */
.bt-brief-gauge-marker {
    position: absolute;
    top: 50%; transform: translate(-50%, -50%);
    width: 14px; height: 14px;
    border-radius: 50%;
    background: #f1f5f9;
    border: 2px solid #000;
    box-shadow: 0 2px 6px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.08);
    transition: left .4s cubic-bezier(.2,.8,.2,1);
}
.bt-brief-gauge-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 7px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: var(--bt-text-3);
}

/* Verdict tier tinting — subtle left-border + headline color */
.bt-brief-card.bt-brief-tier-strong-bull { border-left: 3px solid var(--bt-accent); }
.bt-brief-card.bt-brief-tier-bull        { border-left: 3px solid rgba(0,255,102,.6); }
.bt-brief-card.bt-brief-tier-neutral     { border-left: 3px solid rgba(100,116,139,.5); }
.bt-brief-card.bt-brief-tier-bear        { border-left: 3px solid rgba(255,59,48,.6); }
.bt-brief-card.bt-brief-tier-strong-bear { border-left: 3px solid var(--bt-danger); }

.bt-brief-tier-strong-bull .bt-brief-headline,
.bt-brief-tier-bull        .bt-brief-headline { color: #5eead4; }
.bt-brief-tier-neutral     .bt-brief-headline { color: #cbd5e1; }
.bt-brief-tier-bear        .bt-brief-headline { color: #fca5a5; }
.bt-brief-tier-strong-bear .bt-brief-headline { color: #ef4444; }

/* Action subtext — the "what to do" line */
.bt-brief-action {
    margin: 2px 0 14px;
    font-size: 13px;
    color: #94a3b8;
    font-weight: 500;
    line-height: 1.5;
}

/* Meta row: composite · confidence · regime */
.bt-brief-meta-row {
    display: flex;
    gap: 18px;
    align-items: center;
    flex-wrap: wrap;
    margin: 10px 0 16px;
    padding: 10px 12px;
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.04);
    border-radius: 8px;
    font-size: 12px;
    color: #94a3b8;
}
.bt-brief-meta-row > span { display: inline-flex; align-items: baseline; gap: 5px; }
.bt-brief-composite strong {
    color: #f1f5f9;
    font-family: 'JetBrains Mono', 'SF Mono', Menlo, monospace;
    font-size: 14px;
    font-weight: 700;
}
.bt-brief-confidence { border-left: 1px solid rgba(255,255,255,.06); padding-left: 18px; }
.bt-brief-confidence-pct {
    color: var(--bt-accent);
    font-weight: 700;
    font-family: 'JetBrains Mono', 'SF Mono', Menlo, monospace;
    margin-left: 4px;
}
.bt-brief-regime { border-left: 1px solid rgba(255,255,255,.06); padding-left: 18px; color: #cbd5e1; }

/* Sidebar card gets the same tier tint + gauge */
.bt-xmarket-card.bt-brief-tier-strong-bull { border-left: 3px solid var(--bt-accent); }
.bt-xmarket-card.bt-brief-tier-bull        { border-left: 3px solid rgba(0,255,102,.6); }
.bt-xmarket-card.bt-brief-tier-neutral     { border-left: 3px solid rgba(100,116,139,.5); }
.bt-xmarket-card.bt-brief-tier-bear        { border-left: 3px solid rgba(255,59,48,.6); }
.bt-xmarket-card.bt-brief-tier-strong-bear { border-left: 3px solid var(--bt-danger); }
.bt-xmarket-sub {
    font-size: 12px;
    color: #94a3b8;
    margin: 2px 0 10px;
    line-height: 1.5;
}

/* Responsive — on narrow screens, stack meta row */
@media (max-width: 520px) {
    .bt-brief-meta-row { flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px; }
    .bt-brief-confidence, .bt-brief-regime { border-left: none; padding-left: 0; }
}

/* ══════════════════════════════════════════════════════════════════
   v80 — BLOG BROADSHEET REVAMP
   Financial Broadsheet aesthetic: serif display type (Fraunces),
   flat surfaces, left-accent-bar cards, typographic category rubrics,
   editorial datelines. Replaces the old .bt-mag-* card styles for
   the /blog/ page while old styles still support other consumers.
   ══════════════════════════════════════════════════════════════════ */

:root {
    --bt-font-serif: 'Fraunces', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
}

/* ── Masthead ──────────────────────────────────────────────────── */
.bt-bs-masthead {
    max-width: 1280px;
    margin: 0 auto 36px;
    padding: 0 24px;
}
.bt-bs-masthead-rule {
    height: 1px;
    background: var(--bt-border-2);
    margin: 0;
}
.bt-bs-masthead-inner {
    padding: 48px 0 40px;
    text-align: center;
}
.bt-bs-masthead-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--bt-font-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    color: var(--bt-accent);
    margin-bottom: 20px;
}
.bt-bs-masthead-eyebrow .bt-bs-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--bt-accent);
    box-shadow: 0 0 0 3px rgba(0,255,102,.12);
    animation: bt-bs-pulse 2.4s ease-in-out infinite;
}
@keyframes bt-bs-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .45; }
}
.bt-bs-masthead-title {
    font-family: var(--bt-font-serif) !important;
    font-optical-sizing: auto;
    font-size: clamp(38px, 5.5vw, 68px) !important;
    font-weight: 500 !important;
    color: #f1f5f9 !important;
    line-height: 1.02 !important;
    letter-spacing: -1.8px !important;
    margin: 0 0 14px !important;
    font-feature-settings: "ss01", "cv11";
}
.bt-bs-masthead-sub {
    font-family: var(--bt-font-body) !important;
    font-size: 16px !important;
    color: #94a3b8 !important;
    line-height: 1.6 !important;
    margin: 0 auto !important;
    max-width: 560px;
    letter-spacing: -0.1px;
}

/* ── Tabs — editorial underline, not pills ─────────────────────── */
.bt-bs-tabs-wrap {
    max-width: 1280px;
    margin: 0 auto 32px;
    padding: 0 24px;
    border-bottom: 1px solid var(--bt-border-2);
}
.bt-bs-tabs {
    display: flex;
    gap: 2px;
    flex-wrap: wrap;
    align-items: flex-end;
}
.bt-bs-tab {
    position: relative;
    display: inline-block;
    padding: 14px 18px 13px;
    font-family: var(--bt-font-body);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -0.1px;
    color: var(--bt-text-3);
    text-decoration: none;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: color .2s var(--bt-ease);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px; /* overlap the wrap's bottom border */
}
.bt-bs-tab:hover { color: #e2e8f0; }
.bt-bs-tab.active {
    color: #f1f5f9;
    border-bottom-color: var(--bt-accent);
    font-weight: 600;
}

/* ── Grid wrap ─────────────────────────────────────────────────── */
.bt-bs-wrap {
    max-width: 1280px;
    margin: 0 auto 64px;
    padding: 0 24px;
    transition: opacity .25s ease;
}
.bt-bs-wrap.bt-bs-loading {
    opacity: .5;
    pointer-events: none;
}

/* ── Fallback notice (category had no posts) ───────────────────── */
.bt-bs-fallback-notice {
    font-family: var(--bt-font-mono);
    font-size: 11.5px;
    letter-spacing: .4px;
    color: #94a3b8;
    background: rgba(255,255,255,.02);
    border-left: 2px solid var(--bt-accent);
    padding: 14px 18px;
    margin: 0 0 32px;
    border-radius: 0; /* single-side borders stay square */
}

/* ── Lead story ────────────────────────────────────────────────── */
.bt-bs-lead {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 40px;
    padding: 0 0 48px;
    margin: 0 0 40px;
    border-bottom: 1px solid var(--bt-border-2);
    position: relative;
    animation: bt-bs-fade .55s var(--bt-ease-out) both;
}
.bt-bs-lead-thumb {
    display: block;
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: rgba(255,255,255,.02);
    text-decoration: none;
    border-radius: 2px;
}
.bt-bs-lead-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(.2,.8,.2,1) ;
    filter: saturate(.95) contrast(1.02);
}
.bt-bs-lead:hover .bt-bs-lead-thumb img { transform: scale(1.03); }
.bt-bs-lead-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 18px;
    border-left: 2px solid var(--bs-accent, var(--bt-accent));
    min-width: 0;
}
.bt-bs-lead-tag {
    font-family: var(--bt-font-mono);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 3px;
    color: var(--bt-text-3);
    text-transform: uppercase;
    margin-bottom: 14px;
}
.bt-bs-lead-title {
    font-family: var(--bt-font-serif) !important;
    font-optical-sizing: auto;
    font-size: clamp(28px, 3.4vw, 44px) !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.9px !important;
    color: #f1f5f9 !important;
    margin: 0 0 16px !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.bt-bs-lead-title a {
    color: inherit;
    text-decoration: none;
    transition: color .25s var(--bt-ease);
}
.bt-bs-lead:hover .bt-bs-lead-title a { color: var(--bs-accent, var(--bt-accent)); }
.bt-bs-lead-excerpt {
    font-family: var(--bt-font-body);
    font-size: 15.5px;
    line-height: 1.65;
    color: #94a3b8;
    margin: 0 0 22px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Secondary grid ────────────────────────────────────────────── */
.bt-bs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 32px;
}
.bt-bs-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    animation: bt-bs-fade .55s var(--bt-ease-out) both;
}
.bt-bs-card:nth-child(n+2) { animation-delay: .05s; }
.bt-bs-card:nth-child(n+4) { animation-delay: .08s; }
.bt-bs-card:nth-child(n+7) { animation-delay: .11s; }
.bt-bs-card-thumb {
    display: block;
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: rgba(255,255,255,.02);
    text-decoration: none;
    border-radius: 2px;
    margin-bottom: 16px;
}
.bt-bs-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .55s cubic-bezier(.2,.8,.2,1);
    filter: saturate(.95);
}
.bt-bs-card:hover .bt-bs-card-thumb img { transform: scale(1.04); }
.bt-bs-card-body {
    padding-left: 14px;
    border-left: 2px solid var(--bs-accent, var(--bt-accent));
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}
.bt-bs-card-title {
    font-family: var(--bt-font-serif) !important;
    font-optical-sizing: auto;
    font-size: 21px !important;
    font-weight: 500 !important;
    line-height: 1.22 !important;
    letter-spacing: -0.4px !important;
    color: #f1f5f9 !important;
    margin: 0 0 10px !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.bt-bs-card-title a {
    color: inherit;
    text-decoration: none;
    transition: color .25s var(--bt-ease);
}
.bt-bs-card:hover .bt-bs-card-title a { color: var(--bs-accent, var(--bt-accent)); }
.bt-bs-card-excerpt {
    font-family: var(--bt-font-body);
    font-size: 13.5px;
    line-height: 1.6;
    color: #94a3b8;
    margin: 0 0 14px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}

/* ── Rubric (small-caps category code above title) ─────────────── */
.bt-bs-rubric {
    font-family: var(--bt-font-mono);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    margin-bottom: 10px;
    opacity: .9;
}

/* ── Dateline meta ─────────────────────────────────────────────── */
.bt-bs-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--bt-font-mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--bt-text-3);
    margin-top: auto;
    padding-top: 12px;
}
.bt-bs-meta time { color: #94a3b8; }
.bt-bs-meta-sep { opacity: .45; }

/* ── Typographic thumbnail fallback (no emoji) ─────────────────── */
.bt-bs-thumb-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.bt-bs-thumb-fallback::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        repeating-linear-gradient(90deg,
            rgba(255,255,255,.02) 0,
            rgba(255,255,255,.02) 1px,
            transparent 1px,
            transparent 32px);
    pointer-events: none;
}
.bt-bs-thumb-mark {
    font-family: var(--bt-font-serif);
    font-optical-sizing: auto;
    font-size: clamp(42px, 8vw, 96px);
    font-weight: 500;
    letter-spacing: -2px;
    line-height: 1;
    position: relative;
    z-index: 1;
    opacity: .85;
}

/* ── Fade in animation ─────────────────────────────────────────── */
@keyframes bt-bs-fade {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Responsive ────────────────────────────────────────────────── */
@media (max-width: 1100px) {
    .bt-bs-grid { grid-template-columns: repeat(2, 1fr); gap: 36px 28px; }
    .bt-bs-lead { grid-template-columns: 1fr; gap: 24px; }
    .bt-bs-lead-body { padding-left: 14px; }
}
@media (max-width: 640px) {
    .bt-bs-masthead { margin-bottom: 24px; }
    .bt-bs-masthead-inner { padding: 36px 0 28px; }
    .bt-bs-masthead-title { letter-spacing: -1px !important; }
    .bt-bs-tabs-wrap { padding: 0 16px; margin-bottom: 24px; overflow-x: auto; }
    .bt-bs-tabs { flex-wrap: nowrap; min-width: min-content; }
    .bt-bs-tab { padding: 12px 14px 11px; flex-shrink: 0; }
    .bt-bs-wrap { padding: 0 16px; margin-bottom: 48px; }
    .bt-bs-lead { padding-bottom: 32px; margin-bottom: 32px; }
    .bt-bs-grid { grid-template-columns: 1fr; gap: 32px; }
    .bt-bs-card-title { font-size: 19px !important; }
    .bt-bs-lead-excerpt { -webkit-line-clamp: 2; font-size: 14.5px; }
}

/* ── Reduced motion ────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .bt-bs-lead, .bt-bs-card,
    .bt-bs-masthead-eyebrow .bt-bs-dot,
    .bt-bs-lead:hover .bt-bs-lead-thumb img,
    .bt-bs-card:hover .bt-bs-card-thumb img {
        animation: none !important;
        transform: none !important;
        transition: color .2s, border-color .2s;
    }
}

/* ══════════════════════════════════════════════════════════════════
   v81 — AI RESEARCH DESK
   /market-analysis/ — Bloomberg-terminal-flavored research desk.
   DISTINCT from the blog's editorial broadsheet aesthetic.
   Mono-heavy, dense, data-forward. No serif type (that's the blog's
   lane). Panels with dotted rules. Research-note rows, not cards.
   ══════════════════════════════════════════════════════════════════ */

.bt-desk {
    max-width: 1280px;
    margin: 0 auto 48px;
    padding: 0 24px;
    font-family: var(--bt-font-body);
    color: #e2e8f0;
}

/* ── DESK HEADER — masthead with live clock ─────────────────────── */
.bt-desk-head {
    padding: 28px 0 32px;
    border-bottom: 1px solid var(--bt-border-2);
    margin-bottom: 28px;
}
.bt-desk-head-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
    font-family: var(--bt-font-mono);
    font-size: 11px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--bt-text-3);
}
.bt-desk-ident {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.bt-desk-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--bt-accent);
    box-shadow: 0 0 0 3px rgba(0,255,102,.15);
    animation: bt-desk-pulse 2s ease-in-out infinite;
    flex-shrink: 0;
}
@keyframes bt-desk-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .45; }
}
.bt-desk-ident-lbl {
    color: #e2e8f0;
    font-weight: 600;
    letter-spacing: 2.2px;
}
.bt-desk-ident-sep { color: var(--bt-text-4); }
.bt-desk-ident-status {
    color: var(--bt-accent);
    font-weight: 600;
}
.bt-desk-stamp {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.bt-desk-stamp-clock {
    color: #e2e8f0;
    font-feature-settings: "tnum" on;
    min-width: 100px;
}
.bt-desk-stamp-sep { opacity: .35; }

.bt-desk-title {
    font-family: var(--bt-font-body) !important;
    font-size: clamp(26px, 3.4vw, 40px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.8px !important;
    color: #f1f5f9 !important;
    margin: 0 0 12px !important;
    max-width: 860px;
}
.bt-desk-subtitle {
    font-size: 14.5px !important;
    line-height: 1.65 !important;
    color: #8892a8 !important;
    margin: 0 !important;
    max-width: 760px;
}

/* ── PANEL LABEL (shared element) ───────────────────────────────── */
.bt-desk-panel-label {
    font-family: var(--bt-font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--bt-text-3);
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.bt-desk-panel-label::before,
.bt-desk-panel-label::after {
    content: '';
    flex: 0 0 16px;
    height: 1px;
    background: var(--bt-text-4);
}
.bt-desk-panel-label::after { flex: 1; }

/* ── VERDICT PANEL ───────────────────────────────────────────────── */
.bt-desk-verdict {
    border: 1px solid var(--bt-border-2);
    border-top: 2px solid rgba(0,255,102,.35);
    background:
        linear-gradient(180deg, rgba(0,255,102,.03), transparent 60%),
        rgba(255,255,255,.01);
    padding: 26px 28px 28px;
    margin-bottom: 40px;
    border-radius: 0; /* terminal aesthetic — square corners */
    position: relative;
}
.bt-desk-verdict[data-tone="bear"] {
    border-top-color: rgba(255,59,48,.35);
    background:
        linear-gradient(180deg, rgba(255,59,48,.03), transparent 60%),
        rgba(255,255,255,.01);
}
.bt-desk-verdict[data-tone="neutral"] {
    border-top-color: rgba(255,184,0,.35);
    background:
        linear-gradient(180deg, rgba(255,184,0,.025), transparent 60%),
        rgba(255,255,255,.01);
}

/* Verdict grid — score left, body right */
.bt-desk-verdict-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 36px;
    align-items: start;
}
.bt-desk-verdict-score {
    border-right: 1px solid var(--bt-border-2);
    padding-right: 32px;
}
.bt-desk-score-huge {
    font-family: var(--bt-font-mono);
    font-size: clamp(52px, 6.5vw, 84px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -3px;
    color: var(--bt-accent);
    font-feature-settings: "tnum" on;
    margin-bottom: 4px;
}
.bt-desk-verdict[data-tone="bear"] .bt-desk-score-huge { color: var(--bt-danger); }
.bt-desk-verdict[data-tone="neutral"] .bt-desk-score-huge { color: var(--bt-accent-warm); }

.bt-desk-score-sub {
    font-family: var(--bt-font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2.2px;
    color: var(--bt-text-3);
    margin-bottom: 20px;
}

/* Score scale bar: -10 ─────────── 0 ─────────── +10 */
.bt-desk-score-bar {
    position: relative;
    height: 28px;
    margin-bottom: 6px;
}
.bt-desk-score-bar-track {
    position: absolute;
    top: 12px;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(255,255,255,.08);
}
.bt-desk-score-bar-zero {
    position: absolute;
    top: 6px;
    left: 50%;
    width: 1px;
    height: 15px;
    background: rgba(255,255,255,.25);
    transform: translateX(-0.5px);
}
.bt-desk-score-bar-fill {
    position: absolute;
    top: 12px;
    height: 3px;
    background: var(--bt-accent);
    transition: width .6s cubic-bezier(.2,.8,.2,1), left .6s cubic-bezier(.2,.8,.2,1);
    /* Computed in PHP: --fill = (score+10)*5% from 0 */
    /* If score positive, bar extends right from 50%; if negative, from left edge of that fill point */
    left: min(50%, calc(var(--fill, 50%)));
    width: max(0%, calc(var(--fill, 50%) - 50%));
}
.bt-desk-verdict[data-tone="bear"] .bt-desk-score-bar-fill {
    background: var(--bt-danger);
    left: var(--fill, 50%);
    width: calc(50% - var(--fill, 50%));
}
.bt-desk-verdict[data-tone="neutral"] .bt-desk-score-bar-fill { background: var(--bt-accent-warm); }

.bt-desk-score-axis {
    display: flex;
    justify-content: space-between;
    font-family: var(--bt-font-mono);
    font-size: 10px;
    color: #475569;
    letter-spacing: 0.8px;
    font-feature-settings: "tnum" on;
}

/* Verdict body */
.bt-desk-verdict-body {
    min-width: 0;
}
.bt-desk-verdict-headline {
    font-family: var(--bt-font-body);
    font-size: clamp(22px, 2.6vw, 30px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.6px;
    color: #f1f5f9;
    margin-bottom: 8px;
}
.bt-desk-verdict-action {
    font-size: 14.5px;
    line-height: 1.55;
    color: #94a3b8;
    margin-bottom: 20px;
}
.bt-desk-verdict-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    padding: 16px 0;
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
    margin-bottom: 18px;
}
.bt-desk-stat-val {
    font-family: var(--bt-font-mono);
    font-size: 22px;
    font-weight: 500;
    color: #f1f5f9;
    letter-spacing: -0.4px;
    line-height: 1.2;
    font-feature-settings: "tnum" on;
    margin-bottom: 2px;
}
.bt-desk-stat-lbl {
    font-family: var(--bt-font-mono);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 1.8px;
    color: var(--bt-text-3);
    text-transform: uppercase;
}
.bt-desk-verdict-para {
    font-size: 14px;
    line-height: 1.7;
    color: #94a3b8;
    margin: 0;
    font-style: italic;
    border-left: 2px solid rgba(0,255,102,.25);
    padding-left: 14px;
}
.bt-desk-verdict[data-tone="bear"] .bt-desk-verdict-para {
    border-left-color: rgba(255,59,48,.25);
}
.bt-desk-verdict[data-tone="neutral"] .bt-desk-verdict-para {
    border-left-color: rgba(255,184,0,.25);
}

/* Signal breakdown row */
.bt-desk-signals {
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px dashed var(--bt-text-4);
}
.bt-desk-signals-label {
    font-family: var(--bt-font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2.2px;
    color: var(--bt-text-3);
    text-transform: uppercase;
    margin-bottom: 14px;
}
.bt-desk-signals-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.bt-desk-signal {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 0;
    font-family: var(--bt-font-mono);
    font-size: 11.5px;
    line-height: 1.3;
    background: rgba(255,255,255,.02);
}
.bt-desk-signal-arrow {
    font-size: 10px;
    font-weight: 700;
    flex-shrink: 0;
}
.bt-desk-signal-bull {
    border-color: rgba(0,255,102,.3);
    background: rgba(0,255,102,.05);
}
.bt-desk-signal-bull .bt-desk-signal-arrow { color: var(--bt-accent); }
.bt-desk-signal-bear {
    border-color: rgba(255,59,48,.3);
    background: rgba(255,59,48,.05);
}
.bt-desk-signal-bear .bt-desk-signal-arrow { color: var(--bt-danger); }
.bt-desk-signal-lbl {
    color: #e2e8f0;
    font-weight: 600;
    letter-spacing: 0.4px;
}
.bt-desk-signal-val {
    color: #94a3b8;
    font-weight: 400;
}

/* ── COVERAGE GRID ──────────────────────────────────────────────── */
.bt-desk-coverage {
    margin-bottom: 48px;
}
.bt-desk-coverage-head {
    margin-bottom: 20px;
}
.bt-desk-coverage-sub {
    font-size: 14px;
    color: #94a3b8;
}
.bt-desk-coverage-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.bt-desk-cov-card {
    border: 1px solid var(--bt-border-2);
    border-top: 2px solid var(--cov-accent, var(--bt-accent));
    padding: 20px 20px 22px;
    background: rgba(255,255,255,.01);
    display: flex;
    flex-direction: column;
    border-radius: 0;
    transition: background .25s var(--bt-ease), border-color .25s var(--bt-ease);
}
.bt-desk-cov-card:hover {
    background: rgba(255,255,255,.03);
    border-color: rgba(255,255,255,.14);
    border-top-color: var(--cov-accent, var(--bt-accent));
}
.bt-desk-cov-tag {
    font-family: var(--bt-font-mono);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 2.4px;
    color: var(--cov-accent, var(--bt-accent));
    text-transform: uppercase;
    margin-bottom: 8px;
}
.bt-desk-cov-title {
    font-family: var(--bt-font-body);
    font-size: 22px;
    font-weight: 700;
    color: #f1f5f9;
    letter-spacing: -0.4px;
    margin-bottom: 18px;
}
.bt-desk-cov-metric {
    font-family: var(--bt-font-mono);
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.8px;
    color: var(--cov-accent, var(--bt-accent));
    font-feature-settings: "tnum" on;
    margin-bottom: 4px;
}
.bt-desk-cov-metric-lbl {
    font-family: var(--bt-font-mono);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 1.8px;
    color: var(--bt-text-3);
    text-transform: uppercase;
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px dashed #2a3548;
}
.bt-desk-cov-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.bt-desk-cov-list li {
    font-size: 12.5px;
    line-height: 1.5;
    color: #94a3b8;
    padding-left: 14px;
    position: relative;
}
.bt-desk-cov-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 6px;
    height: 1px;
    background: var(--cov-accent, var(--bt-accent));
    opacity: .7;
}

/* ── DESK NOTES ─────────────────────────────────────────────────── */
.bt-desk-notes {
    margin-bottom: 48px;
}
.bt-desk-notes-head {
    margin-bottom: 8px;
}
.bt-desk-notes-sub {
    font-size: 14px;
    color: #94a3b8;
    margin-bottom: 8px;
}

.bt-desk-notes-empty {
    border: 1px dashed var(--bt-text-4);
    padding: 28px 24px;
    text-align: center;
    color: #94a3b8;
    font-size: 14px;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
    border-radius: 0;
}
.bt-desk-notes-empty-icon {
    font-family: var(--bt-font-mono);
    font-size: 28px;
    color: #475569;
    letter-spacing: -2px;
}

.bt-desk-notes-list {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 1px solid var(--bt-border-2);
}
.bt-desk-note {
    border-bottom: 1px solid rgba(255,255,255,.04);
    transition: background .2s var(--bt-ease);
    position: relative;
}
.bt-desk-note::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--note-accent, var(--bt-accent));
    transform: scaleY(0);
    transform-origin: center;
    transition: transform .3s cubic-bezier(.2,.8,.2,1);
}
.bt-desk-note:hover {
    background: rgba(255,255,255,.02);
}
.bt-desk-note:hover::before { transform: scaleY(1); }
.bt-desk-note-link {
    display: grid;
    grid-template-columns: 80px 180px 1fr auto;
    gap: 24px;
    padding: 22px 20px 22px 28px;
    align-items: start;
    text-decoration: none;
    color: inherit;
}
.bt-desk-note-date {
    font-family: var(--bt-font-mono);
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 11px;
    color: var(--bt-text-3);
    letter-spacing: 0.8px;
    padding-top: 2px;
}
.bt-desk-note-d-line1 {
    color: #94a3b8;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.bt-desk-note-d-line2 {
    color: #e2e8f0;
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.4px;
}
.bt-desk-note-d-line3 {
    color: #475569;
    font-size: 10px;
    letter-spacing: 1px;
}
.bt-desk-note-rubric {
    font-family: var(--bt-font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2.2px;
    color: var(--note-accent, var(--bt-accent));
    text-transform: uppercase;
    padding-top: 4px;
    line-height: 1.4;
}
.bt-desk-note-body { min-width: 0; }
.bt-desk-note-title {
    font-family: var(--bt-font-body) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.3px !important;
    color: #f1f5f9 !important;
    margin: 0 0 8px !important;
    transition: color .2s var(--bt-ease);
}
.bt-desk-note:hover .bt-desk-note-title { color: var(--note-accent, var(--bt-accent)); }
.bt-desk-note-excerpt {
    font-size: 13.5px;
    line-height: 1.6;
    color: #8892a8;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.bt-desk-note-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    font-family: var(--bt-font-mono);
    font-size: 11px;
    color: #475569;
    padding-top: 2px;
    letter-spacing: 0.4px;
}
.bt-desk-note-read {
    color: var(--bt-text-3);
    font-weight: 500;
}
.bt-desk-note-arrow {
    font-size: 14px;
    color: var(--note-accent, var(--bt-accent));
    transition: transform .3s var(--bt-ease-out);
    opacity: .6;
}
.bt-desk-note:hover .bt-desk-note-arrow {
    opacity: 1;
    transform: translateX(4px);
}

/* ── METHODOLOGY FOOTER ─────────────────────────────────────────── */
.bt-desk-footer {
    border-top: 1px solid var(--bt-border-2);
    padding: 32px 0 0;
    margin-top: 20px;
}
.bt-desk-footer-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.bt-desk-footer-col {
    min-width: 0;
}
.bt-desk-footer-lbl {
    font-family: var(--bt-font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2.4px;
    color: #475569;
    text-transform: uppercase;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px dashed #2a3548;
}
.bt-desk-footer-col p {
    font-size: 12.5px;
    line-height: 1.7;
    color: #8892a8;
    margin: 0;
}

/* Newsletter band sits full-width below the desk */
.bt-desk-newsletter-band {
    max-width: 1280px;
    margin: 48px auto 0;
    padding: 0 24px;
}

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 1100px) {
    .bt-desk-verdict-grid { grid-template-columns: 1fr; gap: 24px; }
    .bt-desk-verdict-score {
        border-right: none;
        border-bottom: 1px dashed var(--bt-text-4);
        padding-right: 0;
        padding-bottom: 24px;
    }
    .bt-desk-coverage-grid { grid-template-columns: repeat(2, 1fr); }
    .bt-desk-footer-grid { grid-template-columns: 1fr; gap: 24px; }
    .bt-desk-note-link {
        grid-template-columns: 70px 140px 1fr auto;
        gap: 16px;
        padding: 20px 16px 20px 22px;
    }
}
@media (max-width: 700px) {
    .bt-desk { padding: 0 16px; }
    .bt-desk-head { padding: 22px 0 24px; margin-bottom: 20px; }
    .bt-desk-head-row { gap: 12px; margin-bottom: 18px; font-size: 10px; }
    .bt-desk-verdict { padding: 20px 18px 22px; margin-bottom: 28px; }
    .bt-desk-verdict-stats { grid-template-columns: 1fr; gap: 12px; padding: 14px 0; }
    .bt-desk-stat-val { font-size: 20px; }
    .bt-desk-coverage-grid { grid-template-columns: 1fr; gap: 12px; }
    .bt-desk-coverage { margin-bottom: 36px; }

    /* Notes collapse — date becomes inline top row, then title, then meta */
    .bt-desk-note-link {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 18px 14px 18px 20px;
    }
    .bt-desk-note-date {
        flex-direction: row;
        gap: 10px;
        padding-top: 0;
        font-size: 10px;
    }
    .bt-desk-note-d-line2 { font-size: 11px; }
    .bt-desk-note-rubric { font-size: 9.5px; padding-top: 0; }
    .bt-desk-note-meta {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .bt-desk-note-title { font-size: 16px !important; }

    .bt-desk-footer-grid { gap: 20px; }
    .bt-desk-signals-list { gap: 5px; }
    .bt-desk-signal { font-size: 10.5px; padding: 6px 10px; }
}

/* ── REDUCED MOTION ─────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .bt-desk-dot, .bt-desk-score-bar-fill,
    .bt-desk-note::before, .bt-desk-note-arrow {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}

/* ══════════════════════════════════════════════════════════════════
   v82 — VERDICT TRACK RECORD
   Accountability panel: shows the desk's hit rate over time.
   Lives below Desk Notes on /market-analysis/. Shares terminal
   aesthetic vocabulary with .bt-desk-* but has its own hero cards
   and data table.
   ══════════════════════════════════════════════════════════════════ */

.bt-desk-track-band {
    max-width: 1280px;
    margin: 48px auto 0;
    padding: 0 24px;
}

.bt-track {
    font-family: var(--bt-font-body);
}

.bt-track-sub {
    font-size: 14px;
    line-height: 1.6;
    color: #94a3b8;
    margin-bottom: 22px;
    max-width: 760px;
}

/* Seeding notice (shows when <12 graded calls) */
.bt-track-seeding {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border: 1px dashed var(--bt-text-4);
    margin-bottom: 28px;
    border-radius: 0;
    background: rgba(255,255,255,.01);
}
.bt-track-seeding-icon {
    font-family: var(--bt-font-mono);
    font-size: 20px;
    color: #475569;
    letter-spacing: -1px;
    flex-shrink: 0;
    padding-top: 2px;
}
.bt-track-seeding-text {
    font-size: 13px;
    line-height: 1.65;
    color: #94a3b8;
}
.bt-track-seeding-text strong { color: #e2e8f0; font-weight: 600; }
.bt-track-seeding-count {
    display: block;
    margin-top: 6px;
    font-family: var(--bt-font-mono);
    font-size: 11px;
    letter-spacing: 1px;
    color: var(--bt-text-3);
}

/* ── Stats row (4 cards) ────────────────────────────────────────── */
.bt-track-stats {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
    gap: 14px;
    margin-bottom: 32px;
}
.bt-track-stat {
    border: 1px solid var(--bt-border-2);
    padding: 18px 18px 20px;
    background: rgba(255,255,255,.01);
    border-radius: 0;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.bt-track-stat-lbl {
    font-family: var(--bt-font-mono);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 2.2px;
    color: var(--bt-text-3);
    text-transform: uppercase;
    margin-bottom: 10px;
}
.bt-track-stat-val {
    font-family: var(--bt-font-mono);
    font-size: 34px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -1.2px;
    color: #e2e8f0;
    font-feature-settings: "tnum" on;
    margin-bottom: 6px;
    display: flex;
    align-items: baseline;
    gap: 1px;
}
.bt-track-stat-pct {
    font-size: 18px;
    color: var(--bt-text-3);
    font-weight: 500;
    margin-left: 3px;
    letter-spacing: 0;
}
.bt-track-stat-val.is-pos { color: var(--bt-accent); }
.bt-track-stat-val.is-neg { color: var(--bt-danger); }
.bt-track-stat-sub {
    font-family: var(--bt-font-mono);
    font-size: 10.5px;
    letter-spacing: 0.6px;
    color: var(--bt-text-3);
    margin-top: auto;
}

/* Hero stat — top-border color reflects accuracy tier */
.bt-track-stat-hero {
    border-top: 2px solid rgba(0,255,102,.4);
}
.bt-track-stat-hero[data-tone="bull"]    { border-top-color: rgba(0,255,102,.45); }
.bt-track-stat-hero[data-tone="neutral"] { border-top-color: rgba(255,184,0,.45); }
.bt-track-stat-hero[data-tone="bear"]    { border-top-color: rgba(255,59,48,.45); }

.bt-track-stat-hero .bt-track-stat-val {
    font-size: 56px;
    letter-spacing: -2px;
}
.bt-track-stat-hero[data-tone="bull"]    .bt-track-stat-val { color: var(--bt-accent); }
.bt-track-stat-hero[data-tone="neutral"] .bt-track-stat-val { color: var(--bt-accent-warm); }
.bt-track-stat-hero[data-tone="bear"]    .bt-track-stat-val { color: var(--bt-danger); }
.bt-track-stat-hero .bt-track-stat-pct {
    font-size: 24px;
}

/* ── Calls table ────────────────────────────────────────────────── */
.bt-track-calls {
    margin-bottom: 28px;
}
.bt-track-calls-head {
    margin-bottom: 10px;
}
.bt-track-table-wrap {
    border: 1px solid var(--bt-border-2);
    border-radius: 0;
    overflow-x: auto;
    background: rgba(255,255,255,.01);
}
.bt-track-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--bt-font-body);
    font-size: 13px;
    min-width: 620px;
}
.bt-track-table thead th {
    font-family: var(--bt-font-mono);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 1.8px;
    color: var(--bt-text-3);
    text-transform: uppercase;
    text-align: left;
    padding: 14px 16px;
    border-bottom: 1px solid var(--bt-border-2);
    background: rgba(255,255,255,.015);
    white-space: nowrap;
}
.bt-track-table tbody td {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255,255,255,.04);
    color: #e2e8f0;
    vertical-align: middle;
}
.bt-track-table tbody tr:last-child td { border-bottom: none; }
.bt-track-table tbody tr:hover { background: rgba(255,255,255,.02); }

.bt-t-date {
    font-family: var(--bt-font-mono);
    font-size: 11.5px;
    letter-spacing: 0.4px;
    color: #94a3b8;
    white-space: nowrap;
}
.bt-t-call {
    font-family: var(--bt-font-mono);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 1.4px;
    color: #e2e8f0;
    white-space: nowrap;
}
.bt-t-score {
    font-family: var(--bt-font-mono);
    font-size: 13px;
    color: #94a3b8;
    font-feature-settings: "tnum" on;
    letter-spacing: 0;
    white-space: nowrap;
}
.bt-t-btc {
    font-family: var(--bt-font-mono);
    color: #94a3b8;
    font-feature-settings: "tnum" on;
    white-space: nowrap;
}
.bt-t-move {
    font-family: var(--bt-font-mono);
    font-weight: 500;
    font-feature-settings: "tnum" on;
    white-space: nowrap;
    letter-spacing: 0;
}
.bt-t-move.is-pos { color: var(--bt-accent); }
.bt-t-move.is-neg { color: var(--bt-danger); }

/* Result badges */
.bt-t-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--bt-font-mono);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 1.2px;
    padding: 4px 9px;
    border-radius: 0;
    border: 1px solid transparent;
    white-space: nowrap;
}
.bt-t-badge-ok {
    color: var(--bt-accent);
    border-color: rgba(0,255,102,.35);
    background: rgba(0,255,102,.06);
}
.bt-t-badge-miss {
    color: var(--bt-danger);
    border-color: rgba(255,59,48,.35);
    background: rgba(255,59,48,.06);
}
.bt-t-badge-flat {
    color: #94a3b8;
    border-color: rgba(255,255,255,.1);
    background: rgba(255,255,255,.02);
}
.bt-t-badge-no {
    color: var(--bt-text-3);
    border-color: rgba(255,255,255,.06);
    background: transparent;
}

/* Row tint reinforces the verdict outcome */
.bt-track-table tbody tr.bt-t-res-correct   { background: rgba(0,255,102,.015); }
.bt-track-table tbody tr.bt-t-res-incorrect { background: rgba(255,59,48,.015); }

/* ── Honest disclosure ──────────────────────────────────────────── */
.bt-track-honest {
    margin-top: 8px;
    padding: 16px 18px;
    border-left: 2px solid var(--bt-text-4);
    background: rgba(255,255,255,.01);
}
.bt-track-honest-lbl {
    font-family: var(--bt-font-mono);
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 2.4px;
    color: #475569;
    text-transform: uppercase;
    margin-bottom: 8px;
}
.bt-track-honest p {
    font-size: 12.5px;
    line-height: 1.7;
    color: #8892a8;
    margin: 0;
}

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 1100px) {
    .bt-track-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .bt-track-stat-hero { grid-column: span 2; }
    .bt-track-stat-hero .bt-track-stat-val { font-size: 48px; }
}
@media (max-width: 700px) {
    .bt-desk-track-band { padding: 0 16px; margin-top: 36px; }
    .bt-track-stats { grid-template-columns: 1fr; gap: 10px; }
    .bt-track-stat-hero { grid-column: span 1; }
    .bt-track-stat-hero .bt-track-stat-val { font-size: 42px; }
    .bt-track-stat-val { font-size: 28px; }
    .bt-track-table { font-size: 12px; min-width: 560px; }
    .bt-track-table thead th,
    .bt-track-table tbody td { padding: 12px 12px; }
}

/* ── Reduced motion ─────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .bt-track-table tbody tr { transition: none; }
}

/* ══════════════════════════════════════════════════════════════════
   v83 — TRUST FIXES + REGIME-CONDITIONAL HIT RATE
   Real-data replacements for previously synthetic widgets:
   - Forex row change-magnitude bar (replaces mt_rand sparkline)
   - Exchange trust-score bar (replaces mt_rand sparkline)
   - CFTC "data unavailable" honest state
   - Regime-conditional hit rate panel (Track Record extension)
   ══════════════════════════════════════════════════════════════════ */

/* ── Forex row — 24h change magnitude bar ───────────────────────── */
.fxlm-fx-chg-bar {
    width: 60px;
    height: 6px;
    background: rgba(255,255,255,.05);
    border-radius: 2px;
    overflow: hidden;
    position: relative;
}
.fxlm-fx-chg-bar-fill {
    height: 100%;
    border-radius: 2px;
    transition: width .4s cubic-bezier(.2,.8,.2,1);
    min-width: 2px;
}

/* ── Exchange row — trust score bar ─────────────────────────────── */
.fxlm-exc-trust-bar {
    width: 80px;
    height: 22px;
    background: rgba(255,255,255,.04);
    border-radius: 3px;
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
}
.fxlm-exc-trust-bar-fill {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    border-radius: 3px;
    opacity: .35;
    transition: width .4s cubic-bezier(.2,.8,.2,1);
}
.fxlm-exc-trust-bar-val {
    position: relative;
    z-index: 1;
    font-family: var(--bt-font-mono);
    font-size: 11px;
    font-weight: 600;
    color: #e2e8f0;
    padding: 0 8px;
    letter-spacing: 0;
    font-feature-settings: "tnum" on;
    width: 100%;
    text-align: center;
}

/* ── CFTC "data unavailable" honest state ───────────────────────── */
.bt-sentiment-source {
    display: inline-block;
    margin-left: 8px;
    font-size: 11px;
    color: var(--bt-text-3);
    font-family: var(--bt-font-mono);
    letter-spacing: 0.6px;
}
.bt-sentiment-unavailable {
    display: flex;
    gap: 18px;
    padding: 24px 24px;
    border: 1px dashed rgba(255,255,255,.08);
    background: rgba(255,255,255,.01);
    border-radius: 0;
    margin: 14px 0 0;
}
.bt-sentiment-unavailable-icon {
    font-family: var(--bt-font-mono);
    font-size: 28px;
    color: #475569;
    letter-spacing: -2px;
    flex-shrink: 0;
    padding-top: 2px;
    line-height: 1;
}
.bt-sentiment-unavailable-body {
    min-width: 0;
}
.bt-sentiment-unavailable-body strong {
    display: block;
    color: #e2e8f0;
    font-size: 14.5px;
    font-weight: 600;
    margin-bottom: 8px;
}
.bt-sentiment-unavailable-body p {
    font-size: 13px;
    line-height: 1.65;
    color: #94a3b8;
    margin: 0;
}
.bt-sentiment-unavailable-err {
    display: inline-block;
    margin-top: 12px;
    padding: 4px 9px;
    font-family: var(--bt-font-mono);
    font-size: 11px;
    color: var(--bt-danger);
    background: rgba(255,59,48,.06);
    border: 1px solid rgba(255,59,48,.2);
    border-radius: 0;
    letter-spacing: 0;
}

/* ── Regime-conditional hit rate cards ──────────────────────────── */
.bt-track-regimes {
    margin-top: 32px;
    margin-bottom: 28px;
}
.bt-track-regimes-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}
.bt-track-regime-card {
    border: 1px solid var(--bt-border-2);
    padding: 16px 16px 18px;
    background: rgba(255,255,255,.01);
    border-radius: 0;
    display: flex;
    flex-direction: column;
    min-width: 0;
    transition: background .2s var(--bt-ease), border-color .2s var(--bt-ease);
}
.bt-track-regime-card:hover {
    background: rgba(255,255,255,.025);
    border-color: rgba(255,255,255,.14);
}
.bt-track-regime-card[data-tone="bull"]    { border-left: 2px solid rgba(0,255,102,.4); }
.bt-track-regime-card[data-tone="neutral"] { border-left: 2px solid rgba(255,184,0,.4); }
.bt-track-regime-card[data-tone="bear"]    { border-left: 2px solid rgba(255,59,48,.4); }

.bt-track-regime-lbl {
    font-family: var(--bt-font-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 10px;
    line-height: 1.3;
    min-height: 26px; /* keep cards aligned when labels wrap */
}
.bt-track-regime-val {
    font-family: var(--bt-font-mono);
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.8px;
    color: #e2e8f0;
    font-feature-settings: "tnum" on;
    margin-bottom: 10px;
    display: flex;
    align-items: baseline;
    gap: 1px;
}
.bt-track-regime-val .bt-track-stat-pct {
    font-size: 14px;
    color: var(--bt-text-3);
    font-weight: 500;
    margin-left: 3px;
    letter-spacing: 0;
}
.bt-track-regime-card[data-tone="bull"]    .bt-track-regime-val { color: var(--bt-accent); }
.bt-track-regime-card[data-tone="neutral"] .bt-track-regime-val { color: var(--bt-accent-warm); }
.bt-track-regime-card[data-tone="bear"]    .bt-track-regime-val { color: var(--bt-danger); }

.bt-track-regime-meter {
    position: relative;
    height: 4px;
    background: rgba(255,255,255,.06);
    margin-bottom: 10px;
    overflow: hidden;
}
.bt-track-regime-meter-fill {
    height: 100%;
    background: rgba(148,163,184,.5);
    transition: width .5s cubic-bezier(.2,.8,.2,1);
}
.bt-track-regime-meter-mid {
    position: absolute;
    top: -3px;
    left: 50%;
    width: 1px;
    height: 10px;
    background: rgba(255,255,255,.25);
    transform: translateX(-0.5px);
}
.bt-track-regime-card[data-tone="bull"]    .bt-track-regime-meter-fill { background: rgba(0,255,102,.75); }
.bt-track-regime-card[data-tone="neutral"] .bt-track-regime-meter-fill { background: rgba(255,184,0,.65); }
.bt-track-regime-card[data-tone="bear"]    .bt-track-regime-meter-fill { background: rgba(255,59,48,.65); }

.bt-track-regime-sample {
    font-family: var(--bt-font-mono);
    font-size: 10.5px;
    letter-spacing: 0.6px;
    color: var(--bt-text-3);
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
}
.bt-track-regime-warn {
    font-size: 9.5px;
    padding: 2px 6px;
    border: 1px solid rgba(255,184,0,.3);
    color: var(--bt-accent-warm);
    letter-spacing: 0.8px;
    border-radius: 0;
}

@media (max-width: 700px) {
    .bt-track-regimes-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .bt-sentiment-unavailable {
        padding: 18px 16px;
        gap: 12px;
    }
    .bt-sentiment-unavailable-icon { font-size: 22px; }
}

/* ══════════════════════════════════════════════════════════════════
   v84 HOMEPAGE — 4-FOLD COMMAND CENTRE
   Classes: bt-h84-* (namespaced, no legacy collisions)
══════════════════════════════════════════════════════════════════ */

/* ── FOLD 1: SPLIT HERO ──────────────────────────────────────── */
.bt-h84-hero {
  background: var(--bt-bg);
  padding: 72px 0 60px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--bt-border-2);
}
/* Grid texture backdrop — subtle terminal feel */
.bt-h84-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
}
/* Faint neon glow — bottom left only, subtle */
.bt-h84-hero::after {
  content: "";
  position: absolute;
  bottom: -40%; left: -10%;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(0,255,102,.04) 0%, transparent 65%);
  pointer-events: none;
}
.bt-h84-hero-inner {
  max-width: var(--bt-container, 1400px);
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 64px;
  align-items: center;
  position: relative;
  z-index: 1;
}
/* LEFT */
.bt-h84-hero-left { display: flex; flex-direction: column; gap: 24px; }
.bt-h84-headline {
  font-family: var(--bt-font-display) !important;
  font-size: clamp(2.4rem, 4.5vw, 4.5rem);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.03em;
  color: var(--bt-text);
  margin: 0;
}
/* Eyebrow above headline */
.bt-h84-eyebrow {
  font: 400 11px/1 var(--bt-font-mono);
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--bt-text-3);
  margin-bottom: -8px;
}
.bt-h84-accent {
  color: var(--bt-accent);
  -webkit-text-fill-color: var(--bt-accent);
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
}
.bt-h84-sub {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--bt-text-2);
  margin: 0;
  max-width: 520px;
  font-family: var(--bt-font-body);
}
.bt-h84-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
/* Trust stats — 2×2 grid with left borders, white numbers */
.bt-h84-trust {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin-top: 8px;
  border: 1px solid var(--bt-border);
}
.bt-h84-trust-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 18px 20px;
  border-right: 1px solid var(--bt-border);
  border-bottom: 1px solid var(--bt-border);
}
.bt-h84-trust-item:nth-child(2n) { border-right: none; }
.bt-h84-trust-item:nth-last-child(-n+2) { border-bottom: none; }
.bt-h84-trust-item strong {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--bt-text);
  font-family: var(--bt-font-mono);
  letter-spacing: -0.02em;
}
.bt-h84-trust-item span {
  font-size: 0.68rem;
  color: var(--bt-text-3);
  text-transform: uppercase;
  letter-spacing: .1em;
  font-family: var(--bt-font-mono);
}
/* Remove old divider — layout now uses grid */
.bt-h84-trust-div { display: none; }
/* RIGHT */
.bt-h84-hero-right {
  position: relative;
  z-index: 2;
}
.bt-h84-hero-right .bt-brief-wrap,
.bt-h84-hero-right .bt-brief-card {
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* ── FOLD 2: MARKET STATE ────────────────────────────────────── */
.bt-h84-state {
  background: var(--bt-bg-elev);
  border-top: 1px solid var(--bt-border-2);
  border-bottom: 1px solid var(--bt-border-2);
  padding: 48px 0;
}
.bt-h84-state-inner {
  max-width: var(--bt-container, 1400px);
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-direction: column;
  gap: 36px;
}
/* Pulse strip row */
.bt-h84-pulse-wrap .bt-pulse-row,
.bt-h84-pulse-wrap .bt-mkt-pulse-row {
  margin: 0 !important;
}
/* Movers columns */
.bt-h84-movers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--bt-border);
}
.bt-h84-movers-col {
  background: var(--bt-bg-elev);
  border: none;
  padding: 20px 22px;
}
.bt-h84-movers-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--bt-border);
}
.bt-h84-movers-label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-family: var(--bt-font-mono);
}
.bt-h84-movers-label.up  { color: var(--bt-accent); }
.bt-h84-movers-label.down { color: var(--bt-danger); }
.bt-h84-movers-more {
  font-size: .72rem;
  color: var(--bt-text-3);
  text-decoration: none;
  font-family: var(--bt-font-mono);
  transition: color .2s;
}
.bt-h84-movers-more:hover { color: var(--bt-accent); }
.bt-h84-mrow {
  display: grid;
  grid-template-columns: 60px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px solid var(--bt-border);
}
.bt-h84-mrow:last-child { border-bottom: none; }
.bt-h84-mname {
  font-size: .82rem;
  font-weight: 700;
  font-family: var(--bt-font-mono);
  color: var(--bt-text);
  letter-spacing: .04em;
}
.bt-h84-mprice {
  font-size: .82rem;
  color: var(--bt-text-2);
  font-family: var(--bt-font-mono);
  font-variant-numeric: tabular-nums;
}
.bt-h84-mchg {
  font-size: .82rem;
  font-weight: 600;
  font-family: var(--bt-font-mono);
  min-width: 68px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.bt-h84-mchg.up   { color: var(--bt-accent); }
.bt-h84-mchg.down { color: var(--bt-danger); }
/* Headlines */
.bt-h84-headlines {
  background: var(--bt-bg-elev);
  border: 1px solid var(--bt-border);
  padding: 18px 20px;
}
.bt-h84-sec-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--bt-text);
  text-transform: uppercase;
  font-family: var(--bt-font-mono);
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--bt-border);
}
.bt-h84-sec-head a {
  color: var(--bt-text-3);
  text-decoration: none;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  font-size: .78rem;
  transition: color .2s;
}
.bt-h84-sec-head a:hover { color: var(--bt-accent); }
.bt-h84-headlines .fxlm-news-feed { margin: 0 !important; }
.bt-h84-headlines .fxlm-news-item { border-bottom: 1px solid var(--bt-border) !important; padding: 10px 0 !important; }
.bt-h84-headlines .fxlm-news-item:last-child { border-bottom: none !important; padding-bottom: 0 !important; }

/* ── FOLD 3: DESK READ ───────────────────────────────────────── */
.bt-h84-desk {
  background: var(--bt-bg);
  border-top: 1px solid var(--bt-border-2);
  border-bottom: 1px solid var(--bt-border-2);
  padding: 60px 0;
}
.bt-h84-desk-inner {
  max-width: var(--bt-container, 1400px);
  margin: 0 auto;
  padding: 0 32px;
}
.bt-h84-desk-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 32px;
}
.bt-h84-desk-eyebrow {
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-family: var(--bt-font-mono);
  color: var(--bt-accent);
  margin-bottom: 8px;
}
.bt-h84-desk-title {
  font-family: var(--bt-font-display) !important;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--bt-text);
  margin: 0;
}

/* ── FOLD 4: EXPLORE ─────────────────────────────────────────── */
.bt-h84-explore {
  background: var(--bt-bg-elev);
  border-top: 1px solid var(--bt-border-2);
  border-bottom: 1px solid var(--bt-border-2);
  padding: 60px 0 68px;
}
.bt-h84-explore-inner {
  max-width: var(--bt-container, 1400px);
  margin: 0 auto;
  padding: 0 32px;
}
.bt-h84-explore-head {
  margin-bottom: 36px;
}
.bt-h84-explore-head h2 {
  font-family: var(--bt-font-display) !important;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--bt-text);
  margin: 0 0 8px;
}
.bt-h84-explore-head p {
  color: var(--bt-text-2);
  font-size: .9rem;
  margin: 0;
}
.bt-h84-explore-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--bt-border);
}
.bt-h84-ecard {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 14px;
  padding: 28px 24px;
  background: var(--bt-bg-elev);
  border: none;
  text-decoration: none;
  transition: background var(--bt-dur-fast) var(--bt-ease);
  position: relative;
  overflow: hidden;
}
/* Left-border accent on hover — no translateY, no filled bg */
.bt-h84-ecard::before {
  content: "";
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 2px;
  background: var(--bt-accent);
  opacity: 0;
  transition: opacity .2s;
}
.bt-h84-ecard:hover {
  background: var(--bt-bg-elev-2);
}
.bt-h84-ecard:hover::before { opacity: 1; }
.bt-h84-ecard--crypto::before { background: var(--bt-accent-warm); }
.bt-h84-ecard--forex::before  { background: var(--bt-accent); }
.bt-h84-ecard--web3::before   { background: var(--bt-accent); }
.bt-h84-ecard-icon {
  font-size: 1.4rem;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,255,102,.06);
  border: 1px solid rgba(0,255,102,.15);
  font-family: var(--bt-font-mono);
  color: var(--bt-accent);
}
.bt-h84-ecard--crypto .bt-h84-ecard-icon { color: var(--bt-accent-warm); background: rgba(255,184,0,.06); border-color: rgba(255,184,0,.15); }
.bt-h84-ecard--forex  .bt-h84-ecard-icon { color: var(--bt-accent); }
.bt-h84-ecard--web3   .bt-h84-ecard-icon { color: var(--bt-accent); }
.bt-h84-ecard-body { flex: 1; min-width: 0; }
.bt-h84-ecard-title {
  font-family: var(--bt-font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--bt-text);
  margin-bottom: 6px;
  letter-spacing: -0.01em;
}
.bt-h84-ecard-desc {
  font-size: .82rem;
  color: var(--bt-text-2);
  line-height: 1.55;
  margin-bottom: 0;
}
.bt-h84-ecard-sub {
  font-size: .65rem;
  font-family: var(--bt-font-mono);
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--bt-text-4);
  border-top: 1px solid var(--bt-border);
  padding-top: 10px;
  width: 100%;
  margin-top: auto;
}
.bt-h84-ecard-arrow {
  font-size: .9rem;
  color: var(--bt-accent);
  flex-shrink: 0;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity .2s, transform .2s;
  align-self: flex-end;
}
.bt-h84-ecard:hover .bt-h84-ecard-arrow { opacity: 1; transform: translateX(0); }

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width: 1200px) {
  .bt-h84-hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .bt-h84-hero-right { display: none; }
}
@media (max-width: 768px) {
  .bt-h84-hero { padding: 48px 0 40px; }
  .bt-h84-hero-inner { padding: 0 20px; }
  .bt-h84-headline { font-size: clamp(1.9rem, 8vw, 2.8rem); }
  .bt-h84-movers { grid-template-columns: 1fr; gap: 1px; }
  .bt-h84-explore-grid { grid-template-columns: 1fr; }
  .bt-h84-desk-head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .bt-h84-trust { grid-template-columns: 1fr 1fr; }
  .bt-h84-state-inner,
  .bt-h84-desk-inner,
  .bt-h84-explore-inner { padding: 0 20px; }
}
/* ── END v84 HOME ─────────────────────────────────────────────── */

/* ══════════════════════════════════════════════════════════════════
   v85 PER-ASSET ANALYSIS PAGES  /analysis/{slug}/
   Classes: bt-av-* (namespaced, terminal aesthetic family)
══════════════════════════════════════════════════════════════════ */
.bt-av-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 24px 72px;
  font-family: var(--bt-font-body);
}
/* Breadcrumb */
.bt-av-bc {
  font-size: .78rem;
  color: var(--bt-text-2);
  margin-bottom: 28px;
  font-family: var(--bt-font-mono);
  display: flex;
  align-items: center;
  gap: 6px;
}
.bt-av-bc a { color: var(--bt-text-2); text-decoration: none; }
.bt-av-bc a:hover { color: var(--bt-accent); }
.bt-av-bc span { color: rgba(255,255,255,.25); }
/* Desk header */
.bt-av-deskhead { margin-bottom: 32px; }
.bt-av-eyebrow {
  font-family: var(--bt-font-mono);
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bt-accent);
  margin-bottom: 8px;
}
.bt-av-h1 {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 700;
  color: var(--bt-text);
  margin: 0 0 8px;
  line-height: 1;
  font-family: var(--bt-font-display) !important;
}
.bt-av-sym {
  font-family: var(--bt-font-mono);
  font-size: .6em;
  font-weight: 400;
  color: var(--bt-text-2);
  vertical-align: middle;
  margin-left: 6px;
}
.bt-av-meta {
  font-size: .78rem;
  color: var(--bt-text-2);
  font-family: var(--bt-font-mono);
}
.bt-av-meta a { color: var(--bt-accent); text-decoration: none; }
/* 2-col price + verdict grid */
.bt-av-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 28px;
}
.bt-av-panel {
  background: var(--bt-bg-elev);
  border: 1px solid var(--bt-border);
  border-top: 2px solid var(--bt-accent);
  border-radius: 0;
  padding: 24px 22px;
}
.bt-av-panel-label {
  font-family: var(--bt-font-mono);
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--bt-text-3);
  margin-bottom: 10px;
}
.bt-av-big-price {
  font-family: var(--bt-font-mono);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 700;
  color: var(--bt-text);
  line-height: 1;
  margin-bottom: 8px;
}
.bt-av-chg {
  font-family: var(--bt-font-mono);
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 4px;
}
.bt-av-chg7 {
  font-family: var(--bt-font-mono);
  font-size: .85rem;
  margin-bottom: 14px;
}
.bt-av-asset-link { margin-top: 16px; }
.bt-av-asset-link a {
  font-size: .8rem;
  color: var(--bt-accent);
  text-decoration: none;
  font-family: var(--bt-font-mono);
}
/* Verdict panel */
.bt-av-score {
  font-family: var(--bt-font-mono);
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 700;
  line-height: 1;
  margin-bottom: 10px;
}
.bt-av-scale {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.bt-av-scale > span {
  font-family: var(--bt-font-mono);
  font-size: .65rem;
  color: var(--bt-text-2);
  white-space: nowrap;
}
.bt-av-scale-bar {
  flex: 1;
  height: 4px;
  background: rgba(255,255,255,.08);
  position: relative;
}
.bt-av-scale-fill {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  transition: width .4s ease;
}
.bt-av-scale-mid {
  position: absolute;
  left: 50%;
  top: -3px;
  width: 1px;
  height: 10px;
  background: rgba(255,255,255,.2);
}
.bt-av-tier {
  font-family: var(--bt-font-mono);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 6px;
}
.bt-av-headline {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--bt-text);
  margin-bottom: 4px;
}
.bt-av-action {
  font-size: .82rem;
  color: var(--bt-text-2);
}
/* Signal breakdown */
.bt-av-signals {
  border: 1px solid var(--bt-border);
  margin-bottom: 24px;
}
.bt-av-sec-head {
  font-family: var(--bt-font-mono);
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--bt-text-2);
  padding: 10px 16px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.02);
}
.bt-av-sig-row {
  display: grid;
  grid-template-columns: 110px 180px 1fr;
  gap: 16px;
  align-items: center;
  padding: 13px 16px;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.bt-av-sig-row:last-child { border-bottom: none; }
.bt-av-sig-name {
  font-family: var(--bt-font-mono);
  font-size: .72rem;
  letter-spacing: .06em;
  color: var(--bt-text-2);
  text-transform: uppercase;
}
.bt-av-sig-label {
  font-family: var(--bt-font-mono);
  font-size: .8rem;
  font-weight: 600;
}
.bt-av-sig-desc {
  font-size: .78rem;
  color: var(--bt-text-2);
}
/* Related news */
.bt-av-news { border: 1px solid rgba(255,255,255,.08); margin-bottom: 24px; }
.bt-av-news-row {
  display: grid;
  grid-template-columns: 90px 1fr 100px;
  gap: 14px;
  align-items: start;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
.bt-av-news-row:last-child { border-bottom: none; }
.bt-av-news-date {
  font-family: var(--bt-font-mono);
  font-size: .65rem;
  color: var(--bt-text-2);
  padding-top: 2px;
}
.bt-av-news-title {
  font-size: .85rem;
  color: var(--bt-text);
  text-decoration: none;
  line-height: 1.45;
  transition: color .2s;
}
.bt-av-news-title:hover { color: var(--bt-accent); }
.bt-av-news-src {
  font-size: .7rem;
  font-family: var(--bt-font-mono);
  color: var(--bt-text-2);
  text-align: right;
  padding-top: 2px;
}
/* Footer */
.bt-av-footer {
  border: 1px solid rgba(255,255,255,.08);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: start;
  padding: 20px 20px;
}
.bt-av-footer-label {
  font-family: var(--bt-font-mono);
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--bt-text-2);
  margin-bottom: 6px;
}
.bt-av-footer-method p {
  font-size: .78rem;
  color: var(--bt-text-2);
  line-height: 1.6;
  margin: 0;
}
.bt-av-footer-cta { display: flex; flex-direction: column; gap: 10px; }
.bt-av-cta-btn {
  display: inline-block;
  background: var(--bt-accent);
  color: #0A0B0D;
  font-weight: 700;
  font-size: .82rem;
  padding: 10px 18px;
  text-decoration: none;
  transition: background .2s;
  white-space: nowrap;
}
.bt-av-cta-btn:hover { background: var(--bt-accent); }
.bt-av-cta-sec {
  font-size: .78rem;
  color: var(--bt-accent);
  text-decoration: none;
  font-family: var(--bt-font-mono);
  text-align: center;
}
/* Inline shortcode variant */
.bt-av-inline {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  padding: 16px 18px;
  margin: 12px 0;
}
.bt-av-inline-sym {
  font-family: var(--bt-font-mono);
  font-size: .7rem;
  letter-spacing: .1em;
  color: var(--bt-text-2);
  margin-bottom: 4px;
  text-transform: uppercase;
}
.bt-av-inline-price {
  font-family: var(--bt-font-mono);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--bt-text);
  margin-bottom: 4px;
}
.bt-av-inline-verdict {
  font-size: .82rem;
  font-weight: 600;
  margin-bottom: 8px;
}
.bt-av-inline-link {
  font-size: .75rem;
  font-family: var(--bt-font-mono);
  color: var(--bt-accent);
  text-decoration: none;
}
/* Responsive */
@media (max-width: 768px) {
  .bt-av-grid { grid-template-columns: 1fr; }
  .bt-av-sig-row { grid-template-columns: 1fr; gap: 4px; }
  .bt-av-news-row { grid-template-columns: 1fr; gap: 4px; }
  .bt-av-footer { grid-template-columns: 1fr; }
  .bt-av-footer-cta { flex-direction: row; }
}
/* ── END v85 ANALYSIS PAGES ───────────────────────────────────── */

/* ══════════════════════════════════════════════════════════════════
   v86 SIGNAL CONTRIBUTION TRACES — Desk Notes (.bt-dns-*)
   Shows which signals were active when each note was published.
══════════════════════════════════════════════════════════════════ */
.bt-desk-note-signals {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed rgba(255,255,255,.08);
}
.bt-dns-label {
  font-family: var(--bt-font-mono);
  font-size: .6rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: rgba(255,255,255,.3);
  flex-shrink: 0;
}
.bt-dns-score {
  font-family: var(--bt-font-mono);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .05em;
  flex-shrink: 0;
}
.bt-dns-num {
  font-family: var(--bt-font-mono);
  font-size: .65rem;
  opacity: .8;
  flex-shrink: 0;
}
.bt-dns-chip {
  font-family: var(--bt-font-mono);
  font-size: .62rem;
  font-weight: 600;
  padding: 2px 5px;
  border: 1px solid currentColor;
  border-radius: 0;
  opacity: .75;
  letter-spacing: .03em;
  transition: opacity .15s;
}
.bt-desk-note:hover .bt-dns-chip { opacity: 1; }
/* ── END v86 SIGNAL TRACES ───────────────────────────────────────── */

/* ══════════════════════════════════════════════════════════════════
   v87 VERDICT ARCHIVE CALENDAR  .bt-arc-*
   Terminal aesthetic — matches Research Desk family
══════════════════════════════════════════════════════════════════ */
.bt-arc-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 24px 72px;
  font-family: var(--bt-font-body);
}

/* Header */
.bt-arc-eyebrow {
  font-family: var(--bt-font-mono);
  font-size: .65rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bt-accent);
  margin-bottom: 10px;
}
.bt-arc-title {
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 700;
  color: var(--bt-text);
  margin: 0 0 10px;
}
.bt-arc-sub {
  font-size: .88rem;
  color: var(--bt-text-2);
  line-height: 1.65;
  max-width: 720px;
  margin-bottom: 32px;
}

/* Stats strip */
.bt-arc-stats {
  display: flex;
  gap: 0;
  border: 1px solid rgba(255,255,255,.08);
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.bt-arc-stat {
  flex: 1;
  min-width: 100px;
  padding: 18px 20px;
  border-right: 1px solid rgba(255,255,255,.06);
  text-align: center;
}
.bt-arc-stat:last-child { border-right: none; }
.bt-arc-stat-num {
  font-family: var(--bt-font-mono);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--bt-text);
  line-height: 1;
  margin-bottom: 5px;
}
.bt-arc-stat-lbl {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--bt-text-2);
}

/* Section head */
.bt-arc-section-head {
  font-family: var(--bt-font-mono);
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--bt-text-2);
  margin-bottom: 0;
  padding: 10px 16px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.07);
  border-bottom: none;
}

/* Calendar container */
.bt-arc-calendar { border: 1px solid rgba(255,255,255,.07); }

/* Column header row */
.bt-arc-cal-head {
  display: grid;
  grid-template-columns: 90px 160px 90px 160px 1fr 110px;
  gap: 0;
  padding: 8px 14px;
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid rgba(255,255,255,.07);
  font-family: var(--bt-font-mono);
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--bt-text-2);
}
.bt-arc-cal-head > div { padding: 0 8px; }

/* Day rows */
.bt-arc-row {
  display: grid;
  grid-template-columns: 90px 160px 90px 160px 1fr 110px;
  gap: 0;
  border-bottom: 1px solid rgba(255,255,255,.05);
  align-items: start;
  padding: 10px 14px;
  transition: background .15s;
}
.bt-arc-row:last-child { border-bottom: none; }
.bt-arc-row:hover { background: rgba(255,255,255,.025); }
.bt-arc-row--today { background: rgba(0,255,102,.04) !important; }
.bt-arc-row > div { padding: 0 8px; }

/* Date column */
.bt-arc-col-date {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.bt-arc-dow {
  font-family: var(--bt-font-mono);
  font-size: .65rem;
  color: var(--bt-text-2);
  letter-spacing: .06em;
}
.bt-arc-dnum {
  font-size: .82rem;
  font-weight: 600;
  color: var(--bt-text);
  font-family: var(--bt-font-mono);
}
.bt-arc-today-tag {
  font-size: .58rem;
  font-family: var(--bt-font-mono);
  color: var(--bt-accent);
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Tier column */
.bt-arc-col-tier { display: flex; flex-direction: column; gap: 4px; justify-content: center; }
.bt-arc-tier-badge {
  display: inline-block;
  font-family: var(--bt-font-mono);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 2px 8px;
  border: 1px solid;
  width: fit-content;
}
.bt-arc-regime {
  font-size: .65rem;
  font-family: var(--bt-font-mono);
  color: var(--bt-text-2);
  text-transform: capitalize;
}

/* Score column */
.bt-arc-col-score { display: flex; flex-direction: column; gap: 2px; justify-content: center; }
.bt-arc-score {
  font-family: var(--bt-font-mono);
  font-size: 1rem;
  font-weight: 700;
}
.bt-arc-snaps {
  font-size: .62rem;
  font-family: var(--bt-font-mono);
  color: var(--bt-text-2);
}

/* BTC column */
.bt-arc-col-btc { display: flex; flex-direction: column; gap: 2px; justify-content: center; }
.bt-arc-btc-range {
  font-family: var(--bt-font-mono);
  font-size: .72rem;
  color: var(--bt-text);
}
.bt-arc-btc-chg {
  font-family: var(--bt-font-mono);
  font-size: .7rem;
  font-weight: 600;
}

/* Hourly heatmap */
.bt-arc-heat {
  display: flex;
  gap: 2px;
  align-items: center;
  flex-wrap: nowrap;
  height: 24px;
}
.bt-arc-heat-cell {
  width: calc(100% / 25);
  height: 20px;
  flex-shrink: 0;
  cursor: default;
  transition: opacity .15s, transform .15s;
}
.bt-arc-heat-cell:hover { transform: scaleY(1.25); opacity: 1 !important; }
.bt-arc-heat-empty {
  background: rgba(255,255,255,.06) !important;
  opacity: 1 !important;
}

/* Posts column */
.bt-arc-col-posts { display: flex; flex-direction: column; gap: 4px; justify-content: center; }
.bt-arc-post-count {
  font-family: var(--bt-font-mono);
  font-size: .65rem;
  color: var(--bt-accent);
  text-transform: uppercase;
  letter-spacing: .05em;
}
.bt-arc-post-link {
  display: block;
  font-size: .7rem;
  color: var(--bt-text-2);
  text-decoration: none;
  line-height: 1.4;
  transition: color .15s;
}
.bt-arc-post-link:hover { color: var(--bt-accent); }
.bt-arc-no-posts {
  font-family: var(--bt-font-mono);
  font-size: .65rem;
  color: rgba(255,255,255,.2);
}

/* Disclosure footer */
.bt-arc-disclosure {
  margin-top: 20px;
  padding: 14px 18px;
  border: 1px solid rgba(255,255,255,.07);
  border-left: 2px solid rgba(255,255,255,.15);
  font-size: .78rem;
  color: var(--bt-text-2);
  line-height: 1.7;
}
.bt-arc-disclosure strong { color: var(--bt-text); }

/* Seeding state */
.bt-arc-seeding {
  text-align: center;
  padding: 60px 24px;
  border: 1px solid rgba(255,255,255,.07);
}
.bt-arc-seed-icon {
  font-family: var(--bt-font-mono);
  font-size: 2rem;
  color: rgba(255,255,255,.2);
  margin-bottom: 16px;
}
.bt-arc-seed-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--bt-text);
  margin-bottom: 10px;
}

/* Entry CTA on market-analysis page */
.bt-desk-archive-link-band {
  text-align: center;
  padding: 16px 0;
  margin: 0 0 24px;
}
.bt-arc-entry-cta {
  font-family: var(--bt-font-mono);
  font-size: .8rem;
  color: var(--bt-accent);
  text-decoration: none;
  letter-spacing: .04em;
  border-bottom: 1px solid rgba(0,255,102,.3);
  transition: border-color .2s;
}
.bt-arc-entry-cta:hover { border-color: var(--bt-accent); }

/* Responsive */
@media (max-width: 900px) {
  .bt-arc-cal-head,
  .bt-arc-row {
    grid-template-columns: 80px 130px 70px 1fr;
  }
  .bt-arc-col-heat,
  .bt-arc-col-posts { display: none; }
}
@media (max-width: 600px) {
  .bt-arc-cal-head,
  .bt-arc-row { grid-template-columns: 70px 1fr 70px; }
  .bt-arc-col-btc { display: none; }
  .bt-arc-stats { gap: 0; }
  .bt-arc-stat { min-width: 80px; padding: 12px 10px; }
}
/* ── END v87 ARCHIVE CALENDAR ─────────────────────────────────── */

/* ══════════════════════════════════════════════════════════════════
   v89 PER-SIGNAL ACCURACY PANEL  .bt-track-sig-*
══════════════════════════════════════════════════════════════════ */
.bt-track-signals-sec {
  border-top: 1px dashed rgba(255,255,255,.08);
  padding-top: 20px;
  margin-top: 20px;
}
.bt-track-sig-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 10px;
}
.bt-track-sig-card {
  border: 1px solid rgba(255,255,255,.07);
  padding: 12px 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.bt-track-sig-card[data-tone="bull"]    { border-top-color: var(--bt-accent); }
.bt-track-sig-card[data-tone="bear"]    { border-top-color: var(--bt-danger); }
.bt-track-sig-card[data-tone="neutral"] { border-top-color: var(--bt-accent-warm); }
.bt-track-sig-name {
  font-family: var(--bt-font-mono);
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--bt-text-2);
}
.bt-track-sig-val {
  font-family: var(--bt-font-mono);
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
}
.bt-track-sig-sub {
  font-family: var(--bt-font-mono);
  font-size: .6rem;
  color: var(--bt-text-2);
}
.bt-track-sig-note {
  font-size: .72rem;
  color: var(--bt-text-2);
  line-height: 1.6;
  border-top: 1px solid rgba(255,255,255,.05);
  padding-top: 8px;
  margin-top: 4px;
}
@media (max-width: 768px) {
  .bt-track-sig-grid { grid-template-columns: repeat(2, 1fr); }
}
/* ── END v89 SIGNAL ACCURACY ──────────────────────────────────── */

/* ═══════════════════════════════════════════════════════════════════
   v90 — Single Post Reading Experience
   Namespace: bt-share-*, bt-toc-*, bt-rv-*, bt-pn-*
   ═══════════════════════════════════════════════════════════════════ */

/* ── Social Share Bar ──────────────────────────────────────────────── */
.bt-share-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 0 20px;
    border-bottom: 1px solid var(--bt-border-2, rgba(255,255,255,.06));
    margin-bottom: 28px;
    flex-wrap: wrap;
}
.bt-share-label {
    font-family: var(--bt-font-mono, monospace);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #475569;
    margin-right: 4px;
}
.bt-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 12px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    color: var(--bt-text-3);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
    font-family: var(--bt-font-body, sans-serif);
    line-height: 1;
    white-space: nowrap;
}
.bt-share-btn:hover { background: rgba(255,255,255,.08); color: #e2e8f0; border-color: rgba(255,255,255,.15); }
.bt-share-btn.bt-share-tw:hover { color: #fff; }
.bt-share-btn.bt-share-li:hover { background: rgba(10,102,194,.2); color: #60a5fa; border-color: rgba(10,102,194,.4); }
.bt-share-btn.bt-share-rd:hover { background: rgba(255,69,0,.2);  color: #fb923c; border-color: rgba(255,69,0,.4); }
.bt-share-btn.bt-share-tg:hover { background: rgba(0,136,204,.2); color: #60b8d4; border-color: rgba(0,136,204,.4); }
.bt-share-btn.bt-share-copy:hover { background: rgba(0,255,102,.12); color: var(--bt-accent); border-color: rgba(0,255,102,.3); }

/* ── Table of Contents ─────────────────────────────────────────────── */
.bt-toc {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-left: 3px solid var(--bt-accent);
    border-radius: 0;
    padding: 20px 24px;
    margin: 28px 0 32px;
}
.bt-toc-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}
.bt-toc-title {
    font-family: var(--bt-font-mono, monospace);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--bt-accent);
}
.bt-toc-toggle {
    background: none;
    border: none;
    color: #475569;
    cursor: pointer;
    font-size: 10px;
    padding: 4px;
    line-height: 1;
    transition: color .18s;
}
.bt-toc-toggle:hover { color: var(--bt-text-2); }
.bt-toc-list {
    margin: 0;
    padding: 0 0 0 18px;
    list-style: decimal;
}
.bt-toc-list li {
    margin: 0 0 7px;
    font-size: 13.5px;
    line-height: 1.5;
}
.bt-toc-list li a {
    color: var(--bt-text-2);
    text-decoration: none;
    transition: color .18s;
}
.bt-toc-list li a:hover { color: var(--bt-accent); }

/* ── Related Verdict Card ──────────────────────────────────────────── */
.bt-rv-card {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-left: 3px solid var(--bt-accent);
    border-radius: 0;
    padding: 20px 24px;
    margin: 36px 0 28px;
}
.bt-rv-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    flex-wrap: wrap;
    gap: 8px;
}
.bt-rv-eyebrow {
    font-family: var(--bt-font-mono, monospace);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--bt-accent);
}
.bt-rv-link {
    font-size: 12px;
    color: var(--bt-accent);
    text-decoration: none;
    font-weight: 600;
    transition: color .18s;
}
.bt-rv-link:hover { color: #60b8d4; }
.bt-rv-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.bt-rv-asset {
    display: flex;
    align-items: center;
    gap: 12px;
}
.bt-rv-name {
    font-weight: 700;
    font-size: 16px;
    color: #e2e8f0;
}
.bt-rv-price {
    font-family: var(--bt-font-mono, monospace);
    font-size: 14px;
    color: #94a3b8;
}
.bt-rv-chg {
    font-family: var(--bt-font-mono, monospace);
    font-size: 13px;
    font-weight: 700;
}
.bt-rv-cta {
    display: inline-block;
    background: linear-gradient(135deg, var(--bt-accent), var(--bt-accent));
    color: #000;
    font-weight: 700;
    font-size: 13px;
    padding: 9px 20px;
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity .18s;
    flex-shrink: 0;
}
.bt-rv-cta:hover { opacity: .88; }
@media (max-width: 600px) {
    .bt-rv-body { flex-direction: column; align-items: flex-start; }
    .bt-rv-cta  { width: 100%; text-align: center; }
}

/* ── Next / Prev Article Navigation ────────────────────────────────── */
.bt-pn-nav {
    border-top: 1px solid var(--bt-border-2, rgba(255,255,255,.06));
    margin-top: 48px;
    padding-top: 32px;
}
.bt-pn-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.bt-pn-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 18px 20px;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 10px;
    text-decoration: none;
    transition: background .18s, border-color .18s;
}
.bt-pn-item:hover {
    background: rgba(0,255,102,.06);
    border-color: rgba(0,255,102,.2);
}
.bt-pn-next { text-align: right; }
.bt-pn-dir {
    font-family: var(--bt-font-mono, monospace);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #475569;
}
.bt-pn-ptitle {
    font-size: 13.5px;
    font-weight: 600;
    color: #94a3b8;
    line-height: 1.45;
    transition: color .18s;
}
.bt-pn-item:hover .bt-pn-ptitle { color: #e2e8f0; }
@media (max-width: 640px) {
    .bt-pn-inner { grid-template-columns: 1fr; }
    .bt-pn-next  { text-align: left; }
}

/* ═══════════════════════════════════════════════════════════════════
   v91 — Hero Centering + Entrance Animations + Rolling Ticker
   ═══════════════════════════════════════════════════════════════════ */

/* ── Centre the left column content ──────────────────────────────── */
.bt-h84-hero-left {
    align-items: center !important;
    text-align: center !important;
}
.bt-h84-sub {
    max-width: 480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.bt-h84-ctas {
    justify-content: center !important;
}
.bt-h84-trust {
    justify-content: center !important;
}

/* ── Staggered entrance animations ───────────────────────────────── */
@keyframes bt-fade-up {
    from { opacity: 0; transform: translateY(22px); }
    to   { opacity: 1; transform: translateY(0); }
}
.bt-anim-fade-up {
    opacity: 0;
    animation: bt-fade-up .55s cubic-bezier(.22,1,.36,1) both;
    animation-delay: var(--d, 0s);
}

/* ── Rolling ticker ───────────────────────────────────────────────── */
.bt-hero-ticker {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(0,255,102,.06);
    border: 1px solid rgba(0,255,102,.18);
    border-radius: 100px;
    padding: 7px 16px 7px 10px;
    max-width: 520px;
    width: 100%;
    overflow: hidden;
    height: 36px;
    position: relative;
}
.bt-hero-ticker-label {
    font-family: var(--bt-font-mono, monospace);
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--bt-accent);
    background: rgba(0,255,102,.15);
    border-radius: 100px;
    padding: 3px 8px;
    flex-shrink: 0;
    white-space: nowrap;
}
.bt-hero-ticker-track {
    position: relative;
    flex: 1;
    height: 20px;
    overflow: hidden;
}
.bt-hero-ticker-msg {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    font-size: 12.5px;
    font-weight: 500;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .42s ease, transform .42s ease;
    pointer-events: none;
}
.bt-hero-ticker-msg.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.bt-hero-ticker-msg.exit {
    opacity: 0;
    transform: translateY(-12px);
}

/* ── Enhanced gradient orbs behind hero ──────────────────────────── */
.bt-h84-hero::before {
    background:
        radial-gradient(ellipse 55% 60% at 25% 50%, rgba(0,255,102,.09) 0%, transparent 65%),
        radial-gradient(ellipse 40% 50% at 80% 20%, rgba(0,255,102,.07) 0%, transparent 65%),
        radial-gradient(ellipse 30% 40% at 60% 80%, rgba(167,139,250,.05) 0%, transparent 60%) !important;
}

/* ── Responsive tweaks ────────────────────────────────────────────── */
@media (max-width: 768px) {
    .bt-hero-ticker { max-width: 100%; }
    .bt-h84-hero-left { align-items: center !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   v93 — Signal Drawers · Premium News · Card Hover Animations
   ═══════════════════════════════════════════════════════════════════ */

/* ── Signal chip expandable drawers ──────────────────────────────── */
.bt-sig-expandable {
    cursor: pointer;
    border-radius: 10px;
    padding: 10px 14px;
    transition: background .2s ease, border-color .2s ease;
    border: 1px solid transparent;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    user-select: none;
}
.bt-sig-expandable:hover,
.bt-sig-expandable[aria-expanded="true"] {
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.08);
}
.bt-sig-expandable.bt-desk-signal-bull:hover,
.bt-sig-expandable.bt-desk-signal-bull[aria-expanded="true"] {
    background: rgba(0,255,102,.07);
    border-color: rgba(0,255,102,.2);
}
.bt-sig-expandable.bt-desk-signal-bear:hover,
.bt-sig-expandable.bt-desk-signal-bear[aria-expanded="true"] {
    background: rgba(255,59,48,.07);
    border-color: rgba(255,59,48,.2);
}
.bt-sig-header {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.bt-sig-chevron {
    margin-left: auto;
    font-size: 16px;
    color: #475569;
    transition: transform .25s ease, color .2s;
    line-height: 1;
    flex-shrink: 0;
}
.bt-sig-expandable:hover .bt-sig-chevron { color: #94a3b8; }
.bt-sig-drawer {
    overflow: hidden;
    max-height: 0;
    transition: max-height .32s cubic-bezier(.4,0,.2,1);
}
.bt-sig-drawer-desc {
    font-size: 13px;
    color: #e2e8f0;
    font-weight: 600;
    line-height: 1.5;
    margin: 12px 0 6px;
    padding-left: 2px;
}
.bt-sig-drawer-about {
    font-size: 12px;
    color: var(--bt-text-3);
    line-height: 1.65;
    margin: 0 0 10px;
    padding-left: 2px;
}
.bt-sig-drawer-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 8px 0 2px;
    border-top: 1px solid rgba(255,255,255,.06);
    margin-top: 4px;
}
.bt-sig-meta-item {
    font-size: 11px;
    color: #475569;
}
.bt-sig-meta-item strong { color: #94a3b8; }
.bt-sig-meta-sep { color: var(--bt-border); font-size: 11px; }
.bt-sig-meta-link {
    font-size: 11px;
    color: var(--bt-accent);
    text-decoration: none;
    font-weight: 600;
    transition: opacity .18s;
}
.bt-sig-meta-link:hover { opacity: .75; }
.bt-sig-hint {
    font-size: 10.5px;
    color: var(--bt-text-4);
    font-family: var(--bt-font-mono, monospace);
    letter-spacing: .5px;
    margin-top: 8px;
    text-align: center;
    transition: opacity .3s;
}

/* ── Blog & Analysis card hover animations ───────────────────────── */
.bt-bs-card {
    transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease;
    border-radius: 8px;
    padding: 4px;
    margin: -4px;
}
.bt-bs-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 40px rgba(0,0,0,.35);
}
.bt-bs-card-thumb {
    border-radius: 6px;
    overflow: hidden;
}
.bt-bs-card-thumb img {
    transition: transform .55s cubic-bezier(.2,.8,.2,1), filter .4s ease !important;
}
.bt-bs-card:hover .bt-bs-card-thumb img {
    transform: scale(1.06) !important;
    filter: saturate(1.1) brightness(1.04) !important;
}
.bt-bs-card-body {
    padding: 14px 6px 6px;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,.015));
    border-radius: 0 0 6px 6px;
}

/* Card glass highlight on hover */
.bt-bs-card::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 8px;
    border: 1px solid transparent;
    pointer-events: none;
    transition: border-color .28s ease;
}
.bt-bs-card { position: relative; }
.bt-bs-card:hover::after {
    border-color: rgba(var(--bs-accent, 0,212,170), .25);
}

/* Lead story hover */
.bt-bs-lead {
    transition: transform .25s ease;
}
.bt-bs-lead:hover { transform: translateY(-2px); }

/* Blog page card grid — animated entrance */
.bt-bs-grid .bt-bs-card {
    opacity: 0;
    animation: bt-fade-up .5s cubic-bezier(.22,1,.36,1) forwards;
}
.bt-bs-grid .bt-bs-card:nth-child(1)  { animation-delay: .04s; }
.bt-bs-grid .bt-bs-card:nth-child(2)  { animation-delay: .09s; }
.bt-bs-grid .bt-bs-card:nth-child(3)  { animation-delay: .14s; }
.bt-bs-grid .bt-bs-card:nth-child(4)  { animation-delay: .18s; }
.bt-bs-grid .bt-bs-card:nth-child(5)  { animation-delay: .22s; }
.bt-bs-grid .bt-bs-card:nth-child(6)  { animation-delay: .26s; }
.bt-bs-grid .bt-bs-card:nth-child(n+7){ animation-delay: .30s; }

/* ── Landing page fold-2/3/4 cards hover ────────────────────────── */
.bt-h84-pulse-tile,
.bt-h84-desk,
.bt-h84-entry-card {
    transition: transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease, border-color .25s ease;
}
.bt-h84-pulse-tile:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0,0,0,.3); }
.bt-h84-entry-card:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(0,0,0,.35); }

/* ═══════════════════════════════════════════════════════════════════
   PREMIUM NEWS PAGE  (bt-pn-*)
   ═══════════════════════════════════════════════════════════════════ */
.bt-pn-wrap {
    max-width: 1280px;
    margin: 0 auto 64px;
    padding: 0 24px;
}
.bt-pn-updated {
    font-family: var(--bt-font-mono, monospace);
    font-size: 10.5px;
    letter-spacing: 1.5px;
    color: var(--bt-text-4);
    text-transform: uppercase;
    margin-bottom: 28px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255,255,255,.05);
}

/* ── Hero article ────────────────────────────────────────────────── */
.bt-pn-hero {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    margin-bottom: 48px;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(255,255,255,.06);
    align-items: center;
}
.bt-pn-hero-img-wrap {
    display: block;
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 10px;
    background: rgba(255,255,255,.03);
}
.bt-pn-hero-img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(.2,.8,.2,1);
}
.bt-pn-hero:hover .bt-pn-hero-img { transform: scale(1.04); }
.bt-pn-hero-img-ph {
    aspect-ratio: 16/9;
    background: linear-gradient(135deg, var(--ph-c, var(--bt-accent))14, transparent);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
}
.bt-pn-hero-img-ph span {
    font-family: var(--bt-font-mono, monospace);
    font-size: 11px; font-weight: 700; letter-spacing: 2px;
    color: var(--ph-c, var(--bt-accent)); text-transform: uppercase;
}
.bt-pn-hero-body { display: flex; flex-direction: column; gap: 14px; }
.bt-pn-hero-meta {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.bt-pn-src-badge {
    font-family: var(--bt-font-mono, monospace);
    font-size: 9.5px; font-weight: 700; letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--src-c, var(--bt-accent));
    background: color-mix(in srgb, var(--src-c, var(--bt-accent)) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--src-c, var(--bt-accent)) 25%, transparent);
    border-radius: 4px; padding: 3px 8px;
}
.bt-pn-cat {
    font-size: 10.5px; font-weight: 600; letter-spacing: .5px;
    color: #475569; text-transform: uppercase;
}
.bt-pn-time {
    font-family: var(--bt-font-mono, monospace);
    font-size: 10px; color: var(--bt-text-4);
}
.bt-pn-hero-title {
    font-family: var(--bt-font-serif, serif) !important;
    font-size: clamp(22px, 2.6vw, 34px) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #f1f5f9 !important;
    margin: 0 !important;
}
.bt-pn-hero-title a { color: inherit; text-decoration: none; transition: color .2s; }
.bt-pn-hero-title a:hover { color: var(--bt-accent); }
.bt-pn-hero-desc {
    font-size: 15px; line-height: 1.65; color: #94a3b8; margin: 0;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.bt-pn-hero-read {
    display: inline-flex; align-items: center;
    font-size: 13px; font-weight: 700; color: var(--bt-accent);
    text-decoration: none; gap: 6px; width: fit-content;
    transition: gap .2s;
}
.bt-pn-hero-read:hover { gap: 10px; }

/* ── Secondary grid ──────────────────────────────────────────────── */
.bt-pn-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px 24px;
}
.bt-pn-card {
    display: flex; flex-direction: column;
    background: rgba(255,255,255,.025);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 10px;
    overflow: hidden;
    opacity: 0;
    animation: bt-fade-up .45s cubic-bezier(.22,1,.36,1) forwards;
    transition: transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease, border-color .25s ease;
}
.bt-pn-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,.4);
    border-color: color-mix(in srgb, var(--card-c, var(--bt-accent)) 30%, transparent);
}
.bt-pn-card-img-wrap {
    display: block; aspect-ratio: 16/9; overflow: hidden;
    background: rgba(255,255,255,.03);
}
.bt-pn-card-img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .5s cubic-bezier(.2,.8,.2,1), filter .4s ease;
}
.bt-pn-card:hover .bt-pn-card-img { transform: scale(1.06); filter: brightness(1.05); }
.bt-pn-card-img-ph {
    aspect-ratio: 16/9;
    background: linear-gradient(135deg, var(--card-c, var(--bt-accent))16, rgba(255,255,255,.02));
    display: flex; align-items: center; justify-content: center;
}
.bt-pn-card-img-ph span {
    font-family: var(--bt-font-mono, monospace);
    font-size: 18px; font-weight: 800;
    color: var(--card-c, var(--bt-accent)); opacity: .5;
    text-transform: uppercase; letter-spacing: 1px;
}
.bt-pn-card-body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.bt-pn-card-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bt-pn-card-title {
    font-size: 14.5px !important; font-weight: 700 !important;
    line-height: 1.4 !important; color: #e2e8f0 !important; margin: 0 !important;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.bt-pn-card-title a { color: inherit; text-decoration: none; transition: color .2s; }
.bt-pn-card:hover .bt-pn-card-title a { color: var(--card-c, var(--bt-accent)); }
.bt-pn-card-desc {
    font-size: 12.5px; color: #475569; line-height: 1.55; margin: 0;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    flex: 1;
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 1024px) { .bt-pn-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) {
    .bt-pn-hero { grid-template-columns: 1fr; gap: 24px; }
    .bt-pn-grid  { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════
   v94 — Landing Page Cards · Gap Fix · Market Analysis Visual Upgrade
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. Fix hero dead-air gap ─────────────────────────────────────── */
.bt-h84-hero { padding: 40px 0 36px !important; }
.bt-h84-state { padding: 32px 0 44px !important; }
.bt-h84-explore { padding: 44px 0 56px; }
.bt-h84-desk    { padding: 40px 0 44px; }

/* Seamless dark blend between sections */
.bt-h84-hero    { background: linear-gradient(180deg, #000 0%, #0c1120 100%) !important; }
.bt-h84-state   { background: linear-gradient(180deg, #0c1120 0%, #0d1428 100%) !important; border-top: none !important; }
.bt-h84-desk    { background: linear-gradient(180deg, #0d1428 0%, #000 100%) !important; }
.bt-h84-explore { background: #000 !important; }

/* ── 2. Card entrance animation (IntersectionObserver-free CSS-only) ─ */
@keyframes bt-card-in {
    from { opacity: 0; transform: translateY(28px) scale(.98); }
    to   { opacity: 1; transform: translateY(0)    scale(1); }
}
.bt-card-reveal {
    opacity: 0;
    animation: bt-card-in .55s cubic-bezier(.22,1,.36,1) forwards;
    animation-delay: calc(var(--ri, 0) * 0.1s + 0.1s);
}

/* ── 3. Movers columns — glassmorphism cards ─────────────────────── */
.bt-h84-movers-col {
    background: linear-gradient(135deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.015) 100%) !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 14px !important;
    padding: 18px !important;
    backdrop-filter: blur(4px);
    position: relative;
    overflow: hidden;
    transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.bt-h84-movers-col::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
}
.bt-h84-movers-col:hover {
    border-color: rgba(255,255,255,.15) !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(0,0,0,.3);
}
/* Up column — teal tint on hover */
.bt-h84-movers-col:first-child:hover { border-color: rgba(0,255,102,.25) !important; }
/* Down column — red tint on hover */
.bt-h84-movers-col:last-child:hover  { border-color: rgba(255,59,48,.2) !important; }

/* ── 4. Explore cards — stronger glass + animated gradient border ─── */
.bt-h84-ecard {
    background: linear-gradient(135deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.015) 100%) !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 16px !important;
    padding: 28px 24px !important;
    transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease, border-color .3s ease !important;
    position: relative;
}
.bt-h84-ecard::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 16px;
    opacity: 0;
    transition: opacity .3s ease;
    pointer-events: none;
}
.bt-h84-ecard--crypto::after { box-shadow: inset 0 0 0 1px rgba(247,147,26,.3), 0 0 40px rgba(247,147,26,.08); }
.bt-h84-ecard--forex::after  { box-shadow: inset 0 0 0 1px rgba(0,255,102,.3),  0 0 40px rgba(0,255,102,.08); }
.bt-h84-ecard--web3::after   { box-shadow: inset 0 0 0 1px rgba(0,255,102,.3),  0 0 40px rgba(0,255,102,.08); }
.bt-h84-ecard:hover::after { opacity: 1; }
.bt-h84-ecard:hover {
    transform: translateY(-6px) scale(1.01) !important;
    box-shadow: 0 20px 48px rgba(0,0,0,.4) !important;
}
.bt-h84-ecard-icon {
    width: 60px !important; height: 60px !important;
    font-size: 1.6rem !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.08);
}
.bt-h84-ecard--crypto .bt-h84-ecard-icon { background: rgba(247,147,26,.1) !important; border-color: rgba(247,147,26,.2) !important; }
.bt-h84-ecard--forex  .bt-h84-ecard-icon { background: rgba(0,255,102,.1)  !important; border-color: rgba(0,255,102,.2)  !important; }
.bt-h84-ecard--web3   .bt-h84-ecard-icon { background: rgba(0,255,102,.1)  !important; border-color: rgba(0,255,102,.2)  !important; }
.bt-h84-ecard-title { font-size: 1.05rem !important; margin-bottom: 8px !important; }
.bt-h84-explore-head h2 {
    font-size: clamp(22px,3vw,34px) !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: -.5px !important;
}
.bt-h84-explore-head p { font-size: 15px !important; color: var(--bt-text-3) !important; }

/* ── 5. Pulse tiles — glass treatment ───────────────────────────── */
.bt-mkt-pulse-tile, .bt-pulse-tile {
    background: linear-gradient(135deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 100%) !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 12px !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
.bt-mkt-pulse-tile:hover, .bt-pulse-tile:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.3) !important;
    border-color: rgba(0,255,102,.2) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   MARKET ANALYSIS PAGE — Visual Upgrade (v94)
   ═══════════════════════════════════════════════════════════════════ */

/* ── Desk header ─────────────────────────────────────────────────── */
.bt-desk-head {
    background: linear-gradient(135deg, rgba(0,255,102,.06) 0%, rgba(0,255,102,.04) 50%, transparent 100%) !important;
    border: 1px solid rgba(0,255,102,.15) !important;
    border-radius: 16px !important;
    padding: 36px 40px !important;
    margin-bottom: 28px !important;
    position: relative;
    overflow: hidden;
}
.bt-desk-head::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, var(--bt-accent), var(--bt-accent), #a78bfa);
}
.bt-desk-title {
    font-size: clamp(22px, 2.8vw, 36px) !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    letter-spacing: -.5px !important;
    line-height: 1.2 !important;
    margin: 12px 0 10px !important;
}
.bt-desk-subtitle {
    font-size: 14.5px !important;
    color: var(--bt-text-3) !important;
    line-height: 1.65 !important;
    max-width: 680px !important;
}
.bt-desk-ident-lbl {
    font-family: var(--bt-font-mono, monospace);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: var(--bt-accent);
}
.bt-desk-ident-status {
    font-family: var(--bt-font-mono, monospace);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #000;
    background: var(--bt-accent);
    padding: 2px 8px;
    border-radius: 4px;
}

/* ── Verdict panel ───────────────────────────────────────────────── */
.bt-desk-panel {
    background: linear-gradient(135deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,.01) 100%) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 14px !important;
    margin-bottom: 20px !important;
    overflow: hidden;
    transition: border-color .25s ease;
}
.bt-desk-panel:hover { border-color: rgba(255,255,255,.13) !important; }
.bt-desk-verdict[data-tone="bull"]    { border-color: rgba(0,255,102,.2) !important; background: linear-gradient(135deg, rgba(0,255,102,.06), rgba(0,255,102,.03)) !important; }
.bt-desk-verdict[data-tone="bear"]    { border-color: rgba(255,59,48,.2) !important; background: linear-gradient(135deg, rgba(255,59,48,.06), rgba(255,100,50,.02)) !important; }
.bt-desk-verdict[data-tone="neutral"] { border-color: rgba(255,184,0,.15) !important; background: linear-gradient(135deg, rgba(255,184,0,.04), transparent) !important; }
.bt-desk-panel-label {
    font-family: var(--bt-font-mono, monospace);
    font-size: 9.5px !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    color: var(--bt-text-4) !important;
    text-transform: uppercase;
}

/* ── Coverage grid cards ─────────────────────────────────────────── */
.bt-desk-cov-card {
    background: linear-gradient(135deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.01) 100%) !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    border-radius: 12px !important;
    padding: 20px 22px !important;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    position: relative;
    overflow: hidden;
}
.bt-desk-cov-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 2px;
    background: var(--cov-accent, var(--bt-accent));
    opacity: .7;
}
.bt-desk-cov-card:hover {
    transform: translateY(-3px);
    border-color: rgba(255,255,255,.13) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.25);
}

/* ── Desk notes rows ─────────────────────────────────────────────── */
.bt-desk-note {
    background: rgba(255,255,255,.02) !important;
    border: 1px solid rgba(255,255,255,.06) !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    margin-bottom: 10px !important;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.bt-desk-note:hover {
    background: rgba(255,255,255,.04) !important;
    border-color: rgba(255,255,255,.11) !important;
    transform: translateX(3px);
}

/* ── Signal chips on analysis desk ──────────────────────────────── */
.bt-desk-signal {
    background: rgba(255,255,255,.03);
    border-radius: 8px;
}
.bt-desk-signal-bull { border-left: 2px solid var(--bt-accent); }
.bt-desk-signal-bear { border-left: 2px solid var(--bt-danger); }

/* ═══════════════════════════════════════════════════════════════════
   v95 — Per-Asset Pages · Footer · Hero Animation · Mobile Polish
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. HERO — animated gradient orbs ────────────────────────────── */
@keyframes bt-orb-drift-1 {
    0%,100% { transform: translate(0,0) scale(1); }
    33%      { transform: translate(30px,-20px) scale(1.08); }
    66%      { transform: translate(-20px,15px) scale(.95); }
}
@keyframes bt-orb-drift-2 {
    0%,100% { transform: translate(0,0) scale(1); }
    33%      { transform: translate(-25px,20px) scale(.92); }
    66%      { transform: translate(20px,-10px) scale(1.06); }
}
@keyframes bt-orb-drift-3 {
    0%,100% { transform: translate(0,0) scale(1); }
    50%      { transform: translate(15px,25px) scale(1.1); }
}
.bt-h84-hero::before {
    background:
        radial-gradient(ellipse 55% 60% at 20% 50%, rgba(0,255,102,.10) 0%, transparent 65%),
        radial-gradient(ellipse 40% 50% at 80% 20%, rgba(0,255,102,.08) 0%, transparent 65%),
        radial-gradient(ellipse 30% 40% at 55% 85%, rgba(167,139,250,.06) 0%, transparent 60%) !important;
    animation: bt-orb-drift-1 12s ease-in-out infinite;
}
/* Second orb layer via box-shadow trick on the hero wrapper */
.bt-h84-hero-inner::before {
    content: '';
    position: absolute;
    width: 600px; height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,255,102,.05) 0%, transparent 70%);
    top: -200px; right: -100px;
    pointer-events: none;
    animation: bt-orb-drift-2 16s ease-in-out infinite;
    z-index: 0;
}
.bt-h84-hero-inner { position: relative; }
/* Subtle dot-grid overlay on hero */
.bt-h84-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 32px 32px;
    pointer-events: none;
    opacity: .35;
    mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
}

/* ── 2. PER-ASSET PAGES — visual upgrade ─────────────────────────── */
.bt-av-wrap {
    background: linear-gradient(180deg, rgba(0,255,102,.03) 0%, transparent 280px) !important;
}
.bt-av-deskhead {
    background: linear-gradient(135deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.015) 100%);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    padding: 28px 32px !important;
    margin-bottom: 24px !important;
    position: relative;
    overflow: hidden;
}
.bt-av-deskhead::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, var(--bt-accent), var(--bt-accent));
    opacity: .8;
}
.bt-av-h1 {
    font-size: clamp(2rem, 3.5vw, 3rem) !important;
    background: linear-gradient(135deg, #f1f5f9, #94a3b8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.bt-av-panel {
    background: linear-gradient(135deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.015) 100%) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 14px !important;
    padding: 24px 26px !important;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
    position: relative;
    overflow: hidden;
}
.bt-av-panel:hover {
    border-color: rgba(255,255,255,.14) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0,0,0,.25);
}
.bt-av-big-price {
    font-size: clamp(2.2rem, 4vw, 3.4rem) !important;
    font-weight: 700 !important;
    font-family: var(--bt-font-mono, monospace) !important;
    letter-spacing: -1px;
    color: #f1f5f9 !important;
}
.bt-av-score {
    font-size: clamp(2.4rem, 4vw, 3.6rem) !important;
    font-weight: 800 !important;
    font-family: var(--bt-font-mono, monospace) !important;
    letter-spacing: -2px;
    line-height: 1;
}
.bt-av-tier {
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 8px;
}
/* Signal breakdown rows */
.bt-av-signals {
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 14px;
    padding: 22px 26px;
    margin-bottom: 20px;
}
.bt-av-sec-head {
    font-family: var(--bt-font-mono, monospace) !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    color: var(--bt-text-4) !important;
    text-transform: uppercase !important;
    margin-bottom: 16px;
}
.bt-av-sig-row {
    display: grid;
    grid-template-columns: 160px 1fr auto;
    gap: 10px 16px;
    align-items: start;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,.04);
    transition: background .18s;
    border-radius: 6px;
    padding: 10px 8px;
    margin: 0 -8px;
}
.bt-av-sig-row:last-child { border-bottom: none; }
.bt-av-sig-row:hover { background: rgba(255,255,255,.03); }
.bt-av-sig-name {
    font-family: var(--bt-font-mono, monospace);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #475569;
    text-transform: uppercase;
}
.bt-av-sig-label {
    font-size: 13px;
    font-weight: 600;
}
.bt-av-sig-desc {
    font-size: 12px;
    color: #475569;
    line-height: 1.5;
    grid-column: 2 / -1;
}
/* Related news section */
.bt-av-news {
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 14px;
    padding: 22px 26px;
    margin-bottom: 20px;
}
.bt-av-news-row {
    display: grid;
    grid-template-columns: 80px 1fr 100px;
    gap: 8px 14px;
    padding: 10px 8px;
    margin: 0 -8px;
    border-radius: 6px;
    transition: background .18s;
    border-bottom: 1px solid rgba(255,255,255,.04);
}
.bt-av-news-row:last-child { border-bottom: none; }
.bt-av-news-row:hover { background: rgba(255,255,255,.03); }
.bt-av-news-date {
    font-family: var(--bt-font-mono, monospace);
    font-size: 10px; color: var(--bt-text-4);
}
.bt-av-news-title {
    font-size: 13px; font-weight: 600;
    color: #94a3b8; text-decoration: none;
    line-height: 1.45;
    transition: color .18s;
}
.bt-av-news-title:hover { color: var(--bt-accent); }
.bt-av-news-src {
    font-family: var(--bt-font-mono, monospace);
    font-size: 10px; color: var(--bt-text-4);
    text-align: right;
}
/* Footer methodology / CTA */
.bt-av-footer {
    background: linear-gradient(135deg, rgba(0,255,102,.05), rgba(0,255,102,.03));
    border: 1px solid rgba(0,255,102,.15);
    border-radius: 14px;
    padding: 24px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.bt-av-footer-method p {
    font-size: 12.5px; color: #475569; line-height: 1.6; margin: 6px 0 0;
    max-width: 540px;
}
.bt-av-footer-label {
    font-family: var(--bt-font-mono, monospace);
    font-size: 9.5px; font-weight: 700; letter-spacing: 2px;
    color: var(--bt-accent); text-transform: uppercase;
}
.bt-av-cta-btn {
    display: inline-block;
    background: linear-gradient(135deg, var(--bt-accent), var(--bt-accent));
    color: #000 !important; font-weight: 700; font-size: 13px;
    padding: 10px 22px; border-radius: 8px; text-decoration: none;
    transition: opacity .2s; white-space: nowrap;
}
.bt-av-cta-btn:hover { opacity: .85; }
.bt-av-cta-sec {
    display: inline-block;
    color: var(--bt-text-3) !important; font-size: 13px; font-weight: 600;
    text-decoration: none; padding: 10px 0;
    transition: color .2s;
}
.bt-av-cta-sec:hover { color: var(--bt-accent) !important; }
.bt-av-footer-cta { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
@media (max-width: 640px) {
    .bt-av-sig-row  { grid-template-columns: 1fr; }
    .bt-av-news-row { grid-template-columns: 1fr; }
    .bt-av-footer   { flex-direction: column; align-items: flex-start; }
}

/* ── 3. FOOTER — dark premium upgrade ────────────────────────────── */
.cp-footer {
    background: linear-gradient(180deg, #07090f 0%, #060810 100%) !important;
    border-top: none !important;
    position: relative;
    margin-top: 0 !important;
}
.cp-footer::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(0,255,102,.4) 30%, rgba(0,255,102,.4) 60%, transparent 100%);
}
.cp-footer-inner { padding: 52px 24px 0 !important; }
.cp-footer-col h4 {
    font-size: 10.5px !important;
    letter-spacing: 2px !important;
    color: #e2e8f0 !important;
    text-transform: uppercase !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    margin-bottom: 16px !important;
}
.cp-footer-col a {
    font-size: 13.5px !important;
    color: #475569 !important;
    padding: 5px 0 !important;
    transition: color .18s, padding-left .18s !important;
}
.cp-footer-col a:hover {
    color: var(--bt-accent) !important;
    padding-left: 4px !important;
}
.cp-footer-brand .cp-footer-logo {
    margin-bottom: 14px !important;
}
/* Live status dot in brand column */
.cp-footer-desc::before {
    content: '● LIVE ';
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--bt-accent);
    margin-right: 4px;
}
.cp-footer-bottom {
    border-top: 1px solid rgba(255,255,255,.05) !important;
    padding: 18px 0 20px !important;
    margin-top: 32px !important;
}
.cp-footer-bottom p { color: var(--bt-border) !important; font-size: 12px !important; }

/* ── 4. MOBILE POLISH — all new v91-v94 components ───────────────── */
@media (max-width: 640px) {
    /* Ticker strip */
    .bt-hero-ticker { max-width: 100%; padding: 6px 12px 6px 10px; height: 34px; }
    .bt-hero-ticker-msg { font-size: 11.5px; }

    /* Signal drawer — full width chips */
    .bt-desk-signals-list { gap: 6px; }
    .bt-sig-expandable { padding: 8px 10px; }
    .bt-sig-drawer-meta { gap: 6px; }
    .bt-sig-meta-sep { display: none; }

    /* Premium news */
    .bt-pn-hero { grid-template-columns: 1fr; gap: 16px; }
    .bt-pn-hero-title { font-size: 20px !important; }
    .bt-pn-grid { grid-template-columns: 1fr; gap: 16px; }

    /* Post nav */
    .bt-pn-inner { grid-template-columns: 1fr; }
    .bt-pn-next  { text-align: left; }

    /* Share bar — wrap tightly */
    .bt-share-bar { gap: 6px; padding: 10px 0 16px; }
    .bt-share-btn { min-width: 32px; height: 32px; padding: 0 10px; font-size: 11px; }

    /* TOC */
    .bt-toc { padding: 14px 16px; }

    /* Related verdict card */
    .bt-rv-body { flex-direction: column; align-items: flex-start; }
    .bt-rv-cta { width: 100%; text-align: center; }

    /* Analysis desk */
    .bt-desk-head { padding: 22px 20px !important; }
    .bt-desk-title { font-size: 20px !important; }
}

@media (max-width: 480px) {
    /* Hero headline */
    .bt-h84-headline { font-size: 1.65rem !important; line-height: 1.15 !important; }
    .bt-h84-trust { flex-wrap: wrap; gap: 6px; }
    .bt-h84-trust-div { display: none; }
    .bt-h84-trust-item { padding-right: 12px; }

    /* Blog cards — prevent overflow */
    .bt-bs-card { margin: 0; padding: 0; }
    .bt-bs-grid { gap: 24px 0; grid-template-columns: 1fr; }

    /* Explore ecards on very small screens */
    .bt-h84-ecard { padding: 18px 16px !important; }
    .bt-h84-ecard-icon { width: 44px !important; height: 44px !important; }
}

/* ── v96: API key request card ───────────────────────────────────── */
.bt-api-key-card {
    display: flex;
    align-items: center;
    gap: 20px;
    background: linear-gradient(135deg, rgba(0,255,102,.07) 0%, rgba(0,255,102,.04) 100%);
    border: 1px solid rgba(0,255,102,.22);
    border-radius: 14px;
    padding: 22px 26px;
    margin: 20px 0;
}
.bt-api-key-card-icon {
    font-size: 2rem;
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,255,102,.12);
    border: 1px solid rgba(0,255,102,.2);
    border-radius: 12px;
}
.bt-api-key-card-body { flex: 1; min-width: 0; }
.bt-api-key-card-title {
    font-size: 15px;
    font-weight: 700;
    color: #e2e8f0;
    margin-bottom: 5px;
}
.bt-api-key-card-desc {
    font-size: 13px;
    color: var(--bt-text-3);
    line-height: 1.55;
    margin: 0 0 14px;
}
.bt-api-key-card-btn {
    display: inline-block;
    background: linear-gradient(135deg, var(--bt-accent), var(--bt-accent));
    color: #000 !important;
    font-weight: 700;
    font-size: 13px;
    padding: 9px 22px;
    border-radius: 8px;
    text-decoration: none !important;
    transition: opacity .18s;
    white-space: nowrap;
}
.bt-api-key-card-btn:hover { opacity: .85; }
@media (max-width: 480px) {
    .bt-api-key-card { flex-direction: column; align-items: flex-start; }
    .bt-api-key-card-btn { width: 100%; text-align: center; }
}

/* ── v116.0.4: Verdict Archive + Market Analysis contrast improvements ── */
.bt-arc-wrap {
  background: #0b0f1a;
  border: 1px solid #1e2535;
  border-radius: 12px;
  padding: 28px 24px;
}
.bt-arc-row {
  background: #121316;
  border: 1px solid #1a2035;
  border-radius: 8px;
  margin-bottom: 6px;
  padding: 12px 16px;
}
.bt-arc-row:hover { background: #131d2e; border-color: #2a3555; }
.bt-arc-row--today { background: rgba(0,255,102,.06) !important; border-color: rgba(0,255,102,.25) !important; }
.bt-arc-calendar { border: none; display: flex; flex-direction: column; gap: 0; }
.bt-arc-dnum { color: #e2e8f0; font-size: .88rem; font-weight: 700; }
.bt-arc-dow { color: var(--bt-text-3); font-size: .68rem; }
.bt-arc-btc-range { color: #cbd5e1; font-size: .75rem; }
.bt-arc-regime { color: #94a3b8; font-size: .7rem; text-transform: capitalize; }
.bt-arc-tier-badge { font-size: .75rem; padding: 3px 10px; border-radius: 4px; }
.bt-arc-post-link { color: #94a3b8; }
.bt-arc-post-link:hover { color: var(--bt-accent); }
.bt-arc-score { font-size: 1.1rem; }
.bt-arc-section-head {
  font-size: .75rem;
  color: #475569;
  background: transparent;
  border: none;
  padding: 0 0 10px;
  letter-spacing: .06em;
  border-bottom: 1px solid #1e2535;
  margin-bottom: 12px;
}
.bt-arc-stats {
  background: #121316;
  border: 1px solid #1e2535;
  border-radius: 10px;
  overflow: hidden;
}
.bt-arc-stat { border-right: 1px solid #1e2535; }
.bt-arc-stat-num { font-size: 1.8rem; }
.bt-arc-cal-head {
  background: #0d1117;
  border-radius: 8px;
  margin-bottom: 8px;
  border: 1px solid #1e2535;
  padding: 10px 16px;
  color: var(--bt-text-3);
}
.bt-arc-disclosure {
  background: #0d1117;
  border: 1px solid #1e2535;
  border-left: 3px solid var(--bt-accent);
  border-radius: 8px;
  padding: 16px 20px;
  color: var(--bt-text-3);
  font-size: .82rem;
}
.bt-arc-disclosure strong { color: #e2e8f0; }

/* Market analysis desk note cards — improved contrast */
.bt-desk-note {
  background: #121316;
  border: 1px solid #1e2535;
  border-radius: 10px;
  margin-bottom: 8px;
  transition: border-color .2s, background .2s;
}
.bt-desk-note:hover { background: #131d2e; border-color: var(--note-accent, var(--bt-accent)); }
.bt-desk-note-title { color: #e2e8f0 !important; font-size: 17px !important; }
.bt-desk-note-excerpt { color: #94a3b8 !important; }
.bt-desk-note-rubric { color: var(--note-accent, var(--bt-accent)) !important; }
.bt-desk-note-date { background: rgba(255,255,255,.04); border-radius: 8px; }
.bt-desk-note-d-line1 { color: var(--bt-accent) !important; }
.bt-desk-note-d-line2 { color: #e2e8f0 !important; }
.bt-desk-note-d-line3 { color: var(--bt-text-3) !important; }
.bt-desk-notes-list { gap: 8px !important; }
/* ─────────────────────────────────────────────────────────────── */

/* ══════════════════════════════════════════════════════════════════
   v116.0.7  Shared design system — Contact · Editorial · Write for Us · Privacy
   Uses CSS custom properties so it works alongside any theme.
   ══════════════════════════════════════════════════════════════════ */
:root {
  --bt-pp-bg:       #09090b;
  --bt-pp-bg1:      #0f1117;
  --bt-pp-bg2:      #13161e;
  --bt-pp-bg3:      #1a1e28;
  --bt-pp-border:   #1e2535;
  --bt-pp-border2:  #2d3548;
  --bt-pp-text:     #e4e8f1;
  --bt-pp-text2:    #94a3b8;
  --bt-pp-text3:    #64748b;
  --bt-pp-green:    var(--bt-accent);
  --bt-pp-blue:     #3b82f6;
  --bt-pp-purple:   #a78bfa;
  --bt-pp-amber:    var(--bt-accent-warm);
  --bt-pp-red:      #ef4444;
  --bt-pp-font:     -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;
  --bt-pp-mono:     "JetBrains Mono", "Fira Code", monospace;
  --bt-pp-r:        10px;
  --bt-pp-rlg:      14px;
}

/* ── Shell ─────────────────────────────────────────────────────── */
.bt-pp-shell { display: flex; max-width: 1160px; margin: 0 auto; min-height: 80vh; font-family: var(--bt-pp-font); color: var(--bt-pp-text); -webkit-font-smoothing: antialiased; }

/* ── Sidebar ────────────────────────────────────────────────────── */
.bt-pp-sidebar { width: 224px; flex-shrink: 0; padding: 0 0 40px; }
.bt-pp-sidebar-inner { position: sticky; top: 32px; }
.bt-pp-sidebar-logo { padding: 0 16px 24px; font-size: 13px; font-weight: 700; color: var(--bt-pp-text2); display: flex; align-items: center; gap: 6px; }
.bt-pp-sidebar-logo span { color: var(--bt-pp-green); }
.bt-pp-sidebar-label { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bt-pp-text3); padding: 0 16px 8px; }
.bt-pp-nav-link { display: flex; align-items: center; gap: 8px; padding: 7px 16px; font-size: 13px; color: var(--bt-pp-text2); border-left: 2px solid transparent; transition: all .15s; border-radius: 0 6px 6px 0; margin-right: 8px; text-decoration: none; }
.bt-pp-nav-link:hover { color: var(--bt-pp-text); background: var(--bt-pp-bg2); text-decoration: none; }
.bt-pp-nav-link.active { color: var(--bt-pp-green); border-left-color: var(--bt-pp-green); background: rgba(0,255,102,.06); font-weight: 600; }
.bt-pp-nav-dot { width: 5px; height: 5px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.bt-pp-nav-num { font-size: 10px; font-family: var(--bt-pp-mono); color: var(--bt-pp-text3); min-width: 18px; }

/* ── Main ───────────────────────────────────────────────────────── */
.bt-pp-main { flex: 1; padding: 0 48px 80px 32px; min-width: 0; }
.bt-pp-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bt-pp-green); margin-bottom: 10px; }
.bt-pp-title { font-size: clamp(1.9rem,3vw,2.6rem); font-weight: 800; color: var(--bt-pp-text); line-height: 1.12; margin: 0 0 12px; letter-spacing: -.025em; }
.bt-pp-subtitle { font-size: 15px; color: var(--bt-pp-text2); max-width: 520px; line-height: 1.7; margin: 0 0 32px; }
.bt-pp-updated { font-size: 12px; color: var(--bt-pp-text3); margin-bottom: 28px; display: flex; align-items: center; gap: 6px; }
.bt-pp-updated::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--bt-pp-green); display: inline-block; }

/* ── Section ────────────────────────────────────────────────────── */
.bt-pp-section { margin-bottom: 48px; scroll-margin-top: 80px; }
.bt-pp-section-label { font-size: 13px; font-weight: 700; color: var(--bt-pp-text3); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 18px; }
.bt-pp-section-head { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--bt-pp-border); }
.bt-pp-section-num { width: 28px; height: 28px; background: var(--bt-pp-bg3); border: 1px solid var(--bt-pp-border); border-radius: 7px; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: var(--bt-pp-green); font-family: var(--bt-pp-mono); flex-shrink: 0; }
.bt-pp-section-title { font-size: 16px; font-weight: 700; color: var(--bt-pp-text); margin: 0; }

/* ── Notice ─────────────────────────────────────────────────────── */
.bt-pp-notice { display: flex; gap: 12px; align-items: flex-start; background: var(--bt-pp-bg2); border: 1px solid var(--bt-pp-border); border-left: 3px solid var(--bt-pp-green); border-radius: var(--bt-pp-r); padding: 14px 18px; font-size: 13px; color: var(--bt-pp-text2); line-height: 1.6; margin: 10px 0; }
.bt-pp-notice.amber { border-left-color: var(--bt-pp-amber); }
.bt-pp-notice.blue  { border-left-color: var(--bt-pp-blue); }
.bt-pp-notice.red   { border-left-color: var(--bt-pp-red); }
.bt-pp-notice-icon  { font-size: 15px; flex-shrink: 0; margin-top: 1px; }

/* ── Cards ──────────────────────────────────────────────────────── */
.bt-pp-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap: 12px; }
.bt-pp-card { background: var(--bt-pp-bg1); border: 1px solid var(--bt-pp-border); border-radius: var(--bt-pp-rlg); padding: 22px; transition: border-color .2s, transform .2s; }
.bt-pp-card:hover { border-color: var(--bt-pp-border2); transform: translateY(-2px); }
.bt-pp-card-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 18px; margin-bottom: 14px; }
.bt-pp-card h3 { font-size: 14px; font-weight: 700; color: var(--bt-pp-text); margin: 0 0 7px; }
.bt-pp-card p  { font-size: 13px; color: var(--bt-pp-text2); line-height: 1.6; margin: 0; }
.bt-pp-card a  { color: var(--bt-pp-green); }

/* ── Form card ──────────────────────────────────────────────────── */
.bt-pp-form-card { background: var(--bt-pp-bg1); border: 1px solid var(--bt-pp-border); border-radius: var(--bt-pp-rlg); padding: 26px 28px; margin-bottom: 10px; position: relative; overflow: hidden; transition: border-color .2s; }
.bt-pp-form-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at top left, rgba(0,255,102,.05) 0%, transparent 65%); pointer-events: none; }
.bt-pp-form-card:focus-within { border-color: rgba(0,255,102,.3); }
.bt-pp-form-card-label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--bt-pp-text3); margin-bottom: 18px; display: flex; align-items: center; gap: 8px; }
.bt-pp-form-card-label-icon { width: 22px; height: 22px; background: rgba(0,255,102,.1); border: 1px solid rgba(0,255,102,.2); border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 11px; flex-shrink: 0; }
.bt-pp-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bt-pp-field { display: flex; flex-direction: column; gap: 5px; }
.bt-pp-field label { font-size: 12px; font-weight: 600; color: var(--bt-pp-text2); }
.bt-pp-field .req { color: var(--bt-pp-red); margin-left: 2px; }
.bt-pp-field .hint { font-size: 11px; color: var(--bt-pp-text3); margin-top: 4px; }
.bt-pp-field input, .bt-pp-field select, .bt-pp-field textarea { background: var(--bt-pp-bg3); border: 1px solid var(--bt-pp-border2); border-radius: 8px; padding: 10px 14px; color: var(--bt-pp-text); font-size: 14px; font-family: var(--bt-pp-font); outline: none; transition: border-color .15s, box-shadow .15s, background .15s; width: 100%; }
.bt-pp-field input:focus, .bt-pp-field select:focus, .bt-pp-field textarea:focus { border-color: var(--bt-pp-green); box-shadow: 0 0 0 3px rgba(0,255,102,.12); background: var(--bt-pp-bg2); }
.bt-pp-field input::placeholder, .bt-pp-field textarea::placeholder { color: var(--bt-pp-text3); }
.bt-pp-field select option { background: var(--bt-pp-bg2); }
.bt-pp-field textarea { resize: vertical; min-height: 120px; line-height: 1.6; }
.bt-pp-field-full { grid-column: 1 / -1; }

/* ── Dropzone ───────────────────────────────────────────────────── */
.bt-pp-dropzone { border: 2px dashed var(--bt-pp-border2); border-radius: var(--bt-pp-r); padding: 28px; text-align: center; cursor: pointer; transition: all .2s; display: block; }
.bt-pp-dropzone:hover { border-color: var(--bt-pp-green); background: rgba(0,255,102,.03); }
.bt-pp-dropzone.active { border-color: var(--bt-pp-green); background: rgba(0,255,102,.04); }
.bt-pp-dz-icon { font-size: 24px; margin-bottom: 8px; }
.bt-pp-dz-text { font-size: 13px; color: var(--bt-pp-text2); }
.bt-pp-dz-meta { font-size: 11px; color: var(--bt-pp-text3); margin-top: 5px; }

/* ── Form footer ────────────────────────────────────────────────── */
.bt-pp-form-footer { background: var(--bt-pp-bg2); border: 1px solid var(--bt-pp-border); border-radius: var(--bt-pp-rlg); padding: 20px 28px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.bt-pp-form-note { font-size: 12px; color: var(--bt-pp-text3); }
.bt-pp-submit { background: var(--bt-pp-green); color: #09090b; border: none; border-radius: 8px; padding: 11px 22px; font-size: 14px; font-weight: 700; cursor: pointer; font-family: var(--bt-pp-font); transition: background .15s, transform .1s; display: inline-flex; align-items: center; gap: 7px; }
.bt-pp-submit:hover { background: var(--bt-accent); transform: translateY(-1px); }
.bt-pp-submit:disabled { opacity: .5; cursor: not-allowed; transform: none; }

/* ── Stat row ───────────────────────────────────────────────────── */
.bt-pp-stat-row { display: flex; border: 1px solid var(--bt-pp-border); border-radius: var(--bt-pp-rlg); overflow: hidden; background: var(--bt-pp-bg1); margin-bottom: 32px; }
.bt-pp-stat { flex: 1; padding: 18px; text-align: center; border-right: 1px solid var(--bt-pp-border); }
.bt-pp-stat:last-child { border-right: none; }
.bt-pp-stat-num { font-size: 20px; font-weight: 800; color: var(--bt-pp-green); margin-bottom: 4px; }
.bt-pp-stat-lbl { font-size: 11px; color: var(--bt-pp-text3); text-transform: uppercase; letter-spacing: .06em; }

/* ── Steps ──────────────────────────────────────────────────────── */
.bt-pp-steps { display: flex; flex-direction: column; gap: 10px; }
.bt-pp-step { display: flex; gap: 14px; align-items: flex-start; background: var(--bt-pp-bg1); border: 1px solid var(--bt-pp-border); border-radius: var(--bt-pp-r); padding: 16px 18px; transition: border-color .2s; }
.bt-pp-step:hover { border-color: var(--bt-pp-border2); }
.bt-pp-step-num { width: 28px; height: 28px; background: rgba(0,255,102,.1); border: 1px solid rgba(0,255,102,.25); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; color: var(--bt-pp-green); flex-shrink: 0; margin-top: 1px; }
.bt-pp-step h4 { font-size: 14px; font-weight: 700; color: var(--bt-pp-text); margin: 0 0 4px; }
.bt-pp-step p { font-size: 13px; color: var(--bt-pp-text2); line-height: 1.6; margin: 0; }

/* ── Criteria ───────────────────────────────────────────────────── */
.bt-pp-criteria { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px,1fr)); gap: 10px; }
.bt-pp-criterion { background: var(--bt-pp-bg1); border: 1px solid var(--bt-pp-border); border-radius: var(--bt-pp-r); padding: 12px 14px; font-size: 13px; color: var(--bt-pp-text2); display: flex; gap: 8px; align-items: flex-start; }
.bt-pp-criterion-tick { color: var(--bt-pp-green); font-weight: 700; flex-shrink: 0; }

/* ── Rights grid ────────────────────────────────────────────────── */
.bt-pp-rights { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); gap: 10px; max-width: 700px; }
.bt-pp-right { background: var(--bt-pp-bg1); border: 1px solid var(--bt-pp-border); border-radius: var(--bt-pp-r); padding: 12px 14px; font-size: 13px; color: var(--bt-pp-text2); }
.bt-pp-right strong { display: block; color: var(--bt-pp-text); font-size: 13px; margin-bottom: 3px; }

/* ── Prose ──────────────────────────────────────────────────────── */
.bt-pp-prose { max-width: 700px; }
.bt-pp-prose h3 { font-size: 13px; font-weight: 700; color: var(--bt-pp-text2); text-transform: uppercase; letter-spacing: .05em; margin: 18px 0 8px; }
.bt-pp-prose p { font-size: 14px; color: var(--bt-pp-text2); line-height: 1.75; margin-bottom: 8px; }
.bt-pp-prose ul { padding-left: 18px; margin: 6px 0 12px; }
.bt-pp-prose li { font-size: 14px; color: var(--bt-pp-text2); margin: 5px 0; line-height: 1.65; }
.bt-pp-prose strong { color: var(--bt-pp-text); }
.bt-pp-prose a { color: var(--bt-pp-green); }

/* ── Table ──────────────────────────────────────────────────────── */
.bt-pp-table-wrap { border: 1px solid var(--bt-pp-border); border-radius: var(--bt-pp-rlg); overflow: hidden; max-width: 720px; margin: 4px 0 16px; }
.bt-pp-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.bt-pp-table thead th { background: var(--bt-pp-bg2); color: var(--bt-pp-text3); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; padding: 10px 16px; text-align: left; border-bottom: 1px solid var(--bt-pp-border); }
.bt-pp-table tbody td { padding: 12px 16px; color: var(--bt-pp-text2); border-bottom: 1px solid rgba(30,37,53,.7); vertical-align: top; line-height: 1.5; }
.bt-pp-table tbody tr:last-child td { border-bottom: none; }
.bt-pp-table tbody tr:hover td { background: rgba(15,17,23,.6); }
.bt-pp-table td strong { color: var(--bt-pp-text); }
.bt-pp-table code { font-family: var(--bt-pp-mono); font-size: 12px; color: var(--bt-pp-green); background: rgba(0,255,102,.08); padding: 2px 6px; border-radius: 4px; }
.bt-pp-badge { display: inline-block; padding: 2px 9px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.bt-pp-badge-green { background: rgba(0,255,102,.12); color: var(--bt-pp-green); }
.bt-pp-badge-blue  { background: rgba(59,130,246,.12); color: var(--bt-pp-blue); }

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .bt-pp-shell { flex-direction: column; }
  .bt-pp-sidebar { width: 100%; padding: 0 0 16px; }
  .bt-pp-sidebar-inner { position: static; display: flex; gap: 4px; flex-wrap: wrap; padding: 0; }
  .bt-pp-sidebar-label, .bt-pp-sidebar-logo { display: none; }
  .bt-pp-nav-link { border: 1px solid var(--bt-pp-border); border-left: none; border-radius: 20px; padding: 5px 12px; font-size: 12px; margin: 0; }
  .bt-pp-nav-link.active { background: rgba(0,255,102,.1); border-color: var(--bt-pp-green); }
  .bt-pp-nav-dot, .bt-pp-nav-num { display: none; }
  .bt-pp-main { padding: 20px 0 60px; }
  .bt-pp-form-row { grid-template-columns: 1fr; }
  .bt-pp-stat-row { flex-direction: column; }
  .bt-pp-stat { border-right: none; border-bottom: 1px solid var(--bt-pp-border); }
  .bt-pp-stat:last-child { border-bottom: none; }
  .bt-pp-form-footer { flex-direction: column; align-items: flex-start; }
  .bt-pp-table-wrap { overflow-x: auto; }
}

/* ══════════════════════════════════════════════════════════════════
   v116.0.8  Dashboard design system — numbered panels, section headers,
   widget cards, data tables, ticker bar — matching premium fintech UI
   ══════════════════════════════════════════════════════════════════ */

/* ── Dashboard layout shell ─────────────────────────────────────── */
.bt-dash-wrap {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px 64px;
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;
  color: #e4e8f1;
}

/* ── Top ticker bar ──────────────────────────────────────────────── */
.bt-ticker-bar {
  display: flex;
  gap: 0;
  background: #000;
  border-bottom: 1px solid var(--bt-border-2);
  overflow-x: auto;
  scrollbar-width: none;
  padding: 0 8px;
  position: sticky;
  top: 0;
  z-index: 100;
}
.bt-ticker-bar::-webkit-scrollbar { display: none; }
.bt-ticker-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-right: 1px solid #1e2535;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .15s;
  cursor: default;
}
.bt-ticker-item:hover { background: var(--bt-bg-elev); }
.bt-ticker-sym { font-size: 12px; font-weight: 700; color: var(--bt-text-2); font-family: var(--bt-font-mono); }
.bt-ticker-price { font-size: 13px; font-weight: 700; color: var(--bt-text); font-family: var(--bt-font-mono); font-variant-numeric: tabular-nums; }
.bt-ticker-chg { font-size: 12px; font-weight: 600; padding: 2px 6px; border-radius: 4px; }
.bt-ticker-chg.up { color: var(--bt-accent); background: rgba(0,255,102,.08); }
.bt-ticker-chg.dn { color: var(--bt-danger); background: rgba(255,59,48,.08); }

/* ── Panel section header ────────────────────────────────────────── */
.bt-panel-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 0 14px;
  border-bottom: 1px solid var(--bt-border);
  margin-bottom: 16px;
}
.bt-panel-num {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  color: var(--bt-accent);
  font-family: var(--bt-font-mono);
  background: rgba(0,255,102,.06);
  border: 1px solid rgba(0,255,102,.2);
  border-radius: 5px;
  padding: 3px 7px;
}
.bt-panel-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--bt-text-3);
}
.bt-panel-live {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: var(--bt-text-3);
}
.bt-panel-live::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--bt-accent);
  box-shadow: 0 0 6px var(--bt-accent);
  animation: btPulse 2s infinite;
}
@keyframes btPulse { 0%,100% { opacity:1; } 50% { opacity:.4; } }

/* ── Widget card ─────────────────────────────────────────────────── */
.bt-widget {
  background: #0f1117;
  border: 1px solid #1e2535;
  border-radius: 12px;
  overflow: hidden;
  transition: border-color .2s;
}
.bt-widget:hover { border-color: #2d3548; }
.bt-widget-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px 10px;
  border-bottom: 1px solid #1a2030;
}
.bt-widget-title {
  font-size: 13px;
  font-weight: 700;
  color: #e4e8f1;
}
.bt-widget-body { padding: 16px 18px; }
.bt-widget-filter {
  display: flex;
  gap: 4px;
}
.bt-wf-btn {
  padding: 4px 10px;
  border: 1px solid #1e2535;
  border-radius: 6px;
  background: transparent;
  color: var(--bt-text-3);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
  font-family: inherit;
}
.bt-wf-btn.active, .bt-wf-btn:hover { background: rgba(0,255,102,.08); border-color: rgba(0,255,102,.3); color: var(--bt-accent); }

/* ── Price tile ──────────────────────────────────────────────────── */
.bt-price-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
}
.bt-price-tile {
  background: #0f1117;
  border: 1px solid #1e2535;
  border-radius: 10px;
  padding: 16px;
  transition: border-color .2s, transform .15s;
  cursor: pointer;
}
.bt-price-tile:hover { border-color: #2d3548; transform: translateY(-1px); }
.bt-pt-top { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.bt-pt-icon { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.bt-pt-name { font-size: 13px; font-weight: 700; color: #e4e8f1; }
.bt-pt-sym { font-size: 11px; color: var(--bt-text-3); margin-left: 2px; }
.bt-pt-price { font-size: 20px; font-weight: 800; color: #e4e8f1; margin-bottom: 4px; font-family: monospace; }
.bt-pt-chg { font-size: 13px; font-weight: 600; }
.bt-pt-chg.up { color: var(--bt-accent); }
.bt-pt-chg.dn { color: #ef4444; }
.bt-pt-spark { height: 36px; width: 100%; margin-top: 8px; opacity: .7; }

/* ── Data table ──────────────────────────────────────────────────── */
.bt-dt-wrap { overflow-x: auto; }
.bt-dt {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.bt-dt thead th {
  padding: 8px 12px;
  text-align: right;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #475569;
  border-bottom: 1px solid #1e2535;
  white-space: nowrap;
}
.bt-dt thead th:first-child,
.bt-dt thead th:nth-child(2) { text-align: left; }
.bt-dt tbody td {
  padding: 9px 12px;
  text-align: right;
  border-bottom: 1px solid rgba(30,37,53,.6);
  color: #94a3b8;
  font-family: monospace;
  font-size: 12px;
  white-space: nowrap;
}
.bt-dt tbody td:first-child { text-align: center; color: #475569; font-size: 11px; }
.bt-dt tbody td:nth-child(2) { text-align: left; font-family: inherit; }
.bt-dt tbody tr:last-child td { border-bottom: none; }
.bt-dt tbody tr:hover td { background: rgba(15,17,23,.8); }
.bt-dt td strong { color: #e4e8f1; font-family: inherit; }
.bt-dt .up { color: var(--bt-accent); font-weight: 700; }
.bt-dt .dn { color: #ef4444; font-weight: 700; }
.bt-dt .neu { color: var(--bt-text-3); }

/* Coin name cell */
.bt-dt-coin { display: flex; align-items: center; gap: 8px; }
.bt-dt-coin img { width: 22px; height: 22px; border-radius: 50%; }
.bt-dt-coin-name { font-size: 13px; font-weight: 700; color: #e4e8f1; }
.bt-dt-coin-sym { font-size: 11px; color: #475569; margin-left: 4px; }

/* Sparkline SVG in table */
.bt-spark { width: 64px; height: 24px; display: block; margin-left: auto; }

/* ── Market pulse strip ──────────────────────────────────────────── */
.bt-pulse-strip {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
}
.bt-pulse-tile {
  background: #0f1117;
  border: 1px solid #1e2535;
  border-radius: 10px;
  padding: 14px 16px;
}
.bt-pulse-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #475569; margin-bottom: 6px; }
.bt-pulse-val { font-size: 22px; font-weight: 800; color: #e4e8f1; margin-bottom: 3px; font-family: monospace; }
.bt-pulse-chg { font-size: 12px; font-weight: 600; }
.bt-pulse-chg.up { color: var(--bt-accent); }
.bt-pulse-chg.dn { color: #ef4444; }

/* ── Signal rows ─────────────────────────────────────────────────── */
.bt-signal-row {
  display: grid;
  grid-template-columns: 140px 60px 100px 100px 100px 70px 1fr;
  gap: 0;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(30,37,53,.6);
  font-size: 12px;
  transition: background .12s;
}
.bt-signal-row:last-child { border-bottom: none; }
.bt-signal-row:hover { background: rgba(15,17,23,.7); }
.bt-signal-row > * { padding: 0 6px; }
.bt-signal-asset { font-weight: 700; color: #e4e8f1; font-family: monospace; }
.bt-signal-type { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; text-align: center; }
.bt-signal-type.buy { background: rgba(0,255,102,.12); color: var(--bt-accent); }
.bt-signal-type.sell { background: rgba(239,68,68,.12); color: #ef4444; }
.bt-signal-num { color: #94a3b8; font-family: monospace; text-align: right; }
.bt-signal-conf { display: flex; align-items: center; gap: 6px; }
.bt-signal-conf-bar { flex: 1; height: 4px; background: #1e2535; border-radius: 2px; overflow: hidden; }
.bt-signal-conf-fill { height: 100%; background: var(--bt-accent); border-radius: 2px; }
.bt-signal-conf-pct { font-size: 11px; color: var(--bt-accent); min-width: 28px; text-align: right; font-weight: 700; }
.bt-signal-time { font-size: 11px; color: #475569; text-align: right; }

/* ── News card ───────────────────────────────────────────────────── */
.bt-news-list { display: flex; flex-direction: column; gap: 0; }
.bt-news-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid rgba(30,37,53,.6);
  transition: background .12s;
}
.bt-news-row:last-child { border-bottom: none; }
.bt-news-img { width: 56px; height: 42px; border-radius: 6px; object-fit: cover; flex-shrink: 0; background: #1a2030; }
.bt-news-body { flex: 1; min-width: 0; }
.bt-news-src { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #475569; margin-bottom: 4px; }
.bt-news-title { font-size: 13px; font-weight: 600; color: #e4e8f1; line-height: 1.4; text-decoration: none; display: block; }
.bt-news-title:hover { color: var(--bt-accent); }
.bt-news-meta { display: flex; gap: 8px; align-items: center; margin-top: 5px; }
.bt-news-time { font-size: 11px; color: #475569; }
.bt-news-impact { font-size: 10px; font-weight: 700; padding: 1px 6px; border-radius: 3px; }
.bt-news-impact.pos { background: rgba(0,255,102,.1); color: var(--bt-accent); }
.bt-news-impact.neg { background: rgba(239,68,68,.1); color: #ef4444; }
.bt-news-impact.neu { background: rgba(100,116,139,.1); color: var(--bt-text-3); }

/* ── Two-column panel grid ───────────────────────────────────────── */
.bt-panel-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.bt-panel-3col { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.bt-panel-wide { grid-column: 1 / -1; }

/* ── Sentiment donut ─────────────────────────────────────────────── */
.bt-sentiment-row { display: flex; align-items: center; gap: 20px; }
.bt-sentiment-legend { display: flex; flex-direction: column; gap: 8px; }
.bt-sentiment-item { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.bt-sentiment-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.bt-sentiment-lbl { color: #94a3b8; }
.bt-sentiment-pct { font-weight: 700; margin-left: auto; color: #e4e8f1; }

/* ── Heatmap grid ────────────────────────────────────────────────── */
.bt-heatmap { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 4px; }
.bt-heatmap-cell {
  border-radius: 6px;
  padding: 10px 8px;
  text-align: center;
  cursor: pointer;
  transition: opacity .15s, transform .15s;
}
.bt-heatmap-cell:hover { opacity: .85; transform: scale(1.02); }
.bt-heatmap-sym { font-size: 13px; font-weight: 800; color: #fff; }
.bt-heatmap-chg { font-size: 11px; font-weight: 700; color: rgba(255,255,255,.85); margin-top: 3px; }
.bt-heatmap-price { font-size: 10px; color: rgba(255,255,255,.6); margin-top: 2px; font-family: monospace; }

/* ── Gainers / losers table ──────────────────────────────────────── */
.bt-movers-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bt-movers-head { display: flex; justify-content: space-between; align-items: center; padding: 0 0 10px; border-bottom: 1px solid #1e2535; margin-bottom: 4px; }
.bt-movers-label { font-size: 12px; font-weight: 700; }
.bt-movers-label.up { color: var(--bt-accent); }
.bt-movers-label.dn { color: #ef4444; }
.bt-movers-more { font-size: 11px; color: #475569; text-decoration: none; }
.bt-movers-more:hover { color: var(--bt-accent); }

/* ── Economic calendar table ─────────────────────────────────────── */
.bt-cal-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.bt-cal-table th { padding: 8px 10px; text-align: left; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #475569; border-bottom: 1px solid #1e2535; }
.bt-cal-table td { padding: 10px; border-bottom: 1px solid rgba(30,37,53,.6); color: #94a3b8; vertical-align: middle; }
.bt-cal-table tr:last-child td { border-bottom: none; }
.bt-cal-table tr:hover td { background: rgba(15,17,23,.6); }
.bt-cal-impact { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
.bt-cal-impact.high { background: #ef4444; }
.bt-cal-impact.med  { background: var(--bt-accent-warm); }
.bt-cal-impact.low  { background: #64748b; }
.bt-cal-flag { font-size: 16px; }
.bt-cal-event { color: #e4e8f1; font-weight: 600; }
.bt-cal-actual { color: var(--bt-accent); font-weight: 700; font-family: monospace; }
.bt-cal-forecast, .bt-cal-prev { color: var(--bt-text-3); font-family: monospace; }

/* ── Correlation matrix ──────────────────────────────────────────── */
.bt-corr-grid { display: grid; gap: 4px; }
.bt-corr-cell { border-radius: 4px; padding: 8px; text-align: center; font-size: 11px; font-weight: 700; }
.bt-corr-strong-pos { background: rgba(0,255,102,.3); color: var(--bt-accent); }
.bt-corr-weak-pos   { background: rgba(0,255,102,.1); color: #94a3b8; }
.bt-corr-neutral    { background: rgba(100,116,139,.1); color: var(--bt-text-3); }
.bt-corr-weak-neg   { background: rgba(239,68,68,.1); color: #94a3b8; }
.bt-corr-strong-neg { background: rgba(239,68,68,.3); color: #ef4444; }

/* ── View all link ───────────────────────────────────────────────── */
.bt-view-all { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; color: var(--bt-accent); text-decoration: none; padding: 6px 0; }
.bt-view-all:hover { text-decoration: underline; }
.bt-view-all::after { content: "→"; }

/* ── AI insight card ─────────────────────────────────────────────── */
.bt-ai-card {
  background: linear-gradient(135deg, rgba(0,255,102,.06) 0%, rgba(0,255,102,.04) 100%);
  border: 1px solid rgba(0,255,102,.2);
  border-radius: 12px;
  padding: 20px;
}
.bt-ai-card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.bt-ai-card-title { font-size: 14px; font-weight: 700; color: #e4e8f1; }
.bt-ai-verdict { font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 20px; }
.bt-ai-verdict.bull { background: rgba(0,255,102,.15); color: var(--bt-accent); border: 1px solid rgba(0,255,102,.3); }
.bt-ai-verdict.bear { background: rgba(239,68,68,.15); color: #ef4444; border: 1px solid rgba(239,68,68,.3); }
.bt-ai-verdict.neu  { background: rgba(255,184,0,.15); color: var(--bt-accent-warm); border: 1px solid rgba(255,184,0,.3); }
.bt-ai-body { font-size: 13px; color: #94a3b8; line-height: 1.65; margin-bottom: 14px; }
.bt-ai-conf { display: flex; align-items: center; gap: 10px; }
.bt-ai-conf-label { font-size: 11px; color: #475569; }
.bt-ai-conf-bar { flex: 1; height: 6px; background: #1e2535; border-radius: 3px; overflow: hidden; }
.bt-ai-conf-fill { height: 100%; background: linear-gradient(90deg, var(--bt-accent), var(--bt-accent)); border-radius: 3px; transition: width .4s ease; }
.bt-ai-conf-pct { font-size: 13px; font-weight: 800; color: var(--bt-accent); min-width: 36px; text-align: right; }

/* ── Tools page grid ─────────────────────────────────────────────── */
.bt-tools-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.bt-tool-card {
  background: #0f1117;
  border: 1px solid #1e2535;
  border-radius: 12px;
  padding: 20px;
  text-decoration: none;
  transition: border-color .2s, transform .15s;
  display: block;
}
.bt-tool-card:hover { border-color: #2d3548; transform: translateY(-2px); }
.bt-tool-icon { font-size: 24px; margin-bottom: 12px; }
.bt-tool-name { font-size: 15px; font-weight: 700; color: #e4e8f1; margin-bottom: 6px; }
.bt-tool-desc { font-size: 13px; color: var(--bt-text-3); line-height: 1.5; }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .bt-panel-3col { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .bt-dash-wrap { padding: 0 12px 48px; }
  .bt-panel-2col, .bt-panel-3col { grid-template-columns: 1fr; }
  .bt-movers-grid { grid-template-columns: 1fr; }
  .bt-price-tiles { grid-template-columns: 1fr 1fr; }
  .bt-signal-row { grid-template-columns: 1fr 1fr 1fr; }
  .bt-signal-row > *:nth-child(n+4) { display: none; }
}

/* ══════════════════════════════════════════════════════════════════
   v116.0.9  Fixes: forex sentiment btn, tools layout, signals revamp
   ══════════════════════════════════════════════════════════════════ */

/* ── Forex sentiment link bar — force dark regardless of theme ── */
.bt-fxchart-sentiment-link {
  background: #0f1117 !important;
  color: #e4e8f1 !important;
}
.bt-fxchart-sentiment-link strong { color: #e4e8f1 !important; }
.bt-fxchart-sentiment-link p { color: #94a3b8 !important; }
.bt-fxchart-sent-btn {
  background: var(--bt-accent) !important;
  color: #09090b !important;
  font-weight: 700 !important;
}

/* ── Tools widget body — ensure converter doesn't overflow ───── */
.bt-widget-body .fxlm-converter,
.bt-widget-body [class*="converter"],
.bt-widget-body [class*="bt-conv"] {
  max-width: 100% !important;
  width: 100% !important;
}

/* ── Signals page revamp — editorial signal cards ────────────── */
.bt-sig-page-wrap {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Signal card — premium editorial style */
.bt-sig-card {
  background: #0f1117;
  border: 1px solid #1e2535;
  border-radius: 12px;
  padding: 18px 20px;
  margin-bottom: 8px;
  transition: border-color .2s, transform .15s;
  position: relative;
  overflow: hidden;
}
.bt-sig-card::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--sig-accent, var(--bt-accent));
  border-radius: 3px 0 0 3px;
}
.bt-sig-card:hover { border-color: #2d3548; transform: translateX(2px); }

.bt-sig-card-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 10px;
}
.bt-sig-pair {
  font-size: 15px;
  font-weight: 800;
  color: var(--sig-accent, var(--bt-accent));
  font-family: monospace;
  min-width: 80px;
}
.bt-sig-direction {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 4px;
}
.bt-sig-direction.bull { background: rgba(0,255,102,.12); color: var(--bt-accent); border: 1px solid rgba(0,255,102,.2); }
.bt-sig-direction.bear { background: rgba(239,68,68,.12); color: #ef4444; border: 1px solid rgba(239,68,68,.2); }
.bt-sig-direction.neu  { background: rgba(255,184,0,.12); color: var(--bt-accent-warm); border: 1px solid rgba(255,184,0,.2); }

.bt-sig-title {
  font-size: 14px;
  font-weight: 600;
  color: #e4e8f1;
  line-height: 1.4;
  flex: 1;
  text-decoration: none;
  display: block;
}
.bt-sig-title:hover { color: var(--bt-accent); }

.bt-sig-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.bt-sig-source {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #475569;
}
.bt-sig-time { font-size: 11px; color: var(--bt-text-4); }
.bt-sig-disclaimer {
  font-size: 10px;
  color: var(--bt-text-4);
  margin-left: auto;
  font-style: italic;
}

/* Signal page filter row */
.bt-sig-filters {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.bt-sig-filter-btn {
  padding: 6px 14px;
  border: 1px solid #1e2535;
  border-radius: 20px;
  background: transparent;
  color: var(--bt-text-3);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: all .15s;
}
.bt-sig-filter-btn.active,
.bt-sig-filter-btn:hover {
  background: rgba(0,255,102,.08);
  border-color: rgba(0,255,102,.3);
  color: var(--bt-accent);
}

/* Signal source disclaimer banner */
.bt-sig-source-banner {
  background: #0d1117;
  border: 1px solid #1e2535;
  border-left: 3px solid var(--bt-text-4);
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 12px;
  color: #475569;
  line-height: 1.6;
  margin: 16px 0;
}
.bt-sig-source-banner strong { color: var(--bt-text-3); }
.bt-sig-source-banner a { color: #475569; text-decoration: underline; }

/* Track record stat tiles */
.bt-sig-stats {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
  margin-bottom: 20px;
}
.bt-sig-stat {
  background: #0f1117;
  border: 1px solid #1e2535;
  border-radius: 10px;
  padding: 14px;
  text-align: center;
}
.bt-sig-stat-num { font-size: 22px; font-weight: 800; color: var(--bt-accent); margin-bottom: 4px; }
.bt-sig-stat-lbl { font-size: 10px; color: #475569; text-transform: uppercase; letter-spacing: .07em; }

/* ── TradingView widget dark wrapper ──────────────────────────── */
.bt-tv-dark-wrap {
  background: #131722;
  border-radius: 0 0 11px 11px;
  overflow: hidden;
}
.bt-tv-dark-wrap .tradingview-widget-container {
  margin: 0;
}

/* ── Converter widget inside bt-widget-body ───────────────────── */
.bt-widget-body .bt-converter-wrap,
.bt-widget-body .fxlm-converter-outer {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}

/* Panel number reset — all standalone pages */
.bt-panel-head .bt-panel-num { font-variant-numeric: tabular-nums; }

/* ══════════════════════════════════════════════════════════════════
   v117 — TERMINAL DESIGN SYSTEM
   Global utilities: buttons, inputs, eyebrows, section separators,
   LIVE ticker badge, page-header pattern, table refinements.
   All scoped to BlockTicker plugin markup.
   ══════════════════════════════════════════════════════════════════ */

/* ── BUTTONS ──────────────────────────────────────────────────────── */
.bt-btn-primary,
.fxlm-scope .bt-btn-primary,
.bt-h84-ctas .bt-btn-primary {
  background: var(--bt-accent);
  color: #000 !important;
  padding: 12px 22px;
  font: 600 14px/1 var(--bt-font-body);
  border: none;
  border-radius: 0 !important;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background var(--bt-dur-fast);
  letter-spacing: 0;
  white-space: nowrap;
}
/* Primary hover → white (confident, not timid darken) */
.bt-btn-primary:hover { background: #fff !important; color: #000 !important; }

.bt-btn-secondary,
.fxlm-scope .bt-btn-secondary,
.bt-h84-ctas .bt-btn-secondary {
  background: transparent !important;
  color: var(--bt-text) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  padding: 12px 22px;
  font: 500 14px/1 var(--bt-font-body);
  border-radius: 0 !important;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background var(--bt-dur-fast), border-color var(--bt-dur-fast);
  white-space: nowrap;
}
.bt-btn-secondary:hover { background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.35) !important; }

/* ── INPUTS ───────────────────────────────────────────────────────── */
.bt-input,
.fxlm-scope input[type="text"],
.fxlm-scope input[type="email"],
.fxlm-scope input[type="search"],
.fxlm-scope textarea {
  background: #000 !important;
  border: 1px solid var(--bt-border-2) !important;
  padding: 13px 16px !important;
  font: 400 14px/1 var(--bt-font-mono) !important;
  color: var(--bt-text) !important;
  border-radius: 0 !important;
  transition: border-color var(--bt-dur-fast);
  width: 100%;
}
.bt-input:focus,
.fxlm-scope input[type="text"]:focus,
.fxlm-scope input[type="email"]:focus,
.fxlm-scope input[type="search"]:focus {
  outline: none !important;
  border-color: rgba(0,255,102,.6) !important;
  box-shadow: 0 0 0 3px rgba(0,255,102,.06) !important;
}
.bt-input::placeholder,
.fxlm-scope input::placeholder { color: var(--bt-text-4) !important; }

/* ── EYEBROW — mono uppercase label above section titles ──────────── */
.bt-eyebrow {
  font: 400 10px/1 var(--bt-font-mono);
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--bt-text-3);
  margin-bottom: 10px;
  display: block;
}
.bt-eyebrow-green { color: var(--bt-accent) !important; }

/* ── PAGE HEADER — breadcrumb eyebrow + display title ─────────────── */
.bt-page-header { margin-bottom: 36px; }
.bt-page-header .bt-eyebrow { margin-bottom: 12px; }
.bt-page-header h1 {
  font-family: var(--bt-font-display) !important;
  font-weight: 700;
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--bt-text);
  margin: 0 0 12px;
}
.bt-page-header p {
  color: var(--bt-text-2);
  font-size: .95rem;
  margin: 0;
  max-width: 600px;
}

/* ── SECTION SEPARATOR ────────────────────────────────────────────── */
/* Sections should use border-top/bottom, not margin whitespace */
.bt-section {
  border-top: 1px solid var(--bt-border-2);
  padding: 56px 0;
}
.bt-section-inner {
  max-width: var(--bt-container, 1400px);
  margin: 0 auto;
  padding: 0 32px;
}

/* ── LIVE TICKER BADGE ────────────────────────────────────────────── */
/* Used in the site-level ticker bar shortcode */
.fxlm-ticker-live,
.bt-live-badge {
  background: var(--bt-accent) !important;
  color: #000 !important;
  height: 100%;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 700 10px/1 var(--bt-font-mono);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  flex-shrink: 0;
}
.fxlm-ticker-live::before,
.bt-live-badge::before {
  content: "";
  width: 5px; height: 5px;
  background: #000;
  border-radius: 50%;
  animation: bt-live-pulse 1.6s ease-in-out infinite;
}
@keyframes bt-live-pulse {
  0%, 60%, 100% { opacity: 1; }
  65%, 80%      { opacity: 0.2; }
}

/* ── DATA TABLES — terminal treatment ────────────────────────────── */
.bt-scope table,
.fxlm-scope table,
[class*="bt-h84-"] table,
[class*="bt-av-"] table {
  border-collapse: collapse;
  width: 100%;
}
.bt-scope th,
.fxlm-scope th,
[class*="bt-h84-"] th,
[class*="bt-av-"] th {
  font: 700 10px/1 var(--bt-font-mono) !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bt-text-3) !important;
  border-bottom: 1px solid var(--bt-border-2);
  padding: 10px 12px;
  text-align: right;
}
.bt-scope th:first-child,
.fxlm-scope th:first-child,
[class*="bt-h84-"] th:first-child,
[class*="bt-av-"] th:first-child { text-align: left; }
/* No vertical borders */
.bt-scope td,
.fxlm-scope td,
[class*="bt-h84-"] td,
[class*="bt-av-"] td {
  border-right: none !important;
  border-left: none !important;
  border-bottom: 1px solid var(--bt-border);
  padding: 10px 12px;
  font-family: var(--bt-font-mono);
  font-variant-numeric: tabular-nums;
  text-align: right;
  font-size: .82rem;
  color: var(--bt-text);
}
.bt-scope td:first-child,
.fxlm-scope td:first-child { text-align: left; }
/* Row hover */
.bt-scope tbody tr:hover td,
.fxlm-scope tbody tr:hover td,
[class*="bt-h84-"] tbody tr:hover td,
[class*="bt-av-"] tbody tr:hover td {
  background: rgba(255,255,255,.02) !important;
}
/* Color cells */
td.up, .bt-up   { color: var(--bt-accent) !important; }
td.dn, td.down,
.bt-dn, .bt-down { color: var(--bt-danger) !important; }

/* ── NEWSLETTER SECTION ───────────────────────────────────────────── */
.bt-newsletter-section {
  background: var(--bt-bg-elev);
  border-top: 1px solid var(--bt-border-2);
  border-bottom: 1px solid var(--bt-border-2);
  padding: 56px 0;
}
.bt-newsletter-inner {
  max-width: var(--bt-container, 1400px);
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 48px;
  align-items: center;
}
.bt-newsletter-eyebrow {
  font: 400 10px/1 var(--bt-font-mono);
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--bt-accent);
  margin-bottom: 12px;
}
.bt-newsletter-title {
  font-family: var(--bt-font-display) !important;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--bt-text);
  margin: 0 0 8px;
  line-height: 1.1;
}
.bt-newsletter-title em {
  font-style: normal;
  color: var(--bt-accent);
}
.bt-newsletter-sub {
  color: var(--bt-text-2);
  font-size: .88rem;
  margin: 0;
}
.bt-newsletter-form {
  display: flex;
  gap: 0;
}
.bt-newsletter-input {
  flex: 1;
  background: #000 !important;
  border: 1px solid var(--bt-border-2) !important;
  border-right: none !important;
  padding: 14px 16px !important;
  font: 400 14px/1 var(--bt-font-mono) !important;
  color: var(--bt-text) !important;
  border-radius: 0 !important;
}
.bt-newsletter-input:focus {
  outline: none !important;
  border-color: rgba(0,255,102,.5) !important;
}
.bt-newsletter-input::placeholder { color: var(--bt-text-4) !important; }
.bt-newsletter-btn {
  background: var(--bt-accent) !important;
  color: #000 !important;
  border: none !important;
  padding: 14px 22px !important;
  font: 600 13px/1 var(--bt-font-body) !important;
  cursor: pointer;
  border-radius: 0 !important;
  white-space: nowrap;
  transition: background var(--bt-dur-fast);
}
.bt-newsletter-btn:hover { background: #fff !important; }
.bt-newsletter-fine {
  font: 400 10px/1 var(--bt-font-mono);
  letter-spacing: 0.1em;
  color: var(--bt-text-4);
  text-transform: uppercase;
  margin-top: 10px;
}
@media (max-width: 768px) {
  .bt-newsletter-inner { grid-template-columns: 1fr; gap: 24px; padding: 0 20px; }
  .bt-newsletter-section { padding: 40px 0; }
}

/* ── FOOTER REFINEMENTS ───────────────────────────────────────────── */
.bt-footer-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 400 10px/1 var(--bt-font-mono);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--bt-text-3);
  margin-top: 16px;
}
.bt-footer-status::before {
  content: "";
  width: 6px; height: 6px;
  background: var(--bt-accent);
  border-radius: 50%;
  animation: bt-live-pulse 2s ease-in-out infinite;
  flex-shrink: 0;
}
.bt-footer-col-head {
  font: 700 10px/1 var(--bt-font-mono);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bt-text-3);
  margin-bottom: 16px;
}

/* ══════════════════════════════════════════════════════════════════
   END v117 Terminal Design System
   ══════════════════════════════════════════════════════════════════ */

/* ── LOGO TILE — v118 terminal wordmark ─────────────────────────────
   Square neon-green tile with bold "B" + BLOCK (white) TICKER (green).
   Replaces the old gradient-hex logo and 3D PNG icon.
─────────────────────────────────────────────────────────────────── */
.cp-logo-tile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: var(--bt-accent);
    color: #000 !important;
    font-family: var(--bt-font-display) !important;
    font-weight: 900 !important;
    font-size: 16px !important;
    line-height: 1;
    letter-spacing: -0.5px;
    flex-shrink: 0;
    user-select: none;
    border-radius: 0 !important;
}
/* Wordmark beside the tile */
.cp-nav-logo {
    display: flex;
    align-items: center;
    gap: 10px !important;
    text-decoration: none !important;
}
.cp-logo-text {
    font-family: var(--bt-font-display) !important;
    font-weight: 900 !important;
    font-size: 15px !important;
    letter-spacing: 0.04em !important;
    color: var(--bt-text) !important;
    line-height: 1;
}
.cp-logo-accent {
    color: var(--bt-accent) !important;
    -webkit-text-fill-color: var(--bt-accent) !important;
    font-weight: 900 !important;
}
/* Footer logo — same tile, smaller */
.cp-footer-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}
.cp-footer-logo .cp-logo-tile {
    width: 24px;
    height: 24px;
    font-size: 13px !important;
}
.cp-footer-logo .cp-logo-text {
    font-size: 13px !important;
    letter-spacing: 0.06em !important;
}

/* ══════════════════════════════════════════════════════════════════
   v118 — CATEGORY PAGE: Search, Sort, Pagination
   ══════════════════════════════════════════════════════════════════ */
.bt-cat-search-input {
    background: #000 !important;
    border: 1px solid var(--bt-border-2) !important;
    color: var(--bt-text) !important;
    border-radius: 0 !important;
    padding: 8px 14px !important;
    font: 400 12px/1 var(--bt-font-mono) !important;
    outline: none !important;
    width: 200px;
    transition: border-color .15s;
}
.bt-cat-search-input:focus { border-color: rgba(0,255,102,.5) !important; }
.bt-cat-search-input::placeholder { color: var(--bt-text-4) !important; }

/* Sortable column headers */
#bt-cat-tbl th[data-sort],
.bt-cat-table th[data-sort] {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
    transition: color .15s;
}
.bt-cat-table th[data-sort]:hover { color: var(--bt-text) !important; }
.bt-cat-table th[data-sort].sort-active { color: var(--bt-accent) !important; }
.sort-ind { opacity: 0.5; font-size: 9px; }

/* Pagination container */
.bt-cat-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px 0 8px;
    border-top: 1px solid var(--bt-border);
    margin-top: 4px;
}
.bt-pager-info {
    font: 400 11px/1 var(--bt-font-mono);
    color: var(--bt-text-3);
    letter-spacing: .04em;
}
.bt-pager-nav {
    display: flex;
    align-items: center;
    gap: 2px;
}
.bt-pager-btn {
    background: transparent;
    border: 1px solid var(--bt-border-2);
    color: var(--bt-text-2);
    padding: 6px 11px;
    font: 500 12px/1 var(--bt-font-mono);
    cursor: pointer;
    border-radius: 0 !important;
    transition: background .12s, border-color .12s, color .12s;
    white-space: nowrap;
}
.bt-pager-btn:hover:not(:disabled) {
    background: var(--bt-bg-elev-2);
    border-color: rgba(0,255,102,.35);
    color: var(--bt-text);
}
.bt-pager-btn.active {
    background: var(--bt-accent) !important;
    border-color: var(--bt-accent) !important;
    color: #000 !important;
    font-weight: 700;
}
.bt-pager-btn:disabled {
    opacity: .3;
    cursor: not-allowed;
}
.bt-pager-ellipsis {
    color: var(--bt-text-3);
    padding: 0 4px;
    font-family: var(--bt-font-mono);
    font-size: 12px;
}
@media (max-width: 600px) {
    .bt-cat-pager { flex-direction: column; align-items: flex-start; }
    .bt-cat-search-input { width: 100% !important; }
}

/* ══════════════════════════════════════════════════════════════════
   v118 — TradingView Advanced Chart Controls
   Interval buttons, chart type switcher, fullscreen — terminal style
   ══════════════════════════════════════════════════════════════════ */
.bt-chart-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 14px;
    background: var(--bt-bg);
    border-bottom: 1px solid var(--bt-border);
}
.bt-chart-controls-left,
.bt-chart-controls-right {
    display: flex;
    align-items: center;
    gap: 4px;
}
/* Interval buttons */
.bt-chart-interval-btn {
    background: transparent;
    border: 1px solid transparent;
    color: var(--bt-text-2);
    padding: 4px 9px;
    font: 600 11px/1 var(--bt-font-mono);
    cursor: pointer;
    border-radius: 0 !important;
    letter-spacing: .06em;
    transition: all .12s;
}
.bt-chart-interval-btn:hover {
    background: var(--bt-bg-elev);
    color: var(--bt-text);
}
.bt-chart-interval-btn.active {
    background: var(--bt-accent) !important;
    color: #000 !important;
    border-color: var(--bt-accent) !important;
    font-weight: 700;
}
/* Chart type buttons */
.bt-chart-type-btn {
    background: transparent;
    border: 1px solid var(--bt-border);
    color: var(--bt-text-2);
    padding: 4px 8px;
    font: 400 13px/1.2 var(--bt-font-mono);
    cursor: pointer;
    border-radius: 0 !important;
    transition: all .12s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.bt-chart-type-btn:hover {
    background: var(--bt-bg-elev);
    color: var(--bt-text);
}
.bt-chart-type-btn.active {
    border-color: var(--bt-accent);
    color: var(--bt-accent);
    background: rgba(0,255,102,.06);
}
/* Divider between control groups */
.bt-chart-ctrl-sep {
    width: 1px;
    height: 18px;
    background: var(--bt-border-2);
    margin: 0 4px;
    flex-shrink: 0;
}
/* Fullscreen + compare buttons */
.bt-chart-action-btn {
    background: transparent;
    border: 1px solid var(--bt-border);
    color: var(--bt-text-3);
    padding: 4px 9px;
    font: 400 11px/1 var(--bt-font-mono);
    cursor: pointer;
    border-radius: 0 !important;
    letter-spacing: .04em;
    transition: all .12s;
}
.bt-chart-action-btn:hover {
    border-color: var(--bt-border-2);
    color: var(--bt-text);
}
/* Symbol label in chart controls */
.bt-chart-symbol-label {
    font: 700 12px/1 var(--bt-font-mono);
    color: var(--bt-text);
    letter-spacing: .04em;
    padding: 0 6px;
}
/* Wrap containing controls + chart iframe */
.fxlm-chart-wrap {
    background: var(--bt-bg);
    border: 1px solid var(--bt-border);
}

/* ══════════════════════════════════════════════════════════════════
   v118 — Standardised .fxlm-page-header → terminal pattern
   Eyebrow + display title + subtitle
   ══════════════════════════════════════════════════════════════════ */
.fxlm-page-header {
    padding: 36px 0 32px;
    border-bottom: 1px solid var(--bt-border-2);
    margin-bottom: 32px;
}
.fxlm-page-header::before {
    content: attr(data-eyebrow);
    display: block;
    font: 400 10px/1 var(--bt-font-mono);
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--bt-text-3);
    margin-bottom: 12px;
}
.fxlm-page-header h1 {
    font-family: var(--bt-font-display) !important;
    font-weight: 700 !important;
    font-size: clamp(1.75rem, 3.5vw, 2.75rem) !important;
    line-height: 1 !important;
    letter-spacing: -0.03em !important;
    color: var(--bt-text) !important;
    margin: 0 0 12px !important;
}
.fxlm-page-header p {
    color: var(--bt-text-2) !important;
    font-size: .9rem !important;
    margin: 0 !important;
    max-width: 640px;
    line-height: 1.6;
}

/* News tabs — terminal chip style */
.fxlm-tab,
.bt-wf-btn,
.fxlm-news-tabs .fxlm-tab {
    background: transparent !important;
    border: 1px solid var(--bt-border-2) !important;
    color: var(--bt-text-2) !important;
    padding: 6px 14px !important;
    font: 500 12px/1 var(--bt-font-mono) !important;
    letter-spacing: .04em !important;
    cursor: pointer;
    border-radius: 0 !important;
    transition: all .12s !important;
    text-transform: uppercase;
}
.fxlm-tab:hover, .bt-wf-btn:hover {
    background: var(--bt-bg-elev) !important;
    color: var(--bt-text) !important;
    border-color: var(--bt-border-2) !important;
}
.fxlm-tab.active, .bt-wf-btn.active {
    background: var(--bt-accent) !important;
    border-color: var(--bt-accent) !important;
    color: #000 !important;
    font-weight: 700 !important;
}

/* News grid — 2-col layout */
.fxlm-news-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: var(--bt-border);
}
.fxlm-news-grid .fxlm-news-item {
    background: var(--bt-bg-elev);
    flex-direction: column;
    border: none;
}
.fxlm-news-grid .fxlm-news-img {
    width: 100%;
    height: 160px;
    border-radius: 0;
}
@media (max-width: 640px) { .fxlm-news-grid { grid-template-columns: 1fr; } }

/* Panel head — numbered sections */
.bt-panel-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 0 14px;
    border-bottom: 1px solid var(--bt-border-2);
    margin-bottom: 20px;
}
.bt-panel-num {
    font: 700 10px/1 var(--bt-font-mono);
    letter-spacing: .12em;
    color: var(--bt-accent);
    background: rgba(0,255,102,.06);
    padding: 4px 8px;
    border-radius: 0 !important;
    border: 1px solid rgba(0,255,102,.15);
}
.bt-panel-title {
    font: 700 15px/1 var(--bt-font-display);
    color: var(--bt-text);
    letter-spacing: -0.01em;
}
.bt-panel-live {
    font: 400 10px/1 var(--bt-font-mono);
    color: var(--bt-text-3);
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-left: auto;
}

/* Gainers & Losers table — terminal */
.fxlm-gl-table { width: 100%; border-collapse: collapse; }
.fxlm-gl-table th {
    font: 700 10px/1 var(--bt-font-mono) !important;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--bt-text-3) !important;
    border-bottom: 1px solid var(--bt-border-2);
    padding: 10px 14px;
    background: var(--bt-bg);
}
.fxlm-gl-table td {
    border-bottom: 1px solid var(--bt-border);
    padding: 11px 14px;
    font-family: var(--bt-font-mono);
    font-variant-numeric: tabular-nums;
    color: var(--bt-text);
    font-size: .82rem;
    border-right: none !important;
    border-left: none !important;
}
.fxlm-gl-table tr:hover td { background: rgba(255,255,255,.02); }
.fxlm-gl-sym {
    font: 700 11px/1 var(--bt-font-mono) !important;
    color: var(--bt-text-3) !important;
    letter-spacing: .06em;
    display: block;
    margin-top: 2px;
}
.up, .fxlm-up { color: var(--bt-accent) !important; }
.dn, .down, .fxlm-dn { color: var(--bt-danger) !important; }

/* DexScan tab strip — terminal */
.bt-dextab-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--bt-border-2);
    margin-bottom: 24px;
    overflow-x: auto;
    scrollbar-width: none;
}
.bt-dextabs { display: flex; }
.bt-dextab {
    font: 500 12px/1 var(--bt-font-mono) !important;
    color: var(--bt-text-3) !important;
    padding: 12px 18px !important;
    text-decoration: none !important;
    border-bottom: 2px solid transparent;
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: all .15s !important;
    white-space: nowrap;
}
.bt-dextab:hover { color: var(--bt-text) !important; }
.bt-dextab.active {
    color: var(--bt-accent) !important;
    border-bottom-color: var(--bt-accent) !important;
}
.bt-dextab-badge {
    font: 700 9px/1 var(--bt-font-mono);
    color: #000;
    background: var(--bt-accent);
    padding: 2px 5px;
    margin-left: 4px;
    letter-spacing: .05em;
}

/* Forex session cards */
.bt-fxsess-card {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: 0 !important;
    padding: 14px 18px;
    transition: border-color .15s;
}
.bt-fxsess-card.open {
    border-color: rgba(0,255,102,.35) !important;
    background: rgba(0,255,102,.03) !important;
}
.bt-fxsess-city {
    font: 700 12px/1 var(--bt-font-mono);
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--bt-text);
    margin-bottom: 4px;
}
.bt-fxsess-time { font: 400 11px/1 var(--bt-font-mono); color: var(--bt-text-3); margin-bottom: 6px; }
.bt-fxsess-pairs { font: 400 11px/1.4 var(--bt-font-mono); color: var(--bt-text-3); }

/* Signal source banner */
.bt-sig-source-banner {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-left: 3px solid var(--bt-accent-warm);
    padding: 12px 18px;
    font-size: .8rem;
    color: var(--bt-text-2);
    line-height: 1.6;
    margin-bottom: 20px;
}
.bt-sig-source-banner a { color: var(--bt-accent); text-decoration: none; }
.bt-sig-source-banner strong { color: var(--bt-text); }

/* ══════════════════════════════════════════════════════════════════
   v119 — CRITICAL INPUT OVERRIDES
   Force terminal dark bg on ALL inputs — beats Astra white default.
   ══════════════════════════════════════════════════════════════════ */
input[type="text"],
input[type="search"],
input[type="email"],
input[type="number"],
input[type="password"],
textarea,
select {
  background-color: #000 !important;
  color: var(--bt-text) !important;
  border-color: var(--bt-border-2) !important;
  border-radius: 0 !important;
}
input[type="text"]:focus,
input[type="search"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
textarea:focus {
  outline: none !important;
  border-color: rgba(0,255,102,.5) !important;
  box-shadow: 0 0 0 3px rgba(0,255,102,.06) !important;
}
/* Exchange & table search inputs */
.fxlm-wl-search,
.fxlm-exc-search-inp,
#fxlm-cft-search,
#fxlm-exc-search,
.bt-cat-search-input {
  background: #000 !important;
  color: var(--bt-text) !important;
  border: 1px solid var(--bt-border-2) !important;
  border-radius: 0 !important;
  font-family: var(--bt-font-mono) !important;
}
.fxlm-exc-select,
#fxlm-exc-pp {
  background: #000 !important;
  color: var(--bt-text) !important;
  border: 1px solid var(--bt-border-2) !important;
  border-radius: 0 !important;
  font-family: var(--bt-font-mono) !important;
}
/* Price cards — 5-col grid, 2 rows of 5 */
.fxlm-price-cards {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 1px !important;
  background: var(--bt-border) !important;
  margin-bottom: 24px;
}
@media (max-width: 1024px) { .fxlm-price-cards { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 640px)  { .fxlm-price-cards { grid-template-columns: repeat(2, 1fr) !important; } }
.fxlm-price-card,
.fxlm-price-card-link {
  background: var(--bt-bg-elev) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 20px !important;
  transition: background .15s !important;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.fxlm-price-card:hover,
.fxlm-price-card-link:hover { background: var(--bt-bg-elev-2) !important; }
/* DexScan sub-filter buttons — terminal treatment */
.bt-subf-btn,
.bt-timef-btn,
.bt-filter-pill {
  background: transparent !important;
  border: 1px solid var(--bt-border) !important;
  color: var(--bt-text-2) !important;
  border-radius: 0 !important;
  padding: 5px 12px !important;
  font: 500 11px/1 var(--bt-font-mono) !important;
  letter-spacing: .06em !important;
  cursor: pointer;
  transition: all .12s !important;
}
.bt-subf-btn:hover, .bt-timef-btn:hover, .bt-filter-pill:hover {
  background: var(--bt-bg-elev) !important;
  color: var(--bt-text) !important;
}
.bt-subf-btn.active, .bt-timef-btn.active, .bt-filter-pill-active {
  background: var(--bt-accent) !important;
  border-color: var(--bt-accent) !important;
  color: #000 !important;
  font-weight: 700 !important;
}
/* Network chips */
.bt-netchip {
  background: transparent !important;
  border: 1px solid var(--bt-border-2) !important;
  color: var(--bt-text-2) !important;
  border-radius: 0 !important;
  padding: 6px 14px !important;
  font: 500 12px/1 var(--bt-font-mono) !important;
  cursor: pointer;
  transition: all .12s !important;
  white-space: nowrap;
}
.bt-netchip:hover { background: var(--bt-bg-elev) !important; color: var(--bt-text) !important; }
.bt-netchip.active {
  background: var(--bt-accent) !important;
  border-color: var(--bt-accent) !important;
  color: #000 !important;
  font-weight: 700 !important;
}
/* Signal filter buttons */
.bt-sig-filter-btn,
.bt-sig-filters .bt-sig-filter-btn {
  background: transparent !important;
  border: 1px solid var(--bt-border-2) !important;
  color: var(--bt-text-2) !important;
  border-radius: 0 !important;
  padding: 6px 14px !important;
  font: 500 11px/1 var(--bt-font-mono) !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .12s !important;
}
.bt-sig-filter-btn:hover { background: var(--bt-bg-elev) !important; color: var(--bt-text) !important; }
.bt-sig-filter-btn.active {
  background: var(--bt-accent) !important;
  border-color: var(--bt-accent) !important;
  color: #000 !important;
  font-weight: 700 !important;
}
/* Exchange type tabs — terminal style */
.fxlm-exc-tab {
  background: transparent !important;
  border: 1px solid var(--bt-border-2) !important;
  color: var(--bt-text-2) !important;
  border-radius: 0 !important;
  padding: 7px 16px !important;
  font: 600 12px/1 var(--bt-font-mono) !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .12s !important;
}
.fxlm-exc-tab:hover { background: var(--bt-bg-elev) !important; color: var(--bt-text) !important; }
.fxlm-exc-tab.active {
  background: var(--bt-accent) !important;
  border-color: var(--bt-accent) !important;
  color: #000 !important;
  font-weight: 700 !important;
}
/* Crypto table filter buttons (All Coins / Top 100 / DeFi / Layer 1) */
.bt-wf-btn {
  background: transparent !important;
  border: 1px solid var(--bt-border-2) !important;
  color: var(--bt-text-2) !important;
  border-radius: 0 !important;
  padding: 5px 12px !important;
  font: 600 11px/1 var(--bt-font-mono) !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .12s !important;
}
.bt-wf-btn:hover { background: var(--bt-bg-elev) !important; color: var(--bt-text) !important; }
.bt-wf-btn.active {
  background: var(--bt-accent) !important;
  border-color: var(--bt-accent) !important;
  color: #000 !important;
  font-weight: 700 !important;
}

/* ══════════════════════════════════════════════════════════════════
   v119 — PAGE-SPECIFIC UPGRADES
   Financial News filter bar · Forex rates table · GL page
   ══════════════════════════════════════════════════════════════════ */

/* News filter bar — flex row with tabs + live label */
.bt-news-filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin: 20px 0 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--bt-border);
}
.bt-news-tabs {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}
.bt-news-live-label {
    font: 400 10px/1 var(--bt-font-mono);
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--bt-text-3);
}

/* Forex rates table enhancements */
.fxlm-fx-table-wrap { overflow-x: auto; }
.fxlm-fx-table {
    width: 100%;
    border-collapse: collapse;
}
.fxlm-fx-table th {
    font: 700 10px/1 var(--bt-font-mono) !important;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--bt-text-3) !important;
    border-bottom: 1px solid var(--bt-border-2);
    padding: 10px 14px;
    background: var(--bt-bg);
    text-align: right;
    white-space: nowrap;
}
.fxlm-fx-table th:first-child { text-align: left; }
.fxlm-fx-table td {
    border-bottom: 1px solid var(--bt-border);
    padding: 10px 14px;
    font-family: var(--bt-font-mono);
    font-variant-numeric: tabular-nums;
    font-size: .82rem;
    color: var(--bt-text);
    text-align: right;
    border-right: none !important;
    border-left: none !important;
}
.fxlm-fx-table td:first-child { text-align: left; font-weight: 700; }
.fxlm-fx-table tr:hover td { background: rgba(255,255,255,.02); }
.fxlm-fx-pair-label {
    font: 700 13px/1 var(--bt-font-mono);
    letter-spacing: .04em;
    color: var(--bt-text);
}
.fxlm-fx-pair-flag {
    font-size: 14px;
    margin-right: 6px;
}

/* Gainers/Losers sort toggle */
.bt-gl-sort-toggle {
    display: flex;
    gap: 4px;
}
.bt-gl-sort-btn {
    background: transparent !important;
    border: 1px solid var(--bt-border-2) !important;
    color: var(--bt-text-2) !important;
    border-radius: 0 !important;
    padding: 5px 12px !important;
    font: 600 11px/1 var(--bt-font-mono) !important;
    letter-spacing: .08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .12s !important;
}
.bt-gl-sort-btn.active {
    background: var(--bt-accent) !important;
    border-color: var(--bt-accent) !important;
    color: #000 !important;
}

/* bt-panel-2col layout */
.bt-panel-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: var(--bt-border);
    margin-bottom: 24px;
}
.bt-panel-2col > div {
    background: var(--bt-bg-elev);
    padding: 20px;
}
@media (max-width: 768px) {
    .bt-panel-2col { grid-template-columns: 1fr; }
}

/* bt-panel-3col layout */
.bt-panel-3col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--bt-border);
}
.bt-panel-3col > div {
    background: var(--bt-bg-elev);
}
@media (max-width: 900px) {
    .bt-panel-3col { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .bt-panel-3col { grid-template-columns: 1fr; }
}

/* Exchange explainer box — terminal style */
.bt-exch-explainer {
    display: flex;
    gap: 20px;
    padding: 20px 24px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-left: 3px solid var(--bt-accent);
    margin-bottom: 24px;
}
.bt-exch-icon {
    width: 48px;
    height: 48px;
    background: rgba(0,255,102,.06);
    border: 1px solid rgba(0,255,102,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font: 700 18px/1 var(--bt-font-mono);
    color: var(--bt-accent);
    flex-shrink: 0;
    border-radius: 0 !important;
}
.bt-exch-explainer h3 {
    font: 700 14px/1 var(--bt-font-display);
    color: var(--bt-text);
    margin: 0 0 8px;
    letter-spacing: -0.01em;
}
.bt-exch-explainer p {
    font-size: .83rem;
    color: var(--bt-text-2);
    line-height: 1.6;
    margin: 0;
}

/* ══════════════════════════════════════════════════════════════════
   v119 — DEXSCAN HUB CARDS + REMAINING PAGE COMPONENTS
   ══════════════════════════════════════════════════════════════════ */

/* DexScan hub — 6-card grid with colour accent per card */
.bt-dexscan-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--bt-border);
    margin-bottom: 24px;
}
.bt-dex-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 28px 24px;
    background: var(--bt-bg-elev);
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: background .15s;
    border: none;
}
.bt-dex-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: var(--dex-c, var(--bt-accent));
    opacity: 0;
    transition: opacity .2s;
}
.bt-dex-card:hover { background: var(--bt-bg-elev-2); }
.bt-dex-card:hover::before { opacity: 1; }
.bt-dex-ico {
    font-size: 1.5rem;
    line-height: 1;
    width: 40px; height: 40px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(255,255,255,.04);
    border: 1px solid var(--bt-border-2);
    flex-shrink: 0;
}
.bt-dex-card h3 {
    font-family: var(--bt-font-display) !important;
    font-size: .95rem;
    font-weight: 700;
    color: var(--bt-text);
    margin: 0;
    display: flex; align-items: center; gap: 8px;
}
.bt-dex-new {
    font: 700 9px/1 var(--bt-font-mono);
    letter-spacing: .12em;
    text-transform: uppercase;
    background: var(--bt-accent);
    color: #000;
    padding: 2px 6px;
}
.bt-dex-card p {
    font-size: .8rem;
    color: var(--bt-text-2);
    line-height: 1.55;
    margin: 0;
    flex: 1;
}
.bt-dex-cta {
    font: 500 11px/1 var(--bt-font-mono);
    color: var(--dex-c, var(--bt-accent));
    letter-spacing: .04em;
    margin-top: auto;
}
.bt-dex-about {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-left: 3px solid var(--bt-accent);
    padding: 24px 28px;
    margin-top: 8px;
}
.bt-dex-about h2 {
    font-family: var(--bt-font-display) !important;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--bt-text);
    margin: 0 0 12px;
}
.bt-dex-about p {
    color: var(--bt-text-2);
    font-size: .85rem;
    line-height: 1.65;
    margin: 0 0 10px;
}
@media (max-width: 900px)  { .bt-dexscan-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .bt-dexscan-grid { grid-template-columns: 1fr; } }

/* Gainers/Losers toggle */
.bt-gl-toggle {
    display: flex;
    gap: 0;
    background: var(--bt-border);
    padding: 1px;
    margin-bottom: 16px;
}
.bt-gl-toggle-btn {
    flex: 1;
    background: transparent;
    border: none;
    color: var(--bt-text-2);
    padding: 9px 0;
    font: 600 12px/1 var(--bt-font-mono);
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .12s;
    border-radius: 0 !important;
}
.bt-gl-toggle-btn.active {
    background: var(--bt-accent) !important;
    color: #000 !important;
}

/* Token risk badges — flat outline style */
.bt-risk-badge {
    font: 700 9px/1 var(--bt-font-mono);
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 0 !important;
    border: 1px solid;
}
.bt-risk-high   { color: var(--bt-danger);       border-color: rgba(255,59,48,.3);   background: rgba(255,59,48,.06); }
.bt-risk-medium { color: var(--bt-accent-warm);  border-color: rgba(255,184,0,.3);   background: rgba(255,184,0,.06); }
.bt-risk-low    { color: var(--bt-accent);       border-color: rgba(0,255,102,.3);   background: rgba(0,255,102,.06); }
.bt-risk-na     { color: var(--bt-text-4);       border-color: var(--bt-border);     background: transparent; }

/* Audit badge */
.bt-audit-badge {
    font: 700 9px/1 var(--bt-font-mono);
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 0 !important;
    color: var(--bt-accent);
    border: 1px solid rgba(0,255,102,.3);
    background: rgba(0,255,102,.06);
}

/* Network pill */
.bt-net-pill {
    font: 700 9px/1 var(--bt-font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 0 !important;
    color: var(--bt-text-3);
    border: 1px solid var(--bt-border-2);
    background: transparent;
    white-space: nowrap;
}

/* DexScan token table columns */
.bt-toktable {
    width: 100%;
    border-collapse: collapse;
}
.bt-toktable th {
    font: 700 10px/1 var(--bt-font-mono) !important;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--bt-text-3) !important;
    border-bottom: 1px solid var(--bt-border-2);
    padding: 10px 12px;
    text-align: right;
    background: var(--bt-bg);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    transition: color .12s;
}
.bt-toktable th:first-child { text-align: left; }
.bt-toktable th:hover { color: var(--bt-text) !important; }
.bt-toktable th.sort-active { color: var(--bt-accent) !important; }
.bt-toktable td {
    border-bottom: 1px solid var(--bt-border);
    padding: 10px 12px;
    font-family: var(--bt-font-mono);
    font-variant-numeric: tabular-nums;
    font-size: .8rem;
    color: var(--bt-text);
    text-align: right;
    border-right: none !important;
    border-left: none !important;
}
.bt-toktable td:first-child { text-align: left; }
.bt-toktable tr:hover td { background: rgba(255,255,255,.02); }
.bt-toktable .up { color: var(--bt-accent) !important; }
.bt-toktable .dn, .bt-toktable .down { color: var(--bt-danger) !important; }

/* Token name + icon cell */
.bt-tok-name-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.bt-tok-icon {
    width: 28px; height: 28px;
    border-radius: 50%;
    flex-shrink: 0;
    background: var(--bt-bg-elev-2);
    display: flex; align-items: center; justify-content: center;
    font-size: 11px;
    font-weight: 700;
    color: var(--bt-text-3);
    font-family: var(--bt-font-mono);
    overflow: hidden;
}
.bt-tok-icon img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.bt-tok-sym { font: 700 12px/1 var(--bt-font-mono); color: var(--bt-text); display: block; }
.bt-tok-name-small { font: 400 10px/1 var(--bt-font-mono); color: var(--bt-text-3); display: block; margin-top: 2px; }

/* ── PAGE HEADERS upgrade — data-eyebrow via CSS attr() ──────────── */
/* v119.4 — inline .bt-eyebrow span used instead of data-eyebrow attr */
.fxlm-page-header .bt-eyebrow {
    display: block;
    margin-bottom: 12px;
}

/* ── WIDGET HEAD upgrade — no left border, rely on bg diff ──────── */
.bt-widget {
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    border-radius: 0 !important;
    margin-bottom: 24px;
}
.bt-widget-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid var(--bt-border);
    background: var(--bt-bg);
}
.bt-widget-title {
    font: 700 11px/1 var(--bt-font-mono) !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    color: var(--bt-text) !important;
}
.bt-widget-body { padding: 16px 18px; }
.bt-widget-filter {
    display: flex;
    gap: 4px;
}

/* ── BREADCRUMB — terminal mono ─────────────────────────────────── */
.fxlm-breadcrumbs,
.bt-breadcrumb {
    font: 400 11px/1 var(--bt-font-mono);
    letter-spacing: .04em;
    color: var(--bt-text-3);
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.fxlm-breadcrumbs a,
.bt-breadcrumb a {
    color: var(--bt-text-3);
    text-decoration: none;
    transition: color .15s;
}
.fxlm-breadcrumbs a:hover,
.bt-breadcrumb a:hover { color: var(--bt-accent); }
.fxlm-breadcrumbs span,
.bt-breadcrumb-sep { color: var(--bt-text-4); }

/* ── PANEL LIVE INDICATOR ─────────────────────────────────────────── */
.bt-panel-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 0 14px;
    border-bottom: 1px solid var(--bt-border-2);
    margin-bottom: 20px;
}
.bt-panel-num {
    font: 700 10px/1 var(--bt-font-mono);
    letter-spacing: .12em;
    color: var(--bt-accent);
    background: rgba(0,255,102,.06);
    padding: 4px 8px;
    border: 1px solid rgba(0,255,102,.15);
    border-radius: 0 !important;
}
.bt-panel-title {
    font: 700 15px/1 var(--bt-font-display);
    color: var(--bt-text);
    letter-spacing: -0.01em;
    flex: 1;
}
.bt-panel-live {
    font: 400 10px/1 var(--bt-font-mono);
    color: var(--bt-text-3);
    letter-spacing: .06em;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 6px;
}
.bt-panel-live::before {
    content: "";
    width: 5px; height: 5px;
    border-radius: 50%;
    background: var(--bt-accent);
    animation: bt-live-pulse 2s ease-in-out infinite;
    flex-shrink: 0;
}

/* ── CRYPTO MARKET SECTION — terminal upgrades ──────────────────── */
.bt-dash-wrap {
    max-width: var(--bt-container, 1400px);
    margin: 0 auto;
    padding: 28px 32px 48px;
}
@media (max-width: 768px) { .bt-dash-wrap { padding: 20px 16px 32px; } }

/* Panel head in widget context (no extra margin) */
.bt-widget + .bt-panel-head { margin-top: 28px; }

/* ── SIGNAL-V2 ITEM ─────────────────────────────────────────────── */
.fxlm-signals-v2 {
    display: flex;
    flex-direction: column;
    gap: 1px;
    background: var(--bt-border);
}
.fxlm-signal-v2 {
    display: flex;
    align-items: stretch;
    background: var(--bt-bg-elev);
    text-decoration: none;
    transition: background .12s;
    position: relative;
    overflow: hidden;
    gap: 0;
}
.fxlm-signal-v2:hover { background: var(--bt-bg-elev-2); }
.fxlm-signal-v2-bar {
    width: 3px;
    min-height: 100%;
    flex-shrink: 0;
    background: var(--sig-accent, var(--bt-accent));
}
.fxlm-signal-v2-body {
    flex: 1;
    padding: 13px 16px;
    min-width: 0;
}
.fxlm-signal-v2-title {
    font-size: .85rem;
    font-weight: 600;
    color: var(--bt-text);
    line-height: 1.4;
    margin-bottom: 6px;
}
.fxlm-signal-v2-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.fxlm-signal-v2-source {
    font: 700 9px/1 var(--bt-font-mono);
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 2px 7px;
    border: 1px solid;
    border-radius: 0 !important;
}
.fxlm-signal-v2-sent {
    font: 500 10px/1 var(--bt-font-mono);
    letter-spacing: .04em;
}
.fxlm-signal-v2-time {
    font: 400 10px/1 var(--bt-font-mono);
    color: var(--bt-text-4);
    letter-spacing: .04em;
    margin-left: auto;
}
.fxlm-signal-v2-arrow {
    padding: 0 14px;
    display: flex;
    align-items: center;
    color: var(--bt-text-4);
    font-size: .9rem;
    transition: color .12s, transform .12s;
    flex-shrink: 0;
}
.fxlm-signal-v2:hover .fxlm-signal-v2-arrow {
    color: var(--bt-accent);
    transform: translateX(3px);
}

/* ── SIGNAL FILTERS strip ───────────────────────────────────────── */
.bt-sig-filters {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

/* ══════════════════════════════════════════════════════════════════
   END v119
   ══════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════
   v119.5 — LIVE ticker badge positioning
   Sticky to the left of the scrolling ticker content
   ══════════════════════════════════════════════════════════════════ */
.fxlm-ticker-wrap {
    display: flex !important;
    align-items: center !important;
    position: relative;
    overflow: hidden;
    padding: 0 !important;
    min-height: 40px;
}
.fxlm-ticker-wrap .fxlm-ticker-live {
    flex-shrink: 0;
    position: sticky;
    left: 0;
    z-index: 2;
    height: 40px;
    padding: 0 16px;
    background: var(--bt-accent) !important;
    color: #000 !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font: 700 11px/1 var(--bt-font-mono);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    border-right: 1px solid rgba(0,0,0,0.2);
}
.fxlm-ticker-wrap .fxlm-ticker-live::before {
    content: "";
    width: 6px;
    height: 6px;
    background: #000;
    border-radius: 50%;
    animation: bt-live-pulse 1.4s ease-in-out infinite;
    flex-shrink: 0;
}
.fxlm-ticker-wrap .fxlm-ticker-inner {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}
.fxlm-ticker-wrap .fxlm-ticker-ts {
    flex-shrink: 0;
    padding: 0 14px;
    /* v119.19 fix: was var(--bt-text-3), too dark on dark bg — bump to text-2 + explicit fallback */
    font: 600 11px/1 var(--bt-font-mono);
    color: var(--bt-text-2, #d4d4d4);
    letter-spacing: .04em;
    opacity: .9;
}
@keyframes bt-live-pulse {
    0%, 40%, 100% { opacity: 1; transform: scale(1); }
    20% { opacity: 0.3; transform: scale(0.8); }
}

/* ════════════════════════════════════════════════════════════════════
 * ALERTS SYSTEM — v119.9.0
 * Tabbed hub, modal, contextual button, news alert form, source picker.
 * Uses --bt-* tokens; no hardcoded colors.
 * ════════════════════════════════════════════════════════════════════ */

/* ── Set Alert button (asset-page contextual) ─────────────────────── */
.bt-set-alert-btn {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(0, 255, 102, .08);
    border: 1px solid rgba(0, 255, 102, .25);
    color: var(--bt-accent);
    font: 700 12px/1 var(--bt-font-display, inherit);
    letter-spacing: .02em;
    padding: 6px 12px;
    border-radius: 0;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
    text-transform: uppercase;
}
.bt-set-alert-btn:hover,
.bt-set-alert-btn:focus-visible {
    background: rgba(0, 255, 102, .15);
    border-color: var(--bt-accent);
    color: var(--bt-accent);
    outline: none;
}
.bt-set-alert-btn:focus-visible {
    box-shadow: 0 0 0 2px rgba(0, 255, 102, .3);
}

/* ── Modal ─────────────────────────────────────────────────────────── */
.bt-alert-modal[hidden] { display: none !important; }
.bt-alert-modal {
    position: fixed; inset: 0;
    z-index: 99999;
    display: flex; align-items: center; justify-content: center;
    padding: 20px;
}
.bt-alert-modal-backdrop {
    position: absolute; inset: 0;
    background: rgba(0, 0, 0, .82);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.bt-alert-modal-card {
    position: relative;
    width: 100%;
    max-width: 480px;
    background: var(--bt-bg-elev, #121316);
    border: 1px solid var(--bt-accent);
    border-radius: 0;
    padding: 28px 24px 22px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .8), 0 0 0 1px rgba(0, 255, 102, .15);
    max-height: 92vh;
    overflow-y: auto;
    animation: bt-modal-in .18s ease-out;
}
@keyframes bt-modal-in {
    from { opacity: 0; transform: translateY(8px) scale(.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}
.bt-alert-modal-x {
    position: absolute; top: 8px; right: 12px;
    background: transparent; border: none;
    color: var(--bt-text-3);
    font-size: 28px; line-height: 1;
    cursor: pointer;
    padding: 4px 10px;
    transition: color .15s;
}
.bt-alert-modal-x:hover { color: var(--bt-accent); }
.bt-alert-modal-title {
    font: 900 18px/1.2 var(--bt-font-display, inherit);
    color: var(--bt-text);
    margin: 0 0 4px;
}
.bt-alert-modal-sub {
    font-size: 12px;
    color: var(--bt-text-3);
    margin: 0 0 18px;
    font-family: var(--bt-font-mono, monospace);
}
.bt-alert-modal-submit {
    width: 100%;
    margin-top: 14px;
    justify-content: center;
}
.bt-alert-modal-foot {
    margin: 14px 0 0;
    font-size: 11px;
    color: var(--bt-text-4, var(--bt-text-3));
    text-align: center;
}
.bt-alert-modal-foot a {
    color: var(--bt-accent);
    text-decoration: none;
}
.bt-alert-modal-foot a:hover { text-decoration: underline; }

/* ── Hub: tabs ─────────────────────────────────────────────────────── */
.bt-alert-hub {
    background: var(--bt-bg-elev, #121316);
    border: 1px solid rgba(255, 255, 255, .06);
}
.bt-alert-hub-tabs {
    display: flex;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    background: rgba(0, 0, 0, .2);
}
.bt-alert-hub-tab {
    flex: 1;
    padding: 14px 18px;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--bt-text-3);
    font: 700 12px/1 var(--bt-font-display, inherit);
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: color .15s, border-color .15s, background .15s;
}
.bt-alert-hub-tab:hover {
    color: var(--bt-text);
    background: rgba(255, 255, 255, .03);
}
.bt-alert-hub-tab.is-active {
    color: var(--bt-accent);
    border-bottom-color: var(--bt-accent);
    background: rgba(0, 255, 102, .04);
}
.bt-alert-hub-panel {
    padding: 24px;
}
.bt-alert-hub-panel[hidden] { display: none !important; }

/* ── News alert form ───────────────────────────────────────────────── */
.bt-news-alerts-wrap .bt-alert-row + .bt-alert-row { margin-top: 10px; }
.bt-alert-row-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
@media (max-width: 600px) {
    .bt-alert-row-2col { grid-template-columns: 1fr; }
}
.bt-alert-kw-input {
    width: 100%;
    font-family: var(--bt-font-mono, monospace);
}

/* shared message banner */
.bt-alert-msg {
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: 0;
    font-size: 13px;
    border: 1px solid transparent;
}
.bt-alert-msg-ok {
    background: rgba(0, 255, 102, .08);
    border-color: rgba(0, 255, 102, .25);
    color: var(--bt-accent);
}
.bt-alert-msg-err {
    background: rgba(255, 59, 48, .08);
    border-color: rgba(255, 59, 48, .25);
    color: var(--bt-danger, #ff3b30);
}

.bt-alerts-intro {
    font-size: 13px;
    color: var(--bt-text-3);
    margin: 0 0 18px;
    line-height: 1.5;
}
.bt-alerts-foot {
    font-size: 11px;
    color: var(--bt-text-4, var(--bt-text-3));
    margin: 14px 0 0;
    line-height: 1.5;
}

/* ── Advanced source picker ────────────────────────────────────────── */
.bt-alert-advanced {
    margin-top: 14px;
    border: 1px solid rgba(255, 255, 255, .06);
    padding: 0;
}
.bt-alert-advanced > summary {
    cursor: pointer;
    list-style: none;
    padding: 10px 14px;
    font: 700 11px/1 var(--bt-font-display, inherit);
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--bt-text-3);
    background: rgba(0, 0, 0, .2);
    transition: color .15s, background .15s;
}
.bt-alert-advanced > summary::-webkit-details-marker { display: none; }
.bt-alert-advanced > summary::before {
    content: "▸ ";
    color: var(--bt-accent);
    transition: transform .15s;
    display: inline-block;
}
.bt-alert-advanced[open] > summary::before { content: "▾ "; }
.bt-alert-advanced > summary:hover {
    color: var(--bt-text);
    background: rgba(0, 255, 102, .04);
}
.bt-alert-source-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 6px;
    padding: 14px;
    background: rgba(0, 0, 0, .15);
}
.bt-alert-src-chk {
    display: flex; align-items: center; gap: 8px;
    font-size: 12px;
    color: var(--bt-text-2);
    cursor: pointer;
    padding: 4px 6px;
    transition: color .15s;
}
.bt-alert-src-chk:hover { color: var(--bt-text); }
.bt-alert-src-chk input[type="checkbox"] {
    accent-color: var(--bt-accent);
    width: 14px; height: 14px;
    margin: 0;
    cursor: pointer;
}

/* ════════════════════════════════════════════════════════════════════
 * FORECAST PAGES — v119.10.0
 * Scoped overrides for /forecast/ index + detail pages. Most styling is
 * inline to keep the template self-contained; this file just covers
 * shared verdict pill states and hover transitions.
 * ════════════════════════════════════════════════════════════════════ */

.bt-forecast-card { transition: border-left-color .15s, background .15s; }
.bt-forecast-card:hover {
    border-left-color: var(--bt-accent) !important;
    background: rgba(0, 255, 102, .03) !important;
}

.bt-forecast-verdict {
    display: inline-block;
    text-transform: uppercase;
    border-radius: 0;
    white-space: nowrap;
}
.bt-fv-bullish {
    color: var(--bt-accent) !important;
    border-color: var(--bt-accent) !important;
    background: rgba(0, 255, 102, .08);
}
.bt-fv-bearish {
    color: var(--bt-danger, #ff3b30) !important;
    border-color: var(--bt-danger, #ff3b30) !important;
    background: rgba(255, 59, 48, .08);
}
.bt-fv-neutral {
    color: var(--bt-text-3) !important;
    border-color: rgba(255, 255, 255, .18) !important;
    background: rgba(255, 255, 255, .04);
}

/* Forecast article body — typography rhythm */
.bt-forecast-body h2 {
    font: 900 18px/1.2 var(--bt-font-display, inherit);
    color: var(--bt-text);
    margin: 28px 0 12px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .06);
    letter-spacing: -.3px;
}
.bt-forecast-body h2:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.bt-forecast-body p {
    margin: 0 0 14px;
}
.bt-forecast-body ul {
    margin: 0 0 14px;
    padding-left: 22px;
}
.bt-forecast-body li {
    margin-bottom: 8px;
}
.bt-forecast-body strong { color: var(--bt-text); }

/* Mobile tweak — single column index grid */
@media (max-width: 600px) {
    .bt-forecast-grid { grid-template-columns: 1fr !important; }
}

/* ════════════════════════════════════════════════════════════════════
 * PERFORMANCE / TRACK-RECORD PAGE — v119.11.0
 * /performance/ dashboard + [bt_performance_summary_card] homepage tile.
 * Reads from bt_signal_tracker — pure aggregation, no AI. Trust play.
 * ════════════════════════════════════════════════════════════════════ */

.bt-perf-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 16px 48px;
    color: var(--bt-text);
    font-family: var(--bt-font-body, inherit);
}

/* ── Hero ───────────────────────────────────────────────────────── */
.bt-perf-hero {
    border: 1px solid rgba(255, 255, 255, .08);
    background: linear-gradient(180deg, rgba(0, 255, 102, .035), rgba(255, 255, 255, 0));
    padding: 28px 28px 32px;
    margin-bottom: 28px;
}
.bt-perf-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font: 700 11px/1 var(--bt-font-display, inherit);
    letter-spacing: 1.4px;
    color: var(--bt-accent, #00ff66);
    text-transform: uppercase;
    margin-bottom: 12px;
}
.bt-perf-eyebrow-dot {
    color: var(--bt-accent, #00ff66);
    animation: bt-perf-pulse 2.4s ease-in-out infinite;
}
@keyframes bt-perf-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

.bt-perf-title {
    font: 900 36px/1.05 var(--bt-font-display, inherit);
    color: var(--bt-text);
    margin: 0 0 12px;
    letter-spacing: -1px;
}
.bt-perf-sub {
    font-size: 15px;
    line-height: 1.6;
    color: var(--bt-text-2);
    max-width: 720px;
    margin: 0 0 24px;
}

.bt-perf-empty {
    text-align: center;
    padding: 36px 16px;
    border: 1px dashed rgba(255, 255, 255, .12);
    margin-top: 12px;
}
.bt-perf-empty-icon { font-size: 36px; margin-bottom: 8px; }
.bt-perf-empty h2 { margin: 0 0 8px; font-size: 18px; }
.bt-perf-empty p { color: var(--bt-text-3); max-width: 480px; margin: 0 auto; font-size: 13px; line-height: 1.5; }

/* ── Stat tiles ─────────────────────────────────────────────────── */
.bt-perf-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 1px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .08);
    margin-bottom: 24px;
}
.bt-perf-stat {
    background: var(--bt-bg, #0a0a0a);
    padding: 18px 18px 16px;
}
.bt-perf-stat-primary {
    background: linear-gradient(180deg, rgba(0, 255, 102, .06), rgba(0, 255, 102, .015));
    border-left: 2px solid var(--bt-accent, #00ff66);
}
.bt-perf-stat-lbl {
    font: 700 10px/1 var(--bt-font-display, inherit);
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--bt-text-3);
    margin-bottom: 8px;
}
.bt-perf-stat-val {
    font: 900 30px/1 var(--bt-font-display, inherit);
    color: var(--bt-text);
    letter-spacing: -.5px;
    margin-bottom: 6px;
}
.bt-perf-stat-primary .bt-perf-stat-val { color: var(--bt-accent, #00ff66); }
.bt-perf-stat-meta {
    font-size: 12px;
    color: var(--bt-text-3);
}

/* ── Sparkline ──────────────────────────────────────────────────── */
.bt-perf-spark-wrap {
    border: 1px solid rgba(255, 255, 255, .08);
    padding: 14px 16px 8px;
    background: rgba(255, 255, 255, .015);
}
.bt-perf-spark-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}
.bt-perf-spark-title {
    font: 700 11px/1 var(--bt-font-display, inherit);
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--bt-text-2);
}
.bt-perf-spark-legend {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: 11px;
    color: var(--bt-text-3);
}
.bt-perf-spark-legend > span:not(:first-child) { display: inline-flex; align-items: center; gap: 4px; }
.bt-perf-spark-line, .bt-perf-spark-bar, .bt-perf-spark-ref {
    display: inline-block;
    width: 14px; height: 2px;
    background: var(--bt-accent, #00ff66);
}
.bt-perf-spark-bar { height: 8px; width: 3px; background: rgba(0, 255, 102, .25); }
.bt-perf-spark-ref { background: rgba(255, 255, 255, .25); }
.bt-perf-spark { display: block; width: 100%; height: 60px; }
.bt-perf-spark-empty {
    padding: 14px;
    text-align: center;
    color: var(--bt-text-3);
    font-size: 12px;
}

/* ── Section headings ───────────────────────────────────────────── */
.bt-perf-h2 {
    font: 900 22px/1.1 var(--bt-font-display, inherit);
    color: var(--bt-text);
    margin: 0 0 16px;
    letter-spacing: -.4px;
    display: flex;
    align-items: baseline;
    gap: 12px;
}
.bt-perf-h2-num {
    font-size: 11px;
    font-weight: 700;
    color: var(--bt-accent, #00ff66);
    border: 1px solid var(--bt-accent, #00ff66);
    padding: 3px 7px;
    letter-spacing: 1px;
    flex-shrink: 0;
}
.bt-perf-section { margin-bottom: 36px; }

/* ── Methodology grid ───────────────────────────────────────────── */
.bt-perf-method {
    margin-bottom: 36px;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, .08);
    background: rgba(255, 255, 255, .02);
}
.bt-perf-method-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}
.bt-perf-method-card {
    padding: 14px 16px;
    border-left: 2px solid var(--bt-accent, #00ff66);
    background: rgba(0, 255, 102, .025);
}
.bt-perf-method-num {
    font: 900 18px/1 var(--bt-font-display, inherit);
    color: var(--bt-accent, #00ff66);
    margin-bottom: 6px;
}
.bt-perf-method-card h3 {
    font-size: 14px;
    color: var(--bt-text);
    margin: 0 0 6px;
    font-weight: 700;
}
.bt-perf-method-card p {
    font-size: 13px;
    line-height: 1.55;
    color: var(--bt-text-2);
    margin: 0;
}
.bt-perf-method-foot {
    font-size: 12px;
    line-height: 1.6;
    color: var(--bt-text-3);
    margin: 0;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, .06);
}
.bt-perf-method-foot strong { color: var(--bt-text-2); }

/* ── Tables ─────────────────────────────────────────────────────── */
.bt-perf-table-wrap {
    border: 1px solid rgba(255, 255, 255, .08);
    overflow-x: auto;
}
.bt-perf-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.bt-perf-table thead th {
    background: rgba(255, 255, 255, .04);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    padding: 10px 12px;
    text-align: left;
    font: 700 10px/1.2 var(--bt-font-display, inherit);
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--bt-text-3);
    white-space: nowrap;
}
.bt-perf-table tbody td {
    padding: 11px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .04);
    color: var(--bt-text-2);
}
.bt-perf-table tbody tr:last-child td { border-bottom: none; }
.bt-perf-table tbody tr:hover { background: rgba(255, 255, 255, .015); }
.bt-perf-num { text-align: right; font-variant-numeric: tabular-nums; }
.bt-perf-asset strong { color: var(--bt-text); font-weight: 700; }
.bt-perf-time time { color: var(--bt-text-3); font-size: 12px; }
.bt-perf-foot-note {
    font-size: 11px;
    color: var(--bt-text-3);
    margin: 8px 0 0;
    padding: 0 4px;
}

.bt-perf-wlf .bt-perf-w  { color: var(--bt-accent, #00ff66); font-weight: 700; }
.bt-perf-wlf .bt-perf-l  { color: var(--bt-danger, #ff3b30); font-weight: 700; }
.bt-perf-wlf .bt-perf-f  { color: var(--bt-text-3); }
.bt-perf-wlf .bt-perf-sep { color: rgba(255, 255, 255, .15); margin: 0 4px; }

.bt-perf-rate {
    display: inline-block;
    padding: 2px 8px;
    border: 1px solid;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    min-width: 56px;
    text-align: center;
}
.bt-perf-rate-high { color: var(--bt-accent, #00ff66); border-color: var(--bt-accent, #00ff66); background: rgba(0, 255, 102, .08); }
.bt-perf-rate-mid  { color: #ffcc00;                  border-color: rgba(255, 204, 0, .5); background: rgba(255, 204, 0, .06); }
.bt-perf-rate-low  { color: var(--bt-danger, #ff3b30); border-color: rgba(255, 59, 48, .5); background: rgba(255, 59, 48, .06); }

.bt-perf-dir-bull { color: var(--bt-accent, #00ff66); }
.bt-perf-dir-bear { color: var(--bt-danger, #ff3b30); }
.bt-perf-dir-neutral { color: var(--bt-text-3); }

.bt-perf-pct-pos { color: var(--bt-accent, #00ff66); font-weight: 700; }
.bt-perf-pct-neg { color: var(--bt-danger, #ff3b30); font-weight: 700; }
.bt-perf-pct-flat { color: var(--bt-text-3); }

.bt-perf-outcome {
    display: inline-block;
    padding: 2px 8px;
    border: 1px solid;
    font: 700 11px/1.4 var(--bt-font-display, inherit);
    text-transform: uppercase;
    letter-spacing: .8px;
}
.bt-perf-outcome-win  { color: var(--bt-accent, #00ff66); border-color: var(--bt-accent, #00ff66); background: rgba(0, 255, 102, .08); }
.bt-perf-outcome-loss { color: var(--bt-danger, #ff3b30); border-color: var(--bt-danger, #ff3b30); background: rgba(255, 59, 48, .08); }
.bt-perf-outcome-flat { color: var(--bt-text-3); border-color: rgba(255, 255, 255, .15); background: rgba(255, 255, 255, .02); }

.bt-perf-row-win  { background: linear-gradient(90deg, rgba(0, 255, 102, .03), transparent 30%); }
.bt-perf-row-loss { background: linear-gradient(90deg, rgba(255, 59, 48, .025), transparent 30%); }

/* ── Disclaimer ─────────────────────────────────────────────────── */
.bt-perf-disclaimer {
    margin-top: 32px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 204, 0, .35);
    background: rgba(255, 204, 0, .04);
    font-size: 12px;
    line-height: 1.6;
    color: var(--bt-text-2);
}
.bt-perf-disclaimer strong {
    color: #ffcc00;
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 4px;
    font: 700 11px/1 var(--bt-font-display, inherit);
}

/* ── Compact summary card (homepage embed) ──────────────────────── */
.bt-perf-card {
    border: 1px solid rgba(255, 255, 255, .1);
    padding: 18px 20px;
    background: linear-gradient(180deg, rgba(0, 255, 102, .04), rgba(255, 255, 255, 0));
    margin: 18px 0;
}
.bt-perf-card-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 14px;
    flex-wrap: wrap;
    gap: 6px;
}
.bt-perf-card-eyebrow {
    font: 700 10px/1 var(--bt-font-display, inherit);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--bt-accent, #00ff66);
}
.bt-perf-card-title {
    font: 900 16px/1 var(--bt-font-display, inherit);
    color: var(--bt-text);
}
.bt-perf-card-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: rgba(255, 255, 255, .08);
    margin-bottom: 14px;
}
.bt-perf-card-stat {
    background: var(--bt-bg, #0a0a0a);
    padding: 12px 10px;
    text-align: center;
}
.bt-perf-card-val {
    font: 900 20px/1 var(--bt-font-display, inherit);
    color: var(--bt-accent, #00ff66);
    margin-bottom: 4px;
}
.bt-perf-card-lbl {
    font-size: 10px;
    color: var(--bt-text-3);
    text-transform: uppercase;
    letter-spacing: .8px;
}
.bt-perf-card-cta {
    display: inline-block;
    font: 700 12px/1 var(--bt-font-display, inherit);
    color: var(--bt-accent, #00ff66);
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 2px;
    transition: color .15s;
}
.bt-perf-card-cta:hover { color: var(--bt-text); }
.bt-perf-card-empty {
    padding: 16px 18px;
    border: 1px dashed rgba(255, 255, 255, .12);
    color: var(--bt-text-3);
    font-size: 13px;
    text-align: center;
}

/* ── Mobile ─────────────────────────────────────────────────────── */
@media (max-width: 600px) {
    .bt-perf-title { font-size: 28px; }
    .bt-perf-hero { padding: 20px 18px 22px; }
    .bt-perf-method { padding: 18px; }
    .bt-perf-card-stats { grid-template-columns: repeat(2, 1fr); }
    .bt-perf-stat-val { font-size: 24px; }
    .bt-perf-table thead th, .bt-perf-table tbody td { padding: 9px 8px; font-size: 12px; }
}

/* ════════════════════════════════════════════════════════════════════
 * TOP-N LANDING PAGES — v119.12.0
 * /top/ index + /top/{slug}/ ranked list pages.
 * Commercial-intent SEO landing pages targeting buying-intent queries.
 * ════════════════════════════════════════════════════════════════════ */

.bt-toplist-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 16px 48px;
    color: var(--bt-text);
    font-family: var(--bt-font-body, inherit);
}

/* ── Breadcrumb ─────────────────────────────────────────────────── */
.bt-toplist-crumb {
    font-size: 12px;
    color: var(--bt-text-3);
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.bt-toplist-crumb a {
    color: var(--bt-text-3);
    text-decoration: none;
    transition: color .15s;
}
.bt-toplist-crumb a:hover { color: var(--bt-accent, #00ff66); }
.bt-toplist-crumb-sep { color: rgba(255, 255, 255, .2); }
.bt-toplist-crumb-current { color: var(--bt-text-2); }

/* ── Hero ───────────────────────────────────────────────────────── */
.bt-toplist-hero {
    border: 1px solid rgba(255, 255, 255, .08);
    background: linear-gradient(180deg, rgba(0, 255, 102, .035), rgba(255, 255, 255, 0));
    padding: 28px 28px 32px;
    margin-bottom: 28px;
}
.bt-toplist-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font: 700 11px/1 var(--bt-font-display, inherit);
    letter-spacing: 1.4px;
    color: var(--bt-accent, #00ff66);
    text-transform: uppercase;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.bt-toplist-eyebrow-dot {
    color: var(--bt-accent, #00ff66);
    animation: bt-toplist-pulse 2.4s ease-in-out infinite;
}
.bt-toplist-eyebrow-sep { color: rgba(255, 255, 255, .25); }
@keyframes bt-toplist-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

.bt-toplist-title {
    font: 900 36px/1.05 var(--bt-font-display, inherit);
    color: var(--bt-text);
    margin: 0 0 14px;
    letter-spacing: -1px;
}
.bt-toplist-sub {
    font-size: 15px;
    line-height: 1.65;
    color: var(--bt-text-2);
    max-width: 760px;
    margin: 0;
}

/* ── Section heading ────────────────────────────────────────────── */
.bt-toplist-section { margin-bottom: 36px; }
.bt-toplist-h2 {
    font: 900 22px/1.1 var(--bt-font-display, inherit);
    color: var(--bt-text);
    margin: 0 0 16px;
    letter-spacing: -.4px;
    display: flex;
    align-items: baseline;
    gap: 12px;
}
.bt-toplist-h2-num {
    font-size: 11px;
    font-weight: 700;
    color: var(--bt-accent, #00ff66);
    border: 1px solid var(--bt-accent, #00ff66);
    padding: 3px 7px;
    letter-spacing: 1px;
    flex-shrink: 0;
}

/* ── Index grid (cards) ─────────────────────────────────────────── */
.bt-toplist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}
.bt-toplist-card {
    border: 1px solid rgba(255, 255, 255, .1);
    background: var(--bt-bg, #0a0a0a);
    padding: 18px 18px 16px;
    text-decoration: none;
    color: var(--bt-text);
    display: flex;
    flex-direction: column;
    border-left: 2px solid transparent;
    transition: border-left-color .15s, background .15s, transform .15s;
}
.bt-toplist-card:hover {
    border-left-color: var(--bt-accent, #00ff66);
    background: rgba(0, 255, 102, .03);
    transform: translateY(-1px);
}
.bt-toplist-card-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}
.bt-toplist-card-icon { font-size: 22px; }
.bt-toplist-card-eyebrow {
    font: 700 9px/1 var(--bt-font-display, inherit);
    letter-spacing: 1.2px;
    color: var(--bt-text-3);
    text-transform: uppercase;
}
.bt-toplist-card-title {
    font: 900 16px/1.2 var(--bt-font-display, inherit);
    color: var(--bt-text);
    margin: 0 0 14px;
    letter-spacing: -.3px;
}
.bt-toplist-card-preview {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    font-size: 12px;
    flex: 1;
}
.bt-toplist-card-preview li {
    display: grid;
    grid-template-columns: 18px 38px 1fr auto;
    gap: 6px;
    align-items: center;
    padding: 5px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .04);
}
.bt-toplist-card-preview li:last-child { border-bottom: none; }
.bt-toplist-card-rank {
    font-weight: 700;
    color: var(--bt-text-3);
    font-variant-numeric: tabular-nums;
    text-align: center;
}
.bt-toplist-card-sym {
    font-weight: 700;
    color: var(--bt-text);
}
.bt-toplist-card-name {
    color: var(--bt-text-2);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bt-toplist-card-chg {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    text-align: right;
}
.bt-toplist-card-chg.pos { color: var(--bt-accent, #00ff66); }
.bt-toplist-card-chg.neg { color: var(--bt-danger, #ff3b30); }
.bt-toplist-card-empty {
    font-size: 12px;
    color: var(--bt-text-3);
    margin: 12px 0;
    flex: 1;
}
.bt-toplist-card-cta {
    font: 700 12px/1 var(--bt-font-display, inherit);
    color: var(--bt-accent, #00ff66);
    margin-top: auto;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, .06);
}

/* ── Detail page table ──────────────────────────────────────────── */
.bt-toplist-table-wrap {
    border: 1px solid rgba(255, 255, 255, .08);
    overflow-x: auto;
}
.bt-toplist-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.bt-toplist-table thead th {
    background: rgba(255, 255, 255, .04);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    padding: 11px 12px;
    text-align: left;
    font: 700 10px/1.2 var(--bt-font-display, inherit);
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--bt-text-3);
    white-space: nowrap;
}
.bt-toplist-th-rank { width: 50px; text-align: center !important; }
.bt-toplist-th-actions { width: 100px; }
.bt-toplist-table tbody td {
    padding: 12px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .04);
    color: var(--bt-text-2);
}
.bt-toplist-table tbody tr:last-child td { border-bottom: none; }
.bt-toplist-table tbody tr:hover { background: rgba(255, 255, 255, .015); }
.bt-toplist-num { text-align: right; font-variant-numeric: tabular-nums; }

.bt-toplist-rank {
    text-align: center;
    font: 900 16px/1 var(--bt-font-display, inherit);
    color: var(--bt-text);
}
.bt-toplist-asset-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: var(--bt-text);
    transition: color .15s;
}
.bt-toplist-asset-link:hover { color: var(--bt-accent, #00ff66); }
.bt-toplist-coin-img {
    border-radius: 50%;
    background: rgba(255, 255, 255, .04);
}
.bt-toplist-coin-name { font-weight: 700; }
.bt-toplist-coin-sym {
    color: var(--bt-text-3);
    font-size: 12px;
    text-transform: uppercase;
    margin-left: 2px;
}
.bt-toplist-price { font-weight: 600; color: var(--bt-text); }
.bt-toplist-chg { font-weight: 700; }
.bt-toplist-chg.pos { color: var(--bt-accent, #00ff66); }
.bt-toplist-chg.neg { color: var(--bt-danger, #ff3b30); }
.bt-toplist-actions { text-align: right; }
.bt-toplist-detail-btn {
    font: 700 11px/1 var(--bt-font-display, inherit);
    color: var(--bt-text-3);
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
    transition: color .15s;
    white-space: nowrap;
}
.bt-toplist-detail-btn:hover { color: var(--bt-accent, #00ff66); }

/* ── Methodology ────────────────────────────────────────────────── */
.bt-toplist-method {
    border-left: 2px solid var(--bt-accent, #00ff66);
    background: rgba(0, 255, 102, .03);
    padding: 16px 18px;
}
.bt-toplist-method p {
    font-size: 14px;
    line-height: 1.65;
    color: var(--bt-text-2);
    margin: 0;
}

/* ── FAQs ───────────────────────────────────────────────────────── */
.bt-toplist-faqs { display: flex; flex-direction: column; gap: 1px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .08); }
.bt-toplist-faq { background: var(--bt-bg, #0a0a0a); }
.bt-toplist-faq-q {
    list-style: none;
    cursor: pointer;
    padding: 14px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    font-weight: 700;
    color: var(--bt-text);
    transition: color .15s;
}
.bt-toplist-faq-q::-webkit-details-marker { display: none; }
.bt-toplist-faq-q:hover { color: var(--bt-accent, #00ff66); }
.bt-toplist-faq-q-text { font-size: 14px; line-height: 1.4; }
.bt-toplist-faq-q-icon {
    font: 700 18px/1 var(--bt-font-display, inherit);
    color: var(--bt-text-3);
    transition: transform .2s, color .15s;
    flex-shrink: 0;
}
.bt-toplist-faq[open] .bt-toplist-faq-q-icon { transform: rotate(45deg); color: var(--bt-accent, #00ff66); }
.bt-toplist-faq-a {
    padding: 0 18px 16px;
    font-size: 13px;
    line-height: 1.65;
    color: var(--bt-text-2);
}
.bt-toplist-faq-a p { margin: 0; }

/* ── See also ───────────────────────────────────────────────────── */
.bt-toplist-seealso-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}
.bt-toplist-seealso-card {
    border: 1px solid rgba(255, 255, 255, .08);
    background: var(--bt-bg, #0a0a0a);
    padding: 14px;
    text-decoration: none;
    color: var(--bt-text);
    display: flex;
    flex-direction: column;
    gap: 6px;
    transition: border-color .15s, background .15s;
}
.bt-toplist-seealso-card:hover {
    border-color: var(--bt-accent, #00ff66);
    background: rgba(0, 255, 102, .03);
}
.bt-toplist-seealso-icon { font-size: 18px; }
.bt-toplist-seealso-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--bt-text);
    line-height: 1.3;
}
.bt-toplist-seealso-eyebrow {
    font: 700 9px/1 var(--bt-font-display, inherit);
    letter-spacing: 1.2px;
    color: var(--bt-text-3);
    text-transform: uppercase;
}

/* ── Empty state ────────────────────────────────────────────────── */
.bt-toplist-empty {
    text-align: center;
    padding: 36px 16px;
    border: 1px dashed rgba(255, 255, 255, .12);
    margin-bottom: 24px;
}
.bt-toplist-empty-icon { font-size: 36px; margin-bottom: 8px; }
.bt-toplist-empty h2 { margin: 0 0 8px; font-size: 18px; }
.bt-toplist-empty p { color: var(--bt-text-3); max-width: 480px; margin: 0 auto; font-size: 13px; line-height: 1.5; }

/* ── Disclaimer ─────────────────────────────────────────────────── */
.bt-toplist-disclaimer {
    margin-top: 32px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 204, 0, .35);
    background: rgba(255, 204, 0, .04);
    font-size: 12px;
    line-height: 1.6;
    color: var(--bt-text-2);
}
.bt-toplist-disclaimer strong {
    color: #ffcc00;
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 4px;
    font: 700 11px/1 var(--bt-font-display, inherit);
}

/* ── Mobile ─────────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .bt-toplist-title { font-size: 28px; }
    .bt-toplist-hero { padding: 20px 18px 22px; }
    .bt-toplist-hide-mobile { display: none; }
    .bt-toplist-table thead th, .bt-toplist-table tbody td { padding: 10px 8px; font-size: 12px; }
    .bt-toplist-th-rank { width: 32px; }
    .bt-toplist-th-actions { width: auto; }
    .bt-toplist-coin-name { font-size: 13px; }
    .bt-toplist-detail-btn { font-size: 10px; }
    .bt-toplist-card-preview li { grid-template-columns: 16px 32px 1fr auto; }
}

/* ═══════════════════════════════════════════════════════════════════
   v119.13.0 — TRUST STRIP + COMPLIANCE DISCLAIMER
   Homepage E-E-A-T conversion strip.
   - [bt_trust_strip] grid (2/3/4 columns, mobile single-col)
   - [bt_trust_bar] compact single-line variant
   - [bt_compliance_disclaimer] reusable note block
   ═══════════════════════════════════════════════════════════════════ */

/* ── STRIP CONTAINER ──────────────────────────────────────────────── */
.bt-trust-strip {
    max-width: var(--bt-container);
    margin: 48px auto;
    padding: 0 24px;
}
.bt-trust-strip-tagline {
    text-align: center;
    font: 600 11px/1 var(--bt-font-display, inherit);
    color: var(--bt-text-3);
    text-transform: uppercase;
    letter-spacing: 1.6px;
    margin-bottom: 18px;
}
.bt-trust-strip-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, 1fr);
}
.bt-trust-strip-c2 .bt-trust-strip-grid { grid-template-columns: repeat(2, 1fr); max-width: 720px; margin: 0 auto; }
.bt-trust-strip-c3 .bt-trust-strip-grid { grid-template-columns: repeat(3, 1fr); max-width: 1080px; margin: 0 auto; }
.bt-trust-strip-c4 .bt-trust-strip-grid { grid-template-columns: repeat(4, 1fr); }

/* ── TILE BASE ────────────────────────────────────────────────────── */
.bt-trust-tile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 22px 20px 18px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    text-decoration: none;
    color: var(--bt-text);
    transition: border-color var(--bt-dur, .28s), background var(--bt-dur, .28s), transform var(--bt-dur, .28s);
    min-height: 168px;
    position: relative;
    overflow: hidden;
}
.bt-trust-tile:hover {
    border-color: var(--bt-border-2);
    background: var(--bt-bg-elev-2);
    transform: translateY(-2px);
}
.bt-trust-tile:focus-visible {
    outline: 2px solid var(--bt-accent);
    outline-offset: 2px;
}
.bt-trust-tile-icon {
    font-size: 22px;
    line-height: 1;
    margin-bottom: 2px;
    opacity: .9;
}
.bt-trust-tile-eyebrow {
    font: 700 10px/1 var(--bt-font-display, inherit);
    color: var(--bt-text-3);
    text-transform: uppercase;
    letter-spacing: 1.4px;
}
.bt-trust-tile-headline {
    font: 700 32px/1.05 var(--bt-font-display, inherit);
    color: var(--bt-text);
    margin: 4px 0 2px;
    letter-spacing: -.5px;
}
.bt-trust-tile-headline-sm {
    font: 700 17px/1.25 var(--bt-font-display, inherit);
    color: var(--bt-text);
    margin: 4px 0 0;
}
.bt-trust-tile-sub {
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--bt-text-2);
}
.bt-trust-tile-sub-sm {
    font-size: 11.5px;
    line-height: 1.5;
    color: var(--bt-text-3);
    margin-top: 2px;
}
.bt-trust-tile-cta {
    margin-top: auto;
    padding-top: 10px;
    font: 600 12px/1 var(--bt-font-display, inherit);
    color: var(--bt-accent);
    letter-spacing: .3px;
}

/* ── PERFORMANCE TILE (left accent) ───────────────────────────────── */
.bt-trust-tile-performance::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--bt-accent);
    opacity: .8;
}
.bt-trust-tile-performance .bt-trust-tile-headline {
    color: var(--bt-accent);
}

/* ── TRUSTPILOT TILE ──────────────────────────────────────────────── */
.bt-trust-tile-trustpilot::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #00B67A;
    opacity: .85;
}
.bt-trust-rating-num {
    font: 700 32px/1 var(--bt-font-display, inherit);
    color: var(--bt-text);
}
.bt-trust-rating-max {
    font-size: 14px;
    color: var(--bt-text-3);
    margin-left: 4px;
    font-weight: 500;
}
.bt-trust-stars {
    display: inline-flex;
    gap: 2px;
    margin: 2px 0 4px;
    font-size: 14px;
    line-height: 1;
}
.bt-trust-star-full { color: #00B67A; }
.bt-trust-star-half { color: #00B67A; opacity: .55; }
.bt-trust-star-empty { color: var(--bt-text-4); }

/* ── FEATURED-IN TILE ─────────────────────────────────────────────── */
.bt-trust-tile-featured {
    cursor: default;
}
.bt-trust-tile-featured:hover {
    transform: none;
}
.bt-trust-logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 20px;
    margin-top: 8px;
    width: 100%;
}
.bt-trust-logo-item {
    display: inline-flex;
    align-items: center;
    height: 26px;
    opacity: .68;
    transition: opacity var(--bt-dur-fast, .18s);
}
.bt-trust-logo-item:hover {
    opacity: 1;
}
.bt-trust-logo-item img {
    max-height: 26px;
    max-width: 100px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(1) brightness(1.5);
}
.bt-trust-logo-item:hover img {
    filter: grayscale(0) brightness(1);
}
.bt-trust-logo-static {
    cursor: default;
}

/* ── EDITORIAL TILE ───────────────────────────────────────────────── */
.bt-trust-tile-editorial::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--bt-accent-warm);
    opacity: .7;
}

/* ── COMPACT LAYOUT ───────────────────────────────────────────────── */
.bt-trust-strip-compact .bt-trust-tile {
    min-height: 110px;
    padding: 16px 18px 14px;
}
.bt-trust-strip-compact .bt-trust-tile-eyebrow,
.bt-trust-strip-compact .bt-trust-tile-cta {
    display: none;
}
.bt-trust-strip-compact .bt-trust-tile-headline { font-size: 24px; }
.bt-trust-strip-compact .bt-trust-rating-num { font-size: 24px; }

/* ── TRUST BAR (single-line variant) ──────────────────────────────── */
.bt-trust-bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px 14px;
    padding: 12px 20px;
    background: var(--bt-bg-stripe);
    border-top: 1px solid var(--bt-border);
    border-bottom: 1px solid var(--bt-border);
    font-size: 13px;
    color: var(--bt-text-2);
}
.bt-trust-bar-seg {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--bt-text-2);
    text-decoration: none;
}
.bt-trust-bar-link:hover {
    color: var(--bt-text);
}
.bt-trust-bar-strong {
    color: var(--bt-text);
    font-weight: 700;
    font-family: var(--bt-font-display, inherit);
}
.bt-trust-bar-sep {
    color: var(--bt-text-4);
    user-select: none;
}

/* ── COMPLIANCE DISCLAIMER ────────────────────────────────────────── */
.bt-trust-disc {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 22px;
    margin: 28px 0;
    background: rgba(255, 184, 0, .04);
    border: 1px solid rgba(255, 184, 0, .22);
    border-left: 3px solid var(--bt-accent-warm);
}
.bt-trust-disc-icon {
    font-size: 20px;
    line-height: 1.4;
    flex-shrink: 0;
}
.bt-trust-disc-body {
    flex: 1;
    min-width: 0;
}
.bt-trust-disc-title {
    display: block;
    font: 700 11px/1 var(--bt-font-display, inherit);
    color: var(--bt-accent-warm);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 8px;
}
.bt-trust-disc-body p {
    margin: 0;
    font-size: 13px;
    line-height: 1.65;
    color: var(--bt-text-2);
}
.bt-trust-disc-compact {
    padding: 12px 16px;
    margin: 18px 0;
}
.bt-trust-disc-compact .bt-trust-disc-icon { font-size: 16px; }
.bt-trust-disc-compact .bt-trust-disc-body p { font-size: 12px; }

/* ── MOBILE ───────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .bt-trust-strip-grid,
    .bt-trust-strip-c2 .bt-trust-strip-grid,
    .bt-trust-strip-c3 .bt-trust-strip-grid,
    .bt-trust-strip-c4 .bt-trust-strip-grid {
        grid-template-columns: 1fr;
        max-width: 480px;
    }
    .bt-trust-strip { margin: 32px auto; padding: 0 16px; }
    .bt-trust-tile { min-height: 0; padding: 18px 16px 16px; }
    .bt-trust-tile-headline { font-size: 28px; }
    .bt-trust-rating-num { font-size: 28px; }
    .bt-trust-bar {
        font-size: 12px;
        padding: 10px 16px;
        gap: 6px 10px;
    }
    .bt-trust-disc {
        padding: 14px 16px;
        gap: 10px;
    }
}
@media (max-width: 480px) {
    .bt-trust-bar-sep { display: none; }
    .bt-trust-bar { flex-direction: column; gap: 4px; }
}

/* ═══════════════════════════════════════════════════════════════════
   v119.14.0 — MOBILE UX LAYER
   Activates only at viewports under 768px via the .bt-mux-on flag the
   client script applies to <html>. Desktop is fully untouched.
   - Sticky bottom navigation
   - Asset-page sticky CTA bar
   - Back-to-top FAB
   - PWA prompt coordination override
   ═══════════════════════════════════════════════════════════════════ */

/* ── Defaults: hidden on desktop ──────────────────────────────────── */
.bt-mobile-nav,
.bt-mobile-cta,
.bt-mobile-fab {
    display: none;
}

/* Activate when client script flags the viewport. */
@media (max-width: 768px) {
    .bt-mux-on .bt-mobile-nav { display: block; }
    .bt-mux-on .bt-mobile-cta { display: flex; }
    .bt-mux-on .bt-mobile-fab { display: flex; }
}

/* ── BOTTOM NAV ───────────────────────────────────────────────────── */
.bt-mobile-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9990;
    background: rgba(10, 11, 13, .92);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    border-top: 1px solid var(--bt-border);
    padding: 6px 0 calc(6px + env(safe-area-inset-bottom, 0px));
    transform: translateY(0);
    transition: transform .26s cubic-bezier(.4, 0, .2, 1);
    will-change: transform;
}
.bt-mobile-nav-hidden {
    transform: translateY(110%);
}
.bt-mobile-nav-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}
/* Auto-adjust for any nav item count between 3 and 6 */
.bt-mobile-nav-list:has(.bt-mobile-nav-item:nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
.bt-mobile-nav-list:has(.bt-mobile-nav-item:nth-child(5):last-child) { grid-template-columns: repeat(5, 1fr); }
.bt-mobile-nav-list:has(.bt-mobile-nav-item:nth-child(6):last-child) { grid-template-columns: repeat(6, 1fr); }

.bt-mobile-nav-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 6px 4px;
    text-decoration: none;
    color: var(--bt-text-3);
    transition: color .18s ease;
    -webkit-tap-highlight-color: transparent;
}
.bt-mobile-nav-item a:active {
    color: var(--bt-text);
}
.bt-mobile-nav-active a,
.bt-mobile-nav-item a[aria-current="page"] {
    color: var(--bt-accent);
}
.bt-mobile-nav-active a::before,
.bt-mobile-nav-item a[aria-current="page"]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 2px;
    background: var(--bt-accent);
}
.bt-mobile-nav-item {
    position: relative;
}
.bt-mobile-nav-icon {
    font-size: 20px;
    line-height: 1;
}
.bt-mobile-nav-label {
    font: 500 10px/1.2 var(--bt-font-display, inherit);
    letter-spacing: .2px;
}

/* ── STICKY CTA BAR (asset pages) ─────────────────────────────────── */
.bt-mobile-cta {
    position: fixed;
    left: 0;
    right: 0;
    /* Sit above the bottom nav, with a small gap */
    bottom: calc(58px + env(safe-area-inset-bottom, 0px));
    z-index: 9989;
    padding: 8px 12px;
    gap: 8px;
    background: rgba(18, 19, 22, .96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid var(--bt-border-2);
    transform: translateY(0);
    transition: transform .22s cubic-bezier(.4, 0, .2, 1);
    will-change: transform;
}
.bt-mobile-cta-hidden {
    transform: translateY(110%);
}
.bt-mobile-cta-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 11px 10px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border-2);
    color: var(--bt-text);
    font: 600 13px/1 var(--bt-font-display, inherit);
    cursor: pointer;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease;
    -webkit-tap-highlight-color: transparent;
}
.bt-mobile-cta-btn:active {
    background: var(--bt-bg-elev-2);
    border-color: var(--bt-accent);
}
.bt-mobile-cta-alert {
    background: var(--bt-accent);
    color: #000;
    border-color: var(--bt-accent);
    font-weight: 700;
}
.bt-mobile-cta-alert:active {
    background: var(--bt-accent);
    color: #000;
    opacity: .85;
}
.bt-mobile-cta-active {
    background: var(--bt-accent-warm) !important;
    color: #000 !important;
    border-color: var(--bt-accent-warm) !important;
}
.bt-mobile-cta-icon {
    font-size: 14px;
    line-height: 1;
}

/* ── BACK-TO-TOP FAB ──────────────────────────────────────────────── */
.bt-mobile-fab {
    position: fixed;
    right: 14px;
    /* Sit above the nav (and CTA when present) */
    bottom: calc(70px + env(safe-area-inset-bottom, 0px));
    z-index: 9988;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    background: var(--bt-bg-elev-2);
    border: 1px solid var(--bt-border-2);
    color: var(--bt-text);
    font-size: 20px;
    cursor: pointer;
    box-shadow: var(--bt-shadow-md);
    transition: opacity .2s ease, transform .2s ease;
}
.bt-mobile-fab:active {
    transform: scale(.94);
    background: var(--bt-bg-elev);
}
.bt-mobile-fab[hidden] {
    display: none !important;
}

/* When asset CTA is visible, push the FAB up further to clear it */
@media (max-width: 768px) {
    .bt-mux-on .bt-mobile-cta + .bt-mobile-fab,
    .bt-mux-on body:has(.bt-mobile-cta:not([hidden])) .bt-mobile-fab {
        bottom: calc(132px + env(safe-area-inset-bottom, 0px));
    }
}

/* ── PWA install prompt: lift above bottom nav ────────────────────── */
@media (max-width: 768px) {
    .bt-mux-on #bt-install-prompt.bt-pwa-prompt-above-nav {
        bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* ── BODY PADDING — content must clear the bottom UI ──────────────── */
@media (max-width: 768px) {
    .bt-mux-on body {
        padding-bottom: calc(58px + env(safe-area-inset-bottom, 0px)) !important;
    }
    /* Asset pages need extra clearance for the CTA bar too */
    .bt-mux-on body:has(.bt-mobile-cta) {
        padding-bottom: calc(124px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* ── REDUCED MOTION ───────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .bt-mobile-nav,
    .bt-mobile-cta,
    .bt-mobile-fab {
        transition: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   v119.15.0 — PERSONALIZED DASHBOARD
   Preset-based dashboard layouts with widget composition.
   - .bt-dash root container
   - .bt-dash-presets — top-tab preset switcher
   - .bt-dash-grid — 12-col responsive grid
   - .bt-dash-card[-full|-half|-third] — widget cards
   - .bt-dash-card-locked — sign-in upsell card for anon users
   ═══════════════════════════════════════════════════════════════════ */

/* ── Container ────────────────────────────────────────────────────── */
.bt-dash {
    max-width: var(--bt-container);
    margin: 24px auto 48px;
    padding: 0 24px;
}

/* ── Preset switcher (tab-style) ──────────────────────────────────── */
.bt-dash-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 6px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    margin-bottom: 8px;
}
.bt-dash-preset-btn {
    flex: 1;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    background: transparent;
    border: 1px solid transparent;
    color: var(--bt-text-2);
    font: 600 13px/1 var(--bt-font-display, inherit);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: .4px;
    transition: background var(--bt-dur-fast, .18s),
                color var(--bt-dur-fast, .18s),
                border-color var(--bt-dur-fast, .18s);
}
.bt-dash-preset-btn:hover {
    color: var(--bt-text);
    background: var(--bt-bg-elev-2);
}
.bt-dash-preset-btn:focus-visible {
    outline: 2px solid var(--bt-accent);
    outline-offset: -2px;
}
.bt-dash-preset-active,
.bt-dash-preset-btn[aria-selected="true"] {
    background: var(--bt-bg-elev-2);
    color: var(--bt-text);
    border-color: var(--bt-accent);
    position: relative;
}
.bt-dash-preset-active::before,
.bt-dash-preset-btn[aria-selected="true"]::before {
    content: '';
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: -1px;
    height: 2px;
    background: var(--bt-accent);
}
.bt-dash-preset-icon {
    font-size: 16px;
    line-height: 1;
    text-transform: none;
}
.bt-dash-preset-label {
    font-size: 12px;
    letter-spacing: .6px;
}

/* ── Preset description ───────────────────────────────────────────── */
.bt-dash-preset-desc {
    margin: 14px 0 18px;
    padding: 12px 16px;
    background: rgba(0, 255, 102, .04);
    border-left: 3px solid var(--bt-accent);
    font-size: 13px;
    color: var(--bt-text-2);
    line-height: 1.55;
}

/* ── Card grid (12-col) ───────────────────────────────────────────── */
.bt-dash-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 16px;
}
.bt-dash-card-full  { grid-column: span 12; }
.bt-dash-card-half  { grid-column: span 6; }
.bt-dash-card-third { grid-column: span 4; }

/* ── Card frame ───────────────────────────────────────────────────── */
.bt-dash-card {
    display: flex;
    flex-direction: column;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    overflow: hidden;
    min-height: 180px;
    transition: border-color var(--bt-dur, .28s);
}
.bt-dash-card:hover {
    border-color: var(--bt-border-2);
}
.bt-dash-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--bt-border);
    background: var(--bt-bg-stripe);
}
.bt-dash-card-icon {
    font-size: 16px;
    line-height: 1;
    flex-shrink: 0;
}
.bt-dash-card-title {
    margin: 0;
    font: 700 12px/1 var(--bt-font-display, inherit);
    color: var(--bt-text);
    text-transform: uppercase;
    letter-spacing: 1.2px;
}
.bt-dash-card-body {
    flex: 1;
    padding: 16px 18px;
    min-width: 0;
}
.bt-dash-card-empty {
    padding: 32px 16px;
    text-align: center;
    color: var(--bt-text-3);
    font-size: 13px;
    font-style: italic;
}

/* ── Locked card (sign-in upsell) ─────────────────────────────────── */
.bt-dash-card-locked {
    background: linear-gradient(135deg, var(--bt-bg-elev) 0%, var(--bt-bg-stripe) 100%);
}
.bt-dash-card-locked-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 36px 20px;
    text-align: center;
    gap: 14px;
}
.bt-dash-locked-icon {
    font-size: 32px;
    opacity: .4;
}
.bt-dash-card-locked-body p {
    margin: 0;
    color: var(--bt-text-2);
    font-size: 13px;
    line-height: 1.55;
    max-width: 280px;
}
.bt-dash-locked-cta {
    margin-top: 4px;
    padding: 10px 22px;
    background: var(--bt-accent);
    border: none;
    color: #000;
    font: 700 12px/1 var(--bt-font-display, inherit);
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: opacity .18s ease;
}
.bt-dash-locked-cta:hover {
    opacity: .85;
}

/* ── Tablet ───────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .bt-dash-card-third { grid-column: span 6; }
}

/* ── Mobile ───────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .bt-dash {
        margin: 16px auto 32px;
        padding: 0 14px;
    }
    .bt-dash-presets {
        flex-direction: column;
        gap: 4px;
        padding: 4px;
    }
    .bt-dash-preset-btn {
        flex: 1 1 100%;
        justify-content: flex-start;
        padding: 12px 14px;
    }
    .bt-dash-preset-active::before,
    .bt-dash-preset-btn[aria-selected="true"]::before {
        display: none;
    }
    .bt-dash-grid {
        gap: 12px;
        grid-template-columns: 1fr;
    }
    .bt-dash-card-full,
    .bt-dash-card-half,
    .bt-dash-card-third {
        grid-column: span 1;
    }
    .bt-dash-card { min-height: 0; }
    .bt-dash-card-head { padding: 12px 14px; }
    .bt-dash-card-body { padding: 14px; }
}

/* ── Reduced motion ───────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .bt-dash-preset-btn,
    .bt-dash-card,
    .bt-dash-locked-cta {
        transition: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   v119.16.0 — SAVED SCREENERS
   .bt-screeners root: saved-list + builder + results
   .bt-scr-card: dashboard summary widget
   ═══════════════════════════════════════════════════════════════════ */

.bt-screeners {
    max-width: var(--bt-container);
    margin: 24px auto 48px;
    padding: 0 24px;
}

/* ── Anonymous note ──────────────────────────────────────────────── */
.bt-scr-anon-note {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    margin-bottom: 18px;
    background: rgba(0, 153, 255, .04);
    border: 1px solid rgba(0, 153, 255, .2);
    border-left: 3px solid #0099ff;
    color: var(--bt-text-2);
    font-size: 13px;
    line-height: 1.55;
}
.bt-scr-anon-cta {
    margin-left: auto;
    padding: 8px 16px;
    background: var(--bt-accent);
    border: none;
    color: #000;
    font: 700 11px/1 var(--bt-font-display, inherit);
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
}
.bt-scr-anon-cta:hover { opacity: .85; }

/* ── Saved list ──────────────────────────────────────────────────── */
.bt-scr-saved {
    margin-bottom: 24px;
}
.bt-scr-saved-head {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 10px;
}
.bt-scr-saved-head h2 {
    margin: 0;
    font: 700 12px/1 var(--bt-font-display, inherit);
    color: var(--bt-text);
    text-transform: uppercase;
    letter-spacing: 1.4px;
}
.bt-scr-saved-count {
    font: 600 11px/1 var(--bt-font-mono, monospace);
    color: var(--bt-text-3);
}
.bt-scr-saved-empty {
    margin: 0;
    padding: 14px 16px;
    background: var(--bt-bg-stripe);
    border: 1px dashed var(--bt-border-2);
    color: var(--bt-text-3);
    font-size: 13px;
}
.bt-scr-saved-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.bt-scr-saved-item {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "name del" "meta del";
    align-items: center;
    column-gap: 10px;
    padding: 10px 12px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    transition: border-color .18s ease;
}
.bt-scr-saved-item:hover { border-color: var(--bt-border-2); }
.bt-scr-saved-name {
    grid-area: name;
    color: var(--bt-text);
    font: 600 13px/1.2 var(--bt-font-display, inherit);
    text-decoration: none;
}
.bt-scr-saved-name:hover { color: var(--bt-accent); }
.bt-scr-saved-meta {
    grid-area: meta;
    margin-top: 3px;
    font: 400 11px/1.4 var(--bt-font-mono, monospace);
    color: var(--bt-text-3);
    word-break: break-word;
}
.bt-scr-saved-del {
    grid-area: del;
    width: 26px;
    height: 26px;
    background: transparent;
    border: 1px solid var(--bt-border-2);
    color: var(--bt-text-3);
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    transition: color .18s, border-color .18s;
}
.bt-scr-saved-del:hover { color: var(--bt-danger); border-color: var(--bt-danger); }

/* ── Builder ─────────────────────────────────────────────────────── */
.bt-scr-builder {
    padding: 18px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    margin-bottom: 18px;
}
.bt-scr-builder-head {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}
.bt-scr-builder-head h2 {
    margin: 0;
    font: 700 13px/1 var(--bt-font-display, inherit);
    color: var(--bt-text);
    text-transform: uppercase;
    letter-spacing: 1.4px;
}
.bt-scr-builder-active {
    margin-left: auto;
    padding: 4px 10px;
    background: rgba(0, 255, 102, .1);
    color: var(--bt-accent);
    font: 600 11px/1 var(--bt-font-mono, monospace);
    border: 1px solid rgba(0, 255, 102, .3);
}
.bt-scr-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}
.bt-scr-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.bt-scr-field label {
    font: 600 10px/1.2 var(--bt-font-display, inherit);
    color: var(--bt-text-3);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.bt-scr-field input,
.bt-scr-field select {
    padding: 8px 10px;
    background: var(--bt-bg);
    border: 1px solid var(--bt-border-2);
    color: var(--bt-text);
    font: 500 13px/1.2 var(--bt-font-mono, monospace);
    transition: border-color .18s ease;
}
.bt-scr-field input:focus,
.bt-scr-field select:focus {
    outline: none;
    border-color: var(--bt-accent);
}
.bt-scr-field input::placeholder { color: var(--bt-text-4); }

/* ── Action buttons ──────────────────────────────────────────────── */
.bt-scr-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.bt-scr-btn {
    padding: 10px 18px;
    background: var(--bt-bg);
    border: 1px solid var(--bt-border-2);
    color: var(--bt-text);
    font: 700 12px/1 var(--bt-font-display, inherit);
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background .18s, border-color .18s, color .18s;
}
.bt-scr-btn:hover {
    background: var(--bt-bg-elev-2);
    border-color: var(--bt-accent);
}
.bt-scr-btn-primary {
    background: var(--bt-accent);
    color: #000;
    border-color: var(--bt-accent);
}
.bt-scr-btn-primary:hover { opacity: .85; background: var(--bt-accent); color: #000; }
.bt-scr-btn-ghost { background: transparent; color: var(--bt-text-3); }
.bt-scr-btn:disabled { opacity: .5; cursor: not-allowed; }

/* ── Results ─────────────────────────────────────────────────────── */
.bt-scr-results {
    margin-top: 18px;
}
.bt-scr-results-head {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 10px;
}
.bt-scr-results-head h2 {
    margin: 0;
    font: 700 13px/1 var(--bt-font-display, inherit);
    color: var(--bt-text);
    text-transform: uppercase;
    letter-spacing: 1.4px;
}
.bt-scr-results-summary {
    font: 400 11px/1.4 var(--bt-font-mono, monospace);
    color: var(--bt-text-3);
}
.bt-scr-empty {
    padding: 32px 18px;
    text-align: center;
    background: var(--bt-bg-stripe);
    border: 1px dashed var(--bt-border-2);
    color: var(--bt-text-3);
    font-size: 13px;
}

/* ── Results table ───────────────────────────────────────────────── */
.bt-scr-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    font-size: 13px;
}
.bt-scr-table thead th {
    padding: 10px 12px;
    background: var(--bt-bg-stripe);
    border-bottom: 1px solid var(--bt-border-2);
    color: var(--bt-text-3);
    font: 700 10px/1 var(--bt-font-display, inherit);
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.bt-scr-table tbody td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--bt-border);
    color: var(--bt-text);
    font-family: var(--bt-font-mono, monospace);
}
.bt-scr-table tbody tr:last-child td { border-bottom: 0; }
.bt-scr-table tbody tr:hover { background: var(--bt-bg-stripe); }
.bt-scr-th-rank, .bt-scr-td-rank { width: 36px; color: var(--bt-text-3); }
.bt-scr-th-num, .bt-scr-td-num { text-align: right; font-variant-numeric: tabular-nums; }
.bt-scr-asset {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--bt-text);
    text-decoration: none;
    font-family: var(--bt-font-display, inherit);
}
.bt-scr-asset:hover { color: var(--bt-accent); }
.bt-scr-asset img { width: 20px; height: 20px; flex-shrink: 0; }
.bt-scr-asset-name { font-weight: 600; }
.bt-scr-asset-sym { color: var(--bt-text-3); font-size: 11px; }
.bt-scr-pos { color: var(--bt-accent); }
.bt-scr-neg { color: var(--bt-danger); }

/* ── Dashboard summary card ──────────────────────────────────────── */
.bt-scr-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.bt-scr-card-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 10px;
}
.bt-scr-card-eyebrow {
    font: 700 10px/1 var(--bt-font-display, inherit);
    color: var(--bt-text-3);
    text-transform: uppercase;
    letter-spacing: 1.4px;
}
.bt-scr-card-count {
    padding: 2px 8px;
    background: rgba(0, 255, 102, .1);
    color: var(--bt-accent);
    font: 700 11px/1 var(--bt-font-mono, monospace);
}
.bt-scr-card-blurb {
    margin: 0 0 12px;
    color: var(--bt-text-2);
    font-size: 13px;
    line-height: 1.55;
}
.bt-scr-card-list {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    display: grid;
    gap: 6px;
}
.bt-scr-card-list a {
    display: grid;
    gap: 2px;
    padding: 8px 10px;
    background: var(--bt-bg);
    border: 1px solid var(--bt-border);
    text-decoration: none;
    transition: border-color .18s;
}
.bt-scr-card-list a:hover { border-color: var(--bt-border-2); }
.bt-scr-card-list strong {
    color: var(--bt-text);
    font: 600 13px/1.2 var(--bt-font-display, inherit);
}
.bt-scr-card-list span {
    font: 400 11px/1.4 var(--bt-font-mono, monospace);
    color: var(--bt-text-3);
}
.bt-scr-card-cta {
    margin-top: auto;
    color: var(--bt-accent);
    font: 600 12px/1 var(--bt-font-display, inherit);
    text-decoration: none;
}
.bt-scr-card-cta:hover { opacity: .8; }

/* ── Mobile ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .bt-screeners { padding: 0 14px; margin: 16px auto 32px; }
    .bt-scr-anon-note { flex-wrap: wrap; }
    .bt-scr-anon-cta { margin-left: 0; flex: 1 1 100%; }
    .bt-scr-saved-list { grid-template-columns: 1fr; }
    .bt-scr-builder { padding: 14px; }
    .bt-scr-builder-head h2 { font-size: 12px; }
    .bt-scr-fields { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .bt-scr-actions { flex-direction: column; }
    .bt-scr-actions .bt-scr-btn { width: 100%; }
    .bt-scr-table thead th, .bt-scr-table tbody td { padding: 8px 6px; font-size: 12px; }
    .bt-scr-hide-mobile { display: none; }
    .bt-scr-asset img { width: 16px; height: 16px; }
    .bt-scr-asset-name { font-size: 12px; }
}
@media (max-width: 480px) {
    .bt-scr-fields { grid-template-columns: 1fr; }
}

/* ── Reduced motion ──────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .bt-scr-saved-item,
    .bt-scr-btn,
    .bt-scr-field input,
    .bt-scr-field select { transition: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   v119.17.0 — FOLLOWING LIST
   Three-tab management page (assets / sources / signals) +
   drop-in [bt_follow_button] + personalized news feed +
   dashboard summary card.
   ═══════════════════════════════════════════════════════════════════ */

.bt-fol {
    max-width: var(--bt-container);
    margin: 24px auto 48px;
    padding: 0 24px;
}

/* ── Anonymous note ──────────────────────────────────────────────── */
.bt-fol-anon-note {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    margin-bottom: 18px;
    background: rgba(0, 153, 255, .04);
    border: 1px solid rgba(0, 153, 255, .2);
    border-left: 3px solid #0099ff;
    color: var(--bt-text-2);
    font-size: 13px;
    line-height: 1.55;
}
.bt-fol-anon-cta {
    margin-left: auto;
    padding: 8px 16px;
    background: var(--bt-accent);
    border: none;
    color: #000;
    font: 700 11px/1 var(--bt-font-display, inherit);
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
}
.bt-fol-anon-cta:hover { opacity: .85; }

/* ── Tabs ────────────────────────────────────────────────────────── */
.bt-fol-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 4px;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border);
    margin-bottom: 0;
}
.bt-fol-tab {
    flex: 1;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    background: transparent;
    border: 1px solid transparent;
    color: var(--bt-text-2);
    font: 600 12px/1 var(--bt-font-display, inherit);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background .18s, color .18s, border-color .18s;
}
.bt-fol-tab:hover { color: var(--bt-text); background: var(--bt-bg-elev-2); }
.bt-fol-tab-active,
.bt-fol-tab[aria-selected="true"] {
    background: var(--bt-bg-elev-2);
    color: var(--bt-text);
    border-color: var(--bt-accent);
}

/* ── Panel ───────────────────────────────────────────────────────── */
.bt-fol-panels {
    border: 1px solid var(--bt-border);
    border-top: 0;
    background: var(--bt-bg-elev);
}
.bt-fol-panel {
    padding: 20px;
}
.bt-fol-panel[hidden] { display: none; }
.bt-fol-panel-head {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 8px;
}
.bt-fol-panel-head h2 {
    margin: 0;
    font: 700 13px/1 var(--bt-font-display, inherit);
    color: var(--bt-text);
    text-transform: uppercase;
    letter-spacing: 1.4px;
}
.bt-fol-count {
    font: 600 11px/1 var(--bt-font-mono, monospace);
    color: var(--bt-text-3);
    transition: color .25s;
}
.bt-fol-count-flash { color: var(--bt-danger); }
.bt-fol-panel-blurb {
    margin: 0 0 16px;
    font-size: 13px;
    line-height: 1.55;
    color: var(--bt-text-2);
}
.bt-fol-empty {
    padding: 28px 16px;
    text-align: center;
    background: var(--bt-bg-stripe);
    border: 1px dashed var(--bt-border-2);
    color: var(--bt-text-3);
    font-size: 13px;
}

/* ── Asset grid ──────────────────────────────────────────────────── */
.bt-fol-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 8px;
}
.bt-fol-card {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: var(--bt-bg);
    border: 1px solid var(--bt-border);
    color: var(--bt-text);
    text-align: left;
    cursor: pointer;
    transition: border-color .18s, background .18s;
}
.bt-fol-card:hover { border-color: var(--bt-border-2); background: var(--bt-bg-elev-2); }
.bt-fol-card-on {
    border-color: var(--bt-accent);
    background: rgba(0, 255, 102, .04);
}
.bt-fol-card img { width: 22px; height: 22px; flex-shrink: 0; }
.bt-fol-card-name {
    font: 600 13px/1.2 var(--bt-font-display, inherit);
    color: var(--bt-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bt-fol-card-sym {
    font: 500 10px/1 var(--bt-font-mono, monospace);
    color: var(--bt-text-3);
}
.bt-fol-card-state {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--bt-bg-elev);
    border: 1px solid var(--bt-border-2);
    font: 700 14px/1 var(--bt-font-mono, monospace);
    color: var(--bt-text-3);
}
.bt-fol-card-on .bt-fol-card-state {
    background: var(--bt-accent);
    color: #000;
    border-color: var(--bt-accent);
}

/* ── Source/signal row list ──────────────────────────────────────── */
.bt-fol-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 6px;
}
.bt-fol-row {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "name btn" "meta btn";
    align-items: center;
    column-gap: 12px;
    padding: 10px 12px;
    background: var(--bt-bg);
    border: 1px solid var(--bt-border);
    transition: border-color .18s;
}
.bt-fol-row:hover { border-color: var(--bt-border-2); }
.bt-fol-row-on {
    border-color: var(--bt-accent);
    background: rgba(0, 255, 102, .04);
}
.bt-fol-row-name {
    grid-area: name;
    font: 600 13px/1.2 var(--bt-font-display, inherit);
    color: var(--bt-text);
}
.bt-fol-row-meta {
    grid-area: meta;
    font: 400 11px/1.4 var(--bt-font-mono, monospace);
    color: var(--bt-text-3);
    margin-top: 2px;
}
.bt-fol-row-btn {
    grid-area: btn;
    padding: 6px 12px;
    background: transparent;
    border: 1px solid var(--bt-border-2);
    color: var(--bt-text-2);
    font: 700 10px/1 var(--bt-font-display, inherit);
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background .18s, color .18s, border-color .18s;
}
.bt-fol-row-btn:hover { color: var(--bt-text); border-color: var(--bt-accent); }
.bt-fol-row-on .bt-fol-row-btn {
    background: var(--bt-accent);
    color: #000;
    border-color: var(--bt-accent);
}

/* ── Drop-in [bt_follow_button] ──────────────────────────────────── */
.bt-fol-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: transparent;
    border: 1px solid var(--bt-border-2);
    color: var(--bt-text-2);
    font: 700 11px/1 var(--bt-font-display, inherit);
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background .18s, color .18s, border-color .18s;
}
.bt-fol-btn:hover { color: var(--bt-text); border-color: var(--bt-accent); }
.bt-fol-btn-on {
    background: var(--bt-accent);
    color: #000;
    border-color: var(--bt-accent);
}
.bt-fol-btn-icon { font-size: 13px; line-height: 1; }

/* ── Personalized news feed ──────────────────────────────────────── */
.bt-fol-news { display: grid; gap: 10px; }
.bt-fol-news-empty {
    padding: 24px 16px;
    text-align: center;
    background: var(--bt-bg-stripe);
    border: 1px dashed var(--bt-border-2);
    color: var(--bt-text-3);
    font-size: 13px;
}
.bt-fol-news-hint a {
    display: block;
    padding: 10px 12px;
    background: rgba(0, 255, 102, .04);
    border: 1px solid rgba(0, 255, 102, .2);
    border-left: 3px solid var(--bt-accent);
    color: var(--bt-accent);
    font: 600 12px/1.4 var(--bt-font-display, inherit);
    text-decoration: none;
}
.bt-fol-news-hint a:hover { background: rgba(0, 255, 102, .08); }
.bt-fol-news-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 6px;
}
.bt-fol-news-item a {
    display: block;
    padding: 10px 12px;
    background: var(--bt-bg);
    border: 1px solid var(--bt-border);
    color: var(--bt-text);
    text-decoration: none;
    transition: border-color .18s;
}
.bt-fol-news-item a:hover { border-color: var(--bt-border-2); }
.bt-fol-news-title {
    display: block;
    font: 600 13px/1.4 var(--bt-font-display, inherit);
    color: var(--bt-text);
    margin-bottom: 4px;
}
.bt-fol-news-item a:hover .bt-fol-news-title { color: var(--bt-accent); }
.bt-fol-news-meta {
    display: flex;
    gap: 10px;
    font: 400 11px/1.2 var(--bt-font-mono, monospace);
    color: var(--bt-text-3);
}
.bt-fol-news-source { color: var(--bt-text-2); font-weight: 600; }

/* ── Dashboard summary card ──────────────────────────────────────── */
.bt-fol-card-summary {
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: 100%;
}
.bt-fol-card-summary-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: baseline;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid var(--bt-border);
}
.bt-fol-card-summary-row:last-of-type { border-bottom: 0; }
.bt-fol-card-eyebrow {
    font: 700 10px/1 var(--bt-font-display, inherit);
    color: var(--bt-text-3);
    text-transform: uppercase;
    letter-spacing: 1.4px;
}
.bt-fol-card-num {
    font: 700 18px/1 var(--bt-font-mono, monospace);
    color: var(--bt-text);
}
.bt-fol-card-cap {
    font: 400 11px/1 var(--bt-font-mono, monospace);
    color: var(--bt-text-3);
}
.bt-fol-card-summary-anon p {
    margin: 0 0 12px;
    color: var(--bt-text-2);
    font-size: 13px;
    line-height: 1.55;
}
.bt-fol-card-cta {
    margin-top: auto;
    color: var(--bt-accent);
    font: 600 12px/1 var(--bt-font-display, inherit);
    text-decoration: none;
}
.bt-fol-card-cta:hover { opacity: .8; }

/* ── Mobile ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .bt-fol { padding: 0 14px; margin: 16px auto 32px; }
    .bt-fol-anon-note { flex-wrap: wrap; }
    .bt-fol-anon-cta { margin-left: 0; flex: 1 1 100%; }
    .bt-fol-tab span:first-child { font-size: 14px; }
    .bt-fol-tab span:last-child  { display: none; }
    .bt-fol-panel { padding: 16px; }
    .bt-fol-grid { grid-template-columns: 1fr; }
    .bt-fol-list { grid-template-columns: 1fr; }
    .bt-fol-news-meta { flex-direction: column; gap: 2px; }
}

/* ── Reduced motion ──────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .bt-fol-tab,
    .bt-fol-card,
    .bt-fol-row,
    .bt-fol-row-btn,
    .bt-fol-btn,
    .bt-fol-news-item a { transition: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   v119.19.0 — FORECAST DETAIL PAGE STYLING REVAMP
   The forecast body was rendering as plain text without visual hierarchy.
   This module adds:
   - Card-frame each section (h2-anchored)
   - Accent left bar on section headings
   - Methodology section as a darker callout
   - Fix recent forecasts pill text contrast (theme-override-resistant)
   ═══════════════════════════════════════════════════════════════════ */

/* ── Body container — give it breathing room ─────────────────────── */
.bt-forecast-body {
    /* Existing inline styles set bg/padding/border. We override only what's needed. */
    padding: 0 !important; /* sections supply their own padding */
    background: transparent !important;
    border: 0 !important;
}

/* ── Section headings as card framers ────────────────────────────── */
.bt-forecast-body h2,
.bt-forecast-body h3 {
    font: 800 18px/1.2 var(--bt-font-display, inherit);
    color: var(--bt-text);
    margin: 0;
    padding: 16px 24px 14px;
    background: var(--bt-bg-elev, #121316);
    border: 1px solid rgba(255, 255, 255, .08);
    border-bottom: 0;
    border-left: 3px solid var(--bt-accent);
    letter-spacing: -.2px;
}
.bt-forecast-body h3 {
    font-size: 16px;
    border-left-color: var(--bt-accent-warm, #f5a623);
}

/* Each h2 starts a new section "card"; the immediately-following content
   sits inside the same visual frame. We use CSS adjacent siblings +
   :is() so it works for h2 → p, h2 → ul, h2 → multiple paragraphs. */
.bt-forecast-body h2 + p,
.bt-forecast-body h2 + ul,
.bt-forecast-body h2 + ol,
.bt-forecast-body h3 + p,
.bt-forecast-body h3 + ul,
.bt-forecast-body h3 + ol,
.bt-forecast-body p,
.bt-forecast-body ul,
.bt-forecast-body ol {
    margin: 0;
    padding: 16px 24px;
    background: var(--bt-bg-elev, #121316);
    border-left: 1px solid rgba(255, 255, 255, .08);
    border-right: 1px solid rgba(255, 255, 255, .08);
    color: var(--bt-text-2);
    font-size: 15px;
    line-height: 1.7;
}

/* The first paragraph after a heading needs no top padding (heading has it) */
.bt-forecast-body h2 + p,
.bt-forecast-body h2 + ul,
.bt-forecast-body h2 + ol,
.bt-forecast-body h3 + p,
.bt-forecast-body h3 + ul,
.bt-forecast-body h3 + ol {
    padding-top: 4px;
}

/* Close each section visually with bottom-border + spacing before next h2 */
.bt-forecast-body > *:not(h2):not(h3) + h2 {
    margin-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

/* Last section needs bottom border (since adjacent siblings supply borders) */
.bt-forecast-body > *:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

/* ── Lists inside forecast body ──────────────────────────────────── */
.bt-forecast-body ul,
.bt-forecast-body ol {
    padding-left: 48px; /* preserves the body padding + bullet indent */
}
.bt-forecast-body li {
    margin: 6px 0;
}
.bt-forecast-body li::marker {
    color: var(--bt-accent);
}

/* ── Strong/em emphasis pop a bit ─────────────────────────────────── */
.bt-forecast-body strong {
    color: var(--bt-text);
    font-weight: 700;
}
.bt-forecast-body em {
    color: var(--bt-text);
    font-style: italic;
}

/* ── Methodology section — darker callout treatment ──────────────── */
.bt-forecast-body h2:last-of-type,
.bt-forecast-body h3:last-of-type {
    background: rgba(255, 255, 255, .02);
}

/* If the body author writes a "Methodology" heading specifically, treat it
   as a callout (matches the convention used by the forecast template). */
.bt-forecast-body h2:has(+ p):last-of-type,
.bt-forecast-body h2[id*="method"],
.bt-forecast-body h3[id*="method"] {
    border-left-color: var(--bt-text-3);
}

/* ── Recent forecasts pills — theme-override-resistant text color ── */
.bt-forecast-detail a[href*="/forecast/"] {
    /* Force pill text to be visible regardless of theme overrides on a {} */
    color: inherit;
    text-decoration: none;
}
/* The active pill is var(--bt-accent) bg with #000 text inline; keep that */

/* ── Mobile ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .bt-forecast-body h2,
    .bt-forecast-body h3 {
        padding: 14px 16px 12px;
        font-size: 16px;
    }
    .bt-forecast-body h3 { font-size: 14px; }
    .bt-forecast-body p,
    .bt-forecast-body ul,
    .bt-forecast-body ol {
        padding: 12px 16px;
        font-size: 14px;
    }
    .bt-forecast-body ul,
    .bt-forecast-body ol { padding-left: 36px; }
}

/* ── Reduced motion ──────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .bt-forecast-body * { transition: none !important; }
}
