;(function () {
/* TradeBottomNav — 5-button variant of BottomNav for the Leveraged Trade
   sub-app. Visual recipe is identical to bottom-nav.jsx (glass capsule +
   light + refraction + dispersion + sliding teal pill + voice FAB), only
   the slot layout changes:
     1. Discover    2. Trade    3. q+ FAB    4. Portfolio    5. Activity
   Sliding pill snaps between the four nav buttons (skipping the FAB slot),
   same threshold/spring as the home BottomNav so users feel continuity. */

/* Shared sliding pill geometry (identical to BottomNav). */
const PILL_W = 64;
const PILL_H = 48;
const PILL_R = PILL_H / 2;

/* Spring + drag threshold — same values as the home nav so the snap feel
   is identical. */
const SPRING_CONFIG = { stiffness: 150, damping: 18, mass: 1 };
const DRAG_THRESHOLD = 4;

/* Inline JSX SVG icon components — paths copied from
   icons/trade/{discover,trade,portfolio,activity}.svg with hard-coded
   stroke replaced by `stroke={color}`. */
const DiscoverIcon = ({ width = 24, height = 24, color = '#000' }) => (
  <svg width={width} height={height} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M13.1218 14.8446L18.0004 21.9999M10.879 14.8446L6.00041 21.9999M14.0004 13.2C14.0004 14.3045 13.105 15.2 12.0004 15.2C10.8958 15.2 10.0004 14.3045 10.0004 13.2C10.0004 12.0954 10.8958 11.2 12.0004 11.2C13.105 11.2 14.0004 12.0954 14.0004 13.2ZM17.1489 4.53225L5.36462 7.68984C5.09414 7.76232 4.95889 7.79855 4.86969 7.87888C4.79122 7.94953 4.73713 8.04321 4.71518 8.14649C4.69022 8.26391 4.72646 8.39915 4.79893 8.66964L5.67892 11.9538C5.7514 12.2243 5.78763 12.3595 5.86796 12.4487C5.93861 12.5272 6.03229 12.5813 6.13557 12.6032C6.25299 12.6282 6.38823 12.5919 6.65871 12.5195L18.443 9.36188L17.1489 4.53225ZM21.7928 9.49958C20.7109 9.78949 20.1699 9.93444 19.7002 9.83461C19.2871 9.74679 18.9124 9.53045 18.6298 9.21657C18.3085 8.85975 18.1635 8.31878 17.8736 7.23684L17.7183 6.65728C17.4284 5.57535 17.2835 5.03438 17.3833 4.56471C17.4711 4.15158 17.6875 3.77686 18.0013 3.49425C18.3582 3.17296 18.8991 3.02801 19.9811 2.7381C20.2515 2.66562 20.3868 2.62939 20.5042 2.65434C20.6075 2.6763 20.7012 2.73038 20.7718 2.80885C20.8521 2.89806 20.8884 3.0333 20.9609 3.30379L22.3585 8.51979C22.431 8.79027 22.4672 8.92551 22.4422 9.04293C22.4203 9.14621 22.3662 9.23989 22.2877 9.31055C22.1985 9.39087 22.0633 9.42711 21.7928 9.49958ZM3.50212 12.33L4.85441 11.9677C5.1249 11.8952 5.26014 11.8589 5.34935 11.7786C5.42782 11.708 5.4819 11.6143 5.50386 11.511C5.52881 11.3936 5.49258 11.2583 5.4201 10.9879L5.05775 9.63556C4.98528 9.36508 4.94904 9.22983 4.86872 9.14063C4.79806 9.06216 4.70438 9.00807 4.6011 8.98612C4.48368 8.96116 4.34844 8.9974 4.07796 9.06988L2.72566 9.43222C2.45518 9.5047 2.31993 9.54094 2.23073 9.62126C2.15226 9.69191 2.09817 9.78559 2.07622 9.88888C2.05126 10.0063 2.0875 10.1415 2.15998 10.412L2.52232 11.7643C2.5948 12.0348 2.63104 12.17 2.71136 12.2592C2.78201 12.3377 2.87569 12.3918 2.97898 12.4138C3.09639 12.4387 3.23163 12.4025 3.50212 12.33Z" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
  </svg>
);

const TradeIcon = ({ width = 24, height = 24, color = '#000' }) => (
  <svg width={width} height={height} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M5 4V7M5 7H3V16.7692H5M5 7H7V16.7692H5M5 16.7692V20.5M12 5.5V9M12 9H10V18H12M12 9H14V18H12M12 18V20.5M19 4V6.5M19 6.5H17V17.5H19M19 6.5H21V17.5H19M19 17.5V20.5" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
  </svg>
);

/* Portfolio icon — deposits-and-withdrawals dual-arrow glyph, paired
   vertical arrows (one up, one down). Inlined from
   icons/trade/deposits-withdrawals.svg. Replaces the previous pie-chart
   silhouette, which now lives on the Activity tab. */
const PortfolioIcon = ({ width = 24, height = 24, color = '#000' }) => (
  <svg width={width} height={height} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M7 4V20M11 16L7 20L3 16M17 20V4M21 8L17 4L13 8" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
  </svg>
);

/* Activity icon — pie-chart silhouette (formerly Portfolio's icon).
   Inlined from icons/trade/portfolio.svg. */
const ActivityIcon = ({ width = 24, height = 24, color = '#000' }) => (
  <svg width={width} height={height} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path d="M21.2104 15.8899C20.5742 17.3944 19.5792 18.7202 18.3123 19.7512C17.0454 20.7823 15.5452 21.4874 13.9428 21.8047C12.3405 22.1221 10.6848 22.0421 9.12055 21.5717C7.55627 21.1014 6.13103 20.255 4.96942 19.1066C3.80782 17.9582 2.94522 16.5427 2.45704 14.9839C1.96886 13.4251 1.86996 11.7704 2.169 10.1646C2.46804 8.55873 3.1559 7.05058 4.17245 5.77198C5.189 4.49338 6.50329 3.48327 8.0004 2.82995M21.2392 8.17311C21.6395 9.13958 21.8851 10.1613 21.9684 11.2008C21.989 11.4576 21.9993 11.586 21.9483 11.7017C21.9057 11.7983 21.8213 11.8897 21.7284 11.9399C21.6172 11.9999 21.4783 11.9999 21.2004 11.9999H12.8004C12.5204 11.9999 12.3804 11.9999 12.2734 11.9455C12.1793 11.8975 12.1028 11.821 12.0549 11.7269C12.0004 11.62 12.0004 11.48 12.0004 11.1999V2.79995C12.0004 2.52208 12.0004 2.38315 12.0605 2.27193C12.1107 2.17903 12.2021 2.09464 12.2987 2.05204C12.4144 2.00105 12.5428 2.01134 12.7996 2.03193C13.839 2.11527 14.8608 2.36083 15.8272 2.76115C17.0405 3.2637 18.1429 4.00029 19.0715 4.92888C20.0001 5.85747 20.7367 6.95986 21.2392 8.17311Z" stroke={color} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
  </svg>
);

const NAV_ITEMS = [
  { key: 'discover',  label: 'Discover',  Icon: DiscoverIcon },
  { key: 'trade',     label: 'Trade',     Icon: TradeIcon },
  { key: 'portfolio', label: 'Portfolio', Icon: PortfolioIcon },
  { key: 'activity',  label: 'Activity',  Icon: ActivityIcon },
];

/* Single nav button — icon centered inside a 64×48 hit area. Two crossfading
   icon layers (grey ↔ teal) driven by `isActive`. 450ms ease-out cubic,
   identical to the home nav. */
const NavBtn = ({ item, isActive, onPress, btnRef }) => {
  const { Icon } = item;
  return (
    <button ref={btnRef} onClick={onPress} style={{
      border: 'none',
      background: 'transparent',
      padding: 0,
      margin: 0,
      cursor: 'pointer',
      font: 'inherit',
      color: 'inherit',
      textAlign: 'inherit',
      ...styles.btn,
    }}>
      <div style={styles.btnInner}>
        <div style={{ ...styles.iconWrap, pointerEvents: 'none' }}>
          <div
            style={{
              ...styles.iconLayer,
              opacity: isActive ? 0 : 1,
              transition: 'opacity 450ms cubic-bezier(0.215, 0.61, 0.355, 1)',
              pointerEvents: 'none',
            }}
          >
            <Icon width={26} height={26} color={colors.muted3} />
          </div>
          <div
            style={{
              ...styles.iconLayer,
              opacity: isActive ? 1 : 0,
              transition: 'opacity 450ms cubic-bezier(0.215, 0.61, 0.355, 1)',
              pointerEvents: 'none',
            }}
          >
            <Icon width={26} height={26} color={colors.teal} />
          </div>
        </div>
      </div>
    </button>
  );
};

/* VoiceFAB lives at the App root now (components/voice-fab.jsx) — the
   fabSlot below is just a transparent gap that the shared FAB sits on
   top of at the same x/y. */

/* Shared sliding pill — same Figma glass recipe as BottomNav (BlurView +
   light gradient + dispersion + refraction rim + teal tint). Lives BEFORE
   the buttonRow in the DOM so the FAB renders on top when the pill nears
   the middle slot. */
const SlidingPill = ({ translateX }) => {
  return (
    <div
      style={{
        ...styles.pillContainer,
        transform: `translateX(${translateX}px)`,
        pointerEvents: 'none',
      }}
    >
      <div style={styles.activePillBody}>
        <div
          style={{
            position: 'absolute', top: 0, left: 0, right: 0, bottom: 0,
            borderRadius: `${PILL_R}px`,
            backdropFilter: `blur(${3 * 0.7}px)`,
            WebkitBackdropFilter: `blur(${3 * 0.7}px)`,
          }}
        />
        {/* Light source from −45° / 80° */}
        <div
          style={{
            position: 'absolute', top: 0, left: 0, right: 0, bottom: 0,
            borderRadius: `${PILL_R}px`,
            background: 'linear-gradient(135deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.20) 30%, rgba(255,255,255,0) 70%, rgba(255,255,255,0.12) 100%)',
            pointerEvents: 'none',
          }}
        />
        {/* Dispersion — subtle chromatic edge */}
        <div
          style={{
            position: 'absolute', top: 0, left: 0, right: 0, bottom: 0,
            borderRadius: `${PILL_R}px`,
            background: 'linear-gradient(90deg, rgba(120,120,255,0.10) 0%, rgba(255,255,255,0) 50%, rgba(255,180,140,0.10) 100%)',
            pointerEvents: 'none',
          }}
        />
      </div>
    </div>
  );
};

const TradeBottomNav = ({ active = 'discover', onChange = () => {}, onVoice = () => {} }) => {
  /* Per-item layout cache: { [key]: { x, width } } where x is the button's
     left edge in buttonRow coordinates. Once all 4 nav buttons report,
     we can compute the centered pill x for each. The FAB is excluded —
     it sits in slot 3 but is not a navigable destination. */
  const [layouts, setLayouts] = React.useState({});
  const buttonRowRef = React.useRef(null);
  const navBtnRefs = React.useRef({});

  /* Layout measurement — read each NavBtn's getBoundingClientRect()
     relative to the parent buttonRow. Synchronous in useLayoutEffect so
     the first-paint pill x is correct (no x=0 flash). */
  React.useLayoutEffect(() => {
    const rowEl = buttonRowRef.current;
    if (!rowEl) return;
    const rowRect = rowEl.getBoundingClientRect();
    const next = {};
    let allFound = true;
    for (const item of NAV_ITEMS) {
      const el = navBtnRefs.current[item.key];
      if (!el) { allFound = false; continue; }
      const r = el.getBoundingClientRect();
      next[item.key] = { x: r.left - rowRect.left, width: r.width };
    }
    if (allFound) {
      setLayouts(next);
      if (isFirstSettleRef.current) {
        const l = next[active];
        if (l) {
          const t = l.x + l.width / 2 - PILL_W / 2;
          isFirstSettleRef.current = false;
          pillXRef.current = t;
          setPillX(t);
        }
      }
    }
  }, []);

  /* Pill x-target per item: button center − pill half-width. */
  const targets = React.useMemo(() => {
    const out = {};
    for (const item of NAV_ITEMS) {
      const l = layouts[item.key];
      if (l) out[item.key] = l.x + l.width / 2 - PILL_W / 2;
    }
    return out;
  }, [layouts]);

  const allMeasured = NAV_ITEMS.every((i) => layouts[i.key]);

  /* Pill translateX — driven by spring on `active` changes and during
     drag-release snap; set directly during pan. */
  const [pillX, setPillX] = React.useState(0);
  const pillXRef = React.useRef(0);

  const draggingRef = React.useRef(false);
  const isFirstSettleRef = React.useRef(true);
  const cancelSpringRef = React.useRef(null);

  React.useEffect(() => {
    if (!allMeasured) return;
    if (draggingRef.current) return;
    if (isFirstSettleRef.current) return;
    const target = targets[active];
    if (target == null) return;
    if (cancelSpringRef.current) cancelSpringRef.current();
    cancelSpringRef.current = springTo(
      pillXRef.current,
      target,
      SPRING_CONFIG,
      (x) => {
        pillXRef.current = x;
        setPillX(x);
      }
    );
    pillXRef.current = target;
  }, [active, allMeasured, targets]);

  /* Drag clamp range — min/max of the four nav-button targets. The FAB
     slot is intentionally excluded so the pill can't park there. */
  const dragRange = React.useMemo(() => {
    if (!allMeasured) return null;
    const xs = NAV_ITEMS.map((i) => targets[i.key]);
    return { min: Math.min(...xs), max: Math.max(...xs) };
  }, [allMeasured, targets]);

  const pointerStartXRef = React.useRef(0);
  const dragStartXRef = React.useRef(0);
  const pointerIdRef = React.useRef(null);
  const pointerActiveRef = React.useRef(false);

  const handlePointerDown = (e) => {
    pointerActiveRef.current = true;
    pointerStartXRef.current = e.clientX;
    dragStartXRef.current = pillXRef.current;
    pointerIdRef.current = e.pointerId;
  };

  const handlePointerMove = (e) => {
    if (!pointerActiveRef.current) return;
    if (!dragRange) return;
    const dx = e.clientX - pointerStartXRef.current;
    if (!draggingRef.current && Math.abs(dx) > DRAG_THRESHOLD) {
      draggingRef.current = true;
      try { e.currentTarget.setPointerCapture(pointerIdRef.current); } catch (_) {}
      if (cancelSpringRef.current) { cancelSpringRef.current(); cancelSpringRef.current = null; }
    }
    if (draggingRef.current) {
      const next = Math.max(dragRange.min, Math.min(dragRange.max, dragStartXRef.current + dx));
      pillXRef.current = next;
      setPillX(next);
    }
  };

  const handlePointerUp = (e) => {
    if (!pointerActiveRef.current) return;
    pointerActiveRef.current = false;
    try { e.currentTarget.releasePointerCapture(pointerIdRef.current); } catch (_) {}
    const wasDragging = draggingRef.current;
    draggingRef.current = false;
    if (!wasDragging) return;
    if (!allMeasured) return;
    const current = pillXRef.current;
    let nearestKey = NAV_ITEMS[0].key;
    let nearestDist = Infinity;
    for (const item of NAV_ITEMS) {
      const d = Math.abs(current - targets[item.key]);
      if (d < nearestDist) { nearestDist = d; nearestKey = item.key; }
    }
    const target = targets[nearestKey];
    if (cancelSpringRef.current) cancelSpringRef.current();
    /* Fire onChange BEFORE the snap spring so the page cross-fade runs
       in parallel with the pill settle (was previously gated to the
       spring's complete callback). */
    if (nearestKey !== active) onChange(nearestKey);
    cancelSpringRef.current = springTo(
      pillXRef.current,
      target,
      SPRING_CONFIG,
      (x) => {
        pillXRef.current = x;
        setPillX(x);
      }
    );
    pillXRef.current = target;
  };

  const handlePointerCancel = (e) => {
    if (!pointerActiveRef.current) return;
    pointerActiveRef.current = false;
    try { e.currentTarget.releasePointerCapture(pointerIdRef.current); } catch (_) {}
    const wasDragging = draggingRef.current;
    draggingRef.current = false;
    if (!wasDragging) return;
    if (!allMeasured) return;
    const target = targets[active];
    if (target != null) {
      if (cancelSpringRef.current) cancelSpringRef.current();
      cancelSpringRef.current = springTo(
        pillXRef.current,
        target,
        SPRING_CONFIG,
        (x) => {
          pillXRef.current = x;
          setPillX(x);
        }
      );
      pillXRef.current = target;
    }
  };

  return (
    /* trade-bottom-nav-shell instead of bottom-nav-shell: the mobile
       @media adds an env(safe-area-inset-bottom) lift to .bottom-nav-shell
       for the home BottomNav. Trade's INNER capsule already uses an
       env(...) lift, so applying both would double-lift the pill and put
       it ~34px above its intended position. Using a different class keeps
       the home lift while letting the trade outer stay at bottom:0. */
    <div className="trade-bottom-nav-shell" style={{ ...styles.outer, pointerEvents: 'none' }}>
      {/* Visual glass capsule — same Figma recipe as BottomNav. */}
      <div style={{ ...styles.glassCapsule, pointerEvents: 'auto' }}>
        {/* L1 · Frost — borderRadius must be set explicitly: backdrop-filter
           is NOT clipped by the parent's border-radius even with
           overflow:hidden, so without this the blur renders as a rectangle
           and leaks past the pill's rounded ends as visible "corner"
           artifacts. Matching br:100 clips the blur to the capsule. */}
        <div style={{
          position: 'absolute', top: 0, left: 0, right: 0, bottom: 0,
          borderRadius: '100px',
          backdropFilter: `blur(${12 * 0.7}px)`,
          WebkitBackdropFilter: `blur(${12 * 0.7}px)`,
        }} />
        {/* L2 · Light source from 0°/100° */}
        <div style={{
          position: 'absolute', top: 0, left: 0, right: 0, bottom: 0,
          background: 'linear-gradient(180deg, rgba(255,255,255,1.0) 0%, rgba(255,255,255,0.45) 7%, rgba(255,255,255,0.10) 18%, rgba(255,255,255,0) 55%, rgba(255,255,255,0.18) 100%)',
          pointerEvents: 'none',
        }}/>
        {/* L3 · Refraction crest */}
        <div style={{
          ...styles.refractionTop,
          background: 'linear-gradient(90deg, rgba(255,255,255,0.25) 0%, rgba(255,255,255,1.0) 50%, rgba(255,255,255,0.25) 100%)',
          pointerEvents: 'none',
        }}/>
        {/* L4 · Dispersion edge */}
        <div style={{
          ...styles.dispersionBottom,
          background: 'linear-gradient(90deg, rgba(120,120,255,0.10) 0%, rgba(255,255,255,0) 50%, rgba(255,180,140,0.10) 100%)',
          pointerEvents: 'none',
        }}/>
      </div>

      {/* Edge rim — sits above the glass, no clipping needed. */}
      <div style={{ ...styles.rim, pointerEvents: 'none' }} />

      {/* Sliding pill — rendered BEFORE the buttonRow so the FAB
         in the buttonRow draws on top when the pill crosses center. */}
      {allMeasured && (
        <SlidingPill translateX={pillX} />
      )}

      {/* Button row — 5 slots: Discover · Trade · FAB · Portfolio · Activity. */}
      <div
        ref={buttonRowRef}
        style={{ ...styles.buttonRow, pointerEvents: 'auto' }}
        onPointerDown={handlePointerDown}
        onPointerMove={handlePointerMove}
        onPointerUp={handlePointerUp}
        onPointerCancel={handlePointerCancel}
      >
        <NavBtn
          item={NAV_ITEMS[0]}
          isActive={active === NAV_ITEMS[0].key}
          onPress={() => { if (!draggingRef.current) onChange(NAV_ITEMS[0].key); }}
          btnRef={(el) => { navBtnRefs.current[NAV_ITEMS[0].key] = el; }}
        />
        <NavBtn
          item={NAV_ITEMS[1]}
          isActive={active === NAV_ITEMS[1].key}
          onPress={() => { if (!draggingRef.current) onChange(NAV_ITEMS[1].key); }}
          btnRef={(el) => { navBtnRefs.current[NAV_ITEMS[1].key] = el; }}
        />
        <div style={styles.fabSlot}>
          {/* Empty — shared <VoiceFAB> at App root sits over this slot. */}
        </div>
        <NavBtn
          item={NAV_ITEMS[2]}
          isActive={active === NAV_ITEMS[2].key}
          onPress={() => { if (!draggingRef.current) onChange(NAV_ITEMS[2].key); }}
          btnRef={(el) => { navBtnRefs.current[NAV_ITEMS[2].key] = el; }}
        />
        <NavBtn
          item={NAV_ITEMS[3]}
          isActive={active === NAV_ITEMS[3].key}
          onPress={() => { if (!draggingRef.current) onChange(NAV_ITEMS[3].key); }}
          btnRef={(el) => { navBtnRefs.current[NAV_ITEMS[3].key] = el; }}
        />
      </div>
    </div>
  );
};

const styles = {
  outer: {
    position: 'absolute',
    left: '16px', right: '16px', bottom: 0,
    height: '120px',
    zIndex: 50,
  },
  glassCapsule: {
    position: 'absolute',
    left: 0, right: 0, bottom: '28px',
    height: '58px',
    borderRadius: '100px',
    overflow: 'hidden',
    backgroundColor: 'rgba(255,255,255,0.10)',
    boxShadow: '0px 12px 32px rgba(16, 24, 40, 0.16)',
  },
  rim: {
    position: 'absolute',
    left: 0, right: 0, bottom: '28px',
    height: '58px',
    borderRadius: '100px',
    border: '1.5px solid rgba(255,255,255,0.7)',
  },
  refractionTop: {
    position: 'absolute',
    top: 0, left: 0, right: 0,
    height: '2px',
  },
  dispersionBottom: {
    position: 'absolute',
    bottom: 0, left: 0, right: 0,
    height: '2px',
  },
  pillContainer: {
    position: 'absolute',
    left: 0,
    bottom: `${28 + (58 - PILL_H) / 2}px`,
    width: `${PILL_W}px`,
    height: `${PILL_H}px`,
  },
  buttonRow: {
    position: 'absolute',
    left: 0, right: 0, bottom: '28px',
    height: '58px',
    display: 'flex',
    flexDirection: 'row',
    paddingLeft: '4px',
    paddingRight: '4px',
    alignItems: 'center',
    justifyContent: 'center',
  },
  btn: {
    flex: 1,
    maxWidth: '77px',
    height: '50px',
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center',
  },
  btnInner: {
    width: '64px',
    height: '48px',
    borderRadius: '24px',
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center',
    position: 'relative',
  },
  activePillBody: {
    position: 'absolute',
    top: 0, left: 0, right: 0, bottom: 0,
    borderRadius: `${PILL_R}px`,
    backgroundColor: 'rgba(0,175,171,0.20)',
    border: '1px solid rgba(255,255,255,0.75)',
    overflow: 'hidden',
  },
  iconWrap: {
    width: '26px',
    height: '26px',
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center',
    position: 'relative',
  },
  iconLayer: {
    position: 'absolute',
    top: 0, left: 0, right: 0, bottom: 0,
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center',
  },
  fabSlot: {
    flex: 1,
    maxWidth: '77px',
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center',
  },
  fabWrap: {
    width: '76px',
    height: '76px',
    transform: 'translateY(-22px)',
    position: 'relative',
  },
  fabCutout: {
    position: 'absolute',
    top: '-5px',
    left: '-5px',
    width: '86px',
    height: '86px',
    borderRadius: '43px',
    backgroundColor: colors.bg,
  },
  fabRing: {
    position: 'absolute',
    top: 0,
    left: 0,
    width: '76px',
    height: '76px',
    borderRadius: '38px',
    backgroundColor: '#fff',
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center',
    boxShadow: '0px 0px 24px rgba(0, 175, 171, 0.4)',
  },
  fab: {
    width: '68px',
    height: '68px',
    borderRadius: '34px',
    backgroundColor: colors.teal,
    overflow: 'hidden',
  },
  fabVideo: {
    width: '100%',
    height: '100%',
  },
};

Object.assign(window, { TradeBottomNav });
})();
