/* Prize catalog and the frozen prize displayed by each raffle. */
.prize-page-heading h1 { max-width: 700px; }
.prize-catalog-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin: 0 0 28px; padding: 20px 24px; background: #192440; border: 1px solid #394975; border-radius: 16px; }
.prize-catalog-summary > span { display: flex; align-items: baseline; gap: 9px; font-size: 13px; color: #b5c3e4; }
.prize-catalog-summary strong { font-size: 26px; color: #e4d6ff; }
.prize-catalog-summary p { flex: 1 1 220px; margin: 0; color: #9eafd4; font-size: 12px; line-height: 1.7; }
.prize-catalog-layout { display: grid; grid-template-columns: minmax(290px,.9fr) minmax(0,1.35fr); gap: 28px; align-items: start; }
.prize-catalog-layout > *, .prize-catalog-grid > *, .prize-editor .form-stack > * { min-width: 0; }
.prize-editor h2 { margin-bottom: 26px; }
.prize-editor input, .prize-editor textarea { max-width: 100%; }
.prize-editor label > small { display: block; margin-top: 7px; color: #94a6ca; font-size: 11px; line-height: 1.6; }
.prize-upload { border: 1px dashed #7363b999; border-radius: 14px; padding: 17px; background: #7a5ece0a; }
.prize-upload input[type=file] { padding: 12px 0; border: 0; background: transparent; font-size: 12px; }
.prize-upload-preview { margin-top: 15px; border: 1px solid #3d4a6f; border-radius: 11px; overflow: hidden; background: #0d1529; }
.prize-upload-preview img { display: block; width: 100%; height: 180px; object-fit: contain; }
.prize-form-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.prize-catalog-list .section-heading { margin-bottom: 17px; }
.prize-catalog-list .compact-toolbar { flex-wrap: wrap; margin-bottom: 20px; }
.prize-catalog-list .search-field { flex: 1 1 200px; min-width: 0; }
.prize-catalog-list [data-list-status] { max-width: 100%; }
.prize-catalog-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.catalog-prize-card { border: 1px solid #38456b; background: #17213b; border-radius: 17px; overflow: hidden; transition: border-color .2s ease, transform .2s ease; }
@media (hover:hover) { .catalog-prize-card:hover { border-color: #8f77ce; transform: translateY(-3px); } }
.catalog-prize-visual { height: 175px; position: relative; display: grid; place-items: center; overflow: hidden; background: radial-gradient(ellipse at 25% 20%,#7160c84d,transparent 65%),linear-gradient(140deg,#263769,#252340); }
.catalog-prize-visual::after { content: ''; position: absolute; inset: auto -20px -80px; height: 130px; border: 1px solid #c0a6ff30; border-radius: 50%; pointer-events: none; }
.catalog-prize-visual img { height: 100%; width: 100%; object-fit: contain; padding: 12px; }
.catalog-prize-symbol { font-size: 90px; line-height: 1; color: #c3b1ff; text-shadow: 0 8px 30px #7d59cd6e; }
.catalog-prize-status { position: absolute; top: 13px; left: 13px; font-size: 10px; letter-spacing: .04em; font-weight: 650; color: #d9d0fc; padding: 6px 10px; border-radius: 6px; border: 1px solid #b3a2f74d; background: #191d3cdd; }
.catalog-prize-body { padding: 20px; }
.catalog-prize-body h3 { margin: 0 0 10px; color: #f1edff; font-size: 20px; line-height: 1.35; overflow-wrap: anywhere; }
.catalog-prize-body > p { color: #9fafd2; font-size: 12px; line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.catalog-prize-value { display: flex; flex-direction: column; gap: 5px; margin-top: 20px; }
.catalog-prize-value small { font-size: 10px; color: #9fafd2; }
.catalog-prize-value strong { font-size: 19px; color: #c9b8ff; }
.catalog-prize-actions { display: flex; justify-content: space-between; gap: 12px; align-items: center; border-top: 1px solid #354263; padding-top: 16px; margin-top: 19px; }
.catalog-prize-actions form { margin: 0; }
.catalog-prize-actions .text-link { min-height: 34px; display: inline-flex; align-items: center; border: 0; background: none; font: inherit; font-size: 12px; padding: 0; }
.catalog-prize-actions > span { color: #8798bd; font-size: 10px; }
.catalog-prize-card.is-archived { opacity: .72; }
.prize-fields { min-width: 0; border: 1px solid #52608c; border-radius: 15px; margin: 0; padding: 20px; background: #2b2a571f; }
.prize-fields legend { padding: 0 8px; font-weight: 700; font-size: 14px; color: #d2c2ff; }
.prize-fields > label, .prize-manual-fields label { display: block; color: #b7c4e0; font-size: 12px; }
.prize-fields input:not([type=checkbox]), .prize-fields textarea, .prize-fields select { margin-top: 8px; width: 100%; }
.prize-fields .effect-option { display: flex; margin-top: 20px; }
.prize-field-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 15px; margin-bottom: 18px; }
.prize-field-heading p { flex: 1 1 180px; color: #a6b4d5; font-size: 12px; line-height: 1.7; margin: 0; }
.prize-field-heading a { font-size: 11px; }
.prize-manual-fields { display: grid; gap: 18px; margin-top: 19px; }
.prize-manual-fields small { display: block; margin-top: 7px; color: #94a6ca; font-size: 11px; line-height: 1.6; }
.main-prize-showcase { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1fr) minmax(200px,.48fr); align-items: stretch; background: linear-gradient(115deg,#27274f,#202c53 65%,#293b6c); border: 1px solid #8d74ce6b; border-radius: 22px; overflow: hidden; margin: 26px 0; }
.main-prize-copy { padding: 32px 36px; min-width: 0; position: relative; z-index: 1; }
.main-prize-label { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border-radius: 6px; background: #a68be721; border: 1px solid #c3a3ff54; font-weight: 750; font-size: 10px; letter-spacing: .14em; color: #ded0ff; }
.main-prize-label > span { color: #e4caff; font-size: 15px; }
.main-prize-copy h2 { margin: 18px 0 12px; font-size: clamp(25px,3.5vw,38px); letter-spacing: -.035em; color: #f0ebff; line-height: 1.2; overflow-wrap: anywhere; }
.main-prize-copy > p { margin: 0; max-width: 620px; color: #b8c3e5; font-size: 13px; line-height: 1.9; overflow-wrap: anywhere; }
.main-prize-value { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; margin-top: 22px; }
.main-prize-value span { color: #a6b4da; font-size: 9px; letter-spacing: .1em; }
.main-prize-value strong { font-size: 23px; letter-spacing: -.03em; color: #e5d9ff; }
.main-prize-visual { position: relative; display: grid; place-items: center; padding: 22px; min-height: 240px; background: radial-gradient(ellipse at 50% 45%,#8970dc42,transparent 70%); overflow: hidden; }
.main-prize-visual::before { content: ''; position: absolute; width: 230px; height: 230px; border: 1px solid #ccb1ff2b; border-radius: 50%; }
.main-prize-visual img { display: block; width: 100%; height: 100%; max-height: 290px; object-fit: contain; position: relative; z-index: 1; filter: drop-shadow(0 20px 20px #05091c55); }
.main-prize-medal { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 160px; height: 160px; border: 1px solid #bca0f47d; border-radius: 30px; background: linear-gradient(145deg,#735dc77a,#403e7c9e); box-shadow: 0 18px 40px #060b2438,inset 0 1px #d6beff47; transform: rotate(-8deg); }
.main-prize-medal > span { font-size: 84px; line-height: 1; color: #d8bdff; }
.main-prize-medal i { font-size: 10px; font-weight: 750; font-style: normal; letter-spacing: .2em; color: #e1d0ff; }
.prize-quiet-summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 18px; padding: 20px 0; margin-bottom: 16px; border-bottom: 1px solid #3a4669; }
.prize-quiet-summary > span { color: #9faccf; font-size: 10px; letter-spacing: .12em; }
.prize-quiet-summary strong { color: #e1d7fa; font-size: 20px; overflow-wrap: anywhere; }
.prize-quiet-summary small { color: #9cadd4; font-size: 12px; }
.raffle-card-art.has-prize-photo { background: radial-gradient(ellipse at 50% 30%,#61539755,transparent 80%),#1d294c; }
.raffle-card-art .raffle-prize-photo { position: absolute; inset: 15px 35px; width: calc(100% - 70px); height: calc(100% - 30px); object-fit: contain; }
.raffle-card-art .status-pill, .raffle-card-art .card-serial { z-index: 2; }
.catalog-main-prize-label { display: block; margin: 15px 0 7px; color: #bba2f1; font-size: 9px; font-weight: 750; letter-spacing: .12em; }
.result-prize-detail { display: flex; gap: 20px; align-items: center; margin: 22px 0; padding: 20px; border-radius: 14px; border: 1px solid #6f5caa5c; background: #7559ac12; }
.result-prize-detail > img { width: 110px; height: 110px; object-fit: contain; flex-shrink: 0; border-radius: 9px; background: #142039; }
.result-prize-detail > div { min-width: 0; }
.result-prize-detail span { display: block; font-size: 10px; letter-spacing: .1em; color: #bba5e7; margin-bottom: 7px; }
.result-prize-detail strong { display: block; color: #e6dcff; font-size: 23px; line-height: 1.4; overflow-wrap: anywhere; }
.result-prize-detail p { color: #aebbdc; font-size: 12px; line-height: 1.8; margin: 10px 0 0; overflow-wrap: anywhere; }
.result-prize-detail small { display: block; font-size: 11px; color: #9caed3; margin-top: 10px; }
.winner-prize-image { display: block; width: 100%; height: 160px; object-fit: contain; margin: 15px auto; border-radius: 9px; }
@media (max-width: 1100px) { .prize-catalog-layout { grid-template-columns: minmax(280px,1fr) minmax(0,1fr); gap: 20px; } .prize-catalog-grid { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 760px) {
  .prize-catalog-layout { grid-template-columns: minmax(0,1fr); }
  .prize-page-heading .button { width: 100%; }
  .prize-catalog-summary { padding: 18px; gap: 10px 22px; }
  .prize-catalog-summary p { flex-basis: 100%; }
  .prize-catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .prize-catalog-list .compact-toolbar { display: flex; }
  .catalog-prize-visual { height: 150px; }
  .catalog-prize-body { padding: 16px; }
  .catalog-prize-body h3 { font-size: 18px; }
  .prize-fields { padding: 17px; }
  .prize-editor input:not([type=checkbox]), .prize-editor textarea, .prize-fields input:not([type=checkbox]), .prize-fields select, .prize-fields textarea { font-size: 16px; }
  .main-prize-showcase { grid-template-columns: minmax(0,1fr); border-radius: 17px; }
  .main-prize-copy { padding: 25px; }
  .main-prize-visual { min-height: 170px; padding: 0 25px 25px; }
  .main-prize-visual img { height: 180px; }
  .main-prize-showcase:not(.has-prize-image) .main-prize-visual { display: none; }
  .main-prize-value { margin-top: 18px; }
  .result-prize-detail { gap: 14px; padding: 16px; }
  .result-prize-detail > img { width: 75px; height: 90px; }
  .result-prize-detail strong { font-size: 20px; }
}
@media (max-width: 480px) { .prize-catalog-grid { grid-template-columns: minmax(0,1fr); } .catalog-prize-visual { height: 190px; } .prize-form-actions .button { width: 100%; } .result-prize-detail { align-items: flex-start; } }
@media (prefers-reduced-motion:reduce) { .catalog-prize-card { transition: none; } .catalog-prize-card:hover { transform: none; } }
@media print { .main-prize-showcase, .prize-quiet-summary { display: none; } .result-prize-detail { break-inside: avoid; border-color: #bbb; background: white; } .result-prize-detail strong,.result-prize-detail p,.result-prize-detail span,.result-prize-detail small { color: #222; } }
