/* =========================================================
   theme-summer.css — 夏天主题特效
   只在 html.theme-summer 时生效
   ========================================================= */

/* ===== 夏天变量 ===== */
html.theme-summer {
    --theme-accent: #4fc3f7;
    --theme-bg-image: url('../images/bg-summer.jpg');
}

/* ===== 鼠标光影 ===== */
html.theme-summer .summer-glow {
    position: fixed;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 50;
    background: radial-gradient(
        circle,
        rgba(255, 230, 150, 0.25) 0%,
        rgba(255, 200, 100, 0.15) 25%,
        rgba(100, 200, 255, 0.08) 50%,
        transparent 70%
    );
    transform: translate(-50%, -50%);
    transition: opacity 0.3s;
    mix-blend-mode: screen;
    will-change: transform;
}

/* ===== 萤火虫 ===== */
html.theme-summer .summer-firefly {
    position: fixed;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 50;
    background: radial-gradient(
        circle,
        #fff 0%,
        rgba(255, 240, 150, 0.9) 40%,
        rgba(255, 204, 0, 0) 70%
    );
    box-shadow:
        0 0 8px 2px rgba(255, 240, 150, 0.8),
        0 0 16px 4px rgba(255, 204, 0, 0.4);
    animation: fireflyFade 6s ease-out forwards;
    will-change: transform, opacity;
}

@keyframes fireflyFade {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.5);
    }
    15% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
    80% {
        opacity: 0.8;
    }
    100% {
        opacity: 0;
        transform: translate(
            calc(-50% + var(--dx, 0px)),
            calc(-50% + var(--dy, 0px))
        ) scale(0.6);
    }
}

/* ===== 手机适配：鼠标光影隐藏 ===== */
@media (max-width: 1024px) {
    html.theme-summer .summer-glow {
        display: none;
    }
}

/* ===== 点击生成光圈 ===== */
html.theme-summer .summer-ring {
    position: fixed;
    pointer-events: none;
    z-index: 50;
    border-radius: 50%;
    border: 2px solid rgba(255, 240, 180, 0.9);
    box-shadow:
        0 0 20px rgba(255, 240, 180, 0.8),
        0 0 40px rgba(255, 200, 100, 0.5),
        inset 0 0 20px rgba(255, 240, 180, 0.6);
    transform: translate(-50%, -50%) scale(0);
    animation: ringExpand 1.2s ease-out forwards;
    will-change: transform, opacity;
}

@keyframes ringExpand {
    0% {
        transform: translate(-50%, -50%) scale(0);
        opacity: 0.9;
        border-width: 4px;
    }
    100% {
        transform: translate(-50%, -50%) scale(3);
        opacity: 0;
        border-width: 1px;
    }
}