/* Global */
:root{
  --bg: #f7f6fb;
  --card: #ffffff;
  --ink: #20124d;
  --muted: #6b6a76;
  --border: #eae7f5;
  --purple: #6f3ff5;
  --purple-600:#5b2fe0;
  --green: #16a34a;
  --red: #ef4444;
  --cyan: #0ea5b7;
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ink);
  background: var(--bg);
  padding: 140px 20px 80px;
}


/* Top strip */
.markets-nav{
  position: sticky; 
  top:0;
  background:#fff; 
  box-shadow:0 1px 10px rgba(0,0,0,.05);
  display:flex; 
  align-items:center; 
  justify-content:space-between;
  padding:12px 20px; 
  z-index:10;
}

.markets-nav .brand{ 
  font-weight:800; 
  color:var(--ink); 
  text-decoration:none; 
}

.btn{ 
  display:inline-block; 
  padding:8px 14px; 
  border-radius:8px; 
  text-decoration:none; 
  font-weight:600; 
}

.btn-primary{ 
  background:var(--purple); 
  color:#fff; 
}

.btn-primary:hover{ 
  background:var(--purple-600); 
}

/* Hero */
.market-hero {
  max-width: 1200px; margin: 36px auto 8px; padding: 0 20px;
}
.market-hero h1{
  font-size: 44px; line-height:1.1; margin: 0 0 14px;
}
.market-hero .hero-line{
  font-size: 24px; line-height:1.4; color: var(--ink);
}
.accent-cyan{ color: var(--cyan); font-weight:800; }
.accent-change{ font-weight:800; }
.accent-change.pos{ color: var(--green); }
.accent-change.neg{ color: var(--red); }

/* Table */
.market-table-wrap{ 
  max-width: 1200px; 
  margin: 24px auto 80px; 
}

.table-scroll{ 
  background: var(--card); 
  border-radius: 16px; 
  box-shadow: 0 10px 30px rgba(36,10,100,.06); 
  overflow-x:auto; 
}

.market-table{ 
  width:100%; 
  border-collapse: collapse; 
  min-width: 860px; 
}

.market-table thead th{
  text-align:left; 
  font-weight:700; 
  font-size:14px; 
  color:#5a4c8b;
  padding: 16px 16px; 
  border-bottom:1px solid var(--border); 
  white-space:nowrap;
}

.market-table tbody td{
  padding: 16px 16px; 
  border-bottom:1px solid var(--border); 
  vertical-align: middle;
  font-size: 16px; 
  color: var(--ink);
}

/* Columns */
.col-rank{ width: 56px; color:#8b85a3; }
.col-name{ display:flex; align-items:center; gap:12px; }
.logo{ width:32px; height:32px; border-radius:50%; }
.name-wrap .name{ font-weight:700; }
.name-wrap .symbol{ font-size:12px; color:#8b85a3; margin-top:2px; text-transform:uppercase; }

.col-price{ font-variant-numeric: tabular-nums; font-weight:600; }
.col-change{ font-variant-numeric: tabular-nums; font-weight:700; }
.col-change.pos{ color: var(--green); }
.col-change.neg{ color: var(--red); }
.col-chart canvas{ display:block; width:140px; height:36px; }
.col-mcap{ font-variant-numeric: tabular-nums; }

/* Error */
.error{ text-align:center; padding:40px; color:#a00; }

/* Responsive */
@media (max-width: 768px){
  .market-hero h1{ font-size: 32px; }
  .market-hero .hero-line{ font-size: 18px; }
  .table-scroll{ border-radius: 12px; }
}
