*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',sans-serif;background:#F5F5F5;color:#1A1A1A;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.reveal.show{opacity:1;transform:translateY(0)}
.stat-c{background:#fff;border:1px solid #E5E5E5;border-radius:12px;padding:.9rem 1rem;text-align:center}
.clift{transition:transform .2s,box-shadow .2s}
.clift:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.quote-block{border-left:4px solid #800000;padding:1rem 1.5rem;background:#FFF5F5;border-radius:0 12px 12px 0;font-style:italic}
.tl-wrap{position:relative;padding-left:2.5rem}
.tl-line{position:absolute;left:18px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#800000,#FFD700 60%,transparent)}
.tl-dot{position:absolute;left:-2rem;top:.3rem;width:12px;height:12px;border-radius:50%;background:#800000;border:2.5px solid #fff;box-shadow:0 0 0 2px #800000}
.tl-dot-gold{position:absolute;left:-2rem;top:.3rem;width:14px;height:14px;border-radius:50%;background:#FFD700;border:3px solid #fff;box-shadow:0 0 0 2px #FFD700}
.tl-dot-big{position:absolute;left:-2.1rem;top:.25rem;width:14px;height:14px;border-radius:50%;background:#800000;border:3px solid #fff;box-shadow:0 0 0 3px #800000}
.tl-item{position:relative;margin-bottom:1.8rem;padding-left:.2rem}
.tl-item:last-child{margin-bottom:0}
/* Seat bar */
.seat-bar{height:10px;background:#E5E5E5;border-radius:99px;overflow:hidden;margin-top:.4rem}
.seat-fill{height:100%;border-radius:99px;transition:width 1.2s ease}
/* Challenge card */
.chal-card{background:#fff;border-radius:14px;border:1px solid #E5E5E5;padding:1.2rem;border-left:4px solid #800000;transition:all .2s}
.chal-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.08)}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-thumb{background:#E5E5E5;border-radius:3px}

/* ── Floor Test mobile fix ── */
@media (max-width: 640px) {
  .floor-test-entry {
    grid-template-columns: 1fr !important;
  }
  .floor-test-entry > div:first-child {
    display: flex;
    align-items: center;
    gap: .6rem;
    text-align: left !important;
    padding: .5rem .8rem !important;
  }
  .floor-test-entry [style*="grid-template-columns:1fr 80px 80px"] {
    grid-template-columns: 1fr 52px 62px !important;
    padding: .45rem .6rem !important;
    gap: .15rem;
  }
  .floor-test-entry [style*="grid-template-columns:1fr 80px 80px"] > div:first-child {
    font-size: .72rem !important;
  }
}
