:root {
  --accent: rgb(230,60,70);
  --accent1: rgb(0,200,0);
  --accent1: rgb(255,100,0);
  
  --bgbg-rgb: 255,255,255;
  --bg-rgb: 255,255,255;
  --fg-rgb: 0,0,0;
  --mid-rgb: 128,128,128;
  
  --bgbg: rgb(var(--bgbg-rgb));
  --bg: rgb(var(--bg-rgb));
  --fg: rgb(var(--fg-rgb));
  --mid: rgb(var(--mid-rgb));
  
  --fg-subtext: rgb(90,90,90);
}
@media (prefers-color-scheme: dark) {
  :root {
    --bgbg-rgb: 0,0,0;
    --bg-rgb: 20,20,20;
    --fg-rgb: 255,255,255;
    --mid-rgb: 128,128,128;
    
    --bgbg: rgb(var(--bgbg-rgb));
    --bg: rgb(var(--bg-rgb));
    --fg: rgb(var(--fg-rgb));
    --mid: rgb(var(--mid-rgb));
    
    --fg-subtext: rgb(220,220,220);
  }
}
:root {
  --fg-thin: rgba(var(--fg-rgb),0.03);
  --fg-half: rgba(var(--fg-rgb),0.05);
  --fg-base: rgba(var(--fg-rgb),0.1);
  --fg-plushalf: rgba(var(--fg-rgb),0.15);
  --fg-double: rgba(var(--fg-rgb),0.2);
  --fg-triple: rgba(var(--fg-rgb),0.3);
}
.FlatButton {
  box-shadow: 0 0 5px 0 rgba(0,0,0,0.5);
  padding: 10px;
  background-color: #FFFFFF;
  border-radius: 10px;
  offcolor: inherit;
  text-decoration: none;
}
.Image, .Video {
  box-shadow: 0 0 5px 0 rgba(0,0,0,1);
  border-radius: 10px;
}
.Dark .Image {
  box-shadow: 0 0 5px 0 rgba(255,255,255,0.3);
}
h3 {
  color: #808080;
}
* {
  font-family: sans-serif;
}
.ThreeD {
  transform: rotateX(150deg);
}
#DivThreeD {
  perspective: 500px;
}

.Center {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.Masonry {
  column-gap: 10px;
}
.Masonry > * {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  margin-bottom: 10px;
  break-inside: avoid;
}
.Masonry img {
  max-width: 100%;
  display: block;
}
.DoubleSwitch > div {
  transform: translateX(0px);
}
.Switch {
  width: 43px;
  background-color: var(--fg-base);
  border-radius: 100px;
  padding: 3px;
  transition: background-color 0.2s;
}
.Switch > div {
  background-color: white;
  width: 20px;
  height: 20px;
  border-radius: 100px;
  box-shadow: 0 0 2px 0 rgba(0,0,0,0.2);
  transition: transform 0.2s;
}
input:checked ~ .Switch {
  background-color: var(--accent);
}
input:checked ~ .Switch > div {
  transform: translateX(23px);
}
.DoubleSwitch {
  width: 66px;
}
input.Second:checked ~ .Switch > div {
  transform: translateX(46px);
}
.NoGaps * {
  gap: 0;
  column-gap: 0;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}
.NoGaps {
  margin: 0;
}
.Button {
  background-color: var(--fg-base);
  border: none;
  border-radius: 10px;
  padding: 10px 15px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  color: var(--fg);
  transition: background-color 0.2s;
}
.Button:hover {
  background-color: var(--fg-plushalf);
}
.Button:active {
  background-color: var(--fg-double);
}
.Radio.Button {
  border-radius: 0px;
  padding-left: 5px;
  padding-right: 5px;
  border-left: 1px solid var(--fg-thin);
  border-right: 1px solid var(--fg-thin);
  transition: box-shadow 0.2s, border-radius 0.2s, background-color 0.2s;
}
input:checked + .Radio.Button {
  background-color: var(--fg-plushalf);
  border-color: rgba(0,0,0,0);
  border-radius: 2px;
  box-shadow: 0 0 0 3px var(--accent);
  transform: rotate(0);
}
.RadioContainer > div:first-child .Radio.Button {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  border-left: none;
}
.RadioContainer > div:last-child .Radio.Button {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-right: none;
}
.RadioContainer{
  display: flex;
}
.RadioContainer > div {
  flex-grow: 1;
}
.Important {
  background-color: var(--accent);
  color: white;
  outline-offset: 2px;
}
fieldset {
  border: 2px solid var(--fg-base);
  border-radius: 10px;
}
.Row {
  display: flex;
  align-items: center;
  gap: 10px;
}
hr {
  width: 100%;
  border: 1px solid var(--fg-base);
  border-radius: 1px;
}
html {
  background-color: var(--bg);
  color: var(--fg);
}
html.Light {
  background-color: white;
}
html.Dark {
  background-color: black;
}
html.LowOpacity {
  opacity: 0.1;
}
@keyframes InvertAppear {
  0% {
    filter: invert(0.5);
  }
  100% {
    filter: invert(0);
  }
}
@keyframes LoadFlash {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
.FadeIn img {
  animation: 3s linear 7s InvertAppear, 1s ease 0s LoadFlash;
  animation-fill-mode: backwards, none;
  animation-iteration-count: 1, 7;
}
.DoubleSwitchSlider {
  position: absolute;
  width: 100%;
  height: 100%;
  text-align: center;
  color: var(--accent);
  opacity: 0;
}
.Button.TimerButton {
  position: relative;
  overflow: hidden;
}
.Button.TimerButton > div{
  position: absolute;
  background-color: rgba(0,0,0,0.2);
  width: 0%;
  height: 100%;
  top: 0;
  left: 0;
  transition: width 3s;
}
.Button.TimerButton:hover > div {
  width: 100%;
}
.Switch:hover > div {
  transform: translateX(6px);
}
input:checked ~ .Switch:hover > div {
  transform: translateX(17px);
}
.ToolBar {
  position: sticky;
  top: 10px;
  box-shadow: 0 0 5px 0 rgba(0,0,0,0.5);
  padding: 10px;
  background-color: var(--bg);
  border-radius: 10px;
  margin-bottom: 10px;
  margin-top: 10px;
}
.SelectCheck > div {
  background-color: var(--bg);
  transition: background-color 0.2s;
  border-radius: 8px;
  padding: 3px;
  display: flex;
  outline: 2px solid var(--fg-base);
  outline-offset: -2px;
  transition: background-color 0.2s;
}
.SelectCheck > div > img {
  opacity: 0;
  transition: opacity 0.2s;
}
.SelectCheck input:checked ~ div {
  background-color: var(--accent);
  outline: 2px solid transparent;
}
.SelectCheck input:checked ~ div > img {
  opacity: 1;
}
input[type="text"], input[type="password"], textarea {
  background-color: var(--fg-base);
  border: none;
  border-radius: 10px;
  padding: 10px 15px;
  text-decoration: none;
  color: var(--fg);
}
.TagListContainer {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  justify-content: end;
  overflow: hidden;
}
.TagList {
  margin: 5px;
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
}
.Tag {
  background-color: var(--bg);
  font-size: 0.5em;
  padding: 3px 8px;
  color: var(--fg);
  border-radius: 8px;
  box-shadow: 0 0 2px 0 rgba(0,0,0,0.2);
}
.Popup > div {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: var(--fg-base);
  backdrop-filter: blur(10px);
}
.Popup > input:checked + div {
  display: initial;
}
.Popup > div > div {
  display: flex;
  margin: 20px;
  padding: 10px;
  overflow: scroll;
  background-color: var(--bg);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.CheckList {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.CheckListItem {
  box-shadow: 0 0 5px 0 var(--fg-double);
  border-radius: 10px;
  padding: 5px;
}
.Blurry .Tag {
  background-color: rgba(var(--bg-rgb),0.3);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.Empty {
  background-color: rgba(255,0,0,0.3);
  box-shadow: 0 0 2px 0 rgba(128,0,0,0.1);
  border-radius: 10px;
}
.NotEmpty {
  background-color: rgba(0,255,0,0.3);
  box-shadow: 0 0 2px 0 rgba(0,128,0,0.1);
  border-radius: 10px;
}
.TagStatList {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.Pill {
  border-radius: 1000px;
}

.Hidden {
  display: none;
}
