.music-timeline-page{min-height:calc(100vh - 86px);margin:0 calc(50% - 50vw);padding:42px 16px 64px;background:radial-gradient(circle at 18% 4%,rgba(216,32,62,.14),transparent 30%),radial-gradient(circle at 88% 15%,rgba(255,204,0,.06),transparent 28%),#090a0f;color:#f5f5f7}.music-timeline-shell{width:min(920px,100%);margin:0 auto}.music-timeline-hero{text-align:center;margin-bottom:30px}.music-timeline-eyebrow{margin:0 0 7px;color:#ff5973;font-size:.76rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.music-timeline-hero h1{margin:0;color:#fff;font-size:clamp(2.25rem,7vw,4rem);font-weight:950;line-height:1}.music-timeline-intro{max-width:620px;margin:13px auto 0;color:#b8bac3;font-size:1.05rem;line-height:1.55}.music-timeline-modes{display:inline-flex;gap:6px;margin-top:20px;padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.045)}.music-timeline-mode{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:999px;color:#b8bac3;font-weight:900;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}.music-timeline-mode:hover,.music-timeline-mode:focus-visible{color:#fff;background:rgba(255,255,255,.08)}.music-timeline-mode.is-active{background:#e22040;color:#fff;box-shadow:0 6px 18px rgba(226,32,64,.2)}.music-timeline-status{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px;color:#d7d8de;font-size:.9rem}.music-timeline-status-label{color:#fff;font-weight:900}.music-timeline-status-hint{color:#9ea1ab;text-align:right}.music-timeline-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.music-timeline-card{display:grid;grid-template-columns:42px 82px minmax(0,1fr) auto;gap:14px;align-items:center;min-width:0;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:linear-gradient(145deg,rgba(29,31,40,.98),rgba(16,17,23,.99));color:#f5f5f7;box-shadow:0 10px 28px rgba(0,0,0,.18);cursor:grab;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.music-timeline-card:hover{border-color:rgba(255,89,115,.35)}.music-timeline-card:active{cursor:grabbing}.music-timeline-card.is-dragging{opacity:.55;transform:scale(.985)}.music-timeline-card.is-locked{cursor:default}.music-timeline-card.is-revealed{animation:timeline-pop .32s ease}.music-timeline-card.is-correct{border-color:rgba(63,185,102,.95);background:rgba(45,125,72,.28);box-shadow:0 0 0 1px rgba(63,185,102,.12),0 10px 30px rgba(0,0,0,.2)}.music-timeline-card.is-wrong{border-color:rgba(231,76,91,.95);background:rgba(156,42,54,.24)}.music-timeline-card.is-answer{border-color:rgba(255,207,63,.4);background:linear-gradient(145deg,rgba(33,32,28,.98),rgba(16,17,23,.99))}.music-timeline-card.is-answer .music-timeline-position{background:#ffcf3f;color:#111}.music-timeline-position{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.09);color:#fff;font-weight:900}.music-timeline-cover{width:82px;aspect-ratio:1;border-radius:12px;object-fit:cover;display:block;background:#15171e}.music-timeline-copy{min-width:0}.music-timeline-copy h2{margin:0;color:#fff;font-size:1.06rem;font-weight:900;line-height:1.2;overflow-wrap:anywhere}.music-timeline-copy p{margin:5px 0 0;color:#aeb1ba}.music-timeline-copy .music-timeline-year{margin-top:7px;color:#ffcf3f;font-weight:950;font-size:1.08rem}.music-timeline-move-controls{display:grid;grid-template-columns:repeat(2,44px);gap:6px}.music-timeline-move{width:44px;height:44px;border:1px solid rgba(255,255,255,.17);border-radius:12px;background:rgba(255,255,255,.04);color:#fff;font-size:1.2rem;font-weight:900;cursor:pointer}.music-timeline-move:hover,.music-timeline-move:focus-visible{border-color:#ff5973;background:rgba(255,89,115,.11)}.music-timeline-move:disabled{opacity:.18;cursor:default}.music-timeline-actions{display:flex;justify-content:center;gap:10px;margin-top:22px;flex-wrap:wrap}.music-timeline-lock,.music-timeline-play-again{min-height:50px;padding:0 26px;border-radius:999px;font-weight:950;font-size:1rem;cursor:pointer}.music-timeline-lock{border:1px solid #e22040;background:#e22040;color:#fff}.music-timeline-lock:hover,.music-timeline-lock:focus-visible{background:#bd1935;border-color:#bd1935}.music-timeline-play-again{border:1px solid #e22040;background:#e22040;color:#fff}.music-timeline-play-again:hover,.music-timeline-play-again:focus-visible{background:#bd1935}.music-timeline-result,.music-timeline-empty{margin-top:24px;padding:24px;text-align:center;border-radius:18px;border:1px solid rgba(255,207,63,.28);background:radial-gradient(circle at 50% 0,rgba(255,207,63,.09),transparent 65%),rgba(255,255,255,.045);color:#d7d8de}.music-timeline-result-kicker{margin:0 0 7px;color:#ff5973;font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.music-timeline-result h2,.music-timeline-empty h2{margin:0;color:#fff;font-size:clamp(1.65rem,5vw,2.5rem)}.music-timeline-result p:last-child{margin:9px 0 0;color:#c5c7cf}.music-timeline-empty a{color:#ff7d91}@keyframes timeline-pop{0%{transform:scale(.985)}55%{transform:scale(1.012)}100%{transform:scale(1)}}@media(max-width:620px){.music-timeline-page{padding:34px 10px 54px}.music-timeline-hero{margin-bottom:24px}.music-timeline-modes{display:flex;width:min(100%,300px);margin:18px auto 0}.music-timeline-mode{flex:1;padding:0 12px}.music-timeline-status{display:block}.music-timeline-status-hint{display:block;margin-top:4px;text-align:left}.music-timeline-card{grid-template-columns:34px 64px minmax(0,1fr);gap:10px;padding:10px}.music-timeline-position{width:32px;height:32px}.music-timeline-cover{width:64px;border-radius:10px}.music-timeline-copy h2{font-size:.96rem}.music-timeline-copy p{font-size:.88rem}.music-timeline-move-controls{grid-column:2/-1;grid-template-columns:repeat(2,minmax(44px,1fr))}.music-timeline-move{width:100%}.music-timeline-result{padding:20px 14px}}@media(prefers-reduced-motion:reduce){.music-timeline-card{transition:none}.music-timeline-card.is-revealed{animation:none}}


.music-timeline-genre-picker{
  width:min(360px,100%);
  margin:22px auto 0;
}

.music-timeline-genre-title{
  display:block;
  margin-bottom:9px;
  color:#aeb1ba;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}

.music-timeline-genre-select-wrap{
  position:relative;
  width:100%;
}

.music-timeline-genre-select{
  width:100%;
  min-height:48px;
  padding:0 46px 0 16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  appearance:none;
  -webkit-appearance:none;
  background:#1a1b21;
  color:#fff;
  font-size:.95rem;
  font-weight:850;
  outline:none;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}

.music-timeline-genre-select:hover,
.music-timeline-genre-select:focus{
  border-color:#e22040;
}

.music-timeline-genre-chevron{
  position:absolute;
  top:50%;
  right:16px;
  transform:translateY(-50%);
  color:#ff5973;
  font-size:1rem;
  font-weight:950;
  pointer-events:none;
}

@media(max-width:620px){
  .music-timeline-genre-picker{
    width:100%;
    margin-top:18px;
  }

  .music-timeline-genre-select{
    min-height:50px;
    font-size:1rem;
  }
}

.music-timeline-preparing{
  position:fixed;
  inset:0;
  z-index:20000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(7,8,12,.94);
  backdrop-filter:blur(10px);
}

.music-timeline-preparing[hidden]{
  display:none !important;
}

.music-timeline-preparing-card{
  width:min(440px,100%);
  padding:34px 24px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:
    radial-gradient(
      circle at 50% 0,
      rgba(226,32,64,.15),
      transparent 62%
    ),
    #15161c;
  color:#fff;
  text-align:center;
  box-shadow:0 24px 70px rgba(0,0,0,.52);
}

.music-timeline-preparing-spinner{
  width:64px;
  height:64px;
  margin:0 auto 22px;
  border:7px solid rgba(255,255,255,.10);
  border-top-color:#e22040;
  border-radius:50%;
  animation:musicTimelinePreparingSpin .8s linear infinite;
}

.music-timeline-preparing-kicker{
  margin:0 0 7px;
  color:#ff5973;
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.music-timeline-preparing-card h2{
  margin:0;
  color:#fff;
  font-size:clamp(1.5rem,5vw,2rem);
  font-weight:950;
}

.music-timeline-preparing-card p:last-child{
  margin:10px 0 0;
  color:#b8bac3;
  line-height:1.5;
}

@keyframes musicTimelinePreparingSpin{
  to{
    transform:rotate(360deg);
  }
}

@media(prefers-reduced-motion:reduce){
  .music-timeline-preparing-spinner{
    animation:none;
  }
}
