* {
  box-sizing: border-box;
}
:root {
  --yellow: #f3dd93;
  --yellow-50: #f3dd9382;
  --orange: #ff9d62;
  --orange-25: #ff9e6242;
  --pink: #f999ba;
  --green: #b3d084;
  --blue: #7ac2eb;
  --purple: #d6beea;
  --purple-med: #a061d3;
  --orange-med: #cc5200;
  --pink-med: #d62261;
  --green-med: #466e17;
  --blue-med: #1a75ab;
  --text-yo: #2c2543;
  --text-gp: #1b3b32;
  --text-by: #4a2834;
  --background: #fffdf6;
  --bgblue: #f4f7f6;
  --glass-bg: rgba(249, 153, 186, 0.14);
  --glass-bg-hover: rgba(249, 153, 186, 0.341);
  --glass-border: rgba(249, 153, 186, 0.3);
  --glass-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  --glass-blur: blur(5px);
  --red-text: #b83460a2;
}
html,
body {
  height: 100%;
  margin: 0;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  display: flex;
  flex-direction: column;
  font-family: "VT";
  color: white;
  background-color: var(--purple);
  background-image: url("../images/bgs/sky.png");
  background-repeat: no-repeat;
  background-position: top;
  background-size: cover;
  cursor: url("../cursors/sims2.cur"), auto;
}
.glass {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-radius: 5px;
  display: flex;
  align-items: center;
}

.infobar {
  width: 100%;
  height: 2.8vh;
  padding: 0 8px;
  justify-content: space-between;
}

.infobar .infos {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 6px;
}
.infobar .info {
  display: flex;
  align-items: center;
  height: 100%;
}
.infobar img {
  height: 100%;
  width: auto;
  max-height: 2.2vh;
  object-fit: contain;
  display: block;
}
.infobar p {
  margin: 0;
  line-height: 1;
}
.clock {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.clock h1 {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1;
  font-family: Arial, sans-serif;
  color: #d6beea9e;
  text-shadow: 1px 1px 1px #a061d383;
}

/* desktop */
.desktop {
  flex: 1;
  position: relative;
  width: 100%;
}
.deskicon {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  font: inherit;
  display: block;
}
.deskicon:focus {
  outline: none;
}
.desktop span {
  position: absolute;
  display: grid;
  grid-template-rows: auto auto;
  justify-items: center;
  align-items: center;
  padding: 6px;
  border-radius: 2px;
}
.desktop span:hover {
  background-color: rgba(255, 255, 255, 0.12);
}
.desktop span img {
  width: clamp(40px, 3vw, 64px);
  height: auto;
  display: block;
}
.desktop span p {
  margin: 0;
  line-height: 1;
  font-family: "NeueBit";
  font-size: large;
  letter-spacing: 2px;
  text-align: center;
  padding-top: 7px;
}

/* window shtuff */
.window {
  position: absolute;
  flex-direction: column;
  display: none;
  width: 35vw;
  height: max-content;
  box-shadow: var(--glass-shadow);
  border-radius: 5px;
}
.window.hidden {
  display: none;
}
.window:not(.hidden) {
  display: flex;
}
.titlebar {
  height: 3vh;
  padding: 0 6px;
  width: 99%;
  justify-content: space-between;
  border-radius: 8px 8px 0 0;
  display: flex;
  align-items: center;
}
.win-controls {
  display: flex;
  gap: 6px;
  align-items: center;
}
.titlebar b {
  margin: 0;
  line-height: 1;
}
.titlebar .close {
  height: 2vh;
  aspect-ratio: 1;
  border-radius: 8px;
  border: 1px solid var(--glass-border);
  background-color: rgba(244, 90, 90, 0.443);
  cursor: pointer;
}
.titlebar .minimize {
  height: 2vh;
  aspect-ratio: 1;
  border-radius: 8px;
  border: 1px solid var(--glass-border);
  background-color: rgba(243, 221, 147, 0.45);
  cursor: pointer;
}
.wincontent {
  flex: 1;
  padding: 6px;
  overflow: auto;
  width: 99%;
  border-radius: 0 0 8px 8px;
  border-left: 1px solid var(--glass-border);
  border-bottom: 1px solid var(--glass-border);
  border-right: 1px solid var(--glass-border);
}
/* taskbar shit */
.taskbar {
  width: 55vw;
  height: 5vh;
  margin: 0 auto 0.5vh auto;
  justify-content: center;
}
#taskbar-items {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}
#taskbar-items button {
  display: inline-flex;
}
.taskbar button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.taskbar button.active {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  padding: 3px;
}

.taskbar button img {
  height: 3.5vh;
  width: auto;
  display: block;
}

.taskbar button:hover {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 4px;
}

.drag {
  position: absolute;
}
.hidden {
  display: none;
}
/* positioning */
#PI {
  top: 8vh;
  left: 6vw;
}
#misc {
  top: 27vh;
  left: 18vw;
}
#fandom {
  top: 52vh;
  left: 12vw;
}
#PIWIN {
  position: absolute;
  bottom: 15vh;
  right: 20vw;
}
#PIWIN .wincontent {
  background-color: rgba(255, 255, 255, 0.727);
  color: var(--text-yo);
  text-align: center;
  height: max-content;
}
#pienter {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4em;
  font-family: "Mondwest";
  font-size: 2.3rem;
  color: var(--purple-med);
  white-space: nowrap;
}
#pienter span,
#pienter a {
  position: static;
  margin: 0;
  padding: 0;
}
#pienter a,
#pienter a:visited,
#pienter a:active {
  color: inherit;
  text-decoration: none;
}
#pimsg {
  width: 95%;
  height: auto;
}
#MISCWIN {
  position: absolute;
  bottom: 5vh;
  left: 20vw;
}
#MISCWIN .wincontent {
  background-color: white;
  color: var(--text-yo);
}
#MISCWIN {
  position: absolute;
  bottom: 15vh;
  left: 35vw;
}
#FANWIN {
  position: absolute;
  right: 3vw;
  bottom: 7vh;
}
#FANWIN .wincontent {
  background-color: var(--bgblue);
  color: var(--text-yo);
}
.ocs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 10px;
}
.occard {
  width: 100px;
  height: 150px;
  display: grid;
  grid-template-rows: 1fr auto;
  background-color: var(--glass-bg);
  border-radius: 5px;
}
.occard:hover {
  transform: scale(1.05);
  background-color: var(--glass-bg-hover);
}
.ocpic {
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 5px 0 5px;
}
.ocpic img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.ocname {
  text-align: center;
  line-height: 1.2;
  font-size: 1.2rem;
  margin: 0 2px 2px 2px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--red-text);
}
