/* ==========================================================
   BELAJAREDUTECH
   PECAHAN SEDERHANA - MATEMATIKA KELAS 3
========================================================== */

.fraction-grade-three-page {
    --fraction-accent: #7c3aed;
    --fraction-accent-dark: #6d28d9;
    --fraction-accent-soft: #f5f3ff;
    --fraction-secondary: #0f766e;
    --fraction-blue: #2563eb;
}



/* ==========================================================
   HERO
========================================================== */

.fraction-hero {
    background:
        radial-gradient(
            circle at 86% 18%,
            rgba(124, 58, 237, 0.12),
            transparent 31%
        ),
        radial-gradient(
            circle at 12% 88%,
            rgba(15, 118, 110, 0.08),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #fbf9ff,
            #ffffff
        );
}


.fraction-hero-card {
    min-height: 420px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding: 38px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--fraction-accent),
            var(--fraction-secondary)
        );

    border-radius:
        var(--radius-extra-large, 28px);

    box-shadow:
        var(
            --shadow-large,
            0 30px 80px rgba(15, 23, 42, 0.18)
        );

    text-align: center;
}


.fraction-hero-label {
    margin-bottom: 22px;

    color:
        rgba(255, 255, 255, 0.72);

    font-size: 0.68rem;

    font-weight: 850;

    text-transform: uppercase;

    letter-spacing: 0.08em;
}


.fraction-hero-parts {
    width: 280px;

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 7px;

    margin-bottom: 25px;

    padding: 14px;

    background:
        rgba(255, 255, 255, 0.1);

    border:
        1px solid
        rgba(255, 255, 255, 0.14);

    border-radius:
        var(--radius-medium, 14px);
}


.fraction-hero-parts span {
    height: 70px;

    display: block;

    background:
        rgba(255, 255, 255, 0.16);

    border:
        2px solid
        rgba(255, 255, 255, 0.45);

    border-radius: 8px;
}


.fraction-hero-parts
span.filled {
    background: #ffffff;
}


.fraction-hero-number {
    width: 70px;

    display: grid;

    gap: 5px;

    margin-bottom: 9px;

    font-size: 1.7rem;

    font-weight: 900;
}


.fraction-hero-number i {
    width: 100%;
    height: 3px;

    display: block;

    background: #ffffff;

    border-radius: 999px;
}


.fraction-hero-card > strong {
    color:
        rgba(255, 255, 255, 0.78);

    font-size: 0.72rem;
}



/* ==========================================================
   INTRO
========================================================== */

.fraction-intro-visual {
    min-height: 350px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding: 35px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--fraction-secondary),
            #0891b2
        );
}


.half-example {
    width: 260px;

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 6px;

    margin-bottom: 25px;

    padding: 13px;

    background:
        rgba(255, 255, 255, 0.1);

    border-radius:
        var(--radius-medium, 14px);
}


.half-example span {
    height: 120px;

    background:
        rgba(255, 255, 255, 0.16);

    border:
        2px solid
        rgba(255, 255, 255, 0.4);

    border-radius: 9px;
}


.half-example span.filled {
    background: #ffffff;
}


.fraction-intro-equation {
    text-align: center;
}


.fraction-intro-equation span,
.fraction-intro-equation strong {
    display: block;
}


.fraction-intro-equation span {
    margin-bottom: 6px;

    color:
        rgba(255, 255, 255, 0.7);

    font-size: 0.66rem;
}


.fraction-intro-equation strong {
    font-size: 1.5rem;
}



/* ==========================================================
   COMMON PARTS
========================================================== */

.two-parts {
    grid-template-columns:
        repeat(2, 1fr);
}


.three-parts {
    grid-template-columns:
        repeat(3, 1fr);
}


.four-parts {
    grid-template-columns:
        repeat(4, 1fr);
}



/* ==========================================================
   EQUAL PARTS
========================================================== */

.equal-parts-section {
    background:
        var(--color-background, #ffffff);
}


.equal-parts-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 18px;
}


.equal-part-card {
    padding: 25px;

    background:
        var(--color-background-soft, #f8fafc);

    border:
        1px solid
        var(--color-border, #e2e8f0);

    border-radius:
        var(--radius-large, 20px);

    text-align: center;
}


.equal-part-visual {
    min-height: 140px;

    display: grid;

    gap: 6px;

    margin-bottom: 20px;

    padding: 15px;

    background: #ffffff;

    border-radius:
        var(--radius-medium, 14px);
}


.equal-part-visual span {
    background:
        var(--fraction-accent-soft);

    border:
        2px solid #ddd6fe;

    border-radius: 7px;
}


.equal-part-visual span.filled {
    background:
        var(--fraction-accent);

    border-color:
        var(--fraction-accent);
}


.equal-part-card h3 {
    margin-bottom: 12px;
}


.fraction-symbol-small {
    width: 45px;

    display: grid;

    gap: 3px;

    margin:
        0 auto 12px;

    color:
        var(--fraction-accent);

    font-size: 1rem;

    font-weight: 900;
}


.fraction-symbol-small i {
    height: 2px;

    display: block;

    background:
        var(--fraction-accent);
}


.equal-part-card p {
    margin: 0;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.75rem;
}



/* ==========================================================
   EQUAL WARNING
========================================================== */

.equal-warning-section {
    background:
        var(--color-background-soft, #f8fafc);
}


.equal-warning-wrapper,
.fraction-model-wrapper,
.unit-fraction-wrapper {
    display: grid;

    grid-template-columns:
        minmax(0, 0.75fr)
        minmax(500px, 1.25fr);

    align-items: center;

    gap: 70px;
}


.equal-warning-content h2,
.fraction-model-content h2,
.unit-fraction-content h2 {
    margin-bottom: 18px;

    font-size:
        clamp(
            2.2rem,
            4vw,
            3.5rem
        );

    letter-spacing: -0.04em;
}


.equal-warning-content p,
.fraction-model-content p,
.unit-fraction-content p {
    color:
        var(--color-text-muted, #64748b);

    line-height: 1.8;
}


.equal-warning-card {
    padding: 27px;

    background: #ffffff;

    border:
        1px solid
        var(--color-border, #e2e8f0);

    border-radius:
        var(--radius-large, 20px);
}


.correct-equal-parts {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 5px;

    margin-bottom: 10px;
}


.correct-equal-parts span {
    height: 70px;

    background:
        var(--fraction-accent);

    border-radius: 6px;
}


.equal-warning-card > strong {
    display: block;

    margin-bottom: 22px;

    color:
        var(--fraction-secondary);

    font-size: 0.7rem;
}


.unequal-parts {
    display: grid;

    grid-template-columns:
        1fr 2fr 0.7fr;

    gap: 5px;

    margin-bottom: 10px;
}


.unequal-parts span {
    height: 70px;

    background:
        #f97316;

    border-radius: 6px;
}


.equal-warning-card
.warning-text {
    margin-bottom: 0;

    color: #c2410c;
}



/* ==========================================================
   FRACTION ANATOMY
========================================================== */

.fraction-anatomy-section {
    background:
        var(--color-background, #ffffff);
}


.fraction-anatomy-card {
    max-width: 850px;

    display: grid;

    grid-template-columns:
        0.65fr 1.35fr;

    align-items: center;

    gap: 40px;

    margin-inline: auto;

    padding: 30px;

    background:
        var(--fraction-accent-soft);

    border:
        1px solid #ddd6fe;

    border-radius:
        var(--radius-extra-large, 28px);
}


.fraction-anatomy-symbol {
    width: 150px;

    display: grid;

    gap: 8px;

    margin-inline: auto;

    color:
        var(--fraction-accent);

    font-size: 4rem;

    font-weight: 900;

    text-align: center;
}


.fraction-anatomy-symbol i {
    width: 100%;
    height: 5px;

    display: block;

    background:
        var(--fraction-accent);

    border-radius: 999px;
}


.fraction-anatomy-explanation {
    display: grid;

    gap: 12px;
}


.fraction-anatomy-explanation > div {
    display: grid;

    grid-template-columns:
        46px 1fr;

    gap: 13px;

    padding: 16px;

    background: #ffffff;

    border-radius:
        var(--radius-medium, 14px);
}


.anatomy-index {
    width: 42px;
    height: 42px;

    display: grid;

    place-items: center;

    color: #ffffff;

    background:
        var(--fraction-accent);

    border-radius: 50%;

    font-weight: 900;
}


.fraction-anatomy-explanation h3 {
    margin-bottom: 5px;
}


.fraction-anatomy-explanation p {
    margin: 0;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.74rem;

    line-height: 1.6;
}


.fraction-anatomy-example {
    max-width: 850px;

    margin:
        18px auto 0;

    padding: 24px;

    background:
        var(--color-background-soft, #f8fafc);

    border:
        1px solid
        var(--color-border, #e2e8f0);

    border-radius:
        var(--radius-large, 20px);

    text-align: center;
}


.anatomy-bar {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 5px;

    max-width: 550px;

    margin:
        0 auto 18px;
}


.anatomy-bar span {
    height: 70px;

    background:
        var(--fraction-accent-soft);

    border:
        2px solid #ddd6fe;

    border-radius: 7px;
}


.anatomy-bar span.filled {
    background:
        var(--fraction-accent);

    border-color:
        var(--fraction-accent);
}


.fraction-anatomy-example p {
    color:
        var(--color-text-muted, #64748b);
}


.fraction-anatomy-example > strong {
    color:
        var(--fraction-accent-dark);
}



/* ==========================================================
   FRACTION MODEL
========================================================== */

.fraction-model-section {
    background:
        var(--color-background-soft, #f8fafc);
}


.fraction-model-card {
    padding: 28px;

    background: #ffffff;

    border:
        1px solid
        var(--color-border, #e2e8f0);

    border-radius:
        var(--radius-large, 20px);

    text-align: center;
}


.fraction-model-bar {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 6px;

    margin-bottom: 22px;
}


.fraction-model-bar span {
    height: 100px;

    background:
        var(--fraction-accent-soft);

    border:
        2px solid #ddd6fe;

    border-radius: 8px;
}


.fraction-model-bar span.filled {
    background:
        var(--fraction-accent);

    border-color:
        var(--fraction-accent);
}


.fraction-model-number {
    width: 60px;

    display: grid;

    gap: 5px;

    margin:
        0 auto 15px;

    color:
        var(--fraction-accent);

    font-size: 1.6rem;

    font-weight: 900;
}


.fraction-model-number i {
    height: 3px;

    display: block;

    background:
        var(--fraction-accent);
}


.fraction-model-card p {
    margin: 0;

    color:
        var(--color-text-muted, #64748b);
}



/* ==========================================================
   COMPARE
========================================================== */

.compare-fraction-section {
    background:
        var(--color-background, #ffffff);
}


.same-denominator-card {
    max-width: 850px;

    display: grid;

    grid-template-columns:
        1fr auto 1fr;

    align-items: center;

    gap: 20px;

    margin-inline: auto;

    padding: 30px;

    background:
        var(--color-background-soft, #f8fafc);

    border:
        1px solid
        var(--color-border, #e2e8f0);

    border-radius:
        var(--radius-extra-large, 28px);
}


.fraction-comparison-item {
    text-align: center;
}


.comparison-bar {
    display: grid;

    gap: 5px;

    margin-bottom: 14px;
}


.comparison-bar span {
    height: 80px;

    background:
        var(--fraction-accent-soft);

    border:
        2px solid #ddd6fe;

    border-radius: 7px;
}


.comparison-bar span.filled {
    background:
        var(--fraction-accent);

    border-color:
        var(--fraction-accent);
}


.fraction-comparison-item strong {
    color:
        var(--fraction-accent);

    font-size: 1.3rem;
}


.fraction-comparison-symbol {
    color:
        var(--fraction-accent);

    font-size: 2rem;

    font-weight: 900;
}


.comparison-explanation {
    max-width: 850px;

    margin:
        15px auto 0;

    padding: 18px;

    color:
        var(--color-text-muted, #64748b);

    background:
        var(--fraction-accent-soft);

    border-radius:
        var(--radius-large, 20px);

    text-align: center;
}


.comparison-explanation > strong {
    display: block;

    margin-bottom: 6px;

    color:
        var(--fraction-accent-dark);

    font-size: 1.1rem;
}


.comparison-explanation p {
    margin: 0;
}



/* ==========================================================
   UNIT FRACTIONS
========================================================== */

.unit-fraction-section {
    background:
        var(--color-background-soft, #f8fafc);
}


.unit-fraction-card {
    padding: 28px;

    background: #ffffff;

    border:
        1px solid
        var(--color-border, #e2e8f0);

    border-radius:
        var(--radius-large, 20px);
}


.unit-fraction-card > div {
    display: grid;

    grid-template-columns:
        70px 1fr;

    align-items: center;

    gap: 12px;

    margin-bottom: 14px;
}


.unit-fraction-card > div > strong {
    color:
        var(--fraction-accent);

    font-size: 1rem;
}


.unit-bar {
    display: grid;

    gap: 5px;
}


.unit-bar span {
    height: 50px;

    background:
        var(--fraction-accent-soft);

    border:
        2px solid #ddd6fe;

    border-radius: 6px;
}


.unit-bar span.filled {
    background:
        var(--fraction-accent);

    border-color:
        var(--fraction-accent);
}


.unit-fraction-card > p {
    margin:
        22px 0 0;

    padding: 15px;

    color:
        var(--color-text-muted, #64748b);

    background:
        var(--fraction-accent-soft);

    border-radius:
        var(--radius-medium, 14px);

    text-align: center;
}



/* ==========================================================
   NUMBER LINE
========================================================== */

.fraction-number-line-section {
    background:
        var(--color-background, #ffffff);
}


.fraction-number-line-card {
    max-width: 950px;

    margin-inline: auto;

    padding: 30px;

    background:
        var(--color-background-soft, #f8fafc);

    border:
        1px solid
        var(--color-border, #e2e8f0);

    border-radius:
        var(--radius-extra-large, 28px);
}


.number-line-half {
    margin-bottom: 35px;
}


.number-line-title {
    display: block;

    margin-bottom: 20px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.65rem;

    font-weight: 800;
}


.number-line-track {
    display: flex;

    align-items: flex-start;
}


.number-line-point {
    min-width: 55px;

    display: flex;
    flex-direction: column;

    align-items: center;
}


.number-line-point i {
    width: 15px;
    height: 15px;

    display: block;

    margin-bottom: 8px;

    background: #ffffff;

    border:
        3px solid
        var(--fraction-accent);

    border-radius: 50%;
}


.number-line-point.highlighted i {
    background:
        var(--fraction-accent);
}


.number-line-point strong {
    color:
        var(--color-text-secondary, #334155);

    font-size: 0.7rem;
}


.number-line-segment {
    flex: 1;

    height: 3px;

    margin-top: 6px;

    background:
        var(--fraction-accent);
}


.number-line-note {
    margin-top: 28px;

    padding: 15px;

    color:
        var(--color-text-muted, #64748b);

    background: #ffffff;

    border-radius:
        var(--radius-medium, 14px);

    text-align: center;
}


.number-line-note p {
    margin: 0;
}



/* ==========================================================
   INTERACTIVE
========================================================== */

.fraction-interactive-section {
    color: #ffffff;

    background: #0f172a;
}


.fraction-interactive-section
.section-eyebrow {
    color: #c4b5fd;
}


.fraction-interactive-section
.section-header p {
    color: #94a3b8;
}


.fraction-lab {
    max-width: 950px;

    margin-inline: auto;

    padding: 30px;

    background:
        rgba(255, 255, 255, 0.06);

    border:
        1px solid
        rgba(255, 255, 255, 0.1);

    border-radius:
        var(--radius-extra-large, 28px);
}


.fraction-lab-controls {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 12px;

    margin-bottom: 15px;
}


.fraction-control-card {
    min-height: 220px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding: 20px;

    color:
        var(--color-text-secondary, #334155);

    background: #ffffff;

    border-radius:
        var(--radius-large, 20px);
}


.fraction-control-card > span {
    margin-bottom: 8px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.63rem;

    font-weight: 850;

    text-transform: uppercase;

    text-align: center;
}


.fraction-control-card > strong {
    color:
        var(--fraction-accent);

    font-size: 3rem;
}


.fraction-control-card > small {
    margin-bottom: 14px;

    color:
        var(--color-text-muted, #64748b);
}


.fraction-control-card > div {
    display: flex;

    gap: 8px;
}


.fraction-control-card button {
    width: 44px;
    height: 44px;

    display: grid;

    place-items: center;

    color:
        var(--fraction-accent);

    background:
        var(--fraction-accent-soft);

    border:
        1px solid #ddd6fe;

    border-radius: 10px;

    font-size: 1.2rem;

    font-weight: 900;
}


.fraction-control-card button:disabled {
    opacity: 0.35;

    cursor: not-allowed;
}



/* VISUAL */

.fraction-lab-visual {
    margin-bottom: 15px;

    padding: 25px;

    background:
        rgba(255, 255, 255, 0.06);

    border:
        1px solid
        rgba(255, 255, 255, 0.09);

    border-radius:
        var(--radius-large, 20px);
}


.fraction-lab-label {
    display: block;

    margin-bottom: 20px;

    color: #94a3b8;

    font-size: 0.62rem;

    font-weight: 850;

    text-align: center;

    text-transform: uppercase;
}


.generated-fraction-bar {
    --fraction-columns: 4;

    display: grid;

    grid-template-columns:
        repeat(
            var(--fraction-columns),
            minmax(0, 1fr)
        );

    gap: 7px;
}


.generated-fraction-part {
    min-height: 120px;

    background:
        rgba(255, 255, 255, 0.08);

    border:
        2px solid
        rgba(255, 255, 255, 0.18);

    border-radius: 10px;

    transition:
        background 0.2s ease,
        border-color 0.2s ease;
}


.generated-fraction-part.filled {
    background: #c4b5fd;

    border-color: #ddd6fe;
}



/* RESULT */

.fraction-lab-result {
    display: grid;

    grid-template-columns:
        0.6fr 1.4fr;

    align-items: center;

    gap: 20px;

    margin-bottom: 12px;

    padding: 25px;

    color:
        var(--color-text-secondary, #334155);

    background: #ffffff;

    border-radius:
        var(--radius-large, 20px);
}


.live-fraction-symbol {
    width: 110px;

    display: grid;

    gap: 6px;

    margin-inline: auto;

    color:
        var(--fraction-accent);

    font-size: 2.8rem;

    font-weight: 900;

    text-align: center;
}


.live-fraction-symbol i {
    height: 4px;

    display: block;

    background:
        var(--fraction-accent);

    border-radius: 999px;
}


.live-fraction-information > span {
    display: block;

    margin-bottom: 5px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.61rem;

    text-transform: uppercase;
}


.live-fraction-information > strong {
    display: block;

    margin-bottom: 7px;

    color:
        var(--fraction-accent);

    font-size: 1.25rem;
}


.live-fraction-information p {
    margin: 0;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.76rem;
}


.fraction-status {
    margin-bottom: 18px;

    padding: 13px;

    color: #c4b5fd;

    background:
        rgba(124, 58, 237, 0.1);

    border:
        1px solid
        rgba(196, 181, 253, 0.2);

    border-radius: 10px;

    text-align: center;

    font-size: 0.75rem;
}


.fraction-status.whole {
    color: #6ee7b7;

    background:
        rgba(16, 185, 129, 0.08);

    border-color:
        rgba(16, 185, 129, 0.2);
}


.fraction-lab-actions {
    text-align: center;
}


.fraction-reset-button {
    color: #ffffff;

    background:
        rgba(255, 255, 255, 0.07);

    border:
        1px solid
        rgba(255, 255, 255, 0.14);
}



/* ==========================================================
   STORY
========================================================== */

.fraction-story-section {
    background:
        var(--color-background, #ffffff);
}


.fraction-story-card {
    padding: 28px;

    background:
        var(--color-background-soft, #f8fafc);

    border:
        1px solid
        var(--color-border, #e2e8f0);

    border-radius:
        var(--radius-large, 20px);
}


.fraction-story-label {
    display: block;

    margin-bottom: 10px;

    color:
        var(--fraction-accent);

    font-size: 0.62rem;

    font-weight: 850;

    text-transform: uppercase;
}


.fraction-story-card > p {
    color:
        var(--color-text-secondary, #334155);

    line-height: 1.7;
}


.story-fraction-bar {
    display: grid;

    grid-template-columns:
        repeat(8, 1fr);

    gap: 5px;

    margin:
        22px 0;
}


.story-fraction-bar span {
    height: 60px;

    background: #ffffff;

    border:
        2px solid #ddd6fe;

    border-radius: 6px;
}


.story-fraction-bar span.filled {
    background:
        var(--fraction-accent);

    border-color:
        var(--fraction-accent);
}


.fraction-story-solution {
    display: grid;

    grid-template-columns:
        auto 1fr;

    gap:
        8px 15px;

    padding: 17px;

    background: #ffffff;

    border-radius:
        var(--radius-medium, 14px);
}


.fraction-story-solution span {
    color:
        var(--color-text-muted, #64748b);

    font-size: 0.63rem;
}


.fraction-story-solution strong {
    color:
        var(--fraction-accent);
}


.fraction-story-solution p {
    grid-column:
        1 / -1;

    margin:
        8px 0 0;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.74rem;
}



/* ==========================================================
   PRACTICE
========================================================== */

.practice-fraction-bar {
    min-height: 125px;

    display: grid;

    gap: 5px;

    margin-bottom: 22px;

    padding: 15px;

    background:
        var(--color-background-soft, #f8fafc);

    border-radius:
        var(--radius-medium, 14px);
}


.practice-fraction-bar span {
    background: #ffffff;

    border:
        2px solid #ddd6fe;

    border-radius: 7px;
}


.practice-fraction-bar span.filled {
    background:
        var(--fraction-accent);

    border-color:
        var(--fraction-accent);
}


.practice-fraction-compare {
    min-height: 125px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 15px;

    margin-bottom: 22px;

    background:
        var(--color-background-soft, #f8fafc);

    border-radius:
        var(--radius-medium, 14px);
}


.practice-fraction-compare strong {
    color:
        var(--fraction-accent);

    font-size: 1.6rem;
}


.practice-fraction-compare span {
    color:
        var(--color-text-muted, #64748b);

    font-size: 0.66rem;
}



/* ==========================================================
   QUIZ STATES
========================================================== */

.fraction-grade-three-page
.quiz-options button.selected {
    border-color:
        var(--fraction-accent);

    background:
        var(--fraction-accent-soft);
}


.fraction-grade-three-page
.quiz-options button.correct {
    color: #166534;

    background: #dcfce7;

    border-color: #86efac;
}


.fraction-grade-three-page
.quiz-options button.incorrect {
    color: #991b1b;

    background: #fee2e2;

    border-color: #fca5a5;
}



/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 1024px) {

    .equal-warning-wrapper,
    .fraction-model-wrapper,
    .unit-fraction-wrapper {
        grid-template-columns: 1fr;

        gap: 45px;
    }

}



@media (max-width: 860px) {

    .fraction-anatomy-card {
        grid-template-columns: 1fr;
    }


    .fraction-lab-result {
        grid-template-columns: 1fr;

        text-align: center;
    }

}



@media (max-width: 600px) {

    .fraction-hero-card {
        min-height: 370px;

        padding: 25px;
    }


    .fraction-hero-parts {
        width: 100%;
    }


    .equal-parts-grid {
        grid-template-columns: 1fr;
    }


    .fraction-anatomy-symbol {
        width: 110px;

        font-size: 3rem;
    }


    .fraction-anatomy-explanation > div {
        grid-template-columns: 1fr;
    }


    .same-denominator-card {
        grid-template-columns: 1fr;
    }


    .fraction-comparison-symbol {
        transform:
            rotate(90deg);

        text-align: center;
    }


    .unit-fraction-card > div {
        grid-template-columns: 1fr;
    }


    .number-line-point {
        min-width: 38px;
    }


    .number-line-point strong {
        font-size: 0.57rem;
    }


    .fraction-lab {
        padding: 18px;
    }


    .fraction-lab-controls {
        grid-template-columns: 1fr;
    }


    .generated-fraction-part {
        min-height: 85px;
    }


    .story-fraction-bar {
        grid-template-columns:
            repeat(4, 1fr);
    }

}