/* Community contribution banner — ArenaFM dark/lime visual system */
#catalog .community-upload-banner{margin-top:16px!important;margin-bottom:18px}
.community-upload-banner{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  border:1px solid #4f6341;border-radius:16px;
  background:radial-gradient(ellipse at 80% 45%,#bce38112,transparent 55%),linear-gradient(115deg,#202820,#141a15);
  padding:19px 23px;margin:16px 0 18px;min-height:99px;
}
.community-upload-banner .community-upload-eyebrow{display:block;color:#bce381;letter-spacing:.17em;font-size:9px;font-weight:750;margin-bottom:7px}
.community-upload-banner h2{font-size:clamp(18px,2vw,25px);letter-spacing:-.6px;margin:0 0 6px;line-height:1.25}
.community-upload-banner p{color:#b5c0b0;font-size:12px;line-height:1.55;margin:0}
.community-upload-button{
  position:relative;isolation:isolate;flex-shrink:0;min-width:196px;min-height:47px;
  border:1px solid #bce381;border-radius:11px;background:#bce381;color:#182410;
  font-size:13px;font-weight:800;padding:12px 18px;transition:transform .2s,box-shadow .2s,background .2s;
}
.community-upload-button:hover{transform:translateY(-2px);background:#d6eeb1;box-shadow:0 0 29px #bce3813c,0 10px 25px #080c0744}
.community-upload-button:focus-visible{outline:2px solid white;outline-offset:3px}
.community-upload-dialog{
  position:fixed;margin:auto;inset:0;width:min(620px,calc(100% - 24px));max-height:min(90vh,850px);
  overflow-y:auto;padding:26px 30px 24px;border:1px solid #516646;border-radius:17px;
  color:#f2f5ec;background:#182019;box-shadow:0 20px 80px #000a;
}
.community-upload-dialog::backdrop{background:#020902c9;backdrop-filter:blur(7px)}
.community-upload-dialog .community-upload-close{
  position:absolute;top:10px;right:13px;background:transparent;color:#d9e4d2;border:0;
  font-size:25px;width:42px;height:42px;line-height:1
}
.community-upload-header{padding-right:22px}
.community-upload-kicker{font-size:10px;letter-spacing:.14em;color:#bce381;font-weight:800}
.community-upload-header h2{font-size:clamp(25px,3vw,32px);margin:9px 0 7px;letter-spacing:-1px}
.community-upload-header h2 span{color:#bce381}
.community-upload-header p{font-size:12px;line-height:1.65;color:#aebda9;margin:0 0 15px}
#communityUploadForm{display:grid;gap:13px}
#communityUploadForm label{
  display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;color:#e5f0df;
  padding:0;border:0;min-width:0;
}
#communityUploadForm label>span:not(.community-file-name){color:#bce381}
#communityUploadForm label small{font-size:10px;color:#a4b29e;font-weight:400;line-height:1.4}
#communityUploadForm input:not([type=checkbox]):not([type=file]),#communityUploadForm select,#communityUploadForm textarea{
  width:100%;min-width:0;height:auto;min-height:41px;margin:0;padding:11px 12px;
  border:1px solid #40513d;border-radius:9px;background:#111911;color:#f5f8ef;
  outline:none;font:inherit;font-size:12px;line-height:1.4;
}
#communityUploadForm input::placeholder,#communityUploadForm textarea::placeholder{color:#758773}
#communityUploadForm textarea{resize:vertical;min-height:76px}
#communityUploadForm input:focus,#communityUploadForm select:focus,#communityUploadForm textarea:focus{border-color:#bce381}
.community-upload-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.community-upload-or{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:10px;align-items:center}
.community-upload-separator{font-size:9px;color:#82917c;letter-spacing:.12em;text-align:center;margin-top:16px}
#communityUploadForm .community-upload-file{border:1px dashed #6b805f;border-radius:9px;padding:10px;min-height:110px;justify-content:space-between}
#communityUploadForm .community-upload-file input[type=file]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
#communityUploadForm .community-upload-file:focus-within{outline:2px solid #bce381}
.community-file-name{
  display:block;align-self:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis;
  font-size:11px;color:#bce381;white-space:nowrap;cursor:pointer;
}
#communityUploadForm .community-upload-link{justify-content:center;gap:6px}
#communityUploadForm .community-rights{
  flex-direction:row;gap:10px;align-items:flex-start;padding:5px 0;
  font-size:11px;line-height:1.6;color:#b7c5b3;font-weight:400;
}
#communityUploadForm .community-rights input{flex:none;width:17px;height:17px;accent-color:#bce381;margin:2px 0 0}
#communityUploadForm .community-rights span{color:#b7c5b3}
#communityUploadForm .community-rights a{color:#bce381;text-decoration:underline}
#communityUploadForm .community-upload-trap{display:none}
.community-upload-submit-line{display:flex;gap:12px;align-items:center;justify-content:space-between}
#communityUploadStatus{font-size:11px;line-height:1.5;color:#aab9a4;margin:0;flex:1;min-height:15px}
#communityUploadStatus.error{color:#ffb6ac}
#communityUploadStatus.success{color:#bce381}
.community-upload-submit{
  border-radius:9px;border:0;background:#bce381;color:#17210d;min-height:44px;padding:11px 15px;
  font-size:12px;font-weight:800;white-space:nowrap;
}
.community-upload-submit:disabled{opacity:.7;cursor:wait}
.community-upload-submit:hover:not(:disabled){background:#def1c4;box-shadow:0 0 20px #bce38136}
@media(max-width:680px){
  .community-upload-banner{padding:16px;gap:13px;flex-wrap:wrap}
  .community-upload-button{min-width:0;width:100%}
  .community-upload-dialog{padding:26px 17px 18px;max-height:93vh}
  .community-upload-or{display:flex;flex-direction:column;align-items:stretch}
  .community-upload-separator{margin:0}
  #communityUploadForm .community-upload-file{min-height:77px}
  .community-upload-submit-line{flex-direction:column;align-items:stretch}
  .community-upload-submit{width:100%}
}
@media(max-width:380px){.community-upload-two{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.community-upload-button{transition:none}}
