@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

* {
    font-family: "Poppins", sans-serif !important;
}

:root {
    --input-width: 60px;
}

body {
    margin: 0;
    padding: 0;
    overflow: hidden;
}

h1 {
    padding: 0;
    margin: 0;
}

main {
    display: flex;
}

@media (max-width: 500px) {
    main {
        display: none;
    }
}

.panel {
    width: 50vw;
    height: 100vh;
}

.panel h1 {
    text-align: center;
}

/* ----------
   LEFT PANEL 
   ---------- */
#left-panel {
    padding-left: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#config-wrapper {
    min-width: 275px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 15px;
}

#config-wrapper > div > span {
    user-select: none;
}

input {
    width: var(--input-width);
    padding: 4px;
    border-radius: 10px;
    border: 1px solid black;
    margin-top: 2px;
}

input[type="text"] {
    --input-width: 120px;
    width: var(--input-width);
}

button {
    background: #efefef;
    padding: 5px 10px;
    border-radius: 10px;
    border: 1px solid black;
    margin-top: 2px;
    cursor: pointer;
    transition: background 0.2s linear;
}

button:hover {
    background: #d3d3d3;
}

.x-pi, .y-pi {
    display: none;
}

/* Custom checkbox */
:root {
    --checkbox-border-color: black;
    --checkbox-checked-color: #6c584c;
    --checkbox-hover-color: #d3d3d3; /* #a98467; */
}

input[type="checkbox"] {
    width: 20px;
    height: 20px;
    /*margin: 4px;*/
    margin-left: 0px;
    padding: 0;
    border: 2px solid var(--checkbox-border-color);
    border-radius: 0.3rem;
    appearance: none;
    background-color: #fcfcfc;
    outline: none;
    transition: outline 0.1s;
    cursor: pointer;
}

input[type="checkbox"]:checked {
    background-size: cover;
    padding: 2px;
    border-color: var(--checkbox-checked-color);
    background-color: white /*var(--checkbox-checked-color)*/;
    background-image: url('https://cdn3.iconfinder.com/data/icons/glypho-generic-icons/64/checkmark-big-512.png');
}

div:has(> input[type="checkbox"]):has(> .checkboxLabel) {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 5px;
}

@media (hover: hover) {
    input[type="checkbox"]:not(:disabled):hover, input[type="checkbox"]:not(:disabled):focus-visible {
        background-color: var(--checkbox-hover-color);
        outline: 6px solid var(--checkbox-hover-color);
        /*transform: scale(1.05);*/
    }
}

.checkboxLabel {
    user-select: none;
    margin-bottom: 2px;
    cursor: pointer;
}

/* -----------
   RIGHT PANEL 
   ----------- */
#right-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-right: 8px;
}

#canvas-wrapper {
    display: flex;
    height: 100%;
    align-items: center;
}

canvas {
    background-color: white;
    border: 2px solid black;
    margin: 0;
    padding: 0;
}