@import url("grade-2-lesson-1.css");


/* ==================================================
   LESSON 12 — DO OR DOES?
================================================== */

.present-question-body {

    --question-900: #473267;
    --question-800: #5d4384;
    --question-700: #7354a1;
    --question-600: #8a69ba;
    --question-500: #a081cf;
    --question-400: #bba2df;
    --question-300: #d1c1eb;
    --question-200: #e6dcf5;
    --question-100: #f6f2fb;

    --question-blue: #5573c8;
    --question-blue-soft: #edf2ff;

    --question-green: #4d9d68;
    --question-green-soft: #edf9f0;

    --question-red: #c5665d;
    --question-red-soft: #fff0ee;

    --question-gold: #d9a642;
    --question-gold-soft: #fff7e5;

}


/* ==================================================
   SCREEN VISIBILITY
================================================== */

.lesson-screen {

    display: none;

}


.lesson-screen.active-screen {

    display: block !important;

    opacity: 1 !important;

    visibility: visible !important;

}


/* ==================================================
   INTRO
================================================== */

.question-preview {

    max-width: 820px;

    margin: 30px auto;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 13px;

}


.question-preview span {

    min-height: 64px;

    padding: 15px 18px;

    display: flex;

    align-items: center;

    justify-content: center;

    border:
        2px solid
        rgba(115, 84, 161, 0.11);

    border-radius: 19px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f1ebfa
        );

    color: var(--question-900);

    font-size: 15px;

    font-weight: 800;

    text-align: center;

    box-shadow:
        0 9px 22px
        rgba(73, 51, 103, 0.07);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;

}


.question-preview span:hover {

    transform: translateY(-3px);

    box-shadow:
        0 13px 27px
        rgba(73, 51, 103, 0.1);

}


/* ==================================================
   UKRAINIAN EXPLANATIONS
================================================== */

.ukrainian-explanation,
.ukrainian-instruction {

    display: block;

    margin-top: 13px;

    color: #655776;

    font-size: 15px;

    font-weight: 600;

    line-height: 1.72;

}


.ukrainian-explanation strong,
.ukrainian-instruction strong {

    color: var(--question-900);

    font-weight: 900;

}


/* ==================================================
   SECTION INTRO
================================================== */

.section-intro-text {

    max-width: 740px;

    margin:
        5px
        auto
        26px;

    color: #5f5370;

    font-size: 16px;

    font-weight: 700;

    line-height: 1.65;

    text-align: center;

}


/* ==================================================
   EXPLANATION CARD
================================================== */

.explanation-card {

    max-width: 840px;

    margin: 24px auto;

    padding: 24px 26px;

    border:
        1px solid
        rgba(111, 82, 157, 0.12);

    border-radius: 24px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f7f3fc
        );

    box-shadow:
        0 10px 24px
        rgba(73, 51, 103, 0.06);

}


.compact-explanation {

    max-width: 800px;

}


.explanation-card > p:first-child {

    margin-top: 0;

    color: var(--question-900);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 20px;

    font-weight: 700;

    line-height: 1.45;

}


.explanation-card > p:last-child {

    margin-bottom: 0;

}


/* ==================================================
   STATEMENT → QUESTION
================================================== */

.statement-question-demo {

    max-width: 840px;

    margin: 28px auto;

    display: grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items: center;

    gap: 16px;

}


.statement-question-demo article {

    min-height: 190px;

    padding: 22px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 8px;

    border-radius: 23px;

    text-align: center;

    box-shadow:
        0 10px 23px
        rgba(70, 50, 100, 0.07);

}


.statement-card {

    border:
        2px solid
        rgba(92, 134, 104, 0.13);

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #edf8f0
        );

}


.question-card {

    border:
        2px solid
        rgba(106, 84, 159, 0.14);

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #efe8fa
        );

}


.statement-question-demo small {

    color: #84788f;

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 0.8px;

}


.statement-question-demo article > span {

    font-size: 39px;

    line-height: 1;

}


.statement-question-demo strong {

    color: var(--question-900);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 21px;

    line-height: 1.4;

}


.statement-question-demo p {

    margin: 0;

    color: #71647e;

    font-size: 13px;

    font-weight: 700;

}


.question-change-arrow {

    color: var(--question-700);

    font-size: 34px;

    font-weight: 900;

}


/* ==================================================
   IMPORTANT NOTE
================================================== */

.important-note {

    max-width: 820px;

    margin: 24px auto;

    padding: 20px 22px;

    display: grid;

    grid-template-columns:
        auto
        1fr;

    align-items: start;

    gap: 15px;

    border:
        2px solid
        rgba(112, 85, 163, 0.12);

    border-radius: 21px;

    background:
        linear-gradient(
            145deg,
            #faf8fe,
            #eee7fa
        );

}


.important-note > span {

    font-size: 29px;

    line-height: 1;

}


.important-note p {

    margin: 0;

    color: #5e5270;

    font-size: 15px;

    font-weight: 700;

    line-height: 1.72;

}


.important-note strong {

    color: var(--question-900);

    font-weight: 900;

}


/* ==================================================
   SENTENCE EXAMPLES
================================================== */

.sentence-examples {

    margin-top: 26px;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px;

}


.sentence-examples article {

    min-height: 122px;

    padding: 17px;

    display: grid;

    grid-template-columns:
        auto
        1fr
        auto;

    align-items: center;

    gap: 13px;

    border:
        1px solid
        rgba(111, 82, 157, 0.11);

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f4effb
        );

    box-shadow:
        0 8px 20px
        rgba(73, 51, 103, 0.06);

}


.sentence-examples article > span {

    font-size: 38px;

    line-height: 1;

}


.sentence-examples article > div {

    display: flex;

    flex-direction: column;

    gap: 5px;

}


.sentence-examples strong {

    color: var(--question-900);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 18px;

    line-height: 1.4;

}


.sentence-examples small {

    color: #766a81;

    font-size: 13px;

    font-weight: 700;

}


/* ==================================================
   DO / DOES RULE CARDS
================================================== */

.helper-rule-card {

    max-width: 800px;

    margin: 18px auto;

    padding: 23px;

    border-radius: 24px;

    box-shadow:
        0 10px 24px
        rgba(67, 47, 94, 0.06);

}


.do-rule-card {

    border:
        2px solid
        rgba(85, 115, 200, 0.13);

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #edf2ff
        );

}


.does-rule-card {

    border:
        2px solid
        rgba(139, 104, 187, 0.14);

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #efe7fa
        );

}


.helper-rule-top {

    display: flex;

    align-items: center;

    gap: 17px;

    margin-bottom: 18px;

}


.helper-badge {

    min-width: 92px;

    min-height: 58px;

    padding: 10px 15px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 17px;

    background: white;

    color: var(--question-800);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 22px;

    font-weight: 700;

    box-shadow:
        0 7px 16px
        rgba(68, 47, 97, 0.08);

}


.helper-rule-top small {

    color: #887b93;

    font-size: 11px;

    font-weight: 900;

    letter-spacing: 0.8px;

}


.helper-rule-top h3 {

    margin:
        3px
        0
        0;

    color: var(--question-900);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 24px;

}


.helper-example-grid {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;

}


.helper-example-grid span {

    min-height: 54px;

    padding: 13px 15px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 14px;

    background: rgba(255, 255, 255, 0.85);

    color: #514463;

    font-size: 14px;

    font-weight: 800;

    text-align: center;

}


/* ==================================================
   COMPARISON GRID
================================================== */

.comparison-grid {

    max-width: 790px;

    margin: 27px auto;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px;

}


.comparison-grid article {

    min-height: 158px;

    padding: 21px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 8px;

    border:
        2px solid
        rgba(109, 80, 157, 0.11);

    border-radius: 22px;

    background: #ffffff;

    text-align: center;

    box-shadow:
        0 9px 21px
        rgba(73, 51, 103, 0.06);

}


.comparison-grid small {

    color: #877b92;

    font-size: 12px;

    font-weight: 900;

}


.comparison-grid strong {

    color: var(--question-800);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 27px;

}


.comparison-grid span {

    color: #665971;

    font-size: 14px;

    font-weight: 800;

}


/* ==================================================
   GOLDEN TIP
================================================== */

.golden-tip {

    max-width: 820px;

    margin: 25px auto;

}


.golden-tip p {

    line-height: 1.72;

}


.golden-tip strong {

    color: var(--question-900);

}


/* ==================================================
   QUESTION FORMULA
================================================== */

.question-formula {

    max-width: 850px;

    margin: 27px auto;

    padding: 23px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-wrap: wrap;

    gap: 11px;

    border:
        2px solid
        rgba(109, 80, 157, 0.12);

    border-radius: 25px;

    background:
        linear-gradient(
            145deg,
            #fbf9fe,
            #ece4f8
        );

}


.formula-helper,
.formula-subject,
.formula-verb,
.formula-question-mark {

    min-width: 145px;

    padding: 15px 17px;

    border-radius: 16px;

    background: white;

    color: var(--question-900);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 18px;

    font-weight: 700;

    text-align: center;

    box-shadow:
        0 6px 15px
        rgba(73, 51, 103, 0.07);

}


.formula-helper {

    background:
        linear-gradient(
            145deg,
            #eef2ff,
            #e2e9ff
        );

    color: #415fae;

}


.formula-question-mark {

    min-width: 58px;

    color: var(--question-700);

    font-size: 28px;

}


.formula-plus {

    color: var(--question-700);

    font-size: 26px;

    font-weight: 900;

}


/* ==================================================
   FORMULA EXAMPLE
================================================== */

.formula-example {

    max-width: 720px;

    margin:
        -4px
        auto
        28px;

    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 8px;

}


.formula-example span,
.formula-example strong {

    min-width: 105px;

    padding: 12px 15px;

    border-radius: 13px;

    background: #ffffff;

    color: #554764;

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 17px;

    font-weight: 700;

    text-align: center;

    box-shadow:
        0 6px 14px
        rgba(73, 51, 103, 0.06);

}


.formula-example strong {

    min-width: 50px;

    color: var(--question-700);

}


/* ==================================================
   SUPER IMPORTANT RULE
================================================== */

.super-important-rule {

    max-width: 850px;

    margin: 30px auto;

    padding: 25px;

    display: grid;

    grid-template-columns:
        auto
        1fr;

    gap: 18px;

    border:
        2px solid
        rgba(199, 101, 90, 0.17);

    border-radius: 25px;

    background:
        linear-gradient(
            145deg,
            #fffafa,
            #fff0ed
        );

    box-shadow:
        0 12px 27px
        rgba(118, 66, 61, 0.06);

}


.super-rule-icon {

    width: 70px;

    height: 70px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 20px;

    background: white;

    font-size: 37px;

    box-shadow:
        0 7px 17px
        rgba(104, 63, 59, 0.07);

}


.super-important-rule small {

    color: #ad554b;

    font-size: 11px;

    font-weight: 900;

    letter-spacing: 1px;

}


.super-important-rule h3 {

    margin:
        4px
        0
        0;

    color: #7b4039;

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 23px;

}


/* ==================================================
   VERB RETURN TABLE
================================================== */

.verb-return-table {

    max-width: 840px;

    margin: 27px auto;

    overflow: hidden;

    border:
        1px solid
        rgba(108, 78, 155, 0.12);

    border-radius: 22px;

    background: white;

    box-shadow:
        0 9px 22px
        rgba(73, 51, 103, 0.06);

}


.verb-return-heading,
.verb-return-row {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

}


.verb-return-heading {

    background:
        linear-gradient(
            145deg,
            #e9e0f6,
            #d9caec
        );

}


.verb-return-heading span {

    padding: 15px;

    color: var(--question-900);

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 0.8px;

    text-align: center;

    text-transform: uppercase;

}


.verb-return-row {

    border-top:
        1px solid
        rgba(103, 80, 137, 0.08);

}


.verb-return-row span {

    padding: 16px 18px;

    color: #5f536d;

    font-size: 15px;

    font-weight: 700;

    text-align: center;

}


.verb-return-row span:first-child {

    background: #fbfafc;

}


.verb-return-row span:last-child {

    background: #f4effa;

}


.verb-return-row strong {

    color: var(--question-900);

}


/* ==================================================
   MISTAKE BOX
================================================== */

.mistake-box {

    max-width: 840px;

    margin: 28px auto;

    padding: 23px;

    border:
        2px solid
        rgba(198, 103, 93, 0.15);

    border-radius: 23px;

    background:
        linear-gradient(
            145deg,
            #fffafa,
            #fff0ee
        );

}


.compact-mistake-box {

    max-width: 800px;

}


.mistake-box h3 {

    margin:
        0
        0
        17px;

    color: #86463e;

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 21px;

    text-align: center;

}


.mistake-pair {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;

    margin-top: 10px;

}


.wrong-example,
.correct-example {

    min-height: 56px;

    padding: 13px 15px;

    display: flex;

    align-items: center;

    border-radius: 14px;

    font-size: 14px;

    font-weight: 800;

    line-height: 1.45;

}


.wrong-example {

    background: var(--question-red-soft);

    color: #96463d;

}


.correct-example {

    background: var(--question-green-soft);

    color: #347047;

}


/* ==================================================
   QUESTION STEPS
================================================== */

.question-steps {

    max-width: 900px;

    margin: 28px auto;

    display: grid;

    grid-template-columns:
        1fr
        auto
        1fr
        auto
        1fr
        auto
        1fr;

    align-items: center;

    gap: 9px;

}


.question-steps article {

    min-height: 165px;

    padding: 17px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 7px;

    border:
        1px solid
        rgba(105, 79, 149, 0.11);

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f4effa
        );

    text-align: center;

    box-shadow:
        0 7px 18px
        rgba(73, 51, 103, 0.05);

}


.question-steps article > span {

    width: 40px;

    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--question-600);

    color: white;

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 19px;

    font-weight: 700;

}


.question-steps strong {

    color: var(--question-900);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 16px;

    line-height: 1.35;

}


.question-steps p {

    margin: 0;

    color: #665a72;

    font-size: 13px;

    font-weight: 800;

}


.step-arrow {

    color: var(--question-700);

    font-size: 25px;

    font-weight: 900;

}


/* ==================================================
   SHORT ANSWERS
================================================== */

.short-answer-section {

    max-width: 760px;

    margin: 25px auto;

    padding: 21px;

    border:
        1px solid
        rgba(110, 82, 156, 0.11);

    border-radius: 23px;

    background: #fbf9fe;

}


.short-answer-question {

    min-height: 76px;

    padding: 15px 18px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 13px;

    border-radius: 17px;

    background: white;

    box-shadow:
        0 6px 16px
        rgba(73, 51, 103, 0.05);

}


.short-answer-question span {

    font-size: 34px;

}


.short-answer-question strong {

    color: var(--question-900);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 21px;

    text-align: center;

}


.short-answer-options {

    margin-top: 13px;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 11px;

}


.short-answer-options article {

    min-height: 105px;

    padding: 17px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 6px;

    border-radius: 17px;

    text-align: center;

}


.yes-answer {

    background:
        linear-gradient(
            145deg,
            #f5fcf6,
            #e9f7ed
        );

}


.no-answer {

    background:
        linear-gradient(
            145deg,
            #fff8f7,
            #ffebe8
        );

}


.short-answer-options small {

    font-size: 11px;

    font-weight: 900;

    letter-spacing: 0.8px;

}


.yes-answer small {

    color: #4c8a60;

}


.no-answer small {

    color: #ad5c53;

}


.short-answer-options strong {

    color: #544761;

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 18px;

}


/* ==================================================
   SHORT ANSWER GUIDE
================================================== */

.short-answer-guide {

    max-width: 790px;

    margin: 27px auto;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 13px;

}


.short-answer-guide article {

    min-height: 145px;

    padding: 20px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 7px;

    border:
        1px solid
        rgba(107, 80, 151, 0.11);

    border-radius: 20px;

    background: white;

    text-align: center;

    box-shadow:
        0 8px 19px
        rgba(73, 51, 103, 0.05);

}


.short-answer-guide small {

    color: #83788d;

    font-size: 11px;

    font-weight: 900;

    letter-spacing: 0.7px;

}


.short-answer-guide strong {

    color: var(--question-800);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 20px;

}


.short-answer-guide span {

    color: #65596f;

    font-size: 14px;

    font-weight: 800;

}


/* ==================================================
   ACTIVITY INSTRUCTION
================================================== */

.activity-instruction {

    max-width: 760px;

    margin:
        8px
        auto
        24px;

    color: #60536e;

    font-weight: 700;

    line-height: 1.65;

    text-align: center;

}


/* ==================================================
   QUESTION SCANNER
================================================== */

.question-scanner {

    max-width: 720px;

    margin: 0 auto;

    padding: 25px;

    border:
        2px solid
        rgba(110, 81, 157, 0.14);

    border-radius: 30px;

    background:
        linear-gradient(
            145deg,
            #f9f6fd,
            #e5daf4
        );

    box-shadow:
        0 17px 36px
        rgba(74, 51, 104, 0.09);

}


.machine-progress {

    margin-bottom: 14px;

    color: var(--question-800);

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 1px;

    text-align: center;

    text-transform: uppercase;

}


.scanner-display {

    min-height: 250px;

    padding: 25px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 16px;

    border: 4px solid white;

    border-radius: 25px;

    background: white;

    box-shadow:
        0 13px 28px
        rgba(71, 49, 102, 0.09);

    text-align: center;

}


.scanner-icon {

    display: block;

    font-size: 68px;

    line-height: 1;

}


.scanner-display strong {

    max-width: 580px;

    color: var(--ink);

    font-family:
        "Fredoka",
        sans-serif;

    font-size:
        clamp(24px, 5vw, 34px);

    line-height: 1.3;

}


.scanner-options {

    margin-top: 18px;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;

}


.scanner-option,
.scanner-options button {

    min-height: 58px;

    padding: 14px;

    cursor: pointer;

    border:
        2px solid
        transparent;

    border-radius: 16px;

    background: white;

    color: #544861;

    font:
        800
        15px
        "Manrope",
        sans-serif;

    box-shadow:
        0 7px 17px
        rgba(72, 50, 101, 0.07);

    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        background 0.2s ease;

}


.scanner-options button:hover:not(:disabled) {

    transform: translateY(-2px);

    border-color:
        var(--question-400);

}


.scanner-options button:disabled {

    cursor: default;

}


/* ==================================================
   CORRECT / WRONG
================================================== */

.correct-option,
.correct-choice,
.scanner-options button.correct-option,
.game-choice-grid button.correct-option {

    border-color:
        #56ad6c !important;

    background:
        #eaf8ed !important;

    color:
        #29673a !important;

}


.wrong-option,
.wrong-choice,
.scanner-options button.wrong-option,
.game-choice-grid button.wrong-option {

    border-color:
        #d67870 !important;

    background:
        #fff0ee !important;

    color:
        #963f38 !important;

}


.feedback-correct {

    color: #317344;

    font-weight: 800;

}


.feedback-wrong {

    color: #9b4941;

    font-weight: 800;

}


/* ==================================================
   VIDEO
================================================== */

.video-intro {

    max-width: 740px;

    margin-left: auto;

    margin-right: auto;

    color: #62566d;

    line-height: 1.66;

    text-align: center;

}


/* ==================================================
   EXTERNAL GAMES
================================================== */

.compact-games-grid {

    margin-top: 28px;

}


/* ==================================================
   GAME WORKSPACE
================================================== */

.game-prompt {

    margin: 18px auto;

    padding: 21px;

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f5f1fa
        );

    color: var(--question-900);

    font:
        700
        clamp(20px, 4vw, 28px)
        "Fredoka",
        sans-serif;

    line-height: 1.4;

    text-align: center;

    box-shadow:
        0 8px 20px
        rgba(73, 51, 103, 0.05);

}


.game-prompt .ukrainian-instruction {

    font-family:
        "Manrope",
        sans-serif;

    font-size: 14px;

    font-weight: 700;

}


.game-object-picture {

    display: block;

    margin-bottom: 11px;

    font-size: 50px;

}


/* ==================================================
   GAME CHOICES
================================================== */

.game-choice-grid {

    display: grid;

    gap: 11px;

}


.game-choice-grid button {

    min-height: 56px;

    padding: 14px 16px;

    cursor: pointer;

    border:
        2px solid
        transparent;

    border-radius: 14px;

    background: white;

    color: #52465f;

    font:
        800
        15px
        "Manrope",
        sans-serif;

    box-shadow:
        0 6px 15px
        rgba(73, 51, 103, 0.07);

    transition:
        transform 0.2s ease,
        border-color 0.2s ease;

}


.game-choice-grid button:hover:not(:disabled) {

    transform: translateY(-2px);

    border-color:
        var(--question-400);

}


.game-choice-grid button:disabled {

    cursor: default;

}


/* ==================================================
   QUESTION TRANSFORM CARD
================================================== */

.question-transform-card {

    margin: 18px auto;

    padding: 22px;

    border:
        2px solid
        rgba(109, 80, 156, 0.12);

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f1ebf8
        );

    text-align: center;

}


.question-transform-card > span {

    display: block;

    margin-bottom: 11px;

    font-size: 47px;

}


.question-transform-card small {

    display: block;

    margin-bottom: 7px;

    color: #85798f;

    font-size: 11px;

    font-weight: 900;

    letter-spacing: 0.8px;

}


.question-transform-card strong {

    display: block;

    color: var(--question-900);

    font-family:
        "Fredoka",
        sans-serif;

    font-size:
        clamp(21px, 4vw, 28px);

    line-height: 1.4;

}


/* ==================================================
   GRAMMAR REPAIR
================================================== */

.grammar-repair-card {

    margin: 18px auto;

    padding: 22px;

    border:
        2px solid
        rgba(195, 101, 91, 0.13);

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #fffafa,
            #fff0ed
        );

    text-align: center;

}


.grammar-repair-card > span {

    display: block;

    margin-bottom: 12px;

    font-size: 47px;

}


.grammar-repair-card strong {

    display: block;

    color: #7f4039;

    font-family:
        "Fredoka",
        sans-serif;

    font-size:
        clamp(21px, 4vw, 28px);

}


.grammar-repair-card small {

    display: block;

    margin-top: 8px;

    color: #826d6a;

    font-size: 13px;

    font-weight: 700;

}


/* ==================================================
   WORD BUILDER
================================================== */

.word-answer-zone,
.word-bank {

    min-height: 82px;

    margin: 14px 0;

    padding: 16px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-wrap: wrap;

    gap: 9px;

    border-radius: 20px;

}


.word-answer-zone {

    border:
        2px dashed
        var(--question-500);

    background: #f7f3fc;

}


.word-answer-zone:empty::before {

    content:
        "Натискай на слова, щоб скласти запитання";

    color: #91849e;

    font-size: 13px;

    font-weight: 700;

    text-align: center;

}


.word-bank {

    background: #ebe3f6;

}


.word-answer-zone button,
.word-bank button {

    padding: 12px 15px;

    cursor: pointer;

    border:
        2px solid
        transparent;

    border-radius: 13px;

    background: white;

    color: #50445d;

    font:
        800
        15px
        "Manrope",
        sans-serif;

    box-shadow:
        0 6px 14px
        rgba(72, 50, 101, 0.07);

    transition: 0.2s ease;

}


.word-answer-zone button:hover:not(:disabled),
.word-bank button:hover:not(:disabled) {

    transform: translateY(-2px);

    border-color:
        var(--question-400);

}


/* ==================================================
   SHORT ANSWER GAME
================================================== */

.short-answer-game-card {

    margin: 18px auto;

    padding: 22px;

    border:
        2px solid
        rgba(107, 81, 151, 0.12);

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f4effa
        );

    text-align: center;

}


.short-answer-game-card span {

    display: block;

    margin-bottom: 11px;

    font-size: 45px;

}


.short-answer-game-card strong {

    color: var(--question-900);

    font-family:
        "Fredoka",
        sans-serif;

    font-size:
        clamp(21px, 4vw, 27px);

}


/* ==================================================
   FINAL QUESTION MISSION
================================================== */

.question-story {

    margin: 18px auto;

    padding: 22px;

    border:
        1px solid
        rgba(107, 81, 151, 0.12);

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f4effa
        );

}


.question-story p {

    margin: 11px 0;

    padding: 12px 13px;

    border-radius: 13px;

    background: rgba(255, 255, 255, 0.88);

    color: #54495f;

    font-size: 15px;

    font-weight: 700;

    line-height: 1.7;

}


.question-story select {

    margin: 4px 5px;

    padding: 8px 11px;

    border:
        2px solid
        var(--question-400);

    border-radius: 10px;

    outline: none;

    background: white;

    color: var(--question-900);

    font:
        800
        14px
        "Manrope",
        sans-serif;

}


.question-story select:focus {

    border-color:
        var(--question-600);

    box-shadow:
        0 0 0 3px
        rgba(138, 105, 186, 0.12);

}


/* ==================================================
   REVIEW
================================================== */

.review-rule-row {

    max-width: 800px;

    margin: 25px auto;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px;

}


.review-rule-row article {

    min-height: 155px;

    padding: 20px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 7px;

    border:
        1px solid
        rgba(106, 80, 150, 0.11);

    border-radius: 21px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f3eef9
        );

    text-align: center;

    box-shadow:
        0 8px 20px
        rgba(73, 51, 103, 0.05);

}


.review-rule-row article > span {

    min-width: 82px;

    padding: 9px 14px;

    border-radius: 999px;

    background: #e7def3;

    color: var(--question-800);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 18px;

    font-weight: 700;

}


.review-rule-row strong {

    color: var(--question-900);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 19px;

}


.review-rule-row p {

    margin: 0;

    color: #6b5f76;

    font-size: 14px;

    font-weight: 800;

}


/* ==================================================
   REVIEW FORMULA
================================================== */

.review-formula-card {

    max-width: 760px;

    margin: 24px auto;

    padding: 21px;

    border:
        2px solid
        rgba(109, 80, 157, 0.12);

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            #f8f5fc,
            #e9e1f5
        );

    text-align: center;

}


.review-formula-card small {

    display: block;

    margin-bottom: 8px;

    color: #82748f;

    font-size: 11px;

    font-weight: 900;

    letter-spacing: 0.9px;

}


.review-formula-card strong {

    color: var(--question-900);

    font-family:
        "Fredoka",
        sans-serif;

    font-size:
        clamp(20px, 4vw, 26px);

}


/* ==================================================
   REVIEW EXAMPLE
================================================== */

.review-example-stack {

    max-width: 650px;

    margin: 25px auto;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 10px;

}


.review-example-stack > div:not(.review-arrow) {

    width: 100%;

    padding: 17px;

    border-radius: 18px;

    background: white;

    text-align: center;

    box-shadow:
        0 7px 18px
        rgba(73, 51, 103, 0.05);

}


.review-example-stack span {

    display: block;

    margin-bottom: 5px;

    color: #857991;

    font-size: 11px;

    font-weight: 900;

    letter-spacing: 0.7px;

    text-transform: uppercase;

}


.review-example-stack strong {

    color: var(--question-900);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 20px;

}


.review-arrow {

    color: var(--question-700);

    font-size: 28px;

    font-weight: 900;

}


/* ==================================================
   SHORT ANSWER REVIEW
================================================== */

.short-answer-review {

    max-width: 800px;

    margin: 25px auto;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px;

}


.short-answer-review article {

    min-height: 180px;

    padding: 20px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 7px;

    border:
        1px solid
        rgba(105, 79, 150, 0.11);

    border-radius: 21px;

    background: white;

    text-align: center;

    box-shadow:
        0 8px 20px
        rgba(73, 51, 103, 0.05);

}


.short-answer-review small {

    color: #857991;

    font-size: 11px;

    font-weight: 900;

    letter-spacing: 0.8px;

}


.short-answer-review strong {

    color: var(--question-900);

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 19px;

}


.short-answer-review span {

    color: #65596f;

    font-size: 14px;

    font-weight: 800;

}


/* ==================================================
   QUESTION CHECKLIST
================================================== */

.question-checklist {

    max-width: 800px;

    margin: 27px auto;

    padding: 22px;

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #fffaf0,
            #fff3d9
        );

}


.question-checklist h3 {

    margin:
        0
        0
        15px;

    color: #755c2e;

    font-family:
        "Fredoka",
        sans-serif;

    font-size: 21px;

    text-align: center;

}


.checklist-items {

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;

}


.checklist-items span {

    min-height: 55px;

    padding: 13px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 13px;

    background: white;

    color: #65573e;

    font-size: 14px;

    font-weight: 800;

    text-align: center;

}


/* ==================================================
   FINISH MINI SECTION
================================================== */

.finish-mini-section {

    max-width: 760px;

    margin:
        34px
        auto
        0;

    padding:
        29px
        24px;

    border:
        2px solid
        rgba(109, 81, 156, 0.12);

    border-radius: 28px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #eee8f8
        );

    text-align: center;

    box-shadow:
        0 13px 30px
        rgba(73, 51, 103, 0.07);

}


.finish-mini-section .finish-trophy {

    margin-bottom: 10px;

    font-size: 58px;

}


.finish-mini-section > h2 {

    margin:
        7px
        0
        8px;

    color: var(--question-900);

}


.finish-mini-section > p {

    max-width: 550px;

    margin:
        0
        auto
        20px;

    color: #6a5e74;

    font-weight: 700;

    line-height: 1.6;

}


/* ==================================================
   SPEAK BUTTON
================================================== */

.speak-button.speaking {

    transform: scale(1.08);

}


/* ==================================================
   HIDDEN BUTTON
================================================== */

.hidden-button {

    display: none !important;

}


/* ==================================================
   CLEAN SPACING BETWEEN THEORY BLOCKS
================================================== */

.rule-page .explanation-card +
.statement-question-demo {

    margin-top: 28px;

}


.rule-page .statement-question-demo +
.important-note {

    margin-top: 26px;

}


.rule-page .helper-rule-card +
.helper-rule-card {

    margin-top: 15px;

}


.rule-page .comparison-grid +
.golden-tip {

    margin-top: 28px;

}


.rule-page .question-formula +
.formula-example {

    margin-top: 5px;

}


.rule-page .formula-example +
.super-important-rule {

    margin-top: 30px;

}


.rule-page .super-important-rule +
.verb-return-table {

    margin-top: 29px;

}


.rule-page .verb-return-table +
.mistake-box {

    margin-top: 28px;

}


.rule-page .mistake-box +
.question-steps {

    margin-top: 29px;

}


/* ==================================================
   RESPONSIVE — 900px
================================================== */

@media (max-width: 900px) {

    .question-steps {

        grid-template-columns: 1fr;

        max-width: 620px;

    }


    .question-steps .step-arrow {

        transform: rotate(90deg);

    }

}


/* ==================================================
   RESPONSIVE — 760px
================================================== */

@media (max-width: 760px) {

    .question-preview {

        grid-template-columns: 1fr;

    }


    .statement-question-demo {

        grid-template-columns: 1fr;

    }


    .question-change-arrow {

        transform: rotate(90deg);

    }


    .sentence-examples {

        grid-template-columns: 1fr;

    }


    .helper-rule-top {

        flex-direction: column;

        align-items: stretch;

        text-align: center;

    }


    .helper-badge {

        width: 100%;

    }


    .helper-example-grid {

        grid-template-columns: 1fr;

    }


    .comparison-grid {

        grid-template-columns: 1fr;

    }


    .question-formula {

        flex-direction: column;

    }


    .formula-helper,
    .formula-subject,
    .formula-verb,
    .formula-question-mark {

        width: 100%;

    }


    .formula-plus {

        transform: rotate(90deg);

    }


    .formula-example {

        flex-direction: column;

    }


    .formula-example span,
    .formula-example strong {

        width: 100%;

    }


    .super-important-rule {

        grid-template-columns: 1fr;

    }


    .super-rule-icon {

        margin: 0 auto;

    }


    .verb-return-heading,
    .verb-return-row {

        grid-template-columns: 1fr;

    }


    .verb-return-row span:first-child {

        border-bottom:
            1px solid
            rgba(103, 80, 137, 0.08);

    }


    .mistake-pair {

        grid-template-columns: 1fr;

    }


    .short-answer-options {

        grid-template-columns: 1fr;

    }


    .short-answer-guide {

        grid-template-columns: 1fr;

    }


    .review-rule-row {

        grid-template-columns: 1fr;

    }


    .short-answer-review {

        grid-template-columns: 1fr;

    }


    .checklist-items {

        grid-template-columns: 1fr;

    }


    .important-note {

        grid-template-columns: 1fr;

    }


    .important-note > span {

        text-align: center;

    }

}


/* ==================================================
   RESPONSIVE — 540px
================================================== */

@media (max-width: 540px) {

    .explanation-card {

        padding: 18px;

    }


    .explanation-card > p:first-child {

        font-size: 18px;

    }


    .ukrainian-explanation,
    .ukrainian-instruction {

        font-size: 14px;

        line-height: 1.67;

    }


    .statement-question-demo article {

        min-height: 165px;

        padding: 18px;

    }


    .helper-rule-card {

        padding: 18px;

    }


    .helper-rule-top h3 {

        font-size: 21px;

    }


    .comparison-grid article {

        min-height: 140px;

    }


    .question-formula {

        padding: 18px;

    }


    .super-important-rule {

        padding: 19px;

    }


    .super-important-rule h3 {

        font-size: 20px;

    }


    .super-rule-icon {

        width: 62px;

        height: 62px;

        font-size: 33px;

    }


    .verb-return-row span {

        padding: 14px;

        font-size: 14px;

    }


    .short-answer-section {

        padding: 16px;

    }


    .short-answer-question {

        flex-direction: column;

    }


    .question-scanner {

        padding: 17px;

    }


    .scanner-display {

        min-height: 210px;

        padding: 18px;

    }


    .scanner-icon {

        font-size: 58px;

    }


    .scanner-options {

        grid-template-columns: 1fr;

    }


    .sentence-examples article {

        grid-template-columns:
            auto
            1fr;

    }


    .sentence-examples .speak-button {

        grid-column:
            1 / -1;

        justify-self: center;

    }


    .question-steps article {

        min-height: 145px;

    }


    .mistake-box {

        padding: 17px;

    }


    .question-checklist {

        padding: 17px;

    }


    .finish-mini-section {

        padding:
            24px
            18px;

    }

}