.floor {
    border-bottom: 3px solid #1a252f;
    padding: 1.5rem;
    background: linear-gradient(180deg, #bdc3c7 0%, #95a5a6 100%);
    position: relative;
    min-height: 180px;
    box-shadow: 
        inset 0 1px 3px rgba(0,0,0,0.2),
        inset 2px 0 4px rgba(0,0,0,0.1),
        0 1px 0 rgba(255,255,255,0.1);
    transition: all 2s ease-in-out;
}

body.night .floor {
    background: linear-gradient(180deg, #34495e 0%, #2c3e50 100%);
    border-bottom-color: #0f1419;
}

.floor::before {
    content: '';
    position: absolute;
    left: 10px;
    right: 10px;
    top: 20px;
    height: calc(100% - 80px);
    background: 
        repeating-linear-gradient(90deg, 
            transparent 0px, 
            transparent 18px, 
            rgba(255,255,255,0.1) 19px, 
            rgba(255,255,255,0.1) 21px,
            transparent 22px,
            transparent 40px,
            rgba(255,255,255,0.1) 41px,
            rgba(255,255,255,0.1) 43px,
            transparent 44px,
            transparent 62px,
            rgba(255,255,255,0.1) 63px,
            rgba(255,255,255,0.1) 65px,
            transparent 66px,
            transparent 84px,
            rgba(255,255,255,0.1) 85px,
            rgba(255,255,255,0.1) 87px
        ),
        repeating-linear-gradient(0deg,
            transparent 0px,
            transparent 15px,
            rgba(0,0,0,0.05) 16px,
            rgba(0,0,0,0.05) 18px
        );
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 2px;
    pointer-events: none;
}

.floor.owned {
    background: linear-gradient(180deg, #ecf0f1 0%, #d5dbdb 100%);
    box-shadow: 
        inset 0 1px 3px rgba(0,0,0,0.1),
        inset 2px 0 4px rgba(0,0,0,0.05),
        0 1px 0 rgba(255,255,255,0.2);
}

body.night .floor.owned {
    background: linear-gradient(180deg, #3d4c5a 0%, #2c3e50 100%);
}

.floor.owned::after {
    content: '';
    position: absolute;
    left: 15px;
    right: 15px;
    top: 25px;
    height: calc(100% - 85px);
    background: 
        /* Windows */
        repeating-linear-gradient(90deg,
            transparent 0px,
            transparent 15px,
            #87CEEB 16px,
            #B0E0E6 18px,
            #87CEEB 20px,
            transparent 21px,
            transparent 36px,
            #87CEEB 37px,
            #B0E0E6 39px,
            #87CEEB 41px,
            transparent 42px,
            transparent 57px,
            #87CEEB 58px,
            #B0E0E6 60px,
            #87CEEB 62px,
            transparent 63px,
            transparent 78px,
            #87CEEB 79px,
            #B0E0E6 81px,
            #87CEEB 83px,
            transparent 84px
        ),
        /* Window frames */
        repeating-linear-gradient(90deg,
            transparent 0px,
            transparent 14px,
            #2c3e50 15px,
            #2c3e50 22px,
            transparent 23px,
            transparent 35px,
            #2c3e50 36px,
            #2c3e50 43px,
            transparent 44px,
            transparent 56px,
            #2c3e50 57px,
            #2c3e50 64px,
            transparent 65px,
            transparent 77px,
            #2c3e50 78px,
            #2c3e50 85px,
            transparent 86px
        ),
        /* Horizontal divisions */
        repeating-linear-gradient(0deg,
            transparent 0px,
            transparent 20px,
            #2c3e50 21px,
            #2c3e50 23px,
            transparent 24px,
            transparent 44px,
            #2c3e50 45px,
            #2c3e50 47px,
            transparent 48px
        );
    border: 2px solid #2c3e50;
    border-radius: 2px;
    pointer-events: none;
    box-shadow: inset 0 0 10px rgba(0,0,0,0.1);
}

body.night .floor.owned::after {
    background: 
        /* Night windows with warm light */
        repeating-linear-gradient(90deg,
            transparent 0px,
            transparent 15px,
            #FFD700 16px,
            #FFA500 18px,
            #FFD700 20px,
            transparent 21px,
            transparent 36px,
            #FFD700 37px,
            #FFA500 39px,
            #FFD700 41px,
            transparent 42px,
            transparent 57px,
            #FFD700 58px,
            #FFA500 60px,
            #FFD700 62px,
            transparent 63px,
            transparent 78px,
            #FFD700 79px,
            #FFA500 81px,
            #FFD700 83px,
            transparent 84px
        ),
        /* Window frames */
        repeating-linear-gradient(90deg,
            transparent 0px,
            transparent 14px,
            #1a252f 15px,
            #1a252f 22px,
            transparent 23px,
            transparent 35px,
            #1a252f 36px,
            #1a252f 43px,
            transparent 44px,
            transparent 56px,
            #1a252f 57px,
            #1a252f 64px,
            transparent 65px,
            transparent 77px,
            #1a252f 78px,
            #1a252f 85px,
            transparent 86px
        ),
        /* Horizontal divisions */
        repeating-linear-gradient(0deg,
            transparent 0px,
            transparent 20px,
            #1a252f 21px,
            #1a252f 23px,
            transparent 24px,
            transparent 44px,
            #1a252f 45px,
            #1a252f 47px,
            transparent 48px
        );
    border-color: #1a252f;
    box-shadow: 
        inset 0 0 10px rgba(0,0,0,0.2),
        0 0 20px rgba(255, 215, 0, 0.1);
}

.floor-label {
    font-weight: bold;
    margin-bottom: 1rem;
    color: #2c3e50;
    background: rgba(255,255,255,0.9);
    padding: 0.5rem 1rem;
    border-radius: 20px;
    display: inline-block;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    font-size: 0.9rem;
    z-index: 3;
    position: relative;
}

.floor-actions {
    position: absolute;
    right: 1rem;
    top: 1rem;
}