@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;700&display=swap";:root{--primary:#ff6b6b;--secondary:#4ecdc4;--accent:#ffe66d;--bg-gradient:linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);--shadow:0 10px 30px #0000001a;--wall-color:#2d3436}html,body,#root,.app-root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-khtml-user-select:none;outline:none}body{background:var(--bg-gradient);color:#333;touch-action:none;justify-content:center;align-items:center;height:100%;font-family:Outfit,-apple-system,BlinkMacSystemFont,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji,sans-serif;display:flex;overflow:hidden}.app-root{flex-direction:column;padding:.5rem;display:flex}.home-container{flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:1100px;margin:0 auto;display:flex}.home-title{color:var(--primary);text-align:center;text-shadow:2px 2px #fff;font-size:2.5rem}.games-grid{grid-template-columns:1fr 1fr;gap:1.5rem;width:100%;display:grid}.game-card{aspect-ratio:1;box-shadow:var(--shadow);cursor:pointer;border:8px solid #fff;border-radius:30px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;transition:transform .2s,box-shadow .2s;display:flex}.maze-card{background:var(--secondary);color:#fff}.memory-card{color:#fff;background:#6c5ce7}.puzzle-card{color:#fff;background:#ff9f43}.simon-card{color:#fff;background:#2ecc71}.game-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0003}.game-card:active{transform:scale(.95)}.game-card-icon-wrapper{background:#fff3;border-radius:20px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.game-card-icon{font-size:5rem}.game-card-arrow{color:#ffffffb3;font-size:3rem}.game-card-title{font-size:2rem;font-weight:700}.back-btn{box-shadow:var(--shadow);cursor:pointer;z-index:1000;background:#fff;border:none;border-radius:50px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.9rem;font-weight:700;display:flex;position:absolute;top:.5rem;left:.5rem}.menu-container{flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:1100px;height:100%;margin:0 auto;padding:.5rem;display:flex}.menu-title{display:none}.menu-section{flex-direction:column;gap:.2rem;width:100%;display:flex}.menu-section h3{color:#666;text-align:center;font-size:1.2rem}.difficulty-options{justify-content:center;gap:1.5rem;display:flex}.diff-btn{box-shadow:var(--shadow);cursor:pointer;background:#fff;border:4px solid #0000;border-radius:20px;align-items:center;gap:.8rem;width:auto;min-width:140px;padding:.8rem 1.2rem;transition:all .2s;display:flex}.diff-btn span{font-size:2rem}.diff-btn p{color:#555;font-size:1.1rem;font-weight:700}.diff-btn.active{border-color:var(--secondary);background:#f0fffb;transform:scale(1.1)}.start-btn{color:#fff;background:var(--primary);cursor:pointer;border:none;border-radius:50px;margin-top:1rem;padding:1.2rem 3rem;font-size:1.8rem;font-weight:700;transition:all .1s;box-shadow:0 8px #d63031}.start-btn:active{transform:translateY(4px);box-shadow:0 4px #d63031}.puzzle-theme-grid{flex:1;grid-template-columns:repeat(4,1fr);gap:.5rem;width:100%;max-height:50vh;padding:.5rem;display:grid;overflow-y:auto}.puzzle-theme-card{box-shadow:var(--shadow);cursor:pointer;background:#fff;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:.3rem;padding:.4rem;transition:all .2s;display:flex}.puzzle-theme-preview{aspect-ratio:1;background-position:50%;background-size:cover;border-radius:25px;width:100%}.puzzle-theme-card span{color:#444;white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:.2rem;font-size:.8rem;font-weight:700;overflow:hidden}.puzzle-theme-card.active{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 0 20px #ff6b6b66}.puzzle-menu-compact{flex-direction:column!important;gap:.5rem!important;height:100%!important;padding:.5rem!important;display:flex!important}.puzzle-header{width:100%;box-shadow:var(--shadow);z-index:10;background:#fff;border-radius:20px;justify-content:space-between;align-items:center;padding:.4rem 1rem;display:flex;position:relative}.puzzle-header .back-btn{margin:0!important;padding:.4rem 1rem!important;font-size:.9rem!important;position:static!important}.puzzle-difficulty-compact{gap:.8rem;display:flex}.diff-btn-mini{cursor:pointer;background:#f8f9fa;border:2px solid #eee;border-radius:12px;align-items:center;gap:.4rem;padding:.3rem .8rem;transition:all .2s;display:flex}.diff-btn-mini span{font-size:1.2rem}.diff-btn-mini small{color:#666;font-size:.8rem;font-weight:700}.diff-btn-mini.active{background:var(--secondary);border-color:#fff;box-shadow:0 4px 10px #4ecdc44d}.diff-btn-mini.active small{color:#fff}.segmented-control{background:#f1f3f5;border:2px solid #eee;border-radius:12px;align-items:center;gap:.2rem;padding:.3rem;display:flex}.segmented-label{color:#888;text-transform:uppercase;margin:0 .5rem;font-size:.8rem;font-weight:700}.segmented-btn{color:#666;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.4rem .8rem;font-size:1rem;font-weight:700;transition:all .2s}.segmented-btn.active{color:var(--secondary);background:#fff;transform:scale(1.05);box-shadow:0 2px 8px #0000001a}.start-btn-mini{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:.4rem 1.2rem;font-size:1rem;font-weight:700;box-shadow:0 4px #d63031}.start-btn-mini:active{transform:translateY(2px);box-shadow:0 2px #d63031}.puzzle-menu-compact .puzzle-theme-grid{flex:1;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);gap:.4rem;max-height:none;padding:.2rem;display:grid;overflow:hidden}.puzzle-menu-compact .puzzle-theme-card{height:100%;padding:.2rem}.puzzle-menu-compact .puzzle-theme-card span{margin-top:-2px;font-size:.7rem}.memory-menu-compact{flex-direction:column!important;gap:.5rem!important;height:100%!important;padding:.5rem!important;display:flex!important}.memory-theme-panels{flex:1;grid-template-columns:minmax(260px,.85fr) minmax(340px,1.15fr);gap:.75rem;width:100%;min-height:0;display:grid;overflow:hidden}.memory-theme-panel{min-width:0;min-height:0;box-shadow:var(--shadow);background:#ffffff7a;border:4px solid #74b9ff;border-radius:20px;flex-direction:column;padding:.7rem;display:flex}.memory-panel-title{color:#fff;letter-spacing:0;background:#0984e3;border-radius:999px;align-self:flex-start;margin:-.2rem 0 .55rem;padding:.25rem .8rem;font-size:.9rem;font-weight:700}.memory-panel-grid{flex:1;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-auto-rows:minmax(90px,1fr);align-content:start;gap:.65rem;padding:.15rem;display:grid;overflow-y:auto}.theme-card-mini{cursor:pointer;box-shadow:var(--shadow);background:#fff;border:4px solid #eee;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;height:100%;min-height:100px;transition:all .2s;display:flex}.theme-card-mini.active{border-color:var(--secondary);background:#f0fffb;transform:translateY(-2px);box-shadow:0 0 20px #4ecdc466}.theme-icon-mini{font-size:clamp(1.8rem,5vh,3rem);line-height:1}.theme-name-mini{color:#444;text-align:center;font-size:.95rem;font-weight:700;line-height:1.1}@media (max-width:780px){.memory-theme-panels{grid-template-columns:1fr;overflow-y:auto}.memory-theme-panel{min-height:250px}}.memory-menu-grid{grid-template-columns:repeat(3,1fr);gap:2rem;width:100%;margin:1rem 0;display:grid}.theme-card{box-shadow:var(--shadow);cursor:pointer;background:#fff;border:4px solid #eee;border-radius:30px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;transition:all .2s;display:flex}.theme-card.selected{border-color:var(--primary);background:snow;transform:scale(1.05)}.theme-icon{font-size:4rem}.theme-name{color:#444;font-size:1.5rem;font-weight:700}.play-btn{color:#fff;background:var(--secondary);cursor:pointer;border:none;border-radius:60px;margin-top:1rem;padding:1.5rem 4rem;font-size:2.2rem;font-weight:700;transition:all .1s;box-shadow:0 10px #2d9d95}.play-btn:active{transform:translateY(4px);box-shadow:0 6px #2d9d95}.puzzle-game{touch-action:none;height:100dvh;overflow:hidden}.puzzle-layout{flex-direction:column;justify-content:flex-start;align-items:center;gap:1rem;width:100%;height:100%;padding:.5rem;display:flex}.puzzle-grid{aspect-ratio:1;width:95vw;max-height:60vh;box-shadow:inset 0 0 30px #0000001a, var(--shadow);background:#ffffff80;border:16px solid #fff;border-radius:40px;display:grid}.puzzle-slot{border:1px dashed #0000001a}.puzzle-bottom-area{background:#ffffff4d;border:6px solid #fff;border-bottom:none;border-radius:40px 40px 0 0;flex-grow:1;width:100%;padding:1rem;position:relative}.puzzle-piece{cursor:grab;border:2px solid #fff;border-radius:4px;transition:box-shadow .2s,transform .2s;box-shadow:0 4px 15px #0003}.puzzle-piece.dragging{cursor:grabbing;z-index:1000;box-shadow:0 15px 30px #0000004d}.puzzle-piece.placed{cursor:default;box-shadow:none;pointer-events:none;border:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.puzzle-hint{color:#0003;pointer-events:none;font-size:1.5rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.victory-image-container{width:min(80vw,300px);box-shadow:var(--shadow);border:8px solid #fff;border-radius:20px;margin-bottom:2rem;overflow:hidden}.victory-puzzle-image{width:100%;display:block}.victory-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2000;color:#fff;text-align:center;background:#000c;flex-direction:column;justify-content:center;align-items:center;padding:2rem;animation:.5s ease-out fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.victory-title{text-shadow:0 0 20px #ff6b6b80;margin-bottom:2rem;font-size:4rem;animation:2s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.victory-btns{flex-direction:column;gap:1.5rem;width:100%;max-width:400px;display:flex}.btn-victory{background:var(--primary);color:#fff;cursor:pointer;border:4px solid #fff;border-radius:50px;padding:1.5rem 3rem;font-size:1.8rem;font-weight:700;transition:all .2s;box-shadow:0 8px 30px #0000004d}.btn-victory:active{transform:scale(.95)}.btn-victory.next-btn,.start-btn.next-btn{background:var(--secondary);border-color:#fff;padding:1.8rem 4rem;font-size:2.2rem;animation:1.5s infinite pulse;box-shadow:0 0 40px #4ecdc480}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.game-container{touch-action:none;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:.5rem;display:flex;position:relative;overflow:hidden}@media (orientation:landscape) and (max-height:700px){.game-container{flex-direction:row;gap:2rem;padding:.5rem}.controls{gap:.5rem!important;padding:.5rem!important}.controls button{border-width:4px!important;width:65px!important;height:65px!important;font-size:2rem!important}.maze-grid{width:min(80vw,85vh,500px)!important;height:min(80vw,85vh,500px)!important}.level-indicator{font-size:.9rem;padding:.3rem 1rem!important;top:.5rem!important;right:.5rem!important}}.memory-grid{justify-content:center;align-items:center;gap:1rem;width:95vw;height:92vh;margin:auto;padding:1rem;display:grid}.memory-card-container{perspective:1000px;cursor:pointer;width:100%;height:100%}.memory-card-inner{text-align:center;-webkit-transition:-webkit-transform .6s cubic-bezier(.4,0,.2,1);width:100%;height:100%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.memory-card-container.flipped .memory-card-inner{transform:rotateY(180deg)}.memory-card-front,.memory-card-back{-webkit-backface-visibility:hidden;backface-visibility:hidden;border:8px solid #fff;border-radius:30px;justify-content:center;align-items:center;width:100%;height:100%;font-size:min(8vw,9vh);display:flex;position:absolute;box-shadow:0 10px 30px #00000026}.memory-card-front{background:var(--secondary);color:#fff}.memory-card-back{background:#fff;transform:rotateY(180deg)}.memory-card-back.memory-card-word{color:#2d3436;text-align:center;overflow-wrap:anywhere;padding:.25rem;font-size:clamp(.85rem,min(3.2vw,4.5vh),2.4rem);font-weight:700;line-height:1}.maze-grid{box-shadow:var(--shadow);background:#fff;border:12px solid #fff;border-radius:30px;margin:auto;position:relative;overflow:hidden}.cell{background:#f8f9fa;border:1px solid #0000000d}.cell-wall-t{border-top:4px solid var(--wall-color)}.cell-wall-r{border-right:4px solid var(--wall-color)}.cell-wall-b{border-bottom:4px solid var(--wall-color)}.cell-wall-l{border-left:4px solid var(--wall-color)}.player{justify-content:center;align-items:center;font-size:2.2rem;transition:all .1s linear;display:flex}.target{justify-content:center;align-items:center;font-size:2.2rem;display:flex}.controls{grid-template-areas:".up.""left down right";gap:1.2rem;padding:1.5rem;display:grid}.btn-up{grid-area:up}.btn-left{grid-area:left}.btn-down{grid-area:down}.btn-right{grid-area:right}.controls button{width:90px;height:90px;box-shadow:var(--shadow);cursor:pointer;background:#fff;border:6px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:2.5rem;display:flex}.controls button:active{transform:scale(.9)}.level-indicator{color:var(--primary);box-shadow:var(--shadow);z-index:100;background:#fff;border-radius:30px;padding:.5rem 1.5rem;font-weight:700;position:absolute;top:1rem;right:1rem}.simon-board-container{flex-direction:column;align-items:center;gap:2rem;display:flex}.simon-grid{aspect-ratio:1;background:#333;border:10px solid #222;border-radius:50%;grid-template-columns:repeat(2,1fr);gap:15px;width:min(85vw,450px);padding:20px;display:grid;position:relative;box-shadow:0 15px 50px #0006,inset 0 0 20px #00000080}.simon-button{aspect-ratio:1;cursor:pointer;opacity:.6;width:100%;transition:all .1s}.simon-button.green{background:#2ecc71;border-top-left-radius:100%;box-shadow:-5px -5px #ffffff1a}.simon-button.red{background:#e74c3c;border-top-right-radius:100%;box-shadow:5px -5px #ffffff1a}.simon-button.yellow{background:#f1c40f;border-bottom-left-radius:100%;box-shadow:-5px 5px #ffffff1a}.simon-button.blue{background:#3498db;border-bottom-right-radius:100%;box-shadow:5px 5px #ffffff1a}.simon-button.active{filter:brightness(1.5)saturate(1.5);transform:scale(.98);box-shadow:0 0 40px;opacity:1!important}.simon-center{background:#222;border:8px solid #333;border-radius:50%;justify-content:center;align-items:center;width:30%;height:30%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.simon-center-inner{-webkit-user-select:none;user-select:none;font-size:3rem}.score-badge{color:#333;box-shadow:var(--shadow);border:4px solid var(--secondary);background:#fff;border-radius:50px;padding:.8rem 2rem;font-size:1.8rem;font-weight:700}.simon-status-msg{z-index:1000;color:var(--secondary);pointer-events:none;background:#fff;border-radius:50px;padding:1rem 3rem;font-size:3rem;font-weight:700;animation:.3s cubic-bezier(.175,.885,.32,1.275) popIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 50px #0000004d}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.simon-menu-layout{padding-bottom:2rem!important}.simon-options-container{background:#fff6;border:4px solid #fff;border-radius:30px;flex-direction:column;gap:1.5rem;width:100%;max-width:600px;padding:1.5rem;display:flex}.difficulty-options.compact{gap:.8rem}.diff-btn-mini{flex:1;min-width:100px}
