/* 柔情模式变量 */
:root {
    --soft-pink: #ff6b9d;
    --soft-purple: #c44569;
    --soft-orange: #f8b500;
    --soft-cream: #ffecd2;
    --soft-lavender: #e0c3fc;
}

/* 整体背景 */
body.soft-mode #lock-screen { background: rgba(255, 236, 210, 0.3); }

body.soft-mode .lock-container {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 8px 32px rgba(255, 107, 157, 0.2);
    border-radius: 32px;
}

body.soft-mode .lock-icon svg { stroke: var(--soft-pink); filter: drop-shadow(0 0 20px rgba(255, 107, 157, 0.6)); }
body.soft-mode .lock-icon { animation: softFloat 4s ease-in-out infinite; }
body.soft-mode .lock-title { text-shadow: 0 0 20px rgba(255, 107, 157, 0.8); }
body.soft-mode .lock-subtitle { color: rgba(255, 255, 255, 0.8); }

body.soft-mode .pin-dot { border-color: rgba(255, 107, 157, 0.5); }
body.soft-mode .pin-dot.filled { background: var(--soft-pink); border-color: var(--soft-pink); box-shadow: 0 0 20px rgba(255, 107, 157, 0.6); }

body.soft-mode .key { background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 20px; }
body.soft-mode .key:hover { background: rgba(255, 107, 157, 0.2); border-color: var(--soft-pink); }

/* 主视觉 */
body.soft-mode #particles-canvas { background: radial-gradient(ellipse at bottom, #4a2c5a 0%, #1a1a2e 100%); }

body.soft-mode .glitch-wrapper { animation: softBreathe 4s ease-in-out infinite; }

body.soft-mode h1 {
    text-shadow: 0 0 20px rgba(255, 107, 157, 0.8), 0 0 40px rgba(255, 107, 157, 0.4);
    animation: softGlow 3s ease-in-out infinite;
    font-weight: 700;
}

body.soft-mode h1::before,
body.soft-mode h1::after { display: none; }

body.soft-mode .subtitle {
    color: rgba(255, 236, 210, 0.9);
    text-shadow: 0 0 15px rgba(255, 107, 157, 0.5);
    animation: softPulse 3s ease-in-out infinite;
    letter-spacing: 6px;
}

/* 光球 */
body.soft-mode .orb-1 { background: radial-gradient(circle, rgba(255,154,158,0.8) 0%, rgba(250,208,196,0.4) 100%); box-shadow: 0 0 150px rgba(255, 107, 157, 0.4); animation: softOrbFloat 20s infinite ease-in-out; }
body.soft-mode .orb-2 { background: radial-gradient(circle, rgba(255,200,100,0.6) 0%, rgba(255,150,100,0.3) 100%); box-shadow: 0 0 120px rgba(248, 181, 0, 0.3); animation-delay: -5s; }
body.soft-mode .orb-3 { background: radial-gradient(circle, rgba(224,195,252,0.7) 0%, rgba(200,150,220,0.3) 100%); box-shadow: 0 0 100px rgba(224, 195, 252, 0.4); animation-delay: -10s; }

/* 区块 */
body.soft-mode .cyber-section {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(30px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 30px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

body.soft-mode .cyber-section:hover {
    transform: translateY(-8px) scale(1.01);
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 20px 60px rgba(255, 107, 157, 0.2);
    border-color: rgba(255, 255, 255, 0.4);
}

body.soft-mode .corner { border-color: rgba(255, 255, 255, 0.5); border-radius: 4px; }
body.soft-mode .cyber-section:hover .corner { border-color: var(--soft-pink); box-shadow: 0 0 15px rgba(255, 107, 157, 0.6); width: 25px; height: 25px; }

body.soft-mode .section-title { text-shadow: 0 0 10px rgba(255, 255, 255, 0.3); }
body.soft-mode .section-title::after { background: linear-gradient(90deg, var(--soft-pink), transparent); box-shadow: 0 0 10px rgba(255, 107, 157, 0.5); }
body.soft-mode .section-icon { animation: softIconFloat 4s ease-in-out infinite; filter: drop-shadow(0 0 10px rgba(255, 200, 200, 0.5)); }

/* 按钮 */
body.soft-mode .neon-btn {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    backdrop-filter: blur(10px);
}

body.soft-mode .neon-btn::after { background: linear-gradient(90deg, var(--soft-pink), var(--soft-orange)); box-shadow: 0 0 20px rgba(255, 107, 157, 0.4); }
body.soft-mode .neon-btn:hover { transform: translateY(-5px) scale(1.03); background: rgba(255, 255, 255, 0.2); box-shadow: 0 10px 30px rgba(255, 107, 157, 0.25); }

/* 底部栏 */
body.soft-mode #cyber-bar { background: rgba(255, 255, 255, 0.1); border-top: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 -5px 30px rgba(255, 107, 157, 0.15); }
body.soft-mode .status-label { color: rgba(255, 200, 200, 0.9); text-shadow: 0 0 5px rgba(255, 107, 157, 0.5); }
body.soft-mode .system-time { text-shadow: 0 0 10px rgba(255, 107, 157, 0.6); }

body.soft-mode .mode-toggle-btn {
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 0 20px rgba(255, 107, 157, 0.2);
}

/* 动画定义 */
@keyframes softFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-15px) rotate(5deg); }
}

@keyframes softBreathe {
    0%, 100% { transform: translateY(0px) scale(1); opacity: 0.95; }
    50% { transform: translateY(-10px) scale(1.02); opacity: 1; }
}

@keyframes softGlow {
    0%, 100% { text-shadow: 0 0 20px rgba(255, 107, 157, 0.6), 0 0 40px rgba(224, 195, 252, 0.4); filter: brightness(1); }
    50% { text-shadow: 0 0 30px rgba(255, 107, 157, 0.9), 0 0 60px rgba(248, 181, 0, 0.5); filter: brightness(1.1); }
}

@keyframes softPulse {
    0%, 100% { opacity: 0.7; transform: scale(1); letter-spacing: 6px; }
    50% { opacity: 1; transform: scale(1.05); letter-spacing: 8px; }
}

@keyframes softIconFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-8px) rotate(5deg); }
}

@keyframes softOrbFloat {
    0%, 100% { transform: translate(0, 0) scale(1); filter: blur(80px) brightness(1); }
    33% { transform: translate(40px, -20px) scale(1.1); filter: blur(90px) brightness(1.2); }
    66% { transform: translate(-30px, 30px) scale(0.9); filter: blur(70px) brightness(0.9); }
}