body {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* MUSIC PLAYER HEADER */
.header{ 
    font-family: 'Press Start 2P', monospace;
    height: 2.5rem;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 999;
    position: fixed;
    margin-bottom: 1.25rem;  
    display: flex;
    background: linear-gradient(180deg,lightgray 0%, white 45%, gray 47%, pink 100%);
    border: ridge .125rem white; /* border around player */
    outline: solid .125rem black;  
    box-shadow: inset 10px 0px 6px -10px gray, inset -13px 0px 6px -10px gray, inset 0px 10px 6px -10px #ffffff, inset 0px -13px 6px -10px white;
    filter: drop-shadow(0 0.5px 0 gray) drop-shadow(0 0.5px 0 gray) drop-shadow(0 0.5px 0.5px gray) drop-shadow(0.5px 0.5px 1px gray) drop-shadow(-0.5px 0.5px 0 black) drop-shadow(0 0.5px 0 black) drop-shadow(0 0.5px 0 black); 
}
.music-controls {
    all: unset;
    margin-left: .25rem;
    margin-top: .125rem; 
    cursor: pointer;
}
.header-marquee {
    display: block;
    padding-top: 0.375rem;
    margin-left: 0.3125rem;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
    margin-right: 0.3125rem;
    font-size: 1.125rem;
    background: rgb(27, 27, 27);
    color: pink;
    font-weight: normal !important;
    border: gray inset 0.0625rem;
    border-radius: 0.375rem;
    filter: drop-shadow(0 0.5px 0 grey) drop-shadow(0 0.5px 0.5px grey) drop-shadow(0.5px 0.5px 1px grey) drop-shadow(-0.5px 0.5px 0 white) drop-shadow(0 0.5px 0 white); 
}
.home-button {
    all: unset;
    cursor: pointer;
    filter: drop-shadow(0 0.2px 0 pink) drop-shadow(0 0.2px 0.5px pink) drop-shadow(0.2px 0.2px 1px pink) drop-shadow(-0.2px 0.2px 0 white) drop-shadow(0 0.2px 0 white);
}
.home-button img {
    padding-left: 0.125rem;
    margin-top: -0.125rem;
    width: 2.8125rem;
    height: 2.8125rem;
    /* transition: filter 0.3s ease; */
}
.home-button:hover img {
    filter: drop-shadow(0 0.1px 0 pink) drop-shadow(0 0.2px 0.2px pink) drop-shadow(0.1px 0.1px .8px pink) drop-shadow(-0.2px 0.2px 0 white) drop-shadow(0 0.1px 0 white);
}
.prev-next {
    height: 1.375rem;
}
#song-title-marquee {
  width: 300px;      
  padding-left: 6px;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}
#song-title {
  display: inline-block;
  white-space: nowrap;
  transform: translateX(0);
}
#time-together-marquee {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    padding-left: 6px;
}

/* Start animation on hover */
#song-title-marquee:hover #song-title {
    animation: scroll-left-song-title 6s linear forwards;
    cursor: default;
}
#time-together-marquee:hover #time-together {
    animation: scroll-left-time-together 10s linear forwards;
    cursor: default;
}

@keyframes scroll-left-time-together {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-295%);
  }
}
@keyframes scroll-left-song-title {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-120%);
  }
}
#playlist-select {
    font-family: 'Press Start 2P', monospace;
    padding-top: 0.125rem;
    width: 12.5rem;
}
#time-together-marquee {
    width: 31.25rem;
    margin-left: auto;
}
.header-padding {
    height: 2.5rem;
}


/* PINK METALLIC THEME */
.pink-metallic {
    /* transition: margin 0.1s ease, box-shadow 0.1s ease, filter 0.2s ease; */
    font-family: 'Press Start 2P', monospace;
    padding: 11px 33px;
    background: linear-gradient(180deg, grey 0%, white 45%, grey 47%, white 60%, pink 100%);
    box-shadow: 6px 6px 0 rgb(27, 27, 27);
    transform: skewX(-15deg);
    border-width: 1vh;
    border-color: rgb(199, 199, 199);
    border-radius: 14% 6% 14% 6%;
    filter: drop-shadow(0 0.5px 0 gray) drop-shadow(0.5px 0.5px 2px grey) drop-shadow(-0.5px 0.5px 0 black);
}
.inner-text {
    font-size: 12px;
    font-family: 'Press Start 2P', monospace;
    color: rgb(27, 27, 27);
    background: white;
    line-height: 2.5vh;
    box-shadow: inset 4px 4px 10px grey; 
    border-radius: 14% 6% 14% 6%;
}
.date {
    z-index: 999;
    color: pink;
    font-size: 10pt;
    filter: drop-shadow(0 1.2px 0 grey) drop-shadow(0 1.2px 1px grey) drop-shadow(0.5px 0.5px 1px transparent) drop-shadow(-0.5px 0.5px 0 transparent) drop-shadow(0 0.5px 0 transparent);
}

/* TOGGLE BUTTONS */
.toggle-button {
    width: 2.5rem;         /* ~40px */
    height: 2rem;
    margin-right: -4px;
    transform: skewX(-15deg);
    border-width: 5px;
    box-shadow: 5px 5px 0 rgb(27, 27, 27);
    background: linear-gradient(180deg, grey 0%, white 45%, grey 47%, white 60%, grey 100%);
    border-color: rgb(199, 199, 199);
    font-size: 16px;
    cursor: pointer;
    filter: drop-shadow(0 0.5px 0 gray) drop-shadow(0.5px 0.5px 2px grey) drop-shadow(-0.5px 0.5px 0 black);
}
.toggle-button:disabled {
    cursor: default;
    border-color: rgb(206, 206, 206);
    box-shadow: 3px 3px 0px rgb(27, 27, 27);
    transform: translateX(1px) translateY(2px) skewX(-15deg);
    /* background: linear-gradient(180deg, grey 0%, white 40%, grey 42%, white 55%, grey 100%); */
}
.right {
    border-radius: 0 100px 100px 0;
}
.left {
    border-radius: 100px 0 0 100px;
}
.page-select-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-bottom: 40px;
} 
.grid-prev-button {
    transform: translateX(-400px) skewX(-15deg);
    margin-bottom: 30px; 
}
.grid-next-button {
    transform: translateX(400px) skewX(-15deg);
}
.big-prev-button {
    transform: translateY(-300px) translateX(-620px) skewX(-15deg);
}
.big-next-button {
    transform: translateY(-300px) translateX(600px) skewX(-15deg);
}

.grid-prev-button:hover,
.grid-next-button:hover,
.big-prev-button:hover,
.big-next-button:hover {
    transform: translate(1px, 1px, -15deg);
    filter: drop-shadow(0 1.5px 0 rgb(255, 216, 222)) drop-shadow(0 1.5px 0 rgb(255, 216, 222)) drop-shadow(0 1.5px 0.5px rgb(255, 216, 222)) drop-shadow(1.5px 1.5px 1px rgb(255, 216, 222)) drop-shadow(-1.5px 1.5px 0 transparent) drop-shadow(0 1.5px 0 transparent) drop-shadow(0 1.5px 0 transparent);
    cursor: pointer;
}
.grid-prev-button:disabled,
.grid-next-button:disabled,
.big-prev-button:disabled,
.big-next-button:disabled {
    opacity: 0;
    cursor: default;
}
.mute-button {
    font-family: 'Press Start 2P', monospace;
    position: absolute;
    display: flex;
    justify-content: center;   /* Center image horizontally */
    align-items: center;       /* Center image vertically */
    width: 60px;
    height: 40px;
    transform: rotate(0deg) translateX(380px) translateY(210px);
    border-width: 6px;
    box-shadow: 5px 5px 0 rgb(27, 27, 27);
    background: linear-gradient(180deg, grey 0%, white 45%, grey 47%, white 60%, grey 100%);
    border-color: rgb(199, 199, 199);
    font-size: 16px;
    cursor: pointer;
    filter: drop-shadow(0 0.5px 0 gray) drop-shadow(0.5px 0.5px 2px grey) drop-shadow(-0.5px 0.5px 0 black);
    border-radius: 100px; /* same as before, but simplified */
    padding: 0; /* remove any default padding */
}
.mute-button:hover,
.mute-button.active {
    filter: drop-shadow(0 1.5px 0 rgb(255, 216, 222)) drop-shadow(0 1.5px 0 rgb(255, 216, 222)) drop-shadow(0 1.5px 0.5px rgb(255, 216, 222)) drop-shadow(1.5px 1.5px 1px rgb(255, 216, 222)) drop-shadow(-1.5px 1.5px 0 transparent) drop-shadow(0 1.5px 0 transparent) drop-shadow(0 1.5px 0 transparent);
}
.mute-button img {
    max-width: 80%;   /* scale image appropriately inside button */
    max-height: 80%;
    display: block;   /* remove whitespace from inline image */
    pointer-events: none; /* allows clicking on the button instead of image */
}


/* HOME */
.circle-frame {
    position: absolute;
    display: flex;
    flex-direction: column;
    width: 850px;
    height: 800px;
    top: 20px;
    left: 48%;
    border-radius: 50%;
    background: linear-gradient(180deg, grey 0%, white 45%, grey 47%, white 60%, #ffc0cb 100%);
    box-shadow: 6px 6px 0 black;
    transform: translateX(-50%) skewX(-15deg);
}
.circle-frame-small {
    position: absolute;
    width: 410px;
    height: 30px;
    top: 20px;
    left: 78%;
    border-radius: 50%;
    background: linear-gradient(180deg, grey 0%, white 45%, grey 47%, white 60%, #ffc0cb 100%);
    box-shadow: 6px 6px 0 black;
    transform: translateX(-50%) skewX(-15deg);
}
.circle-platform { 
    position: absolute; 
    width: 850px; 
    height: 800px;
    margin: 40px 0 0 250px; 
    border-radius: 50%; 
    background: linear-gradient(180deg, grey 0%, white 45%, grey 47%, white 60%, pink 100%); 
    box-shadow: 6px 6px 0 black; 
    transform: skewX(-15deg); 
}
.circle-frame button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform-origin: 0 0;
    display: flex;
    font-size: 25px;
    color: black;
    filter: drop-shadow(0 0.5px 0 transparent) drop-shadow(0.5px 0.5px 2px grey) drop-shadow(-0.5px 0.5px 0 black);
}
.circle-frame button:hover {
    box-shadow: 4px 4px 0 black;
    cursor: pointer;
    filter: drop-shadow(0 1.5px 0 rgb(255, 216, 222)) drop-shadow(0 1.5px 0.5px rgb(255, 216, 222)) drop-shadow(1.5px 1.5px 1px rgb(255, 216, 222)) drop-shadow(-.1px .1px 0 transparent) drop-shadow(0 .1px 0 transparent);
}
.circle-frame button:active {
    box-shadow: none;
    /* margin-left: 1px;
    margin-top: 1px; */
}

.circle-frame .btn1 { 
    transform: rotate(0deg) translateX(-370px) translateY(-320px) skewX(-15deg);
}
.circle-frame .btn2 {
    transform: rotate(0deg) translateX(-500px) translateY(-220px) skewX(-15deg);
}
.circle-frame .btn3 {
    transform: rotate(0deg) translateX(-590px) translateY(-120px) skewX(-15deg);
}
.circle-frame .btn4 {
    transform: rotate(0deg) translateX(-500px) translateY(-20px) skewX(-15deg);
}
.circle-frame .btn5 {
    transform: rotate(0deg) translateX(-470px) translateY(80px) skewX(-15deg);
}

.circle-video {
    position: relative;
    width: 755px;  
    height: 734px;
    overflow: hidden;      
    border-radius: 50%;  
    margin-top: 30px;
    margin-left: 50px;
}

.circle-video video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover; 
    
}


/* GALLERY */
.gallery-container {
    all: unset;
    align-items: center;
}
.gallery-settings-container {
    margin-top: 25px;
    margin-bottom: 20px;
    margin-left: 1100px;
}
.gallery-container-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 80px 50px 80px;
    gap: 30px;
}
.gallery-container-big {
    display: flex;
    height: 72vh;
    justify-content: center;
    align-items: center;
}
.gallery-frame-small {
    position: relative;
    display: flex;
    justify-content: center;
}
.gallery-frame-small:hover {
    /* box-shadow: 4px 4px 0 black; */
    transform: translate(1px, 1px, -15deg);
    filter: drop-shadow(0 1.5px 0 rgb(255, 216, 222)) drop-shadow(0 1.5px 0.5px rgb(255, 216, 222)) drop-shadow(1.5px 1.5px 1px rgb(255, 216, 222)) drop-shadow(-1.5px 1.5px 0 transparent) drop-shadow(0 1.5px 0 transparent);
    cursor: pointer;
}
.gallery-frame-small .gallery-image {
    margin-left: 0px;
    margin-bottom: 5px;
    height: 220px;
    border-radius: 14% 6% 14% 6%;
    max-width: calc(100% - 10px);
    filter: drop-shadow(0 0.5px 0 pink) drop-shadow(0 0.5px 0.5px pink) drop-shadow(0.5px 0.5px 2px pink) drop-shadow(-0.5px 0.5px 0 white) drop-shadow(0 0.5px 0 white);
}
.gallery-frame-big {
    /* position: relative; */
    display: flex;
    flex-direction: flex column;
    margin-top: 5px;
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: -30px;
    height: 500px;
    max-width: 70%;
}
.gallery-frame-big .gallery-image {
    max-width: 80%;
    margin-bottom: 5px;
    border-radius: 14% 6% 14% 6%;
    filter: drop-shadow(0 0.5px 0 pink) drop-shadow(0 0.5px 0.5px pink) drop-shadow(0.5px 0.5px 2px pink) drop-shadow(-0.5px 0.5px 0 white) drop-shadow(0 0.5px 0 white);
}
.gallery-frame-big .gallery-description {
    position: relative;
    margin-bottom: 5px;
    margin-left: 25px;
    height: 350px;
    width: 200px;
    padding: 50px 30px 5px 30px;
}
.gallery-description .date {
    position: absolute;
    bottom: 20px;
}

/* MUSIC */
.music-container {
    font-family: 'Press Start 2P', monospace;
    max-width: 120vw;  
    width: 800px;  
    margin: 70px auto 0;
    transform: translateX(-20px);
    box-sizing: border-box;
}
.music-frame-left {
    position: relative;
    left: -15%;
    height: 200px;
    width: 700px;
    margin-bottom: 70px;
    margin-right: 500px;
    display: flex;
}
.music-frame-right {
    position: relative;
    left: 25%;
    height: 200px;
    width: 700px;
    margin-bottom: 70px;
    margin-right: 500px;
    display: flex;
}
.inner-right {
    position: relative;
    margin-left: 25px;
    width: 400px;
    padding: 15px 33px;
}
.cover-art-left {
    margin-left: 0px;
    /* margin-bottom: 5px; */
    width: 225px;
    height: 200px;
    font-size: 12px;
    font-family: 'Press Start 2P', monospace;
    border-radius: 14% 6% 14% 6%;
    filter: drop-shadow(0 0.5px 0 pink) drop-shadow(0 0.5px 0.5px pink) drop-shadow(0.5px 0.5px 2px pink) drop-shadow(-0.5px 0.5px 0 white) drop-shadow(0 0.5px 0 white);
}
.inner-left {
    position: relative;
    margin-left: 0px;
    /* margin-bottom: 5px; */
    width: 400px;
    padding: 15px 33px;
}
.cover-art-right {
    margin-left: 25px;
    /* margin-bottom: 5px; */
    width: 225px;
    height: 200px;
    font-size: 12px;
    font-family: 'Press Start 2P', monospace;
    border-radius: 14% 6% 14% 6%;
    filter: drop-shadow(0 0.5px 0 pink) drop-shadow(0 0.5px 0.5px pink) drop-shadow(0.5px 0.5px 2px pink) drop-shadow(-0.5px 0.5px 0 white) drop-shadow(0 0.5px 0 white);
}

.music-frame-left .date,
.music-frame-right .date {
    position: absolute;
    bottom: 5px;
    left: 33px;
}

/* BLOG */
.blog-container {    
    display: flex;
    flex-direction: row;
    gap: 50px;
    margin-top: 30px;
    margin-bottom: -40px;
    justify-content: center;
    font-family: 'Press Start 2P', monospace;
}
.blog-page-select-container {
    position: fixed;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 40px;
    z-index: 9999;
    pointer-events: auto;
} 

.blog-frame {
    position: relative;
    width: 440px;
    height: 550px;
}
.blog-text {
    padding: 50px 30px 50px 30px;
    height: 450px;
    width: 380px; 
    overflow-y: auto;
    scrollbar-width: none;      
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    contain: strict;
}
.blog-text::-webkit-scrollbar {
    display: none;              
}
.blog-text .title {
    font-size: 12pt;
}
.blog-frame .date {
    position: absolute;
    transform: translateX(30px) translateY(510px);
}

/* OUTFITS */

.outfits-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-left: 150px;
    margin-right: 400px;
    margin-bottom: 50px;
    gap: 10px;
}
#outfits-page-select-container {
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 40px;
  z-index: 9999;
  pointer-events: auto;
}
#outfits-platform {
    position: absolute;
    z-index: 0;
    height: 80px;
    width: 450px;
    margin: 400px 50px 0px 195px;
    filter: drop-shadow(0 2.5px 0 rgb(255, 216, 222)) drop-shadow(0 1.5px 0 rgb(255, 216, 222)) drop-shadow(0 1.5px 0.5px rgb(255, 216, 222)) drop-shadow(1.5px 1.5px 1px rgb(255, 216, 222)) drop-shadow(-1.5px 2.5px 0 white) drop-shadow(0 1.5px 0 white);
}
#outfits-prev-button {
  position: fixed;
  transform: translateY(-300px) translateX(-635px) skewX(-15deg);
}

#outfits-next-button {
  position: fixed;
}
.outfits-frame {
    position: relative;
    width: 330px;
    height: 450px;
    margin: -220px 0px 0px 800px;
}
.outfits-text {
    position: relative;
    height: 418px;
    padding: 30px 30px 0 30px;
}
.outfits-text .date {
    position: absolute;
    bottom: 8px;
    left: 30px;
}
.character {
    position: absolute;
    all: unset;
    z-index: 999;
    height: 300px;
    transform: translateX(260px) translateY(150px) skewX(0deg);
}

/* SCRAPBOOK */
.scrapbook-settings-container {
    margin-top: 25px;
    margin-bottom: 20px;
    margin-left: 1100px;
}
.scrapbook-container-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-left: 80px;
    margin-right: 80px;
    margin-bottom: 50px;
    gap: 30px;
}
.scrapbook-container-big {
    display: flex;
    height: 72vh;
    justify-content: center;
    align-items: center;
}
.scrapbook-frame-small {
    position: relative;
    display: flex;
    /* transition: box-shadow 0.1s, filter 0.2s; */
}
.scrapbook-frame-small:hover {
    filter: drop-shadow(0 1.5px 0 rgb(255, 216, 222)) drop-shadow(0 1.5px 0.5px rgb(255, 216, 222)) drop-shadow(1.5px 1.5px 1px rgb(255, 216, 222)) drop-shadow(-1.5px 1.5px 0 transparent) drop-shadow(0 1.5px 0 transparent);
    cursor: pointer;
}
.scrapbook-frame-small .scrapbook-image {
    margin-left: 0px;
    margin-bottom: 5px;
    height: 220px;
    filter: drop-shadow(0 0.5px 0 gray) drop-shadow(0.5px 0.5px 2px grey) drop-shadow(-0.5px 0.5px 0 black);
}

.scrapbook-frame-big {
    /* position: relative;
    display: flex;
    flex-direction: flex column;
    margin-top: 5px;
    margin-left: 20px;
    margin-right: 20px;
    height: 500px;
    max-width: calc(100% - 80px); */
    position: relative;
    align-items: center;
    width: 330px;
    height: 450px;
    margin: 30px -30px 0px 130px;
}
.scrapbook-image-big {
    /* max-width: 80%; */
    height: 400px;
    margin-left: -20px;
    filter: drop-shadow(0 0.5px 0 pink) drop-shadow(0 0.5px 0.5px pink) drop-shadow(0.5px 0.5px 2px pink) drop-shadow(-0.5px 0.5px 0 white) drop-shadow(0 0.5px 0 white);
}
.scrapbook-frame-big .scrapbook-description {
    /* position: relative;
    margin-bottom: 5px;
    margin-left: 25px;
    height: 350px;
    width: 200px;
    padding: 50px 30px 5px 30px; */
    position: relative;
    height: 418px;
    padding: 30px 30px 0 30px;
}
.scrapbook-description .date {
    position: absolute;
    bottom: 20px;
}

/* SCROLLER */
::-webkit-scrollbar {
    width: 16px;
    height: 16px;
}
::-webkit-scrollbar-button {
    border: outset 2px gray;
    border-radius: 3px;
    box-shadow: inset 1px 1px 0 0 white, inset -1px -1px 0 0 gray;
    display: block;
    width: 16px;
    height: 16px;
    background: lightgray;
    image-rendering: pixelated;
}
::-webkit-scrollbar-corner {
    background-color: lightgray;
}
::-webkit-scrollbar-thumb {
    border: outset 2px gray;
    border-radius: 3px;
    box-shadow: inset 1px 1px 0 0 white, inset -1px -1px 0 0 #868a8e;
    width: 16px;
    height: 16px;
    background: linear-gradient(90deg, gray 0%, white 45%, gray 47%, gray 60%, lightgray 100%);
    z-index: 1;
}
::-webkit-scrollbar-track {
    background: linear-gradient(90deg, gray 0%, lightgray 45%, gray 47%, black 100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: invert(10%);
    border: outset 2px lightgray;
    border-radius: 2px;
}
