.app-shell{width:min(100%,1180px);min-height:100vh;margin:0 auto;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.home-screen{display:grid;min-height:calc(100vh - 2rem);align-content:center;gap:clamp(1.15rem,3vw,2rem);padding:clamp(1rem,3vw,2rem)}.home-controls{display:flex;justify-content:flex-end;padding:.35rem .5rem}.home-hero{position:relative;overflow:hidden;padding:clamp(1.5rem,4vw,3rem);text-align:center;border:3px solid rgba(255,255,255,.72);border-radius:clamp(1.75rem,4vw,3rem);background:var(--paper);box-shadow:var(--shadow)}.home-hero:before{position:absolute;inset:auto -3rem -4.5rem auto;width:16rem;height:10rem;content:"";border-radius:100% 0 0;background:#75cf5833}.home-hero__mascot{display:grid;width:clamp(5.5rem,15vw,8rem);height:clamp(5.5rem,15vw,8rem);margin:0 auto .5rem;place-items:center;border-radius:999px;background:linear-gradient(180deg,#fff9da,#ffe4a2);box-shadow:inset 0 -.4rem #ffa94638,0 .75rem 1.5rem #f4823233;font-size:clamp(3rem,9vw,5rem)}.eyebrow{margin:0 0 .35rem;color:var(--green-700);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.home-hero h1,.game-intro h1{margin:0;color:var(--blue-900);font-size:clamp(2.4rem,8vw,5rem);line-height:.95;text-wrap:balance}.home-hero__subtitle,.game-intro p{max-width:42rem;margin:.8rem auto 0;color:#244777;font-size:clamp(1.05rem,2.5vw,1.55rem);font-weight:700}.home-hero__progress{display:inline-flex;margin:1rem auto 0;padding:.55rem 1rem;border-radius:999px;background:#edf9e7;color:var(--green-700);font-weight:900}.difficulty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,2vw,1.25rem)}.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.9rem,2vw,1.4rem)}.home-back{display:inline-flex;align-items:center;gap:.4rem;align-self:start;margin:0;padding:.6rem 1rem;border:0;border-radius:999px;background:#fffc;box-shadow:0 .4rem 1rem #325f9e1f;color:var(--blue-900);font-weight:1000;cursor:pointer}.home-section-title{margin:0;color:var(--blue-900);font-size:clamp(1.4rem,3vw,2rem);font-weight:1000}.home-promises{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin:0;padding:0;list-style:none}.home-promises li{padding:.75rem 1rem;border-radius:999px;background:#ffffffbd;box-shadow:0 .4rem 1rem #325f9e1a;font-weight:900}@media (max-width: 760px){.app-shell{padding:.75rem}.home-screen{min-height:calc(100vh - 1.5rem);padding:.5rem}.difficulty-grid,.game-grid{grid-template-columns:1fr}.home-hero h1{font-size:clamp(2.4rem,12vw,4rem)}}.difficulty-card,.action-button,.icon-button,.primary-button,.secondary-button,.game-card{min-height:58px;cursor:pointer;border:0;touch-action:manipulation;-webkit-user-select:none;user-select:none}.difficulty-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;min-height:clamp(5.6rem,13vw,7.5rem);padding:clamp(1rem,2.4vw,1.35rem);text-align:left;color:#fff;border-radius:1.6rem;box-shadow:var(--button-shadow);transform:translateY(0);transition:transform .15s ease,filter .15s ease}.difficulty-card:active,.action-button:active,.icon-button:active,.primary-button:active,.secondary-button:active,.game-card:active{transform:translateY(4px);filter:brightness(.98)}.difficulty-card--green{background:linear-gradient(180deg,#a8df42,#45b846)}.difficulty-card--orange{background:linear-gradient(180deg,#ffd04a,#ff9827)}.difficulty-card--purple{background:linear-gradient(180deg,#e068d6,#8b3bd3)}.game-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-height:clamp(6.5rem,15vw,9rem);padding:clamp(1.1rem,2.6vw,1.6rem);text-align:left;color:#fff;border-radius:1.8rem;box-shadow:var(--button-shadow);transform:translateY(0);transition:transform .15s ease,filter .15s ease}.game-card--blue{background:linear-gradient(180deg,#6fb6ff,#2f6bd8)}.game-card--purple{background:linear-gradient(180deg,#d982ff,#8b3bd3)}.game-card__mascot{display:grid;width:clamp(3.6rem,10vw,5.6rem);height:clamp(3.6rem,10vw,5.6rem);place-items:center;border-radius:999px;border:3px solid rgba(255,255,255,.7);background:#ffffff2e;font-size:clamp(2rem,6vw,3.4rem)}.game-card__content{display:grid;gap:.3rem}.game-card__title{font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:1000;line-height:1;text-shadow:0 2px 0 rgba(19,49,95,.2)}.game-card__description{font-weight:800;opacity:.95}.game-card__arrow{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:1000;opacity:.9}.difficulty-card__icon{display:grid;width:clamp(3.1rem,9vw,4.6rem);height:clamp(3.1rem,9vw,4.6rem);place-items:center;border:3px solid rgba(255,255,255,.7);border-radius:999px;background:#ffffff2e;font-size:clamp(1.8rem,5vw,2.8rem)}.difficulty-card__content{display:grid;gap:.25rem}.difficulty-card__title{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:1000;line-height:1;text-shadow:0 2px 0 rgba(19,49,95,.2)}.difficulty-card__description{font-weight:800;opacity:.95}.icon-button{display:grid;width:clamp(3.4rem,8vw,4.6rem);min-width:clamp(3.4rem,8vw,4.6rem);height:clamp(3.4rem,8vw,4.6rem);place-items:center;border-radius:1.35rem;background:linear-gradient(180deg,#65a8ff,#3168d8);box-shadow:var(--button-shadow);color:#fff;font-size:clamp(1.6rem,4vw,2.15rem)}.action-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-width:8rem;padding:.85rem 1.15rem;border-radius:1.25rem;box-shadow:var(--button-shadow);color:#fff;font-weight:1000;font-size:clamp(1rem,2.2vw,1.2rem)}.action-button--hint{background:linear-gradient(180deg,#d971ff,#8135d8)}.action-button--replay,.primary-button{background:linear-gradient(180deg,#ffc54f,#ff9228)}.secondary-button{color:var(--blue-900);background:linear-gradient(180deg,#fff,#e8f5ff)}@media (max-width: 640px){.action-button{min-width:0;flex:1 1 8rem}}.game-screen{position:relative;display:grid;min-height:calc(100vh - 2rem);grid-template-rows:auto auto 1fr;gap:clamp(.6rem,1.5vw,1rem)}.game-hud{display:flex;align-items:center;justify-content:space-between;gap:clamp(.6rem,1.5vw,1rem);padding:.65rem;border:3px solid rgba(255,255,255,.7);border-radius:1.8rem;background:#ffffff94;box-shadow:0 .7rem 2rem #2348841a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.game-hud__actions{display:flex;gap:.7rem}.treasure-meter{display:grid;min-width:min(24rem,42vw);grid-template-columns:auto 1fr;gap:.25rem .7rem;align-items:center;padding:.65rem 1rem;border-radius:1.4rem;background:#fffaebf0;box-shadow:inset 0 -.25rem #92602514,0 .5rem 1rem #414a6914;font-weight:1000}.treasure-meter__icon{grid-row:span 2;font-size:2rem}.treasure-meter__label{line-height:1}.treasure-meter__track{overflow:hidden;height:.75rem;border-radius:999px;background:#523e2b1f}.treasure-meter__fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#62c747,#a8df42);transition:width .22s ease}.game-intro{text-align:center}.game-intro h1{font-size:clamp(1.8rem,5vw,3.25rem)}.game-intro p{margin-top:.2rem;font-size:clamp(1rem,2.2vw,1.35rem)}.maze-board{display:grid;min-height:0;place-items:center;padding:clamp(.35rem,1vw,.8rem)}.maze-svg{display:block;width:min(100%,1080px);max-height:min(67vh,720px);touch-action:none;border-radius:2rem;filter:drop-shadow(0 1rem 1.5rem rgba(32,68,122,.18));-webkit-user-select:none;user-select:none}.maze-svg__background{fill:#ffffff8c}.maze-svg__floor{fill:url(#mazeFloor)}.maze-cell{fill:#ffffff21}.maze-walls line{stroke:url(#mazeWall);stroke-width:16;stroke-linecap:round}.maze-trail{fill:none;stroke:#38a9ff;stroke-width:18;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.maze-hint{fill:none;stroke:#fff35e;stroke-width:13;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:12 12;filter:drop-shadow(0 0 .55rem rgba(255,225,55,.85));animation:hintPulse .95s ease-in-out infinite alternate}.collectible-item{pointer-events:none;animation:collectibleFloat 1.5s ease-in-out infinite alternate}.collectible-item.collectible-item--collecting{transform-box:fill-box;transform-origin:center;animation:collectiblePop .42s ease-out forwards}.collectible-item__glow,.goal-marker__glow{fill:#ffffffb3;stroke:#ffcf40cc;stroke-width:4}.player-marker{pointer-events:none;transition:transform .14s ease}.player-marker__shadow{fill:#344a6038}.player-marker__body{fill:#fff2b6;stroke:#fff;stroke-width:5}.soft-feedback{position:fixed;z-index:10;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));min-width:min(24rem,calc(100vw - 2rem));padding:1rem 1.25rem;text-align:center;border:3px solid rgba(255,255,255,.88);border-radius:1.4rem;background:#fffffff0;box-shadow:var(--shadow);font-size:clamp(1rem,2.5vw,1.25rem);font-weight:1000;transform:translate(-50%);animation:feedbackIn .18s ease-out}.success-overlay{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#18346159;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.success-overlay__card{position:relative;overflow:hidden;width:min(92vw,32rem);padding:clamp(1.5rem,4vw,2.5rem);text-align:center;border:4px solid rgba(255,255,255,.78);border-radius:2rem;background:linear-gradient(180deg,#fff,#fff3c6);box-shadow:0 2rem 4rem #14315f47}.success-overlay__mascot{margin:0;font-size:clamp(4rem,14vw,6rem)}.success-overlay h2{margin:.2rem 0;font-size:clamp(2.5rem,8vw,4rem)}.success-overlay p{color:#244777;font-weight:800}.success-overlay__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:1.2rem}.success-overlay__confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.success-overlay__confetti span{position:absolute;top:.7rem;left:var(--x);font-size:1.8rem;animation:confettiFall 1.8s ease-in-out infinite;animation-delay:var(--delay)}@keyframes collectibleFloat{0%{transform:translateY(-2px)}to{transform:translateY(3px)}}@keyframes collectiblePop{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}.sparkle-particle{pointer-events:none;animation:sparkleBurst .65s ease-out forwards}@keyframes sparkleBurst{0%{transform:translate(0);opacity:1}to{transform:translate(var(--sx),var(--sy));opacity:0}}@keyframes hintPulse{0%{opacity:.72}to{opacity:1}}@keyframes feedbackIn{0%{opacity:0;transform:translate(-50%,.5rem)}to{opacity:1;transform:translate(-50%)}}@keyframes confettiFall{0%{opacity:0;transform:translateY(-1rem) rotate(0)}20%,80%{opacity:1}to{opacity:0;transform:translateY(11rem) rotate(28deg)}}@media (max-width: 760px){.game-screen{min-height:calc(100vh - 1.5rem);gap:.55rem}.game-hud{align-items:stretch;flex-wrap:wrap;border-radius:1.35rem}.treasure-meter{min-width:0;flex:1 1 calc(100% - 4.5rem)}.game-hud__actions{display:grid;width:100%;grid-template-columns:1fr 1fr}.game-intro p{display:none}.maze-svg{max-height:58vh}}@media (orientation: landscape) and (max-height: 620px){.game-screen{gap:.35rem}.game-intro{display:none}.maze-svg{max-height:70vh}}.memory-screen{grid-template-rows:auto auto 1fr}.memory-board-wrap{display:grid;place-items:center;width:100%}.memory-board{display:grid;width:min(100%,46rem);gap:clamp(.4rem,1.4vw,.75rem);grid-template-columns:repeat(var(--memory-cols),minmax(0,1fr))}.memory-card{position:relative;aspect-ratio:3 / 4;padding:0;background:transparent;border:0;cursor:pointer;perspective:700px}.memory-card:disabled{cursor:default}.memory-card__inner{position:relative;display:grid;width:100%;height:100%;place-items:center;transform-style:preserve-3d;transition:transform .32s ease;border-radius:1rem;box-shadow:var(--button-shadow)}.memory-card[data-face=up] .memory-card__inner{transform:rotateY(180deg)}.memory-card__face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:inherit;border:3px solid rgba(255,255,255,.85);backface-visibility:hidden;-webkit-backface-visibility:hidden;font-size:clamp(1.6rem,7vw,2.8rem);font-weight:1000}.memory-card__face--back{color:#fff;background:linear-gradient(180deg,#65a8ff,#3168d8)}.memory-card__face--front{transform:rotateY(180deg);color:var(--blue-900);background:linear-gradient(180deg,#fff,#fff2c6)}.memory-card--matched .memory-card__inner{box-shadow:0 0 0 4px #66bf3c8c,var(--button-shadow);animation:memoryMatch .52s ease-out}.memory-card--matched .memory-card__face--front{background:linear-gradient(180deg,#e7ffe6,#c8f3b3)}.memory-meter{background:#f1f4fff0}.memory-meter .treasure-meter__fill{background:linear-gradient(90deg,#a948d9,#ff73a8)}@keyframes memoryMatch{0%{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.12)}to{transform:rotateY(180deg) scale(1)}}@media (max-width: 760px){.memory-board{width:100%}.memory-card__face{font-size:clamp(1.3rem,6vw,2.2rem)}}@media (orientation: landscape) and (max-height: 620px){.memory-board{width:min(100%,40rem)}}:root{color:#12315f;font-family:Inter,ui-rounded,Nunito,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--blue-900: #12315f;--blue-700: #2359a8;--blue-100: #dff5ff;--green-500: #66bf3c;--green-700: #2f9447;--orange-500: #ff9e2f;--purple-500: #a948d9;--pink-400: #ff73a8;--cream: #fff7db;--paper: rgba(255, 255, 255, .86);--shadow: 0 1rem 2.5rem rgba(35, 72, 132, .16);--button-shadow: 0 .55rem 0 rgba(31, 80, 142, .18), 0 1rem 1.75rem rgba(46, 72, 119, .16)}*{box-sizing:border-box}html{min-height:100%;background:#dff5ff}body{min-width:320px;min-height:100vh;margin:0;color:var(--blue-900);background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.9) 0 5rem,transparent 5.1rem),radial-gradient(circle at 88% 18%,rgba(255,255,255,.65) 0 4rem,transparent 4.1rem),linear-gradient(180deg,#bbecff,#e9f9ff 46%,#fff2c0);overflow-x:hidden}body:before,body:after{position:fixed;z-index:-1;right:-7rem;bottom:-5rem;width:22rem;height:12rem;content:"";border-radius:50% 50% 0 0;background:#70c75259}body:after{right:auto;left:-6rem;width:18rem;background:#6dc5e252}button{font:inherit}button,[role=button]{-webkit-tap-highlight-color:transparent}button:focus-visible,svg:focus-visible{outline:4px solid rgba(35,89,168,.48);outline-offset:4px}#root{min-height:100vh}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
