/* Contest Detail active styles. Consolidated after CSS cleanup. */
body{background:#F9FAFB!important;}
.contest-page{padding-top:34px;padding-bottom:72px;}
.contest-stack{display:grid;gap:22px;}
.hero-banner{width:100%;height:280px;border-radius:12px;overflow:hidden;position:relative;background:linear-gradient(180deg,#F3F4F6 0%,#E5E7EB 100%);margin-top:0;}
.hero-banner img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:#9CA3AF;font-size:14px;line-height:1.9;}
.hero-info-card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:32px 34px;display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start;}
.contest-detail-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.award-badge{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;background:#111827;color:#fff;border:1px solid #111827;}
.detail-content-container{background:transparent;border:0;border-radius:0;box-shadow:none;padding:26px 28px;overflow:hidden;}
.contest-page-nav{--contest-page-action-width:112px;position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto;width:100%;max-width:1040px;padding:4px 0;background:transparent;}
.contest-page-nav__items{display:flex;align-items:center;justify-content:center;width:auto;}
.contest-page-nav__tabs{display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:4px;border-radius:10px;background:#F3F4F6;}
.contest-page-nav__item{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--contest-page-action-width);min-width:var(--contest-page-action-width);min-height:40px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:#6B7280;font-size:14px;font-weight:700;line-height:1;text-decoration:none;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;box-sizing:border-box;cursor:pointer;}
.contest-page-nav__item:hover{color:#111827;}
.contest-page-nav__item.is-active{background:#fff;box-shadow:0 1px 4px rgba(17,24,39,.1);color:#111827;}
.contest-page-nav__join{display:inline-flex;align-items:center;justify-content:center;width:var(--contest-page-action-width);min-width:var(--contest-page-action-width);min-height:40px;margin:0;padding:0 12px;border-radius:10px;background:#DC2626;color:#fff;font-size:14px;font-weight:700;line-height:1;text-decoration:none;transition:background-color .2s ease,transform .2s ease;box-sizing:border-box;}
.contest-page-nav__join:hover{background:#B91C1C;color:#fff;transform:translateY(-1px);}
.contest-page-nav.is-stuck .contest-page-nav__join{visibility:hidden;width:0;min-width:0;margin:0;padding-right:0;padding-left:0;overflow:hidden;pointer-events:none;}
.contest-page-nav.is-stuck{gap:0;}
.detail-content-container.is-collapsed{display:none;}
.contest-schedule.is-collapsed{display:none;}

.detail-content-inner{margin-top:0;padding-top:0;border-top:0;}
.section-card{background:#fff;border:1px solid #E5E7EB;border-radius:22px;box-shadow:0 1px 2px rgba(17,24,39,.03);overflow:hidden;padding:26px 28px;}
.works-home-section{padding:26px 0 24px;background:transparent!important;border:none!important;box-shadow:none!important;overflow:visible!important;}
.works-home-section .section-head{padding:0 28px;margin-bottom:18px;}
.works-home-section .works-wrap{margin-bottom:0;}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.section-head-left{justify-content:flex-start;}
.section-tabs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.section-tab{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid #E5E7EB;color:#111827;font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:all .22s ease;cursor:pointer;}
.section-tab:hover{border-color:#D1D5DB;background:#F9FAFB;}
.section-tab.active{background:#111827;border-color:#111827;color:#fff;}
.section-tab.static{cursor:default;}
.section-tab.static:hover{border-color:#111827;background:#111827;color:#fff;}
.works-tab-panel{display:none;}
.works-tab-panel.active{display:block;}
.detail-title{margin:0;font-size:22px;font-weight:800;line-height:1.35;color:#111827;letter-spacing:-0.03em;}

.works-wrap{width:100%;position:relative;margin-bottom:40px;}
.works{column-count:1;column-gap:16px;display:block;}
.card{break-inside:avoid;background:#fff;border-radius:12px;overflow:hidden;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,0.06);transition:all 0.3s ease;}
.card:hover{transform:translateY(-6px);box-shadow:0 8px 24px rgba(0,0,0,0.12);}
.card-cover{display:block;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#f5f5f5;position:relative;text-decoration:none;}
.card-cover img{width:100%;height:100%;object-fit:contain;display:block;}
.card-award{position:absolute;left:10px;top:10px;z-index:1;}
.info{padding:14px;}
.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px;}
.title{font-size:15px;font-weight:600;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.stats{display:flex;gap:8px;font-size:12px;color:#999;}

.like-btn{cursor:pointer;}
.favorite-btn{padding:0;border:none;background:transparent;color:inherit;cursor:pointer;transition:transform .2s ease;}
.favorite-btn:hover{transform:scale(1.1);}
.favorite-btn .stat-icon{width:14px;height:14px;margin-right:0;}
.creator{font-size:12px;color:#888;margin-bottom:10px;}
.tags{display:flex;gap:4px;flex-wrap:wrap;}
.tags .tag{padding:3px 7px;font-size:11px;background-color:#f0f0f0;border-radius:4px;color:#666;text-decoration:none;transition:background-color .18s ease,color .18s ease,transform .18s ease;}
.tags .tag:hover{background-color:#e8e8e8;color:#222;transform:translateY(-1px);}
.tags .tag:focus-visible{background-color:#e8e8e8;color:#222;transform:translateY(-1px);outline:2px solid rgba(0,0,0,.18);outline-offset:2px;}
.card.reveal{opacity:0;transform:translateY(30px);transition:all 0.7s cubic-bezier(0.22, 1, 0.36, 1);}
.card.reveal.show{opacity:1;transform:translateY(0);}
.skeleton-card{background:#fff;border-radius:12px;overflow:hidden;margin-bottom:16px;border:1px solid #f0f0f0;height:320px;}
.skeleton-shimmer{width:100%;height:100%;background:linear-gradient(90deg, #f9f9f9 25%, #f0f0f0 37%, #f9f9f9 63%);background-size:400% 100%;animation:shimmer-loading 1.4s ease infinite;}
.loading-sentinel{height:100px;width:100%;display:flex;justify-content:center;align-items:center;clear:both;}
.loading-sentinel .grid-mock{display:grid;width:100%;gap:16px;grid-template-columns:repeat(1,1fr);}
.contest-skeleton-container{display:none;}
.empty-card{background:linear-gradient(180deg,#FFFFFF 0%,#FCFCFD 100%);border:1px solid #E5E7EB;border-radius:22px;box-shadow:0 1px 2px rgba(17,24,39,.03);overflow:hidden;padding:36px 24px;text-align:center;display:grid;gap:8px;}
.empty-card strong{font-size:15px;font-weight:700;line-height:1.45;color:#111827;}
.empty-card span{font-size:13px;line-height:1.86;color:#6B7280;max-width:620px;margin:0 auto;word-break:break-word;}
@media (min-width: 768px){
  .works{column-count:2;}
  .loading-sentinel .grid-mock{grid-template-columns:repeat(2,1fr);}
}
@media (min-width: 992px){
  .works{column-count:3;}
  .loading-sentinel .grid-mock{grid-template-columns:repeat(3,1fr);}
}
@media (min-width: 1200px){
  .works{column-count:4;}
  .loading-sentinel .grid-mock{grid-template-columns:repeat(4,1fr);}
}
@media (min-width: 1440px){
  .works{column-count:5;}
  .loading-sentinel .grid-mock{grid-template-columns:repeat(5,1fr);}
}
@media (max-width: 1200px){
  .hero-info-card{gap:28px;}
}
@media (max-width: 980px){
  .hero-info-card{grid-template-columns:1fr;}
}
@media (max-width: 768px){
  .contest-page{padding-top:16px;padding-bottom:56px;}
  .hero-banner{height:160px;}
  .section-card{padding:22px 20px;}
  .works-home-section{padding:22px 0 20px;}
  .works-home-section .section-head{padding:0 20px;}
  .detail-content-container{padding:22px 20px;}

  .works-wrap{margin-bottom:20px;}
  .section-tabs{width:100%;}
  .section-tab{flex:1;}
  .contest-page-nav{--contest-page-action-width:clamp(92px,26vw,112px);gap:10px;margin:0;width:100%;padding:4px 0;}
  .contest-page-nav__tabs{padding:3px;}
  .contest-page-nav__item,.contest-page-nav__join{min-height:40px;font-size:13px;}
  .contest-page-nav__item,.contest-page-nav__join{padding:0 10px;}
}
@media (max-width: 480px){
  .contest-page{padding-top:12px;}
}

/* Detail header refinement: image is optional, content remains complete without it. */
.hero-banner{height:280px;border-radius:22px;background:#F3F4F6;}
.hero-banner img{object-fit:cover;}
.hero-info-card{position:relative;padding:8px 36px 34px;gap:34px;}
.hero-info-card.is-without-banner{background:transparent;}

.detail-content-container{padding:28px 36px;}
.hero-info-card,.detail-content-container{width:100%;max-width:1040px;box-sizing:border-box;justify-self:center;}
.detail-content-inner{max-width:880px;margin:0 auto;padding-top:0;}

.detail-content-sections{display:grid;}
.detail-content-section{padding:24px 0;}
.detail-content-section:first-child{padding-top:0;}
.detail-content-section+.detail-content-section{border-top:1px solid #ECEFF3;}
.detail-content-heading{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#111827;font-size:19px;font-weight:800;line-height:1.5;}
.detail-content-icon{display:block;flex:0 0 2em;width:2em;height:2em;object-fit:contain;}
.detail-content-copy{color:#4B5563;font-size:15px;line-height:1.9;word-break:break-word;}
.detail-content-copy p{margin:0 0 1em;}.detail-content-copy p:last-child{margin-bottom:0;}.detail-content-copy ul,.detail-content-copy ol{margin:.6em 0 1em;padding-left:1.6em;}.detail-content-copy li+li{margin-top:.25em;}.detail-content-copy blockquote{margin:1em 0;padding:10px 14px;border-left:3px solid #9CA3AF;background:#F9FAFB;color:#475569;}.detail-content-copy a{color:#2563EB;text-decoration:underline;text-underline-offset:2px;}.detail-content-copy hr{margin:1.3em 0;border:0;border-top:1px solid #E5E7EB;}
.detail-content-copy figure{margin:1.3em 0}.detail-content-copy img{display:block;max-width:100%;height:auto}.detail-content-copy figcaption{margin-top:8px;color:#6b7280;font-size:.88em;text-align:center}
.detail-content-copy .contest-text-black{color:#111827}.detail-content-copy .contest-text-gray{color:#6B7280}.detail-content-copy .contest-text-red{color:#DC2626}.detail-content-copy .contest-text-orange{color:#EA580C}.detail-content-copy .contest-text-gold{color:#B45309}.detail-content-copy .contest-text-green{color:#15803D}.detail-content-copy .contest-text-blue{color:#2563EB}.detail-content-copy .contest-text-sm{font-size:.88em}.detail-content-copy .contest-text-md{font-size:1em}.detail-content-copy .contest-text-lg{font-size:1.18em}.detail-content-copy .contest-text-xl{font-size:1.4em}
.detail-content-copy .contest-custom-embed{margin:1.3em 0;padding-left:0!important;padding-right:0!important;overflow:visible;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.detail-content-copy .contest-custom-embed iframe{display:block;width:100%;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.detail-content-empty{margin:0;color:#6B7280;font-size:14px;line-height:1.8;}
@media(max-width:768px){.hero-banner{height:160px;border-radius:18px;}.hero-info-card{padding:24px 20px;}
  .detail-content-container{padding:22px 20px;}.detail-content-section{padding:20px 0;}.detail-content-heading{font-size:17px;}.detail-content-copy{font-size:14px;}}
