.hero { margin-bottom: 16px; }
.hero__title { font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.hero__sub { margin-top: 4px; font-size: 13px; color: var(--text-3); }

.picker { display: flex; gap: 10px; margin-bottom: 16px; }
.picker__slot { flex: 1; min-width: 0; }
.picker__empty {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  width: 100%; height: 92px; border-radius: var(--r); font-size: 13px; color: var(--text-3);
  background: var(--card); border: 1px dashed var(--line);
}
.picker__plus { font-size: 22px; line-height: 1; color: var(--brand); }

.picked {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px;
  height: 92px; padding: 10px; border-radius: var(--r); background: var(--card); box-shadow: var(--shadow);
}
.picked__poster { width: 34px; height: 46px; border-radius: 5px; object-fit: cover; background: var(--line); }
.picked__title {
  width: 100%; text-align: center; font-size: 13px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.picked__clear {
  position: absolute; top: 2px; right: 6px; width: 22px; height: 22px;
  font-size: 17px; line-height: 1; color: var(--text-3);
}

.cmp__tabs { display: flex; margin-bottom: 14px; }
.cmp__tabs .segment__item { cursor: pointer; }

.cmp__head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.cmp__name { flex: 1; min-width: 0; font-size: 15px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cmp__name--b { text-align: right; }
.cmp__vs { flex: none; font: 700 12px var(--mono); color: var(--text-3); }

.cmp__bar { display: flex; height: 8px; border-radius: 4px; overflow: hidden; background: var(--line); }
.cmp__bar-a { background: linear-gradient(90deg, var(--brand-2), var(--brand)); }
.cmp__bar-b { background: linear-gradient(90deg, #f7c948, var(--gold)); }
.cmp__summary { margin: 10px 0 16px; text-align: center; font-size: 13px; color: var(--text-2); }

.cmp__row { display: flex; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--line); }
.cmp__row:last-child { border-bottom: 0; padding-bottom: 0; }
.cmp__label { flex: none; width: 108px; text-align: center; font-size: 12px; color: var(--text-3); }
.cmp__val { flex: 1; min-width: 0; font: 500 15px var(--mono); color: var(--text-2); }
.cmp__val:last-child { text-align: right; }
.cmp__val.is-win { color: var(--text); font-weight: 700; }

/* ── 选剧弹层 ─────────────────────────────────────── */
.sheet {
  position: fixed; inset: 0; z-index: 50; display: flex; align-items: flex-end;
  background: rgba(20, 22, 40, .45);
}
.sheet__panel {
  width: 100%; max-height: 74vh; display: flex; flex-direction: column;
  background: var(--card); border-radius: var(--r-lg) var(--r-lg) 0 0;
  padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
}
.sheet__head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.sheet__close { flex: none; font-size: 14px; color: var(--text-3); }
.sheet__list { flex: 1; overflow-y: auto; }
.sheet__list button { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 0; text-align: left; }
.sheet__list li + li button { border-top: 1px solid var(--line); }
.sheet__poster { width: 34px; height: 46px; border-radius: 5px; object-fit: cover; background: var(--line); }
.sheet__title { flex: 1; min-width: 0; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sheet__meta { flex: none; font-size: 12px; color: var(--text-3); }

@media (min-width: 768px) {
  .hero__title { font-size: 26px; }
  .sheet { align-items: center; justify-content: center; }
  .sheet__panel { max-width: 460px; border-radius: var(--r-lg); max-height: 66vh; }
}
