:root {
    /* Light theme default colors */
    --color-primary: #C4F2FF;
    /* HSL format */
    --color-secondary: #FFF4C4;
    --color-tert: #EDEDED;
    --color-background: 0 0% 100%;
    --color-text-primary: #190134;
    --color-text-secondary: #685879;
    --color-text-tert: #685879;
    --color-surface: 0 0% 95%;
    -color-white: #FFFFFF;

    /* Dark theme overrides */
    /* @media (prefers-color-scheme: dark) {
        --color-primary: 210 89% 65%;
        --color-secondary: 345 89% 65%;
        --color-background: 0 0% 10%;
        --color-text: 0 0% 95%;
        --color-surface: 0 0% 20%;
    } */

    /* Semantic color mapping */
    --primary: hsl(var(--color-primary));
    --secondary: hsl(var(--color-secondary));
    --background: hsl(var(--color-background));
    --text: hsl(var(--color-text));
    --surface: hsl(var(--color-surface));
}

body {
    background-color: #f0f0f0;
}

.main_container {
    border: 0;
    display: flex;
    background-color: var(--color-white);
    align-items: center;
    flex-direction: column;
}

.mobile_container {
    border: 0;
    max-width: 800px;
    width: 100%;
    margin: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.statistics_container {
    border: 0;
    background-color: #fff;
    width: 96%;
    box-sizing: border-box;
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 20px;
    margin-top: 16px;
}

.hist_container {
    height: 100%;
    width: 100%;
    /* min-width: 95vw; */
    min-width: 100%;
    position: relative;
}

@media only screen and (max-width: 600px) {
    .hist_container {
        height: 100% ;
        /* height: calc(max(100% 360px)); */
        width: 100%;
        position: relative;
    }
}

.statistics_section_heading {
    text-align: center;
}

.count_div {
    font-weight: 600;
}

.past_heading {
    font-weight: 600;
    font-size: 1.2rem;
    margin-top: 20px;
}

.note_container {
    border: 0;
    background-color: #fff;
    height: auto;
    width: 96%;
    border-radius: 30px;
    margin-top: 16px;
    min-height: 100px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}


#plot {
    width: 100% !important;
    height: 100% !important;
}

.disclaimer_container {
    border: 0;
    background-color: #FF9966;
    color: #fff;
    height: auto;
    width: 96%;
    border-radius: 30px;
    margin-top: 16px;
    min-height: 100px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-self: "center";
}

.note_text {
    margin: 20px;
    text-align: center;
}

.past_heading_disc {
    margin-top: 10px;
    text-align: center;
    font-size: 0.8rem;
}

.share_button {
    border: 0;
    background-color: #0095FF;
    height: auto;
    width: 96%;
    border-radius: 30px;
    margin-top: 16px;
    min-height: 60px;
    color: white;
    font-weight: 800;
}

.share_button:hover,
.submit_button:hover {
    filter: brightness(85%);
    background-blend-mode: darken;
}

.share_button:active,
.submit_button:active {
    filter: brightness(70%);
    background-blend-mode: darken;
}

.form_container {
    border: 0;
    background-color: #fff;
    height: auto;
    width: 96%;
    border-radius: 30px;
    margin-top: 16px;
    min-height: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
}

.form_header {
    border: 0;
    text-align: center;
    font-size: 1.8rem;
}

.url_form {
    border: 0;
    height: 2rem;
    background-color: #E8E8E8;
    padding: 10px;
    width: 80%;
    font-size: 1.1rem;
    margin-top: 16px;
    text-align: center;
    border-radius: 30px;
}

.submit_button {
    border: 0;
    background-color: #00C989;
    height: auto;
    width: 80%;
    font-size: 1rem;
    border-radius: 30px;
    margin-top: 16px;
    min-height: 60px;
    color: white;
    font-weight: 800;
}

.video_container {
    margin-top: 16px;
    border: 0;
    width: 80%;
    /* width: 300px; */
    /* max-width: 80%; */
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.video_class {
    margin-top: 16px;
    border: 0;
    width: 80%;
    border-radius: 16px;
}

.response_container {
    border: 0;
    width: 96%;
    display: flex;
    flex-direction: column;
}

.result_container {
    border: 0;
    background-color: #fff;
    height: auto;
    width: 100%;
    border-radius: 30px;
    /* min-height: 300px; */
    display: flex;
    padding: 20px 0;
    flex-direction: column;
    align-items: center;
    margin-top: 16px;
}

.response_header {
    border: 0;
    background-color: #fff;
    height: auto;
    border-radius: 30px;
    /* min-height: 300px; */
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
    margin-top: 16px;
    border: 0;
    text-align: center;
    font-weight: 700;
    font-size: 1.2rem;
}

.result_name {
    text-align: center;
    font-weight: 500;
}

.mks_obtained {
    text-align: center;
    font-weight: 700;
}

.predicted_rank {
    font-weight: 700;
}

.section_header {
    border: 0;
    text-align: center;
    font-weight: 700;
    border: 0;
    background-color: #fff;
    height: auto;
    border-radius: 30px;
    /* min-height: 300px; */
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
    margin-top: 16px;
    border: 0;
    text-align: center;
    font-weight: 700;
    font-size: 1.2rem;
}

.question_container {
    border: 0;
    border: 0;
    background-color: #fff;
    height: auto;
    border-radius: 30px;
    /* min-height: 300px; */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
    margin-top: 16px;
    border: 0;
    text-align: center;
}

.question_number {
    border: 0;
    font-weight: 700;
}

.question_image {
    border: 0;
    width: 96%;
    padding-top: 10px;
}

.anskey_container {
    border: 0;
    background-color: #F6F6F6;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-items: center;
    border-radius: 30px;
    width: calc(96% - 20px);
    padding: 10px;
    margin-top: 20px;
}

.pie_chart {
    border: 0;
    width: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.correct_response {
    border: 0;
    width: 27%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.your_response {
    border: 0;
    width: 27%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.response_txt_detail {
    font-size: 0.6rem;
}

.option_container {
    border: 0;
    /* background-color: #F6F6F6; */
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    border-radius: 30px;
    width: calc(96% - 20px);
    padding: 10px;
    /* margin-top: 20px; */
}

.selection_stat {
    border: 0;
    background-color: #00C989;
    width: 20%;
    max-width: 60px;
    max-height: 60px;
    aspect-ratio: 1 / 1;
    border-radius: 100px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFFFFF;
}

.option_image_container {
    border: 0;
    width: 80%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

.option_image {
    border: 0;
    margin-left: 20px;
    max-width: 90%;
    /* color: #353535; */
}


.stat_container {
    background-color: #F6F6F6;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    width: calc(96% - 20px);
    padding: 10px;
    margin-top: 20px;
}

.attempt_container {
    border: 0;
    width: 27%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.stat_txt {
    font-size: 0.6rem;
}

.correct_container {
    border: 0;
    width: 27%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.marks_tally_container {
    border: 0;
    width: 27%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.stat_txt {
    font-size: 0.6rem;
}

.answer_status {
    background-color: #F6F6F6;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    width: calc(96% - 40px);
    padding: 20px;
    margin-top: 20px;
    font-size: 1.2rem;
    color: white;
}

.correct {
    background-color: #00C989;
}

.incorrect {
    background-color: #FF4141;
}

.unattempted {
    background-color: #777777;
}

.hidden {
    display: none;
}

.error_info_toggle {
    width: fit-content;
    padding: 10px;
    border-radius: 10px;
    background-color: #00C989;
    color: white;
    /* margin-bottom: 20px; */
}

/* -------------------------------------------------------- */
/* This CSS was inspired by the blue pulsing dot in Grammarly */
:root {
    --pulseSize: 28px;
    --blue: rgba(255, 61, 61, 0.801);
    --transparentBlue: rgba(250, 95, 95, 0);
}

.center {
    display: flex;
    align-items: center;
    justify-content: center;
    /* height: 100vh; */
    scale: 0.3;
    z-index: 1000;
}

.pulse {
    width: var(--pulseSize);
    height: var(--pulseSize);
    border-radius: 50%;
    background: var(--blue);
    box-shadow: 0 0 0 var(--blue);
    animation: pulsing 2s infinite;
    transition: all 0.2s;
    cursor: pointer;
}

.pulse:hover {
    --blue: rgba(209, 167, 160, .65);
    --transparentBlue: rgba(209, 167, 160, 0);
}

.pulse:active {
    transform: scale(1.5);
}

@keyframes pulsing {
    from {
        box-shadow: 0 0 0 0 var(--blue);
    }

    70% {
        box-shadow: 0 0 0 var(--pulseSize) var(--transparentBlue);
    }

    to {
        box-shadow: 0 0 0 0 var(--transparentBlue);
    }
}



/* --------------------------------------------------------------- */

ul {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: auto;
}


.explainer {
    list-style: circle;
    color: black;
}

ul li {
    color: #000000;
    display: block;
    position: relative;
    float: left;
    width: 100%;
    /* height: 100px; */
    /* border-bottom: 1px solid #333; */
}

ul li input[type=radio] {
    position: absolute;
    visibility: hidden;
}

ul li label {
    display: block;
    position: relative;
    font-weight: 300;
    font-size: 1.35em;
    font-weight: 500;
    padding: 25px 25px 25px 80px;
    margin: 10px auto;
    height: 30px;
    z-index: 9;
    cursor: pointer;
    -webkit-transition: all 0.25s linear;
}

ul li:hover label {
    color: #353535;
}

ul li .check {
    display: block;
    position: absolute;
    border: 5px solid #AAAAAA;
    border-radius: 100%;
    height: 25px;
    width: 25px;
    top: 30px;
    left: 20px;
    z-index: 5;
    transition: border .25s linear;
    -webkit-transition: border .25s linear;
}

ul li:hover .check {
    border: 5px solid #353535;
}

ul li .check::before {
    display: block;
    position: absolute;
    content: '';
    border-radius: 100%;
    height: 15px;
    width: 15px;
    top: 5px;
    left: 5px;
    margin: auto;
    transition: background 0.25s linear;
    -webkit-transition: background 0.25s linear;
}

input[type=radio]:checked~.check {
    border: 5px solid #0DFF92;
}

input[type=radio]:checked~.check::before {
    background: #0DFF92;
}

input[type=radio]:checked~label {
    color: #0DFF92;
}

/* Styles for alert... 
by the way it is so weird when you look at your code a couple of years after you wrote it XD */


.recent_fetches {
    display: flex;
    width: 80%;
    padding-top: 20px;
    flex-direction: column;
}

.delete_btn {
    border: 0;
    background-color: #ff7e7e;
    height: auto;
    width: 100%;
    font-size: 1rem;
    border-radius: 30px;
    margin-top: 16px;
    min-height: 60px;
    color: white;
    font-weight: 800;
}

/* ----------------------------------------------------------------------- */

.gentle-hover-shake {
  animation: tilt-shaking 0.25s infinite;
  animation-delay: 1s;
}

.gentle-tilt-move-shake {
    animation: tilt-n-move-shaking 0.25s infinite;
    animation-delay: 1s;
}

.strong-tilt-move-shake {
    animation: tilt-n-move-shaking 0.15s infinite;
    animation-delay: 1s;
}

.constant-tilt-shake {
    animation: tilt-shaking 0.3s infinite;
    animation-delay: 1s;
}

.vertical-shake {
  animation: vertical-shaking 0.35s infinite;
}

.horizontal-shake {
  animation: horizontal-shaking 0.35s infinite;
}

.rise-shake {
  animation: jump-shaking 1.83s infinite;
}

.skew-shake-x {
  animation: skew-x-shake 1.3s infinite;
}

.skew-shake-y {
  animation: skew-y-shake 1.3s infinite;
}

@keyframes tilt-shaking {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(5deg); }
  50% { transform: rotate(0eg); }
  75% { transform: rotate(-5deg); }
  100% { transform: rotate(0deg); }
}

@keyframes tilt-n-move-shaking {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(5px, 5px) rotate(5deg); }
  50% { transform: translate(0, 0) rotate(0eg); }
  75% { transform: translate(-5px, 5px) rotate(-5deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}

@keyframes vertical-shaking {
  0% { transform: translateY(0) }
  25% { transform: translateY(5px) }
  50% { transform: translateY(-5px) }
  75% { transform: translateY(5px) }
  100% { transform: translateY(0) }
}

@keyframes horizontal-shaking {
  0% { transform: translateX(0) }
  25% { transform: translateX(5px) }
  50% { transform: translateX(-5px) }
  75% { transform: translateX(5px) }
  100% { transform: translateX(0) }
}

@keyframes jump-shaking {
  0% { transform: translateX(0) rotate(0)}
  35% { transform: translateY(0) rotate(0)}
  85% { transform: translateY(0) rotate(0) }
  89% { transform: translateY(-2px) rotate(-17deg) }
  93% { transform: translateY(-3px) rotate(17deg) }
  98% { transform: translateY(-4px) rotate(-17deg) }
  100% { transform: translateY(0) rotate(0) }
}

@keyframes skew-x-shake {
  0% { transform: skewX(-15deg); }
  5% { transform: skewX(15deg); }
  10% { transform: skewX(-15deg); }
  15% { transform: skewX(15deg); }
  20% { transform: skewX(0deg); }
  100% { transform: skewX(0deg); }  
}

@keyframes skew-y-shake {
  0% { transform: skewY(-15deg); }
  5% { transform: skewY(15deg); }
  10% { transform: skewY(-15deg); }
  15% { transform: skewY(15deg); }
  20% { transform: skewY(0deg); }
  100% { transform: skewY(0deg); }  
}



@keyframes teasing-gentle-shake {
    0% { transform: translateX(0); }
    6.25% { transform: translateX(-2px) rotate(-0.2deg); }
    12.5% { transform: translateX(2px) rotate(0.2deg); }
    18.75% { transform: translateX(-1px) rotate(-0.1deg); }
    25% { transform: translateX(0); }
    100% { transform: translateX(0); }
  }

  .teasing-shake {
    animation-name: teasing-gentle-shake;
    animation-duration: 2s; /* Adjust as needed */
    animation-iteration-count: infinite; /* Run once per cycle */
    animation-play-state: running; /* Start paused */
  }