* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  image-rendering: pixelated;
}

:root{
  --blue: #7691a3;
  --yellow: #e0c476;
  --pink: #e2a9ac;
  --brown: #705e52;
  --brown2: #b9a698;
  --green: #859764;
}

:root{
  --outline-white:
  drop-shadow(-1px 0 0 #ffffff)
  drop-shadow(1px 0 0 #ffffff)
  drop-shadow(0 -1px 0 #ffffff)
  drop-shadow(0 1px 0 #ffffff);
}

@font-face{
  font-family: 'kingthings_trypewriter_2';
  src: url(/fonts/kingthings_trypewriter_2-webfont.woff),
       url(/fonts/kingthings_trypewriter_2-webfont.woff2);
  font-weight: normal;
  font-style: normal;
}

@font-face{
  font-family: 'dudu_calligraphy';
  src: url(/fonts/dudu_calligraphy-webfont.woff),
       url(/fonts/dudu_calligraphy-webfont.woff2);
  font-weight: normal;
  font-style: normal;
}

@keyframes fade-in{
  0% {opacity: 0;}
  100% {opacity: 1;}
}

::-webkit-scrollbar{
  width: 3px;
  height: 3px;
}

::-webkit-scrollbar-track{
  background: transparent;
}
 
::-webkit-scrollbar-thumb{
  border-radius: 5px;
  background: #a18c7d;
}

::-webkit-scrollbar-thumb:hover{
  background: var(--brown); 
}

a{color: var(--brown2); font-style: italic; text-decoration: none;}
a:hover{cursor: help; font-style: normal; text-decoration: none;}

::selection{
  color: var(--green);
  background: transparent;
}

.wrapper{
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

body{
  background-image: url(/images/diary/diaryb.jpg);
  background-size:350px;
  font-family: 'kingthings_trypewriter_2', 'Verdana', 'sans-serif';
  image-rendering: pixelated;
  color: var(--brown);
  scrollbar-width: thin;
  animation: fade-in 0.4s ease-in;
}

.diary{
  display: flex;
  position: relative;
  z-index: 1;
  background-image: url(/images/diary/diary-bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 720px;
  height: 630px;
  filter: drop-shadow(0 0 2px rgb(0, 0, 0, 0.4));
}

.entry-page{
  position: absolute;
  z-index: 2;
  right: 50px;
  top: 75px;
  background-image: url(/images/diary/page-bg.png);
  background-size: cover;
  width: 365px;
  height: 510px;
  transform: rotate(-2deg);
  padding: 55px 30px 50px 35px;
}

.notes{
  position: relative;
  top: 50px;
  left: 47px;
  width: 280px;
  height: 500px;
  padding: 15px;
  transform: rotate(5.2deg);
  overflow-y: scroll;
}

.note-page{
  position: absolute;
  z-index: 2;
  background-size: contain;
  width: 215px;
  height: 215px;
  padding: 15px 12px;
}

.note-inner{
  height: 100%;
  padding: 8px 10px 8px 8px;
  font-family: 'dudu_calligraphy';
  letter-spacing: -1px;
  overflow-y: scroll;
}

#note1{
  background-image: url(/images/diary/note1.png);
  transform: rotate(4deg);
  top: 30px;
  left: 30px;
}

#note2{
  background-image: url(/images/diary/note2.png);
  transform: rotate(-8deg);
  top: 270px;
  left: 30px;
}

.todo-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 14px;
  text-align: left;
}

.todo-list li {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

.todo-list input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 14px;
  height: 14px;
  border: 1px solid #999;
  border-radius: 3px;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
}

.todo-list input[type="checkbox"]:checked {
  background: #d8b4d8;
  border-color: #b98fb9;
}

.todo-list input[type="checkbox"]:checked::after {
  content: "✓";
  position: absolute;
  top: -3px;
  left: 1px;
  font-size: 11px;
  color: #fff;
}

.todo-list label {
  cursor: pointer;
}

.todo-list input[type="checkbox"]:checked + label {
  text-decoration: line-through;
  color: #aaa;
}

#note3{
  background-image: url(/images/diary/note3.png);
  transform: rotate(8deg);
  bottom: -245px;
  left: 30px;
}

.nav{
  position: absolute;
  z-index: 2;
  display: flex;
  gap: 5px;
  top: -13px;
  left: 95px;
  transform: rotate(4deg);
}

.nav-link{
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: drop-shadow(0 -1px 2px rgba(0, 0, 0, 0.2));
  width: 120px;
  padding: 14px;

  color: var(--brown);
  font-style: normal;
  font-size: 13px;
  letter-spacing: 1px;
  text-align: center;
  transition: all 0.2s ease;
}

.nav-link:hover{
  color: var(--brown2);
  letter-spacing: 2px;
}

#nav1{background-image: url(/images/diary/label1.png);}
#nav2{background-image: url(/images/diary/label2.png);}

.buttonz{
  position: relative;
  width: fit-content;
  top: 10px; 
  left: 10px;
  font-family: 'dudu_calligraphy'; 
  filter: drop-shadow(1px 1px 0 rgb(0, 0, 0, 0.4)); 
}

#creds:hover #creds-text{
  cursor: help;
  visibility: visible;
}

#creds-text{
  visibility: hidden;
}

/* LINKS */

.camera{
  z-index: 999;
  bottom: -50px;
  right: 20px;
  transform: rotate(-10deg);
}

.camera a{
  position: relative;
  display: block;
  width: 290px;
  height: 176px;   /* was 320x320 — now matches the actual image footprint */
}

#camera-off{
  position: absolute;
  top: 0;           /* was top: 320px — that's what pushed the visible image
                        entirely outside the hoverable box */
  left: 0;           /* was right: 50px */
  width: 290px;
  opacity: 1;
  transition: all 0.9s ease;
}

#camera-on{
  position: absolute;
  top: 0;
  left: 0;
  width: 290px;
  opacity: 0;
  transition: all 0.9s ease;
}

.camera:hover #camera-off{ opacity: 0; }
.camera:hover #camera-on{ opacity: 1; }

.screen-gallery{
  --screen-top: 15%;
  --screen-left: 10%;
  --screen-width: 61%;
  --screen-height: 80%;
  position: absolute;
  top: var(--screen-top);
  left: var(--screen-left);
  width: var(--screen-width);
  height: var(--screen-height);
  z-index: 3;
  background: #0a0a0c;
  border-radius: 3px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

.camera:hover .screen-gallery{
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.6s ease 0.3s;
}

.gallery-track{
  flex: 1;
  height: 100%;
  display: flex;
  gap: 6px;
  padding: 6px;
  overflow-x: scroll;
  overflow: scroll;
  scroll-snap-type: x proximity;
  scrollbar-width: 0px;
}

.gallery-track::-webkit-scrollbar{
  width: 0px;
  height: 0px;
  background: transparent;
}

.gallery-track::-webkit-scrollbar-thumb{
  background: transparent;
}

.gallery-item{
  height: 100%;
  width: auto;
  flex: 0 0 auto;
  border-radius: 2px;
  scroll-snap-align: start;
  object-fit: cover;
  cursor: pointer;
}

#yukari1{
  position: absolute;
  z-index: -1;
  right: -28px;
  top: 60px;
  transition: all 0.9s ease;
}

#yukari2{
  z-index: -2;
  right: -28px;
  top: 60px;
  transition: all 0.9s ease;
}

.butterfly{
  position: absolute;
  opacity: 0;
  z-index: -3;
  right: -20px;
  top: 120px;
  filter: var(--outline-white)
}

#butterfly1,
#butterfly2{
  transition: all 1s ease;
}

.parakiss:hover #yukari1,
.parakiss:hover #yukari2{
  right: -80px;
  top: 60px;
  transform: rotate(10deg);
}

.parakiss:hover #butterfly1{
  opacity: 1;
  right: -210px;
  top: 100px;
  transform: rotate(35deg);
}

.parakiss:hover #butterfly2{
  opacity: 1;
  right: -170px;
  top: 13px;
  transform: rotate(-15deg);
}

#yukari1:hover{
  opacity: 0;
}

#lis2-1{
  z-index: -2;
  bottom: 40px;
  left: -70px;
  transform: rotate(-10deg);
  transition: all 1s ease;
}

#lis2-2{
  z-index: -1;
  left: -35px;
  bottom: 10px;
  transform: rotate(-23deg);
  transition: all 0.9s ease;
}

.lis2:hover #lis2-1{
  left: -120px;
  bottom: 50px;
  transform: rotate(-25deg);
}

.lis2:hover #lis2-2{
  left: -90px;
  bottom: -40px;
  transform: rotate(-40deg);
}

/* MISC DECOR */

.decor{
  position: absolute;
  filter: var(--outline-white) drop-shadow(0 0 2px rgb(0, 0, 0, 0.3));
}

.tape{
  position: absolute;
  z-index: 3;
  filter: drop-shadow(-1px 2px 1px rgb(0, 0, 0, 0.2));
}

#tape1{
  top: -9px;
  right: 115px;
  transform: rotate(-4deg);
}

#tape2{
  top: 30px;
  transform: rotate(-40deg);
}

#tape3{
  transform: rotate(25deg);
  top: 262px;
  left: 154px;
}

#clovers{
  pointer-events: none;
  bottom: 97px;
  right: -145px;
  transform: rotate(5deg);
}

#star{
  pointer-events: none;
  bottom: 157px;
  right: -65px;
  transform: rotate(5deg);
}  

#paper1{
  z-index: -4;
  right: -40px;
  bottom: 120px;
  transform: rotate(12deg);
}
.outline{
  height: 100%;
  width: 100%;
  background-color: #f7f1e8;
  border: 1px solid var(--brown);
  border-radius: 4px;
  padding: 5px;
}

.inner{
  height: 100%;
  width: 100%;
  padding: 8px;
  background-color: #f7f1e8;
  border: 1px dashed var(--brown);
  border-radius: 4px;
  overflow: hidden;
}

.home-button{
  position: absolute;
  z-index: -1;
  text-align: left;
  top: 35%;
  right: 575px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 200px;
  height: 90px;
  font-size: 14px;
  letter-spacing: -1px;
  filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.2));
}

.home-button a:hover{
  transform: rotate(3deg);
  filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.2));
}

.home-button li{
  list-style: none;
}