.fq{--fq-ink:var(--app-ink,#212e57);--fq-blue:var(--app-blue,#1f54cc);--fq-mint:var(--app-mint,#cff5d9);--fq-purple:var(--app-purple,#6e38b8);color:var(--fq-ink);max-width:1800px;margin:auto}.fq button,.fq select,.fq input{min-height:48px}.fq button{touch-action:manipulation}.fq button:focus-visible,.fq a:focus-visible,.fq input:focus-visible{outline:3px solid var(--fq-purple);outline-offset:4px}.fq-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:32px}.fq-toolbar a{margin-right:auto;font-weight:700}.fq-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center;padding:clamp(16px,3vw,64px) 0 60px}.fq-hero h1{font-size:clamp(36px,4.1vw,74px);line-height:1.05;margin:20px 0}.fq-hero p{max-width:620px}.fq-village-intro{background:linear-gradient(160deg,var(--app-sky,#cce8ff),var(--app-lavender,#e6d6ff) 65%,var(--fq-mint));border-radius:44% 44% 28px 28px;min-height:380px;display:flex;align-items:center;justify-content:center;position:relative;padding:60px 20px 100px}.fq-character{max-width:45%;height:auto;flex-shrink:0;overflow:visible}.fq-village-intro .fq-character{animation:fq-breathe 5s ease-in-out infinite alternate;transform-origin:bottom}.fq-village-intro .fq-character:nth-child(2){animation-delay:1.2s}.fq-speech{position:absolute;top:24px;right:20px;background:white;border-radius:20px;padding:12px 22px;box-shadow:0 8px 25px #2639630c;font-weight:700}.fq-intro-pieces{position:absolute;bottom:25px;left:15%;right:15%}.fq-section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:30px 0}.fq-section-title h2{margin:8px 0}.fq-section-title>span{font-size:14px;color:#647393}.fq-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.fq-location{background:#fff;border:1px solid #d4e0f3;border-radius:26px;padding:26px;box-shadow:0 8px 22px #26396305;display:flex;flex-direction:column}.fq-location.restored{border-color:#83c6a6}.fq-location-top{display:flex;align-items:center;gap:12px}.fq-place{width:130px;height:auto;max-width:100%}.fq-unrestored{filter:saturate(.65)}.fq-badge{font-size:12px;font-weight:700;background:#edf3fd;border-radius:18px;padding:8px 12px}.fq-location .eyebrow{margin-top:14px;font-size:10px;letter-spacing:.12em}.fq-location h3{font-size:24px;margin:10px 0}.fq-location p{font-size:14px;margin:5px 0 15px}.fq-lesson-list{display:flex;flex-direction:column;gap:5px;margin:10px 0 20px}.fq-lesson-list button{background:#f3f6fd;border:1px solid transparent;color:var(--fq-ink);border-radius:10px;text-align:left;font:inherit;padding:12px;display:flex;flex-direction:column;gap:4px;box-shadow:none}.fq-lesson-list button:hover:not(:disabled){background:var(--app-lavender,#e6d6ff);border-color:#bd9fe3}.fq-lesson-list small{font-size:12px;color:#636f8d}.fq-lesson-list button:disabled{opacity:.6;cursor:not-allowed}.fq-location-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.fq-text-button{background:transparent;color:#6c51a1;box-shadow:none;border:0}.fq-location details{margin-top:15px;font-size:13px}.fq-location summary{cursor:pointer;min-height:32px}.fq-how,.fq-warmup{background:#e5edfC;border:1px solid #d2e1fa;border-radius:26px;padding:28px;margin:30px 0}.fq-warmup{background:#d6f1e2}.fq-how>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.fq-how p{display:flex;gap:12px;align-items:center}.fq-how b{background:#fff;border-radius:50%;padding:8px 15px;color:#7355ad}.fq-lesson-heading{max-width:1100px;margin:0 auto 25px}.fq-lesson-heading h1{font-size:clamp(30px,3.4vw,54px)}.fq-steps{display:flex;gap:12px;flex-wrap:wrap}.fq-steps span{font-size:14px;padding:8px 16px;background:#e8edf8;border-radius:30px}.fq-steps [aria-current]{background:#dcd0f1;color:#503389;font-weight:700}.fq-workspace,.fq-practice{max-width:1100px;margin:auto;background:white;border:1px solid #d1def1;border-radius:30px;padding:clamp(18px,3vw,44px)}.fq-story-title{display:flex;align-items:center;gap:16px;margin-bottom:18px}.fq-story-title h2{margin:5px 0;font-size:28px}.fq-story-screen{aspect-ratio:16/9;background:linear-gradient(160deg,#edf5ff,#f0eafb);border-radius:22px;position:relative;display:flex;align-items:center;justify-content:center;padding:4% 10%;overflow:hidden}.fq-story-place{position:absolute;left:1%;top:1%;opacity:.45;width:15%}.fq-story-math{width:100%;max-height:100%;overflow:auto;background:#ffffffed;border-radius:20px;padding:20px;z-index:1}.fq-story-math>*{animation:fq-reveal .8s ease-in-out both}.fq-story-friend{position:absolute;bottom:0;right:0;width:14%;opacity:.8}.fq-story-friend .fq-character{max-width:100%}.fq-caption{font-size:clamp(18px,2vw,25px);text-align:center;min-height:3.3em;color:#344b72}.fq-story-dots{display:flex;gap:8px;justify-content:center;margin:15px}.fq-story-dots span{width:9px;height:9px;border-radius:20px;background:#d8e2ef}.fq-story-dots .current{width:27px;background:#8060b5}.fq-model{display:flex;flex-direction:column;gap:10px;margin:18px auto;width:100%}.fq-whole{display:grid;grid-template-columns:repeat(var(--parts),minmax(0,1fr));border:2px solid var(--piece);border-radius:10px;overflow:hidden;min-height:68px;background:white}.fq-piece{background:color-mix(in srgb,var(--piece) 18%,white);border:0;border-right:2px solid white;display:flex;align-items:center;justify-content:center;min-width:0;border-radius:0;color:#23375e;box-shadow:none;padding:8px 0;font:700 13px system-ui}.fq-piece:last-child{border-right:0}.fq-piece.filled{background:var(--piece);color:white}.fq-piece>span{opacity:.75}.fq-set{gap:12px;border:0;overflow:visible}.fq-set .fq-piece{border-radius:50%;aspect-ratio:1;min-height:0;border:3px solid var(--piece)}.fq-circle{max-height:260px;width:100%;display:block;margin:auto}.fq-number{display:inline-flex;gap:.2em;align-items:center;vertical-align:middle;line-height:1.1}.fq-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;font-family:inherit;line-height:1.15;min-width:1em}.fq-frac>span:first-child,.fq-frac>label:first-child{border-bottom:2px solid currentColor;padding:0 .12em .1em}.fq-frac>span:last-child{padding-top:.1em}.fq-equation{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;font-size:clamp(24px,3vw,40px);margin:22px 0;font-weight:650}.fq-equation button{font-size:inherit}.fq-line{display:block;width:100%;margin:12px auto;color:#263963}.fq-line text{font:25px system-ui;fill:#263963}.fq-fair{display:flex;min-height:130px;border:3px solid #52688f;border-radius:14px;overflow:hidden;margin:25px auto;max-width:650px}.fq-fair span{display:flex;align-items:center;justify-content:center;border-right:3px solid white;transition:width .5s ease-in-out;color:#263963;font-weight:700}.fq-fair span:last-child{border:0}.fq-turned{transform:rotate(180deg)}.fq-area{display:grid;grid-template-columns:repeat(var(--columns),1fr);border:2px solid #667b9b;max-width:600px;margin:15px auto;aspect-ratio:2}.fq-area span{background:#f5f7fc;border:1px solid white;display:flex;align-items:center;justify-content:center;min-height:12px}.fq-area .col-selected{background:#c6daef}.fq-area .row-selected{background:#dfd0ee}.fq-area .col-selected.row-selected{background:#7957b6;color:white}.fq-operation{text-align:center;font-size:26px}.fq-explore-scene{background:#f1f6ff;border-radius:20px;padding:25px;min-height:230px;overflow:hidden}.fq-explore-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px 0}.fq-explore-controls label{min-width:180px}.fq-slider{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.fq-slider input{min-width:180px;flex:1}.fq-result{font-size:21px;line-height:1.9;text-align:center;background:#eef3fc;border-radius:15px;padding:18px}.fq-model-row{display:flex;gap:20px;align-items:center}.fq-model-row>*{width:50%}.fq-wall-row{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:12px;margin:10px 0}.fq-wall-bar{height:34px;display:grid;grid-template-columns:repeat(var(--parts),1fr);position:relative}.fq-wall-bar i{border:1px solid white}.fq-wall-guide{position:absolute;height:100%;border-left:3px dashed #263963;top:0}.fq-practice-top{display:flex;justify-content:space-between;gap:15px}.fq-practice progress{width:100%;height:9px;accent-color:#7c59b3;margin:15px 0}.fq-practice h2{text-align:center;font-size:clamp(22px,2.5vw,34px)}.fq-practice #fq-question-model{max-width:800px;margin:auto}.fq-options{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px}.fq-options button{background:#edf3fd;color:#263963;border:2px solid #d4dff2;box-shadow:none;min-width:85px;font-size:22px}.fq-options button[aria-pressed=true]{border-color:#7954b7;background:#e5d6f6}.fq-keypad{display:flex;align-items:center;justify-content:center;gap:20px;margin:20px auto}.fq-keypad input{width:100px;font-size:26px;text-align:center;border:1px solid #b2c3dd;min-height:54px}.fq-keypad .fq-frac{gap:8px}.fq-keypad .fq-frac>label{margin:0;padding-bottom:7px}.fq #fq-answer>.actions{justify-content:center}.fq #fq-integer{max-width:180px;margin:auto;font-size:26px;text-align:center}.fq-feedback{min-height:2em;padding:14px;text-align:center;color:#365780;font-weight:650}.fq-worked{background:#eff6f3;border-radius:18px;padding:18px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.fq-worked p{flex:1}.fq [hidden]{display:none!important}.fq-celebrate{max-width:850px;padding:45px;margin:auto;text-align:center;background:white;border-radius:30px;border:1px solid #d1def1}.fq-celebrate .fq-character{animation:fq-breathe 3s ease-in-out infinite alternate}.fq-celebrate .actions{justify-content:center}.fq-celebrate h1{font-size:clamp(30px,4vw,50px)}.fq-celebrate .fq-place{display:block;margin:20px auto}.fq-stars{font-size:44px;color:#b28526;letter-spacing:10px}.fq-report{background:white;padding:32px;border-radius:24px}.fq-report h1{font-size:36px}.fq-report-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.fq-report-stats>div{background:#edf4fd;padding:20px;border-radius:15px}.fq-report-stats b{display:block;font-size:32px;color:var(--fq-blue)}.fq-offline{background:#d9f1e3;padding:20px;border-radius:18px}.fq-report-map{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin:20px 0}.fq-report-map small{display:block;text-align:center}.fq-table-wrap{overflow:auto}.fq-report table{border-collapse:collapse;width:100%;font-size:14px}.fq-report th,.fq-report td{text-align:left;padding:12px;border-bottom:1px solid #dbe4f1}.fq-certificate{text-align:center;background:white;border:8px double #8c77b6;padding:45px}.fq-patterns .fq-piece.filled{background-image:repeating-linear-gradient(45deg,transparent,transparent 8px,#ffffff55 8px,#ffffff55 11px)}.fq-patterns .fq-area .col-selected.row-selected{background-image:repeating-linear-gradient(45deg,transparent,transparent 6px,#fff5 6px,#fff5 9px)}
@keyframes fq-breathe{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-7px) rotate(1deg)}}@keyframes fq-reveal{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.fq-map-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){.fq-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fq-hero{gap:25px}.fq-speech{font-size:13px}.fq-village-intro{min-height:320px}.fq-report-map{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){.fq-hero{grid-template-columns:1fr;padding:10px 0 30px}.fq-village-intro{min-height:280px;order:2}.fq-map-grid{grid-template-columns:1fr}.fq-toolbar{gap:8px}.fq-toolbar button{font-size:12px;padding:8px 12px}.fq-toolbar a{width:100%}.fq-section-title{align-items:start;flex-direction:column}.fq-how>div{grid-template-columns:1fr}.fq-workspace,.fq-practice{padding:16px;border-radius:20px}.fq-story-title h2{font-size:23px}.fq-story-screen{padding:4%;min-height:230px;aspect-ratio:auto}.fq-story-math{padding:10px}.fq-story-friend{display:none}.fq-story-math .fq-equation{font-size:23px;gap:8px}.fq-whole{min-height:60px}.fq-whole:has(button){min-width:calc(var(--parts)*48px)}.fq-model:has(button){overflow-x:auto;padding-bottom:12px}.fq-equation{gap:10px}.fq-explore-scene{padding:12px}.fq-result{font-size:18px}.fq-explore-controls label{width:100%}.fq-options{margin:15px 0}.fq-options button{min-width:65px}.fq-celebrate{padding:25px 16px}.fq-report{padding:18px}.fq-report-stats{grid-template-columns:1fr}.fq-report-map{grid-template-columns:repeat(4,1fr)}.fq-steps{gap:5px}.fq-steps span{font-size:12px;padding:7px 10px}.fq-caption{font-size:18px}.fq-piece>span{font-size:11px}.fq-model-row{flex-direction:column}.fq-model-row>*{width:100%}}
@media(prefers-reduced-motion:reduce){.fq *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body>header,body>footer,.fq-toolbar,.fq button{display:none!important}.fq-report,.fq-certificate{border:0;padding:0}.fq-report h1{font-size:24px}.fq-report table{font-size:10px}.fq-report td,.fq-report th{padding:4px}.fq-report-map{grid-template-columns:repeat(8,1fr)}.fq-report .fq-place{max-height:70px}.fq-report p{font-size:11px}.fq-report-stats{grid-template-columns:repeat(3,1fr)}.fq-report-stats>div{padding:8px}.fq-report-stats b{font-size:22px}.fq-table-wrap{overflow:visible}}
.fq-public-lesson{padding:10px 0;border-bottom:1px solid #edf1f8;font-size:14px}.fq button:not(.outline):not(.fq-text-button):not([data-lesson]):not(.fq-piece):not([data-value]):not([data-order]){background:var(--fq-blue);color:#fff}.fq .fq-text-button{background:transparent;color:#6c51a1}
.fq-hero>*{min-width:0}.fq-village-intro .fq-character{flex:0 1 45%;min-width:0}.fq-hero .actions{min-width:0}.fq-intro-pieces .fq-model{max-width:100%}@media(max-width:700px){.fq-hero{grid-template-columns:minmax(0,1fr)}.fq-speech{left:15px;right:15px;text-align:center;font-size:12px}}
.fq-overlap{height:100px;position:relative;max-width:650px;margin:20px auto}.fq-overlap i{height:90px;position:absolute;left:0;top:0;border:3px solid #70539d;background:#b49bd780}.fq-overlap i:last-child{background:#78b89c80;border-color:#358263;animation:fq-stack 1.5s ease-in-out both}.fq-cut-horizontal{transform:rotate(90deg);max-width:250px}.fq h1:focus,.fq h2:focus{outline:none}@keyframes fq-stack{from{transform:translateX(60%)}to{transform:translateX(0)}}
.fq-story-math .fq-piece.filled{animation:fq-fill .8s ease-in-out both;animation-delay:calc(var(--i)*.12s)}.fq-story-math .fq-area .col-selected.row-selected{animation:fq-fill 1s ease-in-out both}.fq-story-math .fq-line circle{animation:fq-glow 3s ease-in-out infinite}.fq-story-math .fq-circle path{animation:fq-fill 1s ease-in-out both}@keyframes fq-fill{0%{opacity:.15;transform:scale(.92)}65%{opacity:1;transform:scale(1.03)}100%{opacity:1;transform:scale(1)}}@keyframes fq-glow{0%,100%{filter:drop-shadow(0 0 0 #9672cc00)}50%{filter:drop-shadow(0 0 9px #9672cc88)}}
@media(prefers-reduced-motion:reduce){.fq-story-math *{animation:none!important}}
.fq-contrast .fq-piece{background:#fff;color:#17263e;border-color:#17263e}.fq-contrast .fq-piece.filled{background:#173d75;color:white}.fq-contrast .fq-circle,.fq-contrast .fq-line,.fq-contrast .fq-fair,.fq-contrast .fq-wall-bar{filter:grayscale(1) contrast(1.5)}.fq-contrast .fq-area .col-selected{background:#bacce4}.fq-contrast .fq-area .row-selected{background:#d4d4d4}.fq-contrast .fq-area .col-selected.row-selected{background:#173d75;color:white}
.fq-grid{grid-template-columns:repeat(var(--cols),minmax(0,1fr))}.fq-grid .fq-piece{min-height:64px;border:1px solid white}.fq-grid:has(button){min-width:calc(var(--cols)*48px)}

.fq-scene-paused *{animation-play-state:paused!important}
/* Detailed discovery missions: one model, large controls, mouse/touch/keyboard paths. */
.fq-explorer-head{display:flex;align-items:center;gap:18px}.fq-explorer-head h2{margin:8px 0}.fq-mission{padding:22px;background:var(--app-background,#f2f7ff);border-radius:20px;margin:20px 0}.fq-mission h3{line-height:1.5}.fq-mission button{margin:5px}.fq-entry{display:inline-flex;flex-direction:column;margin:10px 18px 10px 0;gap:10px;max-width:100%}.fq-entry-boxes{display:flex;align-items:center;gap:12px}.fq-entry input{width:90px!important;max-width:24vw;text-align:center}.fq-entry .fq-frac{font-size:22px;gap:5px}.fq-entry .fq-frac>input:first-child{border-bottom:2px solid var(--fq-ink)}.fq-explore-controls{align-items:center;gap:14px}.fq-explore-controls>label{min-width:180px;max-width:100%}.fq-sort-food{display:block;width:min(100%,520px);margin:auto;background:white;color:var(--fq-ink);touch-action:none}.fq-sort-food .fq-fair{pointer-events:none}.fq-stack-check{min-height:140px;position:relative;max-width:480px;margin:20px auto}.fq-stack-check>div{height:48px;border:3px solid;position:absolute;left:0;top:20px;background:#cce8ff80;border-radius:8px;padding:6px;max-width:100%}.fq-stack-check>div:nth-child(2){top:32px}.fq-stack-check>div:nth-child(3){top:44px}.fq-stack-check>div:nth-child(4){top:56px}.fq-cut-cookie{width:min(100%,350px);display:block;margin:auto;touch-action:none}.fq-cut-ways{display:flex;flex-wrap:wrap;gap:18px;justify-content:center}.fq-cut-ways span{padding:10px;background:var(--app-lavender);border-radius:10px}.fq-zigzag{width:min(100%,500px);display:block;margin:20px auto}.fq-share-ruler{border:2px solid var(--fq-ink);border-radius:10px;max-width:580px;margin:20px auto}.fq-share-ruler>span{display:block;min-height:64px;color:white;transition:width .5s ease-in-out}.fq-share-ruler p{padding:10px}.fq-match-model{border:1px solid var(--line);border-radius:18px;padding:16px;margin:14px 0}.fq-tap-circle svg{display:block;width:220px;max-width:100%;margin:auto}.fq-sector-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.fq-sector-controls button{min-width:48px;background:white;color:var(--fq-ink);border:1px solid var(--line)}.fq-sector-controls button[aria-pressed=true]{background:var(--app-lavender);border:2px solid var(--fq-purple)}.fq-stone-bank{display:flex;gap:8px;flex-wrap:wrap}.fq-stone-bank button{touch-action:none}.fq-bridge{height:130px;position:relative;margin:35px 24px;cursor:crosshair;touch-action:none}.fq-bridge-track{position:absolute;top:65px;width:100%;height:8px;background:var(--app-navigation);border:1px solid var(--fq-ink);pointer-events:none}.fq-end{position:absolute;top:85px}.fq-end.end{right:0}.fq-stone{position:absolute;top:37px;transform:translateX(-50%);width:48px;height:48px;border-radius:50%;background:var(--app-lavender);display:grid;place-items:center;z-index:1;pointer-events:none}.fq-hop-lengths{display:flex;max-width:100%;font-size:60px;color:var(--fq-purple)}.fq-hop-lengths span{text-align:center;overflow:hidden}.fq-edge-row{position:relative;display:grid;grid-template-columns:repeat(var(--parts),minmax(0,1fr));gap:2px}.fq-edge-row button{background:color-mix(in srgb,var(--piece) 20%,white);color:var(--fq-ink);padding:8px 2px;border:1px solid var(--piece);border-radius:3px;min-width:0}.fq-edge-row .fq-frac{font-size:15px}.fq-laser{position:absolute;top:-9px;bottom:-9px;width:3px;background:var(--fq-purple);pointer-events:none}.fq-glow{box-shadow:0 0 0 3px var(--app-sunshine),0 0 18px #ffe88799}.fq-falling-card{animation:fq-arrive .6s ease-in-out;background:var(--app-lavender);border-radius:18px;padding:20px;display:table;margin:15px auto;touch-action:none;font-size:40px}.fq-race-tracks .fq-line circle{animation:fq-arrive .8s ease-in-out}.fq-podium,.fq-podium-cards{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.fq-podium button,.fq-podium-cards button{min-width:95px;touch-action:none}.fq-wrong-model{border:2px dashed #ae6252;padding:14px;border-radius:15px}.fq-cups,.fq-friends{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px}.fq-cups>div,.fq-friends>div{padding:12px;border:1px solid var(--line);border-radius:16px}.fq-poured{opacity:.45;transform:rotate(-4deg)}.fq-explore-success{box-shadow:0 0 0 3px var(--app-mint)}[data-drag]{touch-action:none;position:relative;z-index:2}[data-drag][aria-pressed=true]{outline:3px solid var(--fq-purple);outline-offset:3px}.fq-explore-scene .fq-piece{min-width:0}.fq-jug{max-width:500px;margin:auto;border:3px solid var(--app-blue);border-radius:10px 10px 50px 50px;padding:20px}@keyframes fq-arrive{from{opacity:.2;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.fq-wall-row{display:block}.fq-edge-row{overflow-x:auto;grid-template-columns:repeat(var(--parts),minmax(48px,1fr))}.fq-explore-controls>label{min-width:0;width:100%}.fq-explorer-head{gap:10px}.fq-explorer-head h2{font-size:25px}}@media(prefers-reduced-motion:reduce){.fq-falling-card,.fq-race-tracks .fq-line circle{animation:none}.fq-share-ruler>span{transition:none}}
.fq-cut-cake{width:100%;max-width:700px;touch-action:none}.fq-cut-cake [data-cut]{cursor:grab}.fq-cut-accessible{display:flex;flex-wrap:wrap;gap:12px}.fq-cut-accessible label{flex:1 1 160px}.fq-cut-accessible input{width:100%;min-height:44px}.fq-cake-tools{display:flex;flex-wrap:wrap;gap:8px}.fq-story-step{animation:fq-soft-arrival .65s ease-in-out}.fq-scene-note{max-width:48ch;margin:18px auto;font-weight:700}.fq-story-step .filled{box-shadow:0 0 12px #f4d77844}@keyframes fq-soft-arrival{from{opacity:.25;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.fq-story-step{animation:none}}
.fq-sort-practice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fq-sort-practice fieldset{border:1px solid #cad8ee;border-radius:18px;padding:16px}.fq-sort-practice svg{width:100%;max-height:150px}.fq-sort-practice button{margin:4px;min-width:80px}@media(max-width:500px){.fq-sort-practice{grid-template-columns:1fr}}
.fq-world-background{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.fq-story-math{position:relative;z-index:1;background:#fffaf0f5;border-radius:24px;padding:clamp(12px,2vw,26px)}.fq-story-screen .fq-story-place,.fq-story-screen .fq-story-friend{z-index:2}.fq-child{width:75px;max-height:130px}.fq-boss-scene{position:relative;height:180px;overflow:hidden;border-radius:22px;margin:16px 0}.fq-boss-cast{position:absolute;inset:auto 15px 0;display:flex;justify-content:space-between;align-items:end}.fq-boss-props{position:absolute;width:160px;left:calc(50% - 80px);top:15px}.fq-boss-props svg{max-height:90px}.fq-festival{position:relative;min-height:460px;padding:35px 20px;overflow:hidden;border-radius:28px;text-align:center}.fq-festival>*:not(.fq-world-background){position:relative;z-index:1}.fq-festival-cast{display:flex;align-items:end;justify-content:center;gap:10px;padding-top:45px}.fq-festival-cast>*{max-width:15%;animation:fq-celebrate 2.4s ease-in-out infinite alternate}.fq-festival-fireworks{display:flex;justify-content:space-around;max-height:100px}.fq-festival-fireworks>*{max-width:100px;animation:fq-soft-arrival 4s ease-in-out infinite alternate}.fq-lanterns{display:flex;justify-content:space-around}.fq-lanterns i{width:16px;height:25px;border-radius:50%;background:#ffe887;animation:fq-lantern 2s ease both;animation-delay:calc(var(--i)*.6s)}@keyframes fq-lantern{from{opacity:.15}to{opacity:1;box-shadow:0 0 20px #ffda71}}@keyframes fq-celebrate{to{transform:translateY(-9px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){.fq-festival *{animation:none!important}}
.fq-scene-paused .fq-story-step{animation:none;opacity:1;transform:none}
.fq-bridge-row .fq-edge-row{height:94px;display:block;background:none;border:0;border-bottom:4px solid #385075;margin-right:35px}.fq-bridge-row [data-edge]{position:absolute;bottom:-22px;transform:translateX(-50%);width:44px;min-width:44px;height:65px;padding:2px;background:var(--app-surface,#f4f8ff);border:1px solid #b8c9e4}.fq-bridge-row [data-edge] .fq-number{font-size:16px}.fq-bridge-row .fq-laser{height:120%;top:-8px}.fq-race-tracks circle{animation:fq-run-track 1.8s ease-in-out both}@keyframes fq-run-track{from{transform:translateX(var(--race-distance))}to{transform:translateX(0)}}.fq-zig-stack path:last-child{transform-origin:200px 90px;animation:fq-zig-turn 2s ease-in-out both}@keyframes fq-zig-turn{to{transform:rotate(180deg)}}@media(prefers-reduced-motion:reduce){.fq-race-tracks circle{animation:none}.fq-zig-stack path:last-child{animation:none;transform:rotate(180deg)}}
.fq-hop-pip{transform:translateX(var(--hop-x));animation:fq-hop-cross 1.8s ease-in-out both}@keyframes fq-hop-cross{from{transform:translateX(0)}to{transform:translateX(var(--hop-x))}}@media(prefers-reduced-motion:reduce){.fq-hop-pip{animation:none}}
.fq-festival.fq-scene-paused *{animation-play-state:paused!important}.fq-festival-cast>*{animation-iteration-count:18}.fq-festival-fireworks>*{animation-iteration-count:10}
.fq .fq-bridge-row button[data-edge]{background:var(--app-surface,#f4f8ff);color:var(--fq-ink);border-color:var(--piece);border-radius:9px;box-shadow:none}.fq .fq-bridge-row button[data-edge].fq-glow{background:var(--piece);color:white}.fq-explore-scene:has(.fq-bridge-row){overflow-x:auto}.fq-bridge-row{min-width:650px}.fq-piece{background:color-mix(in srgb,var(--piece) 20%,white);outline:1px solid var(--piece);outline-offset:-1px}.fq-story-place{opacity:1}

.fq-success{color:#286b52;animation:fq-success-pop .45s ease-out;}@keyframes fq-success-pop{0%{transform:scale(.96);opacity:.4}60%{transform:scale(1.025)}100%{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.fq-success{animation:none}}

.fq-boss-scene{height:230px}.fq-boss-props{width:50%;left:25%;top:18px;font-size:12px;text-align:center}.fq-boss-props .fq-whole{min-height:36px}.fq-boss-props .fq-model{margin:4px}.fq-boss-props .fq-number{font-size:18px}.fq-boss-props span{display:inline-block}.fq-sack,.fq-calculator{background:#fffaf0;border:3px solid #c6ad7b;border-radius:20px;padding:10px}.fq-sack svg{height:65px}.fq-candy-tags{display:flex;gap:15px}.fq-candy-tags>div{flex:1}.fq-candy-tags span{background:white;padding:4px 10px;transform-origin:top;animation:fq-tag-swing 3s ease-in-out infinite alternate}.fq-boss-bridge{display:flex;justify-content:space-between;border-bottom:12px dashed #c1a278;padding:30px 0}.fq-boss-bridge b{font-size:30px}.fq-boss-bridge>span{position:absolute;bottom:-30px;font-size:40px;color:#418ead}.fq-twin-beds{padding:12px;background:#dcf0df;border:3px solid #80a38b}.fq-boss-race{background:#fff9;display:flex;justify-content:space-between;flex-wrap:wrap}.fq-boss-race>svg{height:65px}.fq-boss-cargo{background:#d3e4ff;border:4px solid #829dc2;padding:10px}.fq-calculator i{display:block;animation:fq-celebrate 2s infinite alternate}.fq-calculator>div{background:white;padding:8px}.fq-animal{width:100px;max-width:14%}.fq-grabbit-return{position:relative;max-width:15%;width:130px}.fq-grabbit-return>.fq-character{max-width:100%;width:100%}.fq-returned-cake{position:absolute;bottom:0;left:0;width:60px;animation:fq-return-cake 15s ease-in-out forwards}.fq-returned-cake svg{width:100%;max-width:100%}.fq-festival-cast{gap:4px}.fq-festival-cast>*{max-width:12%}.fq-festival-cast .fq-animal{height:auto}.fq-festival-fireworks{margin-top:20px}@keyframes fq-tag-swing{to{transform:rotate(7deg)}}@keyframes fq-return-cake{0%,45%{transform:translateX(0)}75%,100%{transform:translateX(-65px)}}@media(prefers-reduced-motion:reduce){.fq-candy-tags span,.fq-returned-cake{animation:none}}@media(max-width:600px){.fq-boss-props{width:60%;left:20%}.fq-boss-cast>.fq-character{width:65px}.fq-boss-props .fq-whole{min-width:0}.fq-boss-scene{height:220px}}

.fq-four-halves{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fq-four-halves svg{width:100%}.fq-unit-merge{display:flex;justify-content:center;align-items:center;gap:12px;font-size:28px}.fq-unit-merge>span{animation:fq-soft-arrival 1s ease both;animation-delay:calc(var(--i,3)*2s)}.fq-overlap-demo{height:170px;position:relative;max-width:500px;margin:auto}.fq-overlap-demo>div{position:absolute;height:60px;width:220px;left:calc(50% - 110px);border:3px solid #263963}.fq-share-one{top:15px;background:#9562cb}.fq-share-two{top:90px;background:#8ac7a1;animation:fq-stack-demo 4s ease-in-out forwards}.fq-overlap-demo.unequal .fq-share-two{width:160px;border-color:#c47942}.fq-story-hopper{position:relative;height:45px}.fq-story-hopper>svg{position:absolute;bottom:0;left:10%;width:60px;animation:fq-frog-hop 2s ease-in-out forwards}.fq-bar-to-line{animation:fq-thin 4s ease-in-out forwards;transform-origin:center}.fq-trade-whole{border:2px dashed #a084c6;padding:12px;border-radius:15px}.fq-second-example{animation:fq-soft-arrival 1s ease both;animation-delay:4s;border-top:1px solid #d5def1}.fq-second-example .fq-equation{font-size:24px}@keyframes fq-stack-demo{to{transform:translateY(-75px);opacity:.65}}@keyframes fq-thin{to{transform:scaleY(.12)}}@keyframes fq-frog-hop{50%{transform:translateY(-25px)}100%{left:calc(10% + var(--landing));transform:none}}@media(prefers-reduced-motion:reduce){.fq-unit-merge>span,.fq-share-two,.fq-story-hopper>svg,.fq-bar-to-line,.fq-second-example{animation:none!important}}@media(max-width:600px){.fq-four-halves{grid-template-columns:repeat(2,1fr)}.fq-unit-merge{font-size:20px;gap:5px}.fq-overlap-demo{max-width:100%}}

.fq-drop-answer{min-height:64px;border:2px dashed #99afd9;border-radius:16px;padding:16px;margin-block:12px;background:#f2f6ff;text-align:center}.fq-sort-practice [data-food-drag]{cursor:grab}

/* Keep a child's answer and its response together, including on small screens. */
.fq-fair-answers{display:grid;gap:10px}.fq-fair-option{min-width:0}.fq-fair-option>button{width:100%;margin:0;text-align:left;min-height:48px}.fq-fair-option .fq-answer-correct{background:#d0f4de;border:2px solid #318462}.fq-fair-option .fq-answer-retry{background:#fff2cc;border:2px solid #b88824}.fq-answer-feedback{margin-top:8px;padding:14px;border-radius:14px;text-align:left;line-height:1.5;color:#25365e}.fq-answer-feedback p{margin:6px 0 0}.fq-answer-hint{background:#fff5da}.fq-answer-celebrate{background:#d0f4de;animation:fq-answer-arrive .5s ease-out}.fq-answer-symbol{display:inline-block;margin-right:10px;color:#6341a5}.fq-answer-celebrate .fq-answer-symbol{animation:fq-answer-stars .8s ease-in-out 2}.fq-equal-example{display:flex;gap:5px;margin-top:10px}.fq-equal-example i{display:block;width:48px;height:24px;background:#779ddd;border-radius:5px}.fq-explore-controls[hidden],.fq-result[hidden],.fq-feedback[hidden]{display:none}
@keyframes fq-answer-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes fq-answer-stars{0%,100%{transform:scale(1)}50%{transform:scale(1.2) rotate(-5deg)}}
@media(prefers-reduced-motion:reduce){.fq-answer-celebrate,.fq-answer-celebrate .fq-answer-symbol{animation:none}}

.fq-test-menu{padding:16px;margin:12px 0;border:2px dashed #7960b2;border-radius:16px;background:#f1ebff}.fq-test-menu summary{font-weight:700;cursor:pointer}.fq-test-menu label{display:block;margin:12px 0}.fq-test-menu select{max-width:100%;min-height:44px}

.fq-touch-line{position:relative;height:130px;touch-action:none;user-select:none;margin:14px 0}.fq-touch-line svg{width:100%;height:130px;display:block}.fq .fq-line-handle{position:absolute;top:65px;transform:translate(-50%,-50%);width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border:4px solid white;border-radius:50%;background:#7952ba;color:white;box-shadow:0 2px 8px #49377944;touch-action:none;transition:box-shadow .16s,scale .16s;z-index:1}.fq-line-handle span{font-size:24px;line-height:1}.fq-touch-line.is-dragging .fq-line-handle{scale:1.18;box-shadow:0 0 0 9px #b99ce744,0 4px 12px #49377944}#fq-line-input{width:100%;min-height:48px;accent-color:#7952ba}#fq-line-input::-webkit-slider-thumb{width:32px;height:32px}#fq-line-value{text-align:center;min-height:50px}@media(prefers-reduced-motion:reduce){.fq .fq-line-handle{transition:none}}

#fq-line-input{-webkit-appearance:none;appearance:none;background:transparent;padding:0;border:0}#fq-line-input::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:#ddd2ef}#fq-line-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:32px;height:32px;margin-top:-12px;border:3px solid white;border-radius:50%;background:#7952ba;box-shadow:0 2px 5px #49377944}#fq-line-input::-moz-range-track{height:8px;border-radius:8px;background:#ddd2ef}#fq-line-input::-moz-range-thumb{width:28px;height:28px;border:3px solid white;border-radius:50%;background:#7952ba}

.fq #fq-compare-drop.fq-comparison-placed{display:flex;align-items:center;justify-content:center;min-height:100px;font-family:system-ui,sans-serif;font-size:clamp(64px,10vw,88px);font-weight:800;line-height:1;color:var(--fq-purple);background:#eee7fb;border-style:solid;border-color:#af94d5;padding:12px}

.fq-teaching-panel{display:block;scroll-margin-top:20px;padding:clamp(14px,3vw,28px)}.fq-answer-teacher{width:100%}.fq-teach-row{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:12px;margin:20px 0}.fq-teach-row svg{display:block;width:100%;height:auto}.fq-teach-row small{grid-column:2}.fq-teach-reveal .fq-teach-fill{animation:fq-teach-grow 1.8s ease-in-out both;transform-origin:2px center}@keyframes fq-teach-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.fq-teach-reveal .fq-teach-fill{animation:none}}
.fq-stacking{width:100%;max-width:720px;margin:16px auto;padding:12px;background:#f3f6ff;border-radius:18px}.fq-stacking svg{display:block;width:100%;min-height:200px;overflow:visible}.fq-stacking p{font-size:clamp(14px,1.6vw,18px);line-height:1.5}.fq-stack-held{filter:drop-shadow(0 5px 5px #28396255);cursor:grabbing!important}.fq-stacking [data-stack-piece]:focus{outline:3px solid #7957bd}.fq-stack-shape{transition:filter .15s}.fq-stack-held .fq-stack-shape{stroke-width:5}.fq-stacking .fq-stack-target{cursor:pointer;touch-action:manipulation}

.fq .fq-shape-choice{background:#fff;color:#263963;border:3px solid #d6dfee;position:relative}.fq .fq-shape-choice[aria-pressed="true"]{background:#e8dcfa;color:#432875;border:3px solid #7957bd;box-shadow:0 0 0 3px #7957bd33}.fq-selection-label{display:block;font-size:16px;margin-top:10px;font-weight:800}.fq-shape-explanation article{padding:16px;background:#fff;border-radius:18px}.fq-shape-explanation p{font-size:16px}.fq-shape-explanation svg{max-width:220px}
.fq .fq-options button[aria-pressed="false"]{background:#fff;color:#263963;border:3px solid #d6dfee}.fq .fq-options button[aria-pressed="true"]{background:#e8dcfa;color:#432875;border:3px solid #7957bd;box-shadow:0 0 0 3px #7957bd33}.fq .fq-options button[data-value][aria-pressed="true"]::after{content:' ✓';font-weight:900}
.rx{position:fixed;inset:8px;z-index:1000;max-width:1120px;margin:auto;background:#f2f7ff;border:2px solid #b8cbe9;border-radius:24px;padding:clamp(10px,2vh,22px);box-shadow:0 0 0 100vmax #202d5066;display:flex;flex-direction:column;gap:8px;color:#263963;max-height:calc(100dvh - 16px)}
.rx header,.rx footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.rx h2{font-size:clamp(21px,3vw,32px);margin:0}.rx button,.rx select,.rx input{min-height:64px;font-size:clamp(16px,2vw,22px);border-radius:16px}.rx button{padding:10px 16px}.rx button:disabled{opacity:.45}.rx-stage{flex:1;min-height:0;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:10px}.rx-stage p{margin:2px}.rx-model{width:100%;max-width:760px;margin:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.rx-model svg{width:100%;max-height:70px}.rx-whole{background:transparent!important;max-width:800px;width:100%;align-self:center}.rx-whole svg{width:100%;height:100px}.rx-choices{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.rx-choices button{flex:1;max-width:300px}.rx-caption{font-size:clamp(18px,2.5vw,27px);text-align:center;min-height:1.4em;margin:0}.rx-feedback{text-align:center;min-height:22px;margin:0}.rx-dots{font-size:13px;letter-spacing:3px;color:#ccd5e6}.rx-dots .active{color:#7954b6}.rx-track{display:flex;justify-content:space-between;width:100%}.rx-fit{display:grid;grid-template-columns:repeat(var(--slots),1fr);height:75px;width:50%;margin:10px auto;background:#edcda7;border:3px solid #c5843c;border-radius:10px}.rx-fit>div{border:1px dashed #527eca}.rx-fit .rx-filled{background:#527eca}.rx-sources{display:flex;justify-content:center;gap:8px}.rx-sources button{touch-action:none;position:relative;z-index:2}.rx-app{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rx-app>div{background:white;padding:16px;border:2px solid #d2dff3;border-radius:16px}.rx-glow{box-shadow:0 0 0 4px #ceb9ef}.rx form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:8px;align-items:end}.rx form input,.rx form select{width:100%;min-width:0}.rx-badge{font-size:36px;color:#7753b1}.rx-character{position:relative;animation:rx-bob 3s ease-in-out infinite}.rx-mouth{display:none;position:absolute;width:13px;height:6px;border-radius:50%;background:#263963;left:34px;top:43px}.rx-speaking .rx-mouth{display:block;animation:rx-talk .3s alternate infinite}.rx-win,.rx-help{animation:rx-celebrate 1.3s ease-in-out}.rx .fq-frac{font-size:26px}.rx .fq-number{display:inline-flex}.rx header>button{font-size:16px;max-width:190px}@keyframes rx-bob{50%{transform:translateY(-4px)}}@keyframes rx-talk{to{height:12px}}@keyframes rx-celebrate{40%{transform:scale(1.04);filter:drop-shadow(0 0 12px #c8afea)}}@media(max-width:650px){.rx header .rx-character{display:none}.rx form{grid-template-columns:1fr 1fr}.rx form button{grid-column:1/-1}.rx footer{flex-wrap:wrap}.rx footer button{flex:1}.rx-stage{overflow:auto}.rx-app{grid-template-columns:1fr 1fr}.rx-dots{letter-spacing:1px}.rx-choices{gap:5px}}@media(max-height:620px) and (min-width:651px){.rx{gap:3px;padding:8px}.rx header svg{height:52px}.rx-model svg{max-height:40px}.rx-character{height:52px}.rx-stage{gap:3px}.rx-caption{font-size:18px}.rx h2{font-size:22px}.rx-feedback{min-height:18px}.rx-fit{height:56px;margin:3px auto}.rx .fq-frac{font-size:20px}}@media(prefers-reduced-motion:reduce){.rx *{animation:none!important;transition:none!important}}

.rx-fit-wrap,.rx-sources{width:100%;max-width:760px;margin:0 auto}.rx-fit{margin:8px 0}.rx-model{margin:8px auto}.rx-stage>.fq-number{align-self:center}.rx-character svg circle{transform-box:fill-box;transform-origin:center;animation:rx-blink 5s infinite}@keyframes rx-blink{0%,45%,49%,100%{transform:scaleY(1)}47%{transform:scaleY(.1)}}

.rx-character{width:80px;flex:0 0 80px}.rx-character svg{width:80px!important;height:80px!important}.rx-fit{height:88px;box-sizing:border-box}.rx-sources button{height:88px;box-sizing:border-box}@media(prefers-reduced-motion:reduce){.rx-character svg circle{animation:none!important}}

.rx-confetti{position:absolute;top:10%;pointer-events:none;font-size:22px;animation:rx-fall 3s ease-in-out both}.rx-character svg[aria-label^="Pip"] path:first-child{transform-origin:center;animation:rx-wave 3s ease-in-out infinite}@keyframes rx-wave{50%{transform:rotate(4deg)}}@keyframes rx-fall{to{transform:translateY(45vh) rotate(160deg);opacity:0}}@media(prefers-reduced-motion:reduce){.rx-confetti,.rx-character svg path{animation:none!important}}

.rx-track{position:relative;min-height:55px}
