*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
@font-face {
    font-family: andy;
    src: url(assets/ANDYB.TTF);
}
html{
    font-family: sans-serif;
}
body{
    display: grid;
    gap: 1rem;
    margin: 0 clamp(0px, 8vw - 60px, 100px);
    background-image: linear-gradient(#6385D0, #99CAE0);
}
body > *{
    backdrop-filter: blur(2px);
    padding: 10px;
    border: 1px solid #ffffffb7;
    /* border-radius: 10px; */
}
header{
    background-color: #d0d0d7a4;
}
main, footer{
    background-color: #d0d0d7f1;
}
p{
    max-width: 70ch;
    padding-bottom: 10px;
}
#table_img{
    float: right;
    display: grid;
    gap: 10px;
}
#example_img{
    width: 200px;
}
table,tr,td,th{
    border-collapse: collapse;
    text-align: center;
    padding: 0 4px;
}
tr{
    background: #fff;
}
td,th{
    border: 1px solid #000;
}
main{
    display: grid;
    grid-template-columns: 2fr 3fr;
}
h1{
    font-family: andy, sans-serif;
    text-align: center;
    /* margin: 10px 0; */
    color: #E61E58;
    filter: url(assets/filter.svg#outlineL);
    font-size: clamp(1.5rem, 4vw + 1rem, 3rem);
    font-weight: normal;
}
h2{
    font-family: andy, sans-serif;
    color: #00C8FF;
    filter: url(assets/filter.svg#outlineM);
    font-size: clamp(1rem, 4vw + 0.5rem, 1.7rem);
    font-weight: normal;
}
[role="doc-subtitle"]{
    color: #E61E58;
    text-align: center;
}
h3{
    font-family: andy, sans-serif;
    font-size: clamp(0.7rem, 4vw + 0.5rem, 1.4rem);
    font-weight: normal;
}
section{
    border: 10px solid transparent;
    padding: 10px;
}
#minifier{
    border-image: url(assets/border_red.png) 16 round;
}
mark{
    font-weight: bold;
}
mark.term{
    background-color: #00C8FF77;
}
mark.gate{
    background-color: #E61E5877;
}
mark.negation{
    background-color: #004cff77;
}
#loader{
    border-radius: 50%;
    border: 5px solid #ffffff00;
    border-top: 5px solid #3498db;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
}
form{
    display: flex;
    height: 25px;
    align-items: center;
}
form > :is(input, button){
    margin-right: 10px;
    padding: 2px 5px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@media screen and (max-width: 950px) {
    main{
        grid-template-columns: 1fr;
    }
}

.double{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    border: 10px solid transparent;
    border-image: url(assets/border_blue.png) 16 round;
    padding: 10px;
    margin: 10px auto;
}