.ff-scene-tap{position:relative}.ff-zone-layer{pointer-events:none;width:100%;height:100%;font-family:var(--ff-read);position:absolute;inset:0;overflow:visible}.ff-zone{pointer-events:all;cursor:pointer;outline:none}.ff-zone.is-locked,.ff-zone.is-correct{cursor:default}.ff-zone-hit{fill:#0000}.ff-zone-frame{fill:var(--ff-white);fill-opacity:.18;stroke:var(--ff-ink);stroke-width:4px;stroke-dasharray:14 10}.ff-zone-layer.is-choosing .ff-zone-frame{stroke:var(--ff-orange);stroke-width:5px}.ff-zone.is-over .ff-zone-frame{stroke:var(--ff-orange);stroke-dasharray:none;fill:var(--ff-hover);fill-opacity:.45}.ff-zone:focus-visible .ff-zone-frame{stroke:var(--ff-focus);stroke-width:7px;stroke-dasharray:none}.ff-zone-badge circle{fill:var(--ff-gold);stroke:var(--ff-ink);stroke-width:3.5px}.ff-zone-badge text{text-anchor:middle;fill:var(--ff-ink);font-size:24px;font-weight:700}.ff-zone-pill{cursor:grab;touch-action:none}.ff-zone-pill rect{fill:var(--ff-choice-neutral);stroke:var(--ff-ink);stroke-width:3.5px}.ff-zone-pill text{text-anchor:middle;fill:var(--ff-ink);font-size:28px;font-weight:700}.ff-zone.is-correct .ff-zone-pill rect{fill:var(--ff-gold)}.ff-zone.is-locked .ff-zone-pill,.ff-zone.is-correct .ff-zone-pill{cursor:default}.ff-diagram{flex-direction:column;gap:clamp(8px,1.2vh,12px);display:flex}.ff-chip.is-active{background:var(--ff-gold);border-color:var(--ff-ink)}.ff-chip.is-correct{background:var(--ff-gold);opacity:1}.ff-use-words{position:absolute;left:-9999px}.ff-use-words:focus{align-self:center;position:static}.ff-card-check .ff-btn[disabled]{opacity:.5;cursor:default}.wc.stage-label .labels>:not(#legend){display:none}.wc{font-family:FireFlash Reader,sans-serif}.wc .flow{animation:ff-flow var(--dur,1.4s) linear infinite}@keyframes ff-flow{to{stroke-dashoffset:var(--shift,-26)}}.wc .sun-rays{transform-box:view-box;animation:3.2s ease-in-out infinite ff-shine}@keyframes ff-shine{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.07)rotate(7deg)}}.wc .sun-halo{animation:3.2s ease-in-out infinite ff-halo}@keyframes ff-halo{0%,to{opacity:.25}50%{opacity:.6}}.wc .cloud-fill{animation:6s ease-in-out infinite ff-cloudtone}@keyframes ff-cloudtone{0%,to{fill:#f5f8fb}50%{fill:#d3dde8}}.wc .cloud{animation:6s ease-in-out infinite ff-drift}@keyframes ff-drift{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.wc .drop{animation:1.15s linear infinite ff-fall}@keyframes ff-fall{0%{opacity:0;transform:translateY(0)}10%{opacity:1}88%{opacity:1}to{transform:translateY(var(--fall));opacity:0}}.wc .waves{animation:3s ease-in-out infinite alternate ff-sway}@keyframes ff-sway{to{transform:translate(8px)}}.wc .jiggle{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite alternate ff-jig}@keyframes ff-jig{to{transform:translate(1.5px,-1.5px)}}.wc .ff-level{animation:8s ease-out both ff-level}@keyframes ff-level{0%{transform:translateY(-20px)}to{transform:translateY(0)}}.wc .glint{animation:3.2s ease-in-out infinite ff-halo}.wc.paused *{animation-play-state:paused!important}.wc.stage-practice .words,.wc.stage-mastery .labels,.wc.stage-mastery .water-paths{display:none}.wc.still *{animation:none!important}.wc.still .drop{transform:translateY(var(--still))!important;opacity:1!important}@media (prefers-reduced-motion:reduce){.wc *{animation:none!important}.wc .drop{transform:translateY(var(--still))!important;opacity:1!important}}.wc .ff-grow{transform-box:fill-box;transform-origin:var(--o,50% 100%);animation:10s ease-out infinite ff-grow}@keyframes ff-grow{0%,12%{transform:scale(var(--fx,1),var(--fy,.2))}50%,95%{transform:scale(1)}95.4%,to{transform:scale(var(--fx,1),var(--fy,.2))}}.wc .ff-pollen{animation:10s ease-in-out infinite ff-pollen}@keyframes ff-pollen{0%,12%{transform:translate(0)}50%,95%{transform:translate(var(--dx),var(--dy))}95.4%,to{transform:translate(0)}}.wc.stage-mastery .botanical-stages,.wc.stage-mastery .botanical-stages *{animation:none!important}.wc .physics-after{display:none}.wc.still .physics-after{display:inline}@media (prefers-reduced-motion:reduce){.wc .physics-after{display:inline}}.wc.still .physics-swap{display:none}@media (prefers-reduced-motion:reduce){.wc .physics-swap{display:none}}.wc.stage-mastery .physics-swap{display:inline!important}.wc.stage-mastery .physics-after,.wc.stage-mastery .physics-result{display:none!important}.wc.stage-mastery .physics-stages,.wc.stage-mastery .physics-stages *{animation:none!important}.wc .ff-hand{animation:10s ease-out infinite ff-hand}@keyframes ff-hand{0%,6%{transform:translate(var(--ax,-40px),var(--ay,0))}18%{transform:translate(0)}28%,95%{transform:translate(var(--px,0),var(--py,0))}95.4%,to{transform:translate(var(--ax,-40px),var(--ay,0))}}.wc .ff-move{animation:10s infinite ff-move}@keyframes ff-move{0%,18%{animation-timing-function:cubic-bezier(.2,.7,.35,1);transform:translate(0)}58%,95%{transform:translate(var(--dx,0),var(--dy,0))}95.4%,to{transform:translate(0)}}.wc .ff-path2{animation:10s infinite ff-path2}@keyframes ff-path2{0%,8%{animation-timing-function:linear;transform:translate(0)}32%{transform:translate(var(--dx1),var(--dy1));animation-timing-function:cubic-bezier(.2,.7,.35,1)}70%,95%{transform:translate(var(--dx2),var(--dy2))}95.4%,to{transform:translate(0)}}.wc .ff-roll{transform-box:fill-box;transform-origin:50%;animation:10s infinite ff-roll}@keyframes ff-roll{0%,18%{animation-timing-function:cubic-bezier(.2,.7,.35,1);transform:rotate(0)}58%,95%{transform:rotate(var(--turn,360deg))}95.4%,to{transform:rotate(0)}}.wc .ff-swing{transform-box:view-box;transform-origin:var(--o);animation:10s ease-in-out infinite ff-swing}@keyframes ff-swing{0%,6%{transform:rotate(calc(var(--a)*1deg))}16%{transform:rotate(calc(var(--a)*-.86deg))}26%{transform:rotate(calc(var(--a)*.74deg))}36%{transform:rotate(calc(var(--a)*-.63deg))}46%{transform:rotate(calc(var(--a)*.54deg))}56%{transform:rotate(calc(var(--a)*-.46deg))}66%{transform:rotate(calc(var(--a)*.39deg))}76%,95%{transform:rotate(calc(var(--a)*0deg))}95.4%,to{transform:rotate(calc(var(--a)*1deg))}}.wc .ff-hand-1{animation:10s infinite ff-hand-1}@keyframes ff-hand-1{0%,2%{transform:translate(var(--ax,-40px),0);animation-timing-function:ease-out}12%{transform:translate(0)}18%,95%{transform:translate(var(--px,0),0)}95.4%,to{transform:translate(var(--ax,-40px),0)}}.wc .ff-hand-2{animation:10s infinite ff-hand-2}@keyframes ff-hand-2{0%,44%{transform:translate(var(--ax,-40px),0);animation-timing-function:ease-out}54%{transform:translate(0)}60%,95%{transform:translate(var(--px,0),0)}95.4%,to{transform:translate(var(--ax,-40px),0)}}.wc .ff-hit-1{animation:10s infinite ff-hit-1}@keyframes ff-hit-1{0%,7%{transform:translate(var(--ax,-80px),0);animation-timing-function:cubic-bezier(.6,0,1,1)}12%{transform:translate(0)}20%,95%{transform:translate(var(--px,0),0)}95.4%,to{transform:translate(var(--ax,-80px),0)}}.wc .ff-hit-2{animation:10s infinite ff-hit-2}@keyframes ff-hit-2{0%,49%{transform:translate(var(--ax,-80px),0);animation-timing-function:cubic-bezier(.6,0,1,1)}54%{transform:translate(0)}60%,95%{transform:translate(var(--px,0),0)}95.4%,to{transform:translate(var(--ax,-80px),0)}}.wc .ff-move-1{animation:10s infinite ff-move-1}@keyframes ff-move-1{0%,12%{animation-timing-function:cubic-bezier(.2,.7,.35,1);transform:translate(0)}40%,95%{transform:translate(var(--dx,0),0)}95.4%,to{transform:translate(0)}}.wc .ff-move-2{animation:10s infinite ff-move-2}@keyframes ff-move-2{0%,54%{animation-timing-function:cubic-bezier(.2,.7,.35,1);transform:translate(0)}82%,95%{transform:translate(var(--dx,0),0)}95.4%,to{transform:translate(0)}}.wc .ff-roll-1,.wc .ff-roll-2{transform-box:fill-box;transform-origin:50%}.wc .ff-roll-1{animation:10s infinite ff-roll-1}@keyframes ff-roll-1{0%,12%{animation-timing-function:cubic-bezier(.2,.7,.35,1);transform:rotate(0)}40%,95%{transform:rotate(var(--turn,360deg))}95.4%,to{transform:rotate(0)}}.wc .ff-roll-2{animation:10s infinite ff-roll-2}@keyframes ff-roll-2{0%,54%{animation-timing-function:cubic-bezier(.2,.7,.35,1);transform:rotate(0)}82%,95%{transform:rotate(var(--turn,360deg))}95.4%,to{transform:rotate(0)}}.wc .ff-tap{animation:10s infinite ff-tap}@keyframes ff-tap{0%,20%{transform:translate(var(--ax,-40px),var(--ay,0));animation-timing-function:ease-out}32%{transform:translate(0)}38%,95%{transform:translate(var(--px,0),var(--py,0))}95.4%,to{transform:translate(var(--ax,-40px),var(--ay,0))}}.wc .ff-roll-path{transform-box:fill-box;transform-origin:50%;animation:10s infinite ff-roll-path}@keyframes ff-roll-path{0%,8%{animation-timing-function:linear;transform:rotate(0)}32%{transform:rotate(calc(var(--turn,360deg)*.46));animation-timing-function:cubic-bezier(.2,.7,.35,1)}70%,95%{transform:rotate(var(--turn,360deg))}95.4%,to{transform:rotate(0)}}.wc .ff-swing2{transform-box:view-box;transform-origin:var(--o);animation:10s ease-in-out infinite ff-swing2}@keyframes ff-swing2{0%,6%{transform:rotate(calc(var(--a)*1deg))}20%{transform:rotate(calc(var(--a)*-.82deg))}34%{transform:rotate(calc(var(--a)*.67deg))}48%{transform:rotate(calc(var(--a)*-.55deg))}64%,95%{transform:rotate(0)}95.4%,to{transform:rotate(calc(var(--a)*1deg))}}.wc.focus-push .part-pull,.wc.focus-pull .part-push{display:none}.wc.focus-pull .part-pull .ff-move-2{animation-name:ff-move-1}.wc.focus-pull .part-pull .ff-roll-2{animation-name:ff-roll-1}.wc .ff-rub{animation:10s infinite ff-rub}@keyframes ff-rub{0%,4%{transform:translate(0)}8%{transform:translateY(-12px)}12%{transform:translateY(8px)}16%{transform:translateY(-12px)}20%{transform:translateY(8px)}24%{animation-timing-function:cubic-bezier(.2,.7,.35,1);transform:translate(0)}40%,95%{transform:translate(var(--dx),var(--dy))}95.4%,to{transform:translate(0)}}.wc .ff-bend{transform-box:view-box;transform-origin:var(--o);animation:10s ease-out infinite ff-bend}@keyframes ff-bend{0%,42%{transform:rotate(0)}56%,95%{transform:rotate(var(--r))}95.4%,to{transform:rotate(0)}}.wc .ff-door{transform-box:view-box;transform-origin:var(--o);animation:10s ease-in-out infinite ff-door}@keyframes ff-door{0%,10%{transform:scaleX(1)}30%,55%{transform:scaleX(var(--c))}68%,95%{transform:scaleX(var(--h))}95.4%,to{transform:scaleX(1)}}.wc .ff-knob{animation:10s ease-in-out infinite ff-knob}@keyframes ff-knob{0%,10%{transform:translate(0)}30%,55%{transform:translate(var(--c),0)}68%,95%{transform:translate(var(--h),0)}95.4%,to{transform:translate(0)}}.wc .ff-plate{animation:10s ease-in-out infinite ff-plate}@keyframes ff-plate{0%,10%{transform:translate(0)}30%,55%{transform:translate(0,var(--c))}68%,95%{transform:translate(0,var(--h))}95.4%,to{transform:translate(0)}}.wc .ff-travel{animation:10s infinite ff-travel}@keyframes ff-travel{0%,6%{transform:translate(var(--dx),0);animation-timing-function:cubic-bezier(.3,.1,.35,1)}40%,95%{transform:translate(0)}95.4%,to{transform:translate(var(--dx),0)}}.wc .ff-arrive{animation:10s linear infinite ff-arrive}@keyframes ff-arrive{0%,40%{opacity:0}43%,95%{opacity:1}95.4%,to{opacity:0}}.wc.stage-mastery .weather-stages,.wc.stage-mastery .weather-stages *,.wc.stage-mastery .data-reveal,.wc.stage-mastery .data-reveal *{animation:none!important}.wc .ff-step-1{animation:10s linear infinite ff-step-1}@keyframes ff-step-1{0%,6%{opacity:0}8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-step-2{animation:10s linear infinite ff-step-2}@keyframes ff-step-2{0%,12.5%{opacity:0}14.5%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-step-3{animation:10s linear infinite ff-step-3}@keyframes ff-step-3{0%,19%{opacity:0}21%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-step-4{animation:10s linear infinite ff-step-4}@keyframes ff-step-4{0%,25.5%{opacity:0}27.5%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-step-5{animation:10s linear infinite ff-step-5}@keyframes ff-step-5{0%,32%{opacity:0}34%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-step-6{animation:10s linear infinite ff-step-6}@keyframes ff-step-6{0%,38.5%{opacity:0}40.5%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-step-7{animation:10s linear infinite ff-step-7}@keyframes ff-step-7{0%,45%{opacity:0}47%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-step-8{animation:10s linear infinite ff-step-8}@keyframes ff-step-8{0%,51.5%{opacity:0}53.5%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-step-9{animation:10s linear infinite ff-step-9}@keyframes ff-step-9{0%,58%{opacity:0}60%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-step-10{animation:10s linear infinite ff-step-10}@keyframes ff-step-10{0%,64.5%{opacity:0}66.5%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-1{animation:10s linear infinite ff-day-1}@keyframes ff-day-1{0%,4%{opacity:0}4.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-2{animation:10s linear infinite ff-day-2}@keyframes ff-day-2{0%,6%{opacity:0}6.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-3{animation:10s linear infinite ff-day-3}@keyframes ff-day-3{0%,8%{opacity:0}8.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-4{animation:10s linear infinite ff-day-4}@keyframes ff-day-4{0%,10%{opacity:0}10.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-5{animation:10s linear infinite ff-day-5}@keyframes ff-day-5{0%,12%{opacity:0}12.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-6{animation:10s linear infinite ff-day-6}@keyframes ff-day-6{0%,14%{opacity:0}14.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-7{animation:10s linear infinite ff-day-7}@keyframes ff-day-7{0%,16%{opacity:0}16.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-8{animation:10s linear infinite ff-day-8}@keyframes ff-day-8{0%,18%{opacity:0}18.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-9{animation:10s linear infinite ff-day-9}@keyframes ff-day-9{0%,20%{opacity:0}20.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-10{animation:10s linear infinite ff-day-10}@keyframes ff-day-10{0%,22%{opacity:0}22.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-11{animation:10s linear infinite ff-day-11}@keyframes ff-day-11{0%,24%{opacity:0}24.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-12{animation:10s linear infinite ff-day-12}@keyframes ff-day-12{0%,26%{opacity:0}26.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-13{animation:10s linear infinite ff-day-13}@keyframes ff-day-13{0%,28%{opacity:0}28.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-14{animation:10s linear infinite ff-day-14}@keyframes ff-day-14{0%,30%{opacity:0}30.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-15{animation:10s linear infinite ff-day-15}@keyframes ff-day-15{0%,32%{opacity:0}32.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-16{animation:10s linear infinite ff-day-16}@keyframes ff-day-16{0%,34%{opacity:0}34.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-17{animation:10s linear infinite ff-day-17}@keyframes ff-day-17{0%,36%{opacity:0}36.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-18{animation:10s linear infinite ff-day-18}@keyframes ff-day-18{0%,38%{opacity:0}38.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-19{animation:10s linear infinite ff-day-19}@keyframes ff-day-19{0%,40%{opacity:0}40.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-20{animation:10s linear infinite ff-day-20}@keyframes ff-day-20{0%,42%{opacity:0}42.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-21{animation:10s linear infinite ff-day-21}@keyframes ff-day-21{0%,44%{opacity:0}44.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-22{animation:10s linear infinite ff-day-22}@keyframes ff-day-22{0%,46%{opacity:0}46.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-23{animation:10s linear infinite ff-day-23}@keyframes ff-day-23{0%,48%{opacity:0}48.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-24{animation:10s linear infinite ff-day-24}@keyframes ff-day-24{0%,50%{opacity:0}50.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-25{animation:10s linear infinite ff-day-25}@keyframes ff-day-25{0%,52%{opacity:0}52.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-26{animation:10s linear infinite ff-day-26}@keyframes ff-day-26{0%,54%{opacity:0}54.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-27{animation:10s linear infinite ff-day-27}@keyframes ff-day-27{0%,56%{opacity:0}56.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-28{animation:10s linear infinite ff-day-28}@keyframes ff-day-28{0%,58%{opacity:0}58.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-29{animation:10s linear infinite ff-day-29}@keyframes ff-day-29{0%,60%{opacity:0}60.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-30{animation:10s linear infinite ff-day-30}@keyframes ff-day-30{0%,62%{opacity:0}62.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc .ff-day-31{animation:10s linear infinite ff-day-31}@keyframes ff-day-31{0%,64%{opacity:0}64.8%,95%{opacity:1}95.4%,to{opacity:0}}.wc.focus-left .part-right,.wc.focus-right .part-left,.wc.focus-earth-path .part-sky,.wc.focus-tracks .part-shells,.wc.focus-tracks .part-leaves,.wc.focus-lower .part-top,.wc.focus-left .part-frame,.wc.focus-right .part-frame{display:none}@font-face{font-family:FireFlash Reader;src:url(/fonts/FireFlashReader-Regular.woff)format("woff");font-weight:400;font-display:block}@font-face{font-family:FireFlash Reader;src:url(/fonts/FireFlashReader-Bold.woff)format("woff");font-weight:700;font-display:block}:root{--ff-ink:#191919;--ff-red:#ef3029;--ff-orange:#ff8322;--ff-gold:#ffc83f;--ff-soft-gray:#d1d3d6;--ff-cream:#fff7e2;--ff-white:#fff;--ff-glow:#ffe39a;--ff-card-back:#fff4d6;--ff-choice-neutral:#f4f4f5;--ff-stage-tag:#fff1c7;--ff-hover:#fff6dc;--ff-focus:#2699e8;--ff-muted-text:#555;--ff-body-muted:#444;--ff-dark-text:#333;--ff-phone-mock:#f2f4f7;--ff-placeholder:#c9ced6;--ff-water:#4fa9ee;--ff-stream:#3e9bea;--ff-stream-highlight:#d6eeff;--ff-soaked:#2e86de;--ff-soaked-highlight:#cfe9ff;--ff-water-dark:#1e6fc9;--ff-water-light:#a6d6fa;--ff-vapor-model:#8cc8f5;--ff-label-blue:#1557a8;--ff-leaf:#6cc04a;--ff-leaf-dark:#2f9e4f;--ff-leaf-light:#7fd36a;--ff-back-hill:#b5e39a;--ff-soil:#edc793;--ff-soil-wet:#c99a5e;--ff-soil-grain:#c9935a;--ff-trunk:#8b5a2b;--ff-cloud:#f5f8fb;--ff-cloud-dark:#d3dde8;--ff-cloud-line:#b9c7d6;--ff-rock:#a9aeb5;--ff-rock-light:#c3c7cc;--ff-pebble:#b9bcc2;--ff-shadow-scribble:#b8babe;--ff-sun-halo:#ffe58a;--ff-sun-mouth:#e8463a;--ff-card-rule:#a9d3f5;--ff-stem-purple:#7a3e8e;--ff-stem-purple-pale:#b993c9;--ff-plumage-pink:#f27a9b;--ff-plumage-pale:#f9cdd8;--ff-fill-accent:linear-gradient(#e8231c, #ff5a1f);--ff-fill-ink:linear-gradient(#2a2a2a, #121212);--ff-fill-water:linear-gradient(#3b9bea, #1f6fc9);--ff-fill-cheer:linear-gradient(#ffa032, #ff6a1f);--ff-fill-retry:linear-gradient(#f2463a, #c41e1a);--ff-flame:radial-gradient(circle at 50% 74%, #ffd54a, #ffa12e 34%, #ff6a1f 68%, #e8291f);--ff-type-subtitle:clamp(22px, 19.51px + .663vw, 28px);--ff-type-prompt:clamp(20px, 18.34px + .442vw, 24px);--ff-type-choice:clamp(18px, 17.17px + .221vw, 20px);--ff-type-feedback:clamp(17px, 16.17px + .221vw, 19px);--ff-type-teacher-note:clamp(14px, 13.59px + .11vw, 15px);--ff-min-tap:48px;--ff-frame-ms:83ms;--ff-read:"FireFlash Reader", sans-serif;font-family:var(--ff-read);color:var(--ff-ink);background:var(--ff-white);--ink:var(--ff-ink);--red:var(--ff-red);--orange:var(--ff-orange);--gold:var(--ff-gold);--soft:var(--ff-soft-gray);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit}button,input{font:inherit}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:50;background:var(--gold);padding:12px;font-weight:700;position:absolute;top:-99px;left:12px}.skip-link:focus{top:10px}.header{z-index:10;border-bottom:2px solid var(--ff-soft-gray);background:#fffffff7;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:15px;max-width:1180px;margin:auto;padding:12px 24px;display:flex}.logo{letter-spacing:-2.1px;white-space:nowrap;align-items:center;gap:0;font-size:33px;font-weight:700;text-decoration:none;display:inline-flex}.logo svg{margin-right:3px;transform:rotate(-9deg)}.logo-fire{color:var(--red)}.logo-flash{color:var(--ink)}.logo-spark{color:var(--orange);letter-spacing:0;align-self:flex-start;font-size:19px}.header nav{align-items:center;gap:6px;display:flex}.header nav a{border-radius:22px;padding:11px 13px;font-weight:700;text-decoration:none}.header nav a:hover,.header nav a.active{background:var(--ff-hover);color:var(--ff-ink)}.container{max-width:1180px;margin:auto;padding:28px 24px 60px}.hero{background:var(--ff-cream);border:3px solid var(--ink);min-height:338px;box-shadow:6px 7px 0 var(--ff-glow);border-radius:24px;grid-template-columns:1.1fr .9fr;display:grid;overflow:hidden}.hero-copy{z-index:1;padding:clamp(28px,5vw,55px)}.eyebrow{letter-spacing:1px;color:var(--ff-ink);margin:0 0 10px;font-size:12px;font-weight:700}.hero h1{letter-spacing:-2px;margin:18px 0;font-size:clamp(43px,5.2vw,70px);line-height:1.08}.hero h1 em{color:var(--red);white-space:nowrap;font-style:normal;position:relative}.hero h1 em:after{content:"";background:var(--gold);border-radius:65% 45% 55% 50%;height:7px;position:absolute;bottom:-8px;left:2%;right:2%;transform:rotate(-1deg)}.hero-copy>p:not(.eyebrow){margin:25px 0;font-size:19px;font-weight:700}.button{background:var(--red);color:var(--ff-white);border:2.5px solid var(--ink);box-shadow:3px 4px 0 var(--ink);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:11px 17px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:var(--ff-red)}.button:active{box-shadow:1px 2px 0 var(--ink);transform:translateY(2px)}.button.small{padding:8px 11px;font-size:14px}.hero-visual{background:radial-gradient(circle,var(--ff-glow) 0,transparent 65%);place-items:center;min-height:270px;display:grid;position:relative}.hero-visual>svg{position:relative;transform:rotate(-7deg)}.scribble-ring{border:4px dashed var(--ff-gold);border-radius:46% 54% 52% 48%;width:248px;height:247px;position:absolute;transform:rotate(19deg)}.scribble-label{color:var(--ff-ink);font-weight:700;position:absolute;bottom:28px;right:22px;transform:rotate(-5deg)}.browse{padding-top:67px}.section-heading{border-bottom:2px solid var(--ff-soft-gray);justify-content:space-between;align-items:end;gap:22px;padding-bottom:22px;display:flex}.section-heading h2{letter-spacing:-1px;margin:0;font-size:clamp(25px,3.4vw,36px)}.search{border:2px solid var(--ff-soft-gray);border-radius:13px;align-items:center;gap:9px;min-width:270px;padding:9px 14px;display:flex}.search:focus-within{border-color:var(--red)}.search span{font-size:29px;line-height:18px}.search input{border:0;outline:0;width:100%;min-width:0}.collection-grid,.pack-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:24px;padding-top:27px;display:grid}.collection-card,.pack-card{background:var(--ff-white);border:2.8px solid var(--ink);box-shadow:4px 5px 0 var(--ff-soft-gray);border-radius:19px;text-decoration:none;display:block;overflow:hidden}.collection-card:hover{transform:translateY(-2px)}.collection-art{background:radial-gradient(circle at 66% 27%,var(--ff-cream),var(--ff-glow) 65%,var(--ff-glow));border-bottom:2px solid var(--ink);place-items:center;height:179px;display:grid;position:relative}.collection-art svg{position:relative;transform:rotate(-7deg)}.sun-doodle{color:var(--gold);font-size:92px;line-height:1;position:absolute;top:3%;right:12%}.collection-body,.pack-body{padding:22px}.collection-body h3,.pack-body h3{letter-spacing:-.8px;margin:4px 0 9px;font-size:25px}.collection-body p,.pack-body p{color:var(--ff-muted-text);margin:0 0 17px;line-height:1.5}.collection-body strong{color:var(--ff-ink)}.pack-art{background:var(--ff-white);border-bottom:2px solid var(--ink)}.cover-svg{width:100%;height:auto;display:block}.pack-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.status-tag{background:var(--ff-stage-tag);color:var(--ff-muted-text);border-radius:99px;padding:7px 10px;font-size:12px;font-weight:700}.detail{padding-top:35px}.back{color:var(--ff-ink);margin-bottom:21px;font-weight:700;text-decoration:none;display:inline-block}.back:hover{text-decoration:underline}.page-banner{background:var(--ff-cream);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ff-glow);border-radius:21px;padding:clamp(22px,5vw,50px)}.page-banner h1,.feature h1,.about h1{letter-spacing:-1.4px;margin:11px 0;font-size:clamp(34px,4.7vw,55px)}.page-banner p:not(.eyebrow){font-size:18px;line-height:1.6}.feature{border:2px solid var(--ff-soft-gray);border-radius:20px;grid-template-columns:1fr 1fr;align-items:center;gap:32px;padding:clamp(25px,4vw,46px);display:grid}.feature p:not(.eyebrow){font-size:17px;line-height:1.6}.feature-art{border:2px solid var(--ink);background:var(--ff-white);border-radius:14px;overflow:hidden}.feature .notice{background:var(--ff-stage-tag);border-left:5px solid var(--orange);padding:11px 13px;font-weight:700}.feature .muted{color:var(--ff-muted-text);font-size:14px!important}.steps-wrap{padding-top:40px}.steps-wrap h2{font-size:31px}.steps{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.steps>div{border:2px solid var(--ff-soft-gray);border-radius:16px;padding:23px}.steps b{color:var(--red);font-size:28px}.steps h3{margin:6px 0;font-size:22px}.steps p{color:var(--ff-muted-text);line-height:1.5}.about{border:3px solid var(--ink);background:var(--ff-cream);border-radius:22px;align-items:start;gap:26px;padding:clamp(24px,4vw,48px);display:flex}.about svg{flex-shrink:0}.about p:not(.eyebrow){max-width:690px;font-size:18px;line-height:1.6}.small-note{color:var(--ff-muted-text);margin-top:30px;font-size:13px;line-height:1.5}.empty{border:2px dashed var(--ff-soft-gray);border-radius:12px;margin-top:27px;padding:28px}.footer{border-top:2px solid var(--ff-soft-gray);max-width:1180px;color:var(--ff-muted-text);flex-wrap:wrap;justify-content:space-between;gap:15px;margin:auto;padding:26px 24px;font-size:13px;display:flex}.loading{min-height:50vh;padding-top:70px}@media (width<=750px){.container{padding:18px 16px 38px}.header-inner{padding:10px 15px}.logo{font-size:28px}.logo svg{width:31px;height:31px}.logo-spark{display:none}.header nav a{padding:9px}.hero{grid-template-columns:1fr}.hero-copy{padding:30px 25px 3px}.hero h1{font-size:clamp(36px,9vw,52px)}.hero-visual{min-height:205px}.hero-visual svg{width:110px;height:110px}.scribble-ring{width:165px;height:165px}.scribble-label{font-size:13px;bottom:12px}.browse{padding-top:44px}.section-heading{flex-direction:column;align-items:stretch}.search{width:100%;min-width:0}.feature,.steps{grid-template-columns:1fr}.about{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}.ff-page{padding-top:19px}.header-inner{padding-block:8px}.logo{font-size:31px}.logo-spark{font-size:17px}.ff-main-nav>a{padding:8px 12px}.ff-main-nav>a.active{background:var(--ff-hover);color:var(--ff-ink)}.ff-compact-hero{height:181px;min-height:0;box-shadow:4px 5px 0 var(--ff-glow);border-radius:21px;grid-template-columns:minmax(0,1fr) 225px}.ff-hero-copy{align-self:center;padding:24px 31px}.ff-compact-hero h1{letter-spacing:-1.3px;margin:0 0 13px;font-size:clamp(30px,3.3vw,43px);line-height:1.13}.ff-compact-hero h1 span{color:var(--red);white-space:nowrap;display:inline-block}.ff-compact-hero .ff-hero-copy>p{margin:0;font-size:clamp(14px,1.5vw,18px);font-weight:700}.ff-hero-art{min-height:0}.ff-hero-art .scribble-ring{border-width:3px;width:146px;height:144px}.ff-hero-art>svg{position:relative;transform:rotate(-7deg)}.ff-browse{padding-top:30px}.ff-section-head{border-bottom:2px solid var(--ff-soft-gray);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding-bottom:15px;display:flex}.ff-section-head h2{letter-spacing:-.9px;margin:0;font-size:clamp(23px,2.5vw,30px)}.ff-toolbar{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:9px;display:flex;position:relative}.ff-search{border:1.8px solid var(--ff-soft-gray);border-radius:11px;flex:1;align-items:center;gap:8px;min-width:210px;max-width:280px;height:40px;padding:7px 11px;display:inline-flex}.ff-search svg{flex-shrink:0}.ff-search input{background:0 0;border:none;outline:none;width:100%;min-width:0}.ff-search:focus-within{border-color:var(--red)}.ff-control{cursor:pointer;border:1.8px solid var(--ff-soft-gray);background:#fff;border-radius:10px;align-items:center;gap:6px;height:40px;padding:7px 11px;font-size:13px;font-weight:700;display:inline-flex}.ff-control.is-active{border-color:var(--red);background:var(--ff-hover)}.ff-view-switch{border:1.7px solid var(--ff-soft-gray);background:#fff;border-radius:11px;padding:3px;display:flex}.ff-view-switch button{cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:33px;height:31px;padding:0;display:grid}.ff-view-switch button.is-active{background:var(--ff-hover);color:var(--ff-ink)}.ff-filter-panel{z-index:6;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ff-soft-gray);background:#fff;border-radius:12px;flex-wrap:wrap;gap:13px;max-width:min(90vw,570px);padding:17px;display:flex;position:absolute;top:calc(100% + 7px);right:0}.ff-filter-panel label{gap:5px;font-size:13px;font-weight:700;display:grid}.ff-filter-panel select{font:inherit;border:1.5px solid var(--ff-soft-gray);border-radius:8px;padding:7px;font-weight:400}.ff-reset,.ff-text-button{color:var(--ff-ink);cursor:pointer;background:0 0;border:0;font-weight:700;text-decoration:underline}.ff-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,288px),1fr));gap:20px;padding-top:19px;display:grid}.ff-card-grid--list{grid-template-columns:1fr;gap:13px}.ff-pack-tile,.ff-collection-tile{border:2.6px solid var(--ink);box-shadow:3px 4px 0 var(--ff-soft-gray);background:#fff;border-radius:16px;min-width:0;text-decoration:none;overflow:hidden}.ff-pack-cover{background:var(--ff-white);border-bottom:2px solid var(--ink);height:150px;overflow:hidden}.ff-pack-cover .cover-svg{object-fit:cover;width:100%;height:100%}.ff-pack-copy,.ff-collection-copy{padding:15px 18px 18px}.ff-meta{letter-spacing:.7px;color:var(--ff-ink);margin:0 0 7px;font-size:11px;font-weight:700}.ff-pack-heading{letter-spacing:0;font-size:13px}.ff-pack-name{letter-spacing:0;font-size:17px;font-weight:800}.ff-pack-copy h3,.ff-collection-copy h3{letter-spacing:-.5px;margin:0 0 6px;font-size:22px;line-height:1.18}.ff-summary{color:var(--ff-muted-text);margin:0 0 14px;font-size:14px;line-height:1.4}.ff-pack-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ff-pack-actions .button.small{box-shadow:2px 3px 0 var(--ink);padding:7px 10px;font-size:13px}.ff-collection-cover{background:radial-gradient(circle at 65% 20%,var(--ff-cream),var(--ff-glow) 65%,var(--ff-glow));border-bottom:2px solid var(--ink);place-items:center;height:135px;display:grid;position:relative}.ff-collection-cover svg{position:relative;transform:rotate(-8deg)}.ff-collection-sun{color:var(--ff-gold);font-size:76px;line-height:1;position:absolute;top:0;right:15%}.ff-collection-copy strong{color:var(--ff-ink);font-size:14px}.ff-collection-tile:hover{transform:translateY(-2px)}.ff-collection-tile--list,.ff-pack-tile--list{grid-template-columns:185px minmax(0,1fr);align-items:stretch;display:grid}.ff-collection-tile--list .ff-collection-cover,.ff-pack-tile--list .ff-pack-cover{border-bottom:0;border-right:2px solid var(--ink);height:auto;min-height:145px}.ff-pack-tile--list .ff-pack-cover .cover-svg{width:100%;height:100%;min-height:145px}.ff-collection-tile--list .ff-collection-copy,.ff-pack-tile--list .ff-pack-copy{align-self:center;padding:15px 20px}.ff-collection-tile--list .ff-summary,.ff-pack-tile--list .ff-summary{margin-bottom:8px}.ff-no-results{border:2px dashed var(--ff-soft-gray);border-radius:13px;margin-top:20px;padding:25px}.ff-detail{padding-top:21px}.ff-detail .back{margin-bottom:13px}.ff-compact-banner{box-shadow:4px 4px 0 var(--ff-glow);border-radius:18px;padding:20px 28px}.ff-compact-banner h1{letter-spacing:-1.2px;margin:0 0 4px;font-size:clamp(30px,3.4vw,40px)}.ff-compact-banner p{margin:0;font-size:15px!important;line-height:1.45!important}.ff-collection-browser{padding-top:22px}.ff-collection-browser .ff-section-head h2{font-size:20px}.ff-pack-feature{padding:25px 28px}.ff-pack-feature h1{font-size:clamp(29px,4vw,43px)}.ff-pack-feature .notice{margin-top:17px}.ff-pack-feature .feature-art{max-width:490px}.ff-steps{padding-top:26px}.ff-steps h2{font-size:26px}.ff-steps .steps>div{padding:17px}.ff-student-head{background:var(--ff-cream);border:2px solid var(--ink);border-radius:16px;padding:21px 26px}.ff-student-head h1{margin:6px 0;font-size:33px}.ff-student-head p{color:var(--ff-muted-text);margin:0}.ff-preview-label{background:var(--ff-cream);color:var(--ff-muted-text);letter-spacing:.6px;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-block}.ff-preview-note{color:var(--ff-muted-text);font-size:13px;font-weight:400}.ff-student-empty{background:var(--ff-cream);border:2px dashed var(--ff-soft-gray);text-align:center;border-radius:16px;margin-top:21px;padding:30px}.ff-student-illustration{color:var(--ff-gold);margin:0;font-size:42px}.ff-student-empty h2{margin:4px 0;font-size:24px}.ff-student-empty p:last-child{color:var(--ff-muted-text);margin:8px 0}.ff-about{padding:25px}.ff-about h1{font-size:37px}@media (width<=750px){.header-inner{padding:7px 12px}.ff-menu-toggle span{display:none}.ff-compact-hero{grid-template-columns:minmax(0,1fr) 90px;height:auto;min-height:145px;display:grid}.ff-hero-copy{padding:19px 12px 20px 20px}.ff-compact-hero h1{white-space:normal;letter-spacing:-.8px;font-size:clamp(26px,6vw,36px)}.ff-compact-hero h1 span{white-space:normal}.ff-compact-hero .ff-hero-copy>p{font-size:13px}.ff-hero-art{min-height:0}.ff-hero-art>svg{width:63px!important;height:74px!important}.ff-hero-art .scribble-ring{width:78px;height:83px}.ff-browse{padding-top:23px}.ff-section-head{align-items:stretch;gap:12px}.ff-section-head h2{width:100%}.ff-toolbar{justify-content:flex-start}.ff-search{max-width:none}.ff-compact-banner{padding:18px 20px}.ff-pack-feature{padding:21px}}@media (width<=480px){.ff-collection-tile--list,.ff-pack-tile--list{grid-template-columns:115px minmax(0,1fr)}.ff-collection-tile--list .ff-collection-cover,.ff-pack-tile--list .ff-pack-cover{min-height:136px}.ff-collection-tile--list .ff-collection-cover svg{width:50px}.ff-collection-tile--list .ff-collection-copy,.ff-pack-tile--list .ff-pack-copy{padding:12px}.ff-collection-tile--list .ff-summary,.ff-pack-tile--list .ff-summary{font-size:12px}.ff-collection-tile--list h3,.ff-pack-tile--list h3{font-size:19px}.ff-pack-tile--list .ff-pack-actions{align-items:start}.ff-pack-tile--list .status-tag{display:none}.ff-pack-tile--list .button.small{font-size:12px}}@media (prefers-reduced-motion:reduce){.ff-collection-tile:hover{transform:none}}.ff-cover-image{object-fit:cover;width:100%;height:100%;display:block}.ff-cover-fallback{background:var(--ff-cream);place-items:center;width:100%;height:100%;min-height:150px;display:grid}.feature-art .ff-cover-fallback{min-height:240px}.ff-pack-cover{position:relative}.ff-lock-badge{border:2px solid var(--ink);background:var(--ff-white);color:var(--ink);border-radius:999px;align-items:center;gap:5px;padding:4px 9px 4px 7px;font-size:13px;font-weight:700;display:inline-flex;position:absolute;top:9px;right:9px}.ff-pack-actions .button.small svg{vertical-align:-3px;margin-right:2px}.ff-coming-soon{border:2px dashed var(--ink);background:var(--ff-white);color:var(--ink);cursor:default;border-radius:999px;align-items:center;padding:5px 12px;font-size:14px;font-weight:700;display:inline-flex}.ff-access-page{max-width:920px}.ff-access-heading{margin:0 0 20px}.ff-access-heading h1{letter-spacing:-.9px;margin:0 0 7px;font-size:clamp(28px,3vw,39px)}.ff-access-heading>p{color:var(--ff-muted-text);max-width:690px;margin:0;line-height:1.55}.ff-access-panel{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ff-glow);background:var(--ff-cream);border-radius:16px;padding:24px 26px}.ff-access-panel h2{margin:0 0 14px;font-size:23px}.ff-access-panel h2:not(:first-child){margin-top:25px}.ff-access-panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ff-access-panel-heading a,.ff-text-link{color:var(--ff-ink);font-weight:700;text-decoration:underline}.ff-quiet-note{color:var(--ff-muted-text);background:var(--ff-cream);border-radius:9px;padding:14px;line-height:1.55}.ff-unlock-form{flex-wrap:wrap;align-items:end;gap:15px;display:flex}.ff-unlock-form label{flex:1;gap:5px;min-width:min(100%,250px);font-size:14px;font-weight:700;display:grid}.ff-unlock-form input{border:2px solid var(--ff-soft-gray);border-radius:9px;width:100%;padding:12px}.ff-unlock-form .button{height:45px}.ff-entitlement-list{gap:10px;padding:0;list-style:none;display:grid}.ff-entitlement-list li{border:1.5px solid var(--ff-soft-gray);background:var(--ff-white);border-radius:9px;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:13px;display:flex}.ff-entitlement-list span{color:var(--ff-muted-text);font-size:13px}.ff-share-options{border:0;margin:10px 0 17px;padding:6px 0}.ff-share-options legend{margin-bottom:10px;font-size:14px;font-weight:700}.ff-share-choice{border:1.8px solid var(--ff-soft-gray);cursor:pointer;background:var(--ff-white);border-radius:11px;align-items:center;gap:12px;margin-bottom:9px;padding:13px;display:flex}.ff-share-choice input{width:20px;height:20px;accent-color:var(--ff-red)}.ff-share-choice span{gap:3px;display:grid}.ff-share-choice small{color:var(--ff-muted-text)}.ff-pending-packs{border-top:1px solid var(--ff-soft-gray);color:var(--ff-muted-text);margin-top:25px;padding-top:14px}.ff-pending-packs h3{color:var(--ink);margin:0;font-size:17px}.ff-pending-packs p{font-size:14px}.ff-dialog-backdrop{z-index:40;background:#19191980;justify-content:center;align-items:center;padding:15px;display:flex;position:fixed;inset:0;overflow:auto}.ff-dialog{background:var(--ff-white);border:3px solid var(--ink);width:min(100%,490px);max-height:calc(100vh - 30px);box-shadow:5px 6px 0 var(--ff-gold);border-radius:17px;padding:21px 24px;overflow:auto}.ff-dialog-head{justify-content:space-between;align-items:start;gap:10px;display:flex}.ff-dialog-head h2{margin:0;font-size:25px}.ff-dialog-close{cursor:pointer;background:0 0;border:0;font-size:28px}.ff-dialog>p{line-height:1.45}.ff-qr-wrap{justify-items:center;gap:8px;margin:11px 0;display:grid}.ff-qr{border:1px solid var(--ff-soft-gray);max-width:100%;height:auto;image-rendering:pixelated;border-radius:5px}.ff-share-link-label{gap:5px;font-size:14px;font-weight:700;display:grid}.ff-share-link-label input{border:1.6px solid var(--ff-soft-gray);border-radius:8px;width:100%;min-width:0;padding:11px;font-size:13px;font-weight:400}.ff-dialog-actions{flex-wrap:wrap;align-items:center;gap:13px;margin-top:17px;display:flex}.ff-dialog .ff-security-note{color:var(--ff-muted-text);margin-bottom:0;font-size:12px}.ff-student-only-label{color:var(--ff-muted-text);font-size:13px;font-weight:700}.ff-student-pack{margin-top:22px}.ff-student-pack-content{border:2px solid var(--ff-soft-gray);border-radius:15px;grid-template-columns:1fr 270px;align-items:center;gap:20px;padding:25px;display:grid}.ff-student-pack-cover{border:2px solid var(--ink);background:var(--ff-white);border-radius:12px;overflow:hidden}.ff-student-pack h2{margin:0;font-size:29px}.ff-student-pack p{line-height:1.55}@media (width<=680px){.ff-access-panel{padding:19px 16px}.ff-dialog{padding:16px}.ff-student-pack-content{grid-template-columns:1fr}.ff-student-only-label{font-size:11px}}.ff-share-toggle{border:1.8px solid var(--ff-soft-gray);background:var(--ff-white);cursor:pointer;border-radius:11px;align-items:center;gap:14px;margin:4px 0 16px;padding:13px;display:flex}.ff-share-toggle span{gap:3px;display:grid}.ff-share-toggle input{appearance:none;border:2px solid var(--ff-ink);background:var(--ff-choice-neutral);cursor:pointer;border-radius:13px;flex:none;width:46px;height:26px;margin:0;transition:background .15s;position:relative}.ff-share-toggle input:after{content:"";background:var(--ff-white);border:2px solid var(--ff-ink);box-sizing:border-box;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px}.ff-share-toggle input:checked{background:var(--ff-leaf-dark)}.ff-share-toggle input:checked:after{transform:translate(20px)}.ff-share-toggle input:focus-visible{outline:3px solid var(--ff-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ff-share-toggle input,.ff-share-toggle input:after{transition:none}}.ff-requested-pack{margin-top:10px;font-weight:600}.ff-get-code{margin:14px 0 0;font-weight:600}.ff-get-code a{color:var(--ff-ink);font-weight:700;text-decoration:underline}.ff-get-code-soon{color:var(--ff-muted-text)}.ff-author-page{max-width:900px}.ff-author-intro{border:2px solid var(--ink);background:var(--ff-cream);border-radius:16px;padding:23px 25px}.ff-author-intro h1{margin:4px 0;font-size:31px}.ff-author-intro p{line-height:1.5}.ff-author-badge{color:var(--ff-ink);letter-spacing:.7px;font-size:11px;font-weight:700;display:inline-flex}.ff-author-stats{color:var(--ff-muted-text);margin:23px 0;font-size:14px;font-weight:700}.ff-question-preview{border:2px solid var(--ff-ink);background:#fff;border-radius:16px;overflow:hidden}.ff-question-top{background:var(--ff-hover);border-bottom:2px solid var(--ff-ink);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:13px 20px;font-size:13px;font-weight:700;display:flex}.ff-question-body{padding:24px}.ff-question-body h2{margin:10px 0 20px;font-size:clamp(22px,3vw,28px)}.ff-preview-target{color:var(--ff-muted-text);font-size:13px}.ff-choices,.ff-complex-question{border:0;gap:12px;margin:0;padding:0;display:grid}.ff-choice{border:2px solid var(--ff-soft-gray);cursor:pointer;border-radius:11px;align-items:center;gap:13px;padding:15px 17px;display:flex}.ff-choice.selected{border-color:var(--ff-red);background:var(--ff-hover)}.ff-choice:has(input:focus-visible){outline:3px solid var(--ff-focus);outline-offset:2px}.ff-choice input{accent-color:var(--ff-red);flex-shrink:0;width:20px;height:20px}.ff-match-row{border-bottom:1px solid var(--ff-soft-gray);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;padding:12px 0;display:grid}.ff-match-row select{border:1.5px solid var(--ff-soft-gray);background:#fff;border-radius:8px;width:100%;min-width:0;padding:10px}.ff-word-bank{flex-wrap:wrap;gap:11px;display:flex}.ff-word{background:var(--ff-white);border:2px solid var(--ff-soft-gray);cursor:pointer;border-radius:12px;padding:10px 17px}.ff-word.selected{background:var(--ff-hover);border-color:var(--ff-red)}.ff-selected-word{color:var(--ff-muted-text);font-size:14px}.ff-preview-actions{flex-wrap:wrap;gap:11px;margin-top:20px;display:flex}.ff-answer-feedback{border-left:5px solid var(--ff-leaf-dark);background:var(--ff-hover);padding:14px;font-weight:700;line-height:1.5}.ff-answer-feedback.incorrect{border-left-color:var(--ff-orange);background:var(--ff-hover)}.ff-answer-notice{color:var(--ff-ink);font-weight:700}.ff-qa-only{border-top:1px solid var(--ff-soft-gray);color:var(--ff-muted-text);padding:12px 20px;font-size:12px}.ff-author-scenes{padding:19px 2px}.ff-author-scenes summary{cursor:pointer;font-weight:700}.ff-author-scenes section{border-bottom:1px solid var(--ff-soft-gray);padding:12px 0}.ff-author-scenes section p{line-height:1.6}@media (width<=540px){.ff-match-row{grid-template-columns:1fr}.ff-question-body{padding:17px}}.ff-graphics-library{max-width:1200px}.ff-gl-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:12px 0 28px;display:grid}.ff-gl-card{border:2px solid var(--ff-ink);background:var(--ff-white);border-radius:14px;margin:0;padding:10px}.ff-gl-art{border-radius:8px;width:100%;height:auto;display:block}.ff-gl-card figcaption{margin-top:8px;font-size:14px;line-height:1.45}.ff-gl-level{background:var(--ff-cream);border-radius:8px;padding:1px 7px;font-size:12px;font-weight:700}.ff-gl-tags{color:var(--ff-muted-text)}.ff-session{border:2px solid var(--ff-ink);background:var(--ff-white);border-radius:17px;max-width:880px;margin:28px auto;overflow:hidden}.ff-session-demo{background:var(--ff-cream);border-bottom:2px solid var(--ff-glow);padding:12px 20px;font-size:13px;line-height:1.6}.ff-session-header{background:var(--ff-cream);border-bottom:2px solid var(--ff-glow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:19px 24px;display:flex}.ff-session-label,.ff-session-kicker{color:var(--ff-ink);letter-spacing:1px;font-size:11px;font-weight:700}.ff-session-header h2{margin:4px 0 0;font-size:27px;line-height:1.25}.ff-session-metadata{color:var(--ff-muted-text);font-size:14px;font-weight:700}.ff-session-card{padding:25px 30px 32px}.ff-session-card h3{letter-spacing:-.6px;margin:11px 0 24px;font-size:clamp(23px,3vw,32px);line-height:1.28}.ff-session-caption{font-size:20px;font-weight:700;line-height:1.45}.ff-session-explanation{margin-bottom:24px;font-size:16px;line-height:1.6}.ff-scene-placeholder{background:var(--ff-cream);border:2px dashed var(--ff-glow);text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:195px;padding:18px;display:flex}.ff-scene-placeholder span{color:var(--ff-gold);font-size:54px}.ff-scene-placeholder p{color:var(--ff-muted-text);margin:0;font-size:13px;font-weight:700}.ff-session-question-head{color:var(--ff-ink);flex-wrap:wrap;justify-content:space-between;gap:15px;font-size:12px;font-weight:700;display:flex}.ff-session-feedback{background:var(--ff-cream);border-left:5px solid var(--ff-gold);border-radius:8px;margin:19px 0;padding:13px 17px;line-height:1.5}.ff-session-feedback strong{font-size:20px;display:block}.ff-session-feedback p{margin:5px 0 0}.ff-session-feedback:has(strong:first-child){max-width:100%}.ff-session-bottom{border-top:2px solid var(--ff-soft-gray);color:var(--ff-muted-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;font-size:13px;display:flex}.ff-session-reset,.ff-reset-session button{color:var(--ff-ink);cursor:pointer;background:0 0;border:0;font-weight:700;text-decoration:underline}.ff-reset-session{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.ff-session-notice{background:var(--ff-cream);border-bottom:1px solid var(--ff-glow);margin:0;padding:11px}.ff-summary-columns div{border:2px solid var(--ff-soft-gray);border-radius:12px;gap:9px;padding:17px;display:grid}.ff-pass-details{margin:23px 0}.ff-pass-details h4{margin-bottom:8px;font-size:19px}.ff-pass-details table{border-collapse:collapse;width:100%}.ff-pass-details th,.ff-pass-details td{text-align:left;border-bottom:1px solid var(--ff-soft-gray);padding:10px 8px;font-size:14px}.ff-session-note{color:var(--ff-muted-text);font-size:13px}.ff-dev-session{max-width:990px}.ff-dev-session>p{color:var(--ff-muted-text);line-height:1.6}@media (width<=550px){.ff-session-card{padding:17px 15px 26px}.ff-session-header{padding:14px 15px}.ff-summary-columns{grid-template-columns:1fr}}.ff-replay{text-align:center;justify-items:center;gap:14px;margin-top:18px;display:grid}.ff-replay-modes{flex-wrap:wrap;justify-content:center;gap:14px 28px;display:flex}.ff-replay-modes>div{justify-items:center;gap:6px;display:grid}.ff-replay-modes p{font-size:var(--ff-type-feedback);color:var(--ff-body-muted);margin:0}.ff-replay-reset{justify-items:center;gap:6px;display:grid}.ff-cert-shell{background:0 0;border:0;margin:18px 0 0;padding:0}.ff-cert-shell>h3{margin:0 0 6px;font-size:23px}.ff-cert-shell>p{color:var(--ff-body-muted);font-size:15px;line-height:1.5}.ff-cert-controls{flex-wrap:wrap;align-items:center;gap:16px;margin:16px 0 18px;display:flex}.ff-cert-controls label{gap:7px;font-size:15px;font-weight:700;display:grid}.ff-cert-controls input{border:3px solid var(--ff-ink);border-radius:12px 8px 13px 7px/8px 12px 7px 13px;min-width:220px;padding:10px;font-size:17px}.ff-cert-demo-note{background:var(--ff-cream);border-radius:10px;padding:10px 14px}.ff-print-root{display:none}.ff-cert-name{position:relative}.ff-cert-name-empty{color:var(--ff-body-muted);font-weight:700}.ff-cert-edit{vertical-align:middle;border:2.5px solid var(--ff-ink);background:var(--ff-gold,#ffc83f);width:34px;height:34px;color:var(--ff-ink);cursor:pointer;border-radius:10px 8px 11px 7px/8px 11px 7px 10px;place-items:center;margin-left:10px;padding:0;display:inline-grid}.ff-cert-edit svg{width:20px;height:20px}.ff-cert-edit:hover,.ff-cert-edit:focus-visible{outline:3px solid var(--ff-ink);outline-offset:2px}.ff-cert-name--editing input{font:inherit;text-align:center;border:3px solid var(--ff-ink);border-radius:12px 8px 13px 7px/8px 12px 7px 13px;width:min(100%,420px);padding:4px 10px;font-size:22px}.ff-cert-teacher{border-top:3px solid var(--ff-ink);margin-top:16px;padding-top:10px}.ff-cert-teacher-head{margin:0 0 4px;font-size:18px}.ff-cert-teacher-head,.ff-cert-pass-grid h4,.ff-cert-topics h4{color:var(--ff-ink);border-left:6px solid var(--ff-gold);padding:1px 0 1px 9px;font-weight:800;line-height:1.2}.ff-cert-pass-grid h4,.ff-cert-topics h4{margin:10px 0 6px;font-size:15px}.ff-cert-completed{color:var(--ff-body-muted);font-size:14px;margin:6px 0 0!important}.ff-cert-pack{text-wrap:balance;max-width:44ch;font-size:24px;font-weight:800;line-height:1.2;margin:2px auto!important}.ff-cert-date{font-size:14px;margin:2px 0 4px!important}.ff-cert-quick{margin:10px 0 0;font-size:12.5px;line-height:1.45}.ff-cert-controls .ff-teacher-note{margin:0}.ff-cert-page{max-width:900px}.ff-certificate-print{border:3px solid var(--ff-ink);background:var(--ff-white);color:var(--ff-ink);border-radius:26px 18px 30px 20px/20px 28px 18px 26px;padding:22px 26px;font-size:13px;line-height:1.4;position:relative}.ff-cert-heading{text-align:center;padding-bottom:6px}.ff-cert-logo{width:240px;height:auto;margin:0 auto 4px;display:block}.ff-cert-title{margin:6px 0 4px;line-height:0}.ff-cert-title img{width:auto;max-width:100%;height:58px}.ff-cert-heading>p{margin:4px}.ff-cert-name{border-bottom:3px solid var(--ff-ink);min-width:50%;padding:0 18px 2px;font-size:24px;font-weight:700;display:inline-block;margin:10px auto 2px!important}.ff-cert-watermark{color:var(--ff-ink);border:2px dashed var(--ff-ink);max-width:520px;margin:8px auto;padding:6px;font-size:13px;display:block}.ff-cert-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.ff-cert-highlights>div{border:3px solid var(--ff-ink);text-align:center;border-radius:18px 12px 20px 11px/12px 19px 11px 18px;gap:4px;padding:8px;display:grid}.ff-cert-highlights span{font-size:13px;font-weight:700}.ff-cert-highlights strong{font-size:26px}.ff-cert-pass-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ff-certificate-print table{border-collapse:collapse;width:100%;font-size:12.5px}.ff-certificate-print th,.ff-certificate-print td{border-bottom:1.5px solid var(--ff-soft-gray);text-align:left;vertical-align:top;padding:5px 4px}.ff-certificate-print th{border-bottom:2.5px solid var(--ff-ink)}.ff-cert-topics{margin-top:12px}.ff-cert-footnote{color:var(--ff-body-muted);border-top:1.5px solid var(--ff-soft-gray);margin-top:14px;padding-top:9px;font-size:11.5px}@media (width<=580px){.ff-cert-highlights,.ff-cert-pass-grid{grid-template-columns:1fr}.ff-certificate-print{padding:16px}}@media print{@page{size:auto;margin:12mm}html,body{background:#fff!important}body:has(.ff-print-root) #root{display:none!important}.ff-print-root{display:block!important}.ff-cert-preview{display:none!important}.ff-certificate-print{border-width:2.5px;padding:14px 18px;font-size:10pt}.ff-cert-logo{width:170px;margin-bottom:0}.ff-cert-title{margin:2px 0}.ff-cert-title img{height:36px}.ff-cert-name{font-size:17pt;margin:6px auto 0!important}.ff-cert-pack{font-size:16pt}.ff-cert-completed,.ff-cert-date{font-size:10pt}.ff-cert-watermark{margin:4px auto;padding:3px}.ff-cert-highlights{gap:10px;margin:10px 0}.ff-cert-highlights>div{border-width:2.5px;padding:5px}.ff-cert-highlights strong{font-size:17pt}.ff-certificate-print table{font-size:9.5pt}.ff-certificate-print th,.ff-certificate-print td{padding:2.5px 4px}.ff-cert-pass-grid h4,.ff-cert-topics h4{margin:6px 0 3px}.ff-cert-edit,.ff-cert-name-empty{visibility:hidden}.ff-cert-teacher{border-top-width:2px;margin-top:8px;padding-top:6px}.ff-cert-quick{margin-top:6px;font-size:9pt}.ff-cert-footnote{margin-top:8px;padding-top:6px;font-size:8.5pt}.ff-cert-pass-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ff-cert-heading,.ff-cert-highlights,.ff-cert-pass-grid section,.ff-certificate-print tr{break-inside:avoid}.ff-certificate-print thead{display:table-header-group}}html,body{font-family:var(--ff-read);color:var(--ff-ink);background:var(--ff-white)}button,input,select,textarea{font-family:inherit}:focus-visible{outline:3px solid var(--ff-focus);outline-offset:4px}.header{background:var(--ff-white);border-bottom:0;position:static}.header .logo{letter-spacing:0;font-size:0;line-height:0;display:block}.ff-logo img{width:240px;height:auto;display:block}.ff-logo--compact img{width:160px}.header nav a.active,.ff-main-nav>a.active,.header nav a:hover{background:var(--ff-hover);color:var(--ff-ink)}@media (width<=600px){.ff-logo img{width:160px}.header-inner{padding:8px 14px 2px}}.ff-title{margin:0;line-height:0}.ff-title img{max-width:100%;height:auto;display:block}.ff-title-fallback{font-size:var(--ff-type-subtitle);line-height:1.25}.ff-scene-title img{width:auto;height:clamp(52px,7vw,84px)}.ff-board{border:3px solid var(--ff-ink);background:var(--ff-white);border-radius:26px 18px 30px 20px/20px 28px 18px 26px;padding:18px;position:relative}.ff-board:after{content:"";pointer-events:none;border:1.6px solid #19191973;border-radius:22px 30px 18px 28px/28px 18px 30px 20px;position:absolute;inset:-5px -3px -2px -6px;transform:rotate(-.4deg)}.ff-btn,.button{font:700 18px/1.2 var(--ff-read);min-height:var(--ff-min-tap);min-width:var(--ff-min-tap);color:var(--ff-ink);background:var(--ff-white);cursor:pointer;box-shadow:none;border:3px solid var(--ff-ink);border-radius:18px 12px 20px 11px/12px 19px 11px 18px;justify-content:center;align-items:center;gap:8px;padding:8px 18px;text-decoration:none;display:inline-flex;position:relative}.ff-btn:after,.button:after{content:"";pointer-events:none;border:1.4px solid #19191966;border-radius:13px 20px 12px 18px/19px 12px 18px 11px;position:absolute;inset:-4px -2px -1px -4px}.ff-btn:hover,.button:hover{background:var(--ff-hover)}.ff-btn:active,.button:active{box-shadow:none;transform:translateY(1px)}.ff-btn--primary,.button{background:var(--ff-gold)}.ff-btn--primary:hover,.button:hover{background:var(--ff-gold);filter:brightness(1.04)}.ff-btn[disabled],.button[disabled]{opacity:.45;cursor:not-allowed}.ff-btn[aria-pressed=true]{background:var(--ff-gold)}.button.small{min-height:44px;padding:6px 14px;font-size:15px}.ff-text-link,.back,.ff-reset,.ff-text-button,.ff-session-reset,.ff-reset-session button{color:var(--ff-ink);-webkit-text-decoration-color:var(--ff-red);text-decoration-color:var(--ff-red);text-underline-offset:3px;text-decoration-thickness:2px}.ff-session{background:0 0;border:0;max-width:920px;margin:18px auto 0;overflow:visible}.ff-session-demo{background:var(--ff-cream);border:2px dashed var(--ff-soft-gray);border-radius:12px;margin-bottom:16px;padding:10px 14px;font-size:15px;line-height:1.5}.ff-card{gap:12px;padding:18px clamp(14px,3vw,26px);display:grid}.ff-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.ff-stage-tag{background:var(--ff-stage-tag);border-radius:10px 14px 9px 13px;padding:2px 12px;font-size:16px;font-weight:700}.ff-dots{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.ff-dots i{border:2.5px solid var(--ff-ink);border-radius:50%;width:16px;height:16px;display:block}.ff-dots i.on{background:var(--ff-gold)}.ff-caption{font-weight:700;font-size:var(--ff-type-subtitle);max-width:60ch;margin:2px 0 0;line-height:1.3}.ff-explanation{font-size:var(--ff-type-feedback);max-width:60ch;margin:0;line-height:1.4}.ff-card-side .ff-explanation+.ff-explanation{margin-top:.5em}.ff-learn-qa{max-width:60ch;font-size:var(--ff-type-feedback);margin:.6em 0 0;padding:0;line-height:1.35}.ff-learn-qa>div{margin:0 0 .45em}.ff-learn-qa dt{font-weight:700}.ff-learn-qa dd{margin:0}.ff-card-actions{justify-content:flex-end;gap:12px;margin-top:4px;display:flex}.ff-teacher-note,.ff-teacher-key{font-size:var(--ff-type-teacher-note);color:var(--ff-body-muted);margin:0;line-height:1.5}.ff-teacher-key{margin-top:8px}.ff-session-bottom{color:var(--ff-muted-text);border-top:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 4px;font-size:15px;display:flex}.ff-session-notice{background:var(--ff-cream);border-radius:10px;margin:0 0 12px;padding:10px 14px}.ff-scene{margin:0}.ff-scene-replay{border:3px solid var(--ff-ink);background:var(--ff-white);width:44px;height:44px;color:var(--ff-ink);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;bottom:10px;right:10px}.ff-scene-replay svg{width:24px;height:24px}.ff-scene-replay:focus-visible{outline:3px solid var(--ff-focus,#2699e8);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ff-scene-replay{display:none}}.ff-scene-tap{cursor:pointer;border-radius:12px;position:relative}.ff-scene svg.wc{width:100%;height:auto;display:block}.ff-scene--compact svg.wc{width:100%;max-height:min(50vh,460px)}.ff-scene--compact{justify-items:center;display:grid}.ff-scene--compact .ff-scene-tap{width:100%}.ff-qcard{gap:4px;display:grid}.ff-prompt{font-weight:700;font-size:var(--ff-type-prompt);text-align:center;text-wrap:pretty;max-width:72ch;margin:8px auto 10px;line-height:1.3}.ff-blank{border-bottom:4px solid var(--ff-red);text-align:center;min-width:4.5em;margin:0 .2em;line-height:1.1;display:inline-block}.ff-blank.is-filled{background:var(--ff-gold);border-radius:8px 10px 7px 9px;padding:0 .3em}.ff-howto{font-size:var(--ff-type-feedback);color:var(--ff-body-muted);text-align:center;margin:0 0 10px}.ff-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:18px;display:grid}.ff-choices--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-choices--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ff-choices--steps{grid-template-columns:1fr;gap:14px}.ff-choice-btn{font:700 var(--ff-type-choice)/1.25 var(--ff-read);cursor:pointer;min-height:58px;color:var(--ff-ink);background:var(--ff-choice-neutral);border:3.5px solid var(--ff-ink);text-align:center;border-radius:22px 14px 24px 13px/14px 22px 13px 24px;justify-content:center;align-items:center;gap:10px;padding:8px 14px;display:flex;position:relative}.ff-choice-btn:after{content:"";pointer-events:none;border:1.5px solid #19191966;border-radius:14px 24px 13px 22px/22px 13px 24px 14px;position:absolute;inset:-5px -3px -2px -5px}.ff-choice-btn:hover:not([disabled]){background:var(--ff-white)}.ff-choice-btn[aria-pressed=true]{background:var(--ff-white);box-shadow:inset 0 0 0 3px var(--ff-orange)}.ff-choice-btn.is-correct,.ff-choice-btn.is-correct[aria-pressed=true]{background:var(--ff-gold);box-shadow:none;opacity:1}.ff-choice-btn.is-tried{opacity:.45;background:var(--ff-white)}.ff-choice-btn[disabled]{cursor:default}.ff-choice-img{object-fit:contain;width:110px;max-height:92px}.ff-badge{background:var(--ff-gold);border:3px solid var(--ff-ink);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:19px;line-height:1;display:inline-grid}.ff-choice-btn.is-correct .ff-badge{background:var(--ff-white)}.ff-slot{border-bottom:3px dashed var(--ff-soft-gray);flex:1;min-width:8em;min-height:1.4em;font-weight:400}.ff-choices--targets .ff-choice-btn{min-height:64px}.is-used:not(.is-correct){background:var(--ff-white)}svg.mascot{display:block;overflow:visible}.mascot .e-closed,.mascot .e-happy,.mascot .mo-open,.mascot .mo-hope,.mascot .m-q,.mascot .m-spark,.mascot[data-eyes=closed] .e-open,.mascot[data-eyes=happy] .e-open{display:none}.mascot[data-eyes=closed] .e-closed,.mascot[data-eyes=happy] .e-happy{display:inline}.mascot[data-mouth=open] .mo-smile,.mascot[data-mouth=hope] .mo-smile{display:none}.mascot[data-mouth=open] .mo-open,.mascot[data-mouth=hope] .mo-hope,.mascot[data-q="1"] .m-q,.mascot[data-spark="1"] .m-spark{display:inline}.ff-summary-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:8px 0;display:grid}.ff-summary-columns div{border:3px solid var(--ff-ink);background:var(--ff-cream);border-radius:18px 12px 20px 11px/12px 19px 11px 18px;gap:6px;padding:14px;display:grid}.ff-summary-columns strong{font-size:32px}.ff-pass-details h4{margin:8px 0;font-size:19px}.ff-pass-details th,.ff-pass-details td{border-bottom:1px solid var(--ff-soft-gray);font-size:15px}.ff-stage-switch{flex-wrap:wrap;gap:12px;margin:14px 0 20px;display:flex}.ff-scene-review{margin-bottom:28px}.ff-provenance{grid-template-columns:max-content 1fr;gap:4px 14px;margin:6px 0 0;font-size:15px;line-height:1.45;display:grid}.ff-provenance dt{font-weight:700}.ff-provenance dd{margin:0}.ff-source{display:block}@media (width<=760px){.ff-choices,.ff-choices--2,.ff-choices--3{grid-template-columns:1fr;gap:16px}.ff-choices--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-choice-btn{min-height:60px}.ff-card-head{flex-wrap:wrap}.ff-summary-columns{grid-template-columns:1fr}}.ff-cover{aspect-ratio:16/9;background:var(--ff-white);width:100%;position:relative;overflow:hidden}.ff-cover-art{width:100%;height:100%;display:block;position:absolute;inset:0}.ff-cover-title{height:auto;position:absolute}.ff-cover--scene .ff-cover-title{width:40%;top:3%;left:22%}.ff-cover-fallback .ff-cover-title{width:60%;max-width:320px;position:static}.ff-cover--science .ff-cover-title{width:72%;top:6%;left:50%;transform:translate(-50%)}.ff-cover-mascot{width:15%;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}.ff-pack-cover,.ff-collection-cover{aspect-ratio:16/9;background:var(--ff-white);height:auto;display:block}.ff-collection-cover svg{transform:none}.ff-collection-tile--list .ff-collection-cover,.ff-pack-tile--list .ff-pack-cover{align-self:center;min-height:0}.feature-art{background:var(--ff-white);border:0}.ff-pack-tile,.ff-collection-tile{border:3px solid var(--ff-ink);box-shadow:none;border-radius:22px 14px 24px 13px/14px 22px 13px 24px}.ff-pack-cover,.ff-collection-cover{border-bottom:3px solid var(--ff-ink)}.ff-meta{color:var(--ff-muted-text);letter-spacing:0;font-size:13px}.ff-summary{color:var(--ff-body-muted);font-size:15px}.status-tag{background:var(--ff-stage-tag);color:var(--ff-ink);font-size:13px}.ff-banner-title img{width:auto;max-width:100%;height:clamp(48px,6vw,72px)}.page-banner,.ff-compact-banner{background:var(--ff-white);box-shadow:none;border:0;padding:6px 0}.feature{border:3px solid var(--ff-ink);border-radius:26px 18px 30px 20px/20px 28px 18px 26px}.feature .notice{background:var(--ff-cream);border-left:5px solid var(--ff-gold)}.hero,.ff-compact-hero{background:var(--ff-cream);box-shadow:none;border:3px solid var(--ff-ink);border-radius:26px 18px 30px 20px/20px 28px 18px 26px}.hero-visual,.ff-hero-art{background:0 0}.ff-hero-sparks{width:100%;height:100%;position:absolute;inset:0}.ff-compact-hero h1 span{color:var(--ff-ink);text-decoration:none}.ff-empty-mascot{justify-content:center;margin:4px 0 8px;display:flex}.ff-no-results,.ff-student-empty{border:3px solid var(--ff-soft-gray);text-align:center;background:var(--ff-white);border-radius:22px 14px 24px 13px/14px 22px 13px 24px}.ff-cover .labels{display:none}.ff-projector{grid-template-rows:auto 1fr;gap:8px;max-width:1600px;min-height:100vh;margin:0 auto;padding:12px clamp(12px,3vw,40px) 16px;display:grid}.ff-projector-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ff-projector-bar .ff-btn{min-height:44px;padding:4px 14px;font-size:16px}.ff-projector-stage{grid-template-rows:auto 1fr auto;align-content:start;gap:10px;display:grid}.ff-projector .ff-scene-title img{height:clamp(60px,9vh,110px)}.ff-projector .ff-scene svg.wc{width:auto;max-width:100%;max-height:68vh;margin:0 auto}.ff-projector .ff-caption{text-align:center;max-width:none;font-size:clamp(26px,3.4vh,40px)}.ff-projector-count{font-size:18px;font-weight:700}.ff-contact-sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;max-width:1400px;margin:0 auto;padding:12px;display:grid}.ff-contact-sheet figure{border:2px solid var(--ff-soft-gray);border-radius:10px;margin:0;padding:6px}.ff-contact-sheet figcaption{padding:2px 4px;font-size:14px;font-weight:700}.ff-logo img{width:190px}.header-inner{padding:6px 24px 2px}.header--compact .ff-logo img{width:auto;height:36px}.ff-main-nav{align-items:center;gap:8px;display:flex}.ff-menu{position:relative}.ff-icon-btn{min-width:44px;height:44px;font:700 16px/1 var(--ff-read);color:var(--ff-ink);background:var(--ff-white);cursor:pointer;border:2.5px solid var(--ff-ink);border-radius:12px 9px 13px 8px/9px 12px 8px 13px;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.ff-icon-btn:hover,.ff-icon-btn[aria-expanded=true]{background:var(--ff-hover)}.ff-menu-toggle{width:44px;padding:0}.ff-menu-panel{z-index:1200;background:var(--ff-white);border:2.5px solid var(--ff-ink);min-width:230px;max-width:calc(100vw - 16px);box-shadow:3px 4px 0 var(--ff-soft-gray);border-radius:16px 12px 17px 11px/12px 16px 11px 17px;padding:6px;display:block;position:fixed}.ff-menu-section+.ff-menu-section{border-top:1.5px solid var(--ff-soft-gray);margin-top:6px;padding-top:6px}.ff-menu-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--ff-muted-text);margin:4px 10px 2px;font-size:12px;font-weight:700}.ff-menu-item{width:100%;color:var(--ff-ink);border-radius:10px;padding:11px 12px;font-weight:700;text-decoration:none;display:block}.ff-menu-item:hover,.ff-menu-item:focus-visible{background:var(--ff-hover)}.ff-menu-item.is-active{background:var(--ff-stage-tag)}@media (width<=600px){.ff-logo img{width:150px}.header-inner{padding:6px 14px 2px}.ff-back-toggle span{display:none}.ff-back-toggle{width:44px;padding:0}}.ff-progress{width:100%;container-type:inline-size}.ff-progress ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,1.2cqi,12px);margin:0;padding:0;list-style:none;display:grid}.ff-seg{background:var(--ff-white);border:2.5px solid var(--ff-ink);border-radius:14px 11px 15px 10px/11px 14px 10px 15px;justify-content:space-between;align-items:center;gap:6px;min-height:34px;padding:4px 12px;font-size:15px;font-weight:700;line-height:1.1;display:flex;position:relative;overflow:hidden}.ff-seg-fill{width:calc(var(--fill,0) * 100%);background:var(--ff-leaf);transition:width .45s;position:absolute;inset:0 auto 0 0}.ff-seg-label,.ff-seg-count{white-space:nowrap;align-items:center;gap:6px;min-width:0;display:inline-flex;position:relative}.ff-seg-check{background:var(--ff-white);width:20px;height:20px;color:var(--ff-leaf-dark);border:2px solid var(--ff-ink);border-radius:50%;place-items:center;font-size:13px;display:inline-grid}.ff-seg-try{background:var(--ff-white);border:1.5px solid var(--ff-ink);border-radius:8px;padding:1px 6px;font-size:12px}.ff-seg-count{font-size:13px}.ff-seg.is-current{box-shadow:0 0 0 3px var(--ff-glow)}.ff-seg.is-next{border-color:var(--ff-soft-gray);color:var(--ff-muted-text)}@media (prefers-reduced-motion:reduce){.ff-seg-fill{transition:none}}@container (width<=460px){.ff-seg-count{display:none}.ff-seg{justify-content:center;padding:4px 8px}}@container (width<=340px){.ff-seg-try{display:none}.ff-seg{padding:4px 6px;font-size:14px}.ff-seg-check{width:18px;height:18px}}body.ff-fit{--gx:clamp(8px,3vw,48px);--gy:clamp(6px,2.5vh,28px);--chrome:48px}body.ff-fit #root{flex-direction:column;height:100dvh;display:flex}body.ff-fit .header{flex:none}body.ff-fit .ff-player{width:100%;max-width:none;min-height:0;padding:2px var(--gx) var(--gy);flex-direction:column;flex:auto;margin:0;display:flex}body.ff-fit .ff-session{flex-direction:column;flex:auto;justify-content:center;align-items:center;width:100%;max-width:none;min-height:0;margin:0;display:flex}body.ff-fit .ff-card{flex-direction:column;flex:0 auto;gap:clamp(6px,1.4vh,14px);width:100%;min-height:0;max-height:100%;padding:clamp(10px,1.8vh,20px) clamp(14px,2.4vw,32px);display:flex}body.ff-fit .ff-progress{flex:none}body.ff-fit .ff-card-body{flex:auto;grid-template:"visual"minmax(80px,1fr)"side""bar"/minmax(0,1fr);gap:clamp(8px,1.6vh,16px);min-height:0;display:grid}body.ff-fit .ff-card-visual{flex-direction:column;grid-area:visual;gap:6px;min-height:0;display:flex;overflow:hidden}body.ff-fit .ff-card-visual>.ff-scene-title{flex:none}body.ff-fit .ff-card-side{flex-direction:column;grid-area:side;justify-content:safe center;gap:clamp(6px,1.2vh,12px);min-height:0;display:flex}body.ff-fit .ff-card-bar{grid-area:bar}body.ff-fit .ff-scene,body.ff-fit .ff-scene-tap{flex:auto;justify-content:center;min-height:0;display:flex}body.ff-fit .ff-scene svg.wc,body.ff-fit .ff-scene--compact svg.wc{width:100%;height:100%;max-height:none}body.ff-fit .ff-scene-title img{height:clamp(30px,5.5vh,60px)}body.ff-fit .ff-caption,body.ff-fit .ff-explanation{max-width:none;margin:0}body.ff-fit .ff-session-complete{display:block;overflow:auto}.ff-qcard{flex-direction:column;gap:clamp(8px,1.4vh,14px);display:flex}body.ff-fit .ff-prompt{text-align:center;text-wrap:pretty;margin:0 auto}body.ff-fit .ff-howto{margin:0;font-size:15px}body.ff-fit .ff-choices{gap:clamp(10px,1.6vh,16px)}body.ff-fit .ff-choice-btn{min-height:clamp(50px,6.8vh,64px);padding:10px 20px}@media (pointer:coarse){body.ff-fit .ff-choice-btn{min-height:52px}.ff-chip,.ff-drop-slot{min-height:48px}}.ff-feedback-slot{min-height:calc(2 * 1.3 * var(--ff-type-choice));justify-content:center;align-items:flex-start;display:flex}.ff-feedback-line{text-align:center;font:700 var(--ff-type-choice)/1.3 var(--ff-read);text-wrap:balance;margin:0}.ff-feedback-line.is-correct{color:var(--ff-leaf-dark)}.ff-feedback-line.is-retry{color:var(--ff-red)}.ff-card-bar{justify-content:flex-end;align-items:center;gap:14px;min-height:52px;display:flex}.ff-card--review .ff-card-bar,.ff-card--mastery .ff-card-bar{min-height:72px}body.ff-fit .ff-card-bar{border-top:2px solid var(--ff-choice-neutral);padding-top:clamp(6px,1.2vh,12px)}.ff-card-next{flex:none}.ff-card-next .ff-btn{min-width:132px}.ff-reaction{align-items:center;gap:10px;min-width:0;display:flex}.ff-reaction-mascot{flex:none;width:60px}.ff-bubble{background:var(--ff-white);border:2.5px solid var(--ff-ink);border-radius:22px 18px 24px 16px/18px 22px 16px 24px;align-items:center;padding:7px 14px;display:inline-flex;position:relative}.ff-bubble img{width:auto;max-width:none;height:24px;display:block}.ff-bubble-tail{width:18px;height:20px;position:absolute;top:50%;right:-15px;overflow:visible;transform:translateY(-50%)}.ff-bubble-tail path{fill:var(--ff-white);stroke:var(--ff-ink)}.ff-match{flex-direction:column;gap:clamp(8px,1.2vh,12px);display:flex}.ff-match-rows{grid-template-columns:auto max-content minmax(0,1fr);align-items:center;gap:6px 10px;margin:0;padding:0;list-style:none;display:grid}.ff-match-row{display:contents}.ff-match-row .ff-badge{width:30px;height:30px;font-size:17px}.ff-match-key{grid-column:span 2;grid-template-columns:subgrid;color:var(--ff-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:grid}.ff-match-key[disabled]{cursor:default}.ff-match-label{font-size:var(--ff-type-feedback);line-height:1.25}.ff-drop-slot{min-height:48px;font:700 16px/1.2 var(--ff-read);color:var(--ff-ink);cursor:pointer;text-align:center;background:var(--ff-white);border:2.5px dashed var(--ff-soft-gray);border-radius:14px 10px 15px 9px/10px 14px 9px 15px;padding:3px 10px}.ff-drop-slot.is-active{border-color:var(--ff-orange)}.ff-drop-slot.is-over{border-color:var(--ff-orange);background:var(--ff-hover);border-style:solid}.ff-drop-slot.is-filled{border:2.5px solid var(--ff-ink);background:var(--ff-choice-neutral);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.ff-drop-slot.is-correct{background:var(--ff-gold);border:2.5px solid var(--ff-ink);cursor:default}.ff-chip-bank{flex-wrap:wrap;justify-content:center;gap:6px 8px;display:flex}.ff-chip{min-height:44px;font:700 var(--ff-type-feedback)/1.2 var(--ff-read);color:var(--ff-ink);background:var(--ff-choice-neutral);border:3px solid var(--ff-ink);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:18px 12px 20px 11px/12px 19px 11px 18px;align-items:center;gap:8px;padding:4px 14px;display:inline-flex}.ff-chip:hover:not([disabled]){background:var(--ff-white)}.ff-chip.is-used{background:var(--ff-white);opacity:.55}.ff-chip.is-dragging{opacity:.35}.ff-chip[disabled]{cursor:default;opacity:.55}.ff-chip .ff-badge{border-width:2.5px;width:26px;height:26px;font-size:15px}.ff-drag-ghost{z-index:1300;pointer-events:none;background:var(--ff-gold);box-shadow:3px 4px 0 var(--ff-soft-gray);position:fixed;transform:translate(-50%,-60%)rotate(-3deg)}.ff-choices--steps .ff-choice-btn{text-align:left;min-height:48px;font-size:var(--ff-type-feedback);justify-content:flex-start}@media (width>=860px) and (aspect-ratio>=5/4){body.ff-fit{--card-w:min(100vw - 2 * var(--gx),1440px,calc((100dvh - var(--chrome) - var(--gy) - 2px) * 2))}body.ff-fit .ff-card{width:min(100%,var(--card-w));aspect-ratio:2;flex:none;max-height:none}body.ff-fit .header--compact .header-inner{max-width:calc(var(--card-w) + 2 * var(--gx));padding-inline:var(--gx)}body.ff-fit .ff-card-body{grid-template:"visual side""bar bar"/minmax(0,1.75fr) minmax(320px,1fr);column-gap:clamp(20px,3vw,44px)}body.ff-fit .ff-card-side{overflow:visible}body.ff-fit .ff-choices{grid-template-columns:1fr}body.ff-fit .ff-choices--2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.ff-card-bar{gap:10px}.ff-card-next .ff-btn{min-width:96px}.ff-bubble{padding:5px 10px}.ff-bubble img{height:20px}.ff-match{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:8px 10px;display:grid}.ff-match>.ff-howto{grid-column:1/-1}.ff-match-rows{grid-template-columns:1fr;gap:8px}.ff-match-row .ff-drop-slot{display:none}.ff-match-key{border:2.5px dashed var(--ff-soft-gray);background:var(--ff-white);border-radius:14px 10px 15px 9px/10px 14px 9px 15px;grid-column:1;gap:8px;min-height:48px;padding:4px 8px;display:flex}.ff-match-key.is-active{border-color:var(--ff-orange)}.ff-match-key.is-over{border-color:var(--ff-orange);background:var(--ff-hover);border-style:solid}.ff-match-key.is-filled{border:2.5px solid var(--ff-ink)}.ff-match-key.is-correct{background:var(--ff-gold);border:2.5px solid var(--ff-ink)}.ff-match-label{font-size:16px}.ff-chip-bank{flex-flow:column;align-items:stretch;gap:8px}.ff-chip{text-align:left;padding:4px 10px;font-size:16px;line-height:1.2}.ff-chip.is-used{opacity:.7}.ff-chip.is-correct{background:var(--ff-gold);opacity:1}body.ff-fit .ff-howto{font-size:14px}}.header--compact .header-inner{padding:4px 16px}.header--compact .ff-icon-btn{min-width:40px;height:40px}.header--compact .ff-menu-toggle{width:40px}@media (width<=600px),(height<=500px){.header--compact .logo{display:none}.header--compact .header-inner{justify-content:flex-end;padding:4px 10px 0}}.ff-back-toggle{font-weight:700}.ff-series-count{color:var(--ff-ink);margin:8px 0 12px;font-weight:700}.ff-open-series{width:max-content}.ff-pack-actions{justify-content:flex-start}.button.ff-btn--quiet{background:var(--ff-white)}.ff-start-over-confirm{flex-wrap:wrap;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}@media (width<=600px){.header:not(.header--compact) .ff-logo img{width:auto;height:34px}}.ff-choices.ff-choices--long,body.ff-fit .ff-choices.ff-choices--long{grid-template-columns:1fr}
