/* TRUSTCO — modules.css
   Live Terminal, Meme Wall, Leaderboard, Ticker Tape */

/* ===== TICKER TAPE ===== */
.ticker-tape{
  position:relative;
  background:#0d0403;
  border-top:1px solid rgba(212,175,55,.2);
  border-bottom:1px solid rgba(212,175,55,.2);
  overflow:hidden;
  padding:10px 0;
  font-family:'JetBrains Mono',monospace;
  font-size:13px;
  letter-spacing:.08em;
  color:#f5e9c4;
}
.ticker-tape .track{
  display:inline-flex;
  gap:48px;
  white-space:nowrap;
  animation:tape 45s linear infinite;
  padding-left:48px;
}
.ticker-tape .item{display:inline-flex;gap:8px;align-items:center}
.ticker-tape .sym{color:#d4af37;font-weight:600}
.ticker-tape .val{color:#f5e9c4}
.ticker-tape .chg-up{color:#6dba6b}
.ticker-tape .chg-dn{color:#c8513d}
.ticker-tape .sep{color:rgba(245,233,196,.28)}
@keyframes tape{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* ===== LIVE TERMINAL ===== */
.terminal-sec{
  background:linear-gradient(180deg,#1a0806,#0d0403);
  border-top:1px solid rgba(212,175,55,.18);
  padding:clamp(48px,7vw,96px) 0;
}
.terminal-sec .container{max-width:1200px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.terminal-sec h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(32px,4vw,52px);
  color:#f5e9c4;
  margin:0 0 8px;
  letter-spacing:-.02em;
}
.terminal-sec .sub{
  font-family:'JetBrains Mono',monospace;
  color:rgba(245,233,196,.55);
  font-size:13px;
  letter-spacing:.14em;
  margin:0 0 40px;
  text-transform:uppercase;
}
.term-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1px;
  background:rgba(212,175,55,.2);
  border:1px solid rgba(212,175,55,.2);
}
.term-cell{
  background:#0d0403;
  padding:24px 20px;
  font-family:'JetBrains Mono',monospace;
}
.term-cell .label{
  font-size:11px;
  letter-spacing:.16em;
  color:rgba(245,233,196,.45);
  text-transform:uppercase;
  margin-bottom:14px;
}
.term-cell .value{
  font-size:clamp(24px,3vw,32px);
  color:#f5e9c4;
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1;
}
.term-cell .delta{
  margin-top:10px;
  font-size:12px;
  letter-spacing:.05em;
}
.term-cell .delta.up{color:#6dba6b}
.term-cell .delta.dn{color:#c8513d}
.term-cell .delta::before{
  content:"● ";
  animation:tick-pulse 1.5s steps(2,end) infinite;
}
@keyframes tick-pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* candlestick block */
.chart-block{
  grid-column:1/-1;
  background:#0d0403;
  padding:24px;
  border-top:1px solid rgba(212,175,55,.2);
}
.chart-block .label{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.16em;
  color:rgba(245,233,196,.45);
  text-transform:uppercase;
  margin-bottom:16px;
}
.chart-block svg{width:100%;height:180px;display:block}

/* ===== MEME WALL ===== */
.meme-sec{
  background:#1a0806;
  border-top:1px solid rgba(212,175,55,.18);
  padding:clamp(48px,7vw,96px) 0;
}
.meme-sec .container{max-width:1400px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.meme-sec .head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  margin-bottom:40px;
}
.meme-sec h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(32px,4vw,52px);
  color:#f5e9c4;
  margin:0;
  letter-spacing:-.02em;
}
.meme-sec .sub{
  font-family:'JetBrains Mono',monospace;
  color:rgba(245,233,196,.55);
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.meme-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:16px;
}
.meme-card{
  position:relative;
  aspect-ratio:1/1;
  background:#0d0403;
  border:1px solid rgba(212,175,55,.25);
  overflow:hidden;
  cursor:pointer;
  transition:border-color .2s,transform .2s;
}
.meme-card:hover{
  border-color:rgba(212,175,55,.6);
  transform:translateY(-2px);
}
.meme-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:sepia(.08) contrast(1.02);
}
.meme-card .badge{
  position:absolute;
  top:8px;
  left:8px;
  background:#0d0403;
  border:1px solid rgba(212,175,55,.4);
  color:#d4af37;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.14em;
  padding:3px 7px;
}
.meme-card .dl{
  position:absolute;
  bottom:8px;
  right:8px;
  background:#0d0403;
  border:1px solid rgba(212,175,55,.4);
  color:#d4af37;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:.1em;
  padding:4px 8px;
  text-decoration:none;
  opacity:0;
  transition:opacity .2s;
}
.meme-card:hover .dl{opacity:1}

/* ===== BROKER LEADERBOARD ===== */
.lb-sec{
  background:linear-gradient(180deg,#0d0403,#1a0806);
  border-top:1px solid rgba(212,175,55,.18);
  padding:clamp(48px,7vw,96px) 0;
}
.lb-sec .container{max-width:1000px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.lb-sec h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(32px,4vw,52px);
  color:#f5e9c4;
  margin:0 0 8px;
  letter-spacing:-.02em;
}
.lb-sec .sub{
  font-family:'JetBrains Mono',monospace;
  color:rgba(245,233,196,.55);
  font-size:13px;
  letter-spacing:.14em;
  margin:0 0 32px;
  text-transform:uppercase;
}
.lb-table{
  width:100%;
  border-collapse:collapse;
  font-family:'JetBrains Mono',monospace;
  font-size:13px;
}
.lb-table th{
  text-align:left;
  padding:12px 16px;
  color:rgba(245,233,196,.45);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:400;
  border-bottom:1px solid rgba(212,175,55,.2);
}
.lb-table td{
  padding:14px 16px;
  color:#f5e9c4;
  border-bottom:1px solid rgba(212,175,55,.08);
}
.lb-table tr:hover td{background:rgba(212,175,55,.04)}
.lb-table .rank-cell{width:60px;color:#d4af37;font-weight:600}
.lb-table .tier-cell{
  color:#d4af37;
  font-size:10px;
  letter-spacing:.14em;
}
.lb-table .tier-founding{color:#d4af37}
.lb-table .tier-senior{color:#f5e9c4}
.lb-table .tier-assoc{color:rgba(245,233,196,.7)}
.lb-table .tier-floor{color:rgba(245,233,196,.45)}
.lb-table .addr-cell{
  color:rgba(245,233,196,.55);
  font-size:11px;
}
.lb-table .empty{
  text-align:center;
  padding:48px;
  color:rgba(245,233,196,.4);
  font-style:italic;
}

@media (max-width:640px){
  .lb-table th:nth-child(4),
  .lb-table td:nth-child(4){display:none}
  .meme-grid{grid-template-columns:repeat(2,1fr);gap:12px}
}
