@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/fredoka-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/fredoka-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/nunito-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/nunito-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/nunito-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg-deep: #061525;--color-bg-mid: #0c2a4a;--color-bg-card: rgba(255, 255, 255, .08);--color-primary: #1e90ff;--color-primary-light: #5cb3ff;--color-accent: #f5c542;--color-accent-secondary: #3dd6f5;--color-text: #f8fafc;--color-text-muted: #b8d4ea;--color-success: #22c55e;--font-display: "Fredoka", system-ui, sans-serif;--font-body: "Nunito", system-ui, sans-serif;--radius: 16px;--radius-sm: 10px;--shadow: 0 8px 32px rgba(0, 0, 0, .3);--shadow-glow: 0 0 40px rgba(30, 144, 255, .35)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-bg-deep);color:var(--color-text);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 20% 0%,rgba(30,144,255,.28) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(61,214,245,.14) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(245,197,66,.08) 0%,transparent 60%),var(--color-bg-deep)}.header{position:sticky;top:0;z-index:100;padding:.9rem 1.5rem 1rem;overflow:hidden;isolation:isolate;border:none;border-bottom:none;outline:none;background-color:#0e7ab5;background-image:linear-gradient(115deg,#083a6b,#0b4f8a 38%,#0e7ab5 72%,#14a0c8);box-shadow:none}.header__glow{position:absolute;inset:-30% -10% -40%;background:radial-gradient(circle at 28% 45%,rgba(245,197,66,.22),transparent 42%),radial-gradient(circle at 78% 30%,rgba(125,230,255,.32),transparent 48%),radial-gradient(circle at 92% 60%,rgba(90,200,255,.18),transparent 40%);pointer-events:none}.header__bubbles{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.header__bubble{position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.42);background:radial-gradient(circle at 30% 30%,#ffffffa6,#7de6ff2e 45%,#ffffff0f 70%);contain:layout paint;transform:translateZ(0);opacity:.55}html.is-ready .header__bubble{animation-name:headerBubble;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.header__bubble--1{width:12px;height:12px;left:1.5%;top:38%;animation-duration:5.2s;animation-delay:0s}.header__bubble--2{width:18px;height:18px;left:7.5%;top:72%;animation-duration:6s;animation-delay:-1.2s;border-color:#f5c54280}.header__bubble--3{width:9px;height:9px;left:11%;top:28%;animation-duration:4.6s;animation-delay:-2.4s}.header__bubble--4{width:14px;height:14px;left:22%;top:34%;animation-duration:5.6s;animation-delay:-.8s;border-color:#f5c54266}.header__bubble--5{width:10px;height:10px;left:30%;top:70%;animation-duration:5s;animation-delay:-3.1s}.header__bubble--6{width:16px;height:16px;left:36%;top:42%;animation-duration:4.9s;animation-delay:-1.7s}.header__bubble--7{width:20px;height:20px;left:48%;top:45%;animation-duration:5.8s;animation-delay:-2.8s}.header__bubble--8{width:11px;height:11px;left:56%;top:68%;animation-duration:4.4s;animation-delay:-3.6s}.header__bubble--9{width:24px;height:24px;left:68%;top:38%;animation-duration:6.2s;animation-delay:-.4s;opacity:.85}.header__bubble--10{width:13px;height:13px;left:78%;top:64%;animation-duration:5.1s;animation-delay:-4.2s;border-color:#f5c54259}.header__bubble--11{width:17px;height:17px;left:90%;top:48%;animation-duration:5.4s;animation-delay:-2s}@keyframes headerBubble{0%{transform:translateY(10px) scale(.92);opacity:.35}35%{transform:translate(6px,-6px) scale(1.05);opacity:.85}70%{transform:translate(-5px,-12px) scale(1);opacity:.7}to{transform:translateY(10px) scale(.92);opacity:.35}}@media(prefers-reduced-motion:reduce){.header__bubble{animation:none;opacity:.55}}.header__brand{position:relative;z-index:2;display:flex;align-items:center;gap:1rem;text-decoration:none;color:inherit;max-width:1200px;margin:0 auto}.header__logo-wrap{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 50% 70%,rgba(245,197,66,.55),transparent 62%),radial-gradient(circle at 50% 40%,rgba(255,255,255,.18),transparent 55%);box-shadow:0 0 0 3px #f5c54259,0 8px 20px #041e3c59}html.is-ready .header__logo-wrap{animation:headerLogoFloat 3.6s ease-in-out infinite}.header__logo{width:72px;height:72px;object-fit:contain;object-position:center;filter:drop-shadow(0 4px 8px rgba(0,40,80,.35))}@keyframes headerLogoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.header__titles{display:flex;flex-direction:column;gap:.1rem}.header__title{font-family:var(--font-display);font-size:1.65rem;font-weight:700;letter-spacing:.01em;line-height:1.15;background:linear-gradient(100deg,#fff,#9eecff 28%,#ffe08a 58%,#7ad7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 8px rgba(0,40,80,.25))}.header__subtitle{font-size:.92rem;font-weight:700;color:#fff8dceb;text-shadow:0 1px 6px rgba(0,40,80,.25)}.main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.footer{padding:1.5rem;text-align:center;color:var(--color-text-muted);font-size:.85rem;border-top:1px solid rgba(255,255,255,.06)}.hero{margin-bottom:3rem}.hero__content{display:flex;align-items:center;gap:2rem;padding:2rem;background:var(--color-bg-card);border-radius:var(--radius);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow)}.hero__character{width:220px;height:240px;flex-shrink:0;object-fit:contain;filter:drop-shadow(0 10px 28px rgba(30,144,255,.45))}.hero__title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin-bottom:.75rem;line-height:1.2}.hero__description{color:var(--color-text-muted);font-size:1.1rem;max-width:520px}.section-title{font-family:var(--font-display);font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}.game-card{display:flex;flex-direction:column;background:var(--color-bg-card);border-radius:var(--radius);border:1px solid rgba(255,255,255,.1);overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s;content-visibility:auto;contain-intrinsic-size:auto 360px}.game-card--available:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow);border-color:#1e90ff8c}.game-card--locked{opacity:.65;cursor:default}.game-card__image-wrap{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--color-bg-mid)}.game-card__image{width:100%;height:100%;object-fit:cover}.game-card__badge{position:absolute;top:.75rem;right:.75rem;background:#0009;backdrop-filter:blur(4px);padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.game-card__body{padding:1.25rem;display:flex;flex-direction:column;gap:.35rem}.game-card__emoji{font-size:1.5rem}.game-card__title{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.game-card__description{font-size:.9rem;color:var(--color-text-muted);flex:1}.game-card__cta{margin-top:.5rem;font-weight:700;color:var(--color-primary-light);font-size:.9rem}.game-header{margin-bottom:2rem}.game-header__back{display:inline-block;color:var(--color-text-muted);text-decoration:none;font-size:.9rem;margin-bottom:.75rem;transition:color .2s}.game-header__back:hover{color:var(--color-primary-light)}.game-header__title{font-family:var(--font-display);font-size:2rem;font-weight:700}.game-header__subtitle{color:var(--color-text-muted);margin-top:.25rem}.game-stats{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--color-bg-card);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.08)}.stat{font-size:.95rem;color:var(--color-text-muted)}.stat strong{color:var(--color-text);font-size:1.1rem}.btn{font-family:var(--font-body);font-weight:700;font-size:.9rem;padding:.5rem 1.25rem;min-height:44px;border-radius:999px;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s}.btn:hover{transform:scale(1.03)}.btn--primary{background:linear-gradient(135deg,var(--color-primary),var(--color-accent-secondary));color:#fff;box-shadow:0 4px 16px #1e90ff73}.btn--secondary{background:#ffffff1a;color:var(--color-text);border:1px solid rgba(255,255,255,.15)}.win-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.5rem;margin-bottom:1.5rem;background:linear-gradient(135deg,#22c55e33,#1e90ff33);border:1px solid rgba(34,197,94,.4);border-radius:var(--radius-sm);font-weight:600;animation:popIn .4s ease}.win-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:1.5rem}.win-modal__backdrop{position:absolute;inset:0;background:#061525b8;backdrop-filter:blur(6px)}.win-modal__content{position:relative;z-index:1;width:min(100%,420px);padding:2rem 1.75rem;text-align:center;background:radial-gradient(ellipse at 50% 0%,rgba(30,144,255,.25),transparent 60%),var(--color-bg-mid);border:2px solid rgba(30,144,255,.45);border-radius:var(--radius);box-shadow:var(--shadow-glow),var(--shadow);animation:popIn .35s ease}.win-modal__emoji{font-size:3rem;line-height:1;margin-bottom:.75rem}.win-modal__title{font-family:var(--font-display);font-size:2rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,var(--color-primary-light),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.win-modal__message{color:var(--color-text-muted);font-size:1.05rem;margin-bottom:1.5rem;line-height:1.45}.win-modal__actions{display:flex;flex-direction:column;gap:.75rem}.win-modal__actions .btn{width:100%;padding:.75rem 1.25rem;font-size:1rem}.win-modal--ocean .win-modal__content{overflow:hidden}.win-modal--ocean .win-modal__bubbles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.win-modal--ocean .win-modal__bubble{position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.28);background:radial-gradient(circle at 30% 30%,#ffffff73,#5cb3ff1f 50%,#ffffff0a);animation:headerBubble 5.5s ease-in-out infinite}.win-modal--ocean .win-modal__bubble--1{width:14px;height:14px;left:10%;top:22%;animation-delay:0s}.win-modal--ocean .win-modal__bubble--2{width:22px;height:22px;right:12%;top:18%;animation-delay:-1.4s;border-color:#f5c54266}.win-modal--ocean .win-modal__bubble--3{width:10px;height:10px;left:18%;bottom:22%;animation-delay:-2.6s}.win-modal--ocean .win-modal__bubble--4{width:16px;height:16px;right:18%;bottom:18%;animation-delay:-.8s}.win-modal--ocean .win-modal__bubble--5{width:12px;height:12px;left:48%;top:10%;animation-delay:-3.2s}.win-modal--ocean .win-modal__bubble--6{width:18px;height:18px;right:42%;bottom:12%;animation-delay:-2s;border-color:#f5c5424d}.win-modal--ocean .win-modal__emoji,.win-modal--ocean .win-modal__title,.win-modal--ocean .win-modal__message,.win-modal--ocean .win-modal__actions{position:relative;z-index:1}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.level-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;max-width:780px;margin:0 auto}.level-card{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;padding:1.35rem 1.25rem;text-align:left;border-radius:var(--radius);border:2px solid rgba(255,255,255,.12);background:var(--color-bg-card);color:inherit;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.level-card:hover{transform:translateY(-4px);border-color:#1e90ff8c;box-shadow:var(--shadow-glow)}.level-card__badge{font-family:var(--font-display);font-size:1.35rem;font-weight:700}.level-card--facil .level-card__badge{color:#86efac}.level-card--intermediario .level-card__badge{color:#fde68a}.level-card--dificil .level-card__badge{color:#fca5a5}.level-card__pairs{font-size:1.1rem}.level-card__desc{color:var(--color-text-muted);font-size:.9rem;line-height:1.4}.level-card__cta{margin-top:.5rem;font-weight:700;color:var(--color-primary-light);font-size:.9rem}.memory-grid{display:grid;gap:.75rem;max-width:720px;margin:0 auto}.memory-grid--legenda{max-width:780px;gap:1rem}.memory-grid--legenda .memory-card{min-height:140px}.memory-card{aspect-ratio:3 / 4;background:none;border:none;cursor:pointer;perspective:600px;padding:0}.memory-card:disabled{cursor:default}.memory-card__inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .4s ease;border-radius:var(--radius-sm)}.memory-card--flipped .memory-card__inner{transform:rotateY(180deg)}.memory-card__front,.memory-card__back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-sm);overflow:hidden;border:2px solid rgba(255,255,255,.15);box-shadow:var(--shadow);background-color:var(--color-bg-mid);background-size:cover;background-position:center top;background-repeat:no-repeat}.memory-card__back{transform:rotateY(180deg)}.memory-grid--legenda .memory-card__back{background-size:cover;background-position:center;background-color:transparent}.memory-grid--legenda .memory-card__front,.memory-grid--legenda .memory-card__back{border-color:#ffffff14}.puzzle-picker-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;text-align:center;margin:.5rem auto 1.25rem;max-width:720px;color:var(--color-text)}.puzzle-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;max-width:720px;margin:0 auto}.puzzle-picker__card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.75rem;background:var(--color-bg-card);border:2px solid rgba(255,255,255,.1);border-radius:var(--radius);cursor:pointer;color:inherit;font-family:var(--font-display);transition:transform .2s,border-color .2s,box-shadow .2s}.puzzle-picker__card:hover{transform:translateY(-4px);border-color:#1e90ff8c;box-shadow:var(--shadow-glow)}.puzzle-picker__image{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);background:var(--color-bg-mid)}.puzzle-picker__name{font-size:1rem;font-weight:600}.puzzle-board{display:grid;gap:0;width:min(88vw,420px);aspect-ratio:1;margin:0 auto;padding:6px;background:#03101ca6;border-radius:var(--radius);border:2px solid rgba(30,144,255,.35);box-shadow:var(--shadow)}.classic-puzzle{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:2rem}.puzzle-workspace,.puzzle-pieces-area{min-width:0}.puzzle-area-title{margin-bottom:.8rem;text-align:center;color:var(--color-text-muted);font-family:var(--font-display);font-size:1rem;font-weight:600}.puzzle-slot{display:grid;place-items:center;min-width:0;aspect-ratio:1;padding:0;color:#b8d4ea73;font-family:var(--font-display);font-size:.85rem;background:transparent;border:0;cursor:pointer;overflow:visible;transition:filter .15s}.puzzle-slot:not(.puzzle-slot--filled):hover{filter:brightness(1.4)}.puzzle-slot--filled{cursor:default}.puzzle-pieces{display:grid;grid-template-columns:repeat(3,minmax(72px,112px));justify-content:center;gap:.85rem;min-height:0;padding:1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius)}.puzzle-piece{width:100%;aspect-ratio:1;padding:0;background:transparent;border:0;cursor:pointer;filter:drop-shadow(0 5px 5px rgba(0,0,0,.35));transition:transform .15s,filter .15s}.puzzle-piece:hover{transform:translateY(-3px) rotate(1deg);filter:drop-shadow(0 0 8px rgba(30,144,255,.75))}.puzzle-piece--selected{filter:drop-shadow(0 0 9px rgba(245,197,66,.9));transform:translateY(-3px) scale(1.04)}.puzzle-piece-svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.puzzle-piece-svg__edge{fill:none;stroke:#03101cd1;stroke-width:2.2;vector-effect:non-scaling-stroke}.puzzle-piece-svg__placeholder{fill:#1e90ff0b;stroke:#5cb3ff38;stroke-width:1.5;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.puzzle-hint{text-align:center;color:var(--color-text-muted);font-size:.9rem;margin-top:1.5rem}.find-prompt{text-align:center;font-size:1.35rem;margin-bottom:1.25rem;font-family:var(--font-display)}.find-feedback--ok{color:var(--color-success)}.find-feedback--err{color:#f87171}.find-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;max-width:480px;margin:0 auto}.find-cell{aspect-ratio:1;border:2px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);overflow:hidden;padding:0;cursor:pointer;background:var(--color-bg-mid);transition:transform .15s,border-color .15s}.find-cell:hover:not(:disabled){transform:scale(1.03);border-color:var(--color-primary-light)}.find-cell img{width:100%;height:100%;object-fit:cover;object-position:center top}.emotion-game,.quiz-game{max-width:560px;margin:0 auto}.shadow-game{max-width:800px;margin:0 auto}.emotion-image-wrap{border-radius:var(--radius);overflow:hidden;border:2px solid rgba(255,255,255,.12);margin-bottom:1.25rem;background:var(--color-bg-mid)}.emotion-image{display:block;width:100%;max-height:280px;object-fit:contain;background:#fff}.feeling-game .find-prompt{margin-bottom:.25rem;margin-top:0}.feeling-image-wrap{background:transparent;border:none;overflow:hidden;margin-bottom:.4rem;display:flex;justify-content:center;align-items:center}.feeling-image{background:transparent;max-height:240px;width:auto;transform:scale(1.18);transform-origin:center}.feeling-game .choice-grid{margin-top:0}.feeling-game .inline-feedback{margin-top:.5rem}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.choice-btn{font-family:var(--font-display);font-size:1.05rem;font-weight:600;padding:.9rem 1rem;min-height:48px;border-radius:var(--radius-sm);border:2px solid rgba(255,255,255,.12);background:var(--color-bg-card);color:var(--color-text);cursor:pointer;transition:transform .15s,border-color .15s,background .15s}.choice-btn:hover:not(:disabled){transform:translateY(-2px);border-color:var(--color-primary-light)}.choice-btn--correct{border-color:var(--color-success);background:#22c55e33}.choice-grid--images{grid-template-columns:repeat(5,1fr);gap:.6rem}.choice-image-btn{display:flex;flex-direction:column;gap:.35rem;align-items:center;padding:.5rem;font-size:.95rem;border-radius:var(--radius-sm);border:2px solid rgba(255,255,255,.12);background:var(--color-bg-card);color:inherit;cursor:pointer;font-family:var(--font-display);font-weight:600}.choice-image-btn img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center top;border-radius:8px}.choice-image-btn:hover:not(:disabled){border-color:var(--color-primary-light)}.shadow-preview{width:min(100%,210px);aspect-ratio:3 / 4;margin:0 auto 1.5rem;border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow)}.shadow-preview img{width:100%;height:100%;object-fit:contain;object-position:center;transition:opacity .35s ease}.quiz-question{font-family:var(--font-display);font-size:1.35rem;text-align:center;margin-bottom:1.25rem;line-height:1.35}.inline-feedback{text-align:center;margin-top:1rem;font-weight:700}.inline-feedback.ok{color:var(--color-success)}.inline-feedback.err{color:#fca5a5}.color-game{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:1.5rem}.color-palette{display:grid;grid-template-columns:repeat(4,40px);gap:.6rem;position:sticky;top:1rem;padding:.9rem;background:#ffffff0f;border-radius:var(--radius)}.color-swatch{width:40px;height:40px;border-radius:50%;border:3px solid transparent;cursor:pointer;box-shadow:var(--shadow)}.color-swatch--active{border-color:#fff;transform:scale(1.12)}.coloring-board{position:relative;width:min(100%,560px);min-width:0}.zoom-controls{position:absolute;top:.75rem;right:.75rem;z-index:4;display:flex;flex-direction:column;gap:.5rem}.zoom-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border-radius:50%;border:3px solid rgba(30,144,255,.5);background:#fffffff2;color:#1d4ed8;cursor:pointer;box-shadow:var(--shadow);transition:transform .15s ease}.zoom-btn svg{display:block}.zoom-btn:hover:not(:disabled){transform:scale(1.1)}.zoom-btn:disabled{opacity:.4;cursor:default}.coloring-viewport{position:relative;overflow:auto;border-radius:var(--radius);border:3px solid rgba(30,144,255,.4);box-shadow:var(--shadow);background:#fff;cursor:none;-webkit-overflow-scrolling:touch}.coloring-canvas{display:block;width:100%;height:auto;background:#fff;cursor:none;touch-action:manipulation}.color-game--touch .coloring-viewport,.color-game--touch .coloring-canvas{cursor:crosshair}.coloring-brush{position:absolute;width:64px;height:64px;pointer-events:none;z-index:3;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.puzzle-picker__image--light{background:#fff;object-fit:contain}.errors-board{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:980px;margin:0 auto;transition:filter .2s}.errors-board--miss{filter:saturate(.7)}.errors-panel{display:flex;flex-direction:column;gap:.5rem}.errors-panel__label{font-family:var(--font-display);font-weight:700;text-align:center;font-size:1rem}.errors-frame{position:relative;border-radius:var(--radius);overflow:hidden;border:3px solid rgba(30,144,255,.35);background:#fff;box-shadow:var(--shadow)}.errors-frame img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}.errors-frame--clickable{cursor:pointer}.errors-frame--clickable:focus-visible{outline:3px solid var(--color-primary-light);outline-offset:2px}.errors-mark{position:absolute;transform:translate(-50%,-50%);aspect-ratio:1;border-radius:50%;border:3px solid #ef4444;box-shadow:0 0 0 2px #ffffffd9,0 0 10px #ef4444a6;pointer-events:none;animation:errorsPop .28s ease}@keyframes errorsPop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.level-card:disabled{opacity:.55;cursor:default;transform:none}.dots-stage{position:relative;width:min(100%,420px);margin:0 auto}.dots-svg{width:100%;height:auto;background:#ffffff0d;border-radius:var(--radius);border:2px solid rgba(255,255,255,.1);touch-action:manipulation}.dots-reveal{position:absolute;inset:12%;width:76%;height:76%;object-fit:contain;opacity:.92;pointer-events:none;animation:popIn .5s ease}.simon-board{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;width:min(94vw,720px);margin:0 auto}.simon-pad{border:none;border-radius:16px;padding:0;cursor:pointer;overflow:hidden;background:transparent;opacity:.72;transition:opacity .12s,filter .12s,transform .12s;box-shadow:var(--shadow)}.simon-pad img{display:block;width:100%;height:auto;aspect-ratio:3 / 4;object-fit:cover}.simon-pad:disabled{cursor:default}.simon-pad--lit{opacity:1;filter:brightness(1.2) saturate(1.15);transform:scale(1.06);box-shadow:0 0 18px #f5c5428c}.race-arena{position:relative;margin:0 auto;max-width:100%;border-radius:var(--radius);overflow:hidden;background:#061525;border:2px solid rgba(255,255,255,.12);touch-action:none}.race-legend{text-align:center;color:var(--color-text-muted);font-size:.95rem;margin:0 auto .85rem;max-width:28rem;line-height:1.4}.race-legend strong{color:var(--color-text);font-size:1.05rem}.race-legend--mobile{display:none}.race-canvas{display:block;width:100%;height:100%}.race-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.25rem;background:#0615259e;font-family:var(--font-display);z-index:3;text-align:center}.race-overlay__text{margin:0;font-size:1.25rem;line-height:1.35;max-width:16ch}.race-controls{display:flex;justify-content:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}.race-controls__btn{min-width:8.5rem;min-height:52px;font-size:1.05rem}@media(max-width:900px){.main{padding:1.5rem 1.15rem}.classic-puzzle{grid-template-columns:1fr;gap:1.25rem}.errors-board{grid-template-columns:1fr;max-width:560px}.errors-panel__label{position:sticky;top:.5rem;z-index:2;padding:.35rem .75rem;margin:0 auto;width:fit-content;border-radius:999px;background:#061525e0;backdrop-filter:blur(8px)}.choice-grid--images{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.classic-puzzle{grid-template-columns:1fr}.puzzle-pieces{min-height:0;grid-template-columns:repeat(3,minmax(64px,100px))}}@media(max-width:720px){.header{padding:.7rem 1rem .95rem}.header__logo-wrap{width:68px;height:68px}.header__logo{width:56px;height:56px}.header__title{font-size:1.3rem}.header__subtitle{font-size:.8rem}.header__bubble--6{left:auto;right:42%;top:55%}.header__bubble--7{left:auto;right:28%;top:30%}.header__bubble--8{left:auto;right:18%;top:62%}.header__bubble--9{left:auto;right:8%;top:22%}.header__bubble--10{left:auto;right:22%;top:48%}.header__bubble--11{left:auto;right:4%;top:58%}.main{padding:1.25rem 1rem}.games-grid{grid-template-columns:1fr;gap:1.15rem}.level-picker{grid-template-columns:1fr;max-width:420px}.game-stats{gap:.75rem 1rem;padding:.85rem 1rem}.game-stats .btn{flex:1 1 auto}.color-game{flex-direction:column;align-items:stretch;gap:1rem}.color-palette{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:.65rem;max-width:100%;width:100%;position:sticky;top:.65rem;z-index:5;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding:.75rem;background:#061525eb;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px)}.color-swatch{width:48px;height:48px;flex:0 0 auto}.coloring-board{width:100%}.zoom-btn{width:52px;height:52px}.simon-board{grid-template-columns:repeat(3,1fr);max-width:420px}.puzzle-picker{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem}.find-prompt,.quiz-question{font-size:1.15rem}.feeling-image{max-height:200px}.race-legend--desktop{display:none}.race-legend--mobile{display:block}}@media(max-width:640px){.hero{margin-bottom:2rem}.hero__content{flex-direction:column;text-align:center;padding:1.25rem;gap:1.25rem}.hero__character{width:140px;height:154px}.hero__description{font-size:1rem}.section-title{font-size:1.25rem}.game-header{margin-bottom:1.25rem}.game-header__title{font-size:1.4rem}.game-header__subtitle{font-size:.95rem}.find-grid{gap:.5rem;max-width:100%}.memory-grid{gap:.45rem;max-width:100%}.memory-grid--legenda .memory-card{min-height:0}.memory-card{aspect-ratio:3 / 4}.choice-grid{grid-template-columns:1fr}.feeling-game .choice-grid{grid-template-columns:1fr 1fr;gap:.55rem}.feeling-game .choice-btn{font-size:.95rem;padding:.75rem .5rem}.choice-grid--images{grid-template-columns:1fr 1fr}.race-arena{width:100%!important;height:auto!important;aspect-ratio:360 / 480}.race-controls{position:sticky;bottom:max(.75rem,env(safe-area-inset-bottom));z-index:6;margin-top:.75rem;padding:.65rem;border-radius:var(--radius);background:#061525e6;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px)}.race-controls__btn{flex:1;min-height:56px}.race-overlay__text{font-size:1.1rem}.errors-board{grid-template-columns:1fr;gap:1.25rem}.errors-mark{border-width:2.5px}.puzzle-board{width:min(94vw,420px);padding:4px}.puzzle-hint{font-size:.85rem;padding:0 .25rem}.win-modal__content{padding:1.5rem 1.25rem}.shadow-preview{width:min(100%,180px)}}@media(max-width:420px){.header__logo-wrap{width:58px;height:58px}.header__logo{width:48px;height:48px}.header__title{font-size:1.15rem}.header__bubbles{opacity:.55}.feeling-game .choice-grid{grid-template-columns:1fr}.choice-grid--images{grid-template-columns:1fr 1fr}.color-swatch{width:44px;height:44px}.find-grid{grid-template-columns:repeat(2,1fr)}}
