:root{--solid-ink:#29272d;--solid-paper:#fffdf8;--solid-oat:#ffedc9;--solid-lime:#b0f000;--solid-violet:#9063e8;--solid-pink:#fdc6e5;--solid-coral:#ff7468;--solid-sun:#ffd126;--solid-emerald:#00bf63}
.solid-course{--course-accent:var(--solid-sun);--course-accent-soft:#fff0ac;background:#f5f2ec;color:var(--solid-ink)}
.solid-course button,.solid-course a{font-family:var(--font-bricolage)}
.solid-course .maths-course-tabs{background:#f5f2ec}

/* Lesson — an editorial geometry studio, not a generic shell. */
.solid-lesson-cover{display:grid;grid-template-columns:minmax(0,.86fr) minmax(620px,1.14fr);min-height:calc(100vh - 164px);background:var(--solid-sun)}
.solid-lesson-cover__copy{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(55px,7vw,120px)}
.solid-lesson-cover__copy>span,.solid-reader__rail>span,.solid-reader__book>header>span,.solid-reader__chapter header span,.solid-reader__remember>span,.solid-reader__final span,.solid-lab>header span,.solid-lab__console>span,.solid-cards header span,.solid-summary>header>span,.solid-summary article>span,.solid-summary__method>span,.solid-summary>aside>span,.solid-guide-cover span,.solid-guide-book header span{font:800 12px/1 var(--font-bricolage);letter-spacing:.15em;text-transform:uppercase}
.solid-lesson-cover h1{max-width:100%;margin:26px 0 18px;font:800 clamp(66px,6.7vw,122px)/.79 var(--font-bricolage);letter-spacing:-.075em}.solid-lesson-cover h1 i{color:var(--solid-violet);font-style:normal}
.solid-lesson-cover__copy p{max-width:690px;margin:0 0 36px;font:700 clamp(21px,1.8vw,29px)/1.2 var(--font-bricolage)}
.solid-lesson-cover__copy button,.solid-reader__rail button,.solid-reader__final button,.solid-lab__feedback button,.solid-lab-finish button,.solid-cards footer button,.solid-summary>aside button{border:0;padding:19px 26px;background:var(--solid-ink);color:#fff;border-radius:999px;box-shadow:0 9px 0 rgba(41,39,45,.18);font:800 15px var(--font-bricolage);cursor:pointer}.solid-lesson-cover__copy button b,.solid-reader__rail button b,.solid-reader__final button b{color:var(--solid-lime)}
.solid-lesson-cover__scene{position:relative;min-width:0;overflow:hidden;background:var(--solid-violet);border-radius:55% 0 0 45%/36% 0 0 64%}
.solid-lesson-cover__scene:before{content:"";position:absolute;inset:7%;border:3px dashed rgba(255,255,255,.38);border-radius:48% 52% 44% 56%/38% 33% 67% 62%}
.solid-lesson-cover__model{position:absolute;left:3%;right:15%;top:3%;height:62%}.solid-lesson-cover__model svg{width:100%;height:100%;filter:drop-shadow(0 18px 0 rgba(41,39,45,.14));animation:solid-model-float 5s ease-in-out infinite}
.solid-lesson-cover__teacher{position:absolute;z-index:2;right:-2%;bottom:-5%;width:45%;height:68%;animation:solid-teacher-arrive .9s cubic-bezier(.2,.8,.2,1) both}.solid-lesson-cover__teacher img{width:100%;height:100%;object-fit:contain;object-position:right bottom}
.solid-lesson-cover__blob{position:absolute;z-index:4;left:5%;bottom:1%;width:230px;animation:solid-blob-pop 1s .25s cubic-bezier(.15,1.35,.3,1) both}.solid-lesson-cover__tag{position:absolute;z-index:4;padding:12px 17px;background:var(--solid-paper);border-radius:999px;box-shadow:0 8px 0 rgba(41,39,45,.14);font:800 12px var(--font-bricolage);transform:rotate(-5deg)}.solid-lesson-cover__tag--one{left:8%;top:9%}.solid-lesson-cover__tag--two{right:9%;top:17%;transform:rotate(7deg)}.solid-lesson-cover__tag--three{left:42%;top:50%;transform:rotate(-2deg);background:var(--solid-lime)}
.solid-reader{display:grid;grid-template-columns:290px minmax(0,1fr);gap:52px;max-width:1680px;margin:auto;padding:90px 40px 140px}.solid-reader__rail{position:sticky;top:115px;align-self:start;display:grid;gap:7px}.solid-reader__rail>span{margin:0 0 17px;color:var(--solid-violet)}.solid-reader__rail a{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;padding:12px;color:inherit;text-decoration:none;font:750 14px/1.2 var(--font-bricolage);border-radius:14px}.solid-reader__rail a:hover{background:#fff}.solid-reader__rail a i{display:grid;width:34px;aspect-ratio:1;place-items:center;background:var(--solid-oat);border-radius:50%;font:800 11px var(--font-bricolage);font-style:normal}.solid-reader__rail button{margin-top:24px;background:var(--solid-violet);color:#fff}
.solid-reader__book{min-width:0}.solid-reader__book>header{padding:65px 70px 55px;background:var(--solid-ink);color:#fff;border-radius:55px 55px 20px 20px}.solid-reader__book>header>span{color:var(--solid-lime)}.solid-reader__book>header h2{margin:18px 0;font:800 clamp(54px,6.5vw,104px)/.84 var(--font-bricolage);letter-spacing:-.07em;text-transform:uppercase}.solid-reader__book>header h2 i{color:var(--solid-sun);font-style:normal}.solid-reader__book>header p{max-width:900px;font:700 21px/1.35 var(--font-bricolage)}
.solid-reader__chapter{overflow:hidden;margin-top:30px;background:#fff;border-radius:26px 26px 52px 52px;box-shadow:0 16px 0 rgba(41,39,45,.07)}.solid-reader__chapter>header{display:grid;grid-template-columns:82px 1fr;gap:22px;align-items:center;padding:28px 42px;background:var(--solid-coral)}.solid-reader__chapter:nth-of-type(2n)>header{background:var(--solid-violet);color:#fff}.solid-reader__chapter:nth-of-type(3n)>header{background:var(--solid-lime);color:var(--solid-ink)}.solid-reader__chapter>header>i{font:800 55px/.8 var(--font-bricolage);font-style:normal;opacity:.48}.solid-reader__chapter header h2{margin:7px 0 0;font:800 clamp(32px,4vw,60px)/.9 var(--font-bricolage);letter-spacing:-.05em}.solid-reader__chapter-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(460px,1.12fr);gap:45px;align-items:center;padding:48px}.solid-reader__chapter:nth-of-type(even) .solid-reader__copy{order:2}.solid-reader__copy>p{display:grid;gap:8px;margin:0 0 18px;font:700 clamp(18px,1.5vw,24px)/1.42 var(--font-bricolage)}.solid-reader__copy>p span{display:block}.solid-reader__remember{margin:32px 0;padding:27px 30px;background:var(--solid-oat);border-left:10px solid var(--solid-sun);border-radius:0 30px 30px 0}.solid-reader__remember ol{display:grid;gap:10px;margin:17px 0 0;padding-left:22px;font:700 17px/1.3 var(--font-bricolage)}.solid-reader__copy>aside{padding:22px 26px;border:3px dashed var(--solid-violet);border-radius:24px}.solid-reader__copy>aside strong{font:800 11px var(--font-bricolage);letter-spacing:.12em}.solid-reader__copy>aside p{margin:11px 0 0;font:700 16px/1.38 var(--font-bricolage)}
.solid-reader__visual{min-width:0}.solid-studio-figure{position:relative;display:grid;place-items:center;width:100%;min-height:430px;margin:0;padding:28px 24px 56px;overflow:hidden;background:var(--solid-violet);border-radius:35px;box-shadow:0 14px 0 rgba(41,39,45,.15)}.solid-studio-figure__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.18) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.18) 2px,transparent 2px);background-size:46px 46px;opacity:.5}.solid-studio-figure svg{position:relative;z-index:2;width:100%;max-height:420px}.solid-studio-figure figcaption{position:absolute;z-index:3;left:24px;right:24px;bottom:16px;padding:10px 15px;background:var(--solid-paper);border-radius:999px;text-align:center;font:800 10px var(--font-bricolage);letter-spacing:.1em}.solid-reader__chapter:nth-of-type(2n) .solid-studio-figure{background:var(--solid-pink)}.solid-reader__chapter:nth-of-type(3n) .solid-studio-figure{background:var(--solid-oat)}
.solid-reader__final{position:relative;display:grid;grid-template-columns:1fr 260px;align-items:end;overflow:hidden;margin-top:32px;padding:60px 70px;background:var(--solid-sun);border-radius:30px 30px 70px 70px;box-shadow:0 16px 0 rgba(41,39,45,.1)}.solid-reader__final h2{margin:15px 0;font:800 clamp(44px,5vw,78px)/.86 var(--font-bricolage);letter-spacing:-.055em}.solid-reader__final h2 i{color:var(--solid-violet);font-style:normal}.solid-reader__final p{max-width:900px;font:700 20px var(--font-bricolage)}
.solid-reader__final>.goodie-companion {width:250px;align-self:end}.solid-reader__final button{background:var(--solid-ink)}

/* Lab — a workbench with an exact visual and a decision console. */
.solid-course--lab{background:var(--solid-paper)}.solid-lab{min-height:calc(100vh - 164px);padding:48px clamp(24px,5vw,88px) 100px}.solid-lab>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:45px;align-items:end}.solid-lab>header>div>span{color:var(--solid-violet)}.solid-lab>header h1{margin:13px 0 0;font:800 clamp(48px,6vw,92px)/.86 var(--font-bricolage);letter-spacing:-.065em;text-transform:uppercase}.solid-lab>header p{max-width:1000px;margin:16px 0 0;font:750 clamp(19px,1.6vw,26px)/1.25 var(--font-bricolage)}.solid-lab>header ol{display:flex;gap:8px;margin:0;padding:0;list-style:none}.solid-lab>header li i{display:grid;width:38px;aspect-ratio:1;place-items:center;background:#e6e1d9;border-radius:50%;font:800 12px var(--font-bricolage);font-style:normal}.solid-lab>header li.is-current i{width:54px;background:var(--solid-sun);box-shadow:0 7px 0 rgba(41,39,45,.14);transform:translateY(-6px)}.solid-lab>header li.is-done i{background:var(--solid-emerald);color:#fff}
.solid-lab__workbench{display:grid;grid-template-columns:minmax(580px,1.08fr) minmax(420px,.92fr);gap:28px;align-items:stretch;margin-top:42px}.solid-lab-theatre{position:relative;display:grid;min-height:580px;place-items:center;padding:65px 35px 30px;background:var(--solid-violet);border:12px solid var(--solid-ink);border-radius:54px;box-shadow:0 18px 0 rgba(41,39,45,.18)}.solid-lab-theatre:before,.solid-lab-theatre:after{content:"";position:absolute;top:30px;width:82px;height:16px;background:var(--solid-lime);border-radius:999px}.solid-lab-theatre:before{left:32px}.solid-lab-theatre:after{right:32px;background:var(--solid-coral)}.solid-lab-theatre .solid-studio-figure{min-height:450px;padding:12px 10px 55px;background:transparent;box-shadow:none}.solid-lab-theatre .solid-studio-figure__grid{opacity:.36}.solid-lab-theatre__number{position:absolute;z-index:3;left:38px;top:58px;color:#fff;font:800 80px/.8 var(--font-bricolage);opacity:.28}.solid-lab-theatre__stamp{position:absolute;z-index:3;right:38px;top:57px;padding:10px 15px;background:var(--solid-paper);border-radius:999px;font:800 10px var(--font-bricolage);letter-spacing:.12em}
.solid-lab__console{display:flex;min-width:0;flex-direction:column;padding:38px;background:var(--solid-oat);border-radius:50px;box-shadow:0 18px 0 rgba(41,39,45,.11)}.solid-lab__console>span{margin-bottom:22px;color:var(--solid-violet)}.solid-lab__console>footer{margin-top:auto;padding-top:28px;border-top:4px dashed rgba(41,39,45,.2)}.solid-lab__console>footer strong{font:800 11px var(--font-bricolage);letter-spacing:.12em}.solid-lab__console>footer p{margin:10px 0 0;font:700 16px/1.35 var(--font-bricolage)}
.solid-answer-list{display:grid;gap:15px}.solid-answer-list button{display:grid;grid-template-columns:54px 1fr;gap:15px;align-items:center;min-height:85px;border:3px solid transparent;padding:13px 18px;background:#fff;color:var(--solid-ink);border-radius:22px;text-align:left;box-shadow:0 9px 0 rgba(41,39,45,.1);font:800 19px var(--font-bricolage);cursor:pointer;transition:transform .2s}.solid-answer-list button:hover:not(:disabled){transform:translateX(8px)}.solid-answer-list button i{display:grid;width:48px;aspect-ratio:1;place-items:center;background:var(--solid-pink);border-radius:50%;font:800 15px var(--font-bricolage);font-style:normal}.solid-answer-list button.is-correct,.solid-number-choice button.is-correct,.solid-multi button.is-correct{border-color:var(--solid-emerald);background:#e1ffd8;animation:solid-correct .75s cubic-bezier(.2,1.5,.3,1) both}.solid-answer-list button.is-wrong,.solid-number-choice button.is-wrong,.solid-multi button.is-wrong{border-color:var(--solid-coral);background:#ffe2de}
.solid-number-choice{display:grid;gap:25px;align-content:center;min-height:360px}.solid-number-choice>span,.solid-multi>span,.solid-open-mission>span{font:800 12px var(--font-bricolage);letter-spacing:.13em}.solid-number-choice>div{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.solid-number-choice button{display:grid;aspect-ratio:1;place-items:center;border:4px solid var(--solid-ink);background:#fff;border-radius:24px;box-shadow:0 10px 0 rgba(41,39,45,.14);font:800 clamp(42px,4vw,68px) var(--font-bricolage);cursor:pointer}.solid-number-choice>small{font:800 17px var(--font-bricolage)}
.solid-multi{display:grid;gap:13px}.solid-multi>button:not(.solid-multi__check){display:grid;grid-template-columns:45px 1fr;gap:13px;align-items:center;min-height:68px;border:3px solid transparent;padding:11px 16px;background:#fff;border-radius:20px;text-align:left;box-shadow:0 7px 0 rgba(41,39,45,.1);font:800 16px var(--font-bricolage)}.solid-multi button i{display:grid;width:40px;aspect-ratio:1;place-items:center;background:var(--solid-pink);border-radius:50%;font-style:normal}.solid-multi button.is-selected{border-color:var(--solid-violet);transform:translateX(7px)}.solid-multi__check,.solid-open-mission button{border:0;padding:17px 21px;background:var(--solid-violet);color:#fff;border-radius:999px;box-shadow:0 8px 0 rgba(41,39,45,.16);font:800 14px var(--font-bricolage)}.solid-multi__check:disabled{opacity:.35}.solid-open-mission{display:grid;gap:18px;align-content:center;min-height:380px}.solid-open-mission strong{font:800 clamp(40px,4vw,64px)/.9 var(--font-bricolage)}.solid-open-mission p{font:700 19px/1.35 var(--font-bricolage)}.solid-open-mission button{justify-self:start;background:var(--solid-coral);color:var(--solid-ink)}
.solid-lab__feedback{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;margin-top:28px;padding:26px 30px;background:#ddffd7;border-left:12px solid var(--solid-emerald);border-radius:26px;box-shadow:0 10px 0 rgba(41,39,45,.08)}.solid-lab__feedback.is-wrong{background:#fff0ce;border-color:var(--solid-coral)}.solid-lab__feedback>i{display:grid;width:56px;aspect-ratio:1;place-items:center;background:var(--solid-emerald);color:#fff;border-radius:50%;font:800 25px var(--font-bricolage);font-style:normal}.solid-lab__feedback.is-wrong>i{background:var(--solid-coral);color:var(--solid-ink)}.solid-lab__feedback span{font:800 11px var(--font-bricolage);letter-spacing:.13em}.solid-lab__feedback p{margin:7px 0 0;font:750 18px var(--font-bricolage)}.solid-lab__feedback button{margin:0;background:var(--solid-ink)}
.solid-lab-finish{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.7fr);gap:45px;align-items:center;min-height:calc(100vh - 164px);padding:70px clamp(35px,7vw,130px);background:var(--solid-lime)}.solid-lab-finish>div>span{font:800 12px var(--font-bricolage);letter-spacing:.13em}.solid-lab-finish>div>strong{display:block;margin:35px 0 20px;font:800 clamp(120px,17vw,270px)/.58 var(--font-bricolage)}.solid-lab-finish h1{margin:0;font:800 clamp(55px,7vw,110px)/.82 var(--font-bricolage);letter-spacing:-.07em}.solid-lab-finish h1 i{color:var(--solid-violet);font-style:normal}.solid-lab-finish p{max-width:790px;font:700 21px/1.35 var(--font-bricolage)}.solid-lab-finish>aside{position:relative;align-self:stretch;overflow:hidden;background:var(--solid-pink);border-radius:48px}.solid-lab-finish>aside>img{position:absolute;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.solid-lab-finish>aside>.goodie-companion {position:absolute;z-index:2;left:-5%;bottom:2%;width:240px}

/* Flashcards — a deliberate retrieval deck. */
.solid-course--cards{background:var(--solid-paper)}.solid-cards{padding:65px clamp(24px,6vw,110px) 110px}.solid-cards>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:end}.solid-cards h1{margin:18px 0 15px;font:800 clamp(58px,7.4vw,118px)/.82 var(--font-bricolage);letter-spacing:-.07em}.solid-cards h1 i{color:var(--solid-coral);font-style:normal}.solid-cards header p{max-width:860px;font:700 19px/1.35 var(--font-bricolage)}.solid-cards__score{display:flex;align-items:end;gap:15px;padding:24px 28px;background:var(--solid-lime);border-radius:28px;box-shadow:0 10px 0 rgba(41,39,45,.12)}.solid-cards__score strong{font:800 75px/.72 var(--font-bricolage)}.solid-cards__score span{font:800 10px/1.2 var(--font-bricolage);letter-spacing:.08em}.solid-cards__progress{position:relative;height:32px;margin:42px 0 28px;background:#e5e0d9;border-radius:999px;overflow:hidden}.solid-cards__progress i{position:absolute;inset:0 auto 0 0;width:var(--progress);background:var(--solid-violet);border-radius:inherit;transition:width .35s}.solid-cards__progress span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:800 10px var(--font-bricolage);letter-spacing:.13em;mix-blend-mode:difference}
.solid-cards__stage{display:grid;grid-template-columns:minmax(380px,.7fr) minmax(560px,1.1fr) 230px;gap:30px;align-items:center;perspective:1600px}.solid-cards__shelf .solid-studio-figure{min-height:500px;background:var(--solid-oat)}.solid-card{position:relative;min-height:540px;border:0;padding:0;background:transparent;transform-style:preserve-3d;cursor:pointer}.solid-card__inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.2,.75,.2,1)}.solid-card.is-flipped .solid-card__inner{transform:rotateY(180deg)}.solid-card__face{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:62px;background:var(--solid-violet);color:#fff;border:10px solid var(--solid-ink);border-radius:42px;box-shadow:0 18px 0 rgba(41,39,45,.18);backface-visibility:hidden}.solid-card__back{background:var(--solid-sun);color:var(--solid-ink);transform:rotateY(180deg)}.solid-card__face>i{position:absolute;left:38px;top:34px;font:800 64px var(--font-bricolage);font-style:normal;opacity:.35}.solid-card__face small{font:800 11px var(--font-bricolage);letter-spacing:.14em}.solid-card__face strong{margin:22px 0;font:800 clamp(38px,4.2vw,67px)/.95 var(--font-bricolage)}.solid-card__face em{font:700 14px var(--font-bricolage);font-style:normal}.solid-cards__stage>aside{display:grid;justify-items:center;text-align:center}
.solid-cards__stage>aside>.goodie-companion {width:220px}.solid-cards__stage>aside span{font:800 14px var(--font-bricolage)}.solid-cards>nav{display:flex;justify-content:center;gap:10px;margin-top:30px}.solid-cards>nav button{border:0;padding:15px 19px;background:#e6e1d9;border-radius:999px;font:800 13px var(--font-bricolage)}.solid-cards>nav button:nth-child(2),.solid-cards>nav button:nth-child(3){background:var(--solid-coral)}.solid-cards>nav button:disabled{opacity:.28}.solid-cards footer{text-align:center}.solid-cards footer button{background:var(--solid-ink)}

/* Summary and adult guide. */
.solid-course--summary{background:var(--solid-oat)}.solid-summary{padding:70px clamp(24px,6vw,110px) 130px}.solid-summary>header{max-width:1250px}.solid-summary>header h1{margin:20px 0;font:800 clamp(62px,8vw,128px)/.8 var(--font-bricolage);letter-spacing:-.075em}.solid-summary>header h1 i{color:var(--solid-violet);font-style:normal}.solid-summary>header p{font:700 20px var(--font-bricolage)}.solid-summary__identity{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:55px}.solid-summary__identity>article{padding:38px;background:#fff;border-radius:40px;box-shadow:0 15px 0 rgba(41,39,45,.1)}.solid-summary__identity .solid-studio-figure{min-height:400px;margin:22px 0}.solid-summary__identity ul{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0;list-style:none}.solid-summary__identity li{padding:15px;background:var(--solid-oat);border-radius:18px;font:700 14px var(--font-bricolage)}.solid-summary__identity li b,.solid-summary__identity article>div p b{display:block;font-family:var(--font-bricolage)}.solid-summary__identity article>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.solid-summary__identity article>div p{padding:18px;background:var(--solid-pink);border-radius:20px;font:700 15px/1.35 var(--font-bricolage)}.solid-summary__identity article>div p+ p{background:#e4ffd3}.solid-summary__method{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:55px}.solid-summary__method>span{grid-column:1/-1}.solid-summary__method article{display:grid;grid-template-columns:55px 1fr;gap:14px;padding:26px;background:#fff;border-radius:24px}.solid-summary__method article i{display:grid;width:50px;aspect-ratio:1;place-items:center;background:var(--solid-sun);border-radius:50%;font:800 13px var(--font-bricolage);font-style:normal}.solid-summary__method article strong{font:800 18px var(--font-bricolage)}.solid-summary__method article p{margin:8px 0 0;font:700 15px var(--font-bricolage)}.solid-summary>aside{margin-top:50px;padding:55px;background:var(--solid-violet);color:#fff;border-radius:42px;box-shadow:0 16px 0 rgba(41,39,45,.14)}.solid-summary>aside h2{max-width:1200px;margin:17px 0;font:800 clamp(40px,5vw,72px)/.94 var(--font-bricolage)}.solid-summary>aside button{margin-right:10px}.solid-summary>aside button:last-child{background:var(--solid-sun);color:var(--solid-ink)}
.solid-course--guide{background:#fff}.solid-guide-cover{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:55px;align-items:center;padding:80px clamp(30px,6vw,110px);background:var(--solid-coral)}.solid-guide-cover h1{margin:20px 0;font:800 clamp(70px,9vw,145px)/.76 var(--font-bricolage);letter-spacing:-.075em}.solid-guide-cover h1 i{color:#fff;font-style:normal}.solid-guide-cover p{max-width:950px;font:700 22px/1.35 var(--font-bricolage)}.solid-guide-cover a{display:grid;gap:8px;padding:34px;background:#fff;color:inherit;border-radius:32px;text-decoration:none;box-shadow:0 13px 0 rgba(41,39,45,.14)}.solid-guide-cover a>i{font:800 65px var(--font-bricolage);font-style:normal}.solid-guide-cover a strong{font:800 18px var(--font-bricolage)}.solid-guide-cover a small{font:700 13px var(--font-bricolage)}.solid-guide-book{max-width:1500px;margin:auto;padding:65px 40px 130px}.solid-guide-book>section{overflow:hidden;margin-bottom:38px;border:1px solid #e4ded6;border-radius:32px;box-shadow:0 12px 0 rgba(41,39,45,.06)}.solid-guide-book>section>header{display:grid;grid-template-columns:75px 1fr;gap:20px;align-items:center;padding:28px 38px;background:var(--solid-violet);color:#fff}.solid-guide-book>section:nth-child(2n)>header{background:var(--solid-sun);color:var(--solid-ink)}.solid-guide-book>section>header>i{font:800 50px/.8 var(--font-bricolage);font-style:normal;opacity:.45}.solid-guide-book header h2{margin:6px 0 0;font:800 clamp(30px,4vw,58px)/.9 var(--font-bricolage)}.solid-guide-book__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.78fr);gap:38px;align-items:center;padding:42px;background:#fff}.solid-guide-book__body p{display:grid;gap:8px;font:700 19px/1.4 var(--font-bricolage)}.solid-guide-book__body h3{margin-top:30px;font:800 13px var(--font-bricolage);letter-spacing:.12em}.solid-guide-book__body ol{display:grid;gap:8px;font:700 16px var(--font-bricolage)}.solid-guide-book__body aside{padding:22px;background:var(--solid-oat);border-left:8px solid var(--solid-coral);border-radius:0 22px 22px 0}.solid-guide-book__body aside strong{font:800 11px var(--font-bricolage);letter-spacing:.1em}.solid-guide-book__body .solid-studio-figure{min-height:380px}.solid-guide-question-bank{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:40px}.solid-guide-question-bank article{display:grid;grid-template-columns:52px 1fr;gap:15px;padding:24px;background:var(--solid-oat);border-radius:24px}.solid-guide-question-bank article>i{display:grid;width:48px;aspect-ratio:1;place-items:center;background:var(--solid-coral);border-radius:50%;font:800 12px var(--font-bricolage);font-style:normal}.solid-guide-question-bank strong{font:800 17px/1.2 var(--font-bricolage)}.solid-guide-question-bank p{font:700 14px/1.35 var(--font-bricolage)}.solid-guide-question-bank p b{display:block;font:800 10px var(--font-bricolage);letter-spacing:.1em}.solid-guide-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:25px 40px;background:var(--solid-ink);color:#fff}.solid-guide-footer img{width:105px;filter:brightness(0) invert(1)}.solid-guide-footer span{font:800 10px var(--font-bricolage);letter-spacing:.08em}

@keyframes solid-model-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-18px) rotate(1deg)}}@keyframes solid-teacher-arrive{from{opacity:0;transform:translateX(80px)}to{opacity:1;transform:none}}@keyframes solid-blob-pop{from{opacity:0;transform:translateY(90px) scale(.45) rotate(-15deg)}to{opacity:1;transform:none}}@keyframes solid-correct{0%{transform:scale(.94)}65%{transform:scale(1.06) rotate(-1deg)}100%{transform:scale(1)}}
@media(max-width:1200px){.solid-lesson-cover{grid-template-columns:1fr;min-height:auto}.solid-lesson-cover__scene{min-height:680px;border-radius:60px 60px 0 0}.solid-reader__chapter-grid{grid-template-columns:1fr}.solid-reader__chapter:nth-of-type(even) .solid-reader__copy{order:0}.solid-lab__workbench{grid-template-columns:1fr}.solid-cards__stage{grid-template-columns:1fr 1.25fr}.solid-cards__stage>aside{display:none}.solid-summary__identity{grid-template-columns:1fr}}
@media(max-width:820px){.solid-reader{grid-template-columns:1fr;padding:55px 16px 90px}.solid-reader__rail{position:static}.solid-reader__book>header{padding:45px 24px}.solid-reader__chapter>header{grid-template-columns:60px 1fr;padding:24px 20px}.solid-reader__chapter-grid{padding:24px 18px}.solid-studio-figure{min-height:330px}.solid-reader__final{grid-template-columns:1fr;padding:45px 24px}
.solid-reader__final>.goodie-companion {display:none}.solid-lab{padding:35px 16px 80px}.solid-lab>header{grid-template-columns:1fr}.solid-lab>header ol{overflow-x:auto}.solid-lab__workbench{grid-template-columns:1fr}.solid-lab-theatre{min-height:430px;padding:50px 12px 20px;border-width:7px}.solid-lab__console{padding:25px}.solid-lab__feedback{grid-template-columns:1fr}.solid-lab-finish{grid-template-columns:1fr;padding:55px 20px}.solid-lab-finish>aside{min-height:460px}.solid-cards{padding:50px 16px 85px}.solid-cards>header{grid-template-columns:1fr}.solid-cards__stage{grid-template-columns:1fr}.solid-cards__shelf{display:block}.solid-course--cards .solid-cards__shelf .solid-studio-figure{min-height:360px}.solid-card{min-height:480px}.solid-card__face{padding:50px 25px}.solid-summary{padding:50px 16px 90px}.solid-summary__identity>article{padding:22px}.solid-summary__identity ul,.solid-summary__method{grid-template-columns:1fr}.solid-summary__method>span{grid-column:1}.solid-guide-cover{grid-template-columns:1fr;padding:55px 20px}.solid-guide-book{padding:45px 16px 80px}.solid-guide-book__body{grid-template-columns:1fr;padding:25px 18px}.solid-guide-question-bank{grid-template-columns:1fr;padding:22px}.solid-guide-footer{display:grid}.solid-number-choice>div{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.solid-course *{animation-duration:.001ms!important;animation-iteration-count:1!important}.solid-card__inner{transition:none}}

/* Geometry learning layers: every answer completes the model, as in the approved division Lab. */
.solid-build{position:relative;z-index:4;display:grid;width:min(94%,820px);gap:11px;margin:-20px auto 4px;padding:18px 22px;background:var(--solid-paper);color:var(--solid-ink);border-radius:28px;box-shadow:0 11px 0 rgba(41,39,45,.18);transition:transform .32s,background .32s}.solid-build>span{font:800 10px var(--font-bricolage);letter-spacing:.13em;color:var(--solid-violet)}.solid-build>div{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.solid-build i{display:grid;min-height:42px;place-items:center;padding:8px 13px;background:#fff;border:3px solid rgba(41,39,45,.1);border-radius:16px;font:800 13px var(--font-bricolage);font-style:normal}.solid-build i small{display:block;margin-top:2px;font:800 8px var(--font-bricolage);letter-spacing:.08em}.solid-build b{font:800 23px var(--font-bricolage)}.solid-build>strong{text-align:center;font:800 13px var(--font-bricolage);letter-spacing:.04em}.solid-build.is-complete{background:#ddffd7;animation:solid-build-complete .72s cubic-bezier(.2,1.45,.25,1) both}.solid-build.is-retry{background:#fff0ce}.solid-build--faces>div{display:grid;grid-template-columns:repeat(6,1fr)}.solid-build--faces i{padding:7px 3px;background:var(--solid-coral);font-size:21px}.solid-build--faces i.is-hidden{background:var(--solid-pink);border-style:dashed}.solid-build--equation i{min-width:78px;background:var(--solid-sun);font-size:25px}.solid-build--equation i:last-child{background:var(--solid-lime)}.solid-build--identity i{background:var(--solid-pink)}.solid-build--identity i:last-child{background:var(--solid-lime)}.solid-build--passport>div{display:grid;grid-template-columns:repeat(4,1fr)}.solid-build--passport i{background:#fff}.solid-build--passport i.is-trap{background:#ffe2de;text-decoration:line-through}.solid-build--passport.is-complete i:not(.is-trap){border-color:var(--solid-emerald);background:#fff}
.solid-cards__shelf{position:relative}.solid-cards__shelf-tag{position:absolute;z-index:5;left:20px;top:18px;padding:10px 14px;background:var(--solid-ink);color:#fff;border-radius:999px;font:800 9px var(--font-bricolage);letter-spacing:.11em}.solid-cards__shelf>ol{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0 0;padding:0;list-style:none}.solid-cards__shelf>ol li{display:flex;align-items:center;gap:7px;padding:10px 8px;background:#fff;border-radius:15px;font:800 10px var(--font-bricolage)}.solid-cards__shelf>ol i{display:grid;width:24px;aspect-ratio:1;place-items:center;background:var(--solid-pink);border-radius:50%;font-style:normal}.solid-card__front:after{content:"";position:absolute;right:34px;bottom:34px;width:76px;height:10px;background:var(--solid-lime);border-radius:999px}.solid-card__back:after{content:"";position:absolute;right:34px;bottom:34px;width:76px;height:10px;background:var(--solid-coral);border-radius:999px}
@keyframes solid-build-complete{0%{transform:scale(.92)}55%{transform:scale(1.06) rotate(-1deg)}100%{transform:scale(1)}}
@media(max-width:820px){.solid-build--faces>div,.solid-build--passport>div{grid-template-columns:repeat(2,1fr)}.solid-build{width:100%;padding:14px}.solid-cards__shelf>ol{display:none}}

/* Keep the active retrieval card in the first viewport; the deck, not a marketing header, is the hero. */
.solid-course--cards .solid-cards{padding-top:30px}.solid-course--cards .solid-cards>header{grid-template-columns:minmax(0,1fr) 220px;align-items:center}.solid-course--cards .solid-cards h1{margin:8px 0 6px;font-size:clamp(46px,4.4vw,70px);line-height:.86}.solid-course--cards .solid-cards header p{margin:8px 0;font-size:16px}.solid-course--cards .solid-cards__score{padding:18px 22px}.solid-course--cards .solid-cards__score strong{font-size:62px}.solid-course--cards .solid-cards__progress{margin:22px 0 20px}.solid-course--cards .solid-cards__stage{align-items:stretch}.solid-course--cards .solid-cards__shelf .solid-studio-figure,.solid-course--cards .solid-card{min-height:460px}.solid-course--cards .solid-card__face{padding:52px}

/* Contrast contract: graphite lives only on light surfaces; violet always carries white type. */
.solid-lesson-cover__model{padding:18px;background:var(--solid-oat);border-radius:48% 52% 46% 54%/55% 42% 58% 45%}
.solid-studio-figure{background:var(--solid-oat);color:var(--solid-ink)}
.solid-studio-figure__grid{background-image:linear-gradient(rgba(41,39,45,.08) 2px,transparent 2px),linear-gradient(90deg,rgba(41,39,45,.08) 2px,transparent 2px)}
.solid-studio-figure figcaption{color:var(--solid-ink)}
.solid-lab-theatre .solid-studio-figure{background:var(--solid-oat);color:var(--solid-ink);border-radius:34px}
.solid-lab-theatre__stamp{color:var(--solid-ink)}
.solid-lab__console>span{margin-bottom:16px}
.solid-lab__question{margin-bottom:22px;padding:24px 25px;background:#fff;border-left:9px solid var(--solid-violet);border-radius:0 28px 28px 0;box-shadow:0 9px 0 rgba(41,39,45,.09)}
.solid-lab__question small{display:block;margin-bottom:10px;color:var(--solid-violet);font:800 10px var(--font-bricolage);letter-spacing:.13em}
.solid-lab__question h2{margin:0;color:var(--solid-ink);font:800 clamp(24px,2.2vw,38px)/1.02 var(--font-bricolage);letter-spacing:-.025em}
.solid-card__face small{font:800 12px/1.25 var(--font-bricolage);letter-spacing:.08em}
.solid-card__face strong{margin:22px 0;font:800 clamp(43px,5vw,78px)/.88 var(--font-bricolage);letter-spacing:-.045em}
.solid-card__back strong{font-size:clamp(27px,3vw,45px);line-height:1.03;letter-spacing:-.025em}
.solid-card__face em{line-height:1.35}
.solid-card__back em{max-width:85%;padding:13px 15px;background:rgba(255,255,255,.62);border-radius:16px}
@media(max-width:820px){.solid-lab__question{padding:20px}.solid-card__face strong{font-size:clamp(38px,11vw,62px)}}

/* Division posée is the master course template. Geometry only supplies content and diagrams. */
.pyramid-division-template{--solid-ink:var(--ink);--solid-paper:var(--soft);--solid-oat:var(--oat);--solid-lime:var(--acid);--solid-violet:var(--violet);--solid-pink:var(--pink);--solid-coral:var(--coral);--solid-sun:var(--sun);--solid-emerald:var(--emerald)}
.pyramid-reader-cover__visual{position:relative;min-height:610px}
.pyramid-reader-cover__model{position:absolute;inset:4% 4% 22%;display:grid;place-items:center;padding:18px;border-radius:52% 48% 44% 56%/45% 55% 45% 55%;background:rgba(255,255,255,.2)}
.pyramid-reader-cover__model svg{width:100%;height:100%;filter:drop-shadow(0 15px 0 rgba(38,38,43,.13));animation:solid-model-float 5s ease-in-out infinite}
.pyramid-division-lesson .division-reader-finale h2{font-size:clamp(42px,3.7vw,60px)}
.pyramid-division-lesson .division-reader-finale h2 i{white-space:normal}
.geometry-model{position:relative;z-index:2;display:block;width:100%;height:auto;overflow:visible}
.geometry-controls{position:relative;z-index:7;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:min(92%,760px);margin:-4px auto 22px}
.geometry-controls button{min-height:44px;padding:10px 16px;border:0;border-radius:18px 25px 17px 23px;background:#fff;color:var(--ink);box-shadow:0 7px 0 rgba(38,38,43,.12);font:900 12px/1 var(--font-display);letter-spacing:.02em;cursor:pointer;transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.geometry-controls button:hover,.geometry-controls button:focus-visible{transform:translateY(-4px);box-shadow:0 11px 0 rgba(38,38,43,.14);outline:4px solid var(--coral);outline-offset:3px}
.geometry-controls button.is-active{background:var(--acid);box-shadow:0 7px 0 color-mix(in srgb,var(--emerald) 52%,var(--ink))}
.solid-lab-theatre:has(.geometry-controls button:focus-visible) .geometry-model{animation:geometry-model-react .62s cubic-bezier(.2,1.5,.3,1)}
.solid-studio-figure:has(.geometry-model){overflow:hidden;padding:18px 18px 56px}
.solid-lab-theatre .solid-studio-figure:has(.geometry-model){padding-bottom:54px}
.solid-lab-theatre .solid-studio-figure:has(.geometry-model) figcaption{right:22px;bottom:14px;left:22px;width:auto;text-align:center}
@keyframes geometry-model-react{0%{transform:scale(.96) rotate(-1deg)}58%{transform:scale(1.035) rotate(1deg)}100%{transform:none}}
.pyramid-reader-visual{margin:30px 0}.pyramid-reader-visual .solid-studio-figure{min-height:470px;background:var(--oat)}
.pyramid-reader-remember{margin:28px 0;padding:28px 31px;border-left:9px solid var(--coral);border-radius:0 34px 34px 0;background:var(--pink)}
.pyramid-reader-remember>span{color:var(--violet);font-size:10px;font-weight:950;letter-spacing:.13em}.pyramid-reader-remember ol{display:grid;margin:15px 0 0;padding-left:22px;gap:10px;font-weight:760;line-height:1.45}

.pyramid-division-lab{width:min(calc(100% - 34px),1540px);margin:0 auto}
.pyramid-division-stage{padding-bottom:clamp(48px,6vw,92px)}
.pyramid-division-stage>header{max-width:1050px}
.pyramid-division-stage>header h2{max-width:960px}
.pyramid-division-stage .solid-lab__workbench{grid-template-columns:minmax(520px,1.06fr) minmax(400px,.94fr);margin-top:34px}
.pyramid-division-stage .solid-lab-theatre{min-height:590px}
.pyramid-division-stage .solid-lab__console{color:var(--ink)}
.pyramid-division-stage .solid-lab__feedback{color:var(--ink)}
.pyramid-division-stage.division-stage--exchange>header,.pyramid-division-stage.division-stage--assessment>header{color:#fff}
.pyramid-division-stage.division-stage--exchange>header .division-kicker,.pyramid-division-stage.division-stage--assessment>header .division-kicker{color:var(--acid)}
.pyramid-lab-result{width:100%}.pyramid-lab-result .division-result__cast{min-height:660px}
.pyramid-lab-launch{width:100%;min-height:720px}
.pyramid-lab-launch__cast{min-height:610px}
.pyramid-launch__formula{position:absolute;z-index:3;top:5%;left:-7%;display:flex;align-items:center;gap:8px;transform:rotate(-5deg)}
.pyramid-launch__formula>span{display:grid;min-width:82px;min-height:92px;padding:12px;place-items:center;border-radius:24px 31px 21px 28px;background:var(--acid);color:var(--ink);box-shadow:0 9px 0 rgba(38,38,43,.13)}
.pyramid-launch__formula>span:last-child{background:var(--coral)}
.pyramid-launch__formula b{font:950 45px/.85 var(--font-display)}
.pyramid-launch__formula small{font:950 9px/1 var(--font-display);letter-spacing:.08em}
.pyramid-launch__formula>i,.pyramid-launch__formula>em{font:950 24px/1 var(--font-display);font-style:normal}
.pyramid-launch__formula>em{padding:8px 10px;border-radius:999px;background:#fff;box-shadow:0 6px 0 rgba(38,38,43,.1)}

.pyramid-summary-sheet .solid-studio-figure{min-height:370px;background:var(--oat);box-shadow:none}
.pyramid-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.pyramid-summary-grid>article{padding:clamp(28px,3.3vw,48px);border-radius:46px 68px 41px 61px;background:#fff;box-shadow:0 10px 0 rgba(38,38,43,.08)}
.pyramid-summary-grid>article>span{display:block;margin-bottom:20px;color:var(--violet);font-size:10px;font-weight:950;letter-spacing:.13em}
.pyramid-summary-parts dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0 0}.pyramid-summary-parts dl div{padding:16px;border-radius:20px 29px 18px 26px;background:var(--oat)}.pyramid-summary-parts dt{font-weight:950}.pyramid-summary-parts dd{margin:5px 0 0;font-size:13px;font-weight:700}
.pyramid-summary-families>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pyramid-summary-families p{margin:0;padding:20px;border-radius:25px 37px 22px 33px;background:var(--pink);font-weight:720;line-height:1.45}.pyramid-summary-families p:last-child{background:color-mix(in srgb,var(--acid) 35%,white)}.pyramid-summary-families p b{display:block;margin-bottom:8px;color:var(--violet)}
.pyramid-summary-cycle{background:var(--sun)!important}.pyramid-summary-proof{background:var(--violet)!important;color:#fff}.pyramid-summary-proof>span{color:var(--acid)!important}.pyramid-summary-proof b{color:var(--acid)}

.pyramid-guide-route>div strong{font-size:clamp(31px,3.3vw,54px)}.pyramid-guide-route>div b{font-size:clamp(34px,3.8vw,62px)}
.pyramid-guide-visual{max-width:1060px;margin:34px 0}.pyramid-guide-visual .solid-studio-figure{min-height:470px;background:var(--oat)}
.pyramid-guide-book .division-guide-say>.division-guide-editorial{display:grid;gap:9px}
.pyramid-guide-book .division-guide-bank>article{color:var(--ink)}

@media(max-width:1100px){.pyramid-division-stage .solid-lab__workbench,.pyramid-summary-grid{grid-template-columns:1fr}.pyramid-reader-cover__visual{min-height:560px}.pyramid-summary-parts dl{grid-template-columns:1fr 1fr}.pyramid-lab-launch{min-height:auto}.pyramid-lab-launch__cast{min-height:540px}}
@media(max-width:720px){.pyramid-division-lab{width:100%}.pyramid-division-stage{border-radius:48px 66px 43px 61px}.pyramid-reader-cover__visual{min-height:480px}.pyramid-reader-cover__model{inset:4% 0 24%}.pyramid-summary-parts dl,.pyramid-summary-families>div:last-child{grid-template-columns:1fr}.pyramid-guide-visual .solid-studio-figure{min-height:340px}.pyramid-lab-launch__cast{min-height:460px}.pyramid-launch__formula{left:0;top:3%;gap:4px}.pyramid-launch__formula>span{min-width:58px;min-height:68px;padding:8px}.pyramid-launch__formula b{font-size:30px}.pyramid-launch__formula>i,.pyramid-launch__formula>em{font-size:16px}.pyramid-launch__formula>em{padding:6px}}

/* Learning feedback must remain readable on every subject colour. */
.approved-division-lab .solid-lab__feedback{color:var(--solid-ink)}
