:root{--primary: #FF6B6B;--primary-dark: #EE5A5A;--secondary: #4ECDC4;--secondary-dark: #3DBDB5;--yellow: #FFE66D;--yellow-dark: #FFD93D;--purple: #A66DD4;--purple-dark: #9555C7;--orange: #FF9F43;--orange-dark: #EE8B2F;--green: #6BCB77;--green-dark: #5AB868;--pink: #FF85A1;--blue: #5B9BF5;--bg-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--bg-light: #F7F9FC;--bg-card: #FFFFFF;--text-dark: #2D3748;--text-light: #718096;--text-white: #FFFFFF;--shadow-sm: 0 2px 8px rgba(0,0,0,.1);--shadow-md: 0 4px 16px rgba(0,0,0,.15);--shadow-lg: 0 8px 32px rgba(0,0,0,.2);--shadow-fun: 0 6px 0 rgba(0,0,0,.15);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:"Baloo 2",cursive,system-ui,-apple-system,sans-serif;background:var(--bg-light);color:var(--text-dark);min-height:100vh;line-height:1.5}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;font-family:inherit;font-size:1.1rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-decoration:none;box-shadow:var(--shadow-fun);transform:translateY(0)}.btn:hover{transform:translateY(-3px);box-shadow:0 9px #00000026}.btn:active{transform:translateY(2px);box-shadow:0 3px #00000026}.btn-primary{background:var(--primary);color:var(--text-white)}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--secondary);color:var(--text-white)}.btn-secondary:hover{background:var(--secondary-dark)}.btn-yellow{background:var(--yellow);color:var(--text-dark)}.btn-yellow:hover{background:var(--yellow-dark)}.btn-purple{background:var(--purple);color:var(--text-white)}.btn-purple:hover{background:var(--purple-dark)}.btn-green{background:var(--green);color:var(--text-white)}.btn-green:hover{background:var(--green-dark)}.btn-orange{background:var(--orange);color:var(--text-white)}.btn-orange:hover{background:var(--orange-dark)}.btn-outline{background:transparent;border:3px solid currentColor;box-shadow:none}.btn-outline:hover{box-shadow:none}.btn-lg{padding:18px 36px;font-size:1.25rem}.btn-sm{padding:10px 20px;font-size:.95rem}.header{background:var(--bg-gradient);padding:16px 24px;box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text-white)}.logo-icon{font-size:2.5rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.logo-text{font-size:1.8rem;font-weight:800;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.nav{display:flex;gap:8px}.nav-link{color:var(--text-white);text-decoration:none;padding:10px 16px;border-radius:var(--radius-sm);font-weight:600;transition:all .2s ease;opacity:.9}.nav-link:hover{opacity:1;background:#fff3}.main{flex:1;padding:32px 24px;max-width:1400px;margin:0 auto;width:100%}.hero{text-align:center;padding:48px 24px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:var(--radius-xl);margin-bottom:48px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:var(--yellow);border-radius:50%;opacity:.3}.hero:after{content:"";position:absolute;bottom:-30px;left:-30px;width:150px;height:150px;background:var(--pink);border-radius:50%;opacity:.3}.hero-content{position:relative;z-index:1}.hero-mascot{font-size:5rem;margin-bottom:16px;animation:wiggle 3s ease-in-out infinite}@keyframes wiggle{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.hero h1{font-size:3rem;color:var(--text-dark);margin-bottom:16px}.hero p{font-size:1.25rem;color:var(--text-light);max-width:600px;margin:0 auto}.activity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-bottom:48px}.activity-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);transition:all .3s ease;cursor:pointer;text-decoration:none;color:inherit;display:flex;flex-direction:column;border:4px solid transparent}.activity-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.activity-card.red{border-color:var(--primary)}.activity-card.teal{border-color:var(--secondary)}.activity-card.yellow{border-color:var(--yellow)}.activity-card.purple{border-color:var(--purple)}.activity-card.orange{border-color:var(--orange)}.activity-card.green{border-color:var(--green)}.activity-card.pink{border-color:var(--pink)}.activity-card.blue{border-color:var(--blue)}.activity-icon{font-size:3.5rem;margin-bottom:16px}.activity-card h3{margin-bottom:8px;color:var(--text-dark)}.activity-card p{color:var(--text-light);font-size:.95rem;flex:1}.activity-tag{display:inline-block;padding:4px 12px;border-radius:100px;font-size:.75rem;font-weight:600;margin-top:12px;text-transform:uppercase}.activity-tag.puzzle{background:#ffe0e0;color:var(--primary)}.activity-tag.creative{background:#e0f7f5;color:var(--secondary)}.activity-tag.math{background:#fff4d6;color:#b8860b}.activity-tag.learning{background:#e8def8;color:var(--purple)}.activity-tag.game{background:#dcedc8;color:#558b2f}.page-container{max-width:900px;margin:0 auto}.page-header{text-align:center;margin-bottom:32px}.page-header h1{display:flex;align-items:center;justify-content:center;gap:16px}.page-header p{color:var(--text-light);margin-top:8px}.controls-panel{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);margin-bottom:24px}.controls-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.control-group{display:flex;flex-direction:column;gap:6px}.control-group label{font-weight:600;font-size:.9rem;color:var(--text-light)}.control-group select,.control-group input{padding:12px 16px;border:2px solid #E2E8F0;border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;background:var(--bg-light);min-width:150px;transition:border-color .2s}.control-group select:focus,.control-group input:focus{outline:none;border-color:var(--primary)}.print-area{background:#fff;border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-md);margin-bottom:24px}.puzzle-title{text-align:center;margin-bottom:24px;font-size:1.5rem;color:var(--text-dark)}.word-search-grid{display:grid;gap:4px;justify-content:center;margin-bottom:24px;font-family:Courier New,monospace}.word-search-cell{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;background:var(--bg-light);border-radius:6px;text-transform:uppercase;transition:all .2s;cursor:default;-webkit-user-select:none;user-select:none}.word-search-cell.found{background:var(--yellow);color:var(--text-dark)}.word-list{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.word-item{padding:8px 16px;background:var(--bg-light);border-radius:100px;font-weight:600;font-size:.95rem}.word-item.found{background:var(--green);color:#fff;text-decoration:line-through}.maze-container{display:flex;justify-content:center;margin-bottom:24px}.maze-grid{display:grid;gap:0;border:3px solid var(--text-dark)}.maze-cell{width:24px;height:24px;background:#fff}.maze-cell.wall{background:var(--text-dark)}.maze-cell.start{background:var(--green)}.maze-cell.end{background:var(--primary)}.maze-cell.path{background:var(--yellow)}.math-problems{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.math-problem{background:var(--bg-light);border-radius:var(--radius-md);padding:20px;text-align:center}.math-equation{font-size:2rem;font-weight:700;margin-bottom:12px;font-family:Courier New,monospace}.math-answer{width:80px;padding:10px;font-size:1.5rem;text-align:center;border:3px solid #E2E8F0;border-radius:var(--radius-sm);font-family:inherit}.math-answer:focus{outline:none;border-color:var(--primary)}.math-answer.correct{border-color:var(--green);background:#dcedc8}.math-answer.incorrect{border-color:var(--primary);background:#ffe0e0}.memory-grid{display:grid;gap:12px;justify-content:center;max-width:600px;margin:0 auto 24px}.memory-card{aspect-ratio:1;background:var(--purple);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:2.5rem;transition:all .3s ease;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none}.memory-card:hover:not(.flipped):not(.matched){transform:scale(1.05);box-shadow:var(--shadow-md)}.memory-card.flipped,.memory-card.matched{background:#fff}.memory-card.matched{opacity:.7;transform:scale(.95)}.memory-card-back{font-size:2rem}.flashcard-container{perspective:1000px;max-width:400px;margin:0 auto 24px}.flashcard{width:100%;aspect-ratio:4/3;position:relative;cursor:pointer;transform-style:preserve-3d;transition:transform .6s ease}.flashcard.flipped{transform:rotateY(180deg)}.flashcard-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;backface-visibility:hidden;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:24px}.flashcard-front{background:linear-gradient(135deg,var(--yellow) 0%,var(--orange) 100%)}.flashcard-back{background:linear-gradient(135deg,var(--secondary) 0%,var(--green) 100%);transform:rotateY(180deg)}.flashcard-content{font-size:5rem;margin-bottom:16px}.flashcard-label{font-size:1.5rem;font-weight:700;color:var(--text-dark);text-transform:capitalize}.flashcard-nav{display:flex;gap:16px;justify-content:center}.tracing-container{display:flex;justify-content:center;margin-bottom:24px}.tracing-canvas{border:4px dashed #E2E8F0;border-radius:var(--radius-lg);cursor:crosshair;touch-action:none}.tracing-letter{font-size:20rem;font-weight:800;color:#e2e8f0;position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none}.coloring-preview{display:flex;justify-content:center;margin-bottom:24px}.coloring-preview img{max-width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.theme-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:24px}.theme-btn{padding:12px 24px;background:var(--bg-light);border:3px solid transparent;border-radius:100px;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.theme-btn:hover{border-color:var(--primary)}.theme-btn.active{background:var(--primary);color:#fff}.loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px}.loading-spinner{width:60px;height:60px;border:6px solid var(--bg-light);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.game-stats{display:flex;gap:24px;justify-content:center;margin-bottom:24px}.stat{text-align:center}.stat-value{font-size:2rem;font-weight:800;color:var(--primary)}.stat-label{font-size:.9rem;color:var(--text-light)}.celebration{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.celebration-content{background:#fff;padding:48px;border-radius:var(--radius-xl);text-align:center;animation:pop .5s ease}@keyframes pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.celebration-emoji{font-size:6rem;margin-bottom:16px}.footer{background:var(--text-dark);color:var(--text-white);padding:24px;text-align:center;margin-top:auto}.footer a{color:var(--yellow)}@media print{.header,.footer,.controls-panel,.actions,.nav,.btn{display:none!important}body{background:#fff}.print-area{box-shadow:none;padding:0}.main{padding:0}}@media(max-width:768px){h1{font-size:1.75rem}.hero h1{font-size:2rem}.hero-mascot{font-size:3rem}.activity-grid{grid-template-columns:1fr}.controls-row{flex-direction:column;align-items:stretch}.control-group select,.control-group input{width:100%}.logo-text{font-size:1.3rem}.nav{display:none}.word-search-cell{width:28px;height:28px;font-size:1rem}.maze-cell{width:16px;height:16px}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.animate-float{animation:float 3s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.dots-container{position:relative;width:100%;max-width:500px;aspect-ratio:1;margin:0 auto;background:#fff;border-radius:var(--radius-lg)}.dot{position:absolute;width:32px;height:32px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s;transform:translate(-50%,-50%);z-index:2}.dot:hover{transform:translate(-50%,-50%) scale(1.2)}.dot.connected{background:var(--green)}.dot-line{position:absolute;background:var(--green);height:4px;transform-origin:left center;z-index:1;border-radius:2px}.pattern-row{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;margin-bottom:24px}.pattern-item{width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:3rem;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.pattern-item.mystery{background:var(--bg-light);border:4px dashed #CBD5E0;font-size:2rem;color:var(--text-light)}.pattern-options{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.pattern-option{width:70px;height:70px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:#fff;border:4px solid #E2E8F0;border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.pattern-option:hover{border-color:var(--primary);transform:scale(1.1)}.counting-area{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:24px;min-height:200px;padding:24px;background:var(--bg-light);border-radius:var(--radius-lg)}.counting-item{font-size:3rem;animation:pop .3s ease backwards}.counting-input{display:flex;align-items:center;gap:16px;justify-content:center}.counting-input input{width:100px;padding:16px;font-size:2rem;text-align:center;border:4px solid #E2E8F0;border-radius:var(--radius-md);font-family:inherit}.counting-input input:focus{outline:none;border-color:var(--primary)}
