@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700&display=swap";@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight: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-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-700:oklch(49.6% .265 301.924);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--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);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--leading-relaxed:1.625;--radius-xl:1.5rem;--radius-2xl:2rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#7b2fd6;--color-secondary:#ff6b9d;--font-display:"Nunito",system-ui,sans-serif;--font-body:"Nunito",system-ui,sans-serif;--radius-full:9999px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box}html{font-family:var(--font-body);scroll-behavior:smooth}body{color:#2d1b4e;background:#f0f4ff;min-height:100vh;margin:0;font-size:18px;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:#2d1b4e;font-weight:600}button{font-family:var(--font-body);cursor:pointer;font-weight:600;transition:all .2s}button:active{transform:scale(.97)}}@layer components{.btn{font-size:1.25rem;font-weight:600;font-family:var(--font-body);border-radius:var(--radius-full);color:#fff;background:linear-gradient(#9d5ce5,#7b2fd6);border:none;justify-content:center;align-items:center;gap:.5rem;min-width:150px;min-height:56px;padding:1rem 2rem;transition:all .15s;display:inline-flex;box-shadow:0 6px #4a1580,0 8px 20px #7b2fd64d}.btn:hover{filter:brightness(1.08);transform:translateY(-3px);box-shadow:0 9px #4a1580,0 14px 28px #7b2fd659}.btn:active{transform:translateY(3px);box-shadow:0 3px #4a1580,0 5px 12px #7b2fd64d}.btn-primary{color:#fff;background:linear-gradient(#9d5ce5,#7b2fd6);box-shadow:0 6px #4a1580,0 8px 20px #7b2fd64d}.btn-primary:hover{box-shadow:0 9px #4a1580,0 14px 28px #7b2fd659}.btn-primary:active{box-shadow:0 3px #4a1580,0 5px 12px #7b2fd64d}.btn-secondary{color:#fff;background:linear-gradient(#ff8fb8,#ff6b9d);box-shadow:0 6px #e03070,0 8px 20px #ff6b9d4d}.btn-secondary:hover{box-shadow:0 9px #e03070,0 14px 28px #ff6b9d59}.btn-secondary:active{box-shadow:0 3px #e03070,0 5px 12px #ff6b9d4d}.btn-accent{color:#2d1b4e;background:linear-gradient(#ffd740,#ffb800);box-shadow:0 6px #e6a600,0 8px 20px #ffb8004d}.btn-accent:hover{box-shadow:0 9px #e6a600,0 14px 28px #ffb80066}.btn-accent:active{box-shadow:0 3px #e6a600,0 5px 12px #ffb8004d}.btn-danger{color:#fff;background:linear-gradient(#ff7a7a,#ff5757);box-shadow:0 6px #d93636,0 8px 20px #ff57574d}.btn-danger:hover{box-shadow:0 9px #d93636,0 14px 28px #ff575759}.btn-danger:active{box-shadow:0 3px #d93636,0 5px 12px #ff57574d}.card{border-radius:var(--radius-2xl);background:#fff;border:3px solid #e0d7ff;padding:1.5rem;position:relative;box-shadow:0 4px #e0d7ff,0 8px 24px #7b2fd61f}.card-interactive{cursor:pointer;transition:all .2s}.card-interactive:hover{border-color:#7b2fd6;transform:translateY(-5px);box-shadow:0 6px #c4b5fd,0 16px 32px #7b2fd62e}.speech-bubble{border-radius:var(--radius-2xl);background:#fff;border:3px solid #e0d7ff;padding:1.5rem;position:relative;box-shadow:0 4px #e0d7ff,0 6px 20px #7b2fd61a}.speech-bubble:after{content:"";filter:drop-shadow(0 4px #e0d7ff);border:20px solid #0000;border-top-color:#fff;border-bottom:0;width:0;height:0;position:absolute;bottom:-20px;left:30px}.progress-bar{border-radius:var(--radius-full);background:linear-gradient(#f0f4ff,#e0d7ff);border:3px solid #c4b5fd;height:28px;position:relative;overflow:hidden;box-shadow:inset 0 3px 6px #7b2fd61a}.progress-fill{border-radius:var(--radius-full);background:linear-gradient(#5eefc0,#00c48c 30%,#00b080 70%,#009970);height:100%;transition:width .5s;position:relative;box-shadow:inset 0 3px #fff6,inset 0 -2px #0000001a}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff9,#0000);width:30%;height:100%;animation:2.5s ease-in-out infinite shine;position:absolute;top:0;left:-50%}@keyframes shine{0%{left:-50%}to{left:150%}}.star{color:#ffb800;filter:drop-shadow(0 2px 4px #ffb80080);text-shadow:0 0 10px #ffb80080}.star-empty{color:#c4b5fd;filter:none;text-shadow:none}.chapter-card{border-radius:var(--radius-2xl);background:linear-gradient(145deg,#fff,#f8f5ff,#f0ebff);border:4px solid #e0d7ff;padding:2rem;transition:all .2s;position:relative;box-shadow:0 6px #c4b5fd,0 10px 25px #7b2fd61f}.chapter-card:hover{border-color:#7b2fd6;transform:translateY(-4px);box-shadow:0 10px #9d5ce5,0 16px 30px #7b2fd62e}.chapter-card.locked{opacity:.6;filter:grayscale(.5);background:linear-gradient(145deg,#f5f5f5,#e8e8e8);border-color:#bdbdbd;box-shadow:0 4px #9e9e9e}.chapter-card.completed{background:linear-gradient(145deg,#fff,#e6fff5,#d4f7e8);border-color:#00c48c;box-shadow:0 6px #00b080,0 10px 25px #00c48c33,0 0 20px #00c48c26}.game-area{border-radius:var(--radius-2xl);background:linear-gradient(145deg,#fff,#f8f5ff);border:4px solid #e0d7ff;min-height:400px;padding:2rem;box-shadow:0 6px #e0d7ff,0 10px 25px #7b2fd61a}.droppable{border-radius:var(--radius-xl);background:#f0f4ff99;border:4px dashed #c4b5fd;min-height:150px;padding:1rem;transition:all .2s}.droppable.active{background:#f3e8ffb3;border-style:solid;border-color:#7b2fd6;box-shadow:0 0 20px #7b2fd640}.droppable.correct{background:#e6fff5cc;border-color:#00c48c;box-shadow:inset 0 0 20px #00c48c33}.droppable.incorrect{background:#ffebeb99;border-color:#ff5757;animation:.4s shake}.draggable{border-radius:var(--radius-xl);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-user-drag:none;background:linear-gradient(#fff,#f8f5ff);border:3px solid #e0d7ff;padding:1rem 1.5rem;transition:all .2s;box-shadow:0 4px #c4b5fd,0 6px 12px #7b2fd61a}.draggable:hover{border-color:#7b2fd6;transform:translateY(-3px)scale(1.02);box-shadow:0 6px #9d5ce5,0 10px 20px #7b2fd626}.draggable.dragging{opacity:.95;cursor:grabbing;border-color:#9d5ce5;transform:scale(1.05)rotate(2deg);box-shadow:0 12px 30px #7b2fd640}.quiz-option{border-radius:var(--radius-xl);cursor:pointer;text-align:left;color:#2d1b4e;background:linear-gradient(#fff,#f8f5ff,#f0ebff);border:4px solid #e0d7ff;width:100%;padding:1rem 1.5rem;transition:all .2s;box-shadow:0 4px #c4b5fd,0 6px 15px #7b2fd61a}.quiz-option:hover{background:linear-gradient(#fff,#f3e8ff,#e9ddff);border-color:#9d5ce5;transform:translateY(-2px);box-shadow:0 6px #9d5ce5,0 10px 20px #7b2fd626}.quiz-option.selected{background:linear-gradient(#f3e8ff,#e9ddff,#d8c7ff);border-color:#7b2fd6;box-shadow:0 4px #4a1580,0 6px 15px #7b2fd64d}.quiz-option.correct{background:linear-gradient(#e6fff5,#c8f7e5,#a8efd4);border-color:#00c48c;animation:.5s correctPulse;box-shadow:0 4px #00b080}.quiz-option.incorrect{background:linear-gradient(#fff0f0,#ffd6d6,#ffbaba);border-color:#ff5757;animation:.4s shake;box-shadow:0 4px #d93636}@keyframes correctPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.badge{border-radius:var(--radius-full);background:linear-gradient(145deg,#ffd740,#ffb800 30%,orange 70%,#ff9100);border:4px solid #ffb800;justify-content:center;align-items:center;width:80px;height:80px;display:inline-flex;position:relative;box-shadow:0 4px #e68a00,0 6px 15px #ffb80066,inset 0 3px #ffffff80}.badge:before{content:"";filter:blur(2px);background:#fff9;border-radius:50%;width:20px;height:20px;position:absolute;top:8px;left:8px}.badge.locked{background:linear-gradient(145deg,#e8e8e8,#bdbdbd);border-color:#bdbdbd;box-shadow:0 4px #9e9e9e,0 6px 10px #0000001a}.badge.locked:before{background:#ffffff4d}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.animate-bounce{animation:1s infinite bounce}.animate-wiggle{animation:.5s ease-in-out wiggle}.animate-pulse{animation:2s infinite pulse}.animate-float{animation:3s ease-in-out infinite float}.animate-sparkle{animation:1.5s infinite sparkle}.confetti-container{pointer-events:none;z-index:1000;width:100%;height:100%;position:fixed;top:0;left:0}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.-top-8{top:calc(var(--spacing)*-8)}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.-right-4{right:calc(var(--spacing)*-4)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.-bottom-4{bottom:calc(var(--spacing)*-4)}.z-10{z-index:10}.z-50{z-index:50}.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}}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-6{margin-block:calc(var(--spacing)*6)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-10{height:calc(var(--spacing)*10)}.h-64{height:calc(var(--spacing)*64)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing)*5)}.w-10{width:calc(var(--spacing)*10)}.w-64{width:calc(var(--spacing)*64)}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:var(--radius-full)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-8{border-style:var(--tw-border-style);border-width:8px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-400{border-color:var(--color-blue-400)}.border-gray-200{border-color:var(--color-gray-200)}.border-green-400{border-color:var(--color-green-400)}.border-orange-500{border-color:var(--color-orange-500)}.border-purple-400{border-color:var(--color-purple-400)}.border-purple-500{border-color:var(--color-purple-500)}.border-secondary{border-color:var(--color-secondary)}.border-yellow-400{border-color:var(--color-yellow-400)}.border-yellow-700{border-color:var(--color-yellow-700)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-orange-400{background-color:var(--color-orange-400)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-600{background-color:var(--color-red-600)}.bg-secondary{background-color:var(--color-secondary)}.bg-white{background-color:var(--color-white)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-yellow-50{--tw-gradient-from:var(--color-yellow-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-100{--tw-gradient-from:var(--color-yellow-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-50{--tw-gradient-to:var(--color-orange-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-100{--tw-gradient-to:var(--color-orange-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-6{padding-top:calc(var(--spacing)*6)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}.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))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-blue-200{color:var(--color-blue-200)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-orange-400{color:var(--color-orange-400)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-primary{color:var(--color-primary)}.text-purple-300{color:var(--color-purple-300)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-purple-700{color:var(--color-purple-700)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.text-yellow-300{color:var(--color-yellow-300)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);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,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-purple-700:hover{color:var(--color-purple-700)}.hover\:underline:hover{text-decoration-line:underline}}@media(min-width:40rem){.sm\:top-4{top:calc(var(--spacing)*4)}.sm\:right-4{right:calc(var(--spacing)*4)}.sm\:mt-2{margin-top:calc(var(--spacing)*2)}.sm\:mt-6{margin-top:calc(var(--spacing)*6)}.sm\:mt-8{margin-top:calc(var(--spacing)*8)}.sm\:mt-12{margin-top:calc(var(--spacing)*12)}.sm\:mb-2{margin-bottom:calc(var(--spacing)*2)}.sm\:mb-4{margin-bottom:calc(var(--spacing)*4)}.sm\:mb-6{margin-bottom:calc(var(--spacing)*6)}.sm\:mb-8{margin-bottom:calc(var(--spacing)*8)}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:h-12{height:calc(var(--spacing)*12)}.sm\:w-12{width:calc(var(--spacing)*12)}.sm\:w-auto{width:auto}.sm\:max-w-none{max-width:none}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:calc(var(--spacing)*3)}.sm\:gap-4{gap:calc(var(--spacing)*4)}.sm\:gap-6{gap:calc(var(--spacing)*6)}:where(.sm\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.sm\:p-4{padding:calc(var(--spacing)*4)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:p-8{padding:calc(var(--spacing)*8)}.sm\:p-16{padding:calc(var(--spacing)*16)}.sm\:py-8{padding-block:calc(var(--spacing)*8)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.sm\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}}@media(max-width:768px){body{font-size:16px}.btn{min-width:auto;min-height:52px;padding:.875rem 1.25rem;font-size:1rem}.btn-fullwidth{width:100%}.btn-small{min-height:44px;padding:.75rem 1rem;font-size:.875rem}.card{border-radius:1rem;padding:1rem}.game-area{min-height:250px;padding:1rem}.speech-bubble{padding:1rem}.speech-bubble:after{border-width:15px;bottom:-15px;left:20px}.quiz-option{min-height:56px;padding:1rem 1.25rem;font-size:1rem}.draggable{min-height:52px;padding:1rem 1.25rem;font-size:1rem}.droppable{border-width:3px;border-radius:1rem;min-height:80px;max-height:40vh;padding:.5rem;overflow-y:auto}.droppable .draggable{border-width:2px;border-radius:.75rem;min-height:auto;margin-bottom:.2rem;padding:.4rem .6rem;font-size:.8rem;box-shadow:0 1px #c4b5fd}.droppable .draggable .flex-shrink-0{display:none}.chapter-card{padding:1rem}h1{font-size:1.75rem;line-height:1.2}h2{font-size:1.25rem}h3{font-size:1.125rem}button,.btn,.quiz-option,input,select,textarea{touch-action:manipulation}.draggable{touch-action:none}.progress-bar{height:22px}.badge{width:60px;height:60px}.modal-content{margin:1rem;padding:1.5rem}}@media(max-width:375px){body{font-size:15px}.btn{min-height:48px;padding:.75rem 1rem;font-size:.9375rem}h1{font-size:1.5rem}h2{font-size:1.125rem}.quiz-option{min-height:52px;padding:.875rem 1rem}.card{padding:.875rem}.badge{width:50px;height:50px}}@supports (padding-top:env(safe-area-inset-top)){.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}}@media(hover:none)and (pointer:coarse){.btn:hover{transform:none;box-shadow:0 6px #4a1580,0 8px 15px #7b2fd633}.card-interactive:hover{border-color:#e0d7ff;transform:none;box-shadow:0 4px #e0d7ff,0 8px 24px #7b2fd61f}.quiz-option:hover{background:linear-gradient(#fff,#f8f5ff,#f0ebff);transform:none}.draggable:hover{border-color:#e0d7ff;transform:none}.btn:active{transform:scale(.97)}.quiz-option:active{background:linear-gradient(#f3e8ff,#e9ddff,#d8c7ff);border-color:#7b2fd6}.draggable:active{background:linear-gradient(#f3e8ff,#e9ddff);border-color:#7b2fd6}}@keyframes badge-bounce{0%,to{transform:translateY(0)}15%{transform:translateY(-20px)}30%{transform:translateY(0)}45%{transform:translateY(-12px)}60%{transform:translateY(0)}75%{transform:translateY(-6px)}90%,to{transform:translateY(0)}}.badge-bounce{animation:1.2s ease-out forwards badge-bounce}@keyframes virusFlicker{0%,to{background:#000}50%{background:#1a0000}}@keyframes virusBounce{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-20px)rotate(10deg)}}.character-svg,.valter-character{filter:drop-shadow(4px 6px #00000040);transition:transform .2s,filter .2s}.valter-character:hover{filter:drop-shadow(6px 8px #0000004d);transform:scale(1.1)rotate(5deg)}.simon-character{filter:drop-shadow(4px 6px #00000040);transition:transform .2s,filter .2s}.simon-character:hover{filter:drop-shadow(6px 8px #0000004d);transform:scale(1.1)rotate(-5deg)}.sara-character{filter:drop-shadow(4px 6px #00000040);transition:transform .2s,filter .2s}.sara-character:hover{filter:drop-shadow(6px 8px #0000004d);transform:scale(1.1)}.brenda-character{filter:drop-shadow(4px 6px #00000040);transition:transform .2s,filter .2s}.brenda-character:hover{filter:drop-shadow(6px 8px #0000004d);transform:scale(1.1)rotate(3deg)}.hugo-character{filter:drop-shadow(4px 6px #00000040);transition:transform .2s,filter .2s}.hugo-character:hover{filter:drop-shadow(6px 8px #0000004d);transform:scale(1.1)rotate(-3deg)}.read-aloud-btn{border-radius:var(--radius-full);color:#fff;text-shadow:1px 1px 2px #0003;background:linear-gradient(#ff8fb8,#ff6b9d,#ff4081);border:4px solid #e03070;font-weight:600;box-shadow:0 4px #c02060,0 6px 12px #ff6b9d4d}.read-aloud-btn:hover{background:linear-gradient(#ffafc8,#ff8fb8,#ff6b9d);transform:translateY(-2px);box-shadow:0 6px #c02060,0 10px 18px #ff6b9d66}.read-aloud-btn:disabled{opacity:.7;cursor:wait}.turtle-decoration{z-index:100;pointer-events:none;filter:drop-shadow(2px 3px #7b2fd633);font-size:3rem;animation:8s ease-in-out infinite turtleWalk;position:fixed;bottom:20px;right:20px}@keyframes turtleWalk{0%,to{right:20px;transform:translate(0)scaleX(1)}25%{transform:translate(-100px)scaleX(1)}50%{transform:translate(-100px)scaleX(-1)}75%{transform:translate(0)scaleX(-1)}}.turtle-static{font-size:2rem;animation:2s ease-in-out infinite turtleBob;display:inline-block}@keyframes turtleBob{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-5px)rotate(5deg)}}.leaf-decoration{pointer-events:none;opacity:.7;font-size:1.5rem;animation:10s linear infinite leafFall;position:absolute}@keyframes leafFall{0%{opacity:0;transform:translateY(-20px)rotate(0)}10%{opacity:.7}90%{opacity:.7}to{opacity:0;transform:translateY(100vh)rotate(360deg)}}.butterfly{pointer-events:none;z-index:50;font-size:1.5rem;animation:15s ease-in-out infinite butterflyFly;position:fixed}@keyframes butterflyFly{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(100px,-50px)rotate(10deg)}50%{transform:translate(50px,-100px)rotate(-5deg)}75%{transform:translate(-50px,-30px)rotate(5deg)}}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{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-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
