    /* Marketplace subtitle */
    .marketplace-subtitle {
      padding: 8px 12px;
      font-size: 12px;
      color: var(--text-dim);
    }
    .marketplace-subtitle a {
      color: var(--accent);
      text-decoration: none;
    }
    .marketplace-subtitle a:hover {
      text-decoration: underline;
    }

    /* Market Highlight Item */
    .market-item {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 6px 8px;
      border-radius: 4px;
      font-size: 12px;
      transition: background 0.1s;
    }
    .market-item:hover { background: rgba(255,255,255,0.05); }
    .market-item .username {
      font-family: monospace;
      color: var(--accent);
      flex: 1;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .market-item .price {
      color: var(--text-primary);
      font-size: 11px;
      white-space: nowrap;
    }
    .market-item .type {
      font-size: 9px;
      padding: 2px 5px;
      border-radius: 3px;
      text-transform: uppercase;
    }
    .market-item .type.auction { background: rgba(226,165,66,0.2); color: var(--yellow); }
    .market-item .type.for-sale { background: rgba(79,174,78,0.2); color: var(--green); }

    /* TON Price Card */
    .ton-price-card {
      background: linear-gradient(135deg, var(--card) 0%, rgba(52, 152, 219, 0.1) 100%);
    }
    .ton-price-volume {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 12px;
      padding-top: 10px;
      border-top: 1px solid var(--border);
      font-size: 12px;
    }
    .ton-price-volume .label {
      color: var(--text-dim);
    }
    .ton-price-volume .value {
      font-weight: 600;
      color: var(--green);
    }

    .analytics-card-sub {
      font-size: 12px;
      color: var(--text-dim);
      margin-top: 4px;
    }

    /* ============ Stats Cards ============ */
    .marketplace-stats-bar {
      display: flex;
      align-items: center;
      padding: 6px 16px;
      font-size: 12px;
      color: var(--text-dim);
      border-bottom: 1px solid var(--border);
    }
    .marketplace-stats-bar strong { color: var(--text); font-weight: 600; }
    .marketplace-stats-bar .ton { color: var(--yellow); }
    .marketplace-stats-bar .usd { font-size: 11px; }
    .marketplace-stats-bar .stats-sep { color: var(--border-secondary); margin: 0 6px; }
    .marketplace-stats-bar .stats-item { white-space: nowrap; }
    .marketplace-stats-bar .stats-updated { margin-left: auto; font-size: 11px; white-space: nowrap; }

    /* ============ Ending Soon Section ============ */
    /* ============ Hot Deals Section ============ */
    .hot-deals-section {
      background: linear-gradient(135deg, rgba(231, 76, 60, 0.08) 0%, rgba(241, 196, 15, 0.08) 100%);
      border: 1px solid rgba(231, 76, 60, 0.2);
      border-radius: 8px;
      padding: 12px;
      margin-bottom: 16px;
    }

    .hot-deals-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 10px;
      font-weight: 600;
      font-size: 13px;
      color: var(--text);
    }

    .hot-deals-header .fire {
      color: #e74c3c;
    }

    .hot-deals-list {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .hot-deal-item {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 8px 10px;
      background: var(--bg-secondary);
      border-radius: 6px;
      font-size: 12px;
      transition: background 0.15s;
    }

    .hot-deal-item:hover {
      background: var(--bg-hover);
    }

    .hot-deal-username {
      font-weight: 600;
      color: var(--text);
      min-width: 80px;
    }

    .hot-deal-price {
      color: var(--text-primary);
      min-width: 60px;
    }

    .hot-deal-est {
      color: var(--text-dim);
      font-size: 11px;
    }

    .hot-deal-discount {
      color: #2ecc71;
      font-weight: 700;
      margin-left: auto;
    }

    /* ============ Countdown Timer ============ */
    .countdown {
      font-family: 'SF Mono', 'Menlo', monospace;
      font-size: 11px;
      font-weight: 600;
      padding: 2px 6px;
      border-radius: 4px;
    }

    .countdown-safe {
      color: var(--green);
      background: rgba(46, 204, 113, 0.1);
    }

    .countdown-warning {
      color: var(--orange);
      background: rgba(230, 126, 34, 0.1);
    }

    .countdown-urgent {
      color: var(--red);
      background: rgba(231, 76, 60, 0.15);
      animation: pulse-urgent 1s infinite;
    }

    .countdown-ended {
      color: var(--text-dim);
      background: rgba(255, 255, 255, 0.03);
      text-decoration: line-through;
    }

    .countdown-dim {
      color: var(--text-dim);
      background: rgba(255, 255, 255, 0.03);
    }

    @keyframes pulse-urgent {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.6; }
    }

    /* ============ Status Badges ============ */
    .status-badge {
      display: inline-flex;
      align-items: center;
      gap: 3px;
      padding: 2px 8px;
      border-radius: 4px;
      font-size: 10px;
      font-weight: 600;
    }

    .status-buy-now {
      background: rgba(46, 204, 113, 0.15);
      color: #2ecc71;
    }

    .status-auction {
      background: rgba(230, 126, 34, 0.15);
      color: #e67e22;
    }

    .min-bid {
      display: block;
      font-size: 9px;
      color: var(--text-dim);
      margin-top: 2px;
    }

    .auction-countdown {
      display: inline;
      font-size: 10px;
      margin-left: 6px;
    }

    /* ============ Price Column ============ */
    .price-ton {
      color: var(--text-primary);
      font-weight: 600;
      font-size: 14px;
    }

    .price-usd {
      color: var(--text-dim);
      font-size: 11px;
      margin-left: 4px;
    }

    .listed-ago {
      color: var(--text-dim);
      font-size: 10px;
      display: block;
    }

    /* ============ Username Badges ============ */
    .username-badges {
      display: inline-flex;
      gap: 4px;
      margin-left: 6px;
    }

    .badge {
      font-size: 9px;
      padding: 1px 5px;
      border-radius: 3px;
      font-weight: 600;
      text-transform: uppercase;
    }

    .badge-length {
      background: none;
      color: var(--text-dim);
      padding: 0;
      font-size: 10px;
      font-weight: 400;
      text-transform: none;
    }


    .badge-word {
      background: rgba(52, 152, 219, 0.15);
      color: #3498db;
    }

    .badge-number {
      background: rgba(155, 89, 182, 0.15);
      color: #9b59b6;
    }

    .badge-hot {
      background: rgba(231, 76, 60, 0.15);
      color: #e74c3c;
    }

    .badge-short {
      background: rgba(46, 204, 113, 0.15);
      color: #2ecc71;
    }

    .badge-new {
      background: none;
      color: #f1c40f;
      margin-left: 2px;
      padding: 0;
      font-size: 10px;
    }

    /* ============ Marketplace Table Columns ============ */
    .mp-header { display: flex; align-items: center; }
    .mp-col-num { width: 3%; text-align: center; color: var(--text-dim); font-size: 11px; }
    .mp-col-username { width: 22%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .mp-col-len { width: 5%; text-align: center; color: var(--text-dim); font-size: 11px; }
    .mp-col-new { width: 5%; text-align: center; font-size: 11px; }
    .mp-col-type { width: 12%; white-space: nowrap; }
    .mp-col-time { width: 12%; white-space: nowrap; text-align: center; }
    .mp-col-price { width: 13%; text-align: right; white-space: nowrap; }
    .mp-col-usd { width: 9%; text-align: right; white-space: nowrap; color: var(--text-dim); font-size: 11px; }
    .mp-col-actions { width: 14%; display: flex; justify-content: flex-end; gap: 4px; white-space: nowrap; }
    .mp-col-sold { width: 12%; white-space: nowrap; text-align: center; }

    /* Sold mode: redistribute column widths (no new/type/time columns) */
    .sold-mode .mp-col-username { width: 35%; }
    .sold-mode .mp-col-len { width: 6%; }
    .sold-mode .mp-col-sold { width: 14%; }
    .sold-mode .mp-col-price { width: 14%; }
    .sold-mode .mp-col-usd { width: 10%; }

    /* Sold badge */
    .status-sold {
      background: rgba(149, 165, 166, 0.15);
      color: #95a5a6;
    }

    /* Sortable headers */
    .mp-sortable {
      cursor: pointer;
      user-select: none;
      transition: color 0.15s;
    }
    .mp-sortable:hover { color: var(--text); }
    .mp-sortable.sort-active { color: var(--accent); font-weight: 600; }
    .mp-sort-icon { font-size: 9px; margin-left: 2px; opacity: 0.6; }

    /* ============ Compact Rows ============ */
    .watchlist-table-row {
      position: relative;
      padding-top: 3px;
      padding-bottom: 3px;
    }

    /* Watchlist-highlighted rows */
    .watchlist-table-row.in-watchlist {
      background: rgba(241, 196, 15, 0.12);
      border-left: 3px solid rgba(241, 196, 15, 0.6);
    }
    .watchlist-table-row.in-watchlist:hover {
      background: rgba(241, 196, 15, 0.18);
    }

    /* ============ Category Badges ============ */
    .badge-crypto {
      background: rgba(241, 196, 15, 0.15);
      color: #f1c40f;
    }

    .badge-finance {
      background: rgba(46, 204, 113, 0.15);
      color: #2ecc71;
    }

    .badge-tech {
      background: rgba(52, 152, 219, 0.15);
      color: #3498db;
    }

    .badge-gaming {
      background: rgba(155, 89, 182, 0.15);
      color: #9b59b6;
    }

    /* ============ Category Filter Chips ============ */
    .category-filter-chips {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
    }

    .category-chip {
      padding: 4px 10px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: transparent;
      color: var(--text-dim);
      font-size: 11px;
      cursor: pointer;
      transition: all 0.15s;
    }

    .category-chip:hover {
      border-color: var(--text-dim);
      color: var(--text);
    }

    .category-chip.active {
      background: var(--accent);
      border-color: var(--accent);
      color: #000;
      font-weight: 600;
    }

    /* ============ Length Filter Chips ============ */
    .length-filter-chips {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
    }

    .chip-btn {
      padding: 4px 10px;
      border: 1px solid var(--border);
      border-radius: 10px;
      background: transparent;
      color: var(--text-dim);
      font-size: 12px;
      cursor: pointer;
      transition: all 0.15s;
    }

    .chip-btn:hover {
      border-color: var(--text-dim);
      color: var(--text);
    }

    .chip-btn.active {
      background: var(--accent);
      border-color: var(--accent);
      color: #000;
      font-weight: 600;
    }

    /* ============ Infinite Scroll ============ */
    .scroll-sentinel { height: 1px; }
    .scroll-loading {
      text-align: center;
      padding: 16px;
      color: var(--text-dim);
      font-size: 12px;
    }

    /* Refresh button */
    .mp-refresh-btn {
      font-size: 15px;
      padding: 4px 8px;
      min-width: 28px;
      line-height: 1;
    }
    .mp-refresh-btn.spinning {
      animation: spin 0.4s ease-out;
      opacity: 0.5;
      pointer-events: none;
    }
    @keyframes spin {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }
