/* =======================================================
   TODAY'S CREATIVE SHOWCASE MANAGER — PUBLIC SHORTCODES
======================================================= */

.tc-submit-wrap,
.tc-public-queue {
  --tc-public-black: #050505;
  --tc-public-panel: #171412;
  --tc-public-border: #2a211c;
  --tc-public-bone: #f3eee6;
  --tc-public-ash: #b5ada2;
  --tc-public-gold: #c8923c;
  --tc-public-gold-light: #e3b55f;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.tc-submit-wrap {
  max-width: 900px;
  margin: 0 auto;
}

.tc-submit-form {
  padding: clamp(24px,5vw,48px);
  border: 1px solid rgba(200,146,60,.28);
  border-radius: 22px;
  color: var(--tc-public-bone);
  background:
    radial-gradient(circle at 90% 0,rgba(123,32,29,.14),transparent 28%),
    linear-gradient(145deg,#17130f,#080706);
  box-shadow: 0 20px 55px rgba(0,0,0,.24);
}

.tc-submit-heading {
  margin-bottom: 28px;
}

.tc-submit-heading h2 {
  margin: 0;
  color: var(--tc-public-bone);
  font-family: Cinzel, Georgia, serif;
  font-size: clamp(2rem,5vw,3.4rem);
  line-height: 1;
}

.tc-submit-heading > p:last-child {
  max-width: 680px;
  margin: 14px 0 0;
  color: var(--tc-public-ash);
  line-height: 1.65;
}

.tc-submit-kicker {
  margin: 0 0 8px;
  color: var(--tc-public-gold);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .18em;
}

.tc-submit-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}

.tc-submit-field {
  display: grid;
  gap: 7px;
}

.tc-submit-field--full {
  grid-column: 1 / -1;
}

.tc-submit-field > span {
  color: var(--tc-public-bone);
  font-size: .78rem;
  font-weight: 800;
}

.tc-submit-field b,
.tc-submit-confirmations b {
  color: var(--tc-public-gold-light);
}

.tc-submit-field input,
.tc-submit-field textarea,
.tc-submit-field select {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid rgba(200,146,60,.28);
  border-radius: 10px;
  outline: none;
  color: var(--tc-public-bone);
  background: rgba(5,5,5,.62);
  font: inherit;
}

.tc-submit-field input:focus,
.tc-submit-field textarea:focus,
.tc-submit-field select:focus {
  border-color: var(--tc-public-gold);
  box-shadow: 0 0 0 3px rgba(200,146,60,.13);
}

.tc-submit-field small {
  color: #8f877c;
  font-size: .7rem;
  line-height: 1.45;
}

.tc-submit-confirmations {
  display: grid;
  gap: 12px;
  margin: 24px 0;
  padding: 18px;
  border: 1px solid rgba(200,146,60,.18);
  border-radius: 12px;
  background: rgba(0,0,0,.22);
}

.tc-submit-confirmations label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--tc-public-ash);
  font-size: .8rem;
  line-height: 1.5;
}

.tc-submit-confirmations input {
  margin-top: 3px;
}

.tc-submit-button {
  min-height: 50px;
  padding: 0 22px;
  border: 1px solid #b47a2b;
  border-radius: 999px;
  color: #080706;
  background: linear-gradient(135deg,#e3b55f,#b87928);
  cursor: pointer;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.tc-submit-footnote {
  margin: 16px 0 0;
  color: #827a70;
  font-size: .68rem;
  line-height: 1.55;
}

.tc-submit-notice {
  margin-bottom: 16px;
  padding: 13px 16px;
  border-radius: 10px;
  font-size: .82rem;
  font-weight: 700;
}

.tc-submit-notice--success {
  border: 1px solid rgba(77,164,105,.4);
  color: #dff3e3;
  background: rgba(37,96,53,.32);
}

.tc-submit-notice--error {
  border: 1px solid rgba(180,70,65,.4);
  color: #f5dfdf;
  background: rgba(123,32,29,.28);
}

.tc-submit-honeypot {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* PUBLIC QUEUE */
.tc-public-queue {
  max-width: 1000px;
  margin: 0 auto;
  color: var(--tc-public-bone);
}

.tc-public-queue__header {
  margin-bottom: 18px;
}

.tc-public-queue__header p {
  margin: 0 0 5px;
  color: var(--tc-public-gold);
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .15em;
}

.tc-public-queue__header h2 {
  margin: 0;
  color: var(--tc-public-bone);
  font-family: Cinzel, Georgia, serif;
}

.tc-public-queue__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tc-public-queue__list li {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid rgba(200,146,60,.18);
  border-radius: 12px;
  background: rgba(5,5,5,.48);
}

.tc-public-queue__position {
  color: var(--tc-public-gold);
  font-family: Cinzel, Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
}

.tc-public-queue__song strong,
.tc-public-queue__song span {
  display: block;
}

.tc-public-queue__song strong {
  color: var(--tc-public-bone);
}

.tc-public-queue__song span {
  margin-top: 2px;
  color: var(--tc-public-ash);
  font-size: .78rem;
}

.tc-public-queue__status {
  color: #7f776e;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.tc-public-queue__list a {
  color: var(--tc-public-gold-light);
  font-size: .72rem;
  font-weight: 800;
  text-decoration: none;
}

.tc-public-queue__empty {
  padding: 24px;
  border: 1px dashed rgba(200,146,60,.25);
  border-radius: 12px;
  color: var(--tc-public-ash);
  text-align: center;
}

/* Existing Featured Artist API fallback */
.tc-showcase-featured-load-error {
  grid-column: 1 / -1;
  padding: 28px;
  border: 1px solid rgba(200,146,60,.22);
  border-radius: 18px;
  color: #b5ada2;
  background: rgba(5,5,5,.55);
  text-align: center;
}

@media (max-width: 680px) {
  .tc-submit-grid {
    grid-template-columns: 1fr;
  }

  .tc-submit-field--full {
    grid-column: auto;
  }

  .tc-public-queue__list li {
    grid-template-columns: 44px minmax(0,1fr);
  }

  .tc-public-queue__status,
  .tc-public-queue__list a {
    grid-column: 2;
  }
}


/* =======================================================
   INLINE EXPANDABLE SUBMISSION CARD
======================================================= */

.tc-showcase-submit-card {
  margin: clamp(28px, 5vw, 58px) auto;
  border: 1px solid rgba(200, 146, 60, .30);
  border-radius: 20px;
  color: #f3eee6;
  background:
    radial-gradient(circle at 88% 12%, rgba(123, 32, 29, .16), transparent 30%),
    linear-gradient(145deg, #17130f, #080706);
  box-shadow: 0 22px 58px rgba(0, 0, 0, .25);
  overflow: hidden;
}

.tc-showcase-submit-card > summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: clamp(22px, 4vw, 34px);
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.tc-showcase-submit-card > summary::-webkit-details-marker {
  display: none;
}

.tc-showcase-submit-card > summary:focus-visible {
  outline: 3px solid rgba(200, 146, 60, .35);
  outline-offset: -4px;
}

.tc-showcase-submit-card__eyebrow {
  display: block;
  margin-bottom: 6px;
  color: #c8923c;
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.tc-showcase-submit-card__title {
  display: block;
  color: #f3eee6;
  font-family: Cinzel, Georgia, serif;
  font-size: clamp(1.5rem, 3.5vw, 2.35rem);
  font-weight: 700;
  line-height: 1.08;
}

.tc-showcase-submit-card__copy {
  display: block;
  max-width: 760px;
  margin-top: 8px;
  color: #b5ada2;
  font-size: .82rem;
  line-height: 1.55;
}

.tc-showcase-submit-card__toggle {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(200, 146, 60, .45);
  border-radius: 50%;
  color: #e3b55f;
  background: rgba(5, 5, 5, .45);
  font-size: 1.55rem;
  line-height: 1;
  transition: transform .22s ease, background-color .22s ease;
}

.tc-showcase-submit-card[open] .tc-showcase-submit-card__toggle {
  transform: rotate(45deg);
  background: rgba(200, 146, 60, .12);
}

.tc-showcase-submit-card__body {
  padding: 0 clamp(16px, 4vw, 34px) clamp(22px, 4vw, 34px);
  border-top: 1px solid rgba(200, 146, 60, .15);
}

.tc-showcase-submit-card__body .tc-submit-wrap {
  max-width: none;
  margin-top: 24px;
}

.tc-showcase-submit-card__body .tc-submit-form {
  padding: clamp(20px, 4vw, 38px);
  border-color: rgba(200, 146, 60, .18);
  box-shadow: none;
}

.tc-submit-loading,
.tc-submit-mount-error {
  margin: 24px 0 0;
  padding: 18px;
  border: 1px solid rgba(200, 146, 60, .18);
  border-radius: 12px;
  color: #b5ada2;
  background: rgba(5, 5, 5, .38);
  text-align: center;
}

.tc-submit-mount-error {
  color: #f1cccc;
  border-color: rgba(123, 32, 29, .42);
}

@media (max-width: 680px) {
  .tc-showcase-submit-card > summary {
    grid-template-columns: minmax(0, 1fr) 42px;
    padding: 20px;
  }

  .tc-showcase-submit-card__toggle {
    width: 40px;
    height: 40px;
  }
}


/* =======================================================
   PUBLIC SUBMISSION — PROCESSING STATE
======================================================= */

.tc-submit-form {
  position: relative;
}

.tc-submit-form.is-processing .tc-submit-grid,
.tc-submit-form.is-processing .tc-submit-confirmations,
.tc-submit-form.is-processing .tc-submit-footnote {
  opacity: 0.58;
  pointer-events: none;
  user-select: none;
}

.tc-submit-form.is-processing .tc-submit-button {
  cursor: wait;
}

.tc-submit-button:disabled {
  opacity: 0.7;
  cursor: wait;
  transform: none;
}

.tc-submit-processing[hidden] {
  display: none !important;
}

.tc-submit-processing {
  display: grid;
  gap: 14px;
  margin-top: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(200,146,60,.34);
  border-radius: 12px;
  color: var(--tc-public-bone);
  background:
    linear-gradient(135deg, rgba(200,146,60,.10), rgba(5,5,5,.62));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}

.tc-submit-processing__top {
  display: flex;
  align-items: center;
  gap: 12px;
}

.tc-submit-processing__top > div {
  min-width: 0;
}

.tc-submit-processing__top strong,
.tc-submit-processing__top span {
  display: block;
}

.tc-submit-processing__top strong {
  color: var(--tc-public-bone);
  font-size: .86rem;
  font-weight: 900;
}

.tc-submit-processing__top > div > span {
  margin-top: 3px;
  color: var(--tc-public-ash);
  font-size: .72rem;
  line-height: 1.45;
}

.tc-submit-processing__spinner {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border: 3px solid rgba(200,146,60,.22);
  border-top-color: var(--tc-public-gold-light);
  border-radius: 50%;
  animation: tcSubmitSpinner .8s linear infinite;
}

.tc-submit-processing__bar {
  position: relative;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(200,146,60,.12);
}

.tc-submit-processing__bar > span {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -38%;
  width: 38%;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    rgba(200,146,60,.28),
    var(--tc-public-gold-light),
    rgba(200,146,60,.28)
  );
  animation: tcSubmitProgress 1.15s ease-in-out infinite;
}

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

@keyframes tcSubmitProgress {
  0% {
    left: -38%;
  }

  100% {
    left: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tc-submit-processing__spinner {
    animation-duration: 1.8s;
  }

  .tc-submit-processing__bar > span {
    animation-duration: 2.4s;
  }
}


/* =======================================================
   PUBLIC SUBMISSION — SOCIAL / WEBSITE REPEATER
======================================================= */

.tc-submit-socials > small {
  margin-top: -2px;
}

.tc-submit-social-list {
  display: grid;
  gap: 9px;
  margin-top: 5px;
}

.tc-submit-social-row {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr) 38px;
  gap: 8px;
  align-items: stretch;
}

.tc-submit-social-platform select {
  height: 100%;
}

.tc-submit-social-value {
  min-width: 0;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgba(200,146,60,.28);
  border-radius: 10px;
  background: rgba(5,5,5,.62);
}

.tc-submit-social-value:focus-within {
  border-color: var(--tc-public-gold);
  box-shadow: 0 0 0 3px rgba(200,146,60,.13);
}

.tc-submit-social-prefix {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding: 0 10px;
  border-right: 1px solid rgba(200,146,60,.18);
  color: #8f877c;
  background: rgba(200,146,60,.06);
  font-size: .72rem;
  white-space: nowrap;
}

.tc-submit-social-value .tc-submit-social-handle {
  min-width: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

.tc-submit-social-value .tc-submit-social-handle:focus {
  border: 0;
  box-shadow: none;
}

.tc-submit-social-remove {
  border: 1px solid rgba(123,32,29,.5);
  border-radius: 9px;
  color: #f1cccc;
  background: rgba(123,32,29,.18);
  cursor: pointer;
  font-size: 1.1rem;
  font-weight: 900;
}

.tc-submit-social-add {
  width: fit-content;
  margin-top: 3px;
  padding: 8px 12px;
  border: 1px solid rgba(200,146,60,.32);
  border-radius: 999px;
  color: var(--tc-public-gold-light);
  background: rgba(200,146,60,.07);
  cursor: pointer;
  font-size: .72rem;
  font-weight: 800;
}

.tc-submit-social-add:disabled {
  opacity: .5;
  cursor: default;
}

/* =======================================================
   PUBLIC SUBMISSION — ACTION ROW / PROCESSING
======================================================= */

.tc-submit-action-row {
  display: grid;
  grid-template-columns: max-content minmax(300px, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 2px;
}

.tc-submit-action-row .tc-submit-button {
  margin: 0;
}

.tc-submit-action-row .tc-submit-processing {
  min-width: 0;
  margin: 0;
  padding: 10px 13px;
}

.tc-submit-action-row .tc-submit-processing__top {
  gap: 9px;
}

.tc-submit-action-row .tc-submit-processing__spinner {
  width: 19px;
  height: 19px;
  flex-basis: 19px;
  border-width: 2px;
}

.tc-submit-action-row .tc-submit-processing__top strong {
  font-size: .78rem;
}

.tc-submit-action-row .tc-submit-processing__top > div > span {
  font-size: .66rem;
}

.tc-submit-action-row .tc-submit-processing__bar {
  height: 6px;
}

@media (max-width: 760px) {
  .tc-submit-social-row {
    grid-template-columns: 1fr 38px;
  }

  .tc-submit-social-platform {
    grid-column: 1 / -1;
  }

  .tc-submit-action-row {
    grid-template-columns: 1fr;
  }

  .tc-submit-action-row .tc-submit-button {
    width: 100%;
  }
}


/* =======================================================
   PUBLIC SUBMISSION — SUCCESS NOTICE DISMISSAL
======================================================= */

.tc-submit-notice {
  transition:
    opacity 300ms ease,
    transform 300ms ease,
    max-height 300ms ease,
    margin 300ms ease,
    padding 300ms ease;
}

.tc-submit-notice.is-dismissing {
  max-height: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-6px);
}

