.base-bg3 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    z-index: -1;
}
.art-container {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden; 
}

.gallery-viewport {
    position: absolute;
    top: 5%;
    left: 0;
    width: 100vw;
    height: 70vh;
    z-index: 5;
    cursor: grab; 
}

.gallery-viewport:active {
    cursor: grabbing; 
}

.drag-track {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    display: inline-flex; 
    align-items: flex-start;
    padding: 0 5vw; 
    gap: 3vw; 
    user-select: none; 
    -webkit-user-drag: none;
}


.clothesline {
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%; 
    height: 15vw; 
    background-image: url('line.png');
    background-repeat: repeat-x; 
    
    background-size: 116vw auto; 
    
    background-position: 5vw top; 
    
    z-index: 5;
    pointer-events: none;
}

.hanging-photo {
    position: relative;
    width: 26vw;    
    height: auto;   
    margin-top: 5vw;
    z-index: 2;
    transition: transform 0.4s ease-in-out; 
}

.hanging-photo img {
    width: 100%;
    height: auto;
    display: block;
    filter: drop-shadow(3px 5px 6px rgba(0,0,0,0.6));
    border-radius: 2px; 
    
    cursor: url('https://sadhost.neocities.org/images/pixels/star-cursor-hover.png'), pointer;
    -webkit-user-drag: none; 
}

.hanging-photo:nth-child(even) { transform: rotate(2deg); }
.hanging-photo:nth-child(odd) { transform: rotate(-3deg); }
.hanging-photo:nth-child(3n) { transform: rotate(1deg); }
.train-overlay {
    position: fixed; 
    bottom: -10%;
    right: -5%;
    width: 70vw; 
    z-index: 10;
    pointer-events: none; 
}

.sign-nav {
    position: fixed; 
    bottom: 0;
    right: 2%;
    width: 35vw; 
    height: 45vh;
    z-index: 15;
}
.sign-btn {
    position: absolute;
    display: block;
    transition: transform 0.2s ease-out;
}

.sign-btn:hover {
    transform: scale(1.08) rotate(-2deg);
    cursor: url('https://sadhost.neocities.org/images/pixels/star-cursor-hover.png'), pointer;
}

.sign-btn img {
    width: 100%;
    display: block;
    filter: drop-shadow(2px 4px 4px rgba(0,0,0,0.5));
}

.sign-red        { bottom: 0; left: 0%; width: 22%; }
.sign-green-up   { bottom: 39%; left: 18%; width: 50%; z-index: 2; }
.sign-green-down { bottom: 0; left: 25%; width: 50%; z-index: 1; }
.sign-yellow     { bottom: 0; right: 0%; width: 30%; z-index: 3; }

.sign-label {
    position: absolute;
    font-family: 'Indie Flower', cursive;
    color: #fcf6e0; 
    font-size: 2vw; 
    font-weight: bold;
    text-shadow: 
        1.5px 1.5px 0px #1a1b26, 
        -1.5px -1.5px 0px #1a1b26, 
        1.5px -1.5px 0px #1a1b26, 
        -1.5px 1.5px 0px #1a1b26;
    pointer-events: none; 
    transition: color 0.3s ease;
    transform: translate(-50%, -50%); 
}

.sign-btn:hover .sign-label {
    color: #ffc954; 
}



.label-red {
    top: 45%;
    left: 45%;
}

.label-green-up {
    top: 48%; 
    left: 56%; 
}

.label-green-down {
    top: 42%; 
    left: 44%; 
}

.label-yellow {
    top: 36%; 
    left: 50%;
}

.modal {
    display: none;
    position: fixed; 
    z-index: 100;
    left: 0;
    top: 0;
    width: 100vw; 
    height: 100vh; 
    background-color: rgba(0,0,0,0.7); 
    backdrop-filter: blur(3px); 
}

.modal-content {
    margin: auto;
    display: block;
    max-width: 90vw; 
    max-height: 90vh; 
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); 
    border: 10px solid #fcf6e0; 
    box-shadow: 0px 0px 20px rgba(0,0,0,0.8);
}

.close-btn {
    position: absolute;
    top: 20px;
    right: 40px;
    color: #fcf6e0;
    font-size: 50px;
    font-family: 'Indie Flower', cursive;
    font-weight: bold;
    cursor: url('https://sadhost.neocities.org/images/pixels/star-cursor-hover.png'), pointer;
    transition: color 0.3s;
}

.close-btn:hover {
    color: #e77678; 
}