dance.css 1.98 KB
/* dance.html deltas on top of live.css — same comic-panel visual language,
   loaded after live.css so these rules win. Only what dance.html actually
   needs differently: a boxed 9:16 player (T13) and the wardrobe grid (T16).
   Everything else (topbar, clip-row, qrow/up-btn, nickname modal, mobile
   sub-tabs) is reused as-is from live.css. */

/* dance.html's video is a fixed 480x832 (9:16) product, not the arbitrary
   aspect ratio live.html's text-prompt clips can end up at — box it to that
   ratio and center it instead of letting it stretch edge-to-edge on a wide
   desktop viewport. */
.player-wrap {
  aspect-ratio: 9 / 16;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
  width: auto;
  height: 100%;
}
@media (max-width: 768px) {
  .player-wrap { height: auto; width: 100%; }
}

.wardrobe-tabs { display: flex; gap: 8px; padding: 0 2px 4px; }
.wardrobe-tabs button {
  flex: 1;
  font: bold 12px Tahoma, sans-serif;
  background: #fff;
  border: 3px solid #000;
  color: var(--ink);
  border-radius: 12px;
  padding: 7px 4px;
  box-shadow: var(--shadow-sm);
  cursor: pointer;
}
.wardrobe-tabs button.active { background: var(--accent); }

.wardrobe-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.wardrobe-card {
  color: var(--ink);
  background: #fff;
  border: 3px solid #000;
  border-radius: 14px;
  padding: 6px;
  box-shadow: var(--shadow);
  cursor: pointer;
  text-align: center;
}
.wardrobe-card:active { transform: translate(2px, 2px); box-shadow: 2px 2px 0 #000; }
.wardrobe-card img { width: 100%; height: 90px; object-fit: cover; border-radius: 8px; margin-bottom: 4px; display: block; }
.wardrobe-card .name { font-size: 12px; font-weight: bold; line-height: 1.3; }
.wardrobe-card.disabled { opacity: .5; cursor: default; }

.coming-soon { color: var(--muted); text-align: center; margin-top: 40px; font-size: 13px; font-weight: bold; padding: 0 12px; }

.age-box .age-disclaimer { font-size: 12px; line-height: 1.6; color: #444; font-weight: normal; }