 @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Symbols&display=swap');
 @import url('https://fonts.googleapis.com/css2?family=Paytone+One&display=swap');

 :root {
     --accent: #fff;
     --secondary: #fff;
     --primary: #000;
     --trace-image-opacity: 50%;
     --trace-image: none;
 }


 input {
     margin-bottom: 25px;
 }

 body {
     font-size: 10pt;
     margin: 0;
     padding: 0;
     text-align: center;
     background: var(--secondary);
     background-size: 100%;
     image-rendering: pixelated
 }

 #top-logo {
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
     border-radius: 5px;
     
 }

 * {
     font-family: 'Noto Sans Symbols', sans-serif;
     /* font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; */
     user-select: none;
     /* line-height: 2.3; */
     /* font-family: 'Paytone One', sans-serif; */

 }






 #paint-zone {
     display: flex;
     flex-wrap: wrap;
     width: 95vw;
     height: 95vw;
     margin-left: 2.5vw;
     border: 0.5px solid var(--primary);
     position: relative;
 }

 marquee {
     font-family: 'Paytone One', sans-serif;
     /* -webkit-text-stroke: 0.2px white; */
 }
 
 marquee a{
     color: inherit
 }

 #paint-zone::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: -1;
     opacity: var(--trace-image-opacity);
     background-image: var(--trace-image);
     background-size: cover;
     filter: hue-rotate(30deg);

 }



 input[type=color] {
     background: transparent
 }

 input[type="color"] {
     -webkit-appearance: none;
     border: none;
     margin: 0
 }

 input[type="color"]::-webkit-color-swatch-wrapper {
     padding: 0;
     margin: 0
 }

 input[type="color"]::-webkit-color-swatch {
     border: none;
     border-radius: 400vh;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
     margin: 0
 }



 input[type=button] {
     background: white;
     background: var(--secondary);
     outline-color: #00000000;
     margin-bottom: 20px;
     cursor: pointer;
     font-weight: thin !important;
     transition: 300ms;
     border-radius: 5vh;
     border: none;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
     box-sizing: border-box
 }


 input[type=range] {
     -webkit-appearance: none;
     appearance: none;
     height: 8px;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
     border-radius: 5vh
 }

 input[type=range]::-webkit-slider-thumb {
     -webkit-appearance: none;
     appearance: none;
     width: 16px;
     height: 16px;
     background: white;
     cursor: pointer;
     border-radius: 5vh;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
 }


 input[type=range]::-moz-range-thumb {
     width: 16px;
     height: 16px;
     cursor: pointer;
     border-radius: 8px;
 }



 hr {
     width: 95%;
     opacity: 0.2;
 }



 #top-control-container {
     display: flex;
     width: 95vw;
     padding: 5vw 1.5vw;
     margin-left: 2.5%;
     box-sizing: border-box;
     justify-content: space-around;
     align-items: center;
     margin: 5vw 2.5vw;
     margin-top: 0;
     background: var(--accent);
     border-radius: 5vh;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
     margin-bottom: 1.5vw;


 }


 #top-control-container>* {
     margin-bottom: 0;
     padding: 0 3vw;
     border-radius: 5vh;
     color: var(--primary);
 }

 .controls>div>*,
 details>* {
     color: var(--primary) !important;
     border-color: var(--primary) !important
 }



 details {
     outline: transparent
 }

 .controls>div>hr {
     background: var(--primary)
 }

 .controls>div {
     flex: 0 0 calc(100%);
     padding: 0
 }



 #bottom-control-container {
     width: 95vw;
     display: flex;
     overflow: hidden;
     scroll-behavior: smooth;
     color: var(--primary) !important;
     margin-left: 2.5vw !important;
     background: var(--accent);
     border-radius: 5vh;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
 }


 h1 {
     color: var(--primary);

 }

 h3 {
     margin: 0;
 }

 select {
     margin-bottom: 25px;
     background: var(--secondary);

     border-width: 1px;
     cursor: pointer;
     padding: 0;
     border-radius: 5vh;
     border: none;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;

 }





 #menu-nav {
     display: flex;
     width: 100%;
     margin: 5vh 0;
     margin-top: 0vh;
     overflow-x: scroll;
     scrollbar-color: transparent;
 }

 .menu-nav-items {
     padding: 15px 30px;
     font-weight: bold;
     border-radius: 5vh;
     color: var(--primary);
     margin: 0 2.5vw;
     white-space: nowrap;
     cursor: pointer;
     background: var(--accent);
     /*      -webkit-box-shadow: 0 1px gray;
box-shadow: 0 0 1px gray; */
     border: 0.5px solid #22222220;
 }

 .menu-nav-items:nth-child(1) {
     margin-left: 5vw;
 }

 .menu-nav-items:hover {}

 img {
     margin-top: 25px;
 }


 input[type=text],
 input[type=number] {
     padding: 2px 4px;
     border-radius: 5vh;
     border: none;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
     background: var(--secondary);

 }

 input[type=text]::placeholder {
     color: var(--primary);

 }


 #drawings {
     display: flex;
     flex-direction: column;
     align-items: center;
     overflow: scroll;
     height: 75vh;
 }

 .drawing {
     margin-top: 25px;
     justify-content: space-between;
     align-items: center;
     max-width: 90vw;
     overflow-x: scroll;
     flex-shrink: 0;
     transition: 500ms;
     border-radius: 30px;
     background: white;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
     text-overflow: ellipsis;
 }

 .drawing:last-child {
     margin-bottom: 25px;
 }

 .drawing-name {
     color: var(--primary);
 }

 .drawing>* {
     margin: 0;
 }

 .drawing-icons-container>* {
     transform: scale(0.5);
     margin: 0;
     padding: 0;
     filter: brightness(20%);
 }

 .drawing-icons-container {
     display: flex;
 }


 .cell {
     width: 10%;
     height: 10vw;
     border: 0.5px solid var(--primary);
     box-sizing: border-box;
     background: #00000000;
 }

 .cell:hover {
     border-style: dashed
 }

 kbd {
     font-family: monospace !important;
     background: var(--primary) !important;
     color: var(--accent) !important;
     opacity: 0.3;
     font-size: 0.6rem
 }

 #pallate-container {
     display: flex;
     width: 100%;
     flex-wrap: wrap;
     justify-content: center;
     gap: 2px;
     overflow-y: scroll;
     height: 75vh;
     align-content: flex-start
 }

 .pallate-color {
     width: 10vw;
     height: 10vw;
     flex-shrink: 0;
     border: 1px solid white;
     border-radius: 5vh;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
 }

 .theme-selector {
     margin-bottom: 2px !important;
     margin-left: 1vw
 }

 .default-pallette {
     border-style: dashed
 }

 .undev {
     opacity: 0.3;
 }

 .hex-input {
     width: 25%;
 }

 .hidden {
     display: none
 }




 #info {
     margin: 2.5%;
     font-size: 0.9em;
     width: 95%;
     border-radius: 5vh;
     background: var(--accent) !important;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
 }

 #info>* {
     font-family: monospace;
     color: var(--primary);
 }

 #top-image {
     transition: 200ms
 }

 #top-image:active {
     filter: brightness(1.3);
 }



 /* CSS code to style the input element */
 .file-label {
     display: inline-block;
     cursor: pointer;
     border: 1px solid var(--primary);
     padding: 0 2vw;
     border-radius: 5vh;
     border: none;
     /*      -webkit-box-shadow: 0 1px gray;
box-shadow: 0 0 1px gray; */
     background: white;
     border: 2px gray dashed;
     margin-bottom: 0.5vw
 }

 input[type="file"] {
     display: none;
 }

 .color {
     user-select: initial !important;
 }

 .frame {
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
     width: 90%;
     margin-left: 5%;
     margin-bottom: 5vh;
     border-radius: 6vw
 }

 .frame-buttons * {
     transform: scale(0.5);
     margin: 0;
     padding: 0;
 }

 .frame-buttons {
     display: flex;
 }

 .frame-preview {
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
 }

 .frame-time {
     width: 30vw;
     filter: none;
     margin: 0;
     color: var(--primary);
 }

 .frame-time::placeholder {
     color: var(--primary);
 }

 #intro {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100vh;
     background: #42445A;
     color: white;
     display: flex;
     justify-content: center;
     align-items: center;
     font-size: 3rem;
     flex-direction: column
 }

 #intro>div {
     width: 60%;
     height: 2vw;
     border: 2px solid white;
 }

 #intro>p {
     font-family: trajan;
 }

 #intro>div>div {
     width: 0;
     height: 2vw;
     background: white;
     animation-name: fill-left;
     animation-duration: 1000ms;
     animation-iteration-count: 1;
     animation-timing-function: linear
 }

 @keyframes fill-left {
     from {
         width: 0%
     }

     to {
         width: 100%;
     }
 }

 #alert {
     width: 100%;
     max-width: 500px;
     box-sizing: border-box;
     background: white;
     position: fixed;
     bottom: 0;
     padding: 2vh;
     z-index: -1;
     opacity: 0;
     transition: 200ms;
     text-align: right;
     border: 1px solid black;
 }

 #alert>button {
     text-transform: uppercase;
     display: inline-block;

 }


 #alert>p {
     text-align: center
 }

 #alert-heading {
     font-weight: bold;
     text-align: center
 }


 #alert-cancel-button {
     margin-right: 4vh;

 }



 /* Basic styling */

 input [type=checkbox] {
     border-radius: 50%;
 }

 #info {
     background: var(--secondary)
 }

 input[type=number] {
     width: 50%;
 }

 #css-color-string-shower {
     width: 7.2vw;
     height: 7.2vw;
     display: inline-block;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
     border-radius: 50vw;
     margin-bottom: -2.4vw;
 }

 .left-flat {
     border-radius: 1vw 50vw 50vw 1vw !important;
 }

 .right-flat {
     border-radius: 50vw 1vw 1vw 50vw !important;
 }

 .selector {
     display: inline-block;
     background: white;
     text-align: center;
     border-radius: 50vw;
     overflow: hidden;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
     scroll-behavior: smooth;
     background: var(--accent);
 }

 .selector * {
     filter: brightness(0)
 }



 #click-mode-selector img {
     height: 12vw;
     margin: 0;
     display: block;
     padding: 1vw;
     max-height: 70px
 }

 .h-selector {
     background: var(--accent);
     width: 85%;
     max-height: 65px;

     display: inline-flex;
     border-radius: 50vh;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
     overflow: scroll;
     padding: 5px;
 }

 .h-selector img {
     max-width: 50px;
     width: 8vw;
     height: 8vw;
     max-height: 50px;
     -webkit-box-shadow: 0 1px gray;
     box-shadow: 0 0 1px gray;
     display: block;
     background: white;
     padding: 5px;
     margin-top: 0 !important;
     margin-left: 10px;
     border-radius: 50vh;


 }

 #main-selectors-container {
     margin: 5vw;
     display: flex;
     gap: 2.5vw;
 }

 .active-shape,
 .active-cmode {
     border: 1px solid black;
 }

 .shape-settings {
     display: none;
 }

 .active-shape-setting {
     display: initial
 }




 #selection-shower {
     position: absolute;
     border: 0px solid black;
 }



 .selection-image-shower,
 #animation-background-shower {
     width: 30vw;
     max-height: 30vh;
     object-fit: contain;
 }

 #color-tools>div {
     display: none
 }

 .visible-ctool {
     display: block !important
 }


 #color-selector-unit>* {
     display: none;
 }

 .visible-color-selector {
     display: block !important;

 }


 .infinite-scroll-x {
     display: flex;
     overflow-x: scroll;
     color: var(--primary);
     gap: 2vw;
     width: 75vw;
     padding: 10px;
     margin-left: calc((100vw - 75vw)/4);
 }