.challenges-center-btn{
    position:relative;
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    margin-top:16px;
    margin-bottom:-6px;
    padding:0 16px;
    border:1px solid rgba(196,142,255,.18);
    border-radius:16px;
    background:linear-gradient(135deg,rgba(122,44,255,.055),rgba(255,119,180,.045));
    color:#fff;
    font:inherit;
    cursor:pointer;
    transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.challenges-center-btn:hover{
    transform:translateY(-2px);
    background:linear-gradient(135deg,rgba(122,44,255,.12),rgba(255,119,180,.10));
    border-color:rgba(255,119,180,.38);
    box-shadow:0 8px 25px rgba(0,0,0,.18),0 0 25px rgba(170,80,255,.10);
}
.challenges-button-icon{
    width:20px;
    height:20px;
    object-fit:contain;
    filter:drop-shadow(0 0 9px rgba(255,119,180,.34));
}
.challenges-active-badge{
    min-width:19px;
    height:19px;
    padding:0 5px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:linear-gradient(135deg,#7a2cff,#ff4fd8);
    font-size:.68rem;
    font-weight:700;
    box-shadow:0 0 12px rgba(255,79,216,.25);
}
.challenges-active-badge.hidden{
    display:none;
}

.challenges-modal-box{
    position:relative;
    width:min(94vw,650px);
    max-height:88vh;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding:30px;
    border-radius:30px;
    background:
        radial-gradient(circle at 50% 0%,rgba(164,83,255,.16),transparent 42%),
        radial-gradient(circle at 100% 100%,rgba(255,79,216,.06),transparent 38%),
        linear-gradient(160deg,rgba(25,15,45,.985),rgba(7,5,17,.985));
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 30px 100px rgba(0,0,0,.65),0 0 70px rgba(122,44,255,.14);
    color:#fff;
}
.challenges-heading{
    padding-right:45px;
    margin-bottom:22px;
}
.challenges-kicker,
.challenges-section-kicker{
    display:block;
    text-transform:uppercase;
    letter-spacing:2.4px;
    font-size:.64rem;
    color:#ff9adf;
}
.challenges-title-row{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:7px;
}
.challenges-title-icon{
    width:46px;
    height:46px;
    flex:0 0 46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.09);
    box-shadow:inset 0 0 20px rgba(255,119,180,.04),0 0 24px rgba(122,44,255,.08);
}
.challenges-title-icon img{
    width:27px;
    height:27px;
    object-fit:contain;
    filter:drop-shadow(0 0 8px rgba(255,119,180,.35));
}
.challenges-heading h2{
    margin:0 0 4px;
    font-family:Cinzel,serif;
    font-size:1.75rem;
    background:linear-gradient(90deg,#fff,#ff9de9,#b388ff);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
}
.challenges-heading p{
    margin:0;
    max-width:510px;
    font-size:.84rem;
    line-height:1.55;
    color:rgba(255,255,255,.54);
}

.challenges-view{
    min-height:0;
    overflow-y:auto;
    padding-right:5px;
    scrollbar-width:thin;
    scrollbar-color:rgba(179,136,255,.55) rgba(255,255,255,.03);
}
.challenges-view::-webkit-scrollbar{
    width:5px;
}
.challenges-view::-webkit-scrollbar-thumb{
    background:rgba(179,136,255,.55);
    border-radius:10px;
}
.challenges-view::-webkit-scrollbar-track{
    background:rgba(255,255,255,.03);
    border-radius:10px;
}
.challenges-view.hidden{
    display:none;
}

.challenges-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;
    margin-bottom:12px;
}
.challenges-section-head h3{
    margin:3px 0 0;
    font-size:1.08rem;
    font-weight:600;
}
.challenge-add-btn,
.challenge-secondary-btn,
.challenge-primary-btn{
    border:none;
    font:inherit;
    cursor:pointer;
    transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease,opacity .22s ease;
}
.challenge-add-btn{
    padding:9px 13px;
    border-radius:12px;
    color:#fff;
    border:1px solid rgba(255,119,180,.22);
    background:rgba(255,255,255,.055);
    font-size:.78rem;
    white-space:nowrap;
}
.challenge-add-btn:hover{
    transform:translateY(-1px);
    background:rgba(255,119,180,.10);
    border-color:rgba(255,119,180,.38);
}
.challenge-add-btn span{
    color:#ff9de9;
}

.challenge-composer{
    margin-bottom:18px;
    padding:16px;
    border-radius:18px;
    border:1px solid rgba(179,136,255,.20);
    background:rgba(255,255,255,.035);
    animation:challengeComposerIn .25s ease;
}
.challenge-composer.hidden{
    display:none;
}
@keyframes challengeComposerIn{
    from{opacity:0;transform:translateY(-5px)}
    to{opacity:1;transform:translateY(0)}
}
.challenge-composer label{
    display:block;
    margin-bottom:8px;
    font-size:.78rem;
    color:rgba(255,255,255,.72);
}
.challenge-composer textarea{
    width:100%;
    resize:vertical;
    min-height:88px;
    padding:12px 13px;
    border-radius:13px;
    border:1px solid rgba(255,255,255,.10);
    outline:none;
    background:rgba(0,0,0,.20);
    color:#fff;
    font:inherit;
    line-height:1.5;
}
.challenge-composer textarea:focus{
    border-color:rgba(255,119,216,.48);
    box-shadow:0 0 20px rgba(122,44,255,.12);
}
.challenge-composer-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:10px;
}
#challengeInputCount{
    font-size:.68rem;
    color:rgba(255,255,255,.40);
}
.challenge-composer-actions{
    display:flex;
    gap:8px;
}
.challenge-primary-btn,
.challenge-secondary-btn{
    padding:9px 13px;
    border-radius:11px;
    font-size:.76rem;
}
.challenge-primary-btn{
    background:linear-gradient(135deg,#7a2cff,#ff4fd8);
    color:#fff;
    box-shadow:0 5px 18px rgba(122,44,255,.16);
}
.challenge-primary-btn:hover:not(:disabled){
    transform:translateY(-1px);
    filter:brightness(1.08);
}
.challenge-primary-btn:disabled{
    opacity:.55;
    cursor:wait;
}
.challenge-secondary-btn{
    color:rgba(255,255,255,.72);
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.045);
}
.challenge-secondary-btn:hover{
    background:rgba(255,255,255,.08);
}
.challenge-form-error{
    min-height:17px;
    margin-top:7px;
    color:#ff8e9b;
    font-size:.72rem;
}

.challenges-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.challenge-card{
    position:relative;
    overflow:hidden;
    padding:16px;
    border-radius:19px;
    border:1px solid rgba(255,255,255,.085);
    background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
    box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.challenge-card-glow{
    position:absolute;
    width:130px;
    height:130px;
    right:-65px;
    top:-80px;
    border-radius:50%;
    background:rgba(180,100,255,.11);
    filter:blur(22px);
    pointer-events:none;
}
.challenge-card.challenge-card-me-done{
    border-color:rgba(255,119,216,.18);
}
.challenge-card-top{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.challenge-card-kicker{
    text-transform:uppercase;
    letter-spacing:1.8px;
    font-size:.58rem;
    color:rgba(255,157,225,.72);
}
.challenge-card-top time{
    font-size:.64rem;
    color:rgba(255,255,255,.34);
}
.challenge-text{
    position:relative;
    z-index:1;
    margin:9px 0 7px;
    font-family:"Cormorant Garamond",serif;
    font-size:1.18rem;
    line-height:1.25;
    color:rgba(255,255,255,.92);
}
.challenge-card-meta{
    font-size:.67rem;
    color:rgba(255,255,255,.38);
}
.challenge-progress{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:13px;
}
.challenge-person-status{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
    padding:8px 9px;
    border-radius:11px;
    background:rgba(0,0,0,.16);
    border:1px solid rgba(255,255,255,.055);
    color:rgba(255,255,255,.43);
    font-size:.66rem;
}
.challenge-person-status.done{
    color:rgba(255,255,255,.78);
    border-color:rgba(105,230,155,.15);
    background:rgba(105,230,155,.035);
}
.challenge-status-check{
    width:18px;
    height:18px;
    flex:0 0 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.16);
    font-size:.66rem;
}
.challenge-person-status.done .challenge-status-check{
    border-color:rgba(105,230,155,.38);
    color:#70e79b;
    background:rgba(105,230,155,.08);
}
.challenge-complete-btn{
    width:100%;
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:10px;
    border:1px solid rgba(255,119,180,.20);
    border-radius:12px;
    background:rgba(255,119,180,.055);
    color:#fff;
    font:inherit;
    font-size:.76rem;
    font-weight:600;
    cursor:pointer;
    transition:.22s ease;
}
.challenge-complete-btn:hover:not(:disabled){
    transform:translateY(-1px);
    background:rgba(255,119,180,.11);
    border-color:rgba(255,119,180,.38);
    box-shadow:0 0 18px rgba(255,79,216,.08);
}
.challenge-complete-btn.completed{
    cursor:default;
    color:#78e7a2;
    border-color:rgba(105,230,155,.17);
    background:rgba(105,230,155,.045);
}
.challenge-complete-btn.is-saving{
    opacity:.65;
    cursor:wait;
}
.challenge-complete-icon{
    width:20px;
    height:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:1px solid currentColor;
    font-size:.72rem;
}
.challenge-waiting{
    margin-top:8px;
    text-align:center;
    font-size:.65rem;
    color:rgba(255,255,255,.38);
}
.challenge-empty{
    padding:34px 18px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px dashed rgba(255,255,255,.10);
    border-radius:18px;
    background:rgba(255,255,255,.018);
}
.challenge-empty.hidden{
    display:none;
}
.challenge-empty-symbol{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:9px;
    border-radius:50%;
    color:#d3a7ff;
    background:rgba(179,136,255,.08);
    box-shadow:0 0 20px rgba(122,44,255,.10);
}
.challenge-empty strong{
    font-size:.82rem;
}
.challenge-empty span{
    margin-top:4px;
    font-size:.7rem;
    color:rgba(255,255,255,.38);
}

.challenges-pagination{
    min-height:31px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    margin:12px 0 10px;
}
.challenge-page-number,
.challenge-page-arrow{
    min-width:29px;
    height:29px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 7px;
    border-radius:9px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.035);
    color:rgba(255,255,255,.55);
    font:inherit;
    font-size:.68rem;
    cursor:pointer;
}
.challenge-page-number:hover:not(.active),
.challenge-page-arrow:hover:not(:disabled){
    background:rgba(255,255,255,.07);
    color:#fff;
}
.challenge-page-number.active{
    color:#fff;
    border-color:rgba(255,119,216,.38);
    background:linear-gradient(135deg,rgba(122,44,255,.42),rgba(255,79,216,.30));
    box-shadow:0 0 15px rgba(255,79,216,.10);
}
.challenge-page-arrow:disabled{
    opacity:.25;
    cursor:default;
}

.challenge-archive-toggle{
    width:100%;
    min-height:45px;
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:2px;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:13px;
    background:rgba(255,255,255,.035);
    color:rgba(255,255,255,.72);
    font:inherit;
    font-size:.76rem;
    cursor:pointer;
    transition:.22s ease;
}
.challenge-archive-toggle:hover{
    transform:translateY(-1px);
    background:rgba(255,255,255,.06);
    border-color:rgba(179,136,255,.24);
    color:#fff;
}
.challenge-archive-icon{
    color:#c6a2ff;
}
.challenge-archive-count{
    min-width:20px;
    height:20px;
    padding:0 5px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:rgba(179,136,255,.10);
    color:#d6b9ff;
    font-size:.64rem;
}
.challenge-chevron{
    margin-left:auto;
    color:rgba(255,255,255,.35);
}
.archive-head{
    align-items:center;
}
.challenge-archive-card{
    border-color:rgba(179,136,255,.12);
    background:linear-gradient(145deg,rgba(179,136,255,.055),rgba(255,255,255,.018));
}
.challenge-archive-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:10px;
    font-size:.65rem;
    color:rgba(255,255,255,.37);
}
.challenge-archive-complete{
    color:rgba(112,231,155,.75);
}

.challenges-status{
    min-height:18px;
    padding-top:7px;
    text-align:center;
    font-size:.67rem;
    color:rgba(255,255,255,.40);
}
.challenges-status.success{
    color:rgba(112,231,155,.78);
}
.challenges-status.error{
    color:#ff8e9b;
}

@media (max-width:560px){
    .challenges-modal-box{
        width:94vw;
        max-height:91vh;
        padding:24px 17px 18px;
        border-radius:24px;
    }
    .challenges-heading{
        margin-bottom:17px;
    }
    .challenges-title-row{
        align-items:flex-start;
    }
    .challenges-title-icon{
        width:40px;
        height:40px;
        flex-basis:40px;
        border-radius:13px;
    }
    .challenges-title-icon img{
        width:23px;
        height:23px;
    }
    .challenges-heading h2{
        font-size:1.48rem;
    }
    .challenges-heading p{
        font-size:.77rem;
    }
    .challenges-section-head{
        align-items:flex-start;
    }
    .challenge-add-btn{
        padding:8px 10px;
        font-size:.70rem;
    }
    .challenge-progress{
        grid-template-columns:1fr;
    }
    .challenge-text{
        font-size:1.1rem;
    }
}

.challenge-complete-btn{
    position:relative;
    min-height:58px;
    justify-content:flex-start;
    gap:12px;
    margin-top:12px;
    padding:9px 12px;
    border:1px solid rgba(255,157,225,.20);
    border-radius:15px;
    background:linear-gradient(135deg,rgba(122,44,255,.10),rgba(255,79,216,.055));
    box-shadow:inset 0 1px rgba(255,255,255,.05),0 7px 20px rgba(0,0,0,.12);
    text-align:left;
}
.challenge-complete-btn::before{
    content:"";
    position:absolute;
    inset:1px;
    border-radius:14px;
    background:linear-gradient(90deg,rgba(255,255,255,.035),transparent 55%);
    pointer-events:none;
}
.challenge-complete-btn:hover:not(:disabled){
    transform:translateY(-2px);
    border-color:rgba(255,157,225,.48);
    background:linear-gradient(135deg,rgba(122,44,255,.18),rgba(255,79,216,.11));
    box-shadow:inset 0 1px rgba(255,255,255,.08),0 10px 28px rgba(0,0,0,.20),0 0 24px rgba(255,79,216,.09);
}
.challenge-complete-btn:active:not(:disabled){
    transform:translateY(0) scale(.992);
}
.challenge-complete-icon{
    position:relative;
    z-index:1;
    width:34px;
    height:34px;
    flex:0 0 34px;
    border-radius:11px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,157,225,.40);
    background:rgba(255,255,255,.055);
    color:#fff;
    box-shadow:inset 0 0 12px rgba(255,119,216,.08);
    transition:.22s ease;
}
.challenge-complete-btn:hover:not(:disabled) .challenge-complete-icon{
    border-color:rgba(255,157,225,.72);
    background:rgba(255,119,216,.12);
    box-shadow:0 0 16px rgba(255,79,216,.16);
}
.challenge-complete-check{
    font-size:1rem;
    font-weight:800;
}
.challenge-complete-copy{
    position:relative;
    z-index:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
    flex:1;
}
.challenge-complete-copy strong{
    font-size:.78rem;
    font-weight:700;
    color:#fff;
}
.challenge-complete-copy small{
    font-size:.62rem;
    font-weight:400;
    color:rgba(255,255,255,.40);
}
.challenge-complete-arrow{
    position:relative;
    z-index:1;
    width:27px;
    height:27px;
    flex:0 0 27px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:rgba(255,255,255,.58);
    background:rgba(255,255,255,.045);
    font-size:.78rem;
    transition:.22s ease;
}
.challenge-complete-btn:hover:not(:disabled) .challenge-complete-arrow{
    color:#fff;
    background:rgba(255,119,216,.14);
    transform:translateX(2px);
}
.challenge-complete-btn.completed{
    cursor:default;
    border-color:rgba(105,230,155,.24);
    background:linear-gradient(135deg,rgba(105,230,155,.09),rgba(105,230,155,.035));
    box-shadow:inset 0 1px rgba(255,255,255,.035);
}
.challenge-complete-btn.completed .challenge-complete-icon{
    border-color:rgba(105,230,155,.45);
    background:rgba(105,230,155,.12);
    color:#78e7a2;
    box-shadow:0 0 16px rgba(105,230,155,.10);
}
.challenge-complete-btn.completed .challenge-complete-copy strong{
    color:#78e7a2;
}
.challenge-complete-btn.completed .challenge-complete-copy small{
    color:rgba(120,231,162,.48);
}
.challenge-complete-btn.completed .challenge-complete-arrow{
    color:#78e7a2;
    background:rgba(105,230,155,.09);
}
.challenge-complete-btn.is-saving{
    opacity:.72;
    cursor:wait;
}
.challenge-complete-btn.is-saving .challenge-complete-icon{
    animation:challengeCompletePulse .9s ease-in-out infinite;
}
@keyframes challengeCompletePulse{
    50%{transform:scale(.88);box-shadow:0 0 20px rgba(255,119,216,.24)}
}
.challenge-complete-btn{display:grid;grid-template-columns:38px minmax(0,1fr) 34px;align-items:center;gap:11px;min-height:60px;padding:9px 10px;cursor:default}
.challenge-complete-btn.locked{opacity:.92}
.challenge-complete-icon,.challenge-complete-arrow{appearance:none;border:1px solid rgba(255,157,225,.40);font:inherit;cursor:pointer}
.challenge-complete-icon{width:38px;height:38px;flex:0 0 38px;border-radius:12px}
.challenge-complete-icon:hover:not(:disabled){transform:scale(1.06);border-color:rgba(255,157,225,.85);background:rgba(255,119,216,.15);box-shadow:0 0 20px rgba(255,79,216,.20)}
.challenge-complete-arrow{width:34px;height:34px;flex:0 0 34px}
.challenge-complete-arrow:hover:not(:disabled){transform:translateX(3px);color:#fff;background:rgba(255,119,216,.16);box-shadow:0 0 18px rgba(255,79,216,.14)}
.challenge-complete-icon:disabled,.challenge-complete-arrow:disabled{cursor:default;opacity:.72}
.challenge-complete-btn:hover{transform:none}
.challenge-response-panel{margin-top:10px;padding:14px;border:1px solid rgba(179,136,255,.16);border-radius:16px;background:linear-gradient(145deg,rgba(179,136,255,.075),rgba(255,255,255,.022));animation:challengeResponseIn .22s ease}
@keyframes challengeResponseIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.challenge-response-heading{display:flex;gap:10px;align-items:center;margin-bottom:10px}.challenge-response-type-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(255,119,216,.08);color:#ff9de9;border:1px solid rgba(255,157,225,.16)}
.challenge-response-heading div{display:flex;flex-direction:column;gap:2px}.challenge-response-heading strong{font-size:.76rem}.challenge-response-heading small{font-size:.62rem;color:rgba(255,255,255,.42)}
.challenge-response-text{width:100%;min-height:86px;resize:vertical;padding:11px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.18);color:#fff;font:inherit;line-height:1.5;outline:none}.challenge-response-text:focus{border-color:rgba(255,119,216,.45);box-shadow:0 0 18px rgba(122,44,255,.10)}
.challenge-response-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:.62rem;color:rgba(255,255,255,.35)}.challenge-response-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.challenge-response-error{min-height:15px;font-size:.64rem;color:#ff8e9b;line-height:1.35}
.challenge-upload-zone{display:flex;align-items:center;gap:10px;padding:13px;border:1px dashed rgba(255,157,225,.22);border-radius:13px;background:rgba(255,255,255,.025);cursor:pointer;transition:.2s ease}.challenge-upload-zone:hover{border-color:rgba(255,157,225,.55);background:rgba(255,119,216,.06)}.challenge-upload-zone input{display:none}.challenge-upload-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(255,119,216,.09);color:#ff9de9;font-size:1rem}.challenge-upload-zone span:not(.challenge-upload-icon){display:flex;flex-direction:column;gap:2px}.challenge-upload-zone strong{font-size:.72rem}.challenge-upload-zone small{font-size:.60rem;color:rgba(255,255,255,.38)}
.challenge-image-preview{margin-top:10px;overflow:hidden;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#000}.challenge-image-preview.hidden{display:none}.challenge-image-preview img{display:block;width:100%;max-height:260px;object-fit:cover}
.challenge-type-label{margin-top:12px}.challenge-type-select{width:100%;padding:11px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:#100b1c;color:#fff;font:inherit;outline:none}.challenge-type-select:focus{border-color:rgba(255,119,216,.45);box-shadow:0 0 18px rgba(122,44,255,.10)}.challenge-type-hint{margin-top:6px;font-size:.62rem;color:rgba(255,255,255,.38);line-height:1.4}
.challenge-archive-card{cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}.challenge-archive-card:hover,.challenge-archive-card:focus-visible{transform:translateY(-2px);border-color:rgba(179,136,255,.30);outline:none}.challenge-archive-details{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}.challenge-archive-details.hidden{display:none}.challenge-archive-details-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.challenge-archive-details-heading span{font-size:.70rem;color:rgba(255,255,255,.72)}.challenge-archive-details-heading small{font-size:.60rem;color:rgba(255,255,255,.36)}
.challenge-evidence-item{padding:10px;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);margin-top:8px}.challenge-evidence-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:.62rem;color:rgba(255,255,255,.48)}.challenge-evidence-meta span{color:#c9a8ff}.challenge-evidence-item p{margin:0;font-size:.73rem;line-height:1.55;color:rgba(255,255,255,.78);white-space:pre-wrap}.challenge-archive-image{display:block;width:min(180px,100%);height:120px;max-height:120px;object-fit:cover;border-radius:10px;margin:0 auto}.challenge-archive-type-pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(37,211,102,.08);border:1px solid rgba(37,211,102,.18);color:#8ff0b2;font-size:.65rem}
@media(max-width:560px){.challenge-complete-btn{grid-template-columns:36px minmax(0,1fr) 32px;gap:9px}.challenge-complete-icon{width:36px;height:36px;flex-basis:36px}.challenge-complete-arrow{width:32px;height:32px;flex-basis:32px}.challenge-response-actions{align-items:flex-end}.challenge-response-actions .challenge-primary-btn{white-space:nowrap}}
.challenge-response-toggle{
    width:100%;
    margin-top:12px;
    padding:10px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border:1px solid rgba(196,142,255,.18);
    border-radius:12px;
    background:rgba(179,136,255,.055);
    color:rgba(255,255,255,.68);
    font:inherit;
    font-size:.70rem;
    cursor:pointer;
    transition:.2s ease;
}
.challenge-response-toggle:hover{background:rgba(255,119,216,.09);border-color:rgba(255,157,225,.35);color:#fff}
.challenge-response-toggle-icon{font-size:1rem;line-height:1;transition:transform .2s ease}
.challenge-response-toggle[aria-expanded="true"] .challenge-response-toggle-icon{transform:translateY(-1px)}
.challenge-evidence-button{
    width:100%;
    display:block;
    text-align:left;
    color:inherit;
    font:inherit;
    cursor:pointer;
    transition:.2s ease;
}
.challenge-evidence-button:hover{border-color:rgba(255,157,225,.32);background:rgba(255,119,216,.055);transform:translateY(-1px)}
.challenge-evidence-button .challenge-evidence-meta{display:flex}
.challenge-evidence-open-hint{display:block;margin-top:7px;font-size:.58rem;color:rgba(255,157,225,.55);text-align:right}
.challenge-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.challenge-photo-actions .challenge-upload-zone{min-width:0}
.challenge-archive-details-static{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}
#challengeComposerModal{z-index:2147483000}
.challenge-composer-modal-box{
    position:relative;
    width:min(92vw,560px);
    max-height:88vh;
    overflow:auto;
    padding:30px;
    border-radius:28px;
    background:radial-gradient(circle at 50% 0%,rgba(164,83,255,.18),transparent 43%),radial-gradient(circle at 100% 100%,rgba(255,79,216,.08),transparent 38%),linear-gradient(160deg,rgba(25,15,45,.99),rgba(7,5,17,.99));
    border:1px solid rgba(255,255,255,.11);
    box-shadow:0 30px 100px rgba(0,0,0,.72),0 0 70px rgba(122,44,255,.16);
    scrollbar-width:thin;
    scrollbar-color:rgba(179,136,255,.55) rgba(255,255,255,.03);
}
.challenge-composer-modal-box::-webkit-scrollbar{width:5px}
.challenge-composer-modal-box::-webkit-scrollbar-thumb{background:rgba(179,136,255,.55);border-radius:10px}
.challenge-composer-modal-box::-webkit-scrollbar-track{background:rgba(255,255,255,.03);border-radius:10px}
.challenge-composer-modal-heading{padding-right:45px;margin-bottom:20px}
.challenge-composer-modal-title-row{display:flex;align-items:center;gap:14px;margin-top:8px}
.challenge-composer-modal-title-row h2{margin:0 0 4px;font-family:Cinzel,serif;font-size:1.65rem;background:linear-gradient(90deg,#fff,#ff9de9,#b388ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.challenge-composer-modal-title-row p{margin:0;color:rgba(255,255,255,.48);font-size:.76rem;line-height:1.5}
.challenge-composer-modal-symbol{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;justify-content:center;border-radius:14px;color:#ff9de9;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);box-shadow:0 0 24px rgba(122,44,255,.10);font-size:1.15rem}
#challengeComposer.challenge-composer{margin:0;padding:0;border:0;background:none;animation:none}
#challengeComposer.challenge-composer textarea{min-height:112px}
@media(max-width:560px){
    .challenge-composer-modal-box{padding:24px 18px;border-radius:22px}
    .challenge-composer-modal-title-row p{font-size:.70rem}
}

.challenge-response-modal-box{
    position:relative;
    width:min(92vw,720px);
    max-height:90vh;
    overflow:auto;
    padding:30px;
    border-radius:28px;
    background:radial-gradient(circle at 50% 0%,rgba(164,83,255,.18),transparent 42%),linear-gradient(160deg,rgba(25,15,45,.99),rgba(7,5,17,.99));
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 30px 100px rgba(0,0,0,.7),0 0 70px rgba(122,44,255,.16);
    scrollbar-width:thin;
    scrollbar-color:rgba(179,136,255,.55) rgba(255,255,255,.03);
}
.challenge-response-modal-box::-webkit-scrollbar{
    width:5px;
}
.challenge-response-modal-box::-webkit-scrollbar-thumb{
    background:rgba(179,136,255,.55);
    border-radius:10px;
}
.challenge-response-modal-box::-webkit-scrollbar-track{
    background:rgba(255,255,255,.03);
    border-radius:10px;
}
.challenge-response-modal-heading{padding-right:45px;margin-bottom:18px}
.challenge-response-modal-heading h2{margin:6px 0 3px;font-family:Cinzel,serif}
.challenge-response-modal-heading p{margin:0;color:rgba(255,255,255,.45);font-size:.72rem}
.challenge-response-modal-body{display:flex;justify-content:center;align-items:center;min-height:120px;border-radius:18px;overflow:hidden;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.07)}
.challenge-response-modal-image{display:block;width:100%;max-height:68vh;object-fit:contain;background:#000}
.challenge-response-modal-text{width:100%;padding:28px;font-size:1.15rem;line-height:1.8;color:rgba(255,255,255,.9);white-space:normal}
.challenge-response-modal-date{display:block;margin-top:12px;color:rgba(255,255,255,.35);font-size:.62rem;text-align:right}
@media(max-width:560px){
    .challenge-photo-actions{grid-template-columns:1fr}
    .challenge-response-modal-box{padding:24px 18px;border-radius:22px}
    .challenge-response-modal-text{padding:20px;font-size:1rem}
}