/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-bold:700;--font-weight-black:900;--leading-tight:1.25;--leading-snug:1.375;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.inset-y-\[-1px\]{inset-block:-1px}.left-0{left:calc(var(--spacing) * 0)}.z-\[12010\]{z-index:12010}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.min-h-5{min-height:calc(var(--spacing) * 5)}.w-1{width:calc(var(--spacing) * 1)}.w-4\/5{width:80%}.w-12{width:calc(var(--spacing) * 12)}.w-\[2px\]{width:2px}.w-\[min\(210px\,calc\(100vw_-_24px\)\)\]{width:min(210px,100vw - 24px)}.w-\[min\(230px\,calc\(100vw_-_24px\)\)\]{width:min(230px,100vw - 24px)}.min-w-0{min-width:calc(var(--spacing) * 0)}.shrink-0{flex-shrink:0}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-\[rgba\(32\,33\,36\,0\.34\)\]{border-color:#20212457}.border-\[rgba\(52\,24\,15\,0\.24\)\]{border-color:#34180f3d}.border-\[rgba\(52\,24\,15\,0\.34\)\]{border-color:#34180f57}.border-\[var\(--line\)\]{border-color:var(--line)}.bg-\[\#8b4a2b\]{background-color:#8b4a2b}.bg-\[\#fff8df\]{background-color:#fff8df}.bg-\[rgba\(20\,10\,50\,0\.18\)\]{background-color:#140a322e}.bg-\[rgba\(52\,24\,15\,0\.12\)\]{background-color:#34180f1f}.bg-\[rgba\(255\,244\,214\,0\.92\)\]{background-color:#fff4d6eb}.bg-\[rgba\(255\,255\,255\,0\.7\)\]{background-color:#ffffffb3}.bg-\[rgba\(255\,255\,255\,0\.48\)\]{background-color:#ffffff7a}.bg-\[var\(--accent-blue\)\]{background-color:var(--accent-blue)}.bg-\[var\(--accent-green\)\]{background-color:var(--accent-green)}.bg-\[var\(--accent-yellow\)\]{background-color:var(--accent-yellow)}.bg-\[var\(--line\)\]{background-color:var(--line)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.p-0{padding:calc(var(--spacing) * 0)}.p-2{padding:calc(var(--spacing) * 2)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.py-1{padding-block:calc(var(--spacing) * 1)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.54rem\]{font-size:.54rem}.text-\[0\.56rem\]{font-size:.56rem}.text-\[0\.58rem\]{font-size:.58rem}.text-\[0\.62rem\]{font-size:.62rem}.text-\[0\.64rem\]{font-size:.64rem}.text-\[0\.66rem\]{font-size:.66rem}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.86rem\]{font-size:.86rem}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.text-\[\#2a2500\]{color:#2a2500}.text-\[\#08250e\]{color:#08250e}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--line\)\]{color:var(--line)}.text-\[var\(--muted\)\]{color:var(--muted)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow-\[0_3px_0_var\(--shadow\)\]{--tw-shadow:0 3px 0 var(--tw-shadow-color,var(--shadow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-saturate-\[1\.04\]{--tw-backdrop-saturate:saturate(1.04);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[right\,bottom\,width\,max-height\,transform\,box-shadow\,border-color\]{transition-property:right,bottom,width,max-height,transform,box-shadow,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-\[420ms\]{--tw-duration:.42s;transition-duration:.42s}.ease-\[cubic-bezier\(0\.16\,1\,0\.3\,1\)\]{--tw-ease:cubic-bezier(.16,1,.3,1);transition-timing-function:cubic-bezier(.16,1,.3,1)}.first\:border-l-0:first-child{border-left-style:var(--tw-border-style);border-left-width:0}}:root{color-scheme:light;--bg:#140a32;--bg-pattern:radial-gradient(ellipse at 50% 118%, #44d7cfb8 0 8%, #1cb0f657 9% 18%, #ffd94d29 19% 21%, transparent 22%), radial-gradient(circle at 86% 15%, #ffd94d 0 18px, #ff9f1c 19px 27px, transparent 28px), radial-gradient(circle at 14% 18%, #ffffffeb 0 1px, transparent 2px), radial-gradient(circle at 28% 42%, #ffffffb8 0 1px, transparent 2px), radial-gradient(circle at 44% 24%, #67e86db8 0 1px, transparent 2px), radial-gradient(circle at 62% 36%, #ffffffd6 0 1px, transparent 2px), radial-gradient(circle at 75% 58%, #ff6b9aa8 0 1px, transparent 2px), radial-gradient(circle at 91% 42%, #ffffffb3 0 1px, transparent 2px), linear-gradient(158deg, #8b6cff57 0 14%, transparent 35%), linear-gradient(202deg, #1cb0f633 0 10%, transparent 32%), linear-gradient(180deg, #1b0b46 0%, #101a46 42%, #0d3151 72%, #205a5f 100%);--ink:#202124;--muted:#5f6673;--surface:#fffefa;--surface-raised:#fff;--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:#e9fbffc7;--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%, #44d7cf7a 0 8%, #3ac2ff33 9% 18%, #ffe06a1f 19% 21%, transparent 22%), radial-gradient(circle at 86% 15%, #ffe06a 0 16px, #ffad42 17px 25px, transparent 26px), radial-gradient(circle at 14% 18%, #ffffffd1 0 1px, transparent 2px), radial-gradient(circle at 28% 42%, #ffffff94 0 1px, transparent 2px), radial-gradient(circle at 44% 24%, #67e86d99 0 1px, transparent 2px), radial-gradient(circle at 62% 36%, #ffffffb8 0 1px, transparent 2px), radial-gradient(circle at 75% 58%, #ff7cad80 0 1px, transparent 2px), radial-gradient(circle at 91% 42%, #ffffff9e 0 1px, transparent 2px), linear-gradient(158deg, #a28bff38 0 14%, transparent 35%), linear-gradient(202deg, #3ac2ff24 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:#f77;--fraction-fill:#67e86d;--fraction-empty:#31405c;--card-highlight:#23395b;--module-card-wash:#3ac2ff2e}*{box-sizing:border-box}body{background:var(--bg-pattern),var(--bg);min-width:320px;min-height:100vh;color:var(--ink);background-position:50%;background-size:cover;background-attachment:fixed;margin:0;position:relative;overflow-x:hidden}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:"";pointer-events:none;position:fixed}body:not(:has(.fractions-world-shell)):not(:has(.asl-world-shell)):before{z-index:0;filter:drop-shadow(0 0 12px #ffffff42);opacity:.94;transform-origin:50% 60%;background:radial-gradient(circle at 10% 70%,#58d65c 0,#58d65c 17px,#1cb0f6 18px,#1cb0f6 28px,#0000 29px),radial-gradient(at 10% 70%,#0000 0,#0000 37px,#ffffff9e 38px,#ffffff9e 40px,#0000 41px),radial-gradient(circle at 24% 26%,#ff6b9a 0,#ff6b9a 11px,#ffd94d 12px,#ffd94d 17px,#0000 18px),radial-gradient(at 24% 26%,#0000 0,#0000 23px,#ffffff80 24px,#ffffff80 26px,#0000 27px),radial-gradient(circle at 72% 20%,#8b6cff 0,#8b6cff 22px,#3ac2ff 23px,#3ac2ff 34px,#0000 35px),radial-gradient(at 72% 20%,#0000 0,#0000 43px,#ffd94d80 44px,#ffd94d80 47px,#0000 48px),radial-gradient(circle at 88% 66%,#ff9f1c 0,#ff9f1c 14px,#ff6b9a 15px,#ff6b9a 21px,#0000 22px),radial-gradient(circle at 54% 82%,#fffc 0,#fffc 2px,#0000 3px),radial-gradient(circle at 39% 64%,#58d65c94 0,#58d65c94 2px,#0000 3px),radial-gradient(circle at 82% 46%,#ffffffad 0,#ffffffad 2px,#0000 3px);animation:28s ease-in-out infinite alternate space-planet-drift;top:-8vh;right:-8vw;bottom:-8vh;left:-8vw}body:not(:has(.fractions-world-shell)):not(:has(.asl-world-shell)):after{z-index:0;opacity:.7;mix-blend-mode:screen;background:linear-gradient(114deg,#0000 0,#0000 58%,#ffffffc7 59%,#fff0 61%) 0 0/160% 160%,radial-gradient(circle at 8% 18%,#ffffffeb 0,#ffffffeb 1px,#0000 2px) 0 0/180px 180px,radial-gradient(circle at 18% 34%,#ffffff8f 0,#ffffff8f 1px,#0000 2px) 0 0/220px 220px,radial-gradient(circle at 34% 12%,#ffd94dd1 0,#ffd94dd1 1px,#0000 2px) 0 0/260px 260px,radial-gradient(circle at 46% 46%,#ffffffdb 0,#ffffffdb 1px,#0000 2px) 0 0/210px 210px,radial-gradient(circle at 58% 26%,#3ac2ffbd 0,#3ac2ffbd 1px,#0000 2px) 0 0/240px 240px,radial-gradient(circle at 69% 72%,#ffffffb3 0,#ffffffb3 1px,#0000 2px) 0 0/300px 300px,radial-gradient(circle at 82% 33%,#ff7cadc2 0,#ff7cadc2 1px,#0000 2px) 0 0/270px 270px,radial-gradient(circle at 94% 54%,#ffffffd1 0,#ffffffd1 1px,#0000 2px) 0 0/230px 230px;animation:4.8s ease-in-out infinite alternate space-star-twinkle,42s linear infinite space-star-drift;top:0;right:0;bottom:0;left:0}body:has(.fractions-world-shell){background-image:linear-gradient(180deg,#2b140c3d,#fff6cc38),var(--fraction-world-location-image);background-position:50%;background-size:cover;background-attachment:fixed}body:has(.asl-world-shell){background-color:#0000;background-image:radial-gradient(at 48% -6%,#fffffff5 0,#fffffff5 6%,#c8f8ffd1 7%,#c8f8ffd1 18%,#0000 42%),radial-gradient(circle at 84% 18%,#ffd35c2e 0,#ffd35c2e 7%,#0000 22%),radial-gradient(circle at 8% 76%,#ecfeff6b 0,#ecfeff6b 10px,#0000 11px),radial-gradient(circle at 92% 68%,#ecfeff5c 0,#ecfeff5c 8px,#0000 9px),repeating-linear-gradient(118deg,#ecfeff3d 0,#ecfeff3d 4px,#0000 4px,#0000 72px),linear-gradient(#d4fbff,#66d9e8 25%,#1292b7 58%,#06496a);background-position:50%;background-repeat:repeat,repeat,repeat,repeat,repeat,repeat;background-size:cover;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box;position:relative}body:has(.asl-world-shell):before,body:has(.asl-world-shell):after{content:"";z-index:0;pointer-events:none;position:fixed;left:0;right:0}body:has(.asl-world-shell):before{opacity:.72;background:radial-gradient(circle at 12% 28%,#ecfeff7a 0,#ecfeff7a 10px,#0000 11px),radial-gradient(circle at 22% 48%,#ecfeff57 0,#ecfeff57 7px,#0000 8px),radial-gradient(circle at 78% 34%,#ecfeff6b 0,#ecfeff6b 9px,#0000 10px),radial-gradient(circle at 88% 56%,#ecfeff4d 0,#ecfeff4d 6px,#0000 7px),repeating-linear-gradient(106deg,#0000 0,#0000 38px,#ecfeff38 38px,#ecfeff38 44px,#0000 44px,#0000 118px),repeating-radial-gradient(at 50% -18%,#ffffff57 0,#ffffff57 3px,#ffffff1f 3px,#ffffff1f 7px,#0000 7px,#0000 24px);height:74vh;animation:16s ease-in-out infinite asl-ocean-light-shift;top:0}body:has(.asl-world-shell):after{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;background:radial-gradient(at 16% 84%,#ff8066c7 0,#ff8066c7 36px,#0000 37px),radial-gradient(at 78% 76%,#238b45a8 0,#238b45a8 52px,#0000 53px),radial-gradient(at 45% 88%,#ecfeff5c 0,#ecfeff5c 28px,#0000 29px),linear-gradient(#0000 0,#0000 22%,#f8d99b8a 23%,#f8d99b8a 42%,#f3c979 43%,#f3c979);height:30vh;bottom:0}body:has(.asl-world-shell) .app-shell{z-index:1;position:relative}@media(min-width:981px){body:has(.asl-world-shell){overflow:hidden}.app-shell:has(.asl-world-shell){grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:0;padding-bottom:0;display:grid;overflow:hidden}.app-shell:has(.asl-world-shell) .workspace{min-height:0;padding-top:10px;overflow:hidden}}button,input{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;filter:grayscale(.25);opacity:.58}.app-shell{z-index:1;width:min(90vw,1680px);margin:0 auto;padding:14px 0 24px;position:relative}.app-shell:has(.fractions-world-shell-active){grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:0;padding-bottom:0;display:grid;overflow:hidden}body:has(.fractions-world-shell) .topbar{-webkit-backdrop-filter:blur(12px)saturate(1.08);backdrop-filter:blur(12px)saturate(1.08);background:#fffefae0}:root[data-theme=dark] body:has(.fractions-world-shell) .topbar{background:#1b2335db}body:has(.asl-world-shell) .topbar{-webkit-backdrop-filter:blur(12px)saturate(1.08);backdrop-filter:blur(12px)saturate(1.08);background:#ecfeffd6}:root[data-theme=dark] body:has(.asl-world-shell) .topbar{background:#073246d6}.topbar{border:2px solid var(--line);background:var(--surface);min-height:50px;box-shadow:0 4px 0 var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;display:flex}.brand-cluster{align-items:center;gap:14px;display:flex}.brand-badge{border:3px solid var(--line);background:var(--accent-yellow);width:58px;height:58px;box-shadow:0 5px 0 var(--accent-yellow-shadow);color:#2a2500;border-radius:8px;justify-content:center;align-items:center;font-size:2.1rem;font-weight:1000;line-height:1;animation:3.8s ease-in-out infinite badge-wiggle;display:inline-flex}.brand-badge.varsity-badge{color:#fff;background:#00b8d9;font-size:1.34rem;box-shadow:0 5px #006fa3}.topbar h1,.panel h2,.dashboard-header h2,.module-card h3,.game-header h2,.lesson-strip h3{letter-spacing:0;margin:0}.topbar h1{font-size:1.6rem;line-height:.95}.workspace{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;padding:16px 0 0;display:grid}.app-shell:has(.fractions-world-shell-active) .workspace{min-height:0;overflow:hidden}.portal-workspace{grid-template-columns:minmax(0,1fr)}.portal-user{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.portal-user span{border:2px solid var(--line);background:var(--accent-green);min-height:32px;box-shadow:0 3px 0 var(--accent-green-shadow);color:#08250e;border-radius:999px;align-items:center;padding:0 10px;font-size:.82rem;font-weight:1000;display:inline-flex}.topbar .brand-cluster{gap:8px}.brand-home-button{min-width:0;color:inherit;text-align:left;background:0 0;padding:0}.brand-home-button:focus-visible{outline:4px solid var(--accent-yellow);outline-offset:4px}.topbar .brand-badge{width:34px;height:34px;box-shadow:0 3px 0 var(--accent-yellow-shadow);border-width:2px;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{gap:6px;min-width:92px;padding:0 10px;font-size:.84rem}.panel,.dashboard-shell,.game-shell{border:3px solid var(--line);background:var(--surface);box-shadow:0 7px 0 var(--shadow);border-radius:8px}.panel{padding:20px}.auth-panel{background:linear-gradient(180deg,#ffd94d47,transparent 120px),var(--surface);gap:18px;display:grid;position:sticky;top:20px}.auth-shell{z-index:1;grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:center;gap:28px;width:min(1100px,100vw - 32px);min-height:100vh;margin:0 auto;padding:32px 0;display:grid;position:relative}.auth-shell .auth-panel{position:static}.auth-hero,.auth-loading{border:3px solid var(--line);background:linear-gradient(135deg,#00b8d92e,transparent 46%),linear-gradient(180deg,#ffd94d3d,transparent 68%),var(--surface);box-shadow:0 7px 0 var(--shadow);border-radius:8px}.auth-hero{justify-items:start;gap:28px;min-height:420px;padding:30px;display:grid;position:relative;overflow:hidden}.auth-hero:before{content:"";opacity:.5;pointer-events:none;background-image:linear-gradient(#007ebc1f 2px,#0000 2px),linear-gradient(90deg,#007ebc1f 2px,#0000 2px);background-position:-2px -2px;background-size:44px 44px;position:absolute;top:0;right:0;bottom:0;left:0}.auth-hero>*{z-index:1;position:relative}.auth-hero-content{gap:16px;max-width:520px;display:grid}.auth-hero h1,.auth-loading h1{margin:0;font-size:4rem;line-height:.95}.auth-hero-copy{max-width:35rem;color:var(--ink);margin:0;font-size:1.16rem;font-weight:850;line-height:1.3}.varsity-promise{color:#053044;flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;font-weight:1000;line-height:1.1;display:flex}.varsity-promise span{border:2px solid var(--line);background:var(--accent-yellow);min-height:30px;box-shadow:0 3px 0 var(--accent-yellow-shadow);border-radius:8px;align-items:center;padding:5px 9px;display:inline-flex}.varsity-promise span:nth-child(2){background:var(--accent-green);width:30px;box-shadow:0 3px 0 var(--accent-green-shadow);justify-content:center;padding:0}.varsity-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,430px);display:grid}.varsity-proof-grid span{border:2px solid var(--line);background:#ffffffbd;border-radius:8px;gap:2px;min-width:0;padding:10px 8px;display:grid;box-shadow:0 4px #15191f42}.varsity-proof-grid strong,.varsity-proof-grid small{overflow-wrap:anywhere;display:block}.varsity-proof-grid strong{color:#006fa3;font-size:1.34rem;font-weight:1000;line-height:1}.varsity-proof-grid small{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:950}:root[data-theme=dark] .varsity-proof-grid span{background:#1b2335d6;box-shadow:0 4px #05070db8}:root[data-theme=dark] .varsity-proof-grid strong{color:var(--accent-blue)}.auth-mascot{aspect-ratio:1;border:4px solid var(--line);background:var(--accent-blue);width:min(280px,70vw);box-shadow:0 10px 0 var(--accent-blue-shadow);border-radius:8px;animation:2.8s ease-in-out infinite mascot-bob;position:relative}.auth-mascot:before{content:"Varsity";color:#061b27;background:#fffefa;border:3px solid #061b27;border-radius:8px;padding:4px 8px;font-size:.82rem;font-weight:1000;line-height:1;position:absolute;top:18px;left:18px}.auth-mascot:after{content:"1/2 = 2/4";color:#061b27;text-align:center;border-top:5px solid #061b27;padding-top:12px;font-size:2rem;font-weight:1000;position:absolute;bottom:34px;left:28px;right:28px}.auth-mascot .mascot-eye{background:#061b27;width:24px;height:34px;top:74px}.auth-mascot .mascot-eye-left{left:74px}.auth-mascot .mascot-eye-right{right:74px}.auth-mascot .mascot-smile{border-bottom:5px solid #061b27;border-left:5px solid #061b27;border-right:5px solid #061b27;width:68px;height:34px;top:132px;left:calc(50% - 34px)}.auth-theme-toggle{position:absolute;top:32px;right:0}.auth-loading{text-align:center;justify-self:center;justify-items:center;gap:12px;width:min(420px,100%);padding:30px;display:grid}.panel-heading,.dashboard-header,.game-header,.lesson-strip,.game-actions,.score-panel,.question-topline{justify-content:space-between;align-items:center;gap:14px;display:flex}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:900}.muted{color:var(--muted)}.segmented{border:2px solid var(--line);background:var(--surface-raised);border-radius:999px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.segmented button{min-height:34px;color:var(--ink);background:0 0;border-radius:999px;padding:0 12px;font-weight:900}.segmented button.active{background:var(--accent-blue);color:#061b27}.auth-form{gap:14px;display:grid}label{gap:7px;font-weight:800;display:grid}input{border:2px solid var(--line);background:var(--surface-raised);width:100%;min-height:46px;color:var(--ink);border-radius:8px;padding:0 12px;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);background:var(--surface-raised);color:var(--ink);box-shadow:0 5px 0 var(--shadow);border-radius:8px;transition:transform .15s,box-shadow .15s,filter .15s}.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{justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.icon-button.labelled{gap:8px;width:auto;min-width:120px;padding:0 15px;font-weight:1000}.icon-button.primary{background:var(--accent-green);box-shadow:0 5px 0 var(--accent-green-shadow);color:#08250e}.topbar .topbar-sensor-indicator,.topbar .topbar-camera-indicator{cursor:default;position:relative}.topbar .topbar-sensor-indicator:hover,.topbar .topbar-sensor-indicator:active,.topbar .topbar-camera-indicator:hover,.topbar .topbar-camera-indicator:active{filter:none;transform:none}.topbar .topbar-sensor-indicator.is-ready,.topbar .topbar-sensor-indicator.is-listening,.topbar .topbar-sensor-indicator.is-sampling,.topbar .topbar-sensor-indicator.is-sampled,.topbar .topbar-camera-indicator.is-ready,.topbar .topbar-camera-indicator.is-sampling,.topbar .topbar-camera-indicator.is-sampled{background:var(--accent-green);box-shadow:0 3px 0 var(--accent-green-shadow);color:#08250e}.topbar .topbar-sensor-indicator.is-requesting,.topbar .topbar-sensor-indicator.is-unavailable,.topbar .topbar-camera-indicator.is-requesting,.topbar .topbar-camera-indicator.is-unavailable{background:var(--accent-yellow);box-shadow:0 3px 0 var(--accent-yellow-shadow);color:#2a2500}.topbar .topbar-sensor-indicator.is-blocked,.topbar .topbar-sensor-indicator.is-unsupported,.topbar .topbar-camera-indicator.is-blocked,.topbar .topbar-camera-indicator.is-unsupported{background:var(--danger);color:#fff;box-shadow:0 3px #6e0e0e8c}.topbar-sensor-dot,.topbar-camera-dot{border:1px solid var(--line);background:var(--muted);border-radius:999px;width:8px;height:8px;position:absolute;bottom:4px;right:4px}.topbar-sensor-indicator.is-ready .topbar-sensor-dot,.topbar-sensor-indicator.is-listening .topbar-sensor-dot,.topbar-sensor-indicator.is-sampled .topbar-sensor-dot,.topbar-camera-indicator.is-ready .topbar-camera-dot,.topbar-camera-indicator.is-sampled .topbar-camera-dot{background:#08250e}.topbar-sensor-indicator.is-sampling .topbar-sensor-dot,.topbar-sensor-indicator.is-requesting .topbar-sensor-dot,.topbar-camera-indicator.is-sampling .topbar-camera-dot,.topbar-camera-indicator.is-requesting .topbar-camera-dot{background:#2a2500;animation:.95s ease-in-out infinite asl-signal-pulse}.topbar-sensor-indicator.is-unavailable .topbar-sensor-dot,.topbar-camera-indicator.is-unavailable .topbar-camera-dot{background:#2a2500}.topbar-sensor-indicator.is-blocked .topbar-sensor-dot,.topbar-sensor-indicator.is-unsupported .topbar-sensor-dot,.topbar-camera-indicator.is-blocked .topbar-camera-dot,.topbar-camera-indicator.is-unsupported .topbar-camera-dot{background:#fff}.google-button{background:var(--surface-raised);min-height:46px;font-weight:1000}.form-status,.explanation{color:var(--muted);margin:0;font-size:.95rem}.error-text{color:var(--danger)}.dashboard-shell,.game-shell{gap:22px;min-height:560px;padding:26px;display:grid;position:relative;overflow:hidden}.dashboard-shell{min-height:clamp(660px,100vh - 118px,900px)}.dashboard-shell:before,.game-shell:before{content:"";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);height:10px;position:absolute;inset:0 0 auto}.module-world-shell{isolation:isolate}.module-world-shell>:not(.module-world-ambience){z-index:1;position:relative}.module-world-ambience{z-index:0;pointer-events:none;border-radius:5px;position:absolute;top:10px;right:10px;bottom:10px;left:10px;overflow:hidden}.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%,#fff6cc3d,transparent 42%),var(--fraction-world-location-image),var(--surface);background-position:50%;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%;min-height:0;max-height:100%;padding:clamp(18px,2vh,22px) clamp(12px,1.8vh,18px) clamp(12px,1.8vh,18px)}.fractions-world-shell:before{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);height:14px;animation:18s linear infinite chocolate-world-wrapper-slide}.fractions-world-shell:after{content:"";z-index:0;opacity:.76;pointer-events:none;background:linear-gradient(#34180f2e,#0000 24%,#34180f3d),radial-gradient(circle at 50% 42%,#0000 0,#0000 32%,#34180f33 84%),linear-gradient(90deg,#fff4d629,#0000 22%,#0000 78%,#fff4d624);position:absolute;top:14px;right:0;bottom:0;left:0}.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;-webkit-backdrop-filter:blur(1px)saturate(1.04);backdrop-filter:blur(1px)saturate(1.04);background:radial-gradient(at 50% -8%,#ffffffc7 0,#ffffffc7 12%,#0000 36%),linear-gradient(#ffffff4d,#0000 24%),repeating-linear-gradient(112deg,#ecfeff33 0,#ecfeff33 3px,#0000 3px,#0000 50px),linear-gradient(#b7f4ffc7,#4fc7d8b8 38%,#0b6d8cc7);min-height:clamp(720px,100vh - 118px,940px)}.asl-world-shell:before{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);height:14px;animation:18s linear infinite chocolate-world-wrapper-slide}.asl-world-backdrop{background:linear-gradient(#ffffff57,#0000 36%,#0732462e),repeating-linear-gradient(178deg,#ffffff14 0,#ffffff14 2px,#0000 2px,#0000 46px)}.asl-water-current,.asl-bubble-cluster,.asl-kelp,.asl-fish{display:block;position:absolute}.asl-water-current{opacity:.68;border-top:5px solid #ecfeff5c;border-radius:50%;width:clamp(260px,38vw,520px);height:78px;animation:8s ease-in-out infinite asl-current-drift}.asl-water-current:before,.asl-water-current:after{content:"";border-top:4px solid #fff3;border-radius:50%;height:54px;position:absolute;left:12%;right:18%}.asl-water-current:before{top:16px}.asl-water-current:after{top:34px;left:4%;right:28%}.asl-water-current.current-one{top:94px;right:-86px}.asl-water-current.current-two{opacity:.48;width:clamp(220px,34vw,440px);animation-delay:-3s;bottom:150px;left:-112px}.asl-bubble-cluster{opacity:.8;border:3px solid #ecfeffb8;border-radius:999px;width:18px;height:18px;animation:7s ease-in-out infinite asl-bubble-rise;box-shadow:28px -42px 0 -5px #ecfeffa3,-18px -76px 0 -4px #ecfeff80,42px -112px 0 -7px #ecfeff6b}.asl-bubble-cluster.cluster-one{bottom:110px;right:11%}.asl-bubble-cluster.cluster-two{opacity:.58;animation-delay:-2.6s;bottom:172px;left:12%}.asl-kelp{opacity:.82;transform-origin:50% 100%;width:92px;height:188px;animation:5s ease-in-out infinite asl-kelp-sway;bottom:0}.asl-kelp:before,.asl-kelp:after{content:"";background:linear-gradient(180deg,#58cc6a,var(--asl-seaweed));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%);border:3px solid #073246b8;border-radius:999px 999px 10px 10px;width:26px;height:170px;position:absolute;bottom:0;box-shadow:0 5px #0732462e}.asl-kelp:before{left:8px}.asl-kelp:after{background:linear-gradient(#9ee45f,#2c9b44);height:138px;animation-delay:-1.2s;right:10px}.asl-kelp.kelp-one{right:3%}.asl-kelp.kelp-two{opacity:.58;height:152px;animation-delay:-2s;left:4%}.asl-fish{--fish-fill:#ffd35c;background:radial-gradient(circle at 78% 36%,#073246 0 3px,transparent 4px),linear-gradient(135deg,#ffffff6b,transparent 42%),var(--fish-fill);opacity:.78;border:3px solid #0732467a;border-radius:62% 44% 44% 62%/58% 52% 48% 42%;width:74px;height:34px;animation:18s linear infinite asl-fish-swim-right;left:-110px;box-shadow:inset -10px -7px #0732461a,0 6px #0732461f}.asl-fish:before{content:"";background:var(--fish-fill);clip-path:polygon(100% 50%,0 0,0 100%);border:3px solid #0732466b;border-right:0;border-radius:8px 0 0 8px;width:28px;height:23px;position:absolute;top:5px;left:-22px}.asl-fish:after{content:"";background:#ff8066c7;border:3px solid #07324652;border-top:0;border-radius:0 0 999px 999px;width:18px;height:16px;position:absolute;bottom:-7px;right:26px;transform:rotate(-12deg)}.asl-fish.fish-one{animation-duration:20s;top:27%}.asl-fish.fish-two{--fish-fill:#ff8066;background:radial-gradient(circle at 78% 36%,#073246 0 2px,transparent 3px),linear-gradient(135deg,#fff6,transparent 42%),var(--fish-fill);opacity:.64;width:60px;height:28px;animation:24s linear -7s infinite asl-fish-swim-left;top:47%;left:auto;right:-100px}.asl-fish.fish-three{--fish-fill:#a8f0ff;background:radial-gradient(circle at 78% 36%,#073246 0 2px,transparent 3px),linear-gradient(135deg,#ffffff61,transparent 42%),var(--fish-fill);opacity:.52;width:50px;height:24px;animation-duration:27s;animation-delay:-14s;top:64%}.asl-world-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.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{border:2px solid var(--line);background:var(--asl-teal);color:#ecfeff;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:0 13px;font-size:.84rem;font-weight:1000;display:inline-flex;box-shadow:0 4px #0b4d48}.asl-practice-layout{grid-template-columns:minmax(320px,1.15fr) minmax(280px,.85fr);align-items:stretch;gap:18px;display:grid}.asl-camera-panel,.asl-prompt-panel,.asl-vocabulary-bank{border:3px solid var(--line);background:linear-gradient(180deg,#ecfeffe0,#caf5f1c7),var(--surface-raised);box-shadow:0 6px 0 var(--shadow);border-radius:8px}.asl-camera-panel,.asl-prompt-panel{align-content:start;gap:14px;padding:16px;display:grid}.asl-camera-frame{border:3px solid var(--asl-ink);background:linear-gradient(#ecfeff2e,#0000 36%),repeating-linear-gradient(178deg,#ffffff14 0,#ffffff14 2px,#0000 2px,#0000 34px),linear-gradient(135deg,#073246,#086a8c);border-radius:8px;min-height:clamp(280px,42vh,360px);position:relative;overflow:hidden;box-shadow:inset 0 -10px #00000038}.asl-camera-frame video{object-fit:cover;width:100%;height:100%;min-height:clamp(280px,42vh,360px);display:block;transform:scaleX(-1)}.asl-camera-frame:not(.is-ready) video{opacity:0}.asl-camera-overlay{z-index:2;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.asl-framing-box{border:3px dashed #ecfeffdb;border-radius:18px;width:68%;height:76%;position:absolute;top:12%;left:16%;box-shadow:0 0 0 999px #0732461a,inset 0 0 0 1px #07324661}.asl-framing-box:before{content:"Move hands here";border:2px solid var(--line);min-height:28px;color:var(--asl-ink);text-transform:uppercase;white-space:nowrap;background:#ecfeff;border-radius:999px;align-items:center;padding:0 10px;font-size:.72rem;font-weight:1000;display:inline-flex;position:absolute;top:-15px;left:50%;transform:translate(-50%);box-shadow:0 3px #07324661}.asl-framing-box:after{content:"";opacity:.9;background:linear-gradient(#ecfeff,#ecfeff) 0 0/34px 5px no-repeat,linear-gradient(#ecfeff,#ecfeff) 0 0/5px 34px no-repeat,linear-gradient(#ecfeff,#ecfeff) 100% 0/34px 5px no-repeat,linear-gradient(#ecfeff,#ecfeff) 100% 0/5px 34px no-repeat,linear-gradient(#ecfeff,#ecfeff) 0 100%/34px 5px no-repeat,linear-gradient(#ecfeff,#ecfeff) 0 100%/5px 34px no-repeat,linear-gradient(#ecfeff,#ecfeff) 100% 100%/34px 5px no-repeat,linear-gradient(#ecfeff,#ecfeff) 100% 100%/5px 34px no-repeat;border-radius:22px;position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.asl-motion-box{background:#facc151f;border:4px solid #facc15;border-radius:14px;min-width:34px;min-height:34px;transition:left .12s linear,top .12s linear,width .12s linear,height .12s linear;position:absolute;box-shadow:0 0 0 2px #073246d6,0 0 18px #facc15db}.asl-motion-box:after{content:"Movement";border:2px solid var(--line);color:#2a2500;text-transform:uppercase;white-space:nowrap;background:#facc15;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:.66rem;font-weight:1000;display:inline-flex;position:absolute;top:-30px;left:-4px;box-shadow:0 2px #07324680}.asl-hand-tracker-pill{z-index:3;border:2px solid var(--line);min-height:30px;color:var(--asl-ink);text-transform:uppercase;background:#ecfefff0;border-radius:999px;align-items:center;padding:0 10px;font-size:.7rem;font-weight:1000;display:inline-flex;position:absolute;bottom:12px;right:12px;box-shadow:0 3px #0732466b}.asl-hand-tracker-pill.is-ready{color:#14532d;background:#dcfce7}.asl-hand-tracker-pill.is-loading{color:#5b4100;background:#fff7d1}.asl-hand-tracker-pill.is-unavailable{color:#334155;background:#e2e8f0}.asl-hand-box{z-index:3;background:#22c55e1a;border:4px solid #22c55e;border-radius:16px;min-width:46px;min-height:46px;transition:left 90ms linear,top 90ms linear,width 90ms linear,height 90ms linear;position:absolute;box-shadow:0 0 0 2px #073246d6,0 0 22px #22c55ec7}.asl-hand-box span{border:2px solid var(--line);color:#052e16;text-transform:uppercase;white-space:nowrap;background:#22c55e;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:.66rem;font-weight:1000;display:inline-flex;position:absolute;top:-30px;left:-4px;box-shadow:0 2px #07324680}.asl-camera-frame.is-checking .asl-framing-box{animation:.8s ease-in-out infinite asl-camera-guide-pulse}.asl-camera-placeholder{color:#ecfeff;text-align:center;place-content:center;justify-items:center;gap:8px;padding:22px;display:grid;position:absolute;top:0;right:0;bottom:0;left:0}.asl-camera-placeholder strong{font-size:1.2rem}.asl-camera-placeholder span{color:#ecfeffc7;max-width:320px;font-weight:850}.asl-camera-actions,.asl-prompt-actions{flex-wrap:wrap;gap:10px;display:flex}.asl-auto-check-status{border:2px solid var(--line);min-height:42px;box-shadow:0 3px 0 var(--shadow);color:var(--asl-ink);background:#fff7d1;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.86rem;font-weight:1000;line-height:1.15;display:flex}.asl-auto-check-status.has-hand{color:#14532d;background:#dcfce7}.asl-auto-check-status.is-checking{color:#17345f;background:#dbeafe}.asl-progress-row{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-size:.84rem;font-weight:1000;display:flex}.asl-progress-row strong{color:var(--asl-teal)}.asl-sign-card{border:3px solid var(--asl-ink);background:linear-gradient(#ffffff80,#0000 62%),linear-gradient(135deg,#44d7cf47,#ffffffeb);border-radius:8px;grid-template-columns:minmax(0,.78fr) minmax(138px,1fr);align-items:center;gap:12px;padding:12px;display:grid;box-shadow:0 5px #0f172a38}.asl-sign-summary{gap:6px;min-width:0;display:grid}.asl-sign-summary span,.asl-sign-summary p{color:var(--muted);text-transform:uppercase;font-weight:1000}.asl-sign-summary strong{color:var(--asl-ink);overflow-wrap:anywhere;font-size:clamp(1.9rem,5vw,4.2rem);line-height:.95}.asl-sign-summary p{margin:0}.asl-sign-visual{gap:6px;min-width:0;margin:0;display:grid}.asl-sign-visual svg{background:radial-gradient(circle at 34% 22%,#ffffffb8,#0000 34%),linear-gradient(#e2fcf9f0,#a7e8e1ad);border:2px solid #07324633;border-radius:8px;width:100%;max-height:150px;display:block}.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:4px;stroke-linecap:round;stroke-linejoin:round}.asl-visual-shoulders{fill:#ff8066}.asl-visual-hair{fill:#40312d;stroke:var(--asl-ink);stroke-width:3px;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:3px;stroke-linecap:round}.asl-visual-arrow,.asl-visual-circle-arrow{fill:none;stroke:#086a8c;stroke-width:5px;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:5px;stroke-linecap:round}.asl-visual-hand rect{fill:#ffe1bd;stroke:var(--asl-ink);stroke-width:3px}.asl-visual-hand path{fill:none;stroke:var(--asl-ink);stroke-width:3px;stroke-linecap:round}.asl-visual-hand text{fill:var(--asl-ink);text-transform:uppercase;font-size:9px;font-weight:1000}.asl-visual-hand-start{opacity:.62}.asl-simple-commands{gap:8px;display:grid}.asl-simple-commands p{border:2px solid var(--line);min-height:54px;box-shadow:0 3px 0 var(--shadow);color:var(--asl-ink);background:#fff4cc;border-radius:8px;margin:0;padding:10px;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{border:3px solid var(--line);box-shadow:0 4px 0 var(--shadow);border-radius:8px;gap:6px;padding:14px;display:grid}.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{color:#14532d;justify-items:start}.asl-complete-card .icon-button.labelled{margin-top:4px}.asl-vocabulary-bank{gap:14px;padding:16px;display:grid}.asl-vocabulary-bank .panel-heading strong{border:2px solid var(--line);background:var(--asl-yellow);color:#2a2500;text-transform:uppercase;border-radius:999px;align-items:center;min-height:32px;padding:0 10px;font-size:.78rem;display:inline-flex;box-shadow:0 3px #c28c00}.asl-vocabulary-chips{flex-wrap:wrap;gap:8px;display:flex}.asl-vocabulary-chips span{border:2px solid var(--line);background:var(--surface);min-height:32px;box-shadow:0 3px 0 var(--shadow);color:var(--ink);border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:1000;display:inline-flex}@media(min-width:981px){.asl-world-shell{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:10px;height:100%;min-height:0;max-height:100%;padding:18px 14px 14px}.asl-practice-layout{gap:14px;min-height:0}.asl-camera-panel,.asl-prompt-panel{gap:10px;min-height:0;padding:12px}.asl-camera-frame{height:min(42vh,360px);min-height:0}.asl-camera-frame video{height:100%;min-height:0}.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;min-height:0;max-height:82px;padding:10px 12px;overflow:hidden}.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{white-space:nowrap;min-height:28px;padding:0 8px;font-size:.68rem}.asl-vocabulary-chips{flex-wrap:nowrap;min-width:0;overflow:hidden}.asl-vocabulary-chips span{white-space:nowrap;min-height:28px;padding:0 8px;font-size:.68rem}}.chocolate-world-wrapper-strip{background:linear-gradient(90deg,#ffffff52,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;border:2px solid #34180f66;border-radius:8px;width:clamp(130px,16vw,220px);height:36px;animation:10s ease-in-out infinite chocolate-world-wrapper-float;position:absolute}.chocolate-world-wrapper-strip.strip-one{top:102px;left:-46px;transform:rotate(-10deg)}.chocolate-world-wrapper-strip.strip-two{animation-delay:-3.2s;top:280px;right:-58px;transform:rotate(12deg)}.chocolate-world-wrapper-strip.strip-three{animation-delay:-6.1s;bottom:122px;right:18%;transform:rotate(-4deg)}.chocolate-world-floater{background:linear-gradient(135deg,#fff3,transparent 42%),var(--fraction-world-chocolate);width:64px;height:38px;color:var(--fraction-world-cream);opacity:.22;border:2px solid #34180f94;border-radius:7px;justify-content:center;align-items:center;font-size:.76rem;font-weight:1000;animation:8.5s ease-in-out infinite chocolate-world-fraction-float;display:inline-flex;position:absolute;box-shadow:inset 0 0 0 5px #b8733da6,0 4px #34180f38}.chocolate-world-floater.floater-1{top:72px;left:9%}.chocolate-world-floater.floater-2{animation-delay:-1.4s;top:190px;right:10%}.chocolate-world-floater.floater-3{animation-delay:-2.8s;top:46%;left:4%}.chocolate-world-floater.floater-4{animation-delay:-4.2s;bottom:23%;right:5%}.chocolate-world-floater.floater-5{animation-delay:-5.6s;bottom:58px;left:18%}.chocolate-world-floater.floater-6{animation-delay:-7s;top:58%;right:24%}.chocolate-world-marquee{background:linear-gradient(#ffffff52,#0000),repeating-linear-gradient(90deg,#34180f24 0,#34180f24 24px,#f0b84a2e 24px,#f0b84a2e 48px);border-block:2px solid #34180f75;width:100%;padding:4px 0;overflow:hidden}.chocolate-world-marquee-track{gap:8px;width:max-content;animation:24s linear infinite chocolate-world-conveyor;display:flex}.chocolate-world-marquee-track span{border:2px solid var(--fraction-world-chocolate-dark);background:linear-gradient(135deg,#ffffff2e,transparent 45%),var(--fraction-world-chocolate);min-width:60px;min-height:28px;box-shadow:inset 0 0 0 4px #b8733dc7,0 3px 0 var(--fraction-world-chocolate-dark);color:var(--fraction-world-cream);border-radius:7px;justify-content:center;align-items:center;font-size:.78rem;font-weight:1000;display:inline-flex}.chocolate-world-factory-stage{border:2px solid var(--fraction-world-chocolate-dark);box-shadow:0 4px 0 var(--fraction-world-chocolate-dark);background:linear-gradient(#fff4d6bd,#f0b84a2e),repeating-linear-gradient(90deg,#34180f1f 0,#34180f1f 28px,#fff4d62e 28px,#fff4d62e 56px);border-radius:7px;grid-template-columns:minmax(136px,.28fr) minmax(220px,1fr);align-items:stretch;gap:6px;padding:4px;display:grid;position:relative;overflow:hidden}.module-world-shell>.camera-telemetry-hidden,.module-world-shell>.voice-telemetry-hidden{opacity:0;pointer-events:none;z-index:-1;width:1px;height:1px;position:fixed;bottom:0;right:0}.chocolate-world-factory-sign{border:2px solid var(--fraction-world-chocolate-dark);background:linear-gradient(135deg,#ffffff38,transparent 40%),var(--fraction-world-wrapper-red);color:#fff8ec;border-radius:6px;align-content:center;gap:2px;padding:4px 6px;display:grid;box-shadow:0 3px #34180f6b}.chocolate-world-factory-sign h2{color:#fff8ec;text-shadow:0 2px #34180f94;margin:0;font-size:clamp(.82rem,1.08vw,1rem);line-height:.95}.chocolate-world-factory-belt{z-index:2;border:2px solid var(--fraction-world-chocolate-dark);background:repeating-linear-gradient(90deg,#b9c0c7 0,#b9c0c7 24px,#89929c 24px,#89929c 28px,#d7dce0 28px,#d7dce0 52px,#89929c 52px,#89929c 56px);border-radius:6px;align-items:center;min-height:34px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 -6px #34180f38}.factory-bar{border:2px solid var(--fraction-world-chocolate-dark);background:linear-gradient(135deg,#ffffff2e,transparent 46%),var(--fraction-world-chocolate);width:68px;height:28px;box-shadow:inset 0 0 0 4px #b8733dcc,0 3px 0 var(--fraction-world-chocolate-dark);color:var(--fraction-world-cream);border-radius:6px;justify-content:center;align-items:center;font-size:.76rem;font-weight:1000;animation:8s linear infinite chocolate-world-factory-bar;display:inline-flex;position:absolute}.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{z-index:1;pointer-events:none;justify-content:space-around;height:10px;display:flex;position:absolute;bottom:0;left:14px;right:14px}.chocolate-world-drip-rail span{border:2px solid var(--fraction-world-chocolate-dark);background:var(--fraction-world-chocolate);border-top:0;border-radius:0 0 999px 999px;width:22px;height:10px;animation:2.9s ease-in-out infinite chocolate-world-drip}.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{grid-template-rows:auto auto minmax(0,1fr) auto;align-content:stretch;gap:clamp(8px,1vh,12px);min-height:0;overflow:hidden}.fractions-world-shell .fractionfall-board{background:linear-gradient(180deg,#20b2aa2e,transparent 52%),repeating-linear-gradient(90deg,#34180f1a 0,#34180f1a 28px,#f0b84a1a 28px,#f0b84a1a 56px),var(--card-highlight);position:relative}.fractions-world-shell-active .fractionfall-board{grid-template-rows:repeat(var(--fall-rows,12),minmax(24px,1fr));height:100%;min-height:0;padding:8px}.fractions-world-shell .fractionfall-board:before{content:"";z-index:0;opacity:.52;pointer-events:none;background:repeating-linear-gradient(#0000 0,#0000 28px,#34180f29 28px,#34180f29 31px,#0000 31px,#0000 58px);border-radius:5px;animation:16s linear infinite chocolate-world-board-belt;position:absolute;top:10px;right:10px;bottom:10px;left:10px}.fractions-world-shell .fractionfall-board>*{z-index:1;position:relative}.dashboard-header,.game-header{align-items:flex-start}.dashboard-header h2,.game-header h2{font-size:2.8rem;line-height:1}.dashboard-count{border:2px solid var(--line);background:var(--accent-purple);min-width:78px;min-height:48px;box-shadow:0 5px 0 var(--shadow);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.dashboard-layout{grid-template-columns:minmax(230px,280px) minmax(0,1fr);align-items:stretch;gap:20px;min-height:100%;display:grid}.module-rail,.empty-dashboard{border:3px solid var(--line);background:var(--surface-raised);box-shadow:0 6px 0 var(--shadow);border-radius:8px}.module-rail{align-content:start;align-self:stretch;gap:14px;padding:16px;display:grid;position:sticky;top:18px}.module-rail-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.module-rail-heading strong,.module-rail-status{border:2px solid var(--line);background:var(--accent-green);min-height:30px;box-shadow:0 3px 0 var(--accent-green-shadow);color:#08250e;border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font-size:.78rem;font-weight:1000;display:inline-flex}.module-rail-list{gap:14px;display:grid}.module-rail-section{gap:8px;display:grid}.module-rail-section-title{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:1000}.module-rail-section-list{gap:10px;display:grid}.module-rail-item{border:2px solid var(--line);background:var(--surface);width:100%;box-shadow:0 4px 0 var(--shadow);color:var(--ink);cursor:pointer;font:inherit;text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.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,#58d65c33,transparent 78%),var(--surface)}.module-rail-item.locked{opacity:.7}.module-rail-item-fractions-world.active{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);position:relative;overflow:hidden}.module-rail-item-fractions-world.active:before{content:"";background:repeating-linear-gradient(#34180f 0,#34180f 16px,#f0b84a 16px,#f0b84a 32px,#d4483c 32px,#d4483c 48px,#20b2aa 48px,#20b2aa 64px);width:9px;animation:14s linear infinite chocolate-world-board-belt;position:absolute;inset:0 auto 0 0}.module-rail-item-fractions-world.active>*{z-index:1;position:relative}.module-rail-item-fractions-world.active .module-rail-order{color:#fff4d6;background:linear-gradient(135deg,#ffffff2e,#0000 44%),#6f3a23;box-shadow:inset 0 0 0 5px #b8733db8,0 3px #34180f}.module-rail-item-asl-world.active{color:#062c3f;background:radial-gradient(circle at calc(100% - 28px) 20px,#ffee90ad 0 12px,transparent 13px),radial-gradient(circle at 86% 72%,#ff806647 0 12px,transparent 13px),radial-gradient(circle at 76% 88%,#fff4cc94 0 7px,transparent 8px),linear-gradient(180deg,#ecfeffc7,#44d7cf47 54%,#086a8c33),repeating-linear-gradient(112deg,#ffffff42 0 2px,transparent 2px 22px),var(--surface);position:relative;overflow:hidden}.module-rail-item-asl-world.active:before{content:"";background:linear-gradient(#ecfeff5c,#0000),repeating-linear-gradient(#086a8c 0,#086a8c 14px,#44d7cf 14px,#44d7cf 28px,#ffd35c 28px,#ffd35c 42px,#ff8066 42px,#ff8066 56px,#238b45 56px,#238b45 70px);width:10px;animation:10s linear infinite asl-rail-current-slide;position:absolute;inset:0 auto 0 0}.module-rail-item-asl-world.active:after{content:"";clip-path:polygon(0 50%,18% 0,18% 25%,100% 25%,100% 75%,18% 75%,18% 100%);opacity:.78;pointer-events:none;background:radial-gradient(circle at 78% 36%,#062c3f 0,#062c3f 1.5px,#0000 2.5px),linear-gradient(135deg,#ffffff6b,#0000 42%),#ffd35c;border:2px solid #062c3f70;border-radius:62% 42% 42% 62%/60% 52% 48% 40%;width:38px;height:18px;animation:4.4s ease-in-out infinite asl-rail-fish-bob;position:absolute;top:12px;right:14px;box-shadow:-22px 38px 0 -11px #ecfeffb8,-42px 12px 0 -12px #ecfeffad,-82px 28px 0 -13px #ecfeff94}.module-rail-item-asl-world.active>*{z-index:1;position:relative}.module-rail-item-asl-world.active .module-rail-order{color:#ecfeff;background:linear-gradient(#ffffff59,#0000 50%),#086a8c;box-shadow:0 3px #073246}.module-rail-order{border:2px solid var(--line);background:var(--accent-yellow);width:38px;height:38px;box-shadow:0 3px 0 var(--accent-yellow-shadow);color:#2a2500;border-radius:8px;justify-content:center;align-items:center;font-weight:1000;display:inline-flex}.module-rail-copy{gap:3px;min-width:0;display:grid}.module-rail-copy strong,.module-rail-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.module-rail-copy span{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:900}.module-rail-status.soon{color:#111827;background:#aeb6bf;box-shadow:0 3px #7f8892}.dashboard-main{align-self:stretch;gap:18px;min-width:0;display:grid}.parent-overview{border:3px solid var(--line);background:linear-gradient(180deg,#ffd94d33,transparent 72%),var(--surface-raised);box-shadow:0 6px 0 var(--shadow);border-radius:8px;gap:16px;padding:18px;display:grid}.parent-dashboard-main{gap:18px;min-width:0;display:grid}.parent-overview-heading,.session-history-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.parent-overview-heading h3{margin:0;font-size:1.85rem;line-height:1.05}.parent-child-chip,.session-history-heading strong{border:2px solid var(--line);background:var(--accent-blue);min-height:34px;box-shadow:0 4px 0 var(--accent-blue-shadow);color:#061b27;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:.84rem;font-weight:1000;display:inline-flex}.parent-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.parent-stat{border:2px solid var(--line);background:var(--surface);min-height:88px;box-shadow:0 4px 0 var(--shadow);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 8px;padding:10px;display:grid}.parent-stat-icon{border:2px solid var(--line);background:var(--accent-green);color:#08250e;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.parent-stat span:not(.parent-stat-icon){color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:1000}.parent-stat strong{overflow-wrap:anywhere;grid-column:1/-1;font-size:1.08rem;line-height:1.05}.session-history{gap:10px;min-width:0;display:grid}.session-history-heading strong{background:var(--accent-pink);box-shadow:0 4px 0 var(--accent-pink-shadow);color:#fff}.session-list{gap:8px;display:grid}.child-progress-list,.module-progress-list{gap:10px;display:grid}.child-progress-row,.module-progress-row{border:2px solid var(--line);background:var(--surface);min-height:68px;box-shadow:0 3px 0 var(--shadow);border-radius:8px;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(92px,auto));align-items:center;gap:10px;padding:10px;display:grid}.child-progress-row div,.module-progress-row div{gap:3px;min-width:0;display:grid}.child-progress-row strong,.module-progress-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.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{align-items:center;gap:6px;display:inline-flex}.session-row{border:2px solid var(--line);background:var(--surface);min-height:64px;box-shadow:0 3px 0 var(--shadow);border-radius:8px;grid-template-columns:minmax(180px,1fr) minmax(72px,auto) minmax(82px,auto) minmax(98px,auto);align-items:center;gap:10px;padding:9px 10px;display:grid}.session-row div{gap:3px;min-width:0;display:grid}.session-row time,.session-row span{color:var(--muted);font-size:.82rem;font-weight:900}.session-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-row>span{justify-self:end}.empty-session-history{min-height:46px;color:var(--muted);align-items:center;gap:8px;font-weight:850;display:inline-flex}.live-analytics-shell{overflow:visible}.live-analytics-header{align-items:flex-start}.live-stream-status{border:2px solid var(--line);background:var(--surface-raised);min-height:38px;box-shadow:0 4px 0 var(--shadow);color:var(--ink);text-transform:capitalize;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.84rem;font-weight:1000;display:inline-flex}.live-stream-status.is-live{background:var(--accent-green);box-shadow:0 4px 0 var(--accent-green-shadow);color:#08250e}.live-stream-status.is-reconnecting,.live-stream-status.is-connecting{background:var(--accent-yellow);box-shadow:0 4px 0 var(--accent-yellow-shadow);color:#2a2500}.live-stream-status.is-offline{background:var(--danger);color:#fff;box-shadow:0 4px #6e0e0e8c}.live-analytics-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.live-summary-stat{min-height:78px}.live-session-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:16px;display:grid}.live-session-card{border:3px solid var(--line);background:var(--surface-raised);min-width:0;box-shadow:0 6px 0 var(--shadow);border-radius:8px;gap:14px;padding:16px;display:grid}.live-session-card-header,.live-account-cluster,.live-panel-heading,.live-event-row{align-items:center;gap:10px;display:flex}.live-session-card-header{justify-content:space-between}.live-account-cluster{min-width:0}.live-account-avatar{border:2px solid var(--line);background:var(--accent-blue);color:#061b27;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.live-account-cluster div,.live-state-lines,.live-session-foot div{gap:3px;min-width:0;display:grid}.live-account-cluster strong,.live-session-foot strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.live-account-cluster span,.live-session-meta,.live-state-lines,.live-sentiment-panel p,.live-session-foot span,.live-event-row{color:var(--muted);font-size:.82rem;font-weight:850}.live-module-chip,.live-sentiment-pill{border:2px solid var(--line);border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:0 10px;font-size:.78rem;font-weight:1000;display:inline-flex}.live-module-chip{background:var(--accent-pink);box-shadow:0 3px 0 var(--accent-pink-shadow);color:#fff}.live-session-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.live-session-meta span{text-overflow:ellipsis;white-space:nowrap;border-bottom:2px solid #0000001f;min-width:0;padding-bottom:5px;overflow:hidden}.live-session-panels{grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);gap:12px;display:grid}.live-state-panel,.live-sentiment-panel{border:2px solid var(--line);background:var(--surface);border-radius:8px;align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.live-panel-heading{justify-content:space-between}.live-panel-heading strong{font-size:.95rem}.live-score-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.live-score{gap:4px;min-width:0;display:grid}.live-score span{color:var(--muted);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.68rem;font-weight:1000;overflow:hidden}.live-score strong{font-size:1rem;line-height:1}.live-score-bar{border:1px solid var(--line);background:var(--surface-raised);border-radius:999px;height:7px;overflow:hidden}.live-score-bar span{background:var(--accent-green);height:100%;display:block}.live-sentiment-pill{background:var(--surface-raised);box-shadow:0 3px 0 var(--shadow);justify-self:start}.live-sentiment-pill.is-happy,.live-sentiment-pill.is-positive,.live-sentiment-pill.is-calm{background:var(--accent-green);box-shadow:0 3px 0 var(--accent-green-shadow);color:#08250e}.live-sentiment-pill.is-confused,.live-sentiment-pill.is-mixed,.live-sentiment-pill.is-possibly-away{background:var(--accent-yellow);box-shadow:0 3px 0 var(--accent-yellow-shadow);color:#2a2500}.live-sentiment-pill.is-negative,.live-sentiment-pill.is-frustrated{background:var(--danger);color:#fff;box-shadow:0 3px #6e0e0e8c}.live-sentiment-panel p{margin:0}.live-session-foot{border-top:2px solid #00000024;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:12px;display:grid}.live-session-foot span{text-transform:uppercase}.live-session-foot strong{font-size:.9rem}.live-event-list{gap:7px;display:grid}.live-event-row{background:var(--surface);border-radius:8px;justify-content:space-between;min-height:28px;padding:5px 8px}.live-event-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.live-event-row time{flex:none}.live-empty-state{border:2px dashed var(--line);border-radius:8px;padding:16px}.featured-module{align-content:start;min-height:100%}.module-card-fractions-world{background:radial-gradient(circle at 16% 26%,#6f3a2342 0 46px,transparent 48px),radial-gradient(circle at 86% 18%,#d4483c3d 0 34px,transparent 36px),radial-gradient(circle at 78% 76%,#20b2aa38 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);position:relative;overflow:hidden}.module-card-fractions-world:before{content:"";z-index:0;pointer-events:none;background:repeating-linear-gradient(90deg,#34180f 0,#34180f 52px,#f0b84a 52px,#f0b84a 90px,#d4483c 90px,#d4483c 128px,#20b2aa 128px,#20b2aa 166px);height:16px;animation:18s linear infinite chocolate-world-wrapper-slide;position:absolute;inset:0 0 auto}.module-card-fractions-world:after{content:"";z-index:0;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;background:radial-gradient(circle at 17% 58%,#fff4d694 0,#fff4d694 9px,#0000 10px),radial-gradient(circle at 52% 38%,#fff4d673 0,#fff4d673 7px,#0000 8px),radial-gradient(circle at 78% 62%,#fff4d66b 0,#fff4d66b 8px,#0000 9px),linear-gradient(130deg,#fff3,#0000 38%),repeating-linear-gradient(115deg,#3a1a0fcc 0,#3a1a0fcc 28px,#6f3a23e0 28px,#6f3a23e0 58px,#b8733d9e 58px,#b8733d9e 65px,#6f3a23e0 65px,#6f3a23e0 94px);height:230px;position:absolute;bottom:72px;left:-28px;right:-36px}.module-card-fractions-world>*{z-index:1;position:relative}.module-card-fractions-world .module-card-fractions-scenery{z-index:0;pointer-events:none;position:absolute;top:16px;right:12px;bottom:86px;left:12px}.candy-tree,.chocolate-critter{display:block;position:absolute}.candy-tree{filter:drop-shadow(0 4px #34180f3d);width:52px;height:94px}.candy-tree:before{content:"";background:linear-gradient(90deg,#ffffff3d,#0000 54%),#6f3a23;border:2px solid #34180f;border-radius:999px;width:12px;height:44px;position:absolute;bottom:0;right:20px}.candy-tree:after{content:"";background:radial-gradient(circle at 34% 28%,#ffffff8c 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);border:2px solid #34180f;border-radius:999px;width:48px;height:48px;position:absolute;top:0;left:2px;box-shadow:inset 0 0 0 5px #fff4d647,0 3px #34180f47}.candy-tree.tree-one{opacity:.86;bottom:48px;right:30px;transform:rotate(6deg)scale(.92)}.candy-tree.tree-two{opacity:.64;bottom:16px;left:24px;transform:rotate(-7deg)scale(.78)}.candy-tree.tree-three{opacity:.56;bottom:8px;right:172px;transform:rotate(-3deg)scale(.68)}.chocolate-critter{background:radial-gradient(circle at 34% 44%,#fff4d6 0,#fff4d6 3px,#0000 4px),radial-gradient(circle at 64% 44%,#fff4d6 0,#fff4d6 3px,#0000 4px),linear-gradient(140deg,#8a4a2c,#6f3a23 58%,#3f1e13);border:2px solid #34180f;border-radius:55% 55% 45% 45%;width:48px;height:34px;box-shadow:inset 0 -5px #34180f47,0 4px #34180f38}.chocolate-critter:before,.chocolate-critter:after{content:"";background:#6f3a23;border:2px solid #34180f;border-radius:999px;width:15px;height:15px;position:absolute;top:-10px}.chocolate-critter:before{left:6px}.chocolate-critter:after{right:6px}.chocolate-critter.critter-one{opacity:.54;bottom:34px;left:118px;transform:rotate(-4deg)scale(.86)}.chocolate-critter.critter-two{opacity:.44;bottom:96px;right:106px;transform:rotate(5deg)scale(.68)}.module-card-fractions-world .module-card-topline strong{color:#fff4d6;background:#6f3a23}.module-card-fractions-world h3{color:#34180f;text-shadow:0 2px #f0b84a80}.module-card-fractions-world .module-progress-track span{background:linear-gradient(90deg,#6f3a23,#f0b84a,#20b2aa)}.module-card-fractions-hero{background:linear-gradient(#fff4d69e,#f0b84a2e),repeating-linear-gradient(0deg,#34180f1a 0,#34180f1a 16px,#0000 16px,#0000 32px);border-radius:8px;grid-template-columns:auto auto minmax(180px,1fr);gap:14px;min-height:136px;padding:12px;display:grid;position:relative;overflow:hidden}.module-card-fractions-hero:before{content:"";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;background:radial-gradient(circle at 22% 46%,#fff4d69e 0,#fff4d69e 6px,#0000 7px),radial-gradient(circle at 72% 32%,#fff4d67a 0,#fff4d67a 5px,#0000 6px),linear-gradient(145deg,#ffffff2e,#0000 40%),repeating-linear-gradient(120deg,#3a1a0fe0 0,#3a1a0fe0 22px,#6f3a23eb 22px,#6f3a23eb 44px,#b8733da8 44px,#b8733da8 50px,#6f3a23eb 50px,#6f3a23eb 72px);height:88px;position:absolute;bottom:0;left:0;right:0}.module-card-fractions-hero:after{content:"";opacity:.66;pointer-events:none;background:linear-gradient(135deg,#ffffff29,#0000 45%),#6f3a23;border:2px solid #34180f;border-radius:7px;width:74px;height:34px;position:absolute;top:14px;right:18px;transform:rotate(7deg);box-shadow:inset 0 0 0 5px #b8733dbd,0 3px #34180f61,-112px 58px 0 -4px #d4483cc7,-198px 16px 0 -7px #20b2aab8}.module-card-fractions-hero>*{z-index:1;position:relative}.module-card-fractions-hero .module-mascot{width:104px;height:112px;box-shadow:none;filter:drop-shadow(0 8px #34180f);background:0 0;border:0;border-radius:0;animation:3s ease-in-out infinite chocolate-kiss-bob}.module-card-fractions-hero .module-mascot:before{content:"";clip-path:polygon(50% 0,76% 28%,94% 74%,78% 100%,22% 100%,6% 74%,24% 28%);background:radial-gradient(circle at 35% 34%,#ffffff3d,#0000 18%),linear-gradient(140deg,#8a4a2c 0,#8a4a2c 36%,#6f3a23 37%,#6f3a23 68%,#3f1e13);border:3px solid #34180f;border-radius:48% 48% 42% 42%/62% 62% 38% 38%;position:absolute;top:8px;right:6px;bottom:0;left:6px}.module-card-fractions-hero .module-mascot:after{content:"1/2";color:#34180f;background:#fff8ec;border:2px solid #34180f;border-radius:4px;justify-content:center;align-items:center;width:56px;min-height:22px;padding:0;font-size:.72rem;font-weight:1000;display:inline-flex;position:absolute;inset:-4px -4px auto auto;transform:rotate(-10deg);box-shadow:0 3px #34180f47}.module-card-fractions-hero .mascot-eye{z-index:1;background:#fff4d6;width:10px;height:15px;top:48px}.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;border-color:#0000 #fff4d6 #fff4d6;width:26px;height:13px;top:68px;left:39px}.module-card-fractions-belt{background:repeating-linear-gradient(90deg,#b9c0c7 0,#b9c0c7 22px,#89929c 22px,#89929c 26px,#d7dce0 26px,#d7dce0 48px,#89929c 48px,#89929c 52px);border:2px solid #34180f;border-radius:8px;align-self:center;align-items:center;gap:8px;min-height:68px;padding:10px;display:flex;overflow:hidden;box-shadow:inset 0 -7px #34180f2e}.module-card-fractions-belt span{color:#fff4d6;background:linear-gradient(135deg,#ffffff2e,#0000 44%),#6f3a23;border:2px solid #34180f;border-radius:7px;justify-content:center;align-items:center;min-width:58px;min-height:34px;font-size:.78rem;font-weight:1000;animation:2.8s ease-in-out infinite chocolate-dashboard-bar-bob;display:inline-flex;box-shadow:inset 0 0 0 5px #b8733dc7,0 3px #34180f}.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{isolation:isolate;color:#073246;box-shadow:0 4px 0 var(--shadow),inset 0 0 0 2px #ecfeff47,inset 0 -22px 36px #03253b38;background:radial-gradient(circle at 82% 13%,#ffee908f 0,#ffee908f 34px,#ffd35c38 35px,#ffd35c38 58px,#0000 59px),radial-gradient(at 26% -10%,#ecfefff5 0,#ecfefff5 18%,#0000 46%),radial-gradient(at 46% 118%,#f8d99bd6 0,#f8d99bd6 19%,#0000 29%),radial-gradient(circle at 12% 73%,#ff806633 0,#ff806633 10%,#0000 22%),repeating-linear-gradient(115deg,#ecfeff38 0,#ecfeff38 3px,#0000 3px,#0000 48px),linear-gradient(#dbfbff,#65d9e9 24%,#1188ad 59%,#063b5f);position:relative;overflow:hidden}.module-card-asl-world:before{content:"";z-index:0;opacity:.84;pointer-events:none;background:radial-gradient(at 18% 24%,#fffc 0,#fffc 17%,#0000 44%),radial-gradient(at 68% 16%,#ecfeff8a 0,#ecfeff8a 13%,#0000 36%),repeating-linear-gradient(104deg,#ecfeff6b 0,#ecfeff6b 5px,#0000 5px,#0000 42px);height:172px;animation:9.5s ease-in-out infinite asl-dashboard-caustics;position:absolute;inset:-54px -58px auto;-webkit-mask-image:linear-gradient(#000 0 54%,#0000 100%);mask-image:linear-gradient(#000 0,#000 54%,#0000)}.module-card-asl-world:after{content:"";z-index:0;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;pointer-events:none;background:radial-gradient(at 11% 72%,#ff8066d6 0,#ff8066d6 29px,#0000 30px),radial-gradient(at 72% 66%,#238b45b8 0,#238b45b8 42px,#0000 43px),radial-gradient(at 44% 80%,#ecfeff85 0,#ecfeff85 22px,#0000 23px),radial-gradient(at 88% 84%,#ffd35cd1 0,#ffd35cd1 19px,#0000 20px),radial-gradient(at 30% 90%,#8b6cff52 0,#8b6cff52 22px,#0000 23px),linear-gradient(#0000 0,#0000 16%,#086a8c40 17%,#086a8c40 34%,#f8d99b 35%,#f8d99b);height:178px;animation:6.8s ease-in-out infinite asl-dashboard-reef-breathe;position:absolute;bottom:-18px;left:-28px;right:-28px}.module-card-asl-world>:not(.module-card-asl-scenery){z-index:2;position:relative}.module-card-asl-scenery{z-index:1;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.asl-scenery-bubbles,.asl-scenery-kelp,.asl-scenery-current,.asl-scenery-fish,.asl-scenery-coral,.asl-scenery-shell,.asl-scenery-ray{display:block;position:absolute}.asl-scenery-ray{--ray-rotate:-9deg;clip-path:polygon(42% 0,68% 0,100% 100%,0 100%);filter:blur(.2px);mix-blend-mode:screen;opacity:.64;transform-origin:50% 0;background:linear-gradient(#ecfeff94,#ecfeff29 56%,#0000 92%);width:112px;height:286px;animation:8.2s ease-in-out infinite asl-card-ray-sway;top:-38px}.asl-scenery-ray.ray-one{left:20%}.asl-scenery-ray.ray-two{--ray-rotate:10deg;opacity:.48;width:94px;animation-delay:-3s;right:8%}.asl-scenery-bubbles{border:3px solid #ecfeffeb;border-radius:999px;width:20px;height:20px;animation:6s ease-in-out infinite asl-dashboard-bubble-rise;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}.asl-scenery-bubbles.bubble-one{bottom:36px;right:72px}.asl-scenery-bubbles.bubble-two{opacity:.74;animation-duration:7.4s;animation-delay:-2.3s;bottom:60px;left:38px}.asl-scenery-bubbles.bubble-three{opacity:.68;width:15px;height:15px;animation-duration:8.1s;animation-delay:-4.6s;bottom:28px;left:52%}.asl-scenery-kelp{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 #03253b2e);transform-origin:50% 100%;background:linear-gradient(90deg,#ffffff38,#0000 52%),linear-gradient(#b6e66a,#238b45);border:3px solid #062c3fb8;border-radius:999px 999px 8px 8px;width:46px;height:124px;animation:4.8s ease-in-out infinite asl-dashboard-kelp-sway;bottom:-26px}.asl-scenery-kelp.kelp-one{bottom:-22px;right:26px}.asl-scenery-kelp.kelp-two{background:linear-gradient(#58cc6a,#0f8f52);height:94px;animation-delay:-1.7s;bottom:-36px;left:114px}.asl-scenery-kelp.kelp-three{opacity:.86;background:linear-gradient(#b6e66a,#238b45);width:34px;height:88px;animation-duration:5.6s;animation-delay:-2.7s;bottom:-38px;left:14px}.asl-scenery-current{opacity:.74;border-top:5px solid #ecfeff94;border-radius:50%;height:62px;animation:7s ease-in-out infinite asl-current-drift;top:58px;left:46px;right:-24px}.asl-scenery-current:before,.asl-scenery-current:after{content:"";border-top:3px solid #ecfeff47;border-radius:50%;height:28px;position:absolute;left:4%;right:12%}.asl-scenery-current:before{top:13px}.asl-scenery-current:after{top:27px;left:16%}.asl-scenery-current.current-two{opacity:.42;animation-duration:8.2s;animation-delay:-3.4s;top:142px;left:-34px;right:88px}.asl-scenery-coral{--coral-fill:#ff8066;--coral-shadow:#d94b58;filter:drop-shadow(0 5px #03253b29);transform-origin:50% 100%;width:82px;height:92px;animation:6.4s ease-in-out infinite asl-dashboard-kelp-sway;bottom:-26px}.asl-scenery-coral:before,.asl-scenery-coral:after{content:"";background:var(--coral-fill);box-shadow:inset -5px 0 0 var(--coral-shadow);position:absolute;bottom:0}.asl-scenery-coral:before{width:14px;height:84px;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);border-radius:999px 999px 6px 6px;left:34px}.asl-scenery-coral:after{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%);width:46px;height:48px;box-shadow:none;border-radius:999px;left:18px}.asl-scenery-coral.coral-one{left:48px}.asl-scenery-coral.coral-two{--coral-fill:#ffd35c;--coral-shadow:#f59e0b;width:66px;height:70px;animation-delay:-2.1s;bottom:-34px;right:96px;scale:.82}.asl-scenery-shell{clip-path:polygon(8% 100%,18% 44%,50% 0,82% 44%,92% 100%);opacity:.92;background:repeating-radial-gradient(at 50% 100%,#fff4cc 0,#fff4cc 5px,#ffd35c 6px,#ffd35c 8px),#fff4cc;border:2px solid #0732466b;border-radius:999px 999px 8px 8px;width:44px;height:29px;animation:4.8s ease-in-out infinite asl-shell-glint;bottom:2px;box-shadow:0 4px #0732461f}.asl-scenery-shell.shell-one{right:172px}.asl-scenery-shell.shell-two{opacity:.74;width:34px;height:22px;animation-delay:-2.2s;bottom:-4px;left:156px;transform:rotate(-8deg)}.asl-scenery-fish{--fish-fill:#ffd35c;background:radial-gradient(circle at 78% 36%,#073246 0 2px,transparent 3px),linear-gradient(135deg,#ffffff6b,transparent 42%),var(--fish-fill);opacity:.86;border:2px solid #062c3f85;border-radius:62% 44% 44% 62%/58% 52% 48% 42%;width:46px;height:22px;animation:10.5s linear infinite asl-card-fish-swim-right;left:-64px;box-shadow:inset 0 -4px #03253b1a,0 5px #0732461a}.asl-scenery-fish:before{content:"";background:var(--fish-fill);clip-path:polygon(100% 50%,0 0,0 100%);border:2px solid #0732466b;border-right:0;border-radius:6px 0 0 6px;width:18px;height:15px;position:absolute;top:3px;left:-15px}.asl-scenery-fish:after{content:"";background:#ffffff80;border-radius:999px 999px 0;width:11px;height:8px;position:absolute;top:6px;left:17px;transform:rotate(-20deg)}.asl-scenery-fish.fish-one{animation-delay:-2s;top:118px}.asl-scenery-fish.fish-two{--fish-fill:#ff8066;background:radial-gradient(circle at 78% 36%,#073246 0 1.5px,transparent 2.5px),linear-gradient(135deg,#fff6,transparent 42%),var(--fish-fill);opacity:.72;width:38px;height:18px;animation:13.5s linear -6.7s infinite asl-card-fish-swim-left;top:64px;left:auto;right:-62px}.asl-scenery-fish.fish-three{--fish-fill:#8b6cff;opacity:.72;width:34px;height:16px;animation-duration:16s;animation-delay:-4.4s;top:158px}.module-card-asl-world .module-card-topline strong{color:#ecfeff;background:linear-gradient(135deg,#ecfeff38,#0000 48%),#06445f}.module-card-asl-world h3{color:#062c3f;text-shadow:0 2px #ecfeff5c,0 10px 22px #03253b24}.module-card-asl-world .module-progress-track span{background:linear-gradient(90deg,#06445f,#0fadc1,#ffd35c,#ff8066)}.module-card-asl-hero{background:radial-gradient(circle at 20% 30%,#ffee9033 0,#ffee9033 36px,#0000 37px),radial-gradient(at 74% 0,#ecfeffb8,#0000 48%),linear-gradient(#ecfeff52,#44d7cf1a 54%,#06445f2e),repeating-linear-gradient(118deg,#fff3 0,#fff3 3px,#0000 3px,#0000 36px);border:2px solid #ecfeffb3;border-radius:8px;grid-template-columns:minmax(100px,auto) minmax(180px,1fr);gap:18px;min-height:148px;padding:16px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -12px #03253b24,0 8px 18px #03253b1f}.module-card-asl-hero:before{content:"";opacity:.68;pointer-events:none;background:radial-gradient(circle at 14% 80%,#ffd35c3d 0,#ffd35c3d 14px,#0000 15px),radial-gradient(circle at 84% 18%,#ecfeff75 0,#ecfeff75 12px,#0000 13px),radial-gradient(circle at 58% 72%,#ff806629 0,#ff806629 11px,#0000 12px),repeating-linear-gradient(108deg,#ffffff47 0,#ffffff47 4px,#0000 4px,#0000 38px);animation:7.4s ease-in-out infinite asl-dashboard-caustics;position:absolute;top:-34px;right:-34px;bottom:-34px;left:-34px}.module-card-asl-hero:after{content:"";opacity:.82;pointer-events:none;background:radial-gradient(circle at 12%,#ecfeffdb 0,#ecfeffdb 4px,#0000 5px),radial-gradient(circle at 31% 52%,#fff4ccd1 0,#fff4ccd1 5px,#0000 6px),radial-gradient(circle at 51%,#ecfeffc7 0,#ecfeffc7 4px,#0000 5px),radial-gradient(circle at 72% 48%,#ff8066b8 0,#ff8066b8 5px,#0000 6px),radial-gradient(circle at 91% 52%,#8b6cff94 0,#8b6cff94 4px,#0000 5px);border-radius:999px;width:112px;height:28px;animation:4.8s ease-in-out infinite asl-pebble-shimmer;position:absolute;bottom:12px;right:18px}.module-card-asl-hero>*{z-index:1;position:relative}.asl-dashboard-hand{filter:drop-shadow(0 9px #0f172a3d);background:radial-gradient(circle at 50% 48%,#ecfeffad 0,#ecfeffad 38px,#0000 39px),radial-gradient(circle,#44d7cf47 0,#44d7cf47 54px,#0000 55px);border-radius:999px;align-self:center;width:116px;height:118px;animation:3.4s ease-in-out infinite asl-dashboard-hand-float;position:relative}.asl-dashboard-hand:before{content:"";z-index:2;background:radial-gradient(circle at 38% 30%,#ffffff6b,#0000 18%),#ffd8a8;border:3px solid #0f172a;border-radius:28px 28px 20px 20px;height:58px;position:absolute;bottom:12px;left:18px;right:22px}.asl-dashboard-hand:after{content:"";z-index:1;background:linear-gradient(135deg,#ffffff42,#0000 42%),#44d7cf;border:3px solid #0f172a;border-radius:14px 14px 20px 20px;height:28px;position:absolute;bottom:2px;left:28px;right:32px}.asl-dashboard-thumb{z-index:3;background:#ffd8a8;border:3px solid #0f172a;border-radius:999px;width:28px;height:52px;position:absolute;bottom:42px;right:7px;transform:rotate(30deg)}.asl-dashboard-finger{z-index:3;background:linear-gradient(90deg,#ffffff42,#0000 58%),#ffd8a8;border:3px solid #0f172a;border-radius:999px;width:21px;position:absolute;bottom:66px}.asl-dashboard-finger.finger-one{height:48px;left:20px}.asl-dashboard-finger.finger-two{height:72px;left:41px}.asl-dashboard-finger.finger-three{height:66px;left:62px}.asl-dashboard-finger.finger-four{height:46px;left:83px}.module-card-asl-sign-strip{grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;align-items:center;gap:9px;display:grid}.module-card-asl-sign-strip span{color:#062c3f;text-align:center;background:radial-gradient(circle at 17% 24%,#ffffffeb 0,#ffffffeb 5px,#0000 6px),linear-gradient(#ecfefff5,#bff7ffe6);border:2px solid #062c3f;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:0 10px;font-size:.78rem;font-weight:1000;animation:3.2s ease-in-out infinite asl-sign-card-float;display:inline-flex;position:relative;box-shadow:inset 0 -5px #44d7cf33,0 4px #062c3f3d}.module-card-asl-sign-strip span:after{content:"";background:#ecfeffcc;border:2px solid #062c3f70;border-radius:999px;width:13px;height:13px;position:absolute;top:-7px;right:10px}.module-card-asl-sign-strip span:nth-child(2){background:radial-gradient(circle at 17% 24%,#ffffffe6 0,#ffffffe6 5px,#0000 6px),linear-gradient(#fff4ccf5,#ffd35c75);animation-delay:-1s}.module-card-asl-sign-strip span:nth-child(3){background:radial-gradient(circle at 17% 24%,#ffffffe6 0,#ffffffe6 5px,#0000 6px),linear-gradient(#ffe0d6f5,#ff80666b);animation-delay:-2s}.module-progress-track{border:2px solid var(--line);background:var(--surface);border-radius:999px;height:18px;overflow:hidden}.module-progress-track span{border-right:2px solid var(--line);background:var(--accent-green);min-width:12px;height:100%;display:block}.empty-dashboard{justify-items:start;gap:8px;padding:18px;display:grid}.empty-dashboard strong{font-size:1.4rem}.empty-dashboard span{color:var(--muted);font-weight:800}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.module-card{border:3px solid var(--line);background:linear-gradient(180deg,var(--module-card-wash),transparent 72%),var(--surface-raised);min-height:350px;box-shadow:0 6px 0 var(--shadow);border-radius:8px;gap:18px;padding:18px;transition:transform .16s,box-shadow .16s;animation:.42s both card-rise;display:grid}.module-card:hover{box-shadow:0 9px 0 var(--shadow);transform:translateY(-3px)}.module-card-topline{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font-size:.84rem;font-weight:1000;display:flex}.module-card-topline strong{border:2px solid var(--line);background:var(--accent-green);color:#08250e;border-radius:999px;padding:4px 10px}.module-card-hero{justify-content:space-between;align-items:center;min-height:112px;display:flex}.module-mascot{border:3px solid var(--line);background:var(--accent-green);width:96px;height:96px;box-shadow:0 7px 0 var(--accent-green-shadow);border-radius:8px;animation:2.8s ease-in-out infinite mascot-bob;position:relative}.module-mascot:after{content:"1/2";color:#08250e;text-align:center;border-top:3px solid #08250e;padding-top:4px;font-size:1.2rem;font-weight:1000;position:absolute;bottom:12px;left:14px;right:14px}.mascot-eye{background:#08250e;border-radius:999px;width:13px;height:18px;animation:4s ease-in-out infinite mascot-blink;position:absolute;top:22px}.mascot-eye-left{left:26px}.mascot-eye-right{right:26px}.mascot-smile{border-bottom:3px solid #08250e;border-left:3px solid #08250e;border-right:3px solid #08250e;border-radius:0 0 999px 999px;width:28px;height:14px;position:absolute;top:45px;left:34px}.module-card h3{font-size:1.9rem;line-height:1.05}.module-card p{color:var(--muted);margin:10px 0 0;font-weight:650}.module-competency-panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;border:2px solid #ffffff75;border-radius:8px;gap:10px;padding:10px;display:grid}.module-recommendation-list{gap:6px;display:grid}.module-recommendation-list span{color:var(--ink);font-size:.84rem;font-weight:900;line-height:1.25}.module-competency-grid{flex-wrap:wrap;gap:7px;display:flex}.module-competency-chip{min-height:30px;color:var(--ink);background:#ffffffbd;border:2px solid #2a1f1429;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:.76rem;font-weight:900;display:inline-flex}.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{flex-wrap:wrap;gap:10px;display:flex}.module-card-song-button{min-width:0;height:38px;padding:0 11px;font-size:.78rem}.dashboard-song-audio{display:none}.module-end-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.flashcard-game-shell{gap:16px}.flashcard-game-fractions-world{background:radial-gradient(circle at 18% 18%,#ffd94d3d,transparent 26%),linear-gradient(135deg,#7a3f1d2e,#ffffff0a),var(--surface)}.flashcard-game-asl-world{background:radial-gradient(circle at 82% 14%,#1cb0f63d,transparent 28%),linear-gradient(135deg,#1cb0f624,#58cc021a),var(--surface)}.flashcard-game-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.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{gap:14px;min-width:0;padding:0;display:grid;position:relative}.module-flashcards:before{content:none}.module-flashcards-fractions-world,.module-flashcards-asl-world{background:0 0}.module-flashcards-heading,.flashcard-topline,.module-flashcard-summary{align-items:center;gap:10px;display:flex}.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{border:2px solid var(--line);min-height:30px;box-shadow:0 3px 0 var(--shadow);color:var(--muted);text-transform:uppercase;background:#ffffffb8;border-radius:999px;align-items:center;gap:4px;padding:0 9px;font-size:.76rem;font-weight:1000;display:inline-flex}:root[data-theme=dark] .module-flashcard-summary span{background:#ffffff14}.module-flashcard-summary strong{color:var(--ink)}.flashcard-review-surface{gap:12px;display:grid}.flashcard-topline{color:var(--muted);text-transform:uppercase;justify-content:space-between;font-size:.78rem;font-weight:1000}.flashcard-topline strong{color:var(--ink)}.flashcard-study-card{border:3px solid var(--line);background:linear-gradient(180deg,#ffffff47,transparent 72%),var(--surface);width:100%;min-height:152px;box-shadow:inset 0 -5px #00000014,0 5px 0 var(--shadow);color:var(--ink);text-align:left;border-radius:8px;gap:10px;padding:18px;display:grid}.flashcard-study-card span{color:var(--muted);text-transform:uppercase;font-size:.8rem;font-weight:1000}.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{text-align:center;align-content:center;place-items:center}.flashcard-study-card.is-fraction-prompt strong{font-size:clamp(2.9rem,8vw,5rem)}.flashcard-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.flashcard-choice-button{border:2px solid var(--line);background:var(--surface);min-height:92px;box-shadow:0 4px 0 var(--shadow);color:var(--ink);text-align:center;border-radius:8px;place-items:center;padding:12px;font-size:.98rem;font-weight:1000;line-height:1.25;display:grid}.flashcard-choice-button:not(:disabled):hover{box-shadow:0 6px 0 var(--shadow);transform:translateY(-2px)}.flashcard-choice-button:disabled{cursor:default}.flashcard-choice-button:disabled:not(.is-correct):not(.is-incorrect){opacity:.62}.flashcard-choice-button.is-incorrect{color:#4b1022;background:#ffccd8}.flashcard-choice-button.is-correct{background:var(--accent-green);color:#08250e}.flashcard-answer-feedback{border:2px solid var(--line);box-shadow:0 4px 0 var(--shadow);background:#ffffffc2;border-radius:8px;gap:10px;padding:12px;display:grid}.flashcard-answer-feedback span{color:var(--muted);font-weight:850;line-height:1.35}.flashcard-rating-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.flashcard-rating-button{border:2px solid var(--line);background:var(--surface);min-height:42px;box-shadow:0 4px 0 var(--shadow);color:var(--ink);border-radius:8px;padding:0 10px;font-weight:1000}.flashcard-rating-button.is-again{color:#4b1022;background:#ffccd8}.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{flex-wrap:wrap;gap:8px;display:flex}.module-meta span{border:2px solid var(--line);background:var(--surface-raised);min-height:34px;box-shadow:0 3px 0 var(--shadow);text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:.86rem;font-weight:1000;display:inline-flex}.lesson-strip{border:3px solid var(--line);background:var(--accent-yellow);box-shadow:0 5px 0 var(--accent-yellow-shadow);color:#2a2500;border-radius:8px;padding:16px}.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);background:var(--surface-raised);box-shadow:0 6px 0 var(--shadow);border-radius:8px}.fractionfall-panel{gap:16px;min-width:0;display:grid;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{gap:16px;display:grid}.fractionfall-tutorial{z-index:4;min-height:clamp(500px,62vh,680px);position:relative;overflow:visible}.fractionfall-play{justify-items:center}.chocolate-scale-play{justify-items:stretch;gap:clamp(10px,1.4vh,16px);width:100%;min-height:0;display:grid;position:relative}.chocolate-scale-play.is-routing-to-remediation .chocolate-scale-workspace,.chocolate-scale-play.is-routing-to-scale .fraction-tile-builder{animation:.42s cubic-bezier(.2,.8,.2,1) both scale-remediation-soft-exit}.chocolate-scale-play.is-routing-to-scale .chocolate-scale-workspace{animation:.42s cubic-bezier(.2,.8,.2,1) both scale-remediation-soft-enter}.scale-remediation-handoff{z-index:18;border:3px solid var(--line);background:var(--surface-raised);width:min(520px,100% - 24px);box-shadow:0 8px 0 var(--shadow),0 0 0 999px #fffcf06b;text-align:center;pointer-events:none;border-radius:8px;justify-items:center;gap:5px;margin-inline:auto;padding:clamp(14px,2vw,20px);animation:.42s cubic-bezier(.16,1,.3,1) both scale-remediation-handoff;display:grid;position:absolute;inset:clamp(42px,10vh,96px) clamp(12px,4vw,44px) auto}:root[data-theme=dark] .scale-remediation-handoff{box-shadow:0 8px 0 var(--shadow),0 0 0 999px #0709106b}.scale-remediation-handoff strong{font-size:clamp(1.35rem,3vw,2rem);line-height:1}.scale-remediation-handoff p{max-width:36rem;color:var(--muted);margin:0;font-weight:900}.chocolate-scale-workspace{grid-template-columns:clamp(88px,11vw,118px) minmax(0,1fr);justify-self:center;align-items:stretch;gap:clamp(10px,1.5vw,16px);width:min(100%,940px);display:grid}.chocolate-scale-activity{--scale-tilt:0deg;border:3px solid var(--line);background:linear-gradient(180deg,#ffd94d33,transparent 42%),var(--surface);width:100%;min-height:clamp(420px,58vh,560px);box-shadow:inset 0 -6px #00000014,0 6px 0 var(--shadow);border-radius:8px;gap:14px;padding:clamp(12px,2vw,18px);display:grid}.chocolate-scale-heading{gap:4px;display:grid}.chocolate-scale-heading h3{margin:0;font-size:clamp(1.2rem,2.4vw,1.8rem);line-height:1.05}.chocolate-scale{grid-template-columns:minmax(0,1fr) minmax(74px,92px) minmax(0,1fr);align-items:end;gap:clamp(10px,2vw,18px);min-height:clamp(240px,34vh,320px);display:grid;position:relative}.chocolate-scale-beam{border:3px solid var(--line);background:var(--accent-yellow);height:18px;box-shadow:0 5px 0 var(--accent-yellow-shadow);transform:rotate(var(--scale-tilt));transform-origin:50%;border-radius:999px;transition:transform .26s;position:absolute;bottom:clamp(84px,12vh,112px);left:9%;right:9%}.chocolate-scale-pan{z-index:2;border:3px solid var(--line);background:var(--surface-raised);min-height:clamp(170px,25vh,230px);box-shadow:0 5px 0 var(--shadow);border-radius:8px;align-content:center;gap:10px;padding:12px;transition:transform .26s;display:grid;position:relative}.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);text-transform:uppercase;font-size:.72rem;font-weight:1000}.chocolate-scale-pan strong,.scale-equation strong{font-size:clamp(1.1rem,2.2vw,1.5rem);line-height:1}.scale-fraction-bar{grid-template-columns:repeat(var(--scale-fraction-parts,1),minmax(0,1fr));border:3px solid var(--line);background:#ffffff5c;border-radius:8px;min-height:62px;display:grid;overflow:hidden}.scale-fraction-bar span{border-right:2px solid var(--line);background:#aeb6bf47;min-width:0}.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,#fff3,transparent 42%),var(--chocolate)}.chocolate-scale-fulcrum{z-index:3;width:min(100%,86px);min-height:118px;color:var(--accent-purple);place-self:end center;place-items:center;display:grid;position:relative}.chocolate-scale-fulcrum:after{content:"";border-right:42px solid #0000;border-bottom:86px solid var(--line);border-left:42px solid #0000;width:0;height:0}.chocolate-scale-fulcrum svg{z-index:1;border:2px solid var(--line);background:var(--surface-raised);border-radius:999px;padding:5px;position:absolute;top:8px}.scale-pan-pieces,.scale-piece-tray{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scale-pan-pieces{min-height:78px}.scale-pan-empty{border:3px dashed var(--line);width:100%;min-height:72px;color:var(--muted);border-radius:8px;place-items:center;font-weight:1000;display:grid}.scale-chocolate-piece,.scale-chocolate-drag-preview{border:3px solid var(--line);min-width:58px;min-height:48px;color:var(--chocolate-label);box-shadow:inset 0 0 0 5px var(--chocolate-ridge),inset 0 -6px #0000002e,0 4px 0 var(--chocolate-dark);border-radius:8px;justify-content:center;align-items:center;font-weight:1000;display:inline-flex}.scale-chocolate-piece{cursor:grab;touch-action:none}.scale-chocolate-piece.is-placed{cursor:grab;padding-right:22px;position:relative}.scale-chocolate-piece.is-placed:after{content:"-";border:2px solid var(--line);background:var(--accent-yellow);width:22px;height:22px;box-shadow:0 2px 0 var(--accent-yellow-shadow);color:#2a2500;border-radius:999px;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:inline-flex;position:absolute;top:-7px;right:-7px}.scale-chocolate-drag-preview{top:var(--drag-preview-y,0);left:var(--drag-preview-x,0);z-index:80;pointer-events:none;min-width:66px;min-height:52px;box-shadow:inset 0 0 0 5px var(--chocolate-ridge),inset 0 -6px #0000002e,0 0 0 5px #ffd65cb8,0 12px 28px #34180f52;position:fixed;transform:translate(-50%,-50%)rotate(-3deg)scale(1.12)}.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{border:2px solid var(--line);background:var(--surface-raised);min-height:42px;box-shadow:0 3px 0 var(--shadow);border-radius:999px;justify-content:center;justify-self:center;align-items:center;gap:12px;padding:5px 14px;display:inline-flex}.scale-piece-tray{border:3px solid var(--line);background:var(--surface-raised);width:100%;min-height:0;max-height:100%;box-shadow:0 5px 0 var(--shadow);border-radius:8px;flex-flow:column;justify-content:flex-start;align-items:stretch;padding:8px;overflow-y:auto}.scale-piece-tray.is-remove-target,.chocolate-scale-pan.is-drop-target{background:linear-gradient(180deg,#ffd65c47,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}.fraction-tile-builder{border:3px solid var(--line);background:linear-gradient(180deg,#58cc0229,transparent 48%),var(--surface);width:min(100%,940px);min-height:clamp(420px,58vh,560px);box-shadow:inset 0 -6px #00000014,0 6px 0 var(--shadow);border-radius:8px;justify-self:center;gap:clamp(12px,1.8vh,18px);padding:clamp(14px,2vw,20px);animation:.42s cubic-bezier(.16,1,.3,1) both scale-remediation-soft-enter;display:grid}.fraction-tile-builder-heading{gap:5px;max-width:720px;display:grid}.fraction-tile-builder-heading h3{margin:0;font-size:clamp(1.22rem,2.4vw,1.8rem);line-height:1.05}.fraction-tile-builder-heading p:not(.eyebrow){color:var(--muted);margin:0;font-weight:900}.fraction-tile-builder-board{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(12px,2vw,18px);display:grid}.fraction-tile-builder-row{border:3px solid var(--line);background:var(--surface-raised);min-height:clamp(190px,28vh,260px);box-shadow:0 5px 0 var(--shadow);border-radius:8px;align-content:center;gap:10px;padding:clamp(12px,1.8vw,16px);display:grid}.fraction-tile-builder-row strong{font-size:clamp(1.15rem,2.4vw,1.6rem)}.fraction-tile-builder-slots{grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:10px;min-height:78px;display:grid}.fraction-builder-slot{border:3px dashed var(--line);min-height:64px;color:var(--muted);background:#ffffff57;border-radius:8px;justify-content:center;align-items:center;font-weight:1000;display:inline-flex}.fraction-builder-slot.is-filled{background:linear-gradient(135deg,#fff3,transparent 42%),var(--chocolate);box-shadow:inset 0 0 0 5px var(--chocolate-ridge),inset 0 -6px #0000002e,0 4px 0 var(--chocolate-dark);color:var(--chocolate-label);border-style:solid}.sybbie-teacher-stage{min-height:clamp(500px,62vh,680px);position:relative;overflow:visible}.sybbie-teacher-stage:before{content:"";z-index:8;opacity:0;pointer-events:none;background:0 0;border-radius:8px;transition:opacity .22s;position:absolute;top:0;right:0;bottom:0;left:0}:root[data-theme=dark] .sybbie-teacher-stage:before{background:0 0}.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{z-index:12;pointer-events:none;grid-template-columns:minmax(0,1fr);justify-content:end;place-items:start stretch;width:min(660px,100% - 232px);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);display:grid;position:absolute;top:-42px;left:50%;right:auto;transform:translate(-50%)}.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{justify-items:start;width:86px;left:14px;transform:translate(0)}.sybbie-teacher-avatar{width:86px;height:86px;color:var(--accent-purple);filter:drop-shadow(0 5px #0000002e);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;transition:left .28s cubic-bezier(.16,1,.3,1),opacity .18s,transform .28s cubic-bezier(.16,1,.3,1);animation:2.8s ease-in-out infinite mascot-bob;display:inline-flex;position:absolute;top:0;left:-98px}.sybbie-teacher.is-choice-handoff .sybbie-teacher-avatar{opacity:.92;left:0}.sybbie-teacher-avatar svg{stroke-width:2.25px;width:72px;height:72px}.sybbie-teacher-board{--sybbie-board-gap:8px;isolation:isolate;border:3px solid var(--line);background:var(--surface-raised);width:100%;min-height:0;max-height:none;box-shadow:0 6px 0 var(--shadow);pointer-events:auto;border-radius:8px;align-content:start;padding:16px 16px 24px;transition:opacity .18s,transform .22s,visibility 0s linear .18s;display:grid;position:relative;overflow:visible}.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:is(button){font:inherit;color:inherit;text-align:left;cursor:pointer}.sybbie-teacher-board[role=button]:focus-visible,.sybbie-teacher-board:is(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:"";z-index:0;border-bottom:3px solid var(--line);border-left:3px solid var(--line);background:var(--surface-raised);width:22px;height:22px;position:absolute;top:30px;left:-14px;transform:rotate(45deg)}.sybbie-teacher-board>*{z-index:1;position:relative}.sybbie-teacher-board-clip{will-change:height;transition:height .26s cubic-bezier(.16,1,.3,1);overflow:hidden}.sybbie-teacher-board-content{gap:var(--sybbie-board-gap);align-content:start;display:grid}.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{background:var(--accent-blue);vertical-align:-.14em;border-radius:2px;width:.58em;height:1em;margin-left:2px;animation:.82s steps(2,start) infinite sybbie-dialogue-cursor;display:inline-block}.tutorial-fraction-model{width:100%;min-height:clamp(500px,62vh,680px);box-shadow:none;background:0 0;border:0;border-radius:8px;grid-auto-rows:clamp(78px,13vh,118px);align-content:end;align-self:stretch;gap:7px;padding:clamp(168px,24vh,228px) 16px clamp(28px,4vh,42px);transition:box-shadow .16s,transform .16s;display:grid;position:relative;overflow:visible}.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{width:100%;min-height:clamp(500px,62vh,680px);box-shadow:none;background:0 0;border:0;border-radius:8px;align-content:end;gap:12px;padding:clamp(168px,24vh,228px) 16px 16px;display:grid;position:relative;overflow:visible}.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{border:3px solid var(--line);color:#24170f;background:#fffcf0db;border-radius:8px;gap:14px;width:min(100%,760px);padding:16px;display:grid;box-shadow:0 6px #2b1b1247,0 16px 36px #2b1b122e}:root[data-theme=dark] .tutorial-rename-card{color:#f8fafc;background:#0b0f19db}.tutorial-rename-prompt{color:inherit;align-items:center;gap:10px;font-weight:950;display:flex}.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{text-align:center;justify-content:center}.tutorial-rename-prompt strong{border:3px solid var(--line);background:linear-gradient(135deg,#ffffff2e,transparent 42%),var(--chocolate);min-width:72px;min-height:48px;color:var(--chocolate-label);box-shadow:inset 0 0 0 6px var(--chocolate-ridge),inset 0 -8px #0000002e,0 3px 0 var(--chocolate-dark);border-radius:8px;justify-content:center;align-items:center;font-size:1.15rem;font-weight:1000;display:inline-flex}.tutorial-rename-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.tutorial-rename-feedback{color:inherit;text-align:center;margin:0 0 4px;font-weight:950}.tutorial-fraction-progress{z-index:2;width:var(--tutorial-progress,0%);border:0;border-top:3px solid var(--line);background:linear-gradient(90deg,var(--accent-green),var(--accent-yellow));height:10px;box-shadow:none;pointer-events:none;border-radius:0;transition:width .22s;display:block;position:absolute;bottom:0;left:0;right:auto}.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){z-index:1;border:3px solid var(--line);background:linear-gradient(135deg,#ffffff2e,transparent 42%),var(--chocolate);min-width:0;min-height:0;color:var(--chocolate-label);box-shadow:inset 0 0 0 7px var(--chocolate-ridge),inset 0 -9px #0000002e,0 4px 0 var(--chocolate-dark);border-radius:8px;justify-content:center;align-items:center;font-size:1.15rem;font-weight:1000;transition:box-shadow .16s,filter .16s,transform .16s;display:inline-flex;position:relative}.tutorial-tool-indicator{z-index:4;border:3px solid var(--line);pointer-events:none;border-radius:999px;justify-content:center;align-items:center;width:54px;height:54px;animation:1.2s ease-in-out infinite tutorial-tool-float;display:inline-flex;position:absolute;bottom:clamp(118px,16vh,154px);right:18px;box-shadow:0 4px #2b1b1242,0 10px 24px #2b1b1233}.tutorial-tool-indicator.is-hammer{color:#4b2f1f;background:#f6e4b8}.tutorial-hammer-icon{width:42px;height:42px;display:block;transform:rotate(-5deg)}.tutorial-tool-indicator.is-glue{color:#fff1d6;background:#7a3f1d}.tutorial-fraction-model>span.active{background:linear-gradient(135deg,#ffffff38,transparent 44%),var(--chocolate);color:var(--chocolate-label);animation:.36s both fill-bounce}.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{animation:.36s both fill-bounce,1.7s ease-in-out .12s both tutorial-chocolate-hit;overflow:hidden}.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:"";filter:drop-shadow(0 0 7px #ffd65cf2);opacity:0;background:linear-gradient(#0000 0,#0000 8%,#fff2b6 8%,#fff2b6 15%,#0000 15%,#0000 24%,#fff2b6 24%,#fff2b6 35%,#0000 35%,#0000 46%,#fff2b6 46%,#fff2b6 56%,#0000 56%,#0000 67%,#fff2b6 67%,#fff2b6 76%,#0000 76%,#0000);border-radius:999px;width:6px;animation:1.7s ease-in-out .12s both tutorial-crack-flash;position:absolute;inset:10px auto 10px 50%;transform:translate(-50%)skew(-12deg)}.tutorial-fraction-model.is-animating.is-tool-glue.fourths>span.active:first-of-type{animation:.36s both fill-bounce,1.7s ease-in-out .12s both tutorial-glue-piece-left}.tutorial-fraction-model.is-animating.is-tool-glue.fourths>span.active:nth-of-type(2){animation:.36s both fill-bounce,1.7s ease-in-out .12s both tutorial-glue-piece-right}.tutorial-equivalence-animation{z-index:3;pointer-events:none;height:clamp(78px,13vh,118px);position:absolute;bottom:clamp(28px,4vh,42px);left:16px;right:16px}.fractions-world-shell-active .tutorial-equivalence-animation{height:clamp(70px,12dvh,104px);bottom:clamp(30px,4dvh,44px);left:14px;right:14px}.tutorial-equivalence-animation.is-hammer-halves,.tutorial-equivalence-animation.is-glue-fourths{right:calc(50% + 4px)}.tutorial-preview-piece{border:3px solid var(--line);background:linear-gradient(135deg,#ffffff38,transparent 44%),var(--chocolate);min-width:0;box-shadow:inset 0 0 0 7px var(--chocolate-ridge),inset 0 -9px #0000002e,0 4px 0 var(--chocolate-dark);color:var(--chocolate-label);border-radius:8px;justify-content:center;align-items:center;font-size:1.05rem;font-weight:1000;display:inline-flex;position:absolute;top:0;bottom:0}.tutorial-crack-line{z-index:4;filter:drop-shadow(0 0 5px #ffd65cf2)drop-shadow(0 0 12px #1cb0f657);opacity:0;background:linear-gradient(#0000 0,#0000 8%,#fff2b6 8%,#fff2b6 16%,#0000 16%,#0000 25%,#fff2b6 25%,#fff2b6 36%,#0000 36%,#0000 48%,#fff2b6 48%,#fff2b6 58%,#0000 58%,#0000 69%,#fff2b6 69%,#fff2b6 78%,#0000 78%,#0000);border-radius:999px;width:7px;animation:1.7s ease-in-out .12s both tutorial-crack-flash;position:absolute;top:9px;bottom:9px;left:50%;transform:translate(-50%)skew(-12deg)}.tutorial-crack-line.line-two{width:4px;animation-delay:.19s;top:18px;bottom:16px;left:calc(50% + 7px)}.tutorial-equivalence-animation.is-hammer-whole .piece-left,.tutorial-equivalence-animation.is-hammer-halves .piece-left{width:calc(50% - 4px);animation:1.7s ease-in-out .12s both tutorial-hammer-split-left;left:0}.tutorial-equivalence-animation.is-hammer-whole .piece-right,.tutorial-equivalence-animation.is-hammer-halves .piece-right{width:calc(50% - 4px);animation:1.7s ease-in-out .12s both tutorial-hammer-split-right;right:0}.tutorial-equivalence-animation.is-glue-fourths .piece-left{width:calc(50% - 4px);animation:1.7s ease-in-out .12s both tutorial-glue-preview-left;left:0}.tutorial-equivalence-animation.is-glue-fourths .piece-right{width:calc(50% - 4px);animation:1.7s ease-in-out .12s both tutorial-glue-preview-right;right:0}.tutorial-equivalence-animation.is-glue-fourths .combined-half{opacity:0;animation:1.7s ease-in-out .12s both tutorial-glue-half-appear;top:0;right:0;bottom:0;left:0}.tutorial-glue-drop{z-index:5;border:2px solid var(--line);width:14px;height:22px;box-shadow:0 3px 0 var(--chocolate-dark);opacity:0;background:#7a3f1d;border-radius:999px 999px 999px 2px;animation:1.7s ease-in-out .12s both tutorial-glue-drop;position:absolute;top:10px;left:50%;transform:translate(-50%,-18px)rotate(45deg)}.tutorial-glue-drop.drop-two{animation-delay:.26s;left:calc(50% + 16px)}.tutorial-same-amount-badge{z-index:5;border:2px solid var(--line);background:var(--accent-yellow);min-height:30px;box-shadow:0 3px 0 var(--accent-yellow-shadow);color:#2a2500;opacity:0;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:.78rem;font-weight:1000;display:inline-flex;position:absolute;top:-36px;left:50%;transform:translate(-50%)translateY(8px)}.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:1.7s ease-in-out .12s both tutorial-same-badge-pop}.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:"";z-index:-1;border:5px solid #ffd65cf5;border-radius:16px;animation:.78s ease-in-out infinite tutorial-hammer-target-pulse;position:absolute;top:-16px;right:-16px;bottom:-16px;left:-16px;box-shadow:0 0 0 7px #ffd65c38,0 0 28px #ffd65ce0}.fractionfall-status,.fractionfall-controls,.quiz-locked{align-items:center;gap:10px;display:flex}.fractionfall-status{flex-wrap:wrap;justify-content:center;width:min(100%,680px)}.fractionfall-status span,.quiz-locked strong{border:2px solid var(--line);background:var(--surface);min-height:34px;box-shadow:0 3px 0 var(--shadow);border-radius:999px;padding:5px 10px;font-size:.86rem;font-weight:1000}.fractionfall-timer{border:2px solid var(--line);background:var(--surface);border-radius:999px;height:18px;overflow:hidden}.fractionfall-timer span{border-right:2px solid var(--line);background:linear-gradient(90deg,var(--accent-green),var(--accent-yellow),var(--accent-orange));height:100%;transition:width .22s linear;display:block}.fractionfall-feedback{border:2px solid var(--line);min-height:28px;color:var(--ink);background:#fffcf0b8;border-radius:8px;margin:0;padding:8px 10px;font-size:.9rem;font-weight:900;box-shadow:0 3px #2b1b1229}:root[data-theme=dark] .fractionfall-feedback{background:#0b0f19b8}.fractionfall-board{grid-template-columns:repeat(var(--fall-columns,4),minmax(0,1fr));grid-template-rows:repeat(var(--fall-rows,12),minmax(28px,1fr));border:3px solid var(--line);background:linear-gradient(180deg,#1cb0f62e,transparent 58%),var(--card-highlight);border-radius:8px;justify-self:center;gap:2px;width:min(100%,680px);height:clamp(520px,68vh,640px);min-height:520px;padding:10px;display:grid;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{opacity:.5;background:#ffffff24;min-width:0}.fractionfall-board-slot.is-target-gap{box-shadow:inset 0 0 0 2px var(--accent-yellow);opacity:1;background:#ffd94d4d}.fractionfall-target-pocket{z-index:2;border:2px dashed var(--line);pointer-events:none;background:#ffd94d2e;border-radius:5px;justify-content:center;align-items:center;min-width:0;display:inline-flex;box-shadow:inset 0 0 0 3px #ffffff57,0 0 0 2px #ffd94d59}.fractionfall-target-pocket:after{content:attr(data-label);border:2px solid var(--line);background:var(--accent-yellow);color:#2a2500;min-width:30px;min-height:21px;box-shadow:0 2px 0 var(--shadow);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:.68rem;font-weight:1000;line-height:1;display:inline-flex}.fractionfall-target-pocket.is-split-slot{background:linear-gradient(90deg,#ffffff52,#0000 32%),#ffd94d38;border-style:solid}.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{background:linear-gradient(135deg,#ffffff24,transparent 42%),var(--chocolate);min-width:0;box-shadow:inset 0 0 0 3px var(--chocolate-ridge),inset 0 -5px #0000002e}.fractionfall-stack-cell.is-piece-cell{background:linear-gradient(135deg,#ffffff38,transparent 42%),var(--chocolate)}.fractionfall-stack-cell.is-clearing{z-index:3;animation:.52s ease-in forwards fractionfall-line-eaten}.fractionfall-stack-label{z-index:4;min-width:0;color:var(--chocolate-label);pointer-events:none;text-shadow:0 1px 0 var(--chocolate-dark),1px 0 0 var(--chocolate-dark),-1px 0 0 var(--chocolate-dark);background:0 0;justify-content:center;align-items:center;padding:0 3px;font-size:clamp(.58rem,1.5vw,.92rem);font-weight:1000;line-height:1;display:inline-flex}.fractionfall-stack-label.is-reference{z-index:2;opacity:.68}.fractionfall-piece-ghost{z-index:3;pointer-events:none;min-width:0;transform:translateY(calc(var(--segment-row,0) * (100% + 3px)));background:#ffd94d29;border-style:dashed;box-shadow:inset 0 0 0 3px #ffffff47}.fractionfall-piece-ghost.is-combined{background:#58cc0224}.fractionfall-piece-segment{z-index:5;background:linear-gradient(135deg,#ffffff38,transparent 42%),var(--chocolate);min-width:0;box-shadow:inset 0 0 0 4px var(--chocolate-ridge),inset 0 -5px #0000002e,0 3px 0 var(--chocolate-dark);color:var(--chocolate-label);transform:translateY(calc(var(--segment-row,0) * (100% + 3px)));will-change:transform;justify-content:center;align-items:center;font-size:clamp(.64rem,1.35vw,.95rem);font-weight:1000;transition:transform .52s linear,filter .14s;display:inline-flex}.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{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.fractionfall-controls{flex-wrap:wrap;justify-content:center;width:min(100%,680px)}.quiz-heading{gap:6px;padding:16px;display:grid}.fractionfall-complete{border:3px solid var(--line);background:linear-gradient(180deg,#58d65c38,transparent 80%),var(--surface);text-align:center;border-radius:8px;justify-items:center;padding:18px;position:relative;overflow:visible}.fractionfall-complete>:not(.candy-burst):not(.fraction-complete-song){z-index:3;position:relative}.fractionfall-complete .candy-burst{top:52%}.fraction-complete-song{display:none}.fraction-complete-sybbie{transform-origin:bottom;place-items:center;width:112px;height:116px;margin-top:4px;animation:.72s ease-in-out infinite sybbie-finale-hop;display:grid;position:relative}.fraction-complete-sybbie-badge{z-index:2;width:86px;height:86px;color:var(--accent-purple);background:#fff;border:3px solid #202124;border-radius:999px;place-items:center;animation:.72s ease-in-out infinite sybbie-finale-sway;display:grid;position:relative;box-shadow:0 6px #15191f52,0 0 0 5px #ffffff8a}.fraction-complete-sybbie-arm,.fraction-complete-sybbie-foot{z-index:1;background:var(--accent-purple);border:3px solid #202124;display:block;position:absolute;box-shadow:0 3px #15191f38}.fraction-complete-sybbie-arm{transform-origin:50%;border-radius:999px;width:36px;height:12px;animation:.72s ease-in-out infinite sybbie-finale-arm-wave;top:43px}.fraction-complete-sybbie-arm.arm-left{left:4px;transform:rotate(-26deg)}.fraction-complete-sybbie-arm.arm-right{animation-delay:-.36s;right:4px;transform:rotate(26deg)}.fraction-complete-sybbie-foot{background:var(--accent-blue);border-radius:999px 999px 6px 6px;width:24px;height:12px;animation:.72s ease-in-out infinite sybbie-finale-foot-tap;bottom:10px}.fraction-complete-sybbie-foot.foot-left{left:32px}.fraction-complete-sybbie-foot.foot-right{animation-delay:-.36s;right:32px}.fractionfall-complete strong{font-size:1.45rem}.fractionfall-complete span{color:var(--muted);font-weight:800}.quiz-locked{color:var(--muted);flex-wrap:wrap;padding:16px}.quiz-locked strong{background:var(--accent-yellow);color:#2a2500}.question-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.question-card{border:3px solid var(--line);background:var(--surface-raised);min-height:420px;box-shadow:0 6px 0 var(--shadow);border-radius:8px;grid-template-rows:auto 130px auto auto auto;gap:16px;padding:16px;transition:transform .16s,box-shadow .16s,background .16s;display:grid;position:relative;overflow:visible}.question-card:hover{transform:translateY(-2px)}.question-card.is-answered{animation:.22s card-pop}.question-card.is-correct{background:linear-gradient(180deg,#58d65c38,transparent 70%),var(--surface-raised)}.question-card.needs-review{background:linear-gradient(180deg,#ff6b9a33,transparent 70%),var(--surface-raised)}.question-topline{color:var(--muted);text-transform:uppercase;font-size:.84rem;font-weight:1000}.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{border:4px solid var(--line);width:122px;min-height:122px;box-shadow:inset 0 0 0 12px var(--surface-raised),0 6px 0 var(--accent-orange-shadow);border-radius:50%;margin:0 auto;animation:3.2s ease-in-out infinite visual-float;position:relative}.pizza-visual:after{content:"";border:3px solid var(--line);background:var(--accent-yellow);border-radius:50%;position:absolute;top:45px;right:45px;bottom:45px;left:45px}.bar-visual{grid-template-columns:repeat(var(--parts,4),1fr);align-items:stretch;gap:6px;display:grid}.bar-visual span{border:3px solid var(--line);background:var(--surface);border-radius:8px;box-shadow:inset 0 -4px #00000014}.bar-visual span.filled{background:var(--accent-blue);animation:.42s both fill-bounce}.number-line{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-weight:1000;display:grid}.number-line div{border-top:5px solid var(--line);justify-content:space-between;display:flex}.number-line i{border:3px solid var(--line);background:var(--surface);border-radius:999px;width:18px;height:18px;margin-top:-12px}.number-line i.filled{background:var(--accent-pink);animation:.42s both fill-bounce}.answer-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.answer-option{background:var(--answer-bg,var(--surface-raised));min-height:48px;box-shadow:0 5px 0 var(--answer-shadow,var(--shadow));color:var(--answer-ink,#102035);place-items:center;gap:8px;padding:8px;font-size:1.08rem;font-weight:1000;display:grid}.answer-grid .answer-option,.tutorial-rename-choices .answer-option{min-height:96px}.chocolate-choice{place-items:center;gap:7px;width:100%;line-height:1;display:grid}.chocolate-choice-label{color:currentColor;font-size:1.14rem;font-weight:1000}.chocolate-choice-bar{grid-template-columns:repeat(var(--choice-parts,4),minmax(0,1fr));border:2px solid var(--line);background:#ffffff5c;border-radius:8px;gap:3px;width:min(100%,136px);min-height:32px;padding:3px;display:grid;box-shadow:inset 0 -3px #00000014}.chocolate-choice-bar span{border:2px solid var(--line);background:#aeb6bf47;border-radius:5px;min-width:0}.chocolate-choice-bar span.is-filled{background:linear-gradient(135deg,#ffffff2e,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:first-child{--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:first-child{--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:.24s answer-pop}.answer-option.correct{background:var(--success);box-shadow:0 5px 0 var(--accent-green-shadow);color:#08250e;animation:.5s answer-correct}.answer-option.incorrect{background:var(--danger);color:#fff;animation:.36s answer-shake;box-shadow:0 5px #c62f35}.score-panel{border:3px solid var(--line);background:var(--accent-yellow);min-height:62px;box-shadow:0 6px 0 var(--accent-yellow-shadow);color:#2a2500;border-radius:8px;justify-content:flex-start;padding:0 18px;animation:.42s score-pop;position:relative}.candy-burst{z-index:8;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.tutorial-candy-celebration{z-index:18;height:1px;top:52%}.scale-candy-celebration{z-index:12;height:220px;inset:84px 0 auto}.question-candy-celebration{height:180px;inset:-22px 0 auto}.score-candy-celebration{z-index:2;height:130px;inset:-78px -18px auto}.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:0s;--candy-color:var(--accent-yellow);--candy-scale:1;border:2px solid var(--line);background:var(--candy-color);opacity:0;transform-origin:50%;will-change:transform,opacity;width:18px;height:12px;animation:candy-throw 1.05s cubic-bezier(.2,.9,.28,1) var(--candy-delay) both;border-radius:6px;position:absolute;top:50%;left:50%;box-shadow:0 3px #2b1b1238}.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{z-index:120;pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.candy-side-piece{top:var(--candy-start-y);left:var(--candy-start-x);animation-name:candy-side-sweep;animation-duration:1.9s;position:fixed}.candy-burst.is-grand .candy-side-piece,.candy-burst.is-finale .candy-side-piece{animation-duration:2.8s}.candy-rain{z-index:118;pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.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:"";border:2px solid var(--line);background:var(--candy-color);width:9px;height:9px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.candy-burst-piece:before{left:-9px}.candy-burst-piece:after{right:-9px}.candy-burst-piece.is-dot{border-radius:999px;width:16px;height:16px}.candy-burst-piece.is-bar{background:linear-gradient(135deg,#ffffff38,transparent 42%),var(--chocolate);width:26px;height:16px;box-shadow:inset 0 0 0 4px var(--chocolate-ridge),inset 0 -4px #0000002e,0 3px #2b1b1238;border-radius:5px}.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{z-index:12000;pointer-events:auto;isolation:isolate;place-items:center;display:grid;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.module-launch-transition:before{content:"";z-index:0;-webkit-backdrop-filter:blur(2px)saturate(1.08);backdrop-filter:blur(2px)saturate(1.08);background:#fffcf0c7;transition:opacity .26s;position:absolute;top:0;right:0;bottom:0;left:0}:root[data-theme=dark] .module-launch-transition:before{background:#070910bd}.sybbie-launch-handoff{z-index:12020;opacity:1;pointer-events:none;will-change:transform,opacity;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px;width:min(560px,100vw - 34px);transition:opacity .22s,transform .56s cubic-bezier(.16,1,.3,1);animation:.56s cubic-bezier(.16,1,.3,1) both sybbie-launch-widget-to-center;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}.sybbie-launch-handoff.is-exit{animation:.68s cubic-bezier(.5,0,.14,1) both sybbie-launch-fly-right}.sybbie-launch-handoff.is-wipe{opacity:0;animation:none;transform:translate(calc(104vw - 50%),-58%)scale(.42)rotate(12deg)}.sybbie-launch-handoff-avatar{width:86px;height:86px;color:var(--accent-purple);background:#fff;border:3px solid #202124;border-radius:999px;justify-content:center;align-items:center;animation:2.8s ease-in-out infinite mascot-bob;display:inline-flex;box-shadow:0 6px #15191f52,0 0 0 5px #ffffff7a}.sybbie-launch-handoff-avatar svg{stroke-width:2.25px;width:72px;height:72px}.sybbie-launch-handoff>p{border:3px solid var(--line);background:var(--surface-raised);box-shadow:0 6px 0 var(--shadow);color:var(--ink);border-radius:8px;margin:0;padding:16px 18px;font-size:clamp(1.12rem,2.8vw,1.85rem);font-weight:1000;line-height:1.08;position:relative}.sybbie-launch-handoff>p:before{content:"";border-bottom:3px solid var(--line);border-left:3px solid var(--line);background:var(--surface-raised);width:22px;height:22px;position:absolute;top:50%;left:-15px;transform:translateY(-50%)rotate(45deg)}.sybbie-launch-handoff .sybbie-teacher-board{min-height:0;max-height:none}.module-launch-wipe{z-index:3;background:linear-gradient(135deg,#fff3,transparent 40%),var(--accent-yellow);opacity:0;will-change:transform,opacity;transition:opacity .1s,transform .44s cubic-bezier(.7,0,.2,1);position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;transform:translate(-118%)skew(-8deg);box-shadow:inset 0 0 0 8px #00000014}.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{z-index:40;position:fixed;bottom:24px;right:24px}.sybbie-launcher{width:86px;height:86px;color:var(--accent-purple);filter:drop-shadow(0 5px #0000002e);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;font-weight:1000;animation:2.8s ease-in-out infinite mascot-bob;display:inline-flex}.sybbie-launcher svg{stroke-width:2.25px;width:72px;height:72px}.sybbie-launcher span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sybbie-handoff-avatar{z-index:60;width:86px;height:86px;color:var(--accent-purple);filter:drop-shadow(0 5px #0000002e);pointer-events:none;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;animation:.78s cubic-bezier(.16,1,.3,1) forwards sybbie-handoff-to-teacher;display:inline-flex;position:fixed;top:calc(100vh - 110px);left:calc(100vw - 110px)}.sybbie-handoff-avatar svg{stroke-width:2.25px;width:72px;height:72px}.sybbie-launcher,.sybbie-handoff-avatar,.sybbie-teacher-avatar{color:var(--accent-purple);filter:none;background:#fff;border:3px solid #202124;box-shadow:0 6px #15191f52,0 0 0 5px #ffffff7a}.sybbie-panel{border:3px solid var(--line);background:linear-gradient(180deg,#1cb0f62e,transparent 140px),var(--surface);width:min(390px,100vw - 32px);max-height:min(680px,100vh - 48px);box-shadow:0 7px 0 var(--shadow);border-radius:8px;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:12px;padding:14px;display:grid}.sybbie-header,.sybbie-title,.sybbie-header-actions,.sybbie-form{align-items:center;display:flex}.sybbie-header{justify-content:space-between;gap:12px}.sybbie-title{gap:10px;min-width:0}.sybbie-title div{min-width:0;display:grid}.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{border:2px solid var(--line);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.sybbie-avatar{background:var(--accent-yellow);width:42px;height:42px;box-shadow:0 4px 0 var(--accent-yellow-shadow);color:#2a2500;flex:none}.sybbie-header-actions{gap:8px}.sybbie-icon-button,.sybbie-send-button{background:var(--surface-raised);width:38px;height:38px;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{align-content:start;gap:10px;min-height:190px;padding:2px 3px 4px;display:grid;overflow-y:auto}.sybbie-message{border:2px solid var(--line);max-width:88%;box-shadow:0 4px 0 var(--shadow);border-radius:8px;padding:10px 12px;font-size:.94rem;font-weight:700;line-height:1.35}.sybbie-message.assistant{background:var(--surface-raised);justify-self:start}.sybbie-message.user{background:var(--accent-blue);color:#061b27;justify-self:end}.sybbie-processing-row{border:2px solid var(--line);background:var(--surface-raised);min-height:38px;box-shadow:0 4px 0 var(--shadow);border-radius:8px;justify-self:start;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.sybbie-processing-dots{align-items:center;gap:5px;display:inline-flex}.sybbie-processing-dots span{background:var(--accent-blue);border-radius:999px;width:7px;height:7px;animation:.78s ease-in-out infinite sybbie-thinking}.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{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.sybbie-prompts button{border:2px solid var(--line);background:var(--surface-raised);min-height:34px;box-shadow:0 3px 0 var(--shadow);color:var(--ink);border-radius:999px;flex:none;padding:0 10px;font-size:.82rem;font-weight:1000}.sybbie-form{gap:8px}.sybbie-form input{min-height:42px}.sybbie-send-button{background:var(--accent-green);box-shadow:0 4px 0 var(--accent-green-shadow);color:#08250e;flex:none}@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 scale-remediation-soft-exit{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:.24;filter:blur(2px);transform:translateY(16px)scale(.98)}}@keyframes scale-remediation-soft-enter{0%{opacity:0;filter:blur(2px);transform:translateY(18px)scale(.98)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes scale-remediation-handoff{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@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(42vw - 50%),calc(38vh - 50%))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(62vw - 50%),-54%)scale(.72)rotate(7deg)}to{opacity:0;transform:translate(calc(104vw - 50%),-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{opacity:.72;transform:translate(-10px)scale(1)}50%{opacity:.92;transform:translate(22px,4px)scale(1.04)}}@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:translateY(26px)scale(.84)}22%,74%{opacity:.86}to{opacity:0;transform:translate(16px,-72px)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()}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:translate(0)}48%{transform:translate(calc(50vw + 110px),-12px)}to{transform:translate(calc(100vw + 240px),10px)}}@keyframes asl-fish-swim-left{0%{transform:translate(0)scaleX(-1)}50%{transform:translate(calc(-50vw - 100px),14px)scaleX(-1)}to{transform:translate(calc(-100vw - 220px),-8px)scaleX(-1)}}@keyframes asl-card-fish-swim-right{0%{transform:translate(0)}52%{transform:translate(280px,-10px)}to{transform:translate(620px,8px)}}@keyframes asl-card-fish-swim-left{0%{transform:translate(0)scaleX(-1)}48%{transform:translate(-270px,11px)scaleX(-1)}to{transform:translate(-620px,-6px)scaleX(-1)}}@keyframes asl-pebble-shimmer{0%,to{opacity:.72;transform:translate(0)}50%{opacity:.9;transform:translate(-10px)}}@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-camera-guide-pulse{0%,to{border-color:#ecfeffdb;box-shadow:0 0 0 999px #0732461a,inset 0 0 0 1px #07324661}50%{border-color:#facc15;box-shadow:0 0 0 999px #07324624,0 0 22px #facc15b8,inset 0 0 0 1px #07324670}}@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}50%{translate:0 -10px}}@keyframes chocolate-world-fraction-float{0%,to{translate: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();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();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();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:translate(-10px,4px)rotate(-1deg)scale(1)}50%{transform:translate(14px,-10px)rotate(1.2deg)scale(1.015)}to{transform:translate(24px,8px)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{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.review-stat,.review-queue-panel,.review-video-panel,.review-decision-panel,.review-import-panel{border:3px solid var(--line);background:var(--surface-raised);box-shadow:0 6px 0 var(--shadow);border-radius:8px}.review-stat{gap:4px;min-height:78px;padding:12px;display:grid}.review-stat span,.review-meta-item span,.review-filter-list>span,.review-search span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:1000}.review-stat strong{font-size:1.65rem;line-height:1}.asl-review-layout{grid-template-columns:minmax(240px,300px) minmax(0,1fr) minmax(240px,300px);align-items:start;gap:18px;display:grid}.review-queue-panel,.review-import-panel,.review-video-panel,.review-decision-panel{gap:14px;padding:16px;display:grid}.review-queue-panel,.review-import-panel{position:sticky;top:18px}.review-panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.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{align-items:center;gap:6px;display:inline-flex}.review-filter-list{flex-wrap:wrap;gap:8px;display:flex}.review-filter-list>span{width:100%}.review-filter-button,.issue-tag{border:2px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);box-shadow:0 3px 0 var(--shadow);border-radius:999px;padding:0 10px;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{gap:8px;max-height:58vh;padding-right:2px;display:grid;overflow:auto}.review-clip-row{border:2px solid var(--line);background:var(--surface);min-height:58px;box-shadow:0 3px 0 var(--shadow);color:var(--ink);text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;display:grid}.review-clip-row.active{background:linear-gradient(90deg,#1cb0f62e,transparent 80%),var(--surface)}.review-clip-row span:not(.review-status-dot){min-width:0;display:grid}.review-clip-row strong,.review-clip-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-clip-row small,.review-clip-row em{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-style:normal;font-weight:900}.review-status-dot{border:2px solid var(--line);background:var(--accent-yellow);border-radius:999px;width:14px;height:14px}.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{gap:16px;min-width:0;display:grid}.review-status-pill{border:2px solid var(--line);min-height:34px;box-shadow:0 3px 0 var(--shadow);text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:.82rem;font-weight:1000;display:inline-flex}.review-video{border:3px solid var(--line);background:#05070d;border-radius:8px;width:100%;max-height:520px;box-shadow:inset 0 -6px #0000003d}.review-video-empty{border:3px dashed var(--line);min-height:320px;color:var(--muted);text-align:center;border-radius:8px;place-items:center;font-weight:900;display:grid}.review-meta-grid,.review-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.review-meta-item{border:2px solid var(--line);background:var(--surface);min-width:0;box-shadow:0 3px 0 var(--shadow);border-radius:8px;gap:4px;padding:10px;display:grid}.review-meta-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.issue-tag-list,.review-actions{flex-wrap:wrap;gap:10px;display:flex}.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);color:#fff;box-shadow:0 5px #c62f35}.review-import-panel textarea{resize:vertical;border:2px solid var(--line);background:var(--surface);min-height:220px;color:var(--ink);font:inherit;border-radius:8px;padding:10px;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{flex-direction:column;align-items:stretch}.topbar{gap:8px;min-height:0;padding:6px 8px}.portal-user{flex-direction:column;align-items:stretch;margin-left:0}.topbar-review-button,.review-actions .icon-button.labelled{width:100%}.live-session-card-header,.live-account-cluster,.live-event-row{flex-direction:column;align-items:stretch}.live-module-chip,.live-event-row time{align-self:flex-start}.topbar h1{font-size:1.45rem}.auth-shell{width:min(100vw - 20px,1100px)}.auth-hero{min-height:0;padding:18px}.auth-hero .brand-cluster{flex-direction:row;align-items:center}.auth-hero h1,.auth-loading h1{font-size:2.6rem}.auth-hero-copy{font-size:1rem}.varsity-proof-grid{gap:8px}.varsity-proof-grid span{padding:8px 6px}.varsity-proof-grid strong{font-size:1.05rem}.varsity-proof-grid small{font-size:.56rem}.auth-mascot{width:min(220px,72vw)}.auth-mascot:after{font-size:1.45rem;bottom:26px;left:20px;right:20px}.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,.live-analytics-summary,.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}.live-session-grid,.live-session-panels,.live-session-meta,.live-session-foot,.live-score-grid,.fractionfall-choices,.tutorial-rename-choices{grid-template-columns:1fr}.chocolate-scale-workspace{grid-template-columns:74px minmax(0,1fr);gap:8px}.fraction-tile-builder-board{grid-template-columns:1fr}.scale-remediation-handoff{width:calc(100% - 20px);inset:64px 10px auto}.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{grid-template-columns:66px minmax(0,1fr);gap:8px;width:auto;top:8px;left:10px;right:10px;transform:none}.sybbie-teacher.is-choice-handoff{grid-template-columns:66px;width:66px;left:10px}.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{flex-direction:column;align-items:flex-start}.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{width:18px;height:18px;left:-12px}.sybbie-launcher,.sybbie-panel,.sybbie-handoff-avatar{bottom:10px;right:10px}.sybbie-panel{width:calc(100vw - 20px);max-height:min(620px,100vh - 20px)}.sybbie-message{max-width:94%}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
