:root{
    --analytics-width: 34rem;
    --ball-size: 26px;
    --gridline-size: 1px;
    --grid-spacing: 50px;
    --grid-color: rgba(240, 248, 255, 0.2);
    --plane-height: 1000px;
    --plane-width: 1800px;
    --ground-size: 22px;
    
    --resultant-margin: 2rem;
    --resultant-width: 15.2rem;
    --component-width: 9rem;
    --scrollbar-size: 20px;
    --tickaxis-y-width: 2.4rem;
    --tickaxis-x-height: 2rem;

    --parameter-background: rgba(0, 0, 0, 0.4);
    --main-background: rgb(36, 36, 36);
    --font: 'Trebuchet MS', 'Lucida Sans Unicode';
    --font2: Lucida Console, Lucida Sans Typewriter, monaco, Bitstream Vera Sans Mono, monospace;
    color: aliceblue;
    
    --sim-height: 90%;
}
.none {
    display: none !important;
}
.opacity {
    opacity: 0 !important;
}
.hidden {
    visibility: hidden !important;
}
.no-pointer-events {
    pointer-events: none !important;
}

img {
    user-select: none;
    -moz-user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
}
body {
    background-color: var(--main-background);
    overflow: hidden;
    user-select: none;
}
#main {
    position: absolute;
    width: 94%;
    height: 95%;
    margin-left: 2%;
    margin-top: 0.5%;
    display: flex;
}
#simulation{
    position: relative;
    display: block;
    padding-left: 1rem;
    flex-grow: 1;
    overflow-x: scroll;
}
#resizer-left {
  width: 5px;
  height: 100%;
  background: black;
  position: absolute;
  left: 0;
  bottom: 0;
  cursor: e-resize;
}
#analytics-wrapper {
    position: relative;
    overflow: scroll;
    flex-shrink: 0;
    width: var(--analytics-width);
    padding-right: 2rem;
}
#analytics {
    position: relative;
    height: 100%;
    min-height: fit-content;
    display: flex;
    flex-flow: column;
}
#bottom-tray > #analytics-wrapper{
    width: 100% !important;
}
.analytics-bottom {
    flex-flow: row !important;
    gap: 20px;
    align-items: center;
    height: 26rem !important;
    width: fit-content;
    padding: 0 5%;
    flex-wrap: wrap;
}

.analytics-bottom > .analytics-part{
    padding-top: 1rem;
    padding-bottom: 2rem;
}
.analytics-bottom > #log-wrapper{
    height: 80%;
}
#sim-wrapper{
    display: flex;
    height: 78%;
    margin-bottom: calc(var(--scrollbar-size) + var(--tickaxis-x-height) + 2px);
}

#sim-wrapper::-webkit-scrollbar {
    display: none; /* Hide scrollbar for Chrome, Safari */
}

#zoom-scroll {
    position: absolute;
    bottom: 14px;
    right: 24px;
    display: flex;
    flex-direction: row-reverse;
    gap: 10px;
    pointer-events: auto;
    z-index: 3;
}
.zoom-scroll-butt {
    height: 45px;
    width: 45px;
    cursor: pointer;
}
.zoom-scroll-butt img{
    height: 100%;
    object-fit: contain;
}
.zoom-scroll-butt:hover{
    background: rgba(0, 255, 255, 0.3);
    border-radius: 10px;
}
.zoom-scroll-butt.selected{
    background: rgba(51, 168, 168, 0.9);
    border-radius: 10px;
}

#bottom-tray {
    position: absolute;
    bottom: 0;
    height: fit-content;
    width: 100%;
    background-color: var(--main-background);
    border-top: 3px solid aliceblue;
    transform: translateY(calc(100% - 3px));
    transition: transform 0.2s;
    z-index: 3;
    display: flex;
}
#bottom-tray-arrow {
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% -100%;
    width: 2.5rem;
    border-bottom: 3px solid aliceblue;
    background-color: rgb(14, 14, 14);
    transition: padding-bottom 0.2s;
}
#bottom-tray-arrow > img {
    width: inherit;
    object-fit: contain;
}
#bottom-tray-arrow:hover{
    padding-bottom: 0.2rem;
}