    @keyframes boardUp {
        0%   { height: 35rem;}
        100% { height: 0;}
    }
 
    @keyframes lineUp {
        0%   { transform: translateY(0); }
        100% { transform: translateY(-32.7rem); }
    }
 
    @keyframes btnAniUp {
        0%   { transform: translateY(0); }
        15%  { transform: translateY(1rem); }
        100% { transform: translateY(-32.4rem); }
    }

    .whiteboard-frame1.animating1 {
        animation: boardUp 0.8s ease forwards;
    }

    .whiteboard-frame2.animating1 {
        animation: boardUp 0.8s ease forwards;
    }
 
    .line.animating1 {
        animation: lineUp 0.6s ease forwards;
    }
 
    .circle.animating1 {
        animation: btnAniUp 0.8s ease forwards;
    }
    
    @keyframes boardDown {
        0%   { height: 0rem;}
    }
 
    @keyframes lineDown {
        0%   { transform: translateY(-32.7rem); }
        100% { transform: translateY(0); }
    }
 
    @keyframes btnAniDown {
        0%   { transform: translateY(-32.4rem); }
        100% { transform: translateY(0); }
    }

    .whiteboard-frame1.animating2 {
        animation: boardDown 0.8s ease forwards;
    }

    .whiteboard-frame2.animating2 {
        animation: boardDown 0.8s ease forwards;
    }
 
    .line.animating2 {
        animation: lineDown 0.86s ease forwards;
    }
 
    .circle.animating2 {
        animation: btnAniDown 0.8s ease forwards;
    }

    .whiteboard-frame1.no-animation {
        animation: none;
    }

    .whiteboard-frame2.no-animation {
        transform: translateY(0);
        animation: none;
    }
 
    .line.animating2.no-animation {
        transform: translateY(0);
        animation: none;
    }
 
    .circle.animating2.no-animation {
        transform: translateY(0);
        animation: none;
    }
    
    @font-face {
        font-family: "Aloja";
        src: url("fonts/Aloja.otf") format("opentype");
        font-weight: normal;
        font-style: normal;
    }

    @font-face {
        font-family: "Azurite";
        src: url("fonts/Azurite.ttf") format("opentype");
        font-weight: normal;
        font-style: normal;
    }

    .font1 {
        font-family: Aloja, sans-serif;
        font-size: 1.9rem;
    }

    .font2 {
        font-family: Azurite, sans-serif;
    }
    
    body {
        background: #f0e6ff;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 7rem;
        padding-bottom: 10rem;
    }

    .page-icon {
        position: absolute;
        height: 18rem;
        top: -6rem;
        left: -3rem;
    }

    .whiteboard-frame1 {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 72rem;
        height: 36rem;
        border: 0.3rem solid #000000;
        border-radius: 1rem;
        background: #FFFFFF;
        overflow: hidden;
    }

    .whiteboard-frame2 {
        position: relative;
        width: 70rem;
        height: 34rem;
        border: 0.3rem solid #000000;
        border-radius: 1rem;
        background: #FFFFFF;
        overflow: hidden;
    }

    .whiteboard-top {
        position: absolute;
        top: 5rem;
        width: 75rem;
        height: 5rem;
        background: #FFFFFF;
        border: 0.3rem solid #000000;
        border-radius: 2rem;
    }

    .line {
        position: absolute;
        top: 43rem;
        height: 9rem;
        border-left: 0.3rem solid #000000;
    }

    .circle {
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: sans-serif;
        font-size: 2rem;
        font-weight: 700;
        position: absolute;
        color: #FFFFFF;
        top: 48rem;
        width: 20rem;
        height: 5rem;
        border: 0.3em solid #000000;
        border-radius: 50%;
        background: #8a64e2;
    }

    .rubber {
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: sans-serif;
        font-size: 2rem;
        font-weight: 700;
        position: absolute;
        left: 1.5rem;
        bottom: -2.2rem;
        width: 12rem;
        height: 4rem;
        border: 0.3rem solid #000000;
        border-radius: 1rem;
        background: #FFFFFF;
    }

    .stages {
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: sans-serif;
        font-size: 1.2rem;
        position: absolute;
        top: 3rem;
        right: 2rem;
        width: 12rem;
        height: 3rem;
        border: 0.3rem solid #000000;
        border-radius: 2rem;
        background: #FFFFFF;
    }

    .stages span {
        margin-right: 0.23rem;
    }

    .dots {
        position: absolute;
        top: 7rem; 
        right: 5.5rem;
        display: flex;
        gap: 0.9rem;
    }

    .stage-dot {
        position: relative;
        width: 0.7rem;
        height: 0.7rem;
        border-radius: 50%;
        background: #d9d9d9;
    }

    .stage-dot.active {
        background: #8a64e2;
    }
