:root {
  --background: #f0f0f0;
  --content-background: #fff;
  --text: #c2a4a4;
  --title: #616161;
  --borders: #e0e0e0;
  --accent: #9fa8da;
  --shelf-face: #e0c7d3;
  --shelf-top: #eee4e9;
  --pink-light: #feeef6;
  --pink-mid: #ffd8e9;
  --pink-hover: #ffb3d9;
  --pink-text: #ff94bf;
}

@font-face {
  font-family: "Cavalhatriz";
  src: url("/fonts/Cavalhatriz.ttf");
}

@font-face {
  font-family: "Rainyhearts";
  src: url("/fonts/rainyhearts.ttf");
}

@font-face {
  font-family: "Spirit";
  src: url("/fonts/Spirit.ttf");
}

@font-face {
  font-family: "PixelatedElegance";
  src: url("/fonts/elegance.ttf");
}

@font-face {
  font-family: "Emoji";
  src: url("/fonts/EmojiFont.ttf");
}
@font-face {
  font-family: "Pixel";
  src: url("https://angeldolly.com/fonts/pixel.otf");
}
@font-face {
  font-family: "Mademoiselle";
  src: url("/fonts/Mademoiselle.ttf");
}
@font-face {
  font-family: "Willow";
  src: url("/fonts/willow.ttf");
}



* {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  margin: 0;
  overflow-y: scroll;
  overflow-x: hidden;
    scrollbar-width: 0px;
      scroll-behavior: smooth;
        scrollbar-width: none;


  }




h1{
  margin-top: 50px;
           background: linear-gradient(to top, #dab2c6 2%, #e2bed0 8%, #ffffff 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        -webkit-text-stroke-width: 0px;
        -webkit-text-stroke-color: #FE62B6;
  filter: drop-shadow( 0 3px #bea28e) drop-shadow( 2px 0 #bea28e) drop-shadow( 0 -1px #bea28e) drop-shadow( -1px 0 #bea28e) drop-shadow( 0 5px white) drop-shadow( 3px 0 white) drop-shadow( 0 -3px white) drop-shadow( -3px 0 white) drop-shadow(1px 1px 0 rgba(172,172,172,0.6)) drop-shadow(1px 1px 0 rgba(172,172,172,0.6)) drop-shadow( 0 0 2px #424242);
  color:#FDE6FF;
  font-family: pixel;
  text-align: center;

;
}


.library-shell {
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  margin: 0;
  background-image: url(https://angeldolly.com/background/cushion.jpg);
  background-size: 600px;
  border: 0;
  box-shadow: none;
  overflow: hidden;
  display: flex;
    scrollbar-width: 0px;
      scroll-behavior: smooth;
        scrollbar-width: none;
}



#shelves-container {
  padding: 35px;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(234, 155, 194, 0.18);
  border: 0px solid #e0e0e0;
  position: relative;
  margin-top: 20px;
      scrollbar-width: 0px;
      scroll-behavior: smooth;
        scrollbar-width: none;
}

#shelves-container::before {
  content: "";
  position: absolute;
  top: -70px;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: 200px;
  background-image: url(https://angeldolly.com/decor/1edea17e511329b068cd9c8e2050caac-removebg-preview.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  z-index: 10;
}


.shelf-row-wrap {
  position: relative;
}

.shelf-cards-track {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 18px 20px 22px 20px;
  position: relative;
  z-index: 20;
}

.shelf-card,
.book-item {
  flex-shrink: 0;
  width: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  position: relative;
  gap: 15x;
  transition: transform .35s cubic-bezier(.22, 1, .36, 1);
  z-index: 1;
}

.shelf-card:hover,
.book-item:hover {
  transform: translateY(-5px) rotate(-2deg);
    filter: drop-shadow(0 0 10px rgba(223, 189, 206, 0.8));
}

.glossy-shelf {
  height: 20px;
  width: 100%;
  background: var(--shelf-face);
  position: relative;
  z-index: 1;
  border-radius: 0 0 4px 4px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, .1);
  margin-top: -18px;
  margin-bottom: 12px;
}

.glossy-shelf::before {
  content: "";
  position: absolute;
  top: -15px;
  left: 0;
  right: 0;
  height: 15px;
  background: var(--shelf-top);
  transform: perspective(100px) rotateX(25deg);
  transform-origin: bottom;
  box-shadow: inset 0 -2px 5px rgba(0, 0, 0, .05);
}

.glossy-shelf::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(255, 255, 255, .6) 0%, rgba(255, 255, 255, 0) 20%, rgba(0, 0, 0, .05) 100%);
  border-radius: inherit;
}


@media (max-width: 860px) {

  .shelf-cards-track {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
  }

  #shelves-container::before,
  #folder-grid-view::before,
  #draw-view::before {
    width: 200px;
    height: 200px;
    top: -80px;
  }


  .library-shell {
    flex-direction: column;
  }


  .shelf-card,
  .book-item {
    width: 84px;
  }
}

.modal.show {
  display: flex;
  opacity: 1;
}

/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 9999; /* Sit on top */
  padding-top: 50px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background: rgba(253, 226, 236, 0.59);
}


/* Modal Content */
.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: auto;
  padding: 0;
  border: 1px solid #888;
  width: 80%;
  -webkit-animation-name: animatetop;
  -webkit-animation-duration: 0.4s;
  animation-name: animatetop;
  animation-duration: 0.4s;
  z-index: 999999px;
    border-width: 15px;
  border-image: url('https://angeldolly.com/borders/whitelace.png') round 30;
  background-clip: padding-box;
  max-width: 50em;
}

.modal-content::before {
content: "";
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 100px;
background-image: url('https://angeldolly.com/placeholder.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  z-index: 10;
}
/* Add Animation */
@-webkit-keyframes animatetop {
  from {top:-300px; opacity:0}
  to {top:0; opacity:1}
}

@keyframes animatetop {
  from {top:-300px; opacity:0}
  to {top:0; opacity:1}
}

/* The Close Button */
.close {
  color: white;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: #cba3b9;
  text-decoration: none;
}

.modal-header {
  padding: 2px 16px;
  background-color: #ebc6d5;
  background-image: url('https://angeldolly.com/background/invertedpinkpolka.gif');
  color: white;
  font-size: 15px;
  font-family: url('https://angeldolly.com/fonts/pixel.otf')!important;
}

.modal-body {padding: 2px 16px;}

.modal-footer {
  padding: 2px 16px;
  background-color: #ebc6d5;
  color: white;
    background-image: url('https://angeldolly.com/background/invertedpinkpolka.gif');

}



.scripted {
           background: linear-gradient(to top, #cca2b7 2%, #e2bed0 8%, #ffffff 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        -webkit-text-stroke-width: 0px;
        -webkit-text-stroke-color: #FE62B6;
  filter: drop-shadow( 0 3px #a3846e) drop-shadow( 2px 0 #a3846e) drop-shadow( 0 -1px #dbb79e) drop-shadow( -1px 0 #a3846e) drop-shadow( 0 5px white) drop-shadow( 3px 0 white) drop-shadow( 0 -3px white) drop-shadow( -3px 0 white) drop-shadow(1px 1px 0 rgba(172,172,172,0.6)) drop-shadow(1px 1px 0 rgba(172,172,172,0.6)) drop-shadow( 0 0 2px #424242);
  color:#FDE6FF;
  font-family: pixel;
  text-align: center;
 }

 .ticker {
  width: 100%;
  overflow: hidden;
  border: 1px solid #e7d0dd;
  border-radius: 4px;
  background: #fbf3f8;
  background-image: url('https://angeldolly.com/background/back.png');
  background-size: 70px;
  padding: 10px 0;
  color: #c7a68f;
  font-family: pixelatedelegance;
  font-size: 0.6em;
}

 .ticker-track::after {
    content: "";
    z-index: 10;
    position: absolute;
    top: -12px;
    left: -3px;
    width: 100%;
    height: 120%;
    border: solid;
    border-width: 10px 15px;
    border-image: url(https://angeldolly.com/decor/floral-divider.png) 35 round;
    background-clip: padding-box;
    -webkit-filter: drop-shadow(0 2px 3px #E0CAD4) drop-shadow(0 -1px #AD97A1) drop-shadow(0 1px #AD97A1);
    filter: drop-shadow(0 2px 3px #E0CAD4) drop-shadow(0 -1px #AD97A1) drop-shadow(0 1px #AD97A1);
    overflow: hidden;
    animation: none;
}

body {
  font-family: "PixelatedElegance", Verdana;
  color: rgb(164, 135, 116);
  font-size: 0.6em;
  line-height: 22px;
    default;
  text-wrap: pretty;
  text-align: center;

}

.ticker-track {
  display: flex;
  width: max-content;
  white-space: nowrap;
  animation: tickerMove 14s linear infinite;
  will-change: transform;
}
    .ticker .ticker-track span {
      padding: 0 24px;
    }

@keyframes tickerMove {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.ticker:hover .ticker-track {
  animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
  .ticker-track {
    animation: none;
  }
}

.lacey{
      filter: drop-shadow(0 2px 3px #E0CAD4);
}

.grid {
  display: grid;
  grid-template-columns: 80px 1fr 90px;
  gap: 18px;
  align-items: stretch;
}

.col-left, .col-center, .col-right {
  display: flex;
  flex-direction: column;
}

.col-left .box:last-child,
.col-center .box:last-child,
.col-right .box:last-child {
  flex-grow: 1;
}

@media (max-width: 460px) {
  .grid {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "profile   calendar"
      "content   content";
  }
  .col-left, .col-center, .col-right {
    display: contents;
  }
  #box-profile  { grid-area: profile; }
  #box-calendar { grid-area: calendar; }
  #box-content  { grid-area: content; }
}


.pill {
  font-family: 'mademoiselle';
  font-size: 1em;
  letter-spacing: 0.3px;
  color: #c095a9;
  background: #fff4f9;
  margin-top: 0.5em;
  border: 1px solid #dbafc1;
  border-radius: 999px;
  padding: -2px -4px;
  text-align: center;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  height:  1.5em;
  box-shadow: rgba(255, 255, 255, 0.8) 4px 4px 0px inset, rgba(215, 127, 171, 0.15) -4px -4px 4px inset;
}
 .modal-image{
    position: relative;
  margin: auto;
  padding: 0;
  border: 1px solid #888;
  width: 100%;
  margin-top: 1em;
margin-bottom: 3em;
    border-width: 10px;
  border-image: url('https://angeldolly.com/borders/image%20(19).png') round 30;
  background-clip: padding-box;
  max-width: 50em;
 }



/* Pin*/

.pin {
  position: relative;
  float: left;
  top: -0.2em;
  left: -3em;
  z-index: 5;
  rotate: -25deg;
  margin-bottom: -50%;
    filter:
      drop-shadow(0.5px 0.5px 0 rgba(172, 172, 172, 0.6))
    drop-shadow(0.5px 0.5px 0 rgba(172, 172, 172, 0.6)) drop-shadow(0 0 2px #424242a1);
}

.special {
  font-family: "Spirit", sans-serif;
  font-size: 1.5em;
  color: #ecd5dd;

}

.doily {
  pointer-events: none;
  width: 120%;
  margin-top: 50%;
  margin-left: 50%;
  animation-duration: 153s;
  animation-iteration-count: infinite;
  animation-name: spin;
  animation-timing-function: linear;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.lacier {
  position: absolute;
position: absolute;
  height: 100vh;
  height: 100dvh;
top: 50%;
left: 25%;
transform: translate(-50%, -50%);
  z-index: -99999999999999999;
}

button{
    font-family: 'willow';
  font-size: 1.5em;
  letter-spacing: 0.3px;
  color: #c095a9;
  background: #fff4f9;
  margin-top: 0.5em;
  margin-bottom: 1em;
  border: 1px solid #dbafc1;
  border-radius: 999px;
  padding: -2px 15px;
  text-align: center;
  white-space: nowrap;
  align-items: center;
  justify-content: center;
  line-height: 1;
  height:  1.5em;
  box-shadow: rgba(255, 255, 255, 0.8) 4px 4px 0px inset, rgba(215, 127, 171, 0.15) -4px -4px 4px inset;

}

