.shorts-shell { width: min(100% - 32px,1120px); margin: 0 auto; padding: 56px 0 80px; }
.shorts-request-card { padding: 30px; }
.shorts-profile-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.72fr); gap: 28px; }
.shorts-basic-fields { padding-left: 28px; border-left: 1px solid #e2e7ef; }
.shorts-limit-note { margin: 2px 0 0; padding: 11px 12px; border-radius: 9px; background: #f2f6fc; color: #657086; font-size: 9px; line-height: 1.6; }
.shorts-closed-notice { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; margin: 0 0 16px; padding: 15px; border: 1px solid #efc9cf; border-radius: 12px; background: #fff5f6; color: #9a3d4d; text-align: center; }
.shorts-closed-notice b { font-size: 12px; }
.shorts-closed-notice span { font-size: 9px; line-height: 1.6; }
.dance-picker { margin: 28px 0 22px; padding: 24px 0 0; border: 0; border-top: 1px solid #e2e7ef; }
.dance-picker legend { padding: 0 12px 0 0; color: #303746; font-size: 14px; font-weight: 900; }
.dance-picker legend small { margin-left: 7px; color: #737b8d; font-size: 9px; font-weight: 500; }
.dance-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin-top: 17px; }
.dance-card { min-width: 0; cursor: pointer; }
.dance-card > input { position: absolute; opacity: 0; pointer-events: none; }
.dance-card > span { overflow: hidden; display: block; border: 2px solid transparent; border-radius: 14px; background: #f5f7fa; box-shadow: inset 0 0 0 1px #e2e7ef; transition: border-color .16s,box-shadow .16s,transform .16s; }
.dance-card:hover > span { transform: translateY(-2px); }
.dance-card input:checked + span { border-color: #3478e5; box-shadow: 0 0 0 3px rgba(52,120,229,.13); }
.dance-card video { width: 100%; aspect-ratio: 1/1; display: block; background: #080a0f; object-fit: contain; }
.dance-card b { min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 8px; color: #303746; font-size: 11px; text-align: center; }
@media (max-width: 760px) {
  .shorts-profile-grid { grid-template-columns: 1fr; }
  .shorts-basic-fields { padding: 22px 0 0; border-top: 1px solid #e2e7ef; border-left: 0; }
}
@media (max-width: 600px) {
  .shorts-shell { width: min(100% - 20px,1120px); padding: 34px 0 52px; }
  .shorts-request-card { padding: 20px 12px; }
  .dance-grid { gap: 6px; }
  .dance-card > span { border-radius: 9px; }
  .dance-card b { min-height: 38px; padding: 5px 3px; font-size: 9px; }
}
