  @import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');
  
  /*********** normalizing stuff aauugh (thank you normalize.css) ***********/

  html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
  }
  
  body {
    margin: 0;
  }
  
  main {
    display: block;
  }
  
  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }
  
  hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
  }
  
  pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  a {
    background-color: transparent;
  }
  
  abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
  }
  
  b,
  strong {
    font-weight: bolder;
  }
  
  code,
  kbd,
  samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  small {
    font-size: 80%;
  }
  
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sub {
    bottom: -0.25em;
  }
  
  sup {
    top: -0.5em;
  }
  
  img {
    border-style: none;
  }
  
  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
  }
  
  button,
  input { /* 1 */
    overflow: visible;
  }
  
  button,
  select { /* 1 */
    text-transform: none;
  }
  
  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button;
  }
  
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  
  fieldset {
    padding: 0.35em 0.75em 0.625em;
  }
  
  legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
  }
  
  progress {
    vertical-align: baseline;
  }
  
  textarea {
    overflow: auto;
  }
  
  [type="checkbox"],
  [type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
  }
  
  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
    height: auto;
  }
  
  [type="search"] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }
  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  
  details {
    display: block;
  }
  
  summary {
    display: list-item;
  }
  
  template {
    display: none;
  }
  
  [hidden] {
    display: none;
  }
  
  /************************************************/
  /************************************************/
  /*********** actual site things below ***********/
  /************************************************/
  /************************************************/
  
  /*********** color palette ***********/
  
  :root {
    --stormcloud:#807d7d; /*symbols + text*/
    /*--smoke:#e6e2e1; /*idk actually*/
    --overcast:#EAE7E7; /*hover (darker)*/
    --mist:#f3f1f0; /*hover*/
    --fog:#f9f8f7; /*item backgrond*/

    --choco:#965049; /*text*/
    --milkchoco:#cca9a6; /*subtext*/
    --cream:#ebdddc;

    --peach:#ff9199;
    --peachmilk:#FFDBD8;
    --peachcream:#fff5f5;

    --banana:#ffc341;
    --bananamilk:#fed782;
    --bananacream:#fffdf7;
    
    --matcha:#a2ca2f;
    --matchamilk:#c8dc8f;
    --matchacream:#fdfff7;
    
    --soda:#7dc3f0;
    --sodamilk:#87e3ea;
    --sodacream:#f7feff;
  }

  /*********** animations ***********/

  @keyframes fadeIn{
    0%{opacity:0;}
    100%{opacity:1;}
  }

  @keyframes spinner{
    0%{transform:rotate(0deg);}
    100%{transform:rotate(360deg);}
  }
  
  /*********** base elements ***********/

  @font-face {
  	font-family: "mini wakuwaku";
  	src: url("/assets/mini-wakuwaku.otf");
  }

  body{
    display:flex;
    justify-content:center;
    color:var(--choco);
    background-color:white;
    background-image:url(images/pagebackground.png);
    background-size:cover;
    background-repeat:no-repeat;
    background-attachment:fixed;
    font-family:"mini wakuwaku";
    font-size:17.5px;
    overflow-x:hidden;
    min-height:100vh;
  }

  body::before {
    content:"";
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-color:#ffffff40;
    backdrop-filter:blur(5px);
    z-index:-1;
  }
  
  a{
    display:inline-block;
    text-decoration:none;
  }

  ::selection {
    background-color:var(--peachmilk);
  }
  
  h1{
    font-size:25px;
    font-weight:normal;
    text-decoration:none;
    margin:0px;
  }
  
  p{
    margin:0px;
    line-height:normal;
  }
  
  hr{
    border-top:5px dotted var(--peachmilk);
    margin:10px 25px 10px 25px;
  }

  img{
    user-select:none;
  }

  ::-webkit-scrollbar{
    width:0;
  }
  
  /*********** main layout ***********/

  #container{
    position:relative;
    flex:1;
    display:flex;
    flex-direction:column;
    text-align:left;
    background-color:white;
    margin:0px 6% 0px 6%;
    max-width:750px;
    min-width:400px;
    box-sizing:border-box;
    box-shadow:inset var(--peachmilk) 7.5px 0px 15px -15px,
    inset var(--peachmilk) -7.5px 0px 15px -15px;
    
  }

  @media screen and (max-width: 650px){
    #container{
      margin:0px;
      width:100%;
    }
  }

  #container::before,
  #container::after{
    content:'';
    position:absolute;
    display:block;
    top:0px;
    width:25px;
    height:100%;
    background-image:url("/images/frill.png");
    background-repeat:repeat-y;
    background-size:100% auto;
  }

  #container::before{
    left:-25px;
  }

  #container::after{
    right:-25px;
    transform:scaleX(-1);
  }

  @media screen and (max-width: 650px){
    #container::before,
    #container::after{
      content:none;
      display:none;
    }
  }

  #header{
    display:flex;
    align-items:center;
    position:sticky;
    gap:10px;
    background-image:url(/images/newheader.png);
    background-size:auto 100%;
    background-position:right bottom;
    background-repeat:no-repeat;
    width:100%;
    height:auto;
    padding:7.5px 12.5px 5px 12.5px;
    box-sizing:border-box;
    user-select:none;
  }

  #header img{
    height:75px;
    transition:transform .2s ease, filter .2s ease;
  }

  #header img:hover{
    transform:scale(1.05);
    filter:brightness(1.05);
  }
  
  #main{
    display:flex;
    flex-direction:column;
    position:relative;
    text-align:center;
    animation:fadeIn 1s ease forwards;
  }

  #main p{
    line-height:20px;
  }

  #spacer{
    flex:1;
  }

  .icon{
    display:inline-block;
    height:.85em;
    width:auto;
    vertical-align:-0.05em;
    margin:0px .25em 0px .25em;
  }

  #sitemap{
    font-size:15px;
    text-align:center;
    padding:5px;
  }

  #sitemap .icon{
    margin:0px -.1em 0px -.1em
  }

  #sitemap a{
    color:var(--choco);
  }

  #sitemap a:hover{
    color:var(--peach);
    text-decoration:underline;
  }

  @media screen and (max-width: 435px){
    #sitemap{
      font-size:13.5px;
    }
  }

  #footer{
    width:100%;
    background-image:linear-gradient(to bottom, white, var(--peachmilk));
    text-align:center;
    padding:10px 0px 12.5px 0px;
  }

  /*********** navigation ***********/

  #navbar{
    background-image:linear-gradient(to bottom, white, var(--peachmilk));
    text-align:center;
    font-size:17.5px;
    user-select:none;
  }

  #navbar a{
    color:white;
    background-image:linear-gradient(to bottom, #ffffff80, transparent);
    padding:5px 10px 5px 10px;
    border-radius:20px;
    transition:transform .2s ease, filter .2s ease;
  }

  #navbar a:hover{
    transform:scale(1.05);
    filter:brightness(1.05);
  }

  .pink{
    background-color:var(--peach);
  }

  .yellow{
    background-color:var(--banana);
  }

  .green{
    background-color:var(--matcha);
  }

  .blue{
    background-color:var(--soda);
  }

  /*********** comments ***********/
  
  .commentbox{
    position:relative;
    background-color:white;
    width:100%;
    height:auto;
    margin:0px 0px 10px 0px;
    border-radius:10px;
    text-align:center;
    align-items:center;
  }
  
  .commentbox button{
    color:white;
    border:none;
    background-image:linear-gradient(to bottom, #ffffff80, transparent);
    background-color:#ff9199;
    cursor:pointer;
    border-radius:20px;
    padding:5px 10px 5px 10px;
  }
  
  .comments{
    position:relative;
    background-color:white;
    height:300px;
  }
  
  .comments iframe{
    width:100%;
    height:100%;
    border:none;
  }
  
  #cmt{
    max-height:0;
    overflow:hidden;
    transition:max-height 0.4s ease;
  }
  
  #cmt.show {
    max-height:300px;
  }
  
  /*********** homepage ***********/

  #banner{
    width:100%;
    height:auto;
    padding:15px 0px 0px 0px;
    box-sizing:border-box;
  }

  .buttons{
    padding:0px 25px 0px 25px;
    margin:20px 0px 15px 0px;
    box-sizing:border-box;
    user-select:none;
  }

  .buttons a{
    display:inline-block;
    width:calc(50% - 5px);
  }
  
  .buttons img{
    display:block;
    width:100%;
    transition:transform .2s ease, filter .2s ease;
  }

  .buttons img:hover{
    transform:scale(1.05);
    filter:brightness(1.05);
  }

  #disclaimer{
    display:flex;
    gap:10px;
    text-align:left;
    margin:15px 25px 15px 25px;
  }

  .rating{
    display:flex;
    flex:60% 0 1;
    position:relative;
    color:black;
    background-color:white;
    box-sizing:border-box;
    border:solid 5px black;
    border-radius:10px;
    overflow:hidden;
  }

  .rating::after{
    content:'';
    position:absolute;
    display:block;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    background-image:linear-gradient(to bottom, transparent 75%, black);
    opacity:0.15;
  }

  .rating img{
    height:100%;
    width:75px;
    border-right:solid 5px black;
  }

  .rating p{
    padding:7.5px;
  }

  .warning{
    flex:1;
    position:relative;
    color:var(--peach);
    background-color:white;
    box-sizing:border-box;
    border:solid 5px var(--peach);
    border-radius:10px;
    overflow:hidden;
  }

  .warning-title{
    color:white;
    background-color:var(--peach);
    padding:0px 7.5px 5px 2.5px;
  }

  .warning::after{
    content:'';
    position:absolute;
    display:block;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    background-image:linear-gradient(to bottom, transparent 75%, var(--peach));
    opacity:0.15;
  }

  @media screen and (max-width: 650px){    
    #disclaimer{
      flex-direction:column;
    }
  }

  /*********** comic ***********/

  /*
  background-image:url("/images/dots.png");
  background-size:20px;
  background-repeat:repeat;
  */

  #comic{
    flex:1;
    padding:15px 12.5% 15px 12.5%;
  }

  @media screen and (max-width: 650px){
    #comic{
      padding:15px 25px 15px 25px;
    }
  }

  #comic-content{
    max-width:100%;
  }
  
  #comic-content p{
    padding:15px;
    text-align:left;
  }

  #comic-content video{
    width:100%;
    display:block;
    border-radius:20px;
  }

  .wrapper{
    position:relative;
    margin:10px 0px 10px 0px;
    border-radius:20px;
    overflow:hidden;
  }

  .wrapper::before{
    content:'';
    position:absolute;
    display:block;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    background-image:url("/images/flower.png");
    background-size:25%;
    background-position:50% 50%;
    background-repeat:no-repeat;
    animation:spinner 2s linear infinite;
    z-index:-1;
  }

  .wrapper.loaded::before{
    display:none;
  }

  .panel{    
    width:100%;
    aspect-ratio:1/1;
    display:block;
    border-radius:20px;
  }
  
  .dialogue{
    width:100%;
    aspect-ratio:382/159;
    margin:-5px 0px 10px 0px;
  }

  .pagenavigation{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    margin:15px 0px 0px 0px;
    font-size:17.5px;
    user-select:none;
  }

  .pagenavigation a{
    padding:5px 7.5px 2.5px 5px;
    margin:0px 2.5px 0px 2.5px;
    text-decoration:none;
    cursor:pointer;
  }
  
  .pagenavigation a:hover{
    color:var(--peach);
    text-decoration:underline;
  }
  
  .pagenavigation a:first-child,
  .pagenavigation a:last-child{
    font-weight: bold;
  }
  
  .pagenavigation a.active{
    background-image:linear-gradient(to bottom, #ffffff80, transparent);
    background-color:var(--peach);
    border-radius:20px;
    color:white;
    pointer-events:none;
  }
  
  .pagenavigation a.disabled{
    color:var(--milkchoco);
    pointer-events:none;
  }
  
  /*********** phases ***********/

  /*********** cast ***********/
  
  /*********** about ***********/

  #about{
    padding:15px 25px 15px 25px;
    box-sizing:border-box;
  }

  /*********** credits ***********/

  #credits{
    padding:15px 25px 15px 25px;
    box-sizing:border-box;
  }

  .credits{
    position:relative;
    background-image:url("/images/checker-bg.png");
    background-size:100% auto;
    background-repeat:no-repeat;
    height:auto;
    border-radius:20px;
    padding:6% 6% 3% 6%;
    margin:10px 0px 0px 0px;
    user-select:none;
    font-size:20px;
  }
  
  .crew{
    display:flex;
    flex-wrap:wrap;
    background-color:white;
    border-radius:15px;
    padding:2%;
    margin:0px 0px 3% 0px;
  }
  
  .crew img{
    display:block;
    object-fit:cover;
    background-color:#fff5f5;
    border-radius:15px;
    width:100%;
    aspect-ratio:1/1;
    box-shadow:10px 10px 2.5px 2.5px #ffffff inset, -10px -10px 2.5px 2.5px #ffb6b080 inset;
    outline:5px solid #ffb6b0;
    outline-offset:-5px;
    transition: background-color 0.2s ease, box-shadow 0.2s ease, outline 0.2s ease;
  }
  
  .crew img:hover{
    background-color:#ffb6b080;
    box-shadow:10px 10px 2.5px 2.5px #ffffff80 inset, -10px -10px 2.5px 2.5px #ff7b8e80 inset;
    outline:5px solid #ff9199;
  }
  
  .crew a{
    display:inline-block;
    width: calc(25% - 1%);
    margin:0.5%;
    text-decoration:none;
    position:relative;
  }
  
  .crew a .inactive{
    pointer-events:none;
  }
  
  .inactive img{
    background-color:#fff5f540;
    box-shadow:10px 10px 2.5px 2.5px #ffffff inset, -10px -10px 2.5px 2.5px #ffb6b01F inset;
    outline:5px solid #ffb6b040;
    outline-offset:-5px;
  }
  
  .crew span{
    opacity:0;
    position:absolute;
    color:#965049;
    line-height:25px;
    background-color:#fbf3ebE6;
    outline-offset:-5px;
    outline:5px solid #eec9baE6;
    border-radius:15px;
    width:auto;
    padding:10px 15px 10px 15px;
    top:85%;
    pointer-events:none;
    cursor:default;
    left:50%;
    transform:translate(-50%, -10px);
    white-space:nowrap;
    z-index:1;
    transition:opacity .2s ease, transform .2s ease;    
  }
  
  .crew a:hover span{
    opacity:1;
    transform:translate(-50%, 0px);
  }

  .crew .sub{
    color:var(--choco);
  }
  
  /*********** misc ***********/

  .error{
    width:100%;
    height:auto;
    padding:15px;
    box-sizing:border-box;
  }

  .sub{
    color:var(--milkchoco);
    font-size:15px;
  }

  .inactive{
    pointer-events:none;
    cursor:default;
  }
  



  