/* Theme lamp animation */

#themeLamp {
    pointer-events: none;
}

#themeLamp.visible {
    transform: translateY(0);
}

.lamp-fixture {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lamp-cord {
    width: 3px;
    height: 40px;
    background: linear-gradient(to bottom, #64748b, #475569);
    border-radius: 2px;
}

.lamp-holder {
    width: 24px;
    height: 12px;
    background: linear-gradient(to bottom, #475569, #334155);
    border-radius: 4px 4px 0 0;
}

.lamp-bulb {
    width: 40px;
    height: 50px;
    background: linear-gradient(to bottom, #fef3c7, #fde68a);
    border-radius: 50% 50% 45% 45%;
    position: relative;
    transition: all 0.5s ease;
    box-shadow: 0 0 0 rgba(253, 224, 71, 0);
}

.lamp-bulb.off {
    background: linear-gradient(to bottom, #94a3b8, #64748b);
}

.lamp-bulb.on {
    background: linear-gradient(to bottom, #fef9c3, #fde047);
    box-shadow: 0 0 30px rgba(253, 224, 71, 0.6), 0 0 60px rgba(253, 224, 71, 0.3);
}

.lamp-glow {
    position: absolute;
    inset: -20px;
    background: radial-gradient(circle, rgba(253, 224, 71, 0.4) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
}

.lamp-bulb.on .lamp-glow {
    opacity: 1;
}

.lamp-pull {
    width: 2px;
    height: 25px;
    background: #475569;
    margin-top: 5px;
    position: relative;
}

.lamp-pull::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 10px;
    height: 10px;
    background: linear-gradient(to bottom, #ea580c, #c2410c);
    border-radius: 50%;
}

/* Swing animation */
#themeLamp.swinging .lamp-fixture {
    transform-origin: top center;
    animation: lampSwing 0.6s ease-in-out;
}

/* Dark theme adjustments */
.dark .lamp-cord {
    background: linear-gradient(to bottom, #94a3b8, #64748b);
}

.dark .lamp-holder {
    background: linear-gradient(to bottom, #64748b, #475569);
}

.dark .lamp-pull {
    background: #64748b;
}