:root{color-scheme:light;--bg: #140a32;--bg-pattern: radial-gradient( ellipse at 50% 118%, rgba(68, 215, 207, .72) 0 8%, rgba(28, 176, 246, .34) 9% 18%, rgba(255, 217, 77, .16) 19% 21%, transparent 22% ), radial-gradient(circle at 86% 15%, #ffd94d 0 18px, #ff9f1c 19px 27px, transparent 28px), radial-gradient(circle at 14% 18%, rgba(255, 255, 255, .92) 0 1px, transparent 2px), radial-gradient(circle at 28% 42%, rgba(255, 255, 255, .72) 0 1px, transparent 2px), radial-gradient(circle at 44% 24%, rgba(103, 232, 109, .72) 0 1px, transparent 2px), radial-gradient(circle at 62% 36%, rgba(255, 255, 255, .84) 0 1px, transparent 2px), radial-gradient(circle at 75% 58%, rgba(255, 107, 154, .66) 0 1px, transparent 2px), radial-gradient(circle at 91% 42%, rgba(255, 255, 255, .7) 0 1px, transparent 2px), linear-gradient(158deg, rgba(139, 108, 255, .34) 0 14%, transparent 35%), linear-gradient(202deg, rgba(28, 176, 246, .2) 0 10%, transparent 32%), linear-gradient(180deg, #1b0b46 0%, #101a46 42%, #0d3151 72%, #205a5f 100%);--ink: #202124;--muted: #5f6673;--surface: #fffefa;--surface-raised: #ffffff;--line: #202124;--shadow: #15191f;--focus: #1cb0f6;--accent-green: #58d65c;--accent-green-shadow: #29a442;--accent-blue: #1cb0f6;--accent-blue-shadow: #0b82c4;--accent-yellow: #ffd94d;--accent-yellow-shadow: #d8a600;--accent-orange: #ff9f1c;--accent-orange-shadow: #d56c00;--accent-pink: #ff6b9a;--accent-pink-shadow: #d83f72;--accent-purple: #8b6cff;--chocolate: #7a3f24;--chocolate-ridge: #b8733d;--chocolate-dark: #3a1a12;--chocolate-label: #fff4d6;--success: #31c95b;--danger: #ff4b4b;--fraction-fill: #58d65c;--fraction-empty: #fff4b6;--card-highlight: #e9fbff;--module-card-wash: rgba(233, 251, 255, .78);--fraction-world-location-image: url(/images/chocolate-fraction-planet.webp);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #080816;--bg-pattern: radial-gradient( ellipse at 50% 118%, rgba(68, 215, 207, .48) 0 8%, rgba(58, 194, 255, .2) 9% 18%, rgba(255, 224, 106, .12) 19% 21%, transparent 22% ), radial-gradient(circle at 86% 15%, #ffe06a 0 16px, #ffad42 17px 25px, transparent 26px), radial-gradient(circle at 14% 18%, rgba(255, 255, 255, .82) 0 1px, transparent 2px), radial-gradient(circle at 28% 42%, rgba(255, 255, 255, .58) 0 1px, transparent 2px), radial-gradient(circle at 44% 24%, rgba(103, 232, 109, .6) 0 1px, transparent 2px), radial-gradient(circle at 62% 36%, rgba(255, 255, 255, .72) 0 1px, transparent 2px), radial-gradient(circle at 75% 58%, rgba(255, 124, 173, .5) 0 1px, transparent 2px), radial-gradient(circle at 91% 42%, rgba(255, 255, 255, .62) 0 1px, transparent 2px), linear-gradient(158deg, rgba(162, 139, 255, .22) 0 14%, transparent 35%), linear-gradient(202deg, rgba(58, 194, 255, .14) 0 10%, transparent 32%), linear-gradient(180deg, #080816 0%, #11133a 45%, #092640 74%, #123d43 100%);--ink: #fffdfa;--muted: #c1c9d8;--surface: #1b2335;--surface-raised: #263149;--line: #edf2ff;--shadow: #05070d;--focus: #ffd94d;--accent-green: #67e86d;--accent-green-shadow: #2fae4b;--accent-blue: #3ac2ff;--accent-blue-shadow: #0e82bc;--accent-yellow: #ffe06a;--accent-yellow-shadow: #b68100;--accent-orange: #ffad42;--accent-orange-shadow: #b96000;--accent-pink: #ff7cad;--accent-pink-shadow: #b93568;--accent-purple: #a28bff;--chocolate: #8a4b2b;--chocolate-ridge: #c27b45;--chocolate-dark: #26100b;--chocolate-label: #fff6dc;--success: #67e86d;--danger: #ff7777;--fraction-fill: #67e86d;--fraction-empty: #31405c;--card-highlight: #23395b;--module-card-wash: rgba(58, 194, 255, .18)}*{box-sizing:border-box}body{position:relative;margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--bg-pattern),var(--bg);background-attachment:fixed;background-position:center;background-size:cover;color:var(--ink)}body:not(:has(.fractions-world-shell)):not(:has(.asl-world-shell)):before,body:not(:has(.fractions-world-shell)):not(:has(.asl-world-shell)):after{content:"";position:fixed;pointer-events:none}body:not(:has(.fractions-world-shell)):not(:has(.asl-world-shell)):before{top:-8vh;right:-8vw;bottom:-8vh;left:-8vw;z-index:0;background:radial-gradient(circle at 10% 70%,#58d65c 0 17px,#1cb0f6 18px 28px,transparent 29px),radial-gradient(ellipse at 10% 70%,transparent 0 37px,rgba(255,255,255,.62) 38px 40px,transparent 41px),radial-gradient(circle at 24% 26%,#ff6b9a 0 11px,#ffd94d 12px 17px,transparent 18px),radial-gradient(ellipse at 24% 26%,transparent 0 23px,rgba(255,255,255,.5) 24px 26px,transparent 27px),radial-gradient(circle at 72% 20%,#8b6cff 0 22px,#3ac2ff 23px 34px,transparent 35px),radial-gradient(ellipse at 72% 20%,transparent 0 43px,rgba(255,217,77,.5) 44px 47px,transparent 48px),radial-gradient(circle at 88% 66%,#ff9f1c 0 14px,#ff6b9a 15px 21px,transparent 22px),radial-gradient(circle at 54% 82%,rgba(255,255,255,.8) 0 2px,transparent 3px),radial-gradient(circle at 39% 64%,rgba(88,214,92,.58) 0 2px,transparent 3px),radial-gradient(circle at 82% 46%,rgba(255,255,255,.68) 0 2px,transparent 3px);filter:drop-shadow(0 0 12px rgba(255,255,255,.26));opacity:.94;transform-origin:50% 60%;animation:space-planet-drift 28s ease-in-out infinite alternate}body:not(:has(.fractions-world-shell)):not(:has(.asl-world-shell)):after{top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(114deg,transparent 0 58%,rgba(255,255,255,.78) 59%,rgba(255,255,255,0) 61%),radial-gradient(circle at 8% 18%,rgba(255,255,255,.92) 0 1px,transparent 2px),radial-gradient(circle at 18% 34%,rgba(255,255,255,.56) 0 1px,transparent 2px),radial-gradient(circle at 34% 12%,rgba(255,217,77,.82) 0 1px,transparent 2px),radial-gradient(circle at 46% 46%,rgba(255,255,255,.86) 0 1px,transparent 2px),radial-gradient(circle at 58% 26%,rgba(58,194,255,.74) 0 1px,transparent 2px),radial-gradient(circle at 69% 72%,rgba(255,255,255,.7) 0 1px,transparent 2px),radial-gradient(circle at 82% 33%,rgba(255,124,173,.76) 0 1px,transparent 2px),radial-gradient(circle at 94% 54%,rgba(255,255,255,.82) 0 1px,transparent 2px);background-size:160% 160%,180px 180px,220px 220px,260px 260px,210px 210px,240px 240px,300px 300px,270px 270px,230px 230px;opacity:.7;mix-blend-mode:screen;animation:space-star-twinkle 4.8s ease-in-out infinite alternate,space-star-drift 42s linear infinite}body:has(.fractions-world-shell){background-image:linear-gradient(180deg,#2b140c3d,#fff6cc38),var(--fraction-world-location-image);background-position:center;background-size:cover;background-attachment:fixed}body:has(.asl-world-shell){position:relative;background:radial-gradient(ellipse at 48% -6%,rgba(255,255,255,.96) 0 6%,rgba(200,248,255,.82) 7% 18%,transparent 42%),radial-gradient(circle at 84% 18%,rgba(255,211,92,.18) 0 7%,transparent 22%),radial-gradient(circle at 8% 76%,rgba(236,254,255,.42) 0 10px,transparent 11px),radial-gradient(circle at 92% 68%,rgba(236,254,255,.36) 0 8px,transparent 9px),repeating-linear-gradient(118deg,rgba(236,254,255,.24) 0 4px,transparent 4px 72px),linear-gradient(180deg,#d4fbff,#66d9e8 25%,#1292b7 58%,#06496a);background-attachment:fixed;background-position:center;background-size:cover}body:has(.asl-world-shell):before,body:has(.asl-world-shell):after{content:"";position:fixed;right:0;left:0;z-index:0;pointer-events:none}body:has(.asl-world-shell):before{top:0;height:74vh;background:radial-gradient(circle at 12% 28%,rgba(236,254,255,.48) 0 10px,transparent 11px),radial-gradient(circle at 22% 48%,rgba(236,254,255,.34) 0 7px,transparent 8px),radial-gradient(circle at 78% 34%,rgba(236,254,255,.42) 0 9px,transparent 10px),radial-gradient(circle at 88% 56%,rgba(236,254,255,.3) 0 6px,transparent 7px),repeating-linear-gradient(106deg,transparent 0 38px,rgba(236,254,255,.22) 38px 44px,transparent 44px 118px),repeating-radial-gradient(ellipse at 50% -18%,rgba(255,255,255,.34) 0 3px,rgba(255,255,255,.12) 3px 7px,transparent 7px 24px);opacity:.72;animation:asl-ocean-light-shift 16s ease-in-out infinite}body:has(.asl-world-shell):after{bottom:0;height:30vh;background:radial-gradient(ellipse at 16% 84%,rgba(255,128,102,.78) 0 36px,transparent 37px),radial-gradient(ellipse at 78% 76%,rgba(35,139,69,.66) 0 52px,transparent 53px),radial-gradient(ellipse at 45% 88%,rgba(236,254,255,.36) 0 28px,transparent 29px),linear-gradient(180deg,transparent 0 22%,rgba(248,217,155,.54) 23% 42%,#f3c979 43% 100%);clip-path:polygon(0 34%,12% 20%,25% 33%,39% 16%,54% 32%,68% 22%,82% 36%,100% 24%,100% 100%,0 100%);opacity:.9}body:has(.asl-world-shell) .app-shell{position:relative;z-index:1}@media(min-width:981px){body:has(.asl-world-shell){overflow:hidden}.app-shell:has(.asl-world-shell){display:grid;grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden;padding-bottom:0}.app-shell:has(.asl-world-shell) .workspace{min-height:0;overflow:hidden;padding-top:10px}}button,input{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;filter:grayscale(.25);opacity:.58}.app-shell{position:relative;z-index:1;width:min(90vw,1680px);margin:0 auto;padding:14px 0 24px}.app-shell:has(.fractions-world-shell-active){display:grid;grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden;padding-bottom:0}body:has(.fractions-world-shell) .topbar{background:#fffefae0;-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08)}:root[data-theme=dark] body:has(.fractions-world-shell) .topbar{background:#1b2335db}body:has(.asl-world-shell) .topbar{background:#ecfeffd6;-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08)}:root[data-theme=dark] body:has(.asl-world-shell) .topbar{background:#073246d6}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;border:2px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--surface);box-shadow:0 4px 0 var(--shadow)}.brand-cluster{display:flex;align-items:center;gap:14px}.brand-badge{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border:3px solid var(--line);border-radius:8px;background:var(--accent-yellow);box-shadow:0 5px 0 var(--accent-yellow-shadow);color:#2a2500;font-size:2.1rem;font-weight:1000;line-height:1;animation:badge-wiggle 3.8s ease-in-out infinite}.topbar h1,.panel h2,.dashboard-header h2,.module-card h3,.game-header h2,.lesson-strip h3{margin:0;letter-spacing:0}.topbar h1{font-size:1.6rem;line-height:.95}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;padding:16px 0 0}.app-shell:has(.fractions-world-shell-active) .workspace{min-height:0;overflow:hidden}.portal-workspace{grid-template-columns:minmax(0,1fr)}.portal-user{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.portal-user span{display:inline-flex;align-items:center;min-height:32px;border:2px solid var(--line);border-radius:999px;padding:0 10px;background:var(--accent-green);box-shadow:0 3px 0 var(--accent-green-shadow);color:#08250e;font-size:.82rem;font-weight:1000}.topbar .brand-cluster{gap:8px}.brand-home-button{min-width:0;padding:0;background:transparent;color:inherit;text-align:left}.brand-home-button:focus-visible{outline:4px solid var(--accent-yellow);outline-offset:4px}.topbar .brand-badge{width:34px;height:34px;border-width:2px;box-shadow:0 3px 0 var(--accent-yellow-shadow);font-size:1.18rem}.topbar .eyebrow{margin-bottom:1px;font-size:.58rem}.topbar .icon-button{width:34px;height:34px;box-shadow:0 3px 0 var(--shadow)}.topbar .icon-button.labelled{min-width:92px;gap:6px;padding:0 10px;font-size:.84rem}.panel,.dashboard-shell,.game-shell{border:3px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 7px 0 var(--shadow)}.panel{padding:20px}.auth-panel{position:sticky;top:20px;display:grid;gap:18px;background:linear-gradient(180deg,rgba(255,217,77,.28),transparent 120px),var(--surface)}.auth-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:28px;align-items:center;width:min(1040px,calc(100vw - 32px));min-height:100vh;margin:0 auto;padding:32px 0}.auth-shell .auth-panel{position:static}.auth-hero,.auth-loading{border:3px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(88,214,92,.24),transparent 68%),var(--surface);box-shadow:0 7px 0 var(--shadow)}.auth-hero{display:grid;gap:28px;min-height:420px;padding:30px}.auth-hero h1,.auth-loading h1{margin:0;font-size:4rem;line-height:.95}.auth-mascot{position:relative;width:min(280px,70vw);aspect-ratio:1;border:4px solid var(--line);border-radius:8px;background:var(--accent-blue);box-shadow:0 10px 0 var(--accent-blue-shadow);animation:mascot-bob 2.8s ease-in-out infinite}.auth-mascot:after{content:"1/2 = 2/4";position:absolute;right:28px;bottom:34px;left:28px;border-top:5px solid #061b27;padding-top:12px;color:#061b27;font-size:2rem;font-weight:1000;text-align:center}.auth-mascot .mascot-eye{top:74px;width:24px;height:34px;background:#061b27}.auth-mascot .mascot-eye-left{left:74px}.auth-mascot .mascot-eye-right{right:74px}.auth-mascot .mascot-smile{top:132px;left:calc(50% - 34px);width:68px;height:34px;border-right:5px solid #061b27;border-bottom:5px solid #061b27;border-left:5px solid #061b27}.auth-theme-toggle{position:absolute;top:32px;right:0}.auth-loading{justify-self:center;display:grid;justify-items:center;gap:12px;width:min(420px,100%);padding:30px;text-align:center}.panel-heading,.dashboard-header,.game-header,.lesson-strip,.game-actions,.score-panel,.question-topline{display:flex;align-items:center;justify-content:space-between;gap:14px}.eyebrow{margin:0 0 6px;color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.muted{color:var(--muted)}.segmented{display:grid;grid-template-columns:1fr 1fr;border:2px solid var(--line);border-radius:999px;padding:3px;background:var(--surface-raised)}.segmented button{min-height:34px;border-radius:999px;padding:0 12px;background:transparent;color:var(--ink);font-weight:900}.segmented button.active{background:var(--accent-blue);color:#061b27}.auth-form{display:grid;gap:14px}label{display:grid;gap:7px;font-weight:800}input{width:100%;min-height:46px;border:2px solid var(--line);border-radius:8px;padding:0 12px;background:var(--surface-raised);color:var(--ink);box-shadow:inset 0 -2px #00000014}input:focus,button:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.icon-button,.google-button,.answer-option{border:2px solid var(--line);border-radius:8px;background:var(--surface-raised);color:var(--ink);box-shadow:0 5px 0 var(--shadow);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.icon-button:hover,.google-button:hover,.answer-option:hover{filter:saturate(1.12);transform:translateY(-2px)}.icon-button:active,.google-button:active,.answer-option:active{box-shadow:0 2px 0 var(--shadow);transform:translateY(3px)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px}.icon-button.labelled{width:auto;min-width:120px;gap:8px;padding:0 15px;font-weight:1000}.icon-button.primary{background:var(--accent-green);box-shadow:0 5px 0 var(--accent-green-shadow);color:#08250e}.google-button{min-height:46px;background:var(--surface-raised);font-weight:1000}.form-status,.explanation{margin:0;color:var(--muted);font-size:.95rem}.error-text{color:var(--danger)}.dashboard-shell,.game-shell{position:relative;display:grid;gap:22px;min-height:560px;overflow:hidden;padding:26px}.dashboard-shell{min-height:clamp(660px,calc(100vh - 118px),900px)}.dashboard-shell:before,.game-shell:before{content:"";position:absolute;inset:0 0 auto;height:10px;background:repeating-linear-gradient(90deg,var(--accent-green) 0 82px,var(--accent-blue) 82px 164px,var(--accent-yellow) 164px 246px,var(--accent-pink) 246px 328px,var(--accent-orange) 328px 410px)}.module-world-shell{isolation:isolate}.module-world-shell>:not(.module-world-ambience){position:relative;z-index:1}.module-world-ambience{position:absolute;top:10px;right:10px;bottom:10px;left:10px;z-index:0;overflow:hidden;border-radius:5px;pointer-events:none}.fractions-world-shell{--fraction-world-chocolate: #6f3a23;--fraction-world-chocolate-dark: #34180f;--fraction-world-caramel: #f0b84a;--fraction-world-wrapper-red: #d4483c;--fraction-world-wrapper-teal: #20b2aa;--fraction-world-cream: #fff4d6;background:linear-gradient(180deg,#fff4d666,#fff3 36%,#3d1c0e57),radial-gradient(circle at 50% 52%,rgba(255,246,204,.24),transparent 42%),var(--fraction-world-location-image),var(--surface);background-position:center;background-size:cover}.fractions-world-shell-active{grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;gap:clamp(6px,1vh,10px);height:100%;max-height:100%;min-height:0;padding:clamp(12px,1.8vh,18px);padding-top:clamp(18px,2vh,22px)}.fractions-world-shell:before{height:14px;background:repeating-linear-gradient(90deg,var(--fraction-world-chocolate-dark) 0 54px,var(--fraction-world-caramel) 54px 92px,var(--fraction-world-wrapper-red) 92px 130px,var(--fraction-world-wrapper-teal) 130px 168px);animation:chocolate-world-wrapper-slide 18s linear infinite}.fractions-world-shell:after{content:"";position:absolute;top:14px;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(180deg,rgba(52,24,15,.18),transparent 24%,rgba(52,24,15,.24)),radial-gradient(circle at 50% 42%,transparent 0 32%,rgba(52,24,15,.2) 84%),linear-gradient(90deg,rgba(255,244,214,.16),transparent 22%,transparent 78%,rgba(255,244,214,.14));opacity:.76;pointer-events:none}.asl-world-shell{--asl-teal: #0f8f9f;--asl-aqua: #44d7cf;--asl-blue: #086a8c;--asl-yellow: #ffd35c;--asl-coral: #ff8066;--asl-seaweed: #238b45;--asl-sand: #f8d99b;--asl-ink: #073246;min-height:clamp(720px,calc(100vh - 118px),940px);background:radial-gradient(ellipse at 50% -8%,rgba(255,255,255,.78) 0 12%,transparent 36%),linear-gradient(180deg,rgba(255,255,255,.3),transparent 24%),repeating-linear-gradient(112deg,rgba(236,254,255,.2) 0 3px,transparent 3px 50px),linear-gradient(180deg,#b7f4ffc7,#4fc7d8b8 38%,#0b6d8cc7);-webkit-backdrop-filter:blur(1px) saturate(1.04);backdrop-filter:blur(1px) saturate(1.04)}.asl-world-shell:before{height:14px;background:repeating-linear-gradient(90deg,var(--asl-teal) 0 48px,var(--asl-aqua) 48px 84px,var(--asl-sand) 84px 122px,var(--asl-coral) 122px 160px,var(--asl-seaweed) 160px 196px);animation:chocolate-world-wrapper-slide 18s linear infinite}.asl-world-backdrop{background:linear-gradient(180deg,rgba(255,255,255,.34),transparent 36%,rgba(7,50,70,.18)),repeating-linear-gradient(178deg,rgba(255,255,255,.08) 0 2px,transparent 2px 46px)}.asl-water-current,.asl-bubble-cluster,.asl-kelp,.asl-fish{position:absolute;display:block}.asl-water-current{width:clamp(260px,38vw,520px);height:78px;border-top:5px solid rgba(236,254,255,.36);border-radius:50%;opacity:.68;animation:asl-current-drift 8s ease-in-out infinite}.asl-water-current:before,.asl-water-current:after{content:"";position:absolute;right:18%;left:12%;height:54px;border-top:4px solid rgba(255,255,255,.2);border-radius:50%}.asl-water-current:before{top:16px}.asl-water-current:after{top:34px;right:28%;left:4%}.asl-water-current.current-one{top:94px;right:-86px}.asl-water-current.current-two{bottom:150px;left:-112px;width:clamp(220px,34vw,440px);opacity:.48;animation-delay:-3s}.asl-bubble-cluster{width:18px;height:18px;border:3px solid rgba(236,254,255,.72);border-radius:999px;box-shadow:28px -42px 0 -5px #ecfeffa3,-18px -76px 0 -4px #ecfeff80,42px -112px 0 -7px #ecfeff6b;opacity:.8;animation:asl-bubble-rise 7s ease-in-out infinite}.asl-bubble-cluster.cluster-one{right:11%;bottom:110px}.asl-bubble-cluster.cluster-two{left:12%;bottom:172px;opacity:.58;animation-delay:-2.6s}.asl-kelp{bottom:0;width:92px;height:188px;opacity:.82;transform-origin:50% 100%;animation:asl-kelp-sway 5s ease-in-out infinite}.asl-kelp:before,.asl-kelp:after{content:"";position:absolute;bottom:0;width:26px;height:170px;border:3px solid rgba(7,50,70,.72);border-radius:999px 999px 10px 10px;background:linear-gradient(180deg,#58cc6a,var(--asl-seaweed));box-shadow:0 5px #0732462e;clip-path:polygon(50% 0,82% 18%,62% 34%,90% 52%,60% 70%,72% 100%,28% 100%,40% 70%,10% 52%,38% 34%,18% 18%)}.asl-kelp:before{left:8px}.asl-kelp:after{right:10px;height:138px;background:linear-gradient(180deg,#9ee45f,#2c9b44);animation-delay:-1.2s}.asl-kelp.kelp-one{right:3%}.asl-kelp.kelp-two{left:4%;height:152px;opacity:.58;animation-delay:-2s}.asl-fish{--fish-fill: #ffd35c;left:-110px;width:74px;height:34px;border:3px solid rgba(7,50,70,.48);border-radius:62% 44% 44% 62%/58% 52% 48% 42%;background:radial-gradient(circle at 78% 36%,#073246 0 3px,transparent 4px),linear-gradient(135deg,rgba(255,255,255,.42),transparent 42%),var(--fish-fill);box-shadow:inset -10px -7px #0732461a,0 6px #0732461f;opacity:.78;animation:asl-fish-swim-right 18s linear infinite}.asl-fish:before{content:"";position:absolute;top:5px;left:-22px;width:28px;height:23px;border:3px solid rgba(7,50,70,.42);border-right:0;border-radius:8px 0 0 8px;background:var(--fish-fill);clip-path:polygon(100% 50%,0 0,0 100%)}.asl-fish:after{content:"";position:absolute;right:26px;bottom:-7px;width:18px;height:16px;border:3px solid rgba(7,50,70,.32);border-top:0;border-radius:0 0 999px 999px;background:#ff8066c7;transform:rotate(-12deg)}.asl-fish.fish-one{top:27%;animation-duration:20s}.asl-fish.fish-two{--fish-fill: #ff8066;top:47%;right:-100px;left:auto;width:60px;height:28px;background:radial-gradient(circle at 78% 36%,#073246 0 2px,transparent 3px),linear-gradient(135deg,rgba(255,255,255,.4),transparent 42%),var(--fish-fill);opacity:.64;animation:asl-fish-swim-left 24s linear infinite;animation-delay:-7s}.asl-fish.fish-three{--fish-fill: #a8f0ff;top:64%;width:50px;height:24px;background:radial-gradient(circle at 78% 36%,#073246 0 2px,transparent 3px),linear-gradient(135deg,rgba(255,255,255,.38),transparent 42%),var(--fish-fill);opacity:.52;animation-duration:27s;animation-delay:-14s}.asl-world-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.asl-world-heading h2{margin:0;font-size:clamp(1.45rem,2.6vw,2.4rem);line-height:1}.asl-world-heading .eyebrow{margin-bottom:3px;font-size:.68rem}.asl-world-heading .muted{max-width:620px;margin:4px 0 0;font-size:.86rem;font-weight:750}.asl-privacy-pill{display:inline-flex;align-items:center;gap:8px;min-height:42px;border:2px solid var(--line);border-radius:999px;padding:0 13px;background:var(--asl-teal);box-shadow:0 4px #0b4d48;color:#ecfeff;font-size:.84rem;font-weight:1000;text-transform:uppercase}.asl-practice-layout{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(280px,.85fr);gap:18px;align-items:stretch}.asl-camera-panel,.asl-prompt-panel,.asl-vocabulary-bank{border:3px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#ecfeffe0,#caf5f1c7),var(--surface-raised);box-shadow:0 6px 0 var(--shadow)}.asl-camera-panel,.asl-prompt-panel{display:grid;gap:14px;align-content:start;padding:16px}.asl-camera-frame{position:relative;min-height:clamp(280px,42vh,360px);overflow:hidden;border:3px solid var(--asl-ink);border-radius:8px;background:linear-gradient(180deg,rgba(236,254,255,.18),transparent 36%),repeating-linear-gradient(178deg,rgba(255,255,255,.08) 0 2px,transparent 2px 34px),linear-gradient(135deg,#073246,#086a8c);box-shadow:inset 0 -10px #00000038}.asl-camera-frame video{display:block;width:100%;height:100%;min-height:clamp(280px,42vh,360px);object-fit:cover;transform:scaleX(-1)}.asl-camera-frame:not(.is-ready) video{opacity:0}.asl-camera-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:22px;color:#ecfeff;text-align:center}.asl-camera-placeholder strong{font-size:1.2rem}.asl-camera-placeholder span{max-width:320px;color:#ecfeffc7;font-weight:850}.asl-camera-actions,.asl-prompt-actions{display:flex;flex-wrap:wrap;gap:10px}.asl-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.84rem;font-weight:1000;text-transform:uppercase}.asl-progress-row strong{color:var(--asl-teal)}.asl-sign-card{display:grid;grid-template-columns:minmax(0,.78fr) minmax(138px,1fr);align-items:center;gap:12px;border:3px solid var(--asl-ink);border-radius:8px;padding:12px;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 62%),linear-gradient(135deg,#44d7cf47,#ffffffeb);box-shadow:0 5px #0f172a38}.asl-sign-summary{display:grid;gap:6px;min-width:0}.asl-sign-summary span,.asl-sign-summary p{color:var(--muted);font-weight:1000;text-transform:uppercase}.asl-sign-summary strong{color:var(--asl-ink);font-size:clamp(1.9rem,5vw,4.2rem);line-height:.95;overflow-wrap:anywhere}.asl-sign-summary p{margin:0}.asl-sign-visual{display:grid;gap:6px;min-width:0;margin:0}.asl-sign-visual svg{display:block;width:100%;max-height:150px;border:2px solid rgba(7,50,70,.2);border-radius:8px;background:radial-gradient(circle at 34% 22%,rgba(255,255,255,.72),transparent 34%),linear-gradient(180deg,#e2fcf9f0,#a7e8e1ad)}.asl-sign-visual figcaption{color:var(--asl-ink);font-size:.78rem;font-weight:1000;line-height:1.18}.asl-visual-head,.asl-visual-shoulders{fill:#f7cba6;stroke:var(--asl-ink);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.asl-visual-shoulders{fill:#ff8066}.asl-visual-hair{fill:#40312d;stroke:var(--asl-ink);stroke-width:3;stroke-linejoin:round}.asl-visual-eye{fill:var(--asl-ink)}.asl-visual-smile,.asl-visual-chest-line{fill:none;stroke:var(--asl-ink);stroke-width:3;stroke-linecap:round}.asl-visual-arrow,.asl-visual-circle-arrow{fill:none;stroke:#086a8c;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 7}.asl-visual-arrow-back{stroke:#0f8f9f}.asl-sign-visual marker path{fill:#086a8c}.asl-visual-tap-mark,.asl-visual-pop-ray{fill:none;stroke:#ff8066;stroke-width:5;stroke-linecap:round}.asl-visual-hand rect{fill:#ffe1bd;stroke:var(--asl-ink);stroke-width:3}.asl-visual-hand path{fill:none;stroke:var(--asl-ink);stroke-width:3;stroke-linecap:round}.asl-visual-hand text{fill:var(--asl-ink);font-size:9px;font-weight:1000;text-transform:uppercase}.asl-visual-hand-start{opacity:.62}.asl-simple-commands{display:grid;gap:8px}.asl-simple-commands p{min-height:54px;margin:0;border:2px solid var(--line);border-radius:8px;padding:10px;background:#fff4cc;box-shadow:0 3px 0 var(--shadow);color:var(--asl-ink);font-weight:1000}.asl-simple-commands p:nth-child(2){background:#d7f7e4}.asl-simple-commands p:nth-child(3){background:#ffe0d6}.asl-result,.asl-complete-card{display:grid;gap:6px;border:3px solid var(--line);border-radius:8px;padding:14px;box-shadow:0 4px 0 var(--shadow)}.asl-result strong,.asl-complete-card strong{font-size:1.05rem}.asl-result span,.asl-complete-card span{color:var(--muted);font-weight:850}.asl-result.is-pass,.asl-complete-card{background:#dcfce7}.asl-result.is-retry{background:#fff7d1}.asl-complete-card{justify-items:start;color:#14532d}.asl-complete-card .icon-button.labelled{margin-top:4px}.asl-vocabulary-bank{display:grid;gap:14px;padding:16px}.asl-vocabulary-bank .panel-heading strong{display:inline-flex;align-items:center;min-height:32px;border:2px solid var(--line);border-radius:999px;padding:0 10px;background:var(--asl-yellow);box-shadow:0 3px #c28c00;color:#2a2500;font-size:.78rem;text-transform:uppercase}.asl-vocabulary-chips{display:flex;flex-wrap:wrap;gap:8px}.asl-vocabulary-chips span{display:inline-flex;align-items:center;min-height:32px;border:2px solid var(--line);border-radius:999px;padding:0 10px;background:var(--surface);box-shadow:0 3px 0 var(--shadow);color:var(--ink);font-size:.78rem;font-weight:1000}@media(min-width:981px){.asl-world-shell{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:10px;height:100%;max-height:100%;min-height:0;padding:18px 14px 14px}.asl-practice-layout{min-height:0;gap:14px}.asl-camera-panel,.asl-prompt-panel{min-height:0;gap:10px;padding:12px}.asl-camera-frame{min-height:0;height:min(42vh,360px)}.asl-camera-frame video{min-height:0;height:100%}.asl-sign-card{gap:8px;padding:10px}.asl-sign-summary{gap:4px}.asl-sign-summary strong{font-size:clamp(1.55rem,3.7vw,2.9rem)}.asl-sign-visual svg{max-height:128px}.asl-sign-visual figcaption{font-size:.7rem}.asl-simple-commands{gap:6px}.asl-simple-commands p{min-height:38px;padding:8px;font-size:.84rem;line-height:1.2}.asl-result,.asl-complete-card{padding:10px}.asl-vocabulary-bank{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;max-height:82px;min-height:0;overflow:hidden;padding:10px 12px}.asl-vocabulary-bank .panel-heading{align-items:center;gap:10px}.asl-vocabulary-bank .panel-heading h3{margin:0;font-size:1rem;line-height:1.05}.asl-vocabulary-bank .panel-heading .eyebrow{margin-bottom:2px;font-size:.62rem}.asl-vocabulary-bank .panel-heading strong{min-height:28px;padding:0 8px;font-size:.68rem;white-space:nowrap}.asl-vocabulary-chips{flex-wrap:nowrap;min-width:0;overflow:hidden}.asl-vocabulary-chips span{min-height:28px;padding:0 8px;font-size:.68rem;white-space:nowrap}}.chocolate-world-wrapper-strip{position:absolute;width:clamp(130px,16vw,220px);height:36px;border:2px solid rgba(52,24,15,.4);border-radius:8px;background:linear-gradient(90deg,rgba(255,255,255,.32),transparent 42%),repeating-linear-gradient(90deg,var(--fraction-world-caramel) 0 28px,var(--fraction-world-wrapper-red) 28px 56px,var(--fraction-world-wrapper-teal) 56px 84px,var(--fraction-world-chocolate) 84px 112px);opacity:.28;animation:chocolate-world-wrapper-float 10s ease-in-out infinite}.chocolate-world-wrapper-strip.strip-one{top:102px;left:-46px;transform:rotate(-10deg)}.chocolate-world-wrapper-strip.strip-two{top:280px;right:-58px;animation-delay:-3.2s;transform:rotate(12deg)}.chocolate-world-wrapper-strip.strip-three{right:18%;bottom:122px;animation-delay:-6.1s;transform:rotate(-4deg)}.chocolate-world-floater{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:64px;height:38px;border:2px solid rgba(52,24,15,.58);border-radius:7px;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 42%),var(--fraction-world-chocolate);box-shadow:inset 0 0 0 5px #b8733da6,0 4px #34180f38;color:var(--fraction-world-cream);font-size:.76rem;font-weight:1000;opacity:.22;animation:chocolate-world-fraction-float 8.5s ease-in-out infinite}.chocolate-world-floater.floater-1{top:72px;left:9%}.chocolate-world-floater.floater-2{top:190px;right:10%;animation-delay:-1.4s}.chocolate-world-floater.floater-3{top:46%;left:4%;animation-delay:-2.8s}.chocolate-world-floater.floater-4{right:5%;bottom:23%;animation-delay:-4.2s}.chocolate-world-floater.floater-5{bottom:58px;left:18%;animation-delay:-5.6s}.chocolate-world-floater.floater-6{top:58%;right:24%;animation-delay:-7s}.chocolate-world-marquee{width:100%;overflow:hidden;border-block:2px solid rgba(52,24,15,.46);padding:4px 0;background:linear-gradient(180deg,rgba(255,255,255,.32),transparent),repeating-linear-gradient(90deg,#34180f24 0,#34180f24 24px,#f0b84a2e 24px,#f0b84a2e 48px)}.chocolate-world-marquee-track{display:flex;width:max-content;gap:8px;animation:chocolate-world-conveyor 24s linear infinite}.chocolate-world-marquee-track span{display:inline-flex;align-items:center;justify-content:center;min-width:60px;min-height:28px;border:2px solid var(--fraction-world-chocolate-dark);border-radius:7px;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 45%),var(--fraction-world-chocolate);box-shadow:inset 0 0 0 4px #b8733dc7,0 3px 0 var(--fraction-world-chocolate-dark);color:var(--fraction-world-cream);font-size:.78rem;font-weight:1000}.chocolate-world-factory-stage{position:relative;display:grid;grid-template-columns:minmax(136px,.28fr) minmax(220px,1fr);gap:6px;align-items:stretch;overflow:hidden;border:2px solid var(--fraction-world-chocolate-dark);border-radius:7px;padding:4px;background:linear-gradient(180deg,#fff4d6bd,#f0b84a2e),repeating-linear-gradient(90deg,#34180f1f 0,#34180f1f 28px,#fff4d62e 28px,#fff4d62e 56px);box-shadow:0 4px 0 var(--fraction-world-chocolate-dark)}.chocolate-world-factory-sign{display:grid;align-content:center;gap:2px;border:2px solid var(--fraction-world-chocolate-dark);border-radius:6px;padding:4px 6px;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 40%),var(--fraction-world-wrapper-red);box-shadow:0 3px #34180f6b;color:#fff8ec}.chocolate-world-factory-sign h2{margin:0;color:#fff8ec;font-size:clamp(.82rem,1.08vw,1rem);line-height:.95;text-shadow:0 2px 0 rgba(52,24,15,.58)}.chocolate-world-factory-belt{position:relative;z-index:2;display:flex;align-items:center;min-height:34px;overflow:hidden;border:2px solid var(--fraction-world-chocolate-dark);border-radius:6px;background:repeating-linear-gradient(90deg,#b9c0c7 0,#b9c0c7 24px,#89929c 24px,#89929c 28px,#d7dce0 28px,#d7dce0 52px,#89929c 52px,#89929c 56px);box-shadow:inset 0 -6px #34180f38}.factory-bar{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:68px;height:28px;border:2px solid var(--fraction-world-chocolate-dark);border-radius:6px;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 46%),var(--fraction-world-chocolate);box-shadow:inset 0 0 0 4px #b8733dcc,0 3px 0 var(--fraction-world-chocolate-dark);color:var(--fraction-world-cream);font-size:.76rem;font-weight:1000;animation:chocolate-world-factory-bar 8s linear infinite}.factory-bar.bar-one{animation-delay:-6s}.factory-bar.bar-two{animation-delay:-4s}.factory-bar.bar-three{animation-delay:-2s}.factory-bar.bar-four{animation-delay:0s}.chocolate-world-drip-rail{position:absolute;z-index:1;right:14px;bottom:0;left:14px;display:flex;justify-content:space-around;height:10px;pointer-events:none}.chocolate-world-drip-rail span{width:22px;height:10px;border:2px solid var(--fraction-world-chocolate-dark);border-top:0;border-radius:0 0 999px 999px;background:var(--fraction-world-chocolate);animation:chocolate-world-drip 2.9s ease-in-out infinite}.chocolate-world-drip-rail span:nth-child(2){animation-delay:-.7s}.chocolate-world-drip-rail span:nth-child(3){animation-delay:-1.4s}.chocolate-world-drip-rail span:nth-child(4){animation-delay:-2.1s}.fractions-world-shell .fractionfall-panel{position:relative}.fractions-world-shell-active .fractionfall-panel,.fractions-world-shell-active .fractionfall-tutorial{min-height:0;overflow:visible}.fractions-world-shell-active .fractionfall-play{min-height:0;overflow:hidden}.fractions-world-shell-active .fractionfall-play{grid-template-rows:auto auto minmax(0,1fr) auto;gap:clamp(8px,1vh,12px);align-content:stretch}.fractions-world-shell .fractionfall-board{position:relative;background:linear-gradient(180deg,rgba(32,178,170,.18),transparent 52%),repeating-linear-gradient(90deg,#34180f1a 0,#34180f1a 28px,#f0b84a1a 28px,#f0b84a1a 56px),var(--card-highlight)}.fractions-world-shell-active .fractionfall-board{height:100%;min-height:0;padding:8px;grid-template-rows:repeat(var(--fall-rows, 12),minmax(24px,1fr))}.fractions-world-shell .fractionfall-board:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;z-index:0;border-radius:5px;background:repeating-linear-gradient(180deg,transparent 0 28px,rgba(52,24,15,.16) 28px 31px,transparent 31px 58px);opacity:.52;animation:chocolate-world-board-belt 16s linear infinite;pointer-events:none}.fractions-world-shell .fractionfall-board>*{position:relative;z-index:1}.dashboard-header,.game-header{align-items:flex-start}.dashboard-header h2,.game-header h2{font-size:2.8rem;line-height:1}.dashboard-count{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:78px;min-height:48px;border:2px solid var(--line);border-radius:8px;background:var(--accent-purple);box-shadow:0 5px 0 var(--shadow);color:#fff}.dashboard-layout{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:20px;align-items:stretch;min-height:100%}.module-rail,.empty-dashboard{border:3px solid var(--line);border-radius:8px;background:var(--surface-raised);box-shadow:0 6px 0 var(--shadow)}.module-rail{position:sticky;top:18px;display:grid;align-self:stretch;gap:14px;align-content:start;padding:16px}.module-rail-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.module-rail-heading strong,.module-rail-status{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:2px solid var(--line);border-radius:999px;padding:0 9px;background:var(--accent-green);box-shadow:0 3px 0 var(--accent-green-shadow);color:#08250e;font-size:.78rem;font-weight:1000}.module-rail-list{display:grid;gap:14px}.module-rail-section{display:grid;gap:8px}.module-rail-section-title{color:var(--muted);font-size:.78rem;font-weight:1000;text-transform:uppercase}.module-rail-section-list{display:grid;gap:10px}.module-rail-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;border:2px solid var(--line);border-radius:8px;padding:10px;background:var(--surface);box-shadow:0 4px 0 var(--shadow);color:var(--ink);cursor:pointer;font:inherit;text-align:left}.module-rail-item:disabled{cursor:not-allowed}.module-rail-item:not(:disabled):hover,.module-rail-item:not(:disabled):focus-visible{box-shadow:0 6px 0 var(--shadow);transform:translateY(-2px)}.module-rail-item.active{background:linear-gradient(90deg,rgba(88,214,92,.2),transparent 78%),var(--surface)}.module-rail-item.locked{opacity:.7}.module-rail-item-fractions-world.active{position:relative;overflow:hidden;background:linear-gradient(90deg,#f0b84a61,#fff4d62e 60%),repeating-linear-gradient(90deg,#6f3a2329 0,#6f3a2329 18px,#d4483c24 18px,#d4483c24 36px,#20b2aa21 36px,#20b2aa21 54px),var(--surface)}.module-rail-item-fractions-world.active:before{content:"";position:absolute;inset:0 auto 0 0;width:9px;background:repeating-linear-gradient(180deg,#34180f 0,#34180f 16px,#f0b84a 16px,#f0b84a 32px,#d4483c 32px,#d4483c 48px,#20b2aa 48px,#20b2aa 64px);animation:chocolate-world-board-belt 14s linear infinite}.module-rail-item-fractions-world.active>*{position:relative;z-index:1}.module-rail-item-fractions-world.active .module-rail-order{background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 44%),#6f3a23;box-shadow:inset 0 0 0 5px #b8733db8,0 3px #34180f;color:#fff4d6}.module-rail-item-asl-world.active{position:relative;overflow:hidden;color:#062c3f;background:radial-gradient(circle at calc(100% - 28px) 20px,rgba(255,238,144,.68) 0 12px,transparent 13px),radial-gradient(circle at 86% 72%,rgba(255,128,102,.28) 0 12px,transparent 13px),radial-gradient(circle at 76% 88%,rgba(255,244,204,.58) 0 7px,transparent 8px),linear-gradient(180deg,#ecfeffc7,#44d7cf47 54%,#086a8c33),repeating-linear-gradient(112deg,rgba(255,255,255,.26) 0 2px,transparent 2px 22px),var(--surface)}.module-rail-item-asl-world.active:before{content:"";position:absolute;inset:0 auto 0 0;width:10px;background:linear-gradient(180deg,rgba(236,254,255,.36),transparent),repeating-linear-gradient(180deg,#086a8c 0,#086a8c 14px,#44d7cf 14px,#44d7cf 28px,#ffd35c 28px,#ffd35c 42px,#ff8066 42px,#ff8066 56px,#238b45 56px,#238b45 70px);animation:asl-rail-current-slide 10s linear infinite}.module-rail-item-asl-world.active:after{content:"";position:absolute;top:12px;right:14px;width:38px;height:18px;border:2px solid rgba(6,44,63,.44);border-radius:62% 42% 42% 62%/60% 52% 48% 40%;background:radial-gradient(circle at 78% 36%,#062c3f 0 1.5px,transparent 2.5px),linear-gradient(135deg,rgba(255,255,255,.42),transparent 42%),#ffd35c;box-shadow:-22px 38px 0 -11px #ecfeffb8,-42px 12px 0 -12px #ecfeffad,-82px 28px 0 -13px #ecfeff94;clip-path:polygon(0 50%,18% 0,18% 25%,100% 25%,100% 75%,18% 75%,18% 100%);opacity:.78;animation:asl-rail-fish-bob 4.4s ease-in-out infinite;pointer-events:none}.module-rail-item-asl-world.active>*{position:relative;z-index:1}.module-rail-item-asl-world.active .module-rail-order{background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 50%),#086a8c;box-shadow:0 3px #073246;color:#ecfeff}.module-rail-order{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:2px solid var(--line);border-radius:8px;background:var(--accent-yellow);box-shadow:0 3px 0 var(--accent-yellow-shadow);color:#2a2500;font-weight:1000}.module-rail-copy{display:grid;min-width:0;gap:3px}.module-rail-copy strong,.module-rail-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-rail-copy span{color:var(--muted);font-size:.82rem;font-weight:900;text-transform:uppercase}.module-rail-status.soon{background:#aeb6bf;box-shadow:0 3px #7f8892;color:#111827}.dashboard-main{display:grid;align-self:stretch;gap:18px;min-width:0}.parent-overview{display:grid;gap:16px;border:3px solid var(--line);border-radius:8px;padding:18px;background:linear-gradient(180deg,rgba(255,217,77,.2),transparent 72%),var(--surface-raised);box-shadow:0 6px 0 var(--shadow)}.parent-dashboard-main{display:grid;gap:18px;min-width:0}.parent-overview-heading,.session-history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.parent-overview-heading h3{margin:0;font-size:1.85rem;line-height:1.05}.parent-child-chip,.session-history-heading strong{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:2px solid var(--line);border-radius:999px;padding:0 11px;background:var(--accent-blue);box-shadow:0 4px 0 var(--accent-blue-shadow);color:#061b27;font-size:.84rem;font-weight:1000}.parent-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.parent-stat{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 8px;align-items:center;min-height:88px;border:2px solid var(--line);border-radius:8px;padding:10px;background:var(--surface);box-shadow:0 4px 0 var(--shadow)}.parent-stat-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:2px solid var(--line);border-radius:8px;background:var(--accent-green);color:#08250e}.parent-stat span:not(.parent-stat-icon){color:var(--muted);font-size:.78rem;font-weight:1000;text-transform:uppercase}.parent-stat strong{grid-column:1 / -1;overflow-wrap:anywhere;font-size:1.08rem;line-height:1.05}.session-history{display:grid;gap:10px;min-width:0}.session-history-heading strong{background:var(--accent-pink);box-shadow:0 4px 0 var(--accent-pink-shadow);color:#fff}.session-list{display:grid;gap:8px}.child-progress-list,.module-progress-list{display:grid;gap:10px}.child-progress-row,.module-progress-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(92px,auto));gap:10px;align-items:center;min-height:68px;border:2px solid var(--line);border-radius:8px;padding:10px;background:var(--surface);box-shadow:0 3px 0 var(--shadow)}.child-progress-row div,.module-progress-row div{display:grid;min-width:0;gap:3px}.child-progress-row strong,.module-progress-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.child-progress-row span,.module-progress-row span{color:var(--muted);font-size:.82rem;font-weight:900}.child-progress-row>span,.module-progress-row>span{justify-self:end}.child-progress-row>span:first-of-type{display:inline-flex;align-items:center;gap:6px}.session-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(72px,auto) minmax(82px,auto) minmax(98px,auto);gap:10px;align-items:center;min-height:64px;border:2px solid var(--line);border-radius:8px;padding:9px 10px;background:var(--surface);box-shadow:0 3px 0 var(--shadow)}.session-row div{display:grid;min-width:0;gap:3px}.session-row time,.session-row span{color:var(--muted);font-size:.82rem;font-weight:900}.session-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-row>span{justify-self:end}.empty-session-history{display:inline-flex;align-items:center;gap:8px;min-height:46px;color:var(--muted);font-weight:850}.featured-module{min-height:100%;align-content:start}.module-card-fractions-world{position:relative;overflow:hidden;background:radial-gradient(circle at 16% 26%,rgba(111,58,35,.26) 0 46px,transparent 48px),radial-gradient(circle at 86% 18%,rgba(212,72,60,.24) 0 34px,transparent 36px),radial-gradient(circle at 78% 76%,rgba(32,178,170,.22) 0 40px,transparent 42px),linear-gradient(180deg,#fff4d6f5,#ffffffb8 34%,#f0b84a33 76%),repeating-linear-gradient(90deg,#6f3a232e 0,#6f3a232e 22px,#f0b84a33 22px,#f0b84a33 44px,#20b2aa29 44px,#20b2aa29 66px,#d4483c29 66px,#d4483c29 88px),var(--surface-raised)}.module-card-fractions-world:before{content:"";position:absolute;inset:0 0 auto;z-index:0;height:16px;background:repeating-linear-gradient(90deg,#34180f 0,#34180f 52px,#f0b84a 52px,#f0b84a 90px,#d4483c 90px,#d4483c 128px,#20b2aa 128px,#20b2aa 166px);animation:chocolate-world-wrapper-slide 18s linear infinite;pointer-events:none}.module-card-fractions-world:after{content:"";position:absolute;right:-36px;bottom:72px;left:-28px;z-index:0;height:230px;background:radial-gradient(circle at 17% 58%,rgba(255,244,214,.58) 0 9px,transparent 10px),radial-gradient(circle at 52% 38%,rgba(255,244,214,.45) 0 7px,transparent 8px),radial-gradient(circle at 78% 62%,rgba(255,244,214,.42) 0 8px,transparent 9px),linear-gradient(130deg,rgba(255,255,255,.2),transparent 38%),repeating-linear-gradient(115deg,#3a1a0fcc 0,#3a1a0fcc 28px,#6f3a23e0 28px,#6f3a23e0 58px,#b8733d9e 58px,#b8733d9e 65px,#6f3a23e0 65px,#6f3a23e0 94px);clip-path:polygon(0 66%,8% 52%,16% 61%,28% 31%,39% 58%,51% 18%,64% 56%,77% 34%,90% 64%,100% 52%,100% 100%,0 100%);opacity:.58;pointer-events:none}.module-card-fractions-world>*{position:relative;z-index:1}.module-card-fractions-world .module-card-fractions-scenery{position:absolute;top:16px;right:12px;bottom:86px;left:12px;z-index:0;pointer-events:none}.candy-tree,.chocolate-critter{position:absolute;display:block}.candy-tree{width:52px;height:94px;filter:drop-shadow(0 4px 0 rgba(52,24,15,.24))}.candy-tree:before{content:"";position:absolute;right:20px;bottom:0;width:12px;height:44px;border:2px solid #34180f;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.24),transparent 54%),#6f3a23}.candy-tree:after{content:"";position:absolute;top:0;left:2px;width:48px;height:48px;border:2px solid #34180f;border-radius:999px;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.55) 0 6px,transparent 7px),repeating-conic-gradient(from -18deg,#d4483c 0,#d4483c 22deg,#fff4d6 22deg,#fff4d6 44deg,#20b2aa 44deg,#20b2aa 66deg,#f0b84a 66deg,#f0b84a 88deg);box-shadow:inset 0 0 0 5px #fff4d647,0 3px #34180f47}.candy-tree.tree-one{right:30px;bottom:48px;transform:rotate(6deg) scale(.92);opacity:.86}.candy-tree.tree-two{left:24px;bottom:16px;transform:rotate(-7deg) scale(.78);opacity:.64}.candy-tree.tree-three{right:172px;bottom:8px;transform:rotate(-3deg) scale(.68);opacity:.56}.chocolate-critter{width:48px;height:34px;border:2px solid #34180f;border-radius:55% 55% 45% 45%;background:radial-gradient(circle at 34% 44%,#fff4d6 0 3px,transparent 4px),radial-gradient(circle at 64% 44%,#fff4d6 0 3px,transparent 4px),linear-gradient(140deg,#8a4a2c,#6f3a23 58%,#3f1e13);box-shadow:inset 0 -5px #34180f47,0 4px #34180f38}.chocolate-critter:before,.chocolate-critter:after{content:"";position:absolute;top:-10px;width:15px;height:15px;border:2px solid #34180f;border-radius:999px;background:#6f3a23}.chocolate-critter:before{left:6px}.chocolate-critter:after{right:6px}.chocolate-critter.critter-one{left:118px;bottom:34px;transform:rotate(-4deg) scale(.86);opacity:.54}.chocolate-critter.critter-two{right:106px;bottom:96px;transform:rotate(5deg) scale(.68);opacity:.44}.module-card-fractions-world .module-card-topline strong{background:#6f3a23;color:#fff4d6}.module-card-fractions-world h3{color:#34180f;text-shadow:0 2px 0 rgba(240,184,74,.5)}.module-card-fractions-world .module-progress-track span{background:linear-gradient(90deg,#6f3a23,#f0b84a,#20b2aa)}.module-card-fractions-hero{position:relative;display:grid;grid-template-columns:auto auto minmax(180px,1fr);gap:14px;min-height:136px;overflow:hidden;border-radius:8px;padding:12px;background:linear-gradient(180deg,#fff4d69e,#f0b84a2e),repeating-linear-gradient(0deg,rgba(52,24,15,.1) 0 16px,transparent 16px 32px)}.module-card-fractions-hero:before{content:"";position:absolute;right:0;bottom:0;left:0;height:88px;background:radial-gradient(circle at 22% 46%,rgba(255,244,214,.62) 0 6px,transparent 7px),radial-gradient(circle at 72% 32%,rgba(255,244,214,.48) 0 5px,transparent 6px),linear-gradient(145deg,rgba(255,255,255,.18),transparent 40%),repeating-linear-gradient(120deg,#3a1a0fe0 0,#3a1a0fe0 22px,#6f3a23eb 22px,#6f3a23eb 44px,#b8733da8 44px,#b8733da8 50px,#6f3a23eb 50px,#6f3a23eb 72px);clip-path:polygon(0 62%,11% 42%,22% 56%,34% 18%,46% 52%,59% 26%,72% 58%,84% 38%,100% 64%,100% 100%,0 100%);opacity:.72;pointer-events:none}.module-card-fractions-hero:after{content:"";position:absolute;top:14px;right:18px;width:74px;height:34px;border:2px solid #34180f;border-radius:7px;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 45%),#6f3a23;box-shadow:inset 0 0 0 5px #b8733dbd,0 3px #34180f61,-112px 58px 0 -4px #d4483cc7,-198px 16px 0 -7px #20b2aab8;opacity:.66;transform:rotate(7deg);pointer-events:none}.module-card-fractions-hero>*{position:relative;z-index:1}.module-card-fractions-hero .module-mascot{width:104px;height:112px;border:0;border-radius:0;background:transparent;box-shadow:none;filter:drop-shadow(0 8px 0 #34180f);animation:chocolate-kiss-bob 3s ease-in-out infinite}.module-card-fractions-hero .module-mascot:before{content:"";position:absolute;top:8px;right:6px;bottom:0;left:6px;border:3px solid #34180f;border-radius:48% 48% 42% 42%/62% 62% 38% 38%;background:radial-gradient(circle at 35% 34%,rgba(255,255,255,.24),transparent 18%),linear-gradient(140deg,#8a4a2c 0,#8a4a2c 36%,#6f3a23 37%,#6f3a23 68%,#3f1e13);clip-path:polygon(50% 0,76% 28%,94% 74%,78% 100%,22% 100%,6% 74%,24% 28%)}.module-card-fractions-hero .module-mascot:after{content:"1/2";position:absolute;top:-4px;right:-4px;bottom:auto;left:auto;display:inline-flex;align-items:center;justify-content:center;width:56px;min-height:22px;border:2px solid #34180f;border-radius:4px;padding:0;background:#fff8ec;box-shadow:0 3px #34180f47;color:#34180f;font-size:.72rem;font-weight:1000;transform:rotate(-10deg)}.module-card-fractions-hero .mascot-eye{z-index:1;top:48px;width:10px;height:15px;background:#fff4d6}.module-card-fractions-hero .mascot-eye-left{left:35px}.module-card-fractions-hero .mascot-eye-right{right:35px}.module-card-fractions-hero .mascot-smile{z-index:1;top:68px;left:39px;width:26px;height:13px;border-color:#fff4d6;border-top-color:transparent}.module-card-fractions-belt{display:flex;align-items:center;align-self:center;gap:8px;min-height:68px;overflow:hidden;border:2px solid #34180f;border-radius:8px;padding:10px;background:repeating-linear-gradient(90deg,#b9c0c7 0,#b9c0c7 22px,#89929c 22px,#89929c 26px,#d7dce0 26px,#d7dce0 48px,#89929c 48px,#89929c 52px);box-shadow:inset 0 -7px #34180f2e}.module-card-fractions-belt span{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:34px;border:2px solid #34180f;border-radius:7px;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 44%),#6f3a23;box-shadow:inset 0 0 0 5px #b8733dc7,0 3px #34180f;color:#fff4d6;font-size:.78rem;font-weight:1000;animation:chocolate-dashboard-bar-bob 2.8s ease-in-out infinite}.module-card-fractions-belt span:nth-child(2){animation-delay:-.7s}.module-card-fractions-belt span:nth-child(3){animation-delay:-1.4s}.module-card-fractions-belt span:nth-child(4){animation-delay:-2.1s}.module-card-asl-world{position:relative;isolation:isolate;overflow:hidden;color:#073246;background:radial-gradient(circle at 82% 13%,rgba(255,238,144,.56) 0 34px,rgba(255,211,92,.22) 35px 58px,transparent 59px),radial-gradient(ellipse at 26% -10%,rgba(236,254,255,.96) 0 18%,transparent 46%),radial-gradient(ellipse at 46% 118%,rgba(248,217,155,.84) 0 19%,transparent 29%),radial-gradient(circle at 12% 73%,rgba(255,128,102,.2) 0 10%,transparent 22%),repeating-linear-gradient(115deg,rgba(236,254,255,.22) 0 3px,transparent 3px 48px),linear-gradient(180deg,#dbfbff,#65d9e9 24%,#1188ad 59%,#063b5f);box-shadow:0 4px 0 var(--shadow),inset 0 0 0 2px #ecfeff47,inset 0 -22px 36px #03253b38}.module-card-asl-world:before{content:"";position:absolute;inset:-54px -58px auto;z-index:0;height:172px;background:radial-gradient(ellipse at 18% 24%,rgba(255,255,255,.8) 0 17%,transparent 44%),radial-gradient(ellipse at 68% 16%,rgba(236,254,255,.54) 0 13%,transparent 36%),repeating-linear-gradient(104deg,rgba(236,254,255,.42) 0 5px,transparent 5px 42px);opacity:.84;animation:asl-dashboard-caustics 9.5s ease-in-out infinite;-webkit-mask-image:linear-gradient(180deg,#000 0 54%,transparent 100%);mask-image:linear-gradient(180deg,#000 0 54%,transparent 100%);pointer-events:none}.module-card-asl-world:after{content:"";position:absolute;right:-28px;bottom:-18px;left:-28px;z-index:0;height:178px;background:radial-gradient(ellipse at 11% 72%,rgba(255,128,102,.84) 0 29px,transparent 30px),radial-gradient(ellipse at 72% 66%,rgba(35,139,69,.72) 0 42px,transparent 43px),radial-gradient(ellipse at 44% 80%,rgba(236,254,255,.52) 0 22px,transparent 23px),radial-gradient(ellipse at 88% 84%,rgba(255,211,92,.82) 0 19px,transparent 20px),radial-gradient(ellipse at 30% 90%,rgba(139,108,255,.32) 0 22px,transparent 23px),linear-gradient(180deg,transparent 0 16%,rgba(8,106,140,.25) 17% 34%,#f8d99b 35% 100%);clip-path:polygon(0 50%,10% 36%,21% 47%,34% 28%,47% 50%,58% 32%,71% 47%,84% 35%,100% 50%,100% 100%,0 100%);opacity:.92;animation:asl-dashboard-reef-breathe 6.8s ease-in-out infinite;pointer-events:none}.module-card-asl-world>:not(.module-card-asl-scenery){position:relative;z-index:2}.module-card-asl-scenery{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.asl-scenery-bubbles,.asl-scenery-kelp,.asl-scenery-current,.asl-scenery-fish,.asl-scenery-coral,.asl-scenery-shell,.asl-scenery-ray{position:absolute;display:block}.asl-scenery-ray{--ray-rotate: -9deg;top:-38px;width:112px;height:286px;background:linear-gradient(180deg,rgba(236,254,255,.58),rgba(236,254,255,.16) 56%,transparent 92%);clip-path:polygon(42% 0,68% 0,100% 100%,0 100%);filter:blur(.2px);mix-blend-mode:screen;opacity:.64;transform-origin:50% 0;animation:asl-card-ray-sway 8.2s ease-in-out infinite}.asl-scenery-ray.ray-one{left:20%}.asl-scenery-ray.ray-two{--ray-rotate: 10deg;right:8%;width:94px;opacity:.48;animation-delay:-3s}.asl-scenery-bubbles{width:20px;height:20px;border:3px solid rgba(236,254,255,.92);border-radius:999px;box-shadow:24px -34px 0 -5px #ecfeffc7,-14px -62px 0 -6px #ecfeff9e,42px -94px 0 -7px #ecfeff94,-36px -112px 0 -8px #ecfeff7a,8px -136px 0 -9px #ecfeff70;animation:asl-dashboard-bubble-rise 6s ease-in-out infinite}.asl-scenery-bubbles.bubble-one{right:72px;bottom:36px}.asl-scenery-bubbles.bubble-two{left:38px;bottom:60px;opacity:.74;animation-duration:7.4s;animation-delay:-2.3s}.asl-scenery-bubbles.bubble-three{left:52%;bottom:28px;width:15px;height:15px;opacity:.68;animation-duration:8.1s;animation-delay:-4.6s}.asl-scenery-kelp{bottom:-26px;width:46px;height:124px;border:3px solid rgba(6,44,63,.72);border-radius:999px 999px 8px 8px;background:linear-gradient(90deg,rgba(255,255,255,.22),transparent 52%),linear-gradient(180deg,#b6e66a,#238b45);clip-path:polygon(50% 0,82% 20%,62% 38%,90% 58%,64% 78%,76% 100%,24% 100%,36% 78%,10% 58%,38% 38%,18% 20%);filter:drop-shadow(0 5px 0 rgba(3,37,59,.18));transform-origin:50% 100%;animation:asl-dashboard-kelp-sway 4.8s ease-in-out infinite}.asl-scenery-kelp.kelp-one{right:26px;bottom:-22px}.asl-scenery-kelp.kelp-two{left:114px;bottom:-36px;height:94px;background:linear-gradient(180deg,#58cc6a,#0f8f52);animation-delay:-1.7s}.asl-scenery-kelp.kelp-three{left:14px;bottom:-38px;width:34px;height:88px;background:linear-gradient(180deg,#b6e66a,#238b45);opacity:.86;animation-duration:5.6s;animation-delay:-2.7s}.asl-scenery-current{right:-24px;left:46px;top:58px;height:62px;border-top:5px solid rgba(236,254,255,.58);border-radius:50%;opacity:.74;animation:asl-current-drift 7s ease-in-out infinite}.asl-scenery-current:before,.asl-scenery-current:after{content:"";position:absolute;right:12%;left:4%;height:28px;border-top:3px solid rgba(236,254,255,.28);border-radius:50%}.asl-scenery-current:before{top:13px}.asl-scenery-current:after{top:27px;left:16%}.asl-scenery-current.current-two{top:142px;right:88px;left:-34px;opacity:.42;animation-duration:8.2s;animation-delay:-3.4s}.asl-scenery-coral{--coral-fill: #ff8066;--coral-shadow: #d94b58;bottom:-26px;width:82px;height:92px;filter:drop-shadow(0 5px 0 rgba(3,37,59,.16));transform-origin:50% 100%;animation:asl-dashboard-kelp-sway 6.4s ease-in-out infinite}.asl-scenery-coral:before,.asl-scenery-coral:after{content:"";position:absolute;bottom:0;background:var(--coral-fill);box-shadow:inset -5px 0 0 var(--coral-shadow)}.asl-scenery-coral:before{left:34px;width:14px;height:84px;border-radius:999px 999px 6px 6px;box-shadow:inset -5px 0 0 var(--coral-shadow),-27px 24px 0 -1px var(--coral-fill),28px 32px 0 -2px var(--coral-fill),-11px 43px 0 -3px var(--coral-shadow)}.asl-scenery-coral:after{left:18px;width:46px;height:48px;border-radius:999px;background:radial-gradient(circle at 12% 26%,var(--coral-fill) 0 8px,transparent 9px),radial-gradient(circle at 88% 14%,var(--coral-fill) 0 7px,transparent 8px),linear-gradient(40deg,transparent 0 42%,var(--coral-fill) 43% 56%,transparent 57%),linear-gradient(136deg,transparent 0 42%,var(--coral-fill) 43% 56%,transparent 57%);box-shadow:none}.asl-scenery-coral.coral-one{left:48px}.asl-scenery-coral.coral-two{--coral-fill: #ffd35c;--coral-shadow: #f59e0b;right:96px;bottom:-34px;width:66px;height:70px;scale:.82;animation-delay:-2.1s}.asl-scenery-shell{bottom:2px;width:44px;height:29px;border:2px solid rgba(7,50,70,.42);border-radius:999px 999px 8px 8px;background:repeating-radial-gradient(ellipse at 50% 100%,#fff4cc 0,#fff4cc 5px,#ffd35c 6px,#ffd35c 8px),#fff4cc;box-shadow:0 4px #0732461f;clip-path:polygon(8% 100%,18% 44%,50% 0,82% 44%,92% 100%);opacity:.92;animation:asl-shell-glint 4.8s ease-in-out infinite}.asl-scenery-shell.shell-one{right:172px}.asl-scenery-shell.shell-two{left:156px;bottom:-4px;width:34px;height:22px;opacity:.74;transform:rotate(-8deg);animation-delay:-2.2s}.asl-scenery-fish{--fish-fill: #ffd35c;left:-64px;width:46px;height:22px;border:2px solid rgba(6,44,63,.52);border-radius:62% 44% 44% 62%/58% 52% 48% 42%;background:radial-gradient(circle at 78% 36%,#073246 0 2px,transparent 3px),linear-gradient(135deg,rgba(255,255,255,.42),transparent 42%),var(--fish-fill);box-shadow:inset 0 -4px #03253b1a,0 5px #0732461a;opacity:.86;animation:asl-card-fish-swim-right 10.5s linear infinite}.asl-scenery-fish:before{content:"";position:absolute;top:3px;left:-15px;width:18px;height:15px;border:2px solid rgba(7,50,70,.42);border-right:0;border-radius:6px 0 0 6px;background:var(--fish-fill);clip-path:polygon(100% 50%,0 0,0 100%)}.asl-scenery-fish:after{content:"";position:absolute;top:6px;left:17px;width:11px;height:8px;border-radius:999px 999px 0;background:#ffffff80;transform:rotate(-20deg)}.asl-scenery-fish.fish-one{top:118px;animation-delay:-2s}.asl-scenery-fish.fish-two{--fish-fill: #ff8066;top:64px;right:-62px;left:auto;width:38px;height:18px;background:radial-gradient(circle at 78% 36%,#073246 0 1.5px,transparent 2.5px),linear-gradient(135deg,rgba(255,255,255,.4),transparent 42%),var(--fish-fill);opacity:.72;animation:asl-card-fish-swim-left 13.5s linear infinite;animation-delay:-6.7s}.asl-scenery-fish.fish-three{--fish-fill: #8b6cff;top:158px;width:34px;height:16px;opacity:.72;animation-duration:16s;animation-delay:-4.4s}.module-card-asl-world .module-card-topline strong{background:linear-gradient(135deg,rgba(236,254,255,.22),transparent 48%),#06445f;color:#ecfeff}.module-card-asl-world h3{color:#062c3f;text-shadow:0 2px 0 rgba(236,254,255,.36),0 10px 22px rgba(3,37,59,.14)}.module-card-asl-world .module-progress-track span{background:linear-gradient(90deg,#06445f,#0fadc1,#ffd35c,#ff8066)}.module-card-asl-hero{position:relative;display:grid;grid-template-columns:minmax(100px,auto) minmax(180px,1fr);gap:18px;min-height:148px;overflow:hidden;border-radius:8px;border:2px solid rgba(236,254,255,.7);padding:16px;background:radial-gradient(circle at 20% 30%,rgba(255,238,144,.2) 0 36px,transparent 37px),radial-gradient(ellipse at 74% 0%,rgba(236,254,255,.72),transparent 48%),linear-gradient(180deg,#ecfeff52,#44d7cf1a 54%,#06445f2e),repeating-linear-gradient(118deg,rgba(255,255,255,.2) 0 3px,transparent 3px 36px);box-shadow:inset 0 -12px #03253b24,0 8px 18px #03253b1f}.module-card-asl-hero:before{content:"";position:absolute;top:-34px;right:-34px;bottom:-34px;left:-34px;background:radial-gradient(circle at 14% 80%,rgba(255,211,92,.24) 0 14px,transparent 15px),radial-gradient(circle at 84% 18%,rgba(236,254,255,.46) 0 12px,transparent 13px),radial-gradient(circle at 58% 72%,rgba(255,128,102,.16) 0 11px,transparent 12px),repeating-linear-gradient(108deg,rgba(255,255,255,.28) 0 4px,transparent 4px 38px);opacity:.68;animation:asl-dashboard-caustics 7.4s ease-in-out infinite;pointer-events:none}.module-card-asl-hero:after{content:"";position:absolute;right:18px;bottom:12px;width:112px;height:28px;border-radius:999px;background:radial-gradient(circle at 12% 50%,rgba(236,254,255,.86) 0 4px,transparent 5px),radial-gradient(circle at 31% 52%,rgba(255,244,204,.82) 0 5px,transparent 6px),radial-gradient(circle at 51% 50%,rgba(236,254,255,.78) 0 4px,transparent 5px),radial-gradient(circle at 72% 48%,rgba(255,128,102,.72) 0 5px,transparent 6px),radial-gradient(circle at 91% 52%,rgba(139,108,255,.58) 0 4px,transparent 5px);opacity:.82;animation:asl-pebble-shimmer 4.8s ease-in-out infinite;pointer-events:none}.module-card-asl-hero>*{position:relative;z-index:1}.asl-dashboard-hand{position:relative;align-self:center;width:116px;height:118px;border-radius:999px;background:radial-gradient(circle at 50% 48%,rgba(236,254,255,.68) 0 38px,transparent 39px),radial-gradient(circle at 50% 50%,rgba(68,215,207,.28) 0 54px,transparent 55px);filter:drop-shadow(0 9px 0 rgba(15,23,42,.24));animation:asl-dashboard-hand-float 3.4s ease-in-out infinite}.asl-dashboard-hand:before{content:"";position:absolute;right:22px;bottom:12px;left:18px;z-index:2;height:58px;border:3px solid #0f172a;border-radius:28px 28px 20px 20px;background:radial-gradient(circle at 38% 30%,rgba(255,255,255,.42),transparent 18%),#ffd8a8}.asl-dashboard-hand:after{content:"";position:absolute;right:32px;bottom:2px;left:28px;z-index:1;height:28px;border:3px solid #0f172a;border-radius:14px 14px 20px 20px;background:linear-gradient(135deg,rgba(255,255,255,.26),transparent 42%),#44d7cf}.asl-dashboard-thumb{position:absolute;right:7px;bottom:42px;z-index:3;width:28px;height:52px;border:3px solid #0f172a;border-radius:999px;background:#ffd8a8;transform:rotate(30deg)}.asl-dashboard-finger{position:absolute;bottom:66px;z-index:3;width:21px;border:3px solid #0f172a;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.26),transparent 58%),#ffd8a8}.asl-dashboard-finger.finger-one{left:20px;height:48px}.asl-dashboard-finger.finger-two{left:41px;height:72px}.asl-dashboard-finger.finger-three{left:62px;height:66px}.asl-dashboard-finger.finger-four{left:83px;height:46px}.module-card-asl-sign-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;align-items:center;gap:9px}.module-card-asl-sign-strip span{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:2px solid #062c3f;border-radius:8px;padding:0 10px;background:radial-gradient(circle at 17% 24%,rgba(255,255,255,.92) 0 5px,transparent 6px),linear-gradient(180deg,#ecfefff5,#bff7ffe6);box-shadow:inset 0 -5px #44d7cf33,0 4px #062c3f3d;color:#062c3f;font-size:.78rem;font-weight:1000;text-align:center;animation:asl-sign-card-float 3.2s ease-in-out infinite}.module-card-asl-sign-strip span:after{content:"";position:absolute;top:-7px;right:10px;width:13px;height:13px;border:2px solid rgba(6,44,63,.44);border-radius:999px;background:#ecfeffcc}.module-card-asl-sign-strip span:nth-child(2){background:radial-gradient(circle at 17% 24%,rgba(255,255,255,.9) 0 5px,transparent 6px),linear-gradient(180deg,#fff4ccf5,#ffd35c75);animation-delay:-1s}.module-card-asl-sign-strip span:nth-child(3){background:radial-gradient(circle at 17% 24%,rgba(255,255,255,.9) 0 5px,transparent 6px),linear-gradient(180deg,#ffe0d6f5,#ff80666b);animation-delay:-2s}.module-progress-track{height:18px;overflow:hidden;border:2px solid var(--line);border-radius:999px;background:var(--surface)}.module-progress-track span{display:block;height:100%;min-width:12px;border-right:2px solid var(--line);background:var(--accent-green)}.empty-dashboard{display:grid;justify-items:start;gap:8px;padding:18px}.empty-dashboard strong{font-size:1.4rem}.empty-dashboard span{color:var(--muted);font-weight:800}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.module-card{display:grid;gap:18px;min-height:350px;border:3px solid var(--line);border-radius:8px;padding:18px;background:linear-gradient(180deg,var(--module-card-wash),transparent 72%),var(--surface-raised);box-shadow:0 6px 0 var(--shadow);animation:card-rise .42s ease both;transition:transform .16s ease,box-shadow .16s ease}.module-card:hover{box-shadow:0 9px 0 var(--shadow);transform:translateY(-3px)}.module-card-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.84rem;font-weight:1000;text-transform:uppercase}.module-card-topline strong{border:2px solid var(--line);border-radius:999px;padding:4px 10px;background:var(--accent-green);color:#08250e}.module-card-hero{display:flex;align-items:center;justify-content:space-between;min-height:112px}.module-mascot{position:relative;width:96px;height:96px;border:3px solid var(--line);border-radius:8px;background:var(--accent-green);box-shadow:0 7px 0 var(--accent-green-shadow);animation:mascot-bob 2.8s ease-in-out infinite}.module-mascot:after{content:"1/2";position:absolute;right:14px;bottom:12px;left:14px;border-top:3px solid #08250e;padding-top:4px;color:#08250e;font-size:1.2rem;font-weight:1000;text-align:center}.mascot-eye{position:absolute;top:22px;width:13px;height:18px;border-radius:999px;background:#08250e;animation:mascot-blink 4s ease-in-out infinite}.mascot-eye-left{left:26px}.mascot-eye-right{right:26px}.mascot-smile{position:absolute;top:45px;left:34px;width:28px;height:14px;border-right:3px solid #08250e;border-bottom:3px solid #08250e;border-left:3px solid #08250e;border-radius:0 0 999px 999px}.module-card h3{font-size:1.9rem;line-height:1.05}.module-card p{margin:10px 0 0;color:var(--muted);font-weight:650}.module-competency-panel{display:grid;gap:10px;border:2px solid rgba(255,255,255,.46);border-radius:8px;padding:10px;background:#ffffff2e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.module-recommendation-list{display:grid;gap:6px}.module-recommendation-list span{color:var(--ink);font-size:.84rem;font-weight:900;line-height:1.25}.module-competency-grid{display:flex;flex-wrap:wrap;gap:7px}.module-competency-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;border:2px solid rgba(42,31,20,.16);border-radius:999px;padding:4px 9px;background:#ffffffbd;color:var(--ink);font-size:.76rem;font-weight:900}.module-competency-chip strong{font-size:.78rem}.module-competency-chip.is-emerging,.module-competency-chip.is-developing{border-color:#c44a2d57}.module-competency-chip.is-proficient,.module-competency-chip.is-mastered{border-color:#2c8b5757}.module-card-actions{display:flex;flex-wrap:wrap;gap:10px}.module-card-song-button{min-width:0;height:38px;padding:0 11px;font-size:.78rem}.dashboard-song-audio{display:none}.module-end-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.flashcard-game-shell{gap:16px}.flashcard-game-fractions-world{background:radial-gradient(circle at 18% 18%,rgba(255,217,77,.24),transparent 26%),linear-gradient(135deg,#7a3f1d2e,#ffffff0a),var(--surface)}.flashcard-game-asl-world{background:radial-gradient(circle at 82% 14%,rgba(28,176,246,.24),transparent 28%),linear-gradient(135deg,#1cb0f624,#58cc021a),var(--surface)}.flashcard-game-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.flashcard-game-heading h2{margin:0;font-size:clamp(2rem,5vw,3.6rem);line-height:.95}.flashcard-game-heading p{max-width:680px}.module-flashcards{position:relative;display:grid;gap:14px;min-width:0;padding:0}.module-flashcards:before{content:none}.module-flashcards-fractions-world,.module-flashcards-asl-world{background:transparent}.module-flashcards-heading,.flashcard-topline,.module-flashcard-summary{display:flex;align-items:center;gap:10px}.module-flashcards-heading{justify-content:space-between}.module-flashcards-heading h3{margin:0;font-size:1.5rem;line-height:1}.module-flashcard-summary{flex-wrap:wrap;justify-content:flex-end}.module-flashcard-summary span{display:inline-flex;align-items:center;gap:4px;min-height:30px;border:2px solid var(--line);border-radius:999px;padding:0 9px;background:#ffffffb8;box-shadow:0 3px 0 var(--shadow);color:var(--muted);font-size:.76rem;font-weight:1000;text-transform:uppercase}:root[data-theme=dark] .module-flashcard-summary span{background:#ffffff14}.module-flashcard-summary strong{color:var(--ink)}.flashcard-review-surface{display:grid;gap:12px}.flashcard-topline{justify-content:space-between;color:var(--muted);font-size:.78rem;font-weight:1000;text-transform:uppercase}.flashcard-topline strong{color:var(--ink)}.flashcard-study-card{display:grid;gap:10px;width:100%;min-height:152px;border:3px solid var(--line);border-radius:8px;padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 72%),var(--surface);box-shadow:inset 0 -5px #00000014,0 5px 0 var(--shadow);color:var(--ink);text-align:left}.flashcard-study-card span{color:var(--muted);font-size:.8rem;font-weight:1000;text-transform:uppercase}.flashcard-study-card strong{font-size:clamp(1.35rem,3vw,2.15rem);line-height:1.08}.flashcard-study-card em{color:var(--muted);font-style:normal;font-weight:850;line-height:1.35}.flashcard-study-card.is-fraction-prompt{place-items:center;align-content:center;text-align:center}.flashcard-study-card.is-fraction-prompt strong{font-size:clamp(2.9rem,8vw,5rem)}.flashcard-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.flashcard-choice-button{display:grid;place-items:center;min-height:92px;border:2px solid var(--line);border-radius:8px;padding:12px;background:var(--surface);box-shadow:0 4px 0 var(--shadow);color:var(--ink);font-size:.98rem;font-weight:1000;line-height:1.25;text-align:center}.flashcard-choice-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--shadow)}.flashcard-choice-button:disabled{cursor:default}.flashcard-choice-button:disabled:not(.is-correct):not(.is-incorrect){opacity:.62}.flashcard-choice-button.is-incorrect{background:#ffccd8;color:#4b1022}.flashcard-choice-button.is-correct{background:var(--accent-green);color:#08250e}.flashcard-answer-feedback{display:grid;gap:10px;border:2px solid var(--line);border-radius:8px;padding:12px;background:#ffffffc2;box-shadow:0 4px 0 var(--shadow)}.flashcard-answer-feedback span{color:var(--muted);font-weight:850;line-height:1.35}.flashcard-rating-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.flashcard-rating-button{min-height:42px;border:2px solid var(--line);border-radius:8px;padding:0 10px;background:var(--surface);box-shadow:0 4px 0 var(--shadow);color:var(--ink);font-weight:1000}.flashcard-rating-button.is-again{background:#ffccd8;color:#4b1022}.flashcard-rating-button.is-hard{background:var(--accent-orange);color:#2a1600}.flashcard-rating-button.is-good{background:var(--accent-green);color:#08250e}.flashcard-rating-button.is-easy{background:var(--accent-blue);color:#061b27}.flashcard-answer-feedback.is-correct{background:#58cc022e}.flashcard-answer-feedback.is-incorrect{background:#ffccd8b8}.module-meta{display:flex;flex-wrap:wrap;gap:8px}.module-meta span{display:inline-flex;align-items:center;gap:5px;min-height:34px;border:2px solid var(--line);border-radius:999px;padding:0 10px;background:var(--surface-raised);box-shadow:0 3px 0 var(--shadow);font-size:.86rem;font-weight:1000;text-transform:uppercase}.lesson-strip{border:3px solid var(--line);border-radius:8px;padding:16px;background:var(--accent-yellow);box-shadow:0 5px 0 var(--accent-yellow-shadow);color:#2a2500}.lesson-strip .eyebrow,.lesson-strip .muted{color:#5c4a00}.lesson-strip p,.question-card p{margin:0}.lesson-strip h3{font-size:1.45rem}.quiz-heading,.quiz-locked{border:3px solid var(--line);border-radius:8px;background:var(--surface-raised);box-shadow:0 6px 0 var(--shadow)}.fractionfall-panel{display:grid;gap:16px;min-width:0;overflow:visible}.quiz-heading h3{margin:0;font-size:2rem;line-height:1}.quiz-heading p,.quiz-locked span{margin:0}.fractionfall-tutorial,.fractionfall-play,.fractionfall-complete{display:grid;gap:16px}.fractionfall-tutorial{position:relative;z-index:4;min-height:clamp(500px,62vh,680px);overflow:visible}.fractionfall-play{justify-items:center}.chocolate-scale-play{position:relative;display:grid;gap:clamp(10px,1.4vh,16px);justify-items:stretch;width:100%;min-height:0}.chocolate-scale-workspace{display:grid;grid-template-columns:clamp(88px,11vw,118px) minmax(0,1fr);gap:clamp(10px,1.5vw,16px);align-items:stretch;width:min(100%,940px);justify-self:center}.chocolate-scale-activity{--scale-tilt: 0deg;display:grid;gap:14px;width:100%;min-height:clamp(420px,58vh,560px);border:3px solid var(--line);border-radius:8px;padding:clamp(12px,2vw,18px);background:linear-gradient(180deg,rgba(255,217,77,.2),transparent 42%),var(--surface);box-shadow:inset 0 -6px #00000014,0 6px 0 var(--shadow)}.chocolate-scale-heading{display:grid;gap:4px}.chocolate-scale-heading h3{margin:0;font-size:clamp(1.2rem,2.4vw,1.8rem);line-height:1.05}.chocolate-scale{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(74px,92px) minmax(0,1fr);gap:clamp(10px,2vw,18px);align-items:end;min-height:clamp(240px,34vh,320px)}.chocolate-scale-beam{position:absolute;right:9%;bottom:clamp(84px,12vh,112px);left:9%;height:18px;border:3px solid var(--line);border-radius:999px;background:var(--accent-yellow);box-shadow:0 5px 0 var(--accent-yellow-shadow);transform:rotate(var(--scale-tilt));transform-origin:50% 50%;transition:transform .26s ease}.chocolate-scale-pan{position:relative;z-index:2;display:grid;gap:10px;align-content:center;min-height:clamp(170px,25vh,230px);border:3px solid var(--line);border-radius:8px;padding:12px;background:var(--surface-raised);box-shadow:0 5px 0 var(--shadow);transition:transform .26s ease}.chocolate-scale-activity.is-left-heavy .chocolate-scale-pan.is-target,.chocolate-scale-activity.is-right-heavy .chocolate-scale-pan.is-drop-zone{transform:translateY(12px)}.chocolate-scale-activity.is-right-heavy .chocolate-scale-pan.is-target,.chocolate-scale-activity.is-left-heavy .chocolate-scale-pan.is-drop-zone{transform:translateY(-8px)}.chocolate-scale-activity.is-balanced .chocolate-scale-pan{box-shadow:0 5px 0 var(--shadow),0 0 0 4px #58cc0247}.scale-pan-label{color:var(--muted);font-size:.72rem;font-weight:1000;text-transform:uppercase}.chocolate-scale-pan strong,.scale-equation strong{font-size:clamp(1.1rem,2.2vw,1.5rem);line-height:1}.scale-fraction-bar{display:grid;grid-template-columns:repeat(var(--scale-fraction-parts, 1),minmax(0,1fr));min-height:62px;overflow:hidden;border:3px solid var(--line);border-radius:8px;background:#ffffff5c}.scale-fraction-bar span{min-width:0;border-right:2px solid var(--line);background:#aeb6bf47}.scale-fraction-bar span:last-child{border-right:0}.scale-fraction-bar span.active,.scale-chocolate-piece,.scale-chocolate-drag-preview{background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 42%),var(--chocolate)}.chocolate-scale-fulcrum{position:relative;z-index:3;display:grid;place-items:center;align-self:end;justify-self:center;width:min(100%,86px);min-height:118px;color:var(--accent-purple)}.chocolate-scale-fulcrum:after{content:"";width:0;height:0;border-right:42px solid transparent;border-bottom:86px solid var(--line);border-left:42px solid transparent}.chocolate-scale-fulcrum svg{position:absolute;top:8px;z-index:1;padding:5px;border:2px solid var(--line);border-radius:999px;background:var(--surface-raised)}.scale-pan-pieces,.scale-piece-tray{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.scale-pan-pieces{min-height:78px}.scale-pan-empty{display:grid;place-items:center;width:100%;min-height:72px;border:3px dashed var(--line);border-radius:8px;color:var(--muted);font-weight:1000}.scale-chocolate-piece,.scale-chocolate-drag-preview{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:48px;border:3px solid var(--line);border-radius:8px;color:var(--chocolate-label);box-shadow:inset 0 0 0 5px var(--chocolate-ridge),inset 0 -6px #0000002e,0 4px 0 var(--chocolate-dark);font-weight:1000}.scale-chocolate-piece{cursor:grab;touch-action:none}.scale-chocolate-piece.is-placed{position:relative;padding-right:22px;cursor:grab}.scale-chocolate-piece.is-placed:after{content:"-";position:absolute;top:-7px;right:-7px;display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border:2px solid var(--line);border-radius:999px;background:var(--accent-yellow);box-shadow:0 2px 0 var(--accent-yellow-shadow);color:#2a2500;font-size:1rem;line-height:1}.scale-chocolate-drag-preview{position:fixed;top:var(--drag-preview-y, 0);left:var(--drag-preview-x, 0);z-index:80;min-width:66px;min-height:52px;pointer-events:none;transform:translate(-50%,-50%) rotate(-3deg) scale(1.12);box-shadow:inset 0 0 0 5px var(--chocolate-ridge),inset 0 -6px #0000002e,0 0 0 5px #ffd65cb8,0 12px 28px #34180f52}.scale-chocolate-piece.is-dragging,.scale-chocolate-piece:active{cursor:grabbing;opacity:.54;transform:translateY(-3px)}.scale-chocolate-piece:disabled{cursor:default;opacity:.82}.scale-equation{display:inline-flex;align-items:center;justify-content:center;gap:12px;justify-self:center;min-height:42px;border:2px solid var(--line);border-radius:999px;padding:5px 14px;background:var(--surface-raised);box-shadow:0 3px 0 var(--shadow)}.scale-piece-tray{flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;width:100%;min-height:0;max-height:100%;overflow-y:auto;border:3px solid var(--line);border-radius:8px;padding:8px;background:var(--surface-raised);box-shadow:0 5px 0 var(--shadow)}.scale-piece-tray.is-remove-target,.chocolate-scale-pan.is-drop-target{background:linear-gradient(180deg,rgba(255,214,92,.28),transparent 58%),var(--surface-raised);box-shadow:0 5px 0 var(--shadow),0 0 0 5px #ffd65c85,0 0 26px #ffd65c6b}.scale-piece-tray .scale-chocolate-piece{width:100%;min-width:0;min-height:46px}.sybbie-teacher-stage{position:relative;min-height:clamp(500px,62vh,680px);overflow:visible}.sybbie-teacher-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;border-radius:8px;background:transparent;opacity:0;pointer-events:none;transition:opacity .22s ease}:root[data-theme=dark] .sybbie-teacher-stage:before{background:transparent}.sybbie-teacher-stage:has(.sybbie-teacher.is-primary-focus):before{opacity:0}.sybbie-voice-track{display:none}.fractions-world-shell-active .sybbie-teacher-stage{height:100%;min-height:0;overflow:visible}.fractions-world-shell-active .sybbie-teacher{top:clamp(8px,1.6dvh,18px)}.fractions-world-shell-active .sybbie-teacher-board{--sybbie-board-gap: 6px;max-height:none;padding:12px 12px 20px}.sybbie-teacher{position:absolute;top:-42px;right:auto;left:50%;z-index:12;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-content:end;justify-items:stretch;width:min(660px,calc(100% - 232px));pointer-events:none;transform:translate(-50%);transition:left .28s cubic-bezier(.16,1,.3,1),width .28s cubic-bezier(.16,1,.3,1),transform .28s cubic-bezier(.16,1,.3,1)}.sybbie-teacher.is-handoff-pending{visibility:hidden}.sybbie-teacher.is-interaction-ready{left:50%}.fractions-world-shell-active .sybbie-teacher.is-docked:not(.is-choice-handoff){left:calc(50% + 49px)}.sybbie-teacher.is-choice-handoff{left:14px;width:86px;justify-items:start;transform:translate(0)}.sybbie-teacher-avatar{position:absolute;top:0;left:-98px;display:inline-flex;align-items:center;justify-content:center;width:86px;height:86px;border:0;border-radius:999px;background:transparent;color:var(--accent-purple);filter:drop-shadow(0 5px 0 rgba(0,0,0,.18));animation:mascot-bob 2.8s ease-in-out infinite;transition:left .28s cubic-bezier(.16,1,.3,1),opacity .18s ease,transform .28s cubic-bezier(.16,1,.3,1)}.sybbie-teacher.is-choice-handoff .sybbie-teacher-avatar{left:0;opacity:.92}.sybbie-teacher-avatar svg{width:72px;height:72px;stroke-width:2.25}.sybbie-teacher-board{--sybbie-board-gap: 8px;position:relative;isolation:isolate;display:grid;align-content:start;width:100%;min-height:0;max-height:none;overflow:visible;border:3px solid var(--line);border-radius:8px;padding:16px 16px 24px;background:var(--surface-raised);box-shadow:0 6px 0 var(--shadow);pointer-events:auto;transition:opacity .18s ease,transform .22s ease,visibility 0s linear .18s}.sybbie-teacher.is-choice-handoff .sybbie-teacher-board{visibility:hidden;opacity:0;pointer-events:none;transform:translate(-18px) scale(.94)}.sybbie-teacher-board[role=button]{cursor:pointer}.sybbie-teacher-board[role=button]:focus-visible{outline:4px solid var(--accent-yellow);outline-offset:4px}.sybbie-teacher.is-primary-focus .sybbie-teacher-board{box-shadow:0 7px 0 var(--shadow),0 0 0 4px #ffd94d5c}.sybbie-teacher-board:before{content:"";position:absolute;top:30px;left:-14px;z-index:0;width:22px;height:22px;border-bottom:3px solid var(--line);border-left:3px solid var(--line);background:var(--surface-raised);transform:rotate(45deg)}.sybbie-teacher-board>*{position:relative;z-index:1}.sybbie-teacher-board-clip{overflow:hidden;transition:height .26s cubic-bezier(.16,1,.3,1);will-change:height}.sybbie-teacher-board-content{display:grid;gap:var(--sybbie-board-gap);align-content:start}.sybbie-teacher-board h4,.sybbie-teacher-board p{margin:0}.sybbie-teacher-board h4{font-size:1.65rem;line-height:1.05}.sybbie-teacher-board p:not(.eyebrow){color:var(--muted);font-weight:750;line-height:1.35}.sybbie-dialogue-text{min-height:4.1em}.sybbie-teacher-command{color:var(--ink);font-weight:950}.sybbie-dialogue-cursor{display:inline-block;width:.58em;height:1em;margin-left:2px;border-radius:2px;background:var(--accent-blue);vertical-align:-.14em;animation:sybbie-dialogue-cursor .82s steps(2,start) infinite}.tutorial-fraction-model{position:relative;display:grid;gap:7px;width:100%;min-height:clamp(500px,62vh,680px);grid-auto-rows:clamp(78px,13vh,118px);align-content:end;align-self:stretch;overflow:visible;border:0;border-radius:8px;padding:clamp(168px,24vh,228px) 16px clamp(28px,4vh,42px);background:transparent;box-shadow:none;transition:box-shadow .16s ease,transform .16s ease}.tutorial-fraction-model:not(.is-static){cursor:pointer}.tutorial-fraction-model.is-tool-hammer{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M17.5 18.2 32.8 33.5c1.1 1.1 2.8 1.1 3.9 0l.4-.4c1.1-1.1 1.1-2.8 0-3.9L21.8 13.9Z' fill='%238f5729' stroke='%232b1b12' stroke-width='2.4' stroke-linejoin='round'/%3E%3Cpath d='M19.8 20.5 30.6 31.3' fill='none' stroke='%23c58a50' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M5.1 10.7 11.8 4l17.5 6.2-5.7 5.7-7.8-2.8-4.9 4.9Z' fill='%23b9c2cc' stroke='%232b1b12' stroke-width='2.4' stroke-linejoin='round'/%3E%3Cpath d='M5.8 10.1c-2.8 2.7-3.6 6.8-1.7 10.1l6.8-6.8Z' fill='%23d8dee5' stroke='%232b1b12' stroke-width='2.4' stroke-linejoin='round'/%3E%3Cpath d='M13.7 7 24.1 10.6' fill='none' stroke='%23edf2f7' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 8 8,pointer}.tutorial-fraction-model.is-tool-glue{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 3C11 10 8 14 8 20a8 8 0 0016 0c0-6-3-10-8-17z' fill='%237a3f1d' stroke='%232b1b12' stroke-width='2'/%3E%3Ccircle cx='14' cy='18' r='2' fill='%23b5723a'/%3E%3C/svg%3E") 10 4,pointer}.tutorial-fraction-model:not(.is-static):hover{box-shadow:none;transform:translateY(-2px)}.tutorial-fraction-model:focus-visible{outline:4px solid var(--accent-yellow);outline-offset:3px}.tutorial-rename-step{position:relative;display:grid;gap:12px;width:100%;min-height:clamp(500px,62vh,680px);align-content:end;overflow:visible;border:0;border-radius:8px;padding:clamp(168px,24vh,228px) 16px 16px;background:transparent;box-shadow:none}.tutorial-rename-step.is-answer-focus{z-index:11;align-content:center;justify-items:center;padding:clamp(72px,12vh,118px) 16px clamp(52px,8vh,86px)}.fractions-world-shell-active .tutorial-fraction-model,.fractions-world-shell-active .tutorial-rename-step{height:100%;min-height:0;padding:clamp(164px,23dvh,210px) 14px clamp(30px,4dvh,44px)}.fractions-world-shell-active .tutorial-rename-step.is-answer-focus{padding:clamp(58px,9dvh,92px) 14px clamp(44px,7dvh,76px)}.fractions-world-shell-active .tutorial-fraction-model{grid-auto-rows:clamp(70px,12dvh,104px)}.tutorial-rename-card{display:grid;gap:14px;width:min(100%,760px);border:3px solid var(--line);border-radius:8px;padding:16px;background:#fffcf0db;box-shadow:0 6px #2b1b1247,0 16px 36px #2b1b122e;color:#24170f}:root[data-theme=dark] .tutorial-rename-card{background:#0b0f19db;color:#f8fafc}.tutorial-rename-prompt{display:flex;align-items:center;gap:10px;color:inherit;font-weight:950}.tutorial-rename-step.is-answer-focus .tutorial-rename-prompt,.tutorial-rename-step.is-answer-focus .tutorial-rename-choices,.tutorial-rename-step.is-answer-focus .tutorial-rename-feedback{width:100%}.tutorial-rename-step.is-answer-focus .tutorial-rename-prompt{justify-content:center;text-align:center}.tutorial-rename-prompt strong{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:48px;border:3px solid var(--line);border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%),var(--chocolate);color:var(--chocolate-label);box-shadow:inset 0 0 0 6px var(--chocolate-ridge),inset 0 -8px #0000002e,0 3px 0 var(--chocolate-dark);font-size:1.15rem;font-weight:1000}.tutorial-rename-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tutorial-rename-feedback{margin:0 0 4px;color:inherit;font-weight:950;text-align:center}.tutorial-fraction-progress{position:absolute;right:auto;bottom:0;left:0;z-index:2;display:block;width:var(--tutorial-progress, 0%);height:10px;border:0;border-top:3px solid var(--line);border-radius:0;background:linear-gradient(90deg,var(--accent-green),var(--accent-yellow));box-shadow:none;pointer-events:none;transition:width .22s ease}.tutorial-fraction-model.whole{grid-template-columns:1fr}.tutorial-fraction-model.halves{grid-template-columns:repeat(2,minmax(0,1fr))}.tutorial-fraction-model.fourths{grid-template-columns:repeat(4,minmax(0,1fr))}.tutorial-fraction-model>span:not(.tutorial-fraction-progress,.tutorial-tool-indicator){position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:0;border:3px solid var(--line);border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%),var(--chocolate);color:var(--chocolate-label);box-shadow:inset 0 0 0 7px var(--chocolate-ridge),inset 0 -9px #0000002e,0 4px 0 var(--chocolate-dark);font-size:1.15rem;font-weight:1000;transition:box-shadow .16s ease,filter .16s ease,transform .16s ease}.tutorial-tool-indicator{position:absolute;right:18px;bottom:clamp(118px,16vh,154px);z-index:4;display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;border:3px solid var(--line);border-radius:999px;box-shadow:0 4px #2b1b1242,0 10px 24px #2b1b1233;pointer-events:none;animation:tutorial-tool-float 1.2s ease-in-out infinite}.tutorial-tool-indicator.is-hammer{background:#f6e4b8;color:#4b2f1f}.tutorial-hammer-icon{display:block;width:42px;height:42px;transform:rotate(-5deg)}.tutorial-tool-indicator.is-glue{background:#7a3f1d;color:#fff1d6}.tutorial-fraction-model>span.active{background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 44%),var(--chocolate);color:var(--chocolate-label);animation:fill-bounce .36s ease both}.tutorial-fraction-model>span:not(.active,.tutorial-fraction-progress,.tutorial-tool-indicator){opacity:1;filter:brightness(.88) saturate(.82)}.tutorial-fraction-model.is-animating.is-tool-hammer.whole>span.active,.tutorial-fraction-model.is-animating.is-tool-hammer.halves>span.active:first-of-type{overflow:hidden;animation:fill-bounce .36s ease both,tutorial-chocolate-hit 1.7s ease-in-out .12s both}.tutorial-fraction-model.is-animating.is-tool-hammer.whole>span.active:before,.tutorial-fraction-model.is-animating.is-tool-hammer.halves>span.active:first-of-type:before{content:"";position:absolute;inset:10px auto 10px 50%;width:6px;background:linear-gradient(180deg,transparent 0 8%,#fff2b6 8% 15%,transparent 15% 24%,#fff2b6 24% 35%,transparent 35% 46%,#fff2b6 46% 56%,transparent 56% 67%,#fff2b6 67% 76%,transparent 76% 100%);border-radius:999px;filter:drop-shadow(0 0 7px rgba(255,214,92,.95));opacity:0;transform:translate(-50%) skew(-12deg);animation:tutorial-crack-flash 1.7s ease-in-out .12s both}.tutorial-fraction-model.is-animating.is-tool-glue.fourths>span.active:nth-of-type(1){animation:fill-bounce .36s ease both,tutorial-glue-piece-left 1.7s ease-in-out .12s both}.tutorial-fraction-model.is-animating.is-tool-glue.fourths>span.active:nth-of-type(2){animation:fill-bounce .36s ease both,tutorial-glue-piece-right 1.7s ease-in-out .12s both}.tutorial-equivalence-animation{position:absolute;right:16px;bottom:clamp(28px,4vh,42px);left:16px;z-index:3;height:clamp(78px,13vh,118px);pointer-events:none}.fractions-world-shell-active .tutorial-equivalence-animation{right:14px;bottom:clamp(30px,4dvh,44px);left:14px;height:clamp(70px,12dvh,104px)}.tutorial-equivalence-animation.is-hammer-halves,.tutorial-equivalence-animation.is-glue-fourths{right:calc(50% + 4px)}.tutorial-preview-piece{position:absolute;top:0;bottom:0;display:inline-flex;align-items:center;justify-content:center;min-width:0;border:3px solid var(--line);border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 44%),var(--chocolate);box-shadow:inset 0 0 0 7px var(--chocolate-ridge),inset 0 -9px #0000002e,0 4px 0 var(--chocolate-dark);color:var(--chocolate-label);font-size:1.05rem;font-weight:1000}.tutorial-crack-line{position:absolute;top:9px;bottom:9px;left:50%;z-index:4;width:7px;border-radius:999px;background:linear-gradient(180deg,transparent 0 8%,#fff2b6 8% 16%,transparent 16% 25%,#fff2b6 25% 36%,transparent 36% 48%,#fff2b6 48% 58%,transparent 58% 69%,#fff2b6 69% 78%,transparent 78% 100%);filter:drop-shadow(0 0 5px rgba(255,214,92,.95)) drop-shadow(0 0 12px rgba(28,176,246,.34));opacity:0;transform:translate(-50%) skew(-12deg);animation:tutorial-crack-flash 1.7s ease-in-out .12s both}.tutorial-crack-line.line-two{top:18px;bottom:16px;left:calc(50% + 7px);width:4px;animation-delay:.19s}.tutorial-equivalence-animation.is-hammer-whole .piece-left,.tutorial-equivalence-animation.is-hammer-halves .piece-left{left:0;width:calc(50% - 4px);animation:tutorial-hammer-split-left 1.7s ease-in-out .12s both}.tutorial-equivalence-animation.is-hammer-whole .piece-right,.tutorial-equivalence-animation.is-hammer-halves .piece-right{right:0;width:calc(50% - 4px);animation:tutorial-hammer-split-right 1.7s ease-in-out .12s both}.tutorial-equivalence-animation.is-glue-fourths .piece-left{left:0;width:calc(50% - 4px);animation:tutorial-glue-preview-left 1.7s ease-in-out .12s both}.tutorial-equivalence-animation.is-glue-fourths .piece-right{right:0;width:calc(50% - 4px);animation:tutorial-glue-preview-right 1.7s ease-in-out .12s both}.tutorial-equivalence-animation.is-glue-fourths .combined-half{top:0;right:0;bottom:0;left:0;opacity:0;animation:tutorial-glue-half-appear 1.7s ease-in-out .12s both}.tutorial-glue-drop{position:absolute;top:10px;left:50%;z-index:5;width:14px;height:22px;border:2px solid var(--line);border-radius:999px 999px 999px 2px;background:#7a3f1d;box-shadow:0 3px 0 var(--chocolate-dark);opacity:0;transform:translate(-50%,-18px) rotate(45deg);animation:tutorial-glue-drop 1.7s ease-in-out .12s both}.tutorial-glue-drop.drop-two{left:calc(50% + 16px);animation-delay:.26s}.tutorial-same-amount-badge{position:absolute;top:-36px;left:50%;z-index:5;display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:2px solid var(--line);border-radius:999px;padding:0 10px;background:var(--accent-yellow);box-shadow:0 3px 0 var(--accent-yellow-shadow);color:#2a2500;font-size:.78rem;font-weight:1000;opacity:0;transform:translate(-50%) translateY(8px);white-space:nowrap}.tutorial-equivalence-animation.is-hammer-whole .tutorial-same-amount-badge,.tutorial-equivalence-animation.is-hammer-halves .tutorial-same-amount-badge,.tutorial-equivalence-animation.is-glue-fourths .tutorial-same-amount-badge{animation:tutorial-same-badge-pop 1.7s ease-in-out .12s both}.tutorial-fraction-model.is-tool-hammer:not(.is-static)>span:not(.tutorial-fraction-progress,.tutorial-tool-indicator):hover,.tutorial-fraction-model.is-tool-hammer:not(.is-static):focus-visible>span:not(.tutorial-fraction-progress,.tutorial-tool-indicator){box-shadow:inset 0 0 0 7px var(--chocolate-ridge),inset 0 -9px #0000002e,0 0 0 7px #ffd65cf5,0 0 0 14px #1cb0f657,0 8px 0 var(--chocolate-dark),0 18px 34px #55311457;filter:brightness(1.18) saturate(1.18);transform:translateY(-5px) scale(1.026)}.tutorial-fraction-model.is-tool-hammer:not(.is-static)>span:not(.tutorial-fraction-progress,.tutorial-tool-indicator):hover:after,.tutorial-fraction-model.is-tool-hammer:not(.is-static):focus-visible>span:not(.tutorial-fraction-progress,.tutorial-tool-indicator):after{content:"";position:absolute;top:-16px;right:-16px;bottom:-16px;left:-16px;z-index:-1;border:5px solid rgba(255,214,92,.96);border-radius:16px;box-shadow:0 0 0 7px #ffd65c38,0 0 28px #ffd65ce0;animation:tutorial-hammer-target-pulse .78s ease-in-out infinite}.fractionfall-status,.fractionfall-controls,.quiz-locked{display:flex;align-items:center;gap:10px}.fractionfall-status{flex-wrap:wrap;width:min(100%,680px);justify-content:center}.fractionfall-status span,.quiz-locked strong{min-height:34px;border:2px solid var(--line);border-radius:999px;padding:5px 10px;background:var(--surface);box-shadow:0 3px 0 var(--shadow);font-size:.86rem;font-weight:1000}.fractionfall-timer{height:18px;overflow:hidden;border:2px solid var(--line);border-radius:999px;background:var(--surface)}.fractionfall-timer span{display:block;height:100%;border-right:2px solid var(--line);background:linear-gradient(90deg,var(--accent-green),var(--accent-yellow),var(--accent-orange));transition:width .22s linear}.fractionfall-feedback{min-height:28px;margin:0;border:2px solid var(--line);border-radius:8px;padding:8px 10px;background:#fffcf0b8;box-shadow:0 3px #2b1b1229;color:var(--ink);font-size:.9rem;font-weight:900}:root[data-theme=dark] .fractionfall-feedback{background:#0b0f19b8}.fractionfall-board{display:grid;justify-self:center;width:min(100%,680px);grid-template-columns:repeat(var(--fall-columns, 4),minmax(0,1fr));grid-template-rows:repeat(var(--fall-rows, 12),minmax(28px,1fr));gap:2px;height:clamp(520px,68vh,640px);min-height:520px;border:3px solid var(--line);border-radius:8px;padding:10px;background:linear-gradient(180deg,rgba(28,176,246,.18),transparent 58%),var(--card-highlight);overflow:hidden}.fractionfall-board-slot,.fractionfall-stack-cell,.fractionfall-piece-ghost,.fractionfall-piece-segment{border:2px solid var(--line);border-radius:4px}.fractionfall-board-slot{min-width:0;background:#ffffff24;opacity:.5}.fractionfall-board-slot.is-target-gap{background:#ffd94d4d;box-shadow:inset 0 0 0 2px var(--accent-yellow);opacity:1}.fractionfall-target-pocket{z-index:2;display:inline-flex;align-items:center;justify-content:center;min-width:0;border:2px dashed var(--line);border-radius:5px;background:#ffd94d2e;box-shadow:inset 0 0 0 3px #ffffff57,0 0 0 2px #ffd94d59;pointer-events:none}.fractionfall-target-pocket:after{content:attr(data-label);display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:21px;border:2px solid var(--line);border-radius:999px;padding:0 8px;background:var(--accent-yellow);color:#2a2500;font-size:.68rem;font-weight:1000;line-height:1;box-shadow:0 2px 0 var(--shadow)}.fractionfall-target-pocket.is-split-slot{border-style:solid;background:linear-gradient(90deg,rgba(255,255,255,.32),transparent 32%),#ffd94d38}.fractionfall-target-pocket.is-combine-slot{border-color:var(--accent-green);background:#58cc022e;box-shadow:inset 0 0 0 3px #ffffff47,0 0 0 2px #58cc0252}.fractionfall-stack-cell{min-width:0;background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 42%),var(--chocolate);box-shadow:inset 0 0 0 3px var(--chocolate-ridge),inset 0 -5px #0000002e}.fractionfall-stack-cell.is-piece-cell{background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 42%),var(--chocolate)}.fractionfall-stack-cell.is-clearing{z-index:3;animation:fractionfall-line-eaten .52s ease-in forwards}.fractionfall-stack-label{z-index:4;display:inline-flex;align-items:center;justify-content:center;min-width:0;padding:0 3px;background:transparent;color:var(--chocolate-label);font-size:clamp(.58rem,1.5vw,.92rem);font-weight:1000;line-height:1;pointer-events:none;text-shadow:0 1px 0 var(--chocolate-dark),1px 0 0 var(--chocolate-dark),-1px 0 0 var(--chocolate-dark)}.fractionfall-stack-label.is-reference{z-index:2;opacity:.68}.fractionfall-piece-ghost{z-index:3;min-width:0;border-style:dashed;background:#ffd94d29;box-shadow:inset 0 0 0 3px #ffffff47;pointer-events:none;transform:translateY(calc(var(--segment-row, 0) * (100% + 3px)))}.fractionfall-piece-ghost.is-combined{background:#58cc0224}.fractionfall-piece-segment{z-index:5;display:inline-flex;align-items:center;justify-content:center;min-width:0;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 42%),var(--chocolate);box-shadow:inset 0 0 0 4px var(--chocolate-ridge),inset 0 -5px #0000002e,0 3px 0 var(--chocolate-dark);color:var(--chocolate-label);font-size:clamp(.64rem,1.35vw,.95rem);font-weight:1000;transform:translateY(calc(var(--segment-row, 0) * (100% + 3px)));transition:transform .52s linear,filter .14s ease;will-change:transform}.fractionfall-piece-segment.is-locked{filter:saturate(.95) brightness(.96)}.fractionfall-piece-segment.is-grounded{filter:saturate(1.06) brightness(1.02);box-shadow:inset 0 0 0 4px var(--chocolate-ridge),inset 0 -5px #0000002e,0 3px 0 var(--chocolate-dark),0 0 0 3px #ffd94d4d}.fractionfall-piece-segment.is-unit,.fractionfall-piece-segment.is-combined{cursor:grab;touch-action:none}.fractionfall-piece-segment.is-awaiting-split{cursor:default;filter:saturate(.9)}.fractionfall-piece-segment.is-unit:active,.fractionfall-piece-segment.is-combined:active{cursor:grabbing}.fractionfall-piece-segment.is-awaiting-split:active{cursor:default}.fractionfall-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fractionfall-controls{flex-wrap:wrap;width:min(100%,680px);justify-content:center}.quiz-heading{display:grid;gap:6px;padding:16px}.fractionfall-complete{position:relative;justify-items:center;border:3px solid var(--line);border-radius:8px;padding:18px;overflow:visible;background:linear-gradient(180deg,rgba(88,214,92,.22),transparent 80%),var(--surface);text-align:center}.fractionfall-complete>:not(.candy-burst):not(.fraction-complete-song){position:relative;z-index:3}.fractionfall-complete .candy-burst{top:52%}.fraction-complete-song{display:none}.fraction-complete-sybbie{position:relative;display:grid;place-items:center;width:112px;height:116px;margin-top:4px;animation:sybbie-finale-hop .72s ease-in-out infinite;transform-origin:center bottom}.fraction-complete-sybbie-badge{position:relative;z-index:2;display:grid;place-items:center;width:86px;height:86px;border:3px solid #202124;border-radius:999px;background:#fff;box-shadow:0 6px #15191f52,0 0 0 5px #ffffff8a;color:var(--accent-purple);animation:sybbie-finale-sway .72s ease-in-out infinite}.fraction-complete-sybbie-arm,.fraction-complete-sybbie-foot{position:absolute;z-index:1;display:block;border:3px solid #202124;background:var(--accent-purple);box-shadow:0 3px #15191f38}.fraction-complete-sybbie-arm{top:43px;width:36px;height:12px;border-radius:999px;transform-origin:center;animation:sybbie-finale-arm-wave .72s ease-in-out infinite}.fraction-complete-sybbie-arm.arm-left{left:4px;transform:rotate(-26deg)}.fraction-complete-sybbie-arm.arm-right{right:4px;transform:rotate(26deg);animation-delay:-.36s}.fraction-complete-sybbie-foot{bottom:10px;width:24px;height:12px;border-radius:999px 999px 6px 6px;background:var(--accent-blue);animation:sybbie-finale-foot-tap .72s ease-in-out infinite}.fraction-complete-sybbie-foot.foot-left{left:32px}.fraction-complete-sybbie-foot.foot-right{right:32px;animation-delay:-.36s}.fractionfall-complete strong{font-size:1.45rem}.fractionfall-complete span{color:var(--muted);font-weight:800}.quiz-locked{flex-wrap:wrap;padding:16px;color:var(--muted)}.quiz-locked strong{background:var(--accent-yellow);color:#2a2500}.question-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.question-card{position:relative;display:grid;grid-template-rows:auto 130px auto auto auto;gap:16px;min-height:420px;overflow:visible;border:3px solid var(--line);border-radius:8px;padding:16px;background:var(--surface-raised);box-shadow:0 6px 0 var(--shadow);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.question-card:hover{transform:translateY(-2px)}.question-card.is-answered{animation:card-pop .22s ease}.question-card.is-correct{background:linear-gradient(180deg,rgba(88,214,92,.22),transparent 70%),var(--surface-raised)}.question-card.needs-review{background:linear-gradient(180deg,rgba(255,107,154,.2),transparent 70%),var(--surface-raised)}.question-topline{color:var(--muted);font-size:.84rem;font-weight:1000;text-transform:uppercase}.question-card.is-correct .question-topline strong{color:var(--success)}.question-card.needs-review .question-topline strong{color:var(--danger)}.fraction-visual{width:100%;min-height:130px}.pizza-visual{position:relative;width:122px;min-height:122px;margin:0 auto;border:4px solid var(--line);border-radius:50%;box-shadow:inset 0 0 0 12px var(--surface-raised),0 6px 0 var(--accent-orange-shadow);animation:visual-float 3.2s ease-in-out infinite}.pizza-visual:after{content:"";position:absolute;top:45px;right:45px;bottom:45px;left:45px;border:3px solid var(--line);border-radius:50%;background:var(--accent-yellow)}.bar-visual{display:grid;grid-template-columns:repeat(var(--parts, 4),1fr);gap:6px;align-items:stretch}.bar-visual span{border:3px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:inset 0 -4px #00000014}.bar-visual span.filled{background:var(--accent-blue);animation:fill-bounce .42s ease both}.number-line{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-weight:1000}.number-line div{display:flex;justify-content:space-between;border-top:5px solid var(--line)}.number-line i{width:18px;height:18px;margin-top:-12px;border:3px solid var(--line);border-radius:999px;background:var(--surface)}.number-line i.filled{background:var(--accent-pink);animation:fill-bounce .42s ease both}.answer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.answer-option{display:grid;gap:8px;place-items:center;min-height:48px;padding:8px;background:var(--answer-bg, var(--surface-raised));box-shadow:0 5px 0 var(--answer-shadow, var(--shadow));color:var(--answer-ink, #102035);font-size:1.08rem;font-weight:1000}.answer-grid .answer-option,.tutorial-rename-choices .answer-option{min-height:96px}.chocolate-choice{display:grid;gap:7px;place-items:center;width:100%;line-height:1}.chocolate-choice-label{color:currentColor;font-size:1.14rem;font-weight:1000}.chocolate-choice-bar{display:grid;grid-template-columns:repeat(var(--choice-parts, 4),minmax(0,1fr));gap:3px;width:min(100%,136px);min-height:32px;border:2px solid var(--line);border-radius:8px;padding:3px;background:#ffffff5c;box-shadow:inset 0 -3px #00000014}.chocolate-choice-bar span{min-width:0;border:2px solid var(--line);border-radius:5px;background:#aeb6bf47}.chocolate-choice-bar span.is-filled{background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%),var(--chocolate);box-shadow:inset 0 0 0 3px var(--chocolate-ridge),inset 0 -4px #0000002e}.answer-option.selected .chocolate-choice-bar,.answer-option.correct .chocolate-choice-bar,.answer-option.incorrect .chocolate-choice-bar{background:#ffffff9e}.answer-option:nth-child(1){--answer-bg: #dff5ff;--answer-shadow: #76cbee}.answer-option:nth-child(2){--answer-bg: #fff0b8;--answer-shadow: #ddb12b}.answer-option:nth-child(3){--answer-bg: #ffe1ec;--answer-shadow: #ee7aa3}:root[data-theme=dark] .answer-option:nth-child(1){--answer-bg: #1e4c68;--answer-shadow: #0c2c42;--answer-ink: #f8fafc}:root[data-theme=dark] .answer-option:nth-child(2){--answer-bg: #67511f;--answer-shadow: #342608;--answer-ink: #fff7d6}:root[data-theme=dark] .answer-option:nth-child(3){--answer-bg: #663149;--answer-shadow: #361526;--answer-ink: #fff1f7}.answer-option.selected{border-color:var(--line);background:var(--accent-purple);box-shadow:0 5px 0 var(--shadow),inset 0 0 0 4px #fff6;color:#fff;animation:answer-pop .24s ease}.answer-option.correct{background:var(--success);box-shadow:0 5px 0 var(--accent-green-shadow);color:#08250e;animation:answer-correct .5s ease}.answer-option.incorrect{background:var(--danger);box-shadow:0 5px #c62f35;color:#fff;animation:answer-shake .36s ease}.score-panel{position:relative;justify-content:flex-start;min-height:62px;border:3px solid var(--line);border-radius:8px;padding:0 18px;background:var(--accent-yellow);box-shadow:0 6px 0 var(--accent-yellow-shadow);color:#2a2500;animation:score-pop .42s ease}.candy-burst{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;overflow:visible;pointer-events:none}.tutorial-candy-celebration{top:52%;z-index:18;height:1px}.scale-candy-celebration{inset:84px 0 auto;z-index:12;height:220px}.question-candy-celebration{inset:-22px 0 auto;height:180px}.score-candy-celebration{inset:-78px -18px auto;z-index:2;height:130px}.candy-burst-piece{--candy-x: 0px;--candy-y: -120px;--candy-start-x: 50%;--candy-start-y: 50%;--candy-spin: 180deg;--candy-end-spin: 340deg;--candy-delay: 0ms;--candy-color: var(--accent-yellow);--candy-scale: 1;position:absolute;top:50%;left:50%;width:18px;height:12px;border:2px solid var(--line);border-radius:6px;background:var(--candy-color);box-shadow:0 3px #2b1b1238;opacity:0;transform-origin:center;will-change:transform,opacity;animation:candy-throw 1.05s cubic-bezier(.2,.9,.28,1) var(--candy-delay) both}.candy-burst.is-grand .candy-burst-piece:not(.candy-side-piece),.candy-burst.is-finale .candy-burst-piece:not(.candy-side-piece):not(.candy-rain-piece){animation-duration:1.45s}.candy-viewport-cascade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;overflow:hidden;pointer-events:none}.candy-side-piece{position:fixed;top:var(--candy-start-y);left:var(--candy-start-x);animation-name:candy-side-sweep;animation-duration:1.9s}.candy-burst.is-grand .candy-side-piece,.candy-burst.is-finale .candy-side-piece{animation-duration:2.8s}.candy-rain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:118;overflow:hidden;pointer-events:none}.candy-rain-piece{top:-42px;left:var(--candy-rain-left);animation-name:candy-fall;animation-duration:var(--candy-rain-duration);animation-timing-function:cubic-bezier(.18,.72,.22,1);animation-iteration-count:infinite}.candy-burst-piece:before,.candy-burst-piece:after{content:"";position:absolute;top:50%;width:9px;height:9px;border:2px solid var(--line);background:var(--candy-color);transform:translateY(-50%) rotate(45deg)}.candy-burst-piece:before{left:-9px}.candy-burst-piece:after{right:-9px}.candy-burst-piece.is-dot{width:16px;height:16px;border-radius:999px}.candy-burst-piece.is-bar{width:26px;height:16px;border-radius:5px;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 42%),var(--chocolate);box-shadow:inset 0 0 0 4px var(--chocolate-ridge),inset 0 -4px #0000002e,0 3px #2b1b1238}.candy-burst-piece.is-dot:before,.candy-burst-piece.is-dot:after,.candy-burst-piece.is-bar:before,.candy-burst-piece.is-bar:after{display:none}.module-launch-transition{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:grid;place-items:center;overflow:hidden;pointer-events:auto;isolation:isolate}.module-launch-transition:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:#fffcf0c7;-webkit-backdrop-filter:blur(2px) saturate(1.08);backdrop-filter:blur(2px) saturate(1.08);transition:opacity .26s ease}:root[data-theme=dark] .module-launch-transition:before{background:#070910bd}.sybbie-launch-handoff{position:fixed;top:50%;left:50%;z-index:12020;display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px;width:min(560px,calc(100vw - 34px));transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:none;animation:sybbie-launch-widget-to-center .56s cubic-bezier(.16,1,.3,1) both;transition:opacity .22s ease,transform .56s cubic-bezier(.16,1,.3,1);will-change:transform,opacity}.sybbie-launch-handoff.is-exit{animation:sybbie-launch-fly-right .68s cubic-bezier(.5,0,.14,1) both}.sybbie-launch-handoff.is-wipe{opacity:0;animation:none;transform:translate(calc(-50% + 104vw),-58%) scale(.42) rotate(12deg)}.sybbie-launch-handoff-avatar{display:inline-flex;align-items:center;justify-content:center;width:86px;height:86px;border:3px solid #202124;border-radius:999px;background:#fff;box-shadow:0 6px #15191f52,0 0 0 5px #ffffff7a;color:var(--accent-purple);animation:mascot-bob 2.8s ease-in-out infinite}.sybbie-launch-handoff-avatar svg{width:72px;height:72px;stroke-width:2.25}.sybbie-launch-handoff p{position:relative;margin:0;border:3px solid var(--line);border-radius:8px;padding:16px 18px;background:var(--surface-raised);box-shadow:0 6px 0 var(--shadow);color:var(--ink);font-size:clamp(1.12rem,2.8vw,1.85rem);font-weight:1000;line-height:1.08}.sybbie-launch-handoff p:before{content:"";position:absolute;left:-15px;top:50%;width:22px;height:22px;border-bottom:3px solid var(--line);border-left:3px solid var(--line);background:var(--surface-raised);transform:translateY(-50%) rotate(45deg)}.module-launch-wipe{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;z-index:3;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 40%),var(--accent-yellow);box-shadow:inset 0 0 0 8px #00000014;opacity:0;transform:translate(-118%) skew(-8deg);transition:opacity .1s ease,transform .44s cubic-bezier(.7,0,.2,1);will-change:transform,opacity}.module-launch-transition.is-wipe:before{opacity:.28}.module-launch-transition.is-wipe .module-launch-wipe{opacity:1;transform:translate(0) skew(0)}.sybbie-launcher,.sybbie-panel{position:fixed;right:24px;bottom:24px;z-index:40}.sybbie-launcher{display:inline-flex;align-items:center;justify-content:center;width:86px;height:86px;border:0;border-radius:999px;padding:0;background:transparent;color:var(--accent-purple);filter:drop-shadow(0 5px 0 rgba(0,0,0,.18));font-weight:1000;animation:mascot-bob 2.8s ease-in-out infinite}.sybbie-launcher svg{width:72px;height:72px;stroke-width:2.25}.sybbie-launcher span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sybbie-handoff-avatar{position:fixed;top:calc(100vh - 110px);left:calc(100vw - 110px);z-index:60;display:inline-flex;align-items:center;justify-content:center;width:86px;height:86px;border:0;border-radius:999px;background:transparent;color:var(--accent-purple);filter:drop-shadow(0 5px 0 rgba(0,0,0,.18));pointer-events:none;animation:sybbie-handoff-to-teacher .78s cubic-bezier(.16,1,.3,1) forwards}.sybbie-handoff-avatar svg{width:72px;height:72px;stroke-width:2.25}.sybbie-launcher,.sybbie-handoff-avatar,.sybbie-teacher-avatar{border:3px solid #202124;background:#fff;box-shadow:0 6px #15191f52,0 0 0 5px #ffffff7a;color:var(--accent-purple);filter:none}.sybbie-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:12px;width:min(390px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 48px));border:3px solid var(--line);border-radius:8px;padding:14px;background:linear-gradient(180deg,rgba(28,176,246,.18),transparent 140px),var(--surface);box-shadow:0 7px 0 var(--shadow)}.sybbie-header,.sybbie-title,.sybbie-header-actions,.sybbie-form{display:flex;align-items:center}.sybbie-header{justify-content:space-between;gap:12px}.sybbie-title{min-width:0;gap:10px}.sybbie-title div{display:grid;min-width:0}.sybbie-title strong{line-height:1}.sybbie-title span:not(.sybbie-avatar){color:var(--muted);font-size:.82rem;font-weight:900}.sybbie-avatar,.sybbie-icon-button,.sybbie-send-button{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--line);border-radius:8px}.sybbie-avatar{width:42px;height:42px;flex:0 0 auto;background:var(--accent-yellow);box-shadow:0 4px 0 var(--accent-yellow-shadow);color:#2a2500}.sybbie-header-actions{gap:8px}.sybbie-icon-button,.sybbie-send-button{width:38px;height:38px;background:var(--surface-raised);box-shadow:0 4px 0 var(--shadow);color:var(--ink)}.sybbie-icon-button.is-muted{background:var(--accent-pink);box-shadow:0 4px 0 var(--accent-pink-shadow);color:#fff}.sybbie-messages{display:grid;align-content:start;gap:10px;min-height:190px;overflow-y:auto;padding:2px 3px 4px}.sybbie-message{max-width:88%;border:2px solid var(--line);border-radius:8px;padding:10px 12px;box-shadow:0 4px 0 var(--shadow);font-size:.94rem;font-weight:700;line-height:1.35}.sybbie-message.assistant{justify-self:start;background:var(--surface-raised)}.sybbie-message.user{justify-self:end;background:var(--accent-blue);color:#061b27}.sybbie-processing-row{display:inline-flex;align-items:center;gap:8px;justify-self:start;min-height:38px;border:2px solid var(--line);border-radius:8px;padding:0 12px;background:var(--surface-raised);box-shadow:0 4px 0 var(--shadow)}.sybbie-processing-dots{display:inline-flex;align-items:center;gap:5px}.sybbie-processing-dots span{width:7px;height:7px;border-radius:999px;background:var(--accent-blue);animation:sybbie-thinking .78s ease-in-out infinite}.sybbie-processing-dots span:nth-child(2){animation-delay:.12s}.sybbie-processing-dots span:nth-child(3){animation-delay:.24s}.sybbie-processing-text{color:var(--ink);font-size:.84rem;font-weight:1000}.sybbie-prompts{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.sybbie-prompts button{min-height:34px;flex:0 0 auto;border:2px solid var(--line);border-radius:999px;padding:0 10px;background:var(--surface-raised);box-shadow:0 3px 0 var(--shadow);color:var(--ink);font-size:.82rem;font-weight:1000}.sybbie-form{gap:8px}.sybbie-form input{min-height:42px}.sybbie-send-button{flex:0 0 auto;background:var(--accent-green);box-shadow:0 4px 0 var(--accent-green-shadow);color:#08250e}@keyframes badge-wiggle{0%,88%,to{transform:rotate(0) scale(1)}91%{transform:rotate(-5deg) scale(1.04)}95%{transform:rotate(5deg) scale(1.04)}}@keyframes card-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes mascot-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}@keyframes sybbie-handoff-to-teacher{0%{opacity:1;top:calc(100vh - 110px);left:calc(100vw - 110px);transform:scale(1)}88%,99%{opacity:1;top:var(--sybbie-handoff-top, calc(50vh - 43px) );left:var(--sybbie-handoff-left, calc(50vw - 43px) );transform:scale(1)}to{opacity:1;top:var(--sybbie-handoff-top, calc(50vh - 43px) );left:var(--sybbie-handoff-left, calc(50vw - 43px) );transform:scale(1)}}@keyframes sybbie-launch-widget-to-center{0%{opacity:0;transform:translate(calc(-50% + 42vw),calc(-50% + 38vh)) scale(.46) rotate(-8deg)}70%{opacity:1}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}@keyframes sybbie-launch-fly-right{0%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}62%{opacity:1;transform:translate(calc(-50% + 62vw),-54%) scale(.72) rotate(7deg)}to{opacity:0;transform:translate(calc(-50% + 104vw),-58%) scale(.42) rotate(12deg)}}@keyframes sybbie-dialogue-cursor{0%,48%{opacity:1}49%,to{opacity:0}}@keyframes mascot-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}@keyframes visual-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes asl-current-drift{0%,to{transform:translate(0) scaleX(1)}50%{transform:translate(18px) scaleX(1.04)}}@keyframes asl-bubble-rise{0%{opacity:.18;transform:translateY(18px) scale(.92)}28%,76%{opacity:.82}to{opacity:0;transform:translateY(-54px) scale(1.08)}}@keyframes asl-ocean-light-shift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(28px) scale(1.03)}}@keyframes asl-rail-current-slide{0%{background-position:0 0,0 0}to{background-position:0 0,0 140px}}@keyframes asl-rail-fish-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(4px) rotate(3deg)}}@keyframes asl-dashboard-caustics{0%,to{transform:translate3d(-10px,0,0) scale(1);opacity:.72}50%{transform:translate3d(22px,4px,0) scale(1.04);opacity:.92}}@keyframes asl-dashboard-reef-breathe{0%,to{transform:translateY(0) scaleX(1)}50%{transform:translateY(5px) scaleX(1.015)}}@keyframes asl-dashboard-bubble-rise{0%{opacity:0;transform:translate3d(0,26px,0) scale(.84)}22%,74%{opacity:.86}to{opacity:0;transform:translate3d(16px,-72px,0) scale(1.12)}}@keyframes asl-card-ray-sway{0%,to{transform:translate(-6px) rotate(var(--ray-rotate))}50%{transform:translate(14px) rotate(calc(var(--ray-rotate) + 3deg))}}@keyframes asl-dashboard-kelp-sway{0%,to{transform:rotate(-2.5deg) skew(-1deg)}50%{transform:rotate(4deg) skew(2deg)}}@keyframes asl-shell-glint{0%,to{filter:brightness(1)}50%{filter:brightness(1.14)}}@keyframes asl-kelp-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}@keyframes asl-fish-swim-right{0%{transform:translateZ(0)}48%{transform:translate3d(calc(50vw + 110px),-12px,0)}to{transform:translate3d(calc(100vw + 240px),10px,0)}}@keyframes asl-fish-swim-left{0%{transform:translateZ(0) scaleX(-1)}50%{transform:translate3d(calc(-50vw - 100px),14px,0) scaleX(-1)}to{transform:translate3d(calc(-100vw - 220px),-8px,0) scaleX(-1)}}@keyframes asl-card-fish-swim-right{0%{transform:translateZ(0)}52%{transform:translate3d(280px,-10px,0)}to{transform:translate3d(620px,8px,0)}}@keyframes asl-card-fish-swim-left{0%{transform:translateZ(0) scaleX(-1)}48%{transform:translate3d(-270px,11px,0) scaleX(-1)}to{transform:translate3d(-620px,-6px,0) scaleX(-1)}}@keyframes asl-pebble-shimmer{0%,to{transform:translate(0);opacity:.72}50%{transform:translate(-10px);opacity:.9}}@keyframes asl-dashboard-hand-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(2deg)}}@keyframes asl-sign-card-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}@keyframes asl-signal-pulse{0%,to{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes chocolate-world-wrapper-slide{0%{background-position:0 0}to{background-position:336px 0}}@keyframes chocolate-world-wrapper-float{0%,to{translate:0 0}50%{translate:0 -10px}}@keyframes chocolate-world-fraction-float{0%,to{translate:0 0;rotate:-2deg}50%{translate:0 -13px;rotate:3deg}}@keyframes chocolate-world-conveyor{0%{transform:translate(0)}to{transform:translate(calc(-50% - 5px))}}@keyframes chocolate-world-board-belt{0%{background-position:0 0}to{background-position:0 116px}}@keyframes chocolate-world-factory-bar{0%{left:-76px}to{left:calc(100% + 76px)}}@keyframes chocolate-world-drip{0%,to{transform:scaleY(.62)}50%{transform:scaleY(1)}}@keyframes chocolate-dashboard-bar-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes chocolate-kiss-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}@keyframes fill-bounce{0%{transform:scaleY(.55)}70%{transform:scaleY(1.08)}to{transform:scaleY(1)}}@keyframes tutorial-tool-float{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-6px) rotate(4deg)}}@keyframes tutorial-hammer-target-pulse{0%,to{opacity:.74;transform:scale(.98)}50%{opacity:1;transform:scale(1.035)}}@keyframes tutorial-chocolate-hit{0%,18%,to{filter:brightness(1);transform:translateY(0) scale(1)}24%{filter:brightness(1.2);transform:translateY(-5px) rotate(-1deg) scale(1.018)}30%{filter:brightness(.96);transform:translateY(2px) rotate(1deg) scale(.995)}42%,74%{filter:brightness(.82) saturate(.9);transform:translateY(0) scale(.985)}}@keyframes tutorial-crack-flash{0%,16%,to{opacity:0}22%{opacity:1}34%{opacity:.92}52%,68%{opacity:.34}}@keyframes tutorial-hammer-split-left{0%,30%,to{opacity:0;transform:translate(0) scale(.98)}40%,72%{opacity:1;transform:translate(-8px) scale(1)}86%{opacity:0;transform:translate(-8px) scale(1)}}@keyframes tutorial-hammer-split-right{0%,30%,to{opacity:0;transform:translate(0) scale(.98)}40%,72%{opacity:1;transform:translate(8px) scale(1)}86%{opacity:0;transform:translate(8px) scale(1)}}@keyframes tutorial-glue-piece-left{0%,18%,to{filter:brightness(1);transform:translate(0) scale(1)}36%,58%{filter:brightness(1.08) saturate(1.08);transform:translate(8px) scale(1.01)}72%{filter:brightness(.9);transform:translate(0) scale(.99)}}@keyframes tutorial-glue-piece-right{0%,18%,to{filter:brightness(1);transform:translate(0) scale(1)}36%,58%{filter:brightness(1.08) saturate(1.08);transform:translate(-8px) scale(1.01)}72%{filter:brightness(.9);transform:translate(0) scale(.99)}}@keyframes tutorial-glue-preview-left{0%,12%,80%,to{opacity:0;transform:translate(0) scale(.98)}24%,52%{opacity:1;transform:translate(8px) scale(1)}64%{opacity:0;transform:translate(20px) scale(.98)}}@keyframes tutorial-glue-preview-right{0%,12%,80%,to{opacity:0;transform:translate(0) scale(.98)}24%,52%{opacity:1;transform:translate(-8px) scale(1)}64%{opacity:0;transform:translate(-20px) scale(.98)}}@keyframes tutorial-glue-half-appear{0%,44%,to{opacity:0;transform:scaleX(.82)}58%,78%{opacity:1;transform:scaleX(1)}}@keyframes tutorial-glue-drop{0%,16%,to{opacity:0;transform:translate(-50%,-18px) rotate(45deg) scale(.8)}24%,48%{opacity:1;transform:translate(-50%,18px) rotate(45deg) scale(1)}62%{opacity:0;transform:translate(-50%,34px) rotate(45deg) scale(.82)}}@keyframes tutorial-same-badge-pop{0%,42%,to{opacity:0;transform:translate(-50%) translateY(8px) scale(.94)}52%,76%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes fractionfall-line-eaten{0%{opacity:1;transform:scale(1)}55%{opacity:.88;transform:scale(.82)}to{opacity:0;transform:scale(.12)}}@keyframes card-pop{0%{transform:scale(1)}60%{transform:scale(1.018)}to{transform:scale(1)}}@keyframes answer-pop{0%{transform:scale(1)}60%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes answer-correct{0%,to{transform:scale(1)}35%{transform:scale(1.1) rotate(-1deg)}70%{transform:scale(1.03) rotate(1deg)}}@keyframes answer-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}@keyframes score-pop{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes candy-throw{0%{opacity:0;transform:translate(-50%,-50%) translate(0) rotate(0) scale(.45)}12%{opacity:1}58%{opacity:1;transform:translate(-50%,-50%) translate(var(--candy-x),var(--candy-y)) rotate(var(--candy-spin)) scale(1.08)}to{opacity:0;transform:translate(-50%,-50%) translate(var(--candy-x),calc(var(--candy-y) + 82px)) rotate(var(--candy-end-spin)) scale(.72)}}@keyframes space-planet-drift{0%{transform:translate3d(-10px,4px,0) rotate(-1deg) scale(1)}50%{transform:translate3d(14px,-10px,0) rotate(1.2deg) scale(1.015)}to{transform:translate3d(24px,8px,0) rotate(-.4deg) scale(1.01)}}@keyframes space-star-twinkle{0%{opacity:.48;filter:brightness(.86)}to{opacity:.84;filter:brightness(1.18)}}@keyframes space-star-drift{0%{background-position:-80vw -18vh,0 0,28px 40px,80px 18px,130px 90px,48px 120px,190px 36px,68px 72px,122px 22px}to{background-position:120vw 64vh,180px 180px,248px 260px,340px 278px,340px 300px,288px 360px,490px 336px,338px 342px,352px 252px}}@keyframes candy-side-sweep{0%{opacity:0;transform:translate(-50%,-50%) translate(0) rotate(0) scale(var(--candy-scale))}10%{opacity:1}62%{opacity:1;transform:translate(-50%,-50%) translate(var(--candy-x),var(--candy-y)) rotate(var(--candy-spin)) scale(var(--candy-scale))}to{opacity:0;transform:translate(-50%,-50%) translate(var(--candy-x),calc(var(--candy-y) + 10svh)) rotate(var(--candy-end-spin)) scale(var(--candy-scale))}}@keyframes candy-fall{0%{opacity:0;transform:translate(-50%,-24px) rotate(0) scale(var(--candy-scale))}12%{opacity:1}82%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--candy-rain-sway)),calc(100svh + 88px)) rotate(var(--candy-end-spin)) scale(var(--candy-scale))}}@keyframes sybbie-finale-hop{0%,to{transform:translateY(0) rotate(-2deg)}35%{transform:translateY(-13px) rotate(5deg)}70%{transform:translateY(-3px) rotate(-5deg)}}@keyframes sybbie-finale-sway{0%,to{transform:rotate(-5deg) scale(1)}50%{transform:rotate(6deg) scale(1.04)}}@keyframes sybbie-finale-arm-wave{0%,to{transform:rotate(-26deg)}50%{transform:rotate(28deg)}}@keyframes sybbie-finale-foot-tap{0%,to{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-8px) rotate(10deg)}}@keyframes sybbie-thinking{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.topbar-review-button{min-width:92px}.asl-review-shell{overflow:visible}.review-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.review-stat,.review-queue-panel,.review-video-panel,.review-decision-panel,.review-import-panel{border:3px solid var(--line);border-radius:8px;background:var(--surface-raised);box-shadow:0 6px 0 var(--shadow)}.review-stat{display:grid;gap:4px;min-height:78px;padding:12px}.review-stat span,.review-meta-item span,.review-filter-list>span,.review-search span{color:var(--muted);font-size:.78rem;font-weight:1000;text-transform:uppercase}.review-stat strong{font-size:1.65rem;line-height:1}.asl-review-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr) minmax(240px,300px);gap:18px;align-items:start}.review-queue-panel,.review-import-panel,.review-video-panel,.review-decision-panel{display:grid;gap:14px;padding:16px}.review-queue-panel,.review-import-panel{position:sticky;top:18px}.review-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.review-panel-heading h3{margin:0;font-size:2rem;line-height:1}.review-panel-heading strong{font-size:.94rem}.review-search{gap:8px}.review-search span,.review-filter-list>span{display:inline-flex;align-items:center;gap:6px}.review-filter-list{display:flex;flex-wrap:wrap;gap:8px}.review-filter-list>span{width:100%}.review-filter-button,.issue-tag{min-height:34px;border:2px solid var(--line);border-radius:999px;padding:0 10px;background:var(--surface);color:var(--ink);box-shadow:0 3px 0 var(--shadow);font-size:.8rem;font-weight:1000}.review-filter-button.active,.issue-tag.active{background:var(--accent-blue);box-shadow:0 3px 0 var(--accent-blue-shadow);color:#061b27}.review-clip-list{display:grid;gap:8px;max-height:58vh;overflow:auto;padding-right:2px}.review-clip-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;min-height:58px;border:2px solid var(--line);border-radius:8px;padding:8px;background:var(--surface);box-shadow:0 3px 0 var(--shadow);color:var(--ink);text-align:left}.review-clip-row.active{background:linear-gradient(90deg,rgba(28,176,246,.18),transparent 80%),var(--surface)}.review-clip-row span:not(.review-status-dot){display:grid;min-width:0}.review-clip-row strong,.review-clip-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-clip-row small,.review-clip-row em{color:var(--muted);font-size:.76rem;font-style:normal;font-weight:900;text-transform:uppercase}.review-status-dot{width:14px;height:14px;border:2px solid var(--line);border-radius:999px;background:var(--accent-yellow)}.review-status-dot.approved,.review-status-pill.approved{background:var(--accent-green);color:#08250e}.review-status-dot.rejected,.review-status-pill.rejected{background:var(--danger);color:#fff}.review-status-dot.needs-review,.review-status-pill.needs-review{background:var(--accent-orange);color:#2a1600}.review-status-dot.pending,.review-status-pill.pending{background:var(--accent-yellow);color:#2a2500}.review-workbench{display:grid;gap:16px;min-width:0}.review-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:2px solid var(--line);border-radius:999px;padding:0 10px;box-shadow:0 3px 0 var(--shadow);font-size:.82rem;font-weight:1000;text-transform:uppercase}.review-video{width:100%;max-height:520px;border:3px solid var(--line);border-radius:8px;background:#05070d;box-shadow:inset 0 -6px #0000003d}.review-video-empty{display:grid;place-items:center;min-height:320px;border:3px dashed var(--line);border-radius:8px;color:var(--muted);font-weight:900;text-align:center}.review-meta-grid,.review-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-meta-item{display:grid;gap:4px;min-width:0;border:2px solid var(--line);border-radius:8px;padding:10px;background:var(--surface);box-shadow:0 3px 0 var(--shadow)}.review-meta-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issue-tag-list,.review-actions{display:flex;flex-wrap:wrap;gap:10px}.review-actions .icon-button.labelled{min-width:118px}.review-approve{background:var(--accent-green);box-shadow:0 5px 0 var(--accent-green-shadow);color:#08250e}.review-relabel{background:var(--accent-blue);box-shadow:0 5px 0 var(--accent-blue-shadow);color:#061b27}.review-flag{background:var(--accent-orange);box-shadow:0 5px 0 var(--accent-orange-shadow);color:#2a1600}.review-reject{background:var(--danger);box-shadow:0 5px #c62f35;color:#fff}.review-import-panel textarea{min-height:220px;resize:vertical;border:2px solid var(--line);border-radius:8px;padding:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:.9rem;line-height:1.35}@media(max-width:980px){.auth-shell{grid-template-columns:1fr;align-items:stretch;padding-top:86px}.workspace{grid-template-columns:1fr}.auth-panel{position:static}.question-grid,.dashboard-layout,.asl-practice-layout,.asl-review-layout{grid-template-columns:1fr}.module-rail,.review-queue-panel,.review-import-panel{position:static}.review-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.parent-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-row,.child-progress-row,.module-progress-row{grid-template-columns:minmax(0,1fr) repeat(3,auto)}.module-grid{grid-template-columns:1fr}}@media(max-width:620px){.app-shell{width:calc(100vw - 20px);padding-top:14px}.topbar,.brand-cluster,.dashboard-header,.game-header,.asl-world-heading,.flashcard-game-heading,.lesson-strip,.game-actions,.parent-overview-heading,.session-history-heading,.panel-heading{align-items:stretch;flex-direction:column}.topbar{gap:8px;min-height:0;padding:6px 8px}.portal-user{align-items:stretch;flex-direction:column;margin-left:0}.topbar-review-button,.review-actions .icon-button.labelled{width:100%}.topbar h1{font-size:1.45rem}.auth-shell{width:min(100vw - 20px,1040px)}.auth-hero{min-height:0;padding:18px}.auth-hero h1,.auth-loading h1{font-size:2.6rem}.auth-mascot{width:min(220px,72vw)}.auth-mascot:after{right:20px;bottom:26px;left:20px;font-size:1.45rem}.auth-mascot .mascot-eye{top:54px}.auth-mascot .mascot-eye-left{left:54px}.auth-mascot .mascot-eye-right{right:54px}.auth-mascot .mascot-smile{top:104px}.dashboard-header h2,.game-header h2{font-size:2.1rem}.asl-sign-card{grid-template-columns:1fr}.asl-sign-visual svg{max-height:180px}.dashboard-shell,.game-shell,.panel{padding:16px}.dashboard-shell,.game-shell{padding-top:24px}.answer-grid{grid-template-columns:1fr}.module-rail-item{grid-template-columns:auto minmax(0,1fr)}.module-rail-status{grid-column:2;justify-self:start}.chocolate-world-factory-stage{grid-template-columns:1fr}.module-card-fractions-hero{grid-template-columns:auto auto}.module-card-fractions-belt{grid-column:1 / -1}.module-card-asl-hero,.asl-simple-commands{grid-template-columns:1fr}.asl-camera-frame,.asl-camera-frame video{min-height:260px}.chocolate-world-floater{opacity:.12}.chocolate-world-wrapper-strip{opacity:.16}.parent-stat-grid,.review-stat-grid,.review-meta-grid,.review-field-grid,.flashcard-choice-grid,.flashcard-rating-row,.session-row,.child-progress-row,.module-progress-row{grid-template-columns:1fr}.session-row>span,.child-progress-row>span,.module-progress-row>span{justify-self:start}.fractionfall-choices,.tutorial-rename-choices{grid-template-columns:1fr}.chocolate-scale-workspace{grid-template-columns:74px minmax(0,1fr);gap:8px}.scale-piece-tray{padding:6px}.scale-piece-tray .scale-chocolate-piece{min-height:42px;font-size:.82rem}.fractionfall-board{width:100%;height:clamp(360px,58svh,500px);min-height:360px}.sybbie-teacher-stage{min-height:clamp(500px,64svh,640px)}.tutorial-fraction-model,.tutorial-rename-step{min-height:clamp(500px,64svh,640px);padding-top:clamp(226px,38svh,300px)}.tutorial-rename-step.is-answer-focus{align-content:center;padding:clamp(92px,18svh,132px) 12px clamp(42px,7svh,70px)}.fractions-world-shell-active{gap:6px;padding:18px 10px 10px}.fractions-world-shell-active .chocolate-world-marquee{padding:2px 0}.fractions-world-shell-active .chocolate-world-marquee-track span{min-width:52px;min-height:24px;font-size:.7rem}.fractions-world-shell-active .fractionfall-board,.fractions-world-shell-active .sybbie-teacher-stage,.fractions-world-shell-active .tutorial-fraction-model,.fractions-world-shell-active .tutorial-rename-step{height:100%;min-height:0}.fractions-world-shell-active .tutorial-fraction-model,.fractions-world-shell-active .tutorial-rename-step{padding-top:clamp(180px,31svh,238px);padding-bottom:clamp(24px,4svh,34px)}.fractions-world-shell-active .tutorial-rename-step.is-answer-focus{padding-top:clamp(78px,15svh,112px);padding-bottom:clamp(34px,6svh,58px)}.fractions-world-shell-active .tutorial-fraction-model{grid-auto-rows:clamp(58px,10svh,86px)}.sybbie-teacher{top:8px;right:10px;left:10px;width:auto;transform:none;grid-template-columns:66px minmax(0,1fr);gap:8px}.sybbie-teacher.is-choice-handoff{left:10px;width:66px;grid-template-columns:66px}.sybbie-teacher-avatar{position:static}.sybbie-teacher.is-choice-handoff .sybbie-teacher-avatar{opacity:.92}.sybbie-teacher-board{max-height:none;padding:12px 12px 20px}.sybbie-teacher-avatar{width:66px;height:66px}.sybbie-teacher-avatar svg{width:56px;height:56px}.sybbie-teacher-board h4{font-size:1.35rem}.fractionfall-controls .icon-button.labelled{width:100%}.module-card-hero{align-items:flex-start;flex-direction:column}.sybbie-launch-handoff{grid-template-columns:72px minmax(0,1fr);gap:10px;width:calc(100vw - 20px)}.sybbie-launch-handoff-avatar{width:72px;height:72px}.sybbie-launch-handoff-avatar svg{width:60px;height:60px}.sybbie-launch-handoff p{padding:13px 14px;font-size:clamp(1rem,5vw,1.35rem)}.sybbie-launch-handoff p:before{left:-12px;width:18px;height:18px}.sybbie-launcher,.sybbie-panel,.sybbie-handoff-avatar{right:10px;bottom:10px}.sybbie-panel{width:calc(100vw - 20px);max-height:min(620px,calc(100vh - 20px))}.sybbie-message{max-width:94%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
