/* 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; }