@font-face{font-family:Poppins;src:url(./Poppins-Regular-B2YTLo9r.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url(./Poppins-Medium-1iPSBYoM.ttf)format("truetype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Poppins;src:url(./Poppins-Bold-CdT-0Mts.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{--lesson-font:"Poppins", "Segoe UI", sans-serif}.lesson-launcher{box-sizing:border-box;color:#17213a;width:min(800px,100% - 40px);font:17px/1.6 var(--lesson-font);margin:clamp(24px,6vh,64px) auto}body:has(.lesson-launcher){background:#fbf7eb;margin:0}.lesson-launcher *,.lesson-launcher :before,.lesson-launcher :after{box-sizing:border-box}.lesson-launcher__intro{text-align:center}.lesson-launcher h1{letter-spacing:-.04em;margin:0 0 16px;font-size:clamp(32px,5vw,46px);line-height:1.15}.lesson-launcher__intro p{margin:0}.lesson-launcher__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0 18px;display:grid}.topic-card{background:#fffdf8;border:1px solid #e1ded6;border-radius:24px;flex-direction:column;min-width:0;padding:10px;display:flex;box-shadow:0 8px 22px #3f331210}.topic-card:focus-within{box-shadow:0 14px 32px #3f331226}.topic-card__body{flex-direction:column;flex:1;gap:12px;padding:14px;display:flex}.topic-card h2{letter-spacing:-.025em;margin:0;font-size:clamp(23px,4vw,29px);font-weight:700;line-height:1.2}.topic-card__description{color:#50526b;min-height:2.9em;margin:0;font-size:14px;line-height:1.45}.topic-card__grade{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.topic-card button{margin-top:auto}.lesson-launcher label{align-items:center;gap:9px;font-size:15px;font-weight:500;display:flex}.lesson-launcher select,.lesson-launcher button{width:100%;min-height:48px;font:inherit;border:1px solid #aeb5c1;border-radius:12px;padding:12px 16px}.lesson-launcher select{color:#17213a;background:#fff;font-weight:500}.lesson-launcher button{color:#fff;cursor:pointer;background:linear-gradient(115deg,#5036ce,#3a198e);border-color:#4e2cb9;justify-content:space-between;align-items:center;font-weight:700;display:flex;position:relative;overflow:hidden;box-shadow:0 5px 13px #4e2cb933}.lesson-launcher button:hover{background:linear-gradient(115deg,#5b40dc,#46229e)}.lesson-launcher :focus-visible{outline-offset:4px;outline:3px solid #4556dc}.lesson-launcher__note{color:#48566b;margin:0 0 12px;font-size:14px;line-height:1.55}.lesson-launcher__error{background:#fff4ed;border-left:3px solid #a55848;padding:12px 16px}.field-icon{color:#5435b9;background:#ede7ff;border-radius:8px;place-items:center;width:26px;height:26px;display:inline-grid}.field-icon--grade:before{content:"";background:#5833e8;width:20px;height:20px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 9 10-5 10 5-10 5-10-5ZM6 11v6c3 3 9 3 12 0v-6M22 9v7'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 9 10-5 10 5-10 5-10-5ZM6 11v6c3 3 9 3 12 0v-6M22 9v7'/%3E%3C/svg%3E") 50%/contain no-repeat}.topic-preview{aspect-ratio:2.3;background:#f2ead6 var(--topic-art) center / cover no-repeat;border:1px solid #e5d8c0;border-radius:16px;place-items:center;width:100%;display:grid;overflow:hidden}.topic-card--fractions{--topic-art:url(./fractions-card-D1d1wPhp.jpg)}.topic-card--perimeter{--topic-art:url(./perimeter-card-BbL7KGeC.jpg)}.topic-preview__circle{aspect-ratio:1;grid-template-columns:repeat(2,1fr);gap:2px;width:clamp(74px,12vw,106px);display:grid}.topic-preview__circle span{background:linear-gradient(145deg,#577bfa,#3349c4);box-shadow:inset 0 1px 1px #ffffff90,1px 3px 5px #2b27444a}.topic-preview__circle span:first-child{--split-x:-7px;--split-y:-7px;border-radius:100% 0 0}.topic-preview__circle span:nth-child(2){--split-x:7px;--split-y:-7px;background:linear-gradient(145deg,#ffbb46,#f28722);border-radius:0 100% 0 0}.topic-preview__circle span:nth-child(3){--split-x:-7px;--split-y:7px;border-radius:0 0 0 100%}.topic-preview__circle span:nth-child(4){--split-x:7px;--split-y:7px;border-radius:0 0 100%}.topic-preview__rectangle{aspect-ratio:3/2;place-items:center;width:clamp(82px,14vw,120px);display:grid;position:relative}.topic-preview__rectangle:after{content:"";border:4px solid #226461;position:absolute;inset:0}.topic-preview__tiles{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr);gap:2px;width:100%;height:100%;padding:3px;display:grid}.topic-preview__tiles span{background:#eeb24e}.topic-preview__tiles span:nth-child(2n){background:#f6cf7e}.topic-preview[data-preview=perimeter] .topic-preview__tiles{display:none}@media (width<=580px){.lesson-launcher__cards{grid-template-columns:1fr;gap:16px}}@media (width<=340px){.topic-card__grade{grid-template-columns:1fr;gap:4px}}@media (hover:hover){.topic-card:hover{box-shadow:0 18px 38px #3f33122c}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.topic-card{transition:transform .2s,box-shadow .2s}.topic-card:hover{z-index:1;position:relative;transform:translateY(-4px)scale(1.02)}.topic-card button:hover:before{pointer-events:none;content:"";background:linear-gradient(90deg,#0000 34%,#ffffff38 50%,#0000 66%);animation:2.8s linear infinite start-button-sweep;position:absolute;inset:0}}@keyframes start-button-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:no-preference){.topic-preview__circle span{animation:1.15s ease-in-out preview-split}.topic-preview__rectangle:after{animation:.62s ease-out preview-outline}.topic-preview__tiles{animation:.42s ease-out .5s both preview-tiles}.lesson-launcher button span{transition:transform .18s ease-out}.lesson-launcher button:is(:hover,:focus-visible) span{transform:translate(4px)}}@keyframes preview-split{0%,to{transform:translate(0)}45%,65%{transform:translate(var(--split-x), var(--split-y))}}@keyframes preview-outline{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes preview-tiles{0%{opacity:0}to{opacity:1}}
