.addon-download-overlay {
    position: fixed;
    inset: 0;
    z-index: 100002;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px 12px 86px;
    background: rgba(4, 8, 20, .66);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.addon-download-overlay.is-open { display: flex; }
body.addon-download-lock { overflow: hidden !important; }
.addon-download-dialog {
    position: relative;
    width: min(520px, calc(100vw - 24px));
    max-height: min(86vh, 760px);
    overflow-y: auto;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #ecf7ff 48%, #fff7ec 100%);
    color: #121827;
    box-shadow: 0 28px 90px rgba(0,0,0,.48), 0 0 0 3px rgba(0, 221, 255, .18), 0 0 44px rgba(255, 78, 112, .28);
    font-family: inherit;
}
.addon-download-dialog::-webkit-scrollbar { width: 5px; }
.addon-download-dialog::-webkit-scrollbar-thumb { background: #ff4b6e; border-radius: 999px; }
.addon-download-header {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    color: #fff;
    background: linear-gradient(92deg, #ff204d 0%, #ff8a00 50%, #00c8ff 100%);
    border-radius: 24px 24px 0 0;
}
.addon-download-badge {
    width: 46px;
    height: 46px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.23);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.18);
    font-size: 23px;
}
.addon-download-title { margin: 0; font-size: 24px; line-height: 1.05; font-weight: 900; text-shadow: 0 2px 0 rgba(0,0,0,.13); }
.addon-download-icons { display: flex; gap: 6px; margin-top: 5px; font-size: 15px; filter: drop-shadow(0 2px 3px rgba(0,0,0,.2)); }
.addon-download-close-x,
.addon-download-close-bottom {
    border: 0;
    cursor: pointer;
    color: #fff;
}
.addon-download-close-x {
    position: absolute;
    right: 8px;
    top: -42px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,.22);
    font-size: 28px;
    line-height: 1;
}
.addon-download-close-bottom {
    position: fixed;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff204d, #ff8a00);
    font-size: 34px;
    box-shadow: 0 14px 34px rgba(255, 78, 112, .35);
}
.addon-download-body { padding: 16px 18px 20px; }
.addon-download-stage {
    position: relative;
    min-height: 210px;
    border-radius: 22px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 50% 40%, rgba(255, 238, 126, .78), transparent 29%),
        radial-gradient(circle at 22% 18%, rgba(0, 200, 255, .45), transparent 26%),
        linear-gradient(135deg, #111827 0%, #241138 45%, #4a160e 100%);
    border: 2px solid rgba(255, 138, 0, .30);
}
.addon-download-stage::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(45deg, rgba(255,255,255,.08) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.08) 50%, rgba(255,255,255,.08) 75%, transparent 75%, transparent);
    background-size: 34px 34px;
    opacity: .55;
    animation: addon-download-bg 9s linear infinite;
}
.addon-download-cube {
    position: absolute;
    z-index: 2;
    width: 92px;
    height: 92px;
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 38px;
    background: linear-gradient(135deg, #ff204d, #ff8a00);
    box-shadow: 0 18px 34px rgba(0,0,0,.35), inset 0 0 0 2px rgba(255,255,255,.20);
    animation: addon-download-float 3s ease-in-out infinite;
}
.addon-download-cube--one { transform: translate(-98px, 4px) rotate(-10deg); }
.addon-download-cube--two { transform: translate(0, -22px) rotate(7deg); background: linear-gradient(135deg, #23c4ff, #5f5bff); animation-delay: .25s; }
.addon-download-cube--three { transform: translate(98px, 12px) rotate(11deg); background: linear-gradient(135deg, #21d07a, #00c8ff); animation-delay: .5s; }
.addon-download-glow {
    position: absolute;
    z-index: 1;
    left: 50%;
    bottom: 32px;
    transform: translateX(-50%);
    width: 310px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 138, 0, .32);
    filter: blur(13px);
}
@keyframes addon-download-float {
    0%,100% { margin-top: 0; }
    50% { margin-top: -13px; }
}
@keyframes addon-download-bg {
    from { background-position: 0 0; }
    to { background-position: 68px 68px; }
}
.addon-download-card {
    position: relative;
    z-index: 3;
    margin-top: -18px;
    padding: 16px;
    border-radius: 20px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 12px 34px rgba(255, 88, 0, .16);
    border: 1px solid rgba(255, 138, 0, .18);
}
.addon-download-card-title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #151515;
    font-size: 17px;
    font-weight: 900;
}
.addon-download-card-title i { color: #ff204d; }
.addon-download-desc {
    margin-top: 8px;
    color: #4f5665;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}
.addon-download-links { display: grid; gap: 10px; margin-top: 14px; }
.addon-download-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 16px;
    text-decoration: none !important;
    color: #101828 !important;
    background: linear-gradient(135deg, #fff6e8, #ecfbff);
    border: 1px solid rgba(255, 138, 0, .20);
    box-shadow: 0 8px 20px rgba(0,0,0,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.addon-download-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(255, 78, 112, .16);
    border-color: rgba(255, 32, 77, .38);
}
.addon-download-link__icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #ff204d, #ff8a00);
    flex: 0 0 auto;
}
.addon-download-link__text { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 2px; }
.addon-download-link__text strong { font-size: 15px; font-weight: 900; color: #111827; }
.addon-download-link__text small { font-size: 12px; font-weight: 700; color: #667085; overflow-wrap: anywhere; }
.addon-download-link__arrow { color: #ff204d; font-size: 17px; }
.addon-download-empty {
    margin-top: 14px;
    padding: 14px;
    border-radius: 16px;
    color: #8a4b00;
    background: #fff4dc;
    border: 1px dashed rgba(255, 138, 0, .45);
    font-weight: 800;
}
.addon-download-empty i { margin-right: 6px; }
@media (max-width: 480px) {
    .addon-download-overlay { align-items: flex-end; padding: 14px 10px 78px; }
    .addon-download-dialog { width: 100%; max-height: 88vh; border-radius: 20px; }
    .addon-download-header { border-radius: 20px 20px 0 0; padding: 14px; }
    .addon-download-title { font-size: 21px; }
    .addon-download-stage { min-height: 190px; }
    .addon-download-cube { width: 76px; height: 76px; border-radius: 20px; font-size: 31px; }
    .addon-download-cube--one { transform: translate(-78px, 8px) rotate(-10deg); }
    .addon-download-cube--three { transform: translate(78px, 12px) rotate(11deg); }
}
