.loader {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: #000;
  z-index: 9999;
  transition: opacity 0.7s ease, visibility 0.7s ease;
}

.loader.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.loader-image {
  width: min(300px, 55vw);
  max-width: 300px;
}

.loader-progress {
    color: #440a7f;
  font-family: 'Courier New', Courier, monospace;
  font-size: 26px;
  font-weight: bold;
}

body{
     background: url(A5.png);
     background-size: 100%;
    font-family: 'Courier New', Courier, monospace;
    font-weight: bold;
    text-align: center;
    color: whitesmoke;
     cursor: url('data:image/x-icon;base64,AAACAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAEAAAAAAAAAD3FJ8AAAAAAOcEjwBiATwAvgF0ANIBgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEREREREREREAABEREAAREREREREREREQMzMBEQMzABERERERERERA1REMBA1RDMBEREREREREDVEREMDJEREMBEREREREQMlUzREMlQzRDAREREREREDJTADRDJTADQwERERERERAyUzADQyQwA0MBERERERERAyIjADNUMzRDARERERERERAzMAADVDRDMBERERERERERAAMwA1QzMAERERERERERERA1QwNEMAEREREREREREREQNUMDRDABEREREREREREREDVDA0QwAREREREREREREAA1VDNEMAEREREREREREQMzNVVERDARERERERERERAyJTUyVUQwEREREREREREQMjJVMyVTAREREREREREREQMDVTAzMBEREREREREREREQADMwAAEREREREREREREREREAAREREREREREREREDERERERERERERERERERERAzEREREREREREREREREREQABERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERH//w+P//4HA//8AgH/+AAA//AAAP/wAAD/8AAA//gAAP/8AAH//gAD//8AD///AA///wAP//wAD//4AB//8AAf//AAP//4AH///AD///+P//+f////j////4///////////////////////////////////////////////////w=='), auto; 
}

#text{
  margin: 30px;
  filter: drop-shadow(0 0 8px #000);
  background-color: #0000007d;
  box-shadow: 0 0 5px black;
padding: 20px;
}

#divider{
  position: absolute;
  width: 100%;
  z-index: -1;
  right: 0;
  left: 0;
  top: -30px;
  margin-bottom: -135px;
   filter: drop-shadow(1px 10px 5px #0000008c)
}


#curtain{
     width: 30%;
    position: absolute;
    left:0;
    top:0;
    z-index: -1;
  filter: drop-shadow(10px 2px 5px #0000008c);
}

#curtain1{
    width: 30%;
    position: absolute;
    right:0;
    top:0;
    z-index: -1;
    transform: scaleX(-1);
   filter: drop-shadow(-10px 2px 5px #0000008c);
}



html{ 
     height: 100%;
    overflow: hidden;
    cursor: url('data:image/x-icon;base64,AAACAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAEAAAAAAAAAD3FJ8AAAAAAOcEjwBiATwAvgF0ANIBgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEREREREREREAABEREAAREREREREREREQMzMBEQMzABERERERERERA1REMBA1RDMBEREREREREDVEREMDJEREMBEREREREQMlUzREMlQzRDAREREREREDJTADRDJTADQwERERERERAyUzADQyQwA0MBERERERERAyIjADNUMzRDARERERERERAzMAADVDRDMBERERERERERAAMwA1QzMAERERERERERERA1QwNEMAEREREREREREREQNUMDRDABEREREREREREREDVDA0QwAREREREREREREAA1VDNEMAEREREREREREQMzNVVERDARERERERERERAyJTUyVUQwEREREREREREQMjJVMyVTAREREREREREREQMDVTAzMBEREREREREREREQADMwAAEREREREREREREREREAAREREREREREREREDERERERERERERERERERERAzEREREREREREREREREREQABERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERH//w+P//4HA//8AgH/+AAA//AAAP/wAAD/8AAA//gAAP/8AAH//gAD//8AD///AA///wAP//wAD//4AB//8AAf//AAP//4AH///AD///+P//+f////j////4///////////////////////////////////////////////////w=='), auto; }

#container{
  display: flex;
  justify-content: center;
}

#table{
    background: transparent;
    overflow: hidden;
height:100px;
position: fixed;
bottom: 0;
left: 0;
right: 0;
display: flex;
align-items: center;
justify-content: center;
z-index: 3;
box-shadow: #e40000 1px 2px 1px;
border-radius: 100%;


}

#table::before{
    position: absolute;
    content: "";
  z-index: -1;
  width: 100%;
  height: 5000%;
background-image: url(A1.png);
background-size: 10%;
transform: rotate(10deg);
}


#tablebottom{
     background: #ff7800;
    overflow: hidden;
height:100px;
position: fixed;
z-index: 1;
bottom: 0;
left: 0;
right: 0;
border-radius: 100% 100% 0 0;
}

#poster{
   width: auto;
   height: 400px;
  position: fixed;
  left: 100px;
  box-shadow: 0.5px 0.5px 5px rgba(0, 0, 0, 0.557);
 outline: gold 5px dotted;
  outline-offset: -2px;
}

#book{
   width: 225px;
  position: fixed;
  bottom: 62px;
  rotate: 3deg;
  z-index: 1;
  left: 610px;
  filter: brightness(1.3);
}

#plushie{
    width: 240px;
    position: fixed;
    bottom: 20px;
    left: 450px;
    z-index: 1;
}


#board{
    position: fixed;
    width: 550px;
    height: 200px;
    background-size: 300px;
    background-image: url(https://i.pinimg.com/1200x/af/89/18/af8918a025b8b00ff52b3866602c7719.jpg);
    border-image-source: url(https://i.pinimg.com/736x/23/ab/fd/23abfd91a72ff0ab1c2b94435a8071dd.jpg);
    border-image-slice: 100 102 100 102;
    border-image-repeat: round;
    border-width: 20px;
    border-style: solid;
    margin-left: 440px;
    padding: 10px;
    display: grid;
    grid-template-columns: 20px 20px 20px 20px;
    grid-template-rows: 20px;
    gap: 5em;
     box-shadow: inset 0px 0px 10px 2px rgba(0, 0, 0, 0.557);
    filter: drop-shadow(0.5px 0.5px 2px black);
}

#pin1, #pin3 {width: 80px;}
#pin2{width: 78px;}
#keychain{width: 100px;}


button{background-color: transparent;
  font-size: x-large;
  font-family: 'Courier New', Courier, monospace;
  border: none;
  font-weight: bold;
  -webkit-text-fill-color: whitesmoke;
}

button:hover{
-webkit-text-fill-color: lime; 
 cursor: url("https://www.dropbox.com/scl/fi/m5il15wnm4lbi5lefll14/cursor.cur?rlkey=ul713lrd29h7if5veissaqzqo&st=6bffuat6&dl=1"), auto;
}

.lightbox {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: rgba(0, 0, 0, 0.9);
    z-index: 1000;

     opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.lightbox.active {opacity: 1;
    visibility: visible;}

.lightbox-content {
    position: relative;
    max-width: 95vw;
    max-height: 95vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lightbox-image {
    max-width: 95vw;
    max-height: 85vh;
    object-fit: contain;

    transform: scale(0.8);
    transform: translateY(20px);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    touch-action: manipulation;
}


.lightbox.active .lightbox-image {
   filter: drop-shadow(4px 4px 4px black);
     transform: translateY(0);
    opacity: 1;
}

.lightbox-close {
    position: absolute;
    top: -12px;
    right: -12px;
    border: none;
    font-size: 40px;
    z-index: 1;
    color: white;
}


.lightbox-caption {
    margin-top: 0.8rem;
    color: white;
    font-weight: bold;
    text-align: center;
    text-shadow: 0 0 6px black;
    width: 1200px;
}


.image-card img {
    display: block;
    max-width: 320px;
    width: 100%;
    max-height: 400px;
    transition: transform 0.2s ease, filter 0.2s ease;
}

.image-card{display: contents;}

.image-card:hover .image-overlay {opacity: 1 !important;}
.image-card:hover img {filter:brightness(0.8) !important; cursor: url("https://www.dropbox.com/scl/fi/m5il15wnm4lbi5lefll14/cursor.cur?rlkey=ul713lrd29h7if5veissaqzqo&st=6bffuat6&dl=1"), auto;}   


@media only screen and (max-width: 920px) {
html, body {
    overflow-y: visible;
    overflow-x: none;
    max-width: 100%;
    background-size: cover;
  background-attachment: fixed;
  }



#curtain, #curtain1{display: none;}
#divider{top:0}

  #poster {
    order:1;
  position: relative !important;
    top: auto !important;
    left: auto !important;
    width: calc(100% - 24px) !important;
    max-width: 300px;
    display: block;
    margin: 10px auto 12px;
    box-sizing: border-box;
  }

  #board {
    order:2;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: calc(100% - 24px) !important;
    max-width: 300px;
    display: grid;
     grid-template-columns: auto auto auto;
     grid-template-rows: auto;
    gap:1px;
    margin: 10px auto 12px;
    margin-bottom: 300px;
    box-sizing: border-box;
    border-width: 5px;
  }



#container{
    max-width: 100%;
    width: 100%;
    display: grid;
}


    .image-card {
        display: block;
        width: 100%;
       
    }

    .image-card img {
        max-width: 100%;
        width: 100%;
    }

    .lightbox {
        padding: 12px;
    }

    .lightbox-prev {
        left: 4px;
    }

    .lightbox-next {
        right: 4px;
    }

    .lightbox-close {
        right: 4px;
        top: 4px;
    }

    .lightbox-caption {
        width: 100%;
        max-width: 100%;
        font-size: 14px;
        padding: 0 8px;
        box-sizing: border-box;
    }

    .lightbox-image {
        max-height: 70vh;
    }


#table {
    background-image: url(A1.png);
background-size: 30%;
    overflow: visible;
    order:3;
    position: relative;
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    align-items: flex-end;
    z-index: 5;
  }

#table::before{display: none;}



#tablebottom {
display: none;
  }

#table .image-card {
    display: flex;
    width: auto;
    align-items: flex-end;
    justify-content: center;
  }

  #book{
    position: relative;
    left: 160px;
    bottom: auto;
    max-height: 300px;
    object-fit: contain;
    z-index: 6;
  }
 
  #plushie {
    position: relative;
    left: -210px;
    bottom: auto;
    max-height: 300px;
    object-fit: contain;
    z-index: 6;
  }

}

    
@media (hover: none) {
    .image-card:focus .image-overlay,
    .image-card:active .image-overlay {
        opacity: 1;
    }
}