.gallery-section{padding:4rem 0;background:linear-gradient(135deg,#f0fdf4,#dcfce7);min-height:100vh}.gallery-container{max-width:1200px;margin:0 auto;padding:0 1rem}.gallery-header{text-align:center;margin-bottom:3rem}.gallery-title{font-size:2.5rem;font-weight:800;color:#059669;margin-bottom:1rem}.gallery-subtitle{font-size:1.1rem;color:#6b7280;max-width:600px;margin:0 auto}.pinterest-grid{display:columns;column-count:4;column-gap:1rem;margin-bottom:3rem}@media (max-width:1024px){.pinterest-grid{column-count:3}}@media (max-width:768px){.pinterest-grid{column-count:2}}@media (max-width:480px){.pinterest-grid{column-count:1}}.gallery-card{display:inline-block;width:100%;margin-bottom:1rem;break-inside:avoid;cursor:pointer;transition:all .3s ease}.gallery-card:hover{transform:translateY(-5px)}.card-media{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.1);transition:all .3s ease}.gallery-card:hover .card-media{box-shadow:0 8px 30px rgba(0,0,0,.15)}.card-image{width:100%;height:auto;display:block;transition:all .3s ease}.gallery-card:hover .card-image{transform:scale(1.05)}.video-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.7);border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.play-icon{color:white;font-size:1.5rem;margin-left:3px}.play-icon.large{font-size:2rem}.card-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.8));color:white;padding:1.5rem 1rem 1rem;transform:translateY(100%);transition:all .3s ease}.gallery-card:hover .card-overlay{transform:translateY(0)}.overlay-content{margin-bottom:1rem}.card-title{font-size:1rem;font-weight:700;margin-bottom:.25rem;line-height:1.3}.card-author{font-size:.85rem;opacity:.9;margin-bottom:.5rem}.challenge-tag{display:inline-block;background:rgba(16,185,129,.9);color:white;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.card-stats{gap:1rem}.card-stats,.stat{display:flex;align-items:center}.stat{gap:.25rem;font-size:.85rem}.stat-icon{font-size:.9rem}.stat-icon.heart{color:#ef4444}.stat-icon.comment{color:#3b82f6}.stat-icon.share{color:#10b981}.load-more-container{text-align:center;margin-top:2rem}.load-more-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 25px rgba(16,185,129,.4)}.load-more-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-grid{display:columns;column-count:4;column-gap:1rem}@media (max-width:1024px){.loading-grid{column-count:3}}@media (max-width:768px){.loading-grid{column-count:2}}@media (max-width:480px){.loading-grid{column-count:1}}.skeleton-card{display:inline-block;width:100%;margin-bottom:1rem;break-inside:avoid;border-radius:16px;overflow:hidden;background:white;box-shadow:0 4px 20px rgba(0,0,0,.1)}.skeleton-image{width:100%;height:200px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 2s infinite}.skeleton-content{padding:1rem}.skeleton-line{height:12px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:6px;margin-bottom:.5rem;animation:shimmer 2s infinite}.skeleton-line.short{width:60%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{position:relative;max-width:90vw;max-height:90vh;background:white;border-radius:20px;overflow:hidden;display:flex;flex-direction:column}.modal-close{position:absolute;top:1rem;right:1rem;background:rgba(0,0,0,.7);color:white;border:none;border-radius:50%;width:40px;height:40px;font-size:1.5rem;cursor:pointer;z-index:10;transition:all .3s ease}.modal-close:hover{background:rgba(0,0,0,.9)}.modal-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.7);color:white;border:none;border-radius:50%;width:50px;height:50px;font-size:1.2rem;cursor:pointer;z-index:10;transition:all .3s ease}.modal-nav:hover{background:rgba(0,0,0,.9)}.modal-nav.prev{left:1rem}.modal-nav.next{right:1rem}.modal-media{position:relative;flex:1;display:flex;align-items:center;justify-content:center;background:#f8f9fa}.modal-image{max-width:100%;max-height:70vh;object-fit:contain}.modal-info{padding:1.5rem;background:white}.modal-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.modal-author{color:#6b7280;margin-bottom:.5rem}.modal-challenge{display:inline-block;background:#10b981;color:white;padding:.25rem .75rem;border-radius:15px;font-size:.85rem;font-weight:600;margin-bottom:1rem}.modal-stats{display:flex;gap:1.5rem}.modal-stat{display:flex;align-items:center;gap:.5rem;color:#6b7280}@media (max-width:768px){.gallery-title{font-size:2rem}.modal-overlay{padding:1rem}.modal-content{max-width:95vw;max-height:95vh}.modal-nav{width:40px;height:40px;font-size:1rem}.modal-nav.prev{left:.5rem}.modal-nav.next{right:.5rem}}.pagination-toggle{margin-top:1rem;text-align:center}.toggle-btn{padding:.5rem 1rem;background:rgba(16,185,129,.1);color:#059669;border:2px solid rgba(16,185,129,.2);border-radius:20px;font-weight:600;cursor:pointer;transition:all .3s ease}.toggle-btn:hover{background:rgba(16,185,129,.2);transform:translateY(-2px)}.gallery-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.gallery-stats .stat-item{text-align:center;padding:1rem;background:rgba(255,255,255,.8);border-radius:12px;border:2px solid rgba(16,185,129,.1);min-width:100px}.gallery-stats .stat-number{display:block;font-size:1.5rem;font-weight:800;color:#059669;line-height:1}.gallery-stats .stat-label{font-size:.8rem;color:#6b7280;font-weight:600;margin-top:.25rem}.pagination-container{margin-top:3rem;padding:2rem;background:rgba(255,255,255,.8);border-radius:20px;border:2px solid rgba(16,185,129,.1)}.pagination-controls{gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.pagination-btn,.pagination-controls{display:flex;justify-content:center;align-items:center}.pagination-btn{width:40px;height:40px;border:2px solid rgba(16,185,129,.2);background:white;color:#059669;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600}.pagination-btn:hover:not(:disabled){background:#059669;color:white;transform:translateY(-2px)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.first,.pagination-btn.last{width:45px}.page-numbers{gap:.25rem;flex-wrap:wrap}.page-btn,.page-numbers{display:flex;align-items:center}.page-btn{justify-content:center;min-width:40px;height:40px;padding:0 .5rem;border:2px solid rgba(16,185,129,.2);background:white;color:#059669;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:600}.page-btn:hover:not(:disabled):not(.dots){background:rgba(16,185,129,.1);transform:translateY(-2px)}.page-btn.active{background:#059669;color:white;box-shadow:0 4px 15px rgba(16,185,129,.3)}.page-btn.dots{border:none;background:none;cursor:default;color:#6b7280}.page-btn.dots:hover{transform:none}.pagination-info{text-align:center;color:#6b7280;font-size:.9rem;font-weight:500}.load-more-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:linear-gradient(135deg,#059669,#10b981);color:white;border:none;border-radius:50px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px rgba(16,185,129,.3);position:relative;overflow:hidden}.load-more-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.load-more-btn:hover:before{left:100%}.load-more-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 30px rgba(16,185,129,.4)}@media (max-width:768px){.gallery-stats{gap:1rem}.gallery-stats .stat-item{padding:.75rem;min-width:80px}.gallery-stats .stat-number{font-size:1.2rem}.pagination-container{padding:1rem}.pagination-controls{gap:.25rem}.page-btn,.pagination-btn{width:35px;height:35px;min-width:35px}.pagination-btn.first,.pagination-btn.last{width:40px}.page-numbers{gap:.125rem}}@media (max-width:480px){.gallery-stats{flex-direction:column;align-items:center;gap:.5rem}.gallery-stats .stat-item{width:100%;max-width:200px}.pagination-controls{flex-direction:column;gap:1rem}.page-numbers{order:-1}}.hero-container{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:20px}.hero-background{position:absolute;inset:0;z-index:0}.bg-gradient{position:absolute;inset:0;background:linear-gradient(135deg,#f0fdf4,#dcfce7 25%,#bbf7d0 50%,#a7f3d0 75%,#6ee7b7);animation:gradientShift 8s ease-in-out infinite}@keyframes gradientShift{0%,to{opacity:1}50%{opacity:.8}}.floating-shapes{position:absolute;inset:0;pointer-events:none}.floating-shape{position:absolute;font-size:2rem;opacity:.6;animation:float 6s ease-in-out infinite}.floating-shape:nth-child(odd){animation-direction:reverse}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-20px) rotate(5deg)}50%{transform:translateY(-40px) rotate(0deg)}75%{transform:translateY(-20px) rotate(-5deg)}}.hero-content{position:relative;z-index:10;text-align:center;max-width:800px;opacity:0;transform:translateY(30px);transition:all 1s cubic-bezier(.34,1.56,.64,1)}.hero-content.visible{opacity:1;transform:translateY(0)}.hero-logo{position:relative;margin-bottom:2rem;display:inline-block}.logo-image{width:120px;height:auto;border-radius:50%;box-shadow:0 10px 40px rgba(16,185,129,.3);transition:all .3s ease;animation:logoPulse 3s ease-in-out infinite}.logo-image:hover{transform:scale(1.1) rotate(5deg)}.logo-glow{position:absolute;inset:-10px;background:radial-gradient(circle,rgba(16,185,129,.3) 0,transparent 70%);border-radius:50%;animation:glow 2s ease-in-out infinite alternate}@keyframes logoPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes glow{0%{opacity:.5;transform:scale(1)}to{opacity:1;transform:scale(1.1)}}.hero-heading{margin-bottom:2rem}.main-title{font-size:3rem;font-weight:800;line-height:1.2;margin:0}.title-line-1{display:block;background:linear-gradient(135deg,#059669,#10b981,#34d399);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.title-line-2{display:block;color:#1f2937;font-size:2.5rem}.rotating-word{display:inline-block;background:linear-gradient(135deg,#f59e0b,#f97316,#ef4444);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:wordSlide .5s ease-in-out;min-width:200px}.cursor{animation:blink 1s infinite}@keyframes wordSlide{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-description{margin-bottom:2.5rem}.description-text{font-size:1.25rem;color:#374151;line-height:1.6;margin:0}.highlight-text{font-weight:600;color:#059669}.hero-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:2.5rem;flex-wrap:wrap}.stat-item{text-align:center;padding:1rem;background:rgba(255,255,255,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;border:2px solid rgba(16,185,129,.2);transition:all .3s ease}.stat-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(16,185,129,.2)}.stat-number{font-size:2rem;font-weight:800;color:#059669;line-height:1}.stat-label{font-size:.9rem;color:#6b7280;font-weight:600;margin-top:.25rem}.hero-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.btn{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:50px;font-weight:600;font-size:1.1rem;text-decoration:none;transition:all .3s ease;overflow:hidden}.btn-primary{background:linear-gradient(135deg,#059669,#10b981);color:white;box-shadow:0 8px 32px rgba(16,185,129,.3)}.btn-primary:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 40px rgba(16,185,129,.4)}.btn-secondary{background:rgba(255,255,255,.9);color:#059669;border:2px solid #10b981;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.btn-secondary:hover{background:#10b981;color:white;transform:translateY(-3px)}.btn-icon{font-size:1.2rem}.btn-sparkle{position:absolute;top:-5px;right:-5px;font-size:1rem;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0deg);opacity:1}50%{transform:scale(1.2) rotate(180deg);opacity:.7}}.quick-actions{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.quick-action{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:rgba(255,255,255,.7);border-radius:25px;font-weight:600;color:#374151;transition:all .3s ease}.quick-action:hover{background:rgba(255,255,255,.9);transform:translateY(-2px)}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);text-align:center;color:#6b7280;animation:bounce 2s infinite}.scroll-text{font-size:.9rem;font-weight:600;margin-bottom:.5rem}.scroll-arrow{font-size:1.5rem;animation:arrowBounce 1s ease-in-out infinite}@keyframes arrowBounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media (max-width:768px){.hero-content{padding:1rem}.main-title{font-size:2.5rem}.title-line-2{font-size:2rem}.description-text{font-size:1.1rem}.hero-stats{gap:1rem}.stat-item{padding:.75rem;min-width:100px}.stat-number{font-size:1.5rem}.hero-actions{flex-direction:column;align-items:center}.btn{width:100%;max-width:280px;justify-content:center}.quick-actions{gap:1rem}.floating-shape{font-size:1.5rem}}@media (max-width:480px){.main-title{font-size:2rem}.title-line-2{font-size:1.5rem}.logo-image{width:100px}.hero-stats{flex-direction:column;align-items:center}}.challenge-card{background:white;border-radius:16px;padding:16px;box-shadow:0 4px 20px rgba(0,0,0,.08);border:2px solid transparent;transition:all .3s ease;opacity:0;transform:translateY(20px)}.challenge-card.visible{opacity:1;transform:translateY(0)}.challenge-card.hidden{opacity:0;transform:translateY(20px)}.challenge-card.blue{border-color:#dbeafe;background:linear-gradient(135deg,#ffffff,#f0f9ff)}.challenge-card.orange{border-color:#fed7aa;background:linear-gradient(135deg,#ffffff,#fff7ed)}.challenge-card.green{border-color:#bbf7d0;background:linear-gradient(135deg,#ffffff,#f0fdf4)}.challenge-card.emerald{border-color:#a7f3d0;background:linear-gradient(135deg,#ffffff,#ecfdf5)}.challenge-card.pink{border-color:#fce7f3;background:linear-gradient(135deg,#ffffff,#fdf2f8)}.challenge-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.12)}.challenge-card.blue:hover{border-color:#3b82f6}.challenge-card.orange:hover{border-color:#ea580c}.challenge-card.green:hover{border-color:#16a34a}.challenge-card.emerald:hover{border-color:#059669}.challenge-card.pink:hover{border-color:#db2777}.challenge-inner{display:flex;align-items:center;gap:16px}.challenge-left{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:8px}.challenge-emoji{font-size:2rem;line-height:1}.challenge-icon{opacity:.8}.challenge-right{flex:1;min-width:0}.challenge-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:12px}.challenge-title{font-size:1.1rem;font-weight:700;color:#1f2937;line-height:1.3;margin:0}.challenge-days{background:#f3f4f6;color:#374151;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap;flex-shrink:0}.challenge-desc{color:#6b7280;font-size:.9rem;line-height:1.4;margin:0}@media (min-width:768px){.challenge-card{padding:20px}.challenge-inner{gap:20px}.challenge-emoji{font-size:2.5rem}.challenge-title{font-size:1.25rem}.challenge-desc{font-size:1rem}.challenge-days{font-size:.875rem;padding:6px 12px}}@media (min-width:1024px){.space-y-4{display:grid;grid-template-columns:1fr 1fr;gap:24px}.space-y-4>div:first-child{grid-column:1/-1;max-width:600px;margin:0 auto}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.challenge-card.visible{animation:slideUp .6s ease-out forwards}@media (max-width:768px){.challenge-card{min-height:80px;touch-action:manipulation}.challenge-card:active{transform:scale(.98)}}.snake-path{stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 8s ease-in-out}.snake-path.animate{stroke-dashoffset:0}.snake-head{opacity:0;transform-origin:center}.snake-head.animate{opacity:1;animation:snakeHeadPulse 1s ease-in-out infinite alternate}@keyframes snakeHeadPulse{0%{transform:scale(1)}to{transform:scale(1.2)}}.level-card{opacity:0;transform:scale(.8) translateY(20px);transition:all .6s cubic-bezier(.34,1.56,.64,1);z-index:10}.level-card.visible{opacity:1;transform:scale(1) translateY(0)}.level-badge{position:absolute;top:-10px;left:-10px;background:linear-gradient(135deg,#059669,#10b981);color:white;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;box-shadow:0 4px 12px rgba(5,150,105,.3);z-index:20}.level-content{background:white;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.1);border:2px solid #d1fae5;text-align:center;position:relative;transition:all .3s ease}.level-content:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.15);border-color:#10b981}@media (max-width:768px){.level-content{width:240px;padding:20px}.level-badge{width:28px;height:28px;font-size:12px}}@media (max-width:480px){.level-content{width:200px;padding:16px}}.level-content{width:280px;padding:24px}@media (max-width:768px){.level-content{width:220px;padding:18px}}@media (max-width:480px){.relative.w-full.h-\[600px\]{height:auto;display:flex;flex-direction:column;align-items:center;gap:20px}svg{display:none}.level-card{position:static!important;transform:none!important;opacity:1!important}.level-content{width:100%;max-width:300px}}.snake-container{position:relative;height:600px}.cards-wrapper{position:relative;width:100%;height:100%}.level-card{position:absolute;transform:translate(-50%,-50%)}@media (max-width:768px){.snake-container{height:auto}.snake-container svg{display:none}.cards-wrapper{display:flex;flex-direction:column;align-items:center;gap:20px;position:static}.level-card{position:static;transform:none;opacity:1!important}.level-content{width:100%;max-width:300px}}