.avatar-selector-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.avatar-selector-modal{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out;margin:20px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,var(--primary-pink) 0%,var(--secondary-pink) 100%);color:#fff}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600}.close-button{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.close-button:hover{background:#fff3}.modal-content{padding:24px;max-height:70vh;overflow-y:auto}.selector-tabs{display:flex;background:#f3f4f6;border-radius:8px;padding:4px;margin-bottom:20px;margin-top:0}.tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:all .2s ease;font-weight:500;color:#6b7280}.tab:hover{background:#ffffffb3;color:#374151}.tab.active{background:#fff;color:var(--text-primary);box-shadow:0 2px 8px #0000001a;font-weight:600}.selector-content{max-height:450px;overflow-y:auto;padding-right:4px}.selector-content::-webkit-scrollbar{width:6px}.selector-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.selector-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.selector-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.item-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;position:relative;min-height:100px}.item-card:hover{border-color:var(--primary-pink);transform:translateY(-2px);box-shadow:0 4px 12px #f8b5d733}.item-card.selected{border-color:var(--primary-pink);background:linear-gradient(135deg,#f8b5d71a,#f88cc033);box-shadow:0 4px 12px #f8b5d74d}.item-card.locked{opacity:.6;cursor:not-allowed;background:#f9fafb}.item-card.locked:hover{transform:none;border-color:#e5e7eb;box-shadow:none}.item-icon{font-size:2rem;min-height:40px;display:flex;align-items:center;justify-content:center;font-family:"Segoe UI Emoji","Noto Color Emoji","Apple Color Emoji",Segoe UI Symbol,EmojiOne Mozilla,sans-serif;-webkit-font-smoothing:antialiased}.item-name{font-size:.75rem;font-weight:500;color:#374151;text-align:center;line-height:1.2}.owned-badge{position:absolute;top:4px;right:4px;background:#10b981;color:#fff;font-size:.625rem;padding:2px 6px;border-radius:4px;font-weight:600}.locked-badge{position:absolute;bottom:4px;left:4px;right:4px;background:#ef4444;color:#fff;font-size:.625rem;padding:2px 4px;border-radius:4px;font-weight:500;text-align:center}.section-divider{grid-column:1 / -1;display:flex;align-items:center;margin:16px 0 8px;color:#6b7280;font-size:.875rem;font-weight:500;position:relative;overflow:hidden}.section-divider span{background:#fff;padding:0 12px;position:relative}.section-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#d1d5db;z-index:0;transform:translateY(-50%)}.modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.cancel-button,.save-button{flex:1;padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-button{background:#f3f4f6;color:#374151}.cancel-button:hover{background:#e5e7eb}.save-button{background:linear-gradient(135deg,var(--primary-pink) 0%,var(--secondary-pink) 100%);color:#fff}.save-button:hover{box-shadow:0 4px 12px #f8b5d74d;transform:translateY(-1px)}@media (max-width: 768px){.avatar-selector-modal{width:95%;max-width:none;max-height:85vh}.modal-content{padding:16px;max-height:65vh}.selector-content{max-height:380px}.items-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.item-card{padding:12px 8px;min-height:80px}.item-icon{font-size:1.5rem;min-height:30px}.item-name{font-size:.7rem}}@media (max-width: 480px){.avatar-selector-modal{margin:10px;border-radius:12px}.modal-header{padding:16px}.modal-content{padding:16px;max-height:60vh}.selector-content{max-height:320px}.modal-footer{padding:16px;flex-direction:column}.items-grid{grid-template-columns:repeat(4,1fr);gap:10px}.item-card{padding:10px 6px;min-height:75px}.item-icon{font-size:1.4rem}.item-name{font-size:.65rem}}.user-profile{position:relative;display:inline-block}.user-profile-header{display:flex;align-items:center;gap:.5rem}.user-profile-button{display:flex;align-items:center;gap:.5rem;background:#ffffffe6;border:2px solid var(--primary-pink);border-radius:50px;padding:.5rem 1rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600;box-shadow:0 4px 12px #f8a5c24d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.user-profile-button:hover{background:var(--light-pink);border-color:var(--accent-pink);transform:translateY(-1px);box-shadow:0 6px 20px #f8a5c266}.user-avatar{position:relative;width:32px;height:32px;border-radius:50%;background:var(--primary-pink);border:2px solid var(--accent-pink);display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:700;color:var(--button-text);cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:0 2px 8px #f8a5c24d;text-shadow:0 1px 2px rgba(0,0,0,.2)}.user-avatar:hover{transform:scale(1.08);border-color:var(--secondary-pink);box-shadow:0 4px 15px #f8a5c280}.user-avatar.with-frame{border:2px solid #ffd700;box-shadow:0 0 10px #ffd7004d;box-sizing:border-box}.user-avatar img{width:90%;height:90%;object-fit:cover;border-radius:50%}.avatar-emoji{font-family:"Segoe UI Emoji","Noto Color Emoji","Apple Color Emoji",Segoe UI Symbol,EmojiOne Mozilla,sans-serif;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.user-name{font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.dropdown-arrow{font-size:.7rem;transition:transform .2s ease;color:var(--text-primary);font-weight:700}.user-profile-button[aria-expanded=true] .dropdown-arrow{transform:rotate(180deg)}.user-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fffffffa;border-radius:12px;box-shadow:0 20px 60px #f8a5c266;min-width:220px;z-index:9999;animation:dropdownSlideIn .2s ease-out;border:2px solid var(--primary-pink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-info{padding:1rem}.user-info-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.user-info-item:last-child{margin-bottom:0}.user-info .label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.user-info .value{color:var(--text-primary);font-weight:600;font-size:.9rem}.user-info .value.coins{color:#f39c12;font-weight:600}.user-info .value.experience{color:#9b59b6;font-weight:600}.user-info .value.level{color:#3498db;font-weight:600}.level-progress{margin:.75rem 0;padding:.5rem 0}.progress-info{display:flex;justify-content:center;margin-bottom:.5rem}.progress-text{font-size:.8rem;color:#666}.progress-bar{height:6px;background:#e1e5e9;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-pink) 0%,var(--secondary-pink) 100%);border-radius:3px;transition:width .3s ease}.user-info-divider{height:1px;background:#e1e5e9;margin:.75rem 0}.dropdown-divider{height:1px;background:#e1e5e9;margin:0}.dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;border:none;background:none;text-align:left;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-primary);transition:all .2s ease;border-radius:0 0 12px 12px}.dropdown-item:hover{background:var(--light-pink-2);color:var(--text-primary)}.logout-button{color:#ff4757}.logout-button:hover{background:#ffe1e1}.dropdown-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999}.puzzle-game .user-profile-button,.main-menu .user-profile-button,.settings-page .user-profile-button{background:#fffffff2;border:2px solid var(--primary-pink);box-shadow:0 6px 20px #f8a5c266}.puzzle-game .user-profile-button:hover,.main-menu .user-profile-button:hover,.settings-page .user-profile-button:hover{background:var(--light-pink);transform:translateY(-2px);box-shadow:0 8px 25px #f8a5c280}.night-mode .user-profile-button{background:#fffffffa;border-color:var(--accent-pink);box-shadow:0 6px 20px #c8a8e966}@media (max-width: 768px){.user-name{display:none}.user-dropdown{right:-10px}.user-profile-button{padding:.4rem .8rem}}.profile-button{color:#3498db}.profile-button:hover{background:#e3f2fd}.shop-button{color:#f39c12}.shop-button:hover{background:#fff3e0}.reset-button{color:#ff6b6b}.reset-button:hover{background:#ffe1e1}.reset-confirm-dialog{background:#fff;border-radius:12px;padding:2rem;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease}.reset-confirm-dialog h3{margin:0 0 1rem;color:#ff6b6b;text-align:center;font-size:1.2rem}.reset-confirm-dialog p{margin:0 0 1rem;color:#333;line-height:1.5}.reset-confirm-dialog ul{margin:0 0 1rem;padding-left:1.5rem;color:#666}.reset-confirm-dialog li{margin-bottom:.5rem}.reset-confirm-buttons{display:flex;gap:1rem;margin-top:1.5rem}.reset-cancel-btn,.reset-confirm-btn{flex:1;padding:.75rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.summer-animation-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#ffb6c1e6,#ffdab9e6,#add8e6e6);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;transform:scale(.8);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.summer-animation-overlay.active{opacity:1;transform:scale(1)}.summer-animation-overlay.fade-out{opacity:0;transform:scale(1.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.soda-bottle{position:absolute;top:20%;right:15%;width:80px;height:120px;animation:bottleBounce 1s ease-in-out infinite alternate}.bottle-body{position:relative;width:60px;height:100px;background:linear-gradient(180deg,#ff6384cc,#ff9f40cc);border-radius:15px 15px 25px 25px;margin:0 auto;box-shadow:0 8px 32px #ff63844d;overflow:hidden}.bottle-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;animation:labelGlow 2s ease-in-out infinite}.bottle-sparkle{position:absolute;top:20%;left:20%;width:15px;height:15px;background:radial-gradient(circle,white 0%,transparent 70%);border-radius:50%;animation:sparkleMove 3s ease-in-out infinite}.bottle-cap{width:40px;height:20px;background:linear-gradient(180deg,gold,orange);border-radius:20px 20px 5px 5px;margin:-10px auto 0;box-shadow:0 4px 16px #ffd70066}.bubbles-container{position:absolute;width:100%;height:100%;pointer-events:none}.bubble{position:absolute;font-size:16px;opacity:0;animation:bubbleFloat linear infinite}.sparkles-container{position:absolute;width:100%;height:100%;pointer-events:none}.sparkle{position:absolute;font-size:12px;opacity:0;animation:sparkleShine ease-in-out infinite}.center-text{text-align:center;color:#2c3e50;text-shadow:3px 3px 12px rgba(255,255,255,.8),1px 1px 4px rgba(0,0,0,.5);animation:textPulse 2s ease-in-out infinite;background:#ffffff1a;padding:20px 30px;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.welcome-text{font-size:24px;font-weight:400;margin-bottom:12px;color:#34495e;text-shadow:2px 2px 8px rgba(255,255,255,.9);animation:fadeInUp .6s ease-out .2s both}.game-title{font-size:48px;font-weight:700;margin-bottom:12px;background:linear-gradient(45deg,#e74c3c,#3498db,#2ecc71,#f39c12,#9b59b6);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:2px 2px 8px rgba(0,0,0,.3);animation:gradientShift 3s ease-in-out infinite,fadeInUp .6s ease-out .4s both;line-height:1.2}.subtitle{font-size:18px;font-weight:400;color:#2c3e50;text-shadow:2px 2px 8px rgba(255,255,255,.9);animation:fadeInUp .6s ease-out .6s both;line-height:1.4;max-width:500px;margin:0 auto}@keyframes bottleBounce{0%{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-15px) rotate(3deg)}}@keyframes labelGlow{0%,to{transform:translate(-50%,-50%) scale(1);filter:brightness(1)}50%{transform:translate(-50%,-50%) scale(1.1);filter:brightness(1.3)}}@keyframes sparkleMove{0%{transform:translate(0) scale(0);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(20px,-30px) scale(1);opacity:0}}@keyframes bubbleFloat{0%{opacity:0;transform:translateY(100vh) scale(0)}10%{opacity:1;transform:translateY(90vh) scale(.5)}90%{opacity:1;transform:translateY(-10vh) scale(1)}to{opacity:0;transform:translateY(-20vh) scale(0)}}@keyframes sparkleShine{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes textPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media (max-width: 768px){.soda-bottle{top:15%;right:10%;width:60px;height:90px}.bottle-body{width:45px;height:75px}.bottle-label{font-size:18px}.center-text{padding:15px 20px;margin:0 20px}.game-title{font-size:32px}.welcome-text{font-size:18px}.subtitle{font-size:14px}}.summer-animation-overlay *{will-change:transform,opacity}@media (prefers-reduced-motion: reduce){.summer-animation-overlay .bubble,.summer-animation-overlay .sparkle,.summer-animation-overlay .bottle-body{animation-duration:.5s;animation-iteration-count:1}.summer-animation-overlay .soda-bottle{animation:none}}.home-page{min-height:100vh;width:100%;position:relative;display:flex;align-items:center;justify-content:center;background:var(--background-main);background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPgo8cmVjdCB3aWR0aD0iNSIgaGVpZ2h0PSI1IiBmaWxsPSIjZmZmIj48L3JlY3Q+CjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9IiNmM2Q0ZTYiPjwvcmVjdD4KPC9zdmc+)}.home-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#f8a5c24d,#f4cba433,#f9e6d81a,#f4cba433,#f8a5c24d);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);opacity:1}.home-user-profile{position:absolute;top:2rem;right:2rem;z-index:10}.home-container{max-width:800px;width:90%;text-align:center;padding:2rem;background:#ffffffe6;border-radius:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:3px solid var(--primary-pink);box-shadow:0 20px 60px #f8a5c266}.home-header{margin-bottom:3rem}.home-title{font-size:3.5rem;font-weight:300;color:var(--text-primary);margin:0;letter-spacing:2px;text-shadow:0 2px 8px var(--shadow-pink);display:flex;align-items:center;justify-content:center;gap:1rem;font-family:Nunito,Quicksand,sans-serif}.home-icon{font-size:4rem;filter:drop-shadow(0 4px 8px var(--shadow-pink))}.home-subtitle{font-size:1.2rem;color:var(--text-secondary);margin:1rem 0 0;font-weight:300;opacity:.9}.home-menu{margin-bottom:2rem}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;max-width:700px;margin:0 auto}.menu-item{background:#ffffffd9;border:3px solid var(--primary-pink);border-radius:16px;padding:2rem;cursor:pointer;transition:all .4s cubic-bezier(.215,.61,.355,1);display:flex;align-items:center;gap:1.5rem;text-align:left;min-height:120px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);position:relative;overflow:hidden;opacity:1;box-shadow:0 12px 30px #f8a5c24d}.menu-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,214,224,.1),transparent);transition:left .5s ease}.menu-item:hover:before{left:100%}.menu-item:hover{transform:translateY(-6px) scale(1.03);border-color:var(--accent-pink);background:var(--light-pink);box-shadow:0 20px 40px #f8a5c280}.menu-item:active{transform:translateY(0) scale(.98);box-shadow:0 3px 8px var(--shadow-pink)}.menu-icon{font-size:3rem;flex-shrink:0;filter:drop-shadow(0 2px 4px var(--shadow-pink))}.menu-text{flex:1}.menu-text h3{font-size:1.4rem;color:var(--text-primary);margin:0 0 .5rem;font-weight:700;opacity:1;font-family:Nunito,Quicksand,sans-serif;text-shadow:0 1px 3px rgba(248,165,194,.2)}.menu-text p{font-size:.95rem;color:var(--text-secondary);margin:0;opacity:1;line-height:1.4;font-weight:600;font-family:Nunito,Quicksand,sans-serif}.home-footer{margin-top:2rem}.decorative-elements{display:flex;justify-content:center;gap:2rem;opacity:.6}.summer-icon{font-size:1.5rem;animation:gentle-float 3s ease-in-out infinite;filter:drop-shadow(0 2px 4px var(--shadow-pink))}.summer-icon:nth-child(2){animation-delay:1s}.summer-icon:nth-child(3){animation-delay:2s}@keyframes gentle-float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(1deg)}50%{transform:translateY(-10px) rotate(0)}75%{transform:translateY(-5px) rotate(-1deg)}}[data-theme=night] .home-page{background:var(--background-main)}[data-theme=night] .home-overlay{background:linear-gradient(135deg,#d67ba866,#d4a5744d,#3d2a3f33,#d4a5744d,#d67ba866);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}[data-theme=night] .home-container{background:#ffffffe6;border:3px solid var(--primary-pink);box-shadow:0 20px 60px #d67ba899}[data-theme=night] .menu-item{background:#ffffffd9;border:3px solid var(--primary-pink);box-shadow:0 12px 30px #d67ba880}[data-theme=night] .menu-item:before{background:linear-gradient(90deg,transparent,rgba(214,123,168,.15),transparent)}[data-theme=night] .menu-item:hover{background:var(--light-pink);border-color:var(--accent-pink);box-shadow:0 20px 40px #d67ba8b3}[data-theme=night] .menu-item:active{box-shadow:0 3px 8px var(--shadow-pink)}[data-theme=night] .menu-text h3{color:var(--text-primary);text-shadow:0 1px 3px rgba(214,123,168,.2)}[data-theme=night] .menu-text p{color:var(--text-secondary)}[data-theme=night] .home-title{color:var(--text-primary);text-shadow:0 2px 8px var(--shadow-pink)}[data-theme=night] .home-subtitle{color:var(--text-secondary)}[data-theme=night] .summer-icon{filter:drop-shadow(0 2px 4px var(--shadow-pink))}@media (max-width: 768px){.home-user-profile{top:1rem;right:1rem}.home-title{font-size:2.5rem;flex-direction:column;gap:.5rem}.home-icon{font-size:3rem}.menu-grid{grid-template-columns:1fr;gap:1rem}.menu-item{padding:1.5rem;min-height:100px}.menu-icon{font-size:2.5rem}.menu-text h3{font-size:1.2rem}.menu-text p{font-size:.9rem}}@media (max-width: 480px){.home-container{padding:1.5rem;width:95%}.home-title{font-size:2rem}.home-icon{font-size:2.5rem}.menu-item{flex-direction:column;text-align:center;gap:1rem;padding:1.5rem 1rem}}.asset-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;cursor:pointer;position:relative}.asset-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.asset-thumbnail{position:relative;width:100%;height:200px;overflow:hidden}.asset-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.svg-thumbnail{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f8f9fa}.svg-image{width:100%;height:100%;object-fit:cover}.asset-card:hover .asset-thumbnail img{transform:scale(1.05)}.asset-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.7) 100%);opacity:0;transition:opacity .3s ease;display:flex;align-items:flex-end;padding:16px}.asset-card:hover .asset-overlay{opacity:1}.asset-info h4{color:#fff;margin:0 0 4px;font-size:16px;font-weight:600}.asset-info p{color:#ffffffe6;margin:2px 0;font-size:14px}.asset-footer{padding:12px;display:flex;justify-content:space-between;align-items:center}.asset-tags{display:flex;gap:4px}.tag{background:#f3f4f6;color:#6b7280;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.delete-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s ease;font-size:16px}.asset-card.locked{cursor:not-allowed;opacity:.7}.asset-card.locked:hover{transform:none;box-shadow:0 2px 8px #0000001a}.asset-thumbnail img.locked,.svg-image.locked{filter:grayscale(100%) blur(1px)}.lock-overlay{position:absolute;inset:0;background:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10}.lock-icon{font-size:48px;margin-bottom:8px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.lock-text{color:#fff;font-size:14px;font-weight:600;background:#000c;padding:4px 12px;border-radius:16px;text-align:center}.asset-card.locked .asset-overlay,.asset-card.locked:hover .asset-overlay{opacity:0}.new-badge-small{position:absolute;top:8px;right:8px;background:linear-gradient(135deg,#ff69b4,#ff1493);color:#fff;font-size:10px;font-weight:700;padding:3px 6px;border-radius:8px;box-shadow:0 2px 6px #ff149366;z-index:15;animation:newBadgePulse 2s ease-in-out infinite;text-shadow:0 1px 2px rgba(0,0,0,.3)}@keyframes newBadgePulse{0%,to{transform:scale(1);box-shadow:0 2px 6px #ff149366}50%{transform:scale(1.05);box-shadow:0 3px 8px #ff149399}}.image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#f5f5f5,#e0e0e0);display:flex;align-items:center;justify-content:center;border-radius:8px}.placeholder-content{text-align:center;color:#999}.placeholder-icon{font-size:24px;margin-bottom:8px}.placeholder-text{font-size:12px;font-weight:500}.loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5}.loading-spinner{width:24px;height:24px;border:2px solid #f3f3f3;border-top:2px solid var(--primary-pink);border-radius:50%;animation:spin 1s linear infinite}.error-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#ff6b6b;z-index:5}.error-icon{font-size:24px;margin-bottom:4px}.error-text{font-size:12px;font-weight:500}.asset-card.loading .asset-thumbnail img{opacity:0;transition:opacity .3s ease}.asset-card.loaded .asset-thumbnail img{opacity:1;transition:opacity .3s ease}.asset-thumbnail img{will-change:transform;transform:translateZ(0);backface-visibility:hidden}.btn{border:none;border-radius:8px;font-weight:600!important;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-family:inherit;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:inherit!important;line-height:1.5!important;text-align:center!important;vertical-align:middle!important;white-space:nowrap;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.btn:disabled{cursor:not-allowed;opacity:.6}.btn:focus{outline:2px solid var(--primary-pink);outline-offset:2px}.btn-small{padding:6px 12px;font-size:14px!important;min-height:32px}.btn-medium{padding:10px 20px;font-size:16px!important;min-height:40px}.btn-large{padding:14px 28px;font-size:18px!important;min-height:48px}.btn-primary{background-color:var(--primary-pink);color:var(--button-text);opacity:1;font-weight:700!important;text-shadow:0 1px 2px rgba(0,0,0,.2)}.btn-primary:hover:not(:disabled){background-color:var(--secondary-pink);color:var(--button-text);opacity:1;transform:translateY(-1px);box-shadow:0 4px 12px #f8a5c266}.btn-secondary{background-color:var(--accent-pink);color:var(--button-text);opacity:1;font-weight:700!important;text-shadow:0 1px 2px rgba(0,0,0,.2)}.btn-secondary:hover:not(:disabled){background-color:var(--primary-pink);color:var(--button-text);opacity:1;transform:translateY(-1px);box-shadow:0 4px 12px #f0b27a66}.btn-danger{background-color:#e74c3c;color:var(--button-text);opacity:1;font-weight:700!important;text-shadow:0 1px 2px rgba(0,0,0,.2)}.btn-danger:hover:not(:disabled){background-color:#c0392b;color:var(--button-text);opacity:1;transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c66}.btn-success{background-color:var(--accent-green);color:var(--text-primary);border:2px solid var(--accent-green);opacity:1;font-weight:700!important}.btn-success:hover:not(:disabled){background-color:#85e3c1;color:var(--text-primary);border-color:#85e3c1;opacity:1;transform:translateY(-1px);box-shadow:0 4px 12px #a8e6cf66}.btn,.btn *{box-sizing:border-box}.btn:not(:disabled){opacity:1!important;visibility:visible!important}.btn>*{color:inherit!important;font-weight:inherit!important;display:inline!important;visibility:visible!important}.btn .emoji,.btn .icon{display:inline-block!important;font-style:normal!important;font-variant:normal!important;text-rendering:auto!important;line-height:1!important}.btn:hover>*,.btn:focus>*,.btn:active>*{color:inherit!important;opacity:1!important;visibility:visible!important}.asset-library{height:100%;display:flex;flex-direction:column;background:#f9fafb;overflow:hidden}.library-header{padding:20px;background:#fff;border-bottom:1px solid #E5E7EB;display:flex;justify-content:space-between;align-items:center}.library-header h3{margin:0;color:#1f2937;font-size:20px}.header-controls{display:flex;align-items:center;gap:16px}.search-container{position:relative}.search-box{position:relative;width:250px}.search-input{width:100%;padding:8px 30px 8px 12px;border:1px solid #D1D5DB;border-radius:6px;font-size:14px;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:var(--primary-pink);box-shadow:0 0 0 3px #ffb6c11a}.search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.upload-section{display:flex;align-items:center}.category-tabs-container{padding:0 20px 16px;background:#fff;border-bottom:1px solid #E5E7EB}.category-tabs{display:flex;gap:2px;background:#f3f4f6;padding:2px;border-radius:8px}.tab{padding:6px 12px;background:none;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s ease}.tab:hover{background:#e5e7eb;color:#374151}.tab.active{background:#fff;color:var(--primary-pink);box-shadow:0 1px 3px #0000001a}.tab.new-category{position:relative;background:linear-gradient(135deg,#ff69b4,#ff1493);color:#fff;font-weight:600;box-shadow:0 2px 8px #ff14934d;animation:newCategoryPulse 2s ease-in-out infinite}.tab.new-category:hover{background:linear-gradient(135deg,#ff1493,#dc143c);transform:translateY(-1px);box-shadow:0 4px 12px #ff149366}.tab.new-category.active{background:linear-gradient(135deg,#ff1493,#dc143c);color:#fff;box-shadow:0 2px 8px #ff149366}.new-badge{position:absolute;top:-6px;right:-6px;background:#ff1744;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;box-shadow:0 2px 4px #0003;animation:newBadgeBounce 1.5s ease-in-out infinite}@keyframes newCategoryPulse{0%,to{box-shadow:0 2px 8px #ff14934d}50%{box-shadow:0 4px 16px #ff149380}}@keyframes newBadgeBounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.asset-grid{flex:1;overflow-y:auto;padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;min-height:0;grid-auto-rows:min-content}.no-assets{grid-column:1 / -1;text-align:center;padding:60px 20px;color:#6b7280}.no-assets p{margin:8px 0;font-size:16px}.no-assets p:first-child{font-weight:600;color:#374151}.asset-grid::-webkit-scrollbar{width:8px}.asset-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.asset-grid::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.asset-grid::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 768px){.library-header{flex-direction:column;gap:12px;align-items:flex-start}.header-controls{width:100%;flex-direction:column;align-items:stretch}.search-box{width:100%;max-width:none}.category-tabs-container{padding:0 16px 16px}.category-tabs{overflow-x:auto;justify-content:flex-start}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;padding:16px}}.load-more-container{grid-column:1 / -1;display:flex;justify-content:center;padding:20px}.load-more-button{background:linear-gradient(135deg,var(--primary-pink),var(--accent-pink));color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #ffb6c14d}.load-more-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffb6c166;background:linear-gradient(135deg,var(--accent-pink),var(--primary-pink))}.load-more-button:active{transform:translateY(0);box-shadow:0 2px 6px #ffb6c14d}.game-help-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px}.help-content{background:#fff;border-radius:16px;max-width:800px;max-height:90vh;width:100%;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.help-header{background:linear-gradient(135deg,var(--primary-pink) 0%,var(--secondary-pink) 100%);color:#fff;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.help-header h2{margin:0;font-size:24px;font-weight:600}.help-body{padding:24px;max-height:60vh;overflow-y:auto}.help-section{margin-bottom:32px}.help-section:last-child{margin-bottom:0}.help-section h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;padding-bottom:8px}.help-section p{margin:0 0 12px;color:#6b7280;line-height:1.6}.operation-list{display:flex;flex-direction:column;gap:16px}.operation-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:#f9fafb;border-radius:12px;border-left:4px solid var(--primary-pink)}.step{background:var(--primary-pink);color:var(--text-primary);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.operation-item strong{display:block;margin-bottom:4px;color:#374151;font-size:16px}.operation-item p{margin:0;color:#6b7280;font-size:14px}.shortcut-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.shortcut-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f3f4f6;border-radius:8px}.shortcut-item kbd{background:#374151;color:#fff;padding:4px 8px;border-radius:4px;font-family:monospace;font-size:12px;font-weight:600;min-width:60px;text-align:center}.shortcut-item span{color:#6b7280;font-size:14px}.tips-list{margin:0;padding-left:20px;color:#6b7280;line-height:1.6}.tips-list li{margin-bottom:8px;position:relative}.tips-list li::marker{content:"💡 "}.difficulty-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.difficulty-item{padding:16px;border-radius:12px;border-left:4px solid;background:#f9fafb;font-size:14px;line-height:1.5}.difficulty-item.easy{border-color:#10b981;background:#ecfdf5}.difficulty-item.medium{border-color:var(--primary-pink);background:#fff5f8}.difficulty-item.hard{border-color:#f59e0b;background:#fffbeb}.difficulty-item.expert{border-color:#ef4444;background:#fef2f2}.difficulty-item strong{display:block;margin-bottom:4px;color:#374151}.help-footer{padding:20px 24px;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:center}.help-button{position:relative}@media (max-width: 768px){.game-help-modal{padding:12px}.help-content{max-height:95vh}.help-header{padding:16px 20px}.help-header h2{font-size:20px}.help-body{padding:20px;max-height:70vh}.help-section{margin-bottom:24px}.operation-list{gap:12px}.operation-item{padding:12px;flex-direction:column;align-items:flex-start;gap:8px}.shortcut-list,.difficulty-list{grid-template-columns:1fr}}@media (max-width: 480px){.help-header{padding:12px 16px}.help-body{padding:16px}.help-section h3{font-size:16px}}.data-sync{background:#ffffffe6;border-radius:16px;padding:1.5rem;box-shadow:0 4px 12px #ffc0cb1a;border:1px solid rgba(255,192,203,.2);margin:1rem 0}.sync-header{text-align:center;margin-bottom:1.5rem}.sync-header h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.25rem;font-weight:300}.sync-header p{margin:0;color:var(--text-secondary);font-size:.9rem}.sync-info{background:#fffc;border-radius:8px;padding:1rem;margin-bottom:1.5rem;border:1px solid rgba(255,192,203,.1)}.info-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.info-item:last-child{margin-bottom:0}.label{color:var(--text-secondary);font-size:.9rem}.value{color:var(--text-primary);font-weight:500;font-size:.9rem}.status{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.9rem}.status.idle{color:#6c757d}.status.syncing{color:#007bff}.status.success{color:#28a745}.status.error{color:#dc3545}.sync-button{width:100%;background:linear-gradient(135deg,var(--primary-pink) 0%,var(--accent-pink) 100%);color:var(--text-primary);border:none;padding:.875rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-bottom:1.5rem}.sync-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ffc0cb4d}.sync-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.sync-button.loading{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.sync-explanation{border-top:1px solid #e9ecef;padding-top:1.5rem}.sync-explanation h4{margin:0 0 1rem;color:#333;font-size:1rem}.sync-explanation ol{padding-left:1.2rem;margin:0 0 1rem}.sync-explanation li{margin-bottom:.5rem;color:#555;font-size:.9rem;line-height:1.4}.tech-note{background:#e7f3ff;border:1px solid #cce7ff;border-radius:6px;padding:1rem;margin-top:1rem}.tech-note p{margin:0 0 .5rem;font-size:.85rem;color:#06c;line-height:1.4}.tech-note p:last-child{margin-bottom:0}.tech-note strong{color:#049}@media (max-width: 480px){.data-sync{padding:1rem;margin:.5rem 0}.info-item{flex-direction:column;align-items:flex-start;gap:.25rem}.sync-explanation ol{padding-left:1rem}}.save-load-modal-overlay{position:fixed;inset:0;background-color:#f8a5c266;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.save-load-modal{background:var(--card-background);border:3px solid var(--primary-pink);border-radius:12px;box-shadow:0 20px 60px #f8a5c266;width:90%;max-width:600px;max-height:80vh;overflow:hidden;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,var(--primary-pink) 0%,var(--accent-pink) 100%);color:var(--button-text);text-shadow:0 1px 2px rgba(0,0,0,.2)}.modal-header h2{margin:0;font-size:1.4rem;font-weight:600}.save-load-modal .close-button{background:#fff3;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#dc2626!important;font-size:1.2rem;transition:background-color .2s}.save-load-modal .close-button:hover:not(:disabled){background:#ffffff4d;color:#dc2626!important}.close-button:disabled{cursor:not-allowed;opacity:.5}.modal-content{padding:24px;max-height:calc(80vh - 80px);overflow-y:auto}.save-section{display:flex;flex-direction:column;gap:20px}.current-game-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.current-game-info h3{margin:0 0 12px;color:#374151;font-size:1.1rem}.progress-info{display:flex;align-items:center;gap:12px}.progress-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);transition:width .3s ease}.progress-text{font-weight:600;color:#059669;min-width:50px;text-align:right}.save-input-section{display:flex;flex-direction:column;gap:8px}.save-input-section label{font-weight:500;color:#374151}.save-input-section input{padding:12px;border:2px solid #e5e7eb;border-radius:6px;font-size:14px;transition:border-color .2s}.save-input-section input:focus{outline:none;border-color:var(--primary-pink);box-shadow:0 0 0 3px #f8b5d71a}.save-input-section input:disabled{background:#f9fafb;cursor:not-allowed}.char-count{font-size:12px;color:#6b7280;text-align:right}.load-section{display:flex;flex-direction:column;gap:20px}.no-saves{text-align:center;padding:40px 20px;color:#6b7280}.no-saves-icon{font-size:3rem;margin-bottom:16px}.no-saves p{margin:8px 0}.no-saves-hint{font-size:.9rem;opacity:.8}.saves-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding-right:4px}.save-item{display:flex;align-items:center;gap:12px;padding:16px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff}.save-item:hover{border-color:var(--primary-pink);background:#fff5f8}.save-item.selected{border-color:var(--primary-pink);background:#fff5f8;box-shadow:0 0 0 3px #f8b5d71a}.save-info{flex:1;min-width:0}.save-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.save-header h4{margin:0;color:#1f2937;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-date{font-size:.8rem;color:#6b7280;flex-shrink:0}.save-details{margin-bottom:8px}.save-progress{display:flex;gap:16px;font-size:.85rem;color:#4b5563;margin-bottom:4px}.save-description{font-size:.85rem;color:#6b7280;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-progress-bar{width:100%;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.save-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-pink),var(--secondary-pink));transition:width .3s ease}.save-actions{display:flex;flex-direction:column;gap:8px}.delete-button{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;padding:8px;cursor:pointer;font-size:1.1rem;transition:all .2s;color:#dc2626}.delete-button:hover:not(:disabled){background:#fecaca;border-color:#fca5a5}.delete-button:disabled{cursor:not-allowed;opacity:.5}.action-buttons{display:flex;gap:12px;padding-top:20px;border-top:1px solid #e5e7eb}.action-buttons .button{flex:1}.message{padding:12px 16px;border-radius:6px;font-weight:500;margin-top:16px;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message.success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.message.error{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.delete-confirm-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10}.delete-confirm-modal{background:#fff;border-radius:8px;padding:24px;box-shadow:0 10px 25px #0000004d;max-width:400px;width:90%;animation:modalSlideIn .2s ease-out}.delete-confirm-modal h3{margin:0 0 12px;color:#dc2626;font-size:1.2rem}.delete-confirm-modal p{margin:0 0 20px;color:#4b5563;line-height:1.5}.delete-confirm-actions{display:flex;gap:12px}.delete-confirm-actions .button{flex:1}@media (max-width: 768px){.save-load-modal{width:95%;max-height:90vh}.modal-content,.modal-header{padding:16px}.modal-header h2{font-size:1.2rem}.save-progress{flex-direction:column;gap:4px}.action-buttons,.delete-confirm-actions{flex-direction:column}}.main-menu{display:flex;flex-direction:column;height:100vh;background:var(--light-pink-1);color:var(--text-color);font-family:Nunito,Quicksand,Comfortaa,sans-serif}.menu-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:var(--light-pink-1);border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-pink)}.header-content{text-align:center;flex:1}.header-actions{display:flex;gap:12px}.menu-header h1{margin:0 0 8px;font-size:32px;font-weight:400;color:var(--text-primary);text-shadow:0 2px 4px rgba(255,214,224,.2)}.menu-header p{margin:0;font-size:16px;color:var(--text-light)}.menu-content{flex:1;display:flex;gap:20px;padding:20px;max-width:1400px;margin:0 auto;width:100%;overflow:auto;min-height:0}.asset-section{flex:1;background:#fffffff2;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #f8a5c24d;border:2px solid var(--primary-pink);min-height:500px;display:flex;flex-direction:column;height:calc(100vh - 200px);min-height:400px}.config-section{width:350px;background:#fffffff2;border-radius:16px;padding:20px;box-shadow:0 8px 24px #f8a5c24d;border:2px solid var(--primary-pink);flex-shrink:0;overflow-y:auto;max-height:calc(100vh - 160px)}.config-panel h3{margin:0 0 24px;color:var(--text-primary);font-size:24px;font-weight:300;text-align:center;text-shadow:0 1px 4px rgba(255,214,224,.2)}.selected-asset{margin-bottom:24px;padding:20px;background:var(--light-pink);border-radius:12px;border:2px solid var(--primary-pink);box-shadow:0 4px 12px #f8a5c233}.selected-asset h4{margin:0 0 12px;color:var(--text-primary);font-size:16px;font-weight:700}.asset-preview{display:flex;gap:16px;align-items:flex-start}.preview-image{width:120px;height:120px;border-radius:8px;overflow:hidden;background:var(--neutral-color);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;border:2px solid var(--primary-pink)}.selected-asset-image{width:100%;height:100%;object-fit:contain;border-radius:6px}.placeholder-preview{width:100%;height:100%;background:linear-gradient(45deg,var(--light-pink-1) 25%,var(--primary-pink) 25%,var(--primary-pink) 50%,var(--light-pink-1) 50%,var(--light-pink-1) 75%,var(--primary-pink) 75%,var(--primary-pink));background-size:20px 20px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-light);text-align:center}.asset-details{flex:1}.asset-details p{margin:4px 0;font-size:14px;color:var(--text-secondary);font-weight:500}.difficulty-selector,.shape-selector{margin-bottom:24px}.difficulty-selector h4,.shape-selector h4{margin:0 0 12px;color:var(--text-primary);font-size:16px;font-weight:700}.difficulty-options{display:grid;grid-template-columns:1fr;gap:8px}.difficulty-btn{padding:12px 16px;border:2px solid var(--primary-pink);border-radius:8px;background:#fffc;cursor:pointer;text-align:left;font-size:14px;font-weight:600;color:var(--text-primary);transition:all .3s ease;font-family:Nunito,Quicksand,Comfortaa,sans-serif}.difficulty-btn:hover{border-color:var(--accent-pink);background:var(--light-pink);transform:translateY(-2px);box-shadow:0 6px 15px #f8a5c24d}.difficulty-btn.active{border-color:var(--primary-pink);background:var(--primary-pink);color:var(--button-text);font-weight:700;transform:translateY(-2px);box-shadow:0 6px 15px #f8a5c266;text-shadow:0 1px 2px rgba(0,0,0,.2)}.shape-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.shape-btn{padding:16px 8px;border:2px solid var(--primary-pink);border-radius:8px;background:#fffc;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s ease}.shape-btn:hover{border-color:var(--accent-pink);background:var(--light-pink);transform:translateY(-1px);box-shadow:0 4px 10px #f8a5c233}.shape-btn.active{border-color:var(--accent-green);background:var(--accent-green);color:var(--text-primary);font-weight:700;transform:translateY(-1px);box-shadow:0 4px 10px #a8e6cf66}.shape-icon{font-size:24px}.shape-label{font-size:12px;font-weight:600;color:var(--text-primary)}.action-buttons{display:flex;flex-direction:column;gap:16px;margin-top:24px}.secondary-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.feature-btn{font-size:.875rem;padding:8px 12px;white-space:nowrap}.original-action-buttons{display:flex;flex-direction:column;gap:12px}.start-btn,.editor-btn{width:100%;padding:16px;font-size:16px;font-weight:600}.selection-hint{text-align:center;padding:16px;background:var(--accent-yellow);border-radius:8px;margin-top:16px}.selection-hint p{margin:0;color:var(--text-secondary);font-size:14px}.menu-footer{text-align:center;padding:15px 20px;background:var(--light-pink-1);border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:12px}.menu-footer p{margin:4px 0}.config-section::-webkit-scrollbar{width:8px}.config-section::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.config-section::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.config-section::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 1024px){.menu-content{flex-direction:column}.config-section{width:100%;max-width:600px;margin:0 auto}}@media (max-width: 768px){.menu-header h1{font-size:36px}.menu-content{padding:0 16px 16px}.difficulty-options{grid-template-columns:1fr}.shape-options{grid-template-columns:repeat(3,1fr)}.secondary-buttons{grid-template-columns:1fr}}.puzzle-piece-area{flex:1;padding:20px;display:flex;flex-direction:column;overflow-y:auto;min-height:0}.empty-area{flex:1;display:flex;align-items:center;justify-content:center;color:#10b981;font-size:18px;font-weight:600;height:100%}.pieces-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px;margin-bottom:20px;grid-auto-rows:minmax(130px,auto);align-items:start;padding:12px}.pieces-grid.tetris-grid{grid-template-columns:repeat(2,1fr);gap:40px;grid-auto-rows:minmax(300px,auto);justify-items:center;align-items:center;padding:32px}.puzzle-piece-item{opacity:1!important;position:relative;aspect-ratio:1;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;overflow:hidden;-webkit-user-select:none;user-select:none}.puzzle-piece-item:hover{border-color:var(--primary-pink);transform:scale(1.05);box-shadow:0 4px 20px #f8b5d726}.puzzle-piece-item.selected{border-color:#10b981;background:#ecfdf5;box-shadow:0 0 0 3px #10b98133}.puzzle-piece-item.tetris-piece{aspect-ratio:auto;min-width:160px;min-height:100px;max-width:320px;max-height:320px;width:auto;height:auto;display:flex;align-items:center;justify-content:center;margin:8px;padding:16px;overflow:visible;border-radius:12px;border-width:3px;position:relative}.puzzle-piece-item.tetris-piece:hover{transform:scale(1.02)}.puzzle-piece-container{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:110px}.puzzle-piece-container:has(.tetris-piece){min-height:200px;min-width:240px;padding:16px;display:flex;align-items:center;justify-content:center;border:2px dashed #e2e8f0;border-radius:12px;background:#fafafa;transition:all .2s ease;margin:8px}.puzzle-piece-container:has(.tetris-piece):hover{border-color:#3b82f6;background:#f8faff}.tetris-image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:none;object-position:center;display:block;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.tetris-shape-label{position:absolute;top:4px;left:4px;background:#3b82f6cc;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;z-index:1}.tetris-l,.tetris-j,.tetris-t,.tetris-s,.tetris-z,.tetris-i,.tetris-o{border:3px solid #3b82f6;box-shadow:0 2px 8px #0000001a}.tetris-i{min-width:100px;min-height:100px;max-width:120px;max-height:120px}.tetris-i3{min-width:200px;min-height:80px;max-width:240px;max-height:100px}.tetris-l{border-color:#f97316;background:linear-gradient(135deg,#fed7aa,#fdba74)}.tetris-j{border-color:#3b82f6;background:linear-gradient(135deg,#dbeafe,#93c5fd)}.tetris-t{border-color:#8b5cf6;background:linear-gradient(135deg,#ede9fe,#c4b5fd)}.tetris-s{border-color:#10b981;background:linear-gradient(135deg,#d1fae5,#6ee7b7)}.tetris-z{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fca5a5)}.tetris-i{border-color:#06b6d4;background:linear-gradient(135deg,#cffafe,#67e8f9)}.tetris-o{border-color:#eab308;background:linear-gradient(135deg,#fef3c7,#fde047)}.tetris-l3,.tetris-i3,.tetris-i2{border:2px solid #6b7280;background:linear-gradient(135deg,#f3f4f6,#d1d5db);box-shadow:0 1px 4px #0000001a}.tetris-o1{border:1px solid #9ca3af;background:linear-gradient(135deg,#f9fafb,#e5e7eb);box-shadow:0 1px 2px #0000000d}.puzzle-piece-item.dragging{opacity:.5;transform:scale(.95);cursor:grabbing}.puzzle-piece-area{position:relative}.puzzle-piece-area.can-drop{transition:all .3s ease}.puzzle-piece-area.can-drop:hover{background:#10b9810d;border:2px dashed #10b981;border-radius:8px}.piece-number{position:absolute;top:4px;left:4px;background:#000000b3;color:#fff;font-size:12px;font-weight:600;padding:2px 6px;border-radius:4px;z-index:2}.piece-image{width:100%;height:100%;object-fit:cover;display:block}.selection-indicator{position:absolute;bottom:0}.puzzle-piece-container{position:relative;display:inline-block}.selected-label{position:absolute;bottom:0;transform:translate(-50%);background-color:#000c;border-radius:4px 4px 0 0;white-space:nowrap;z-index:10;left:0;right:0;background:linear-gradient(135deg,#10b981,#059669);color:#fff;text-align:center;padding:4px;font-size:12px;font-weight:600;transform:translateY(0);animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.area-tips{background:#f1f5f9;border-radius:8px;padding:16px;border-left:4px solid var(--primary-pink)}.area-tips p{margin:4px 0;font-size:14px;color:#475569}.area-tips p:first-child{margin-top:0}.area-tips p:last-child{margin-bottom:0}@media (max-width: 768px){.puzzle-piece-area{padding:16px}.pieces-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.area-tips{padding:12px}.area-tips p{font-size:13px}}@media (max-width: 480px){.pieces-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.piece-number{font-size:10px;padding:1px 4px}}.puzzle-piece-item.triangle-piece{border-radius:4px;overflow:hidden}.puzzle-piece-item.triangle-upper{clip-path:polygon(0% 0%,100% 0%,100% 100%)}.puzzle-piece-item.triangle-lower{clip-path:polygon(0% 0%,0% 100%,100% 100%)}.triangle-piece .triangle-image{width:100%;height:100%;object-fit:cover;display:block}.triangle-piece:hover{transform:scale(1.03);box-shadow:0 6px 25px #3b82f633}.triangle-piece.selected{box-shadow:0 0 0 3px #fbbf244d;border-color:#fbbf24}.triangle-piece .selection-indicator{background:linear-gradient(135deg,#fbbf24,#f59e0b);font-size:10px;padding:2px}.triangle-piece .piece-number{font-size:10px;padding:1px 4px;background:#000c}.triangle-piece:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;z-index:1;opacity:.1;transition:opacity .2s ease}.triangle-upper:before{border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid var(--primary-pink)}.triangle-lower:before{border-left:8px solid transparent;border-right:8px solid transparent;border-top:12px solid var(--primary-pink)}.triangle-piece:hover:before{opacity:.3}.fake-piece{position:relative;border:2px dashed #ef4444!important;background:repeating-linear-gradient(45deg,#fee2e2,#fee2e2 10px,#fecaca 10px 20px)!important}.fake-piece:after{content:"🐟";position:absolute;top:2px;right:2px;font-size:16px;z-index:3;background:#ef4444cc;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-weight:700}.fake-piece:hover{border-color:#ef4444!important;box-shadow:0 0 12px #ef444466!important}.fake-piece .piece-number:after{content:" (伪造)";color:#ef4444;font-weight:700}.answer-grid-container{flex:1;padding:20px;display:flex;flex-direction:column;position:relative;min-height:0;max-width:100%;max-height:100%;box-sizing:border-box;overflow:hidden;align-items:center;justify-content:center}.background-image{position:absolute;inset:20px 20px 100px;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.3;border-radius:8px;z-index:0;position:fixed}.answer-grid{position:relative;display:grid;gap:0px;background:transparent;border-radius:8px;max-width:100%;max-height:100%;width:fit-content;height:fit-content;box-sizing:border-box;padding:0;z-index:1;overflow-y:auto;overflow-x:auto;justify-content:center;align-content:flex-start;margin-bottom:20px;scroll-behavior:smooth;grid-auto-flow:row;min-height:0;min-width:0}.answer-grid::-webkit-scrollbar{width:8px}.answer-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.answer-grid::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.answer-grid::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.grid-slot{position:relative;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid transparent;aspect-ratio:1;min-height:60px;min-width:60px;margin:0}.grid-slot.empty{background:#f8fafc;border-style:dashed;border-color:#cbd5e1}.grid-slot.empty:hover{background:#f1f5f9;border-color:#94a3b8}.grid-slot.highlight{background:#ecfdf5;border-color:#10b981;border-style:solid}.grid-slot.occupied{background:#fff;border-color:#e2e8f0;border-style:solid}.grid-slot.occupied:hover{border-color:var(--primary-pink);box-shadow:0 2px 8px #f8b5d726}.grid-slot.selected{border-color:#10b981;box-shadow:0 0 0 2px #10b98133}.grid-slot.drag-over{background:#f8b5d71a;border-color:var(--primary-pink);border-style:dashed;box-shadow:0 0 0 2px #f8b5d74d;animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.placed-piece.dragging{opacity:.5;transform:scale(.95);cursor:grabbing}.placed-piece{cursor:grab}.placed-piece:active{cursor:grabbing}.slot-number{position:absolute;top:4px;left:4px;background:#000000b3;color:#fff;font-size:10px;font-weight:600;padding:2px 4px;border-radius:3px;z-index:3}.placed-piece{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.placed-piece .piece-image{width:100%;height:100%;object-fit:cover;display:block}.piece-info{position:absolute;bottom:4px;right:4px;background:#000000b3;color:#fff;font-size:10px;font-weight:600;padding:2px 4px;border-radius:3px;z-index:3}.correctness-indicator{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;z-index:3}.correctness-indicator.correct{background:#10b981;color:#fff}.correctness-indicator.incorrect{background:#ef4444;color:#fff}.drop-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#10b9811a;color:#10b981;font-size:12px;font-weight:600;border-radius:6px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.grid-info{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;padding:12px 16px;border-radius:8px;border:none;flex-shrink:0}.grid-info.fixed-bottom{position:absolute;bottom:20px;left:20px;right:20px;margin:0;z-index:10;box-shadow:none}.completion-status,.correctness-status{font-size:14px;font-weight:600}.completion-status{color:var(--primary-pink)}.correctness-status{color:#10b981}@media (max-width: 768px){.answer-grid-container{padding:16px}.background-image{inset:16px 16px 80px}.answer-grid{gap:1px;padding:1px;min-height:300px}.slot-number,.piece-info{font-size:9px;padding:1px 3px}.correctness-indicator{width:16px;height:16px;font-size:10px}.grid-info{padding:10px 12px;font-size:12px}.drop-hint{font-size:10px}}@media (max-width: 480px){.grid-info{flex-direction:column;gap:4px;text-align:center}}.triangle-grid{display:grid;gap:2px;padding:2px;max-width:100%;max-height:100%;width:fit-content;height:fit-content;box-sizing:border-box;overflow:hidden;margin:auto}.triangle-square-container{position:relative;border:1px solid #e2e8f0;border-radius:4px;background:#fffc;overflow:hidden;box-sizing:border-box;width:100%;height:100%;max-width:100%;max-height:100%}.triangle-slot{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;overflow:hidden}.triangle-slot.upper-triangle{clip-path:polygon(0% 0%,100% 0%,100% 100%)}.triangle-slot.lower-triangle{clip-path:polygon(0% 0%,0% 100%,100% 100%)}.triangle-slot.empty{background:#94a3b81a;border:1px dashed #cbd5e1}.triangle-slot.empty:hover{background:#f8b5d71a;border-color:var(--primary-pink)}.triangle-slot.highlight{background:#22c55e33;border-color:#22c55e;animation:pulse 2s infinite}.triangle-slot.selected{background:#fbbf244d;border:2px solid #fbbf24;box-shadow:0 0 0 2px #fbbf2480}.triangle-slot.drag-over{background:#22c55e4d;border-color:#22c55e;transform:scale(1.02)}.triangle-slot.dragging{opacity:.5;transform:scale(.95)}.triangle-piece{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease}.triangle-piece:hover{transform:scale(1.02)}.triangle-piece.upper{clip-path:polygon(0% 0%,100% 0%,100% 100%)}.triangle-piece.lower{clip-path:polygon(0% 0%,0% 100%,100% 100%)}.triangle-image{width:100%;height:100%;object-fit:cover;pointer-events:none}.triangle-hint{font-size:10px;color:#64748b;text-align:center;padding:2px;background:#ffffffe6;border-radius:2px;line-height:1.2}.triangle-slot .slot-number{position:absolute;top:2px;left:2px;background:#000000b3;color:#fff;font-size:8px;font-weight:600;padding:1px 4px;border-radius:8px;z-index:10;min-width:12px;text-align:center}.triangle-piece .piece-info{position:absolute;bottom:2px;right:2px;background:#3b82f6e6;color:#fff;font-size:8px;font-weight:600;padding:1px 3px;border-radius:6px;z-index:10}.triangle-piece .correctness-indicator{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;z-index:10}.triangle-piece .correctness-indicator.correct{background:#22c55e;color:#fff}.triangle-piece .correctness-indicator.incorrect{background:#ef4444;color:#fff}.triangle-hint{font-size:10px;text-align:center;line-height:1.2;padding:2px}.drop-hint.triangle-hint[data-mismatch=true]{background:#ef44441a!important;color:#ef4444!important;border:1px dashed #ef4444;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.grid-shadow-overlay{animation:fadeInShadow .3s ease-in-out}.grid-shadow-image{filter:brightness(.8) contrast(.9)}@keyframes fadeInShadow{0%{opacity:0}to{opacity:.3}}.grid-slot{position:relative;z-index:2;scrollbar-width:none}.answer-grid::-webkit-scrollbar{display:none}.answer-grid.tetris-grid{gap:1px}.grid-slot.tetris-slot{border:1px solid #cbd5e1;position:relative}.grid-slot.tetris-slot.occupied{border:2px solid #3b82f6;background:#3b82f61a}.tetris-cell{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.tetris-cell-image{width:100%;height:100%;object-fit:cover;border-radius:2px}.tetris-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#3b82f633}.tetris-fallback .piece-image{width:80%;height:80%;object-fit:cover;border-radius:2px}.tetris-block-indicator{position:absolute;top:2px;right:2px;background:#3b82f6e6;color:#fff;font-size:8px;font-weight:700;padding:1px 3px;border-radius:2px;pointer-events:none}.drop-hint.tetris-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#10b981e6;color:#fff;padding:2px 4px;border-radius:4px;font-size:10px;white-space:nowrap;pointer-events:none;z-index:3}.puzzle-workspace{display:flex;gap:20px;height:100%;min-height:600px;padding:20px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);width:100%;box-sizing:border-box;flex:1}.processing-area,.answer-area{flex:1;display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;overflow:hidden;max-width:none;min-height:0}.processing-area{flex:0 0 35%;min-width:350px}.answer-area{flex:1;min-width:500px;transition:transform .3s ease}.answer-area.upside-down-area{transform:rotate(180deg)}.area-header{padding:16px 20px;background:linear-gradient(135deg,var(--primary-pink) 0%,var(--secondary-pink) 100%);color:#fff;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.area-header h3{margin:0;font-size:18px;font-weight:600}.piece-count,.grid-info{background:#fff3;padding:4px 12px;border-radius:20px;font-size:14px;font-weight:500}@media (max-width: 1024px){.puzzle-workspace{flex-direction:column;gap:16px}.processing-area,.answer-area{max-width:100%}.processing-area{order:2}.answer-area{order:1}}@media (max-width: 768px){.puzzle-workspace{padding:12px;gap:12px}.area-header{padding:12px 16px}.area-header h3{font-size:16px}}.game-completion-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#f8a5c266;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.game-completion-modal{background:var(--card-background);border:3px solid var(--primary-pink);border-radius:20px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #f8a5c266;animation:modalSlideIn .3s ease-out;position:relative}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{text-align:center;margin-bottom:1.5rem;position:relative}.celebration-icon{font-size:4rem;margin-bottom:.5rem;animation:bounce 1s ease-in-out infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.modal-title{font-size:2rem;font-weight:700;color:#1f2937;margin:0;margin-bottom:.5rem}.new-record-badge{display:inline-block;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:.25rem .75rem;border-radius:15px;font-size:.9rem;font-weight:600;animation:glow 2s ease-in-out infinite alternate}@keyframes glow{0%{box-shadow:0 0 10px #fbbf2480}to{box-shadow:0 0 20px #fbbf24cc}}.game-stats{margin-bottom:1.5rem}.stat-row{display:flex;gap:1rem;justify-content:space-between}.stat-item{display:flex;align-items:center;gap:.5rem;flex:1;background:#f8fafc;padding:1rem;border-radius:12px;border:1px solid #e2e8f0}.stat-icon{font-size:1.5rem}.stat-content{display:flex;flex-direction:column}.stat-label{font-size:.8rem;color:#64748b;margin-bottom:.25rem}.stat-value{font-size:1.1rem;font-weight:600;color:#1e293b}.stat-value.difficulty{font-weight:700}.rewards-section{margin-bottom:1.5rem}.rewards-title{font-size:1.2rem;font-weight:600;color:#1f2937;margin:0 0 1rem;text-align:center}.rewards-grid{display:flex;gap:1rem;justify-content:center}.reward-item{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:1rem 1.5rem;border-radius:15px;border:2px solid transparent;transition:all .3s ease;animation:rewardPulse 2s ease-in-out infinite}@keyframes rewardPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.reward-item.coins{border-color:#fbbf24;background:linear-gradient(135deg,#fef3c7,#fbbf24)}.reward-item.experience{border-color:#8b5cf6;background:linear-gradient(135deg,#ede9fe,#8b5cf6)}.reward-icon{font-size:1.8rem}.reward-content{display:flex;flex-direction:column;align-items:center}.reward-amount{font-size:1.3rem;font-weight:700;color:#1f2937}.reward-label{font-size:.9rem;color:#4b5563;margin-top:.25rem}.achievements-section{margin-bottom:1.5rem}.achievements-title{font-size:1.2rem;font-weight:600;color:#1f2937;margin:0 0 1rem;text-align:center}.achievements-list{display:flex;flex-direction:column;gap:.75rem}.achievement-item{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#fef7ff,#f3e8ff);padding:1rem;border-radius:12px;border:2px solid #c084fc;position:relative;animation:achievementSlideIn .5s ease-out}@keyframes achievementSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.achievement-icon{font-size:2rem;flex-shrink:0}.achievement-content{flex:1;display:flex;flex-direction:column}.achievement-name{font-weight:600;color:#1f2937;margin-bottom:.25rem}.achievement-description{font-size:.9rem;color:#64748b}.achievement-new-badge{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:.25rem .5rem;border-radius:8px;font-size:.7rem;font-weight:600;animation:badgePulse 1s ease-in-out infinite}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.play-again-btn,.back-menu-btn{flex:1;max-width:180px}.play-again-btn{background:linear-gradient(135deg,var(--primary-pink),var(--secondary-pink));border:none;color:var(--text-primary)}.play-again-btn:hover{background:linear-gradient(135deg,var(--secondary-pink),var(--accent-pink));transform:translateY(-2px)}.back-menu-btn{background:linear-gradient(135deg,var(--light-pink),var(--warm-pink));border:none;color:var(--text-secondary)}.back-menu-btn:hover{background:linear-gradient(135deg,var(--warm-pink),var(--accent-pink));transform:translateY(-2px)}@media (max-width: 768px){.game-completion-modal{padding:1.5rem;margin:1rem}.stat-row{flex-direction:column;gap:.75rem}.rewards-grid{flex-direction:column;align-items:center}.modal-actions{flex-direction:column}.play-again-btn,.back-menu-btn{max-width:none}}.leaderboard-modal-overlay{position:fixed;inset:0;background:#f8a5c24d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:10000}.leaderboard-modal{background:var(--card-background);border-radius:16px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #f8a5c24d;border:2px solid var(--primary-pink);animation:modal-appear .3s ease-out}@keyframes modal-appear{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,192,203,.2);background:linear-gradient(135deg,var(--primary-pink) 0%,var(--accent-pink) 100%);color:var(--text-primary)}.modal-header h2{margin:0;font-size:1.5em;font-weight:300;text-shadow:0 2px 4px rgba(255,192,203,.3)}.close-button{background:#ffffff4d;border:2px solid var(--button-text);color:var(--button-text);font-size:20px;font-weight:700;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:var(--button-text);color:var(--primary-pink);transform:scale(1.05)}.modal-content{padding:24px;max-height:calc(90vh - 140px);overflow-y:auto}.view-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid #f0f0f0}.tab{padding:12px 20px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-secondary);border-bottom:2px solid transparent;transition:all .2s}.tab:hover{color:var(--text-primary);background:var(--light-pink-2)}.tab.active{color:var(--text-primary);border-bottom-color:var(--primary-pink);background:var(--light-pink);font-weight:700}.difficulty-selector{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.difficulty-btn{padding:8px 16px;border:2px solid var(--border-color);background:var(--card-background);cursor:pointer;border-radius:6px;font-size:14px;font-weight:600;color:var(--text-primary);transition:all .2s}.difficulty-btn:hover{border-color:var(--primary-pink);background:var(--light-pink-2);color:var(--text-primary);transform:translateY(-1px)}.difficulty-btn.active{background:var(--primary-pink);color:var(--button-text);border-color:var(--primary-pink);font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.puzzle-info{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:20px;border-left:4px solid var(--primary-pink)}.puzzle-info h3{margin:0 0 8px;color:#333;font-size:1.1em}.puzzle-info p{margin:0;color:#666;font-size:14px}.leaderboard-list{margin-bottom:20px}.leaderboard-table{border:1px solid #e5e5e5;border-radius:8px;overflow:hidden;background:#fff}.table-header{display:grid;grid-template-columns:60px 1fr 80px 80px 120px;gap:12px;padding:12px 16px;background:#f8f9fa;font-weight:600;font-size:14px;color:#666;border-bottom:1px solid #e5e5e5}.table-row{display:grid;grid-template-columns:60px 1fr 80px 80px 120px;gap:12px;padding:12px 16px;border-bottom:1px solid #f0f0f0;transition:background-color .2s;align-items:center}.table-row:hover{background:#f8f9fa}.table-row.current-player{background:#f8b5d71a;border-left:3px solid var(--primary-pink)}.rank-col{font-weight:600;font-size:16px;text-align:center}.player-col{display:flex;align-items:center;gap:8px;font-weight:500}.you-badge{background:var(--primary-pink);color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;font-weight:600}.moves-col,.time-col{text-align:center;font-weight:500}.empty-state{text-align:center;padding:40px 20px;color:#666}.empty-state p:first-child{font-size:1.1em;font-weight:500;margin-bottom:8px}.player-records{margin-bottom:20px}.records-list{display:grid;gap:12px}.record-card{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;padding:16px;transition:all .2s}.record-card:hover{border-color:var(--primary-pink);box-shadow:0 2px 8px #f8b5d726}.difficulty-badge{background:var(--primary-pink);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.rank-badge{background:#28a745;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.record-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat{display:flex;flex-direction:column;align-items:center;gap:4px}.stat .label{font-size:12px;color:#666}.stat .value{font-weight:600;font-size:14px;color:#333}.stats-section{border-top:1px solid #e5e5e5;padding-top:20px;margin-top:20px}.stats-section h3{margin:0 0 16px;color:#333;font-size:1.1em}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.stat-card{background:#f8f9fa;border:1px solid #e5e5e5;border-radius:8px;padding:16px;text-align:center}.stat-value{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.stat-label{font-size:12px;color:#666;font-weight:500}.modal-footer{padding:16px 24px;border-top:1px solid #e5e5e5;background:#f8f9fa;display:flex;justify-content:flex-end}@media (max-width: 768px){.leaderboard-modal{width:95%;height:90vh}.table-header,.table-row{grid-template-columns:50px 1fr 60px 70px 80px;gap:8px;padding:10px 12px;font-size:13px}.difficulty-selector{justify-content:center}.record-stats{grid-template-columns:1fr;gap:12px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.modal-content{padding:16px}.view-tabs{flex-direction:column}.tab{padding:10px;text-align:center}.table-header,.table-row{grid-template-columns:40px 1fr 50px;gap:6px}.time-col,.date-col{display:none}}.original-image-preview-overlay{position:fixed;inset:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:10000}.original-image-preview-modal{background-color:#fff;border-radius:0;box-shadow:none;width:30vw;height:60vh;display:flex;flex-direction:column}.modal-header{padding:8px 16px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.2rem;color:#333}.modal-body{padding:0;flex:1;display:flex;justify-content:center;align-items:center;overflow:auto}.original-image{width:100%;height:100%;object-fit:contain;border-radius:0}.modal-footer{padding:8px 16px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end}.modal-footer button{margin-left:8px}.timer{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background-color:var(--light-pink);border-radius:20px;font-family:Courier New,monospace;font-size:18px;font-weight:600;color:var(--text-primary);border:1px solid var(--border-color)}.timer-running{background-color:var(--soft-blue);color:var(--text-primary);animation:pulse 2s infinite;border-color:var(--border-color)}.timer-icon{font-size:20px}.timer-text{min-width:60px;text-align:center}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.puzzle-game{display:flex;flex-direction:column;height:100vh;position:relative;background:var(--background-main);background-size:20px 20px,cover;background-position:0 0,center center;background-repeat:repeat,no-repeat;background-attachment:scroll,fixed}.puzzle-game:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#f8a5c226,#f4cba41a,#f9e6d80d,#f4cba41a,#f8a5c226);-webkit-backdrop-filter:blur(.2px);backdrop-filter:blur(.2px);pointer-events:none;z-index:0}.puzzle-game>*{position:relative;z-index:1}.puzzle-game.night-mode:before{background:linear-gradient(135deg,#8a6c9c33,#6c869c26,#58587c1a,#6c869c26,#8a6c9c33);-webkit-backdrop-filter:blur(.3px);backdrop-filter:blur(.3px)}.puzzle-game-start{display:flex;align-items:center;justify-content:center;height:100vh;position:relative;background:var(--background-main);background-size:20px 20px,cover;background-position:0 0,center center;background-repeat:repeat,no-repeat;background-attachment:scroll,fixed}.puzzle-game-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#f8a5c233,#f4cba426,#f9e6d81a,#f4cba426,#f8a5c233);-webkit-backdrop-filter:blur(.3px);backdrop-filter:blur(.3px);pointer-events:none;z-index:0}.puzzle-game-start.night-mode .puzzle-game-overlay{background:linear-gradient(135deg,#8a6c9c4d,#6c869c40,#58587c33,#6c869c40,#8a6c9c4d);-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px)}.start-content{background:#ffffffe6;padding:40px;border-radius:16px;text-align:center;box-shadow:0 20px 60px #f8a5c24d;max-width:400px;width:100%;border:3px solid var(--primary-pink);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:relative;z-index:1;box-sizing:border-box;overflow:visible;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.puzzle-game-start.night-mode .start-content{background:#ffffffd9;border-color:#8a6c9ccc;box-shadow:0 20px 60px #8a6c9c4d}.start-content h2{color:var(--text-primary);margin-bottom:24px;font-size:28px;font-family:Nunito,Quicksand,sans-serif;font-weight:400;word-wrap:break-word;overflow-wrap:break-word;overflow:hidden;width:100%;max-width:100%;box-sizing:border-box;text-align:center;align-self:center}.start-content .puzzle-info{background:var(--light-pink);padding:20px;border-radius:12px;margin:0 20px 32px!important;border:2px solid var(--primary-pink);box-shadow:0 4px 12px #f8a5c233;width:auto!important;max-width:200px!important;min-width:180px;box-sizing:border-box;overflow:hidden;word-wrap:break-word;text-align:center;align-self:center}.start-content .puzzle-info p{margin:8px 0;color:var(--text-secondary);font-size:16px;font-family:Nunito,Quicksand,sans-serif;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;overflow:hidden}.start-actions{display:flex;gap:12px;justify-content:center;width:100%;max-width:100%;box-sizing:border-box;flex-wrap:wrap;align-self:center}.start-actions button:nth-child(1){background:var(--cream-yellow);color:var(--text-primary);border:none;padding:12px 24px;border-radius:8px;font-size:16px;cursor:pointer;transition:all .3s cubic-bezier(.215,.61,.355,1);box-shadow:0 4px 8px #ffe6b54d;font-family:Nunito,Quicksand,sans-serif}.start-actions button:nth-child(1):hover{background:#ffdfa5;transform:translateY(-2px);box-shadow:0 6px 12px #ffe6b566}.start-actions button:nth-child(1):active{transform:translateY(0);box-shadow:0 2px 4px #ffe6b54d}.start-actions button:nth-child(2){background:var(--soft-blue);color:var(--text-primary);border:none;padding:12px 24px;border-radius:8px;font-size:16px;cursor:pointer;transition:all .3s cubic-bezier(.215,.61,.355,1);box-shadow:0 4px 8px #ddebf74d;font-family:Nunito,Quicksand,sans-serif}.start-actions button:nth-child(2):hover{background:#c4e1f5;transform:translateY(-2px);box-shadow:0 6px 12px #ddebf766}.start-actions button:nth-child(2):active{transform:translateY(0);box-shadow:0 2px 4px #ddebf74d}.game-header{background:var(--card-background);padding:8px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px var(--shadow-pink)}.game-info h3{margin:0;color:var(--text-primary);font-size:18px;font-family:Nunito,Quicksand,sans-serif;font-weight:500}.game-stats{display:flex;align-items:center;gap:16px;margin-top:6px}.moves-counter{background:var(--light-pink);padding:6px 12px;border-radius:16px;font-weight:500;color:var(--text-secondary);border:1px solid var(--border-color);font-family:Nunito,Quicksand,sans-serif}.game-controls{display:flex;gap:8px}.game-controls button.primary{background:var(--soft-blue);color:var(--text-primary);border:none;padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s cubic-bezier(.215,.61,.355,1);box-shadow:0 2px 4px #ddebf74d;font-family:Nunito,Quicksand,sans-serif}.game-controls button.primary:hover{background:#c4e1f5;transform:translateY(-1px);box-shadow:0 4px 8px #ddebf766}.game-controls button.primary:active{transform:translateY(0);box-shadow:0 1px 2px #ddebf74d}.game-controls button.secondary{background:var(--light-pink);color:var(--text-secondary);border:1px solid var(--border-color);padding:8px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s cubic-bezier(.215,.61,.355,1);box-shadow:0 1px 2px var(--shadow-pink);font-family:Nunito,Quicksand,sans-serif}.game-controls button.secondary:hover{background:var(--primary-pink);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 2px 4px var(--shadow-pink)}.game-controls button.secondary:active{transform:translateY(0);box-shadow:0 1px 2px var(--shadow-pink)}.game-controls .btn{color:#fff!important;font-weight:600!important;text-shadow:none!important;opacity:1!important}.game-controls .btn *{color:inherit!important;font-weight:inherit!important;display:inline!important;visibility:visible!important}.game-controls .btn span,.game-controls .btn:before,.game-controls .btn:after{display:inline!important;visibility:visible!important;color:inherit!important}.game-content{flex:1;display:flex;position:relative;overflow:hidden;min-height:0;background:var(--background-secondary);padding:20px}.puzzle-board{flex:1;display:flex;align-items:center;justify-content:center;background:var(--light-pink);border-radius:16px;margin:20px;padding:20px;box-shadow:0 8px 24px var(--shadow-pink);border:2px solid var(--primary-pink)}.puzzle-piece{border:1px solid rgba(255,255,255,.8);border-radius:4px;transition:all .3s ease;cursor:grab;box-shadow:0 2px 8px #0000001a}.puzzle-piece:active{cursor:grabbing;opacity:.9;transform:scale(1.02)}.puzzle-piece.dragging{opacity:.8;transform:scale(1.05);z-index:10;box-shadow:0 4px 16px #00000026}.puzzle-piece.correct{animation:pieceCorrect .5s ease}@keyframes pieceCorrect{0%,to{transform:scale(1)}50%{transform:scale(1.05);box-shadow:0 0 15px var(--cream-yellow)}}.completion-modal{position:fixed;inset:0;background:#ffdddcb3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--light-pink);padding:40px;border-radius:16px;text-align:center;box-shadow:0 20px 40px var(--shadow-pink);max-width:400px;border:2px solid var(--primary-pink);animation:modalAppear .5s cubic-bezier(.215,.61,.355,1)}@keyframes modalAppear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content h3{color:var(--text-primary);margin-bottom:20px;font-size:32px;font-family:Nunito,Quicksand,sans-serif;font-weight:400}.modal-content p{margin:12px 0;color:var(--text-secondary);font-size:18px;font-family:Nunito,Quicksand,sans-serif}.modal-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.modal-actions button:nth-child(1){background:var(--cream-yellow);color:var(--text-primary);border:none;padding:12px 24px;border-radius:8px;font-size:16px;cursor:pointer;transition:all .3s cubic-bezier(.215,.61,.355,1);box-shadow:0 4px 8px #ffe6b54d;font-family:Nunito,Quicksand,sans-serif}.modal-actions button:nth-child(1):hover{background:#ffdfa5;transform:translateY(-2px);box-shadow:0 6px 12px #ffe6b566}.modal-actions button:nth-child(1):active{transform:translateY(0);box-shadow:0 2px 4px #ffe6b54d}.modal-actions button:nth-child(2){background:var(--mint-green);color:var(--text-primary);border:none;padding:12px 24px;border-radius:8px;font-size:16px;cursor:pointer;transition:all .3s cubic-bezier(.215,.61,.355,1);box-shadow:0 4px 8px #b4e0d84d;font-family:Nunito,Quicksand,sans-serif}.modal-actions button:nth-child(2):hover{background:#a8d6cc;transform:translateY(-2px);box-shadow:0 6px 12px #b4e0d866}.modal-actions button:nth-child(2):active{transform:translateY(0);box-shadow:0 2px 4px #b4e0d84d}.game-tips{background:var(--accent-pink);padding:12px 24px;border-top:1px solid var(--primary-pink);text-align:center}.game-tips p{margin:0;color:var(--text-secondary);font-size:14px;font-family:Nunito,Quicksand,sans-serif}.preview-modal{position:fixed;inset:0;background:#ffdddcb3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.preview-content{background:var(--light-pink);border-radius:16px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;box-shadow:0 20px 60px var(--shadow-pink);display:flex;flex-direction:column;animation:scaleIn .3s cubic-bezier(.215,.61,.355,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:2px solid var(--primary-pink)}@keyframes scaleIn{0%{transform:translate(-50%,-50%) scale(.9);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.preview-body{padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.preview-body h3{margin:0 0 20px;color:var(--text-primary);font-size:24px;text-align:center;font-family:Nunito,Quicksand,sans-serif;font-weight:400}.preview-image{max-width:100%;max-height:50vh;border-radius:8px;box-shadow:0 4px 12px var(--shadow-pink);border:1px solid var(--primary-pink)}.preview-footer{padding:20px;background:var(--accent-pink);border-top:1px solid var(--primary-pink);display:flex;justify-content:center}@media (max-width: 768px){.start-content{max-width:350px;padding:30px 20px}.start-content h2{font-size:24px;margin-bottom:20px}.start-content .puzzle-info{padding:16px;margin:0 16px 24px!important;max-width:180px!important;min-width:150px;width:auto!important}.start-content .puzzle-info p{font-size:14px;margin:6px 0}.start-actions{gap:10px}.game-header{flex-direction:column;gap:16px}.game-content{flex-direction:column}.game-controls{flex-wrap:wrap;justify-content:center}.preview-content{width:95%;margin:10px}.preview-body{padding:20px}.preview-body h3{font-size:20px;margin-bottom:15px}.preview-footer{padding:15px}}@media (max-width: 480px){.puzzle-game-start{padding:20px}.start-content{max-width:300px;padding:20px 16px}.start-content h2{font-size:20px;margin-bottom:16px}.start-content .puzzle-info{padding:12px;margin:0 12px 20px!important;max-width:160px!important;min-width:140px;width:auto!important}.start-content .puzzle-info p{font-size:13px;margin:4px 0}.start-actions{gap:8px;flex-direction:column;align-items:center}.start-actions button{width:100%;max-width:200px}}.volcanic-journey-description{padding:20px;background:linear-gradient(135deg,#fffffff2,#fff8e1f2);border:2px solid rgba(255,87,34,.4);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #ff57224d;max-width:600px;margin:20px auto}.description-header{display:flex;align-items:center;justify-content:center;margin-bottom:15px;gap:8px}.volcano-icon{font-size:24px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.description-title{font-size:18px;font-weight:700;color:#d84315;text-shadow:0 2px 4px rgba(0,0,0,.4);letter-spacing:.5px}.description-content{text-align:center;line-height:1.6}.description-line{margin:8px 0;color:#2c2c2c;font-size:15px;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.3);font-style:italic;line-height:1.7}.description-line:first-child{margin-top:0}.description-line:last-child{margin-bottom:0}.night-mode .volcanic-journey-description{background:linear-gradient(135deg,#212121f2,#2d2d2df2);border-color:#ff572280;box-shadow:0 4px 15px #ff572266}.night-mode .description-title{color:#ff8a65;text-shadow:0 2px 4px rgba(0,0,0,.7)}.night-mode .description-line{color:#f5f5f5;text-shadow:0 1px 3px rgba(0,0,0,.8);font-weight:500}@media (max-width: 768px){.volcanic-journey-description{margin:15px;padding:15px;max-width:none}.description-title{font-size:16px}.description-line{font-size:14px}.volcano-icon{font-size:20px}}.puzzle-game .game-header{background:var(--card-background)!important;border-bottom:1px solid var(--border-color)!important;box-shadow:0 2px 4px var(--shadow-pink)!important}.puzzle-game .game-header .game-info h3{color:var(--text-primary)!important;font-weight:600!important}.puzzle-game .game-header .game-stats{color:var(--text-primary)!important}.puzzle-game .game-header .game-stats .timer{color:var(--text-primary)!important;background-color:var(--light-pink)!important;border:1px solid var(--border-color)!important}.puzzle-game .game-header .game-stats .timer.timer-running{color:var(--text-primary)!important;background-color:var(--soft-blue)!important}.puzzle-game .game-header .game-stats .timer .timer-text{color:var(--text-primary)!important;font-weight:700!important}.puzzle-game .game-header .game-stats .moves-counter{color:var(--text-secondary)!important;background-color:var(--light-pink)!important;border:1px solid var(--border-color)!important;font-weight:600!important}.puzzle-game .game-header .game-controls button{color:var(--text-primary)!important;font-weight:600!important;opacity:1!important;padding:8px 16px!important;margin:0 4px!important;border-radius:8px!important;background-color:transparent!important;border:1px solid transparent!important;transition:all .3s ease!important}.puzzle-game .game-header .game-controls button.btn-primary,.puzzle-game .game-header .game-controls button.btn-secondary{color:var(--text-primary)!important}.puzzle-game .game-header .game-controls button.btn-danger{color:var(--text-primary)!important;background-color:var(--secondary-pink)!important}.puzzle-game .game-header .game-controls button.btn-success{color:var(--text-primary)!important}.puzzle-game .game-header .game-controls button:hover:not(:disabled){color:var(--text-primary)!important;opacity:1!important;background-color:var(--light-pink)!important;border:1px solid var(--primary-pink)!important;transform:translateY(-1px)!important;box-shadow:0 2px 8px #ff728c4d!important}.puzzle-game .game-header .game-controls button:active:not(:disabled){color:var(--text-primary)!important;opacity:1!important}.puzzle-game .game-header .game-controls button:disabled{color:var(--text-light)!important;opacity:.7!important}.game-header{background:var(--card-background)!important}.game-header *{color:var(--text-primary)!important;font-weight:600!important}@keyframes flash-border{0%{border-color:#22c55e;box-shadow:0 0 #22c55e44}to{border-color:#fbbf24;box-shadow:0 0 0 4px #fbbf2444}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9) translate(-10px)}to{opacity:1;transform:scale(1) translate(0)}}.image-cropper{display:flex;flex-direction:column;gap:20px;background:#fff;border-radius:12px;padding:24px;border:1px solid #e5e7eb;box-shadow:0 4px 12px #0000000d}.cropper-controls{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.scale-control{display:flex;flex-direction:column;gap:8px}.scale-control label{font-size:14px;font-weight:500;color:#374151}.scale-slider{width:200px;height:6px;border-radius:3px;background:#e5e7eb;outline:none;-webkit-appearance:none}.scale-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary-pink);cursor:pointer;box-shadow:0 2px 4px #0000001a}.scale-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--primary-pink);cursor:pointer;border:none;box-shadow:0 2px 4px #0000001a}.crop-info{font-size:14px;color:#6b7280;font-weight:500}.cropper-container{position:relative;width:100%;height:500px;border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#f9fafb;cursor:crosshair;-webkit-user-select:none;user-select:none}.image-display{position:relative;width:100%;height:100%}.display-image{position:absolute;transform-origin:top left;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;max-height:100%;object-fit:contain}.crop-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.overlay-top,.overlay-bottom,.overlay-left,.overlay-right{position:absolute;background:#00000080;pointer-events:none}.overlay-top{top:0;left:0;width:100%}.overlay-bottom{left:0;width:100%}.overlay-middle{position:absolute;left:0;width:100%;display:flex}.overlay-left{height:100%}.overlay-right{position:absolute;height:100%}.crop-border{position:absolute;border:2px solid var(--primary-pink);box-shadow:0 0 0 1px #ffb6c14d;cursor:move;pointer-events:auto}.crop-border:hover{border-color:var(--secondary-pink);box-shadow:0 0 0 2px #ffb6c14d}.resize-handle{position:absolute;width:12px;height:12px;background:var(--primary-pink);border:2px solid white;border-radius:50%;box-shadow:0 2px 4px #0003;pointer-events:auto;z-index:10}.resize-handle:hover{background:var(--secondary-pink);transform:scale(1.2)}.resize-handle.nw{top:-6px;left:-6px;cursor:nw-resize}.resize-handle.ne{top:-6px;right:-6px;cursor:ne-resize}.resize-handle.sw{bottom:-6px;left:-6px;cursor:sw-resize}.resize-handle.se{bottom:-6px;right:-6px;cursor:se-resize}.grid-lines{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.grid-line{position:absolute;background:#ffffff80;opacity:0;transition:opacity .2s ease}.crop-border:hover .grid-line{opacity:1}.grid-line.vertical{width:1px;height:100%;top:0}.grid-line.horizontal{width:100%;height:1px;left:0}.loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#6b7280}.loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid var(--primary-pink);border-radius:50%;animation:spin 1s linear infinite}.cropper-actions{display:flex;justify-content:space-between;align-items:center;padding:16px 0}.cropper-tips{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:8px;padding:16px}.cropper-tips h4{margin:0 0 12px;color:#1e40af;font-size:16px}.cropper-tips ul{margin:0;padding-left:0;color:#1e40af;list-style:none}.cropper-tips li{margin-bottom:8px;font-size:14px;padding-left:0}@media (max-width: 768px){.cropper-controls{flex-direction:column;gap:12px;align-items:stretch}.scale-control{align-items:center}.scale-slider{width:100%;max-width:300px}.cropper-container{height:400px}.cropper-actions{flex-direction:column;gap:12px}.cropper-actions button{width:100%}.resize-handle{width:16px;height:16px}.resize-handle.nw,.resize-handle.ne,.resize-handle.sw,.resize-handle.se{top:-8px;left:-8px}.resize-handle.ne{left:auto;right:-8px}.resize-handle.sw{top:auto;bottom:-8px}.resize-handle.se{inset:auto -8px -8px auto}}@media (prefers-color-scheme: dark){.cropper-controls{background:#1f2937;border-color:#374151}.scale-control label,.crop-info{color:#d1d5db}.cropper-container{border-color:#374151;background:#111827}.cropper-tips{background:#1e3a8a;border-color:#3730a3}.cropper-tips h4,.cropper-tips li{color:#dbeafe}}.recrop-btn{background:#f3f4f6;color:#222!important;border:1.5px solid #8b5cf6;border-radius:6px;font-size:15px;font-weight:500;margin-top:4px;margin-bottom:0;margin-right:0;padding:6px 16px;transition:background .2s,color .2s,border .2s}.recrop-btn>*{color:#222!important}.recrop-btn:hover{background:#fafaff;color:#6d28d9;border-color:#6d28d9}.same-size-btn{min-width:160px;height:44px;box-sizing:border-box;font-size:16px;padding:0 20px;display:flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle}.upload-step .upload-btn,.upload-step .import-btn{margin:0}.difficulty-settings{display:flex;flex-direction:column;gap:32px;max-height:100vh;overflow-y:auto;padding-top:24px;box-sizing:border-box;width:1100px;min-height:800px;margin:0 auto}.settings-section{background:#fff;border-radius:12px;padding:8px 24px 24px;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000d}.settings-section:nth-of-type(2){padding:32px 48px 36px;margin-bottom:44px}.settings-section h3{margin:0 0 12px;font-size:24px;color:#1f2937;font-weight:600;padding-top:0}.settings-section:first-of-type h3{padding-top:0}.section-description{margin:0 0 24px;color:#6b7280;font-size:16px;line-height:1.5}.difficulty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;justify-content:center;align-items:stretch}.difficulty-card{display:flex;flex-direction:column;padding:20px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;text-align:center;min-height:180px;min-width:160px;max-width:200px;width:auto;box-sizing:border-box;overflow:hidden;word-wrap:break-word}.difficulty-card:hover{border-color:var(--primary-pink);transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.difficulty-card.selected{border-color:var(--primary-pink);background:linear-gradient(135deg,color-mix(in srgb,var(--primary-pink) 10%,white),#fff);box-shadow:0 8px 24px color-mix(in srgb,var(--primary-pink) 20%,transparent)}.difficulty-card[style*="--accent-color: #8b5cf6"]{border:2px solid #e5e7eb}.difficulty-card[style*="--accent-color: #8b5cf6"].selected{border:2px solid #8b5cf6;background:linear-gradient(135deg,color-mix(in srgb,#8b5cf6 15%,white),#fff);box-shadow:0 8px 24px #8b5cf633}.difficulty-card[style*="--accent-color: #8b5cf6"]:hover{border-color:#7c3aed;transform:translateY(-2px);box-shadow:0 8px 24px #8b5cf640}.card-header{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px}.difficulty-icon{font-size:32px}.difficulty-info h4{margin:0;font-size:18px;color:#1f2937;font-weight:600;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.grid-size{font-size:14px;color:#6b7280;font-weight:500;word-wrap:break-word;overflow-wrap:break-word}.card-body{flex:1;margin-bottom:16px}.difficulty-stats{display:flex;justify-content:center;gap:16px;margin-bottom:12px}.stat-label{font-size:12px;color:#9ca3af;font-weight:500;text-transform:uppercase;letter-spacing:.5px;word-wrap:break-word;overflow-wrap:break-word}.stat-value{font-size:16px;font-weight:600;color:#374151;word-wrap:break-word;overflow-wrap:break-word}.difficulty-desc{margin:0;font-size:14px;color:#6b7280;line-height:1.4}.card-footer{margin-top:auto}.selection-indicator{padding:6px 8px;border-radius:6px;font-size:12px;font-weight:500;text-align:center;transition:all .2s ease;margin-top:8px;min-height:20px;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word;line-height:1.2}.selection-indicator:not(.active){background:#f3f4f6;color:#6b7280}.selection-indicator.active{background:var(--primary-pink);color:var(--text-primary)}.shape-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-top:16px}.shape-grid-horizontal{display:flex;flex-direction:row;justify-content:space-between;gap:16px}.shape-grid-horizontal .shape-card{flex:1 1 0;min-width:0;max-width:220px}.shape-card{display:flex;flex-direction:column;padding:20px;border:2px solid #e8d5e9;border-radius:12px;background:var(--card-background);cursor:pointer;transition:all .3s ease;text-align:center;min-width:0;min-height:220px;box-sizing:border-box;overflow:visible}.shape-card:hover:not(.coming-soon){border-color:#f8c8dc;transform:translateY(-2px);box-shadow:0 8px 24px #f8c8dc4d}.shape-card.selected{border-color:#f8c8dc;background:linear-gradient(135deg,#fff0f5,var(--card-background));box-shadow:0 8px 24px #f8c8dc4d}.shape-card.coming-soon{opacity:.6;cursor:not-allowed;position:relative}.shape-header{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px;position:relative}.shape-icon{font-size:40px}.shape-header h4{margin:0;font-size:16px;color:#1f2937;font-weight:600}.coming-soon-badge{position:absolute;top:-8px;right:-12px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:10px;padding:4px 8px;border-radius:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.shape-preview{height:80px;display:flex;align-items:center;justify-content:center;background:#fff0f5;border-radius:8px;margin-bottom:16px;border:1px solid #e8d5e9}.preview-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#9ca3af}.preview-icon{font-size:24px}.preview-text{font-size:12px;font-weight:500}.shape-details{flex:1;display:flex;flex-direction:column;gap:8px;margin-bottom:16px;align-items:center;overflow:visible}.shape-description{margin:0;font-size:14px;color:#6b7280;line-height:1.4}.shape-meta{display:flex;justify-content:center;margin-top:4px;margin-bottom:0}.difficulty-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.difficulty-badge[data-difficulty=简单]{background:#dcfce7;color:#166534}.difficulty-badge[data-difficulty=中等]{background:#dbeafe;color:#1e40af}.difficulty-badge[data-difficulty=困难]{background:#fef3c7;color:#92400e}.settings-summary{background:var(--card-background);border-radius:12px;padding:24px;border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-pink)}.settings-summary h3{margin:0 0 16px;color:#1f2937;font-size:20px}.summary-content{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary-item{display:flex;justify-content:flex-start;align-items:center;padding:8px 0;gap:12px}.summary-label{font-weight:600;color:#374151}.summary-value{color:#6b7280;font-weight:500}.settings-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.action-left{display:flex;gap:12px;align-items:center}.preview-btn{background:linear-gradient(135deg,var(--soft-blue),#C4E1F5);border:none;color:var(--text-primary)}.preview-btn:hover{background:linear-gradient(135deg,#c4e1f5,#b5d9f2);transform:translateY(-1px);box-shadow:0 4px 12px #d6eaf84d}.confirm-btn{background:linear-gradient(135deg,var(--primary-pink),var(--secondary-pink));border:none;color:var(--text-primary);font-weight:600;padding:16px 32px;font-size:16px}.confirm-btn:hover{background:linear-gradient(135deg,var(--secondary-pink),var(--accent-pink));transform:translateY(-2px);box-shadow:0 8px 20px #f8b5d74d}.settings-tips{background:var(--light-pink);border:1px solid var(--border-color);border-radius:12px;padding:8px 20px 20px}.settings-tips h4{margin:0 0 12px;color:#1e40af;font-size:16px}.settings-tips ul{margin:0;padding-left:0;color:#1e40af;list-style:none}.settings-tips li{margin-bottom:12px;font-size:14px;line-height:1.5;padding-left:0}.settings-tips strong{color:var(--primary-pink)}@media (max-width: 1024px){.difficulty-grid{grid-template-columns:repeat(3,1fr)}.shape-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.summary-content{grid-template-columns:1fr}}@media (max-width: 768px){.difficulty-settings{gap:24px}.settings-section{padding:20px}.difficulty-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;justify-content:center}.shape-grid{grid-template-columns:1fr}.difficulty-card{padding:14px 8px;min-height:140px;min-width:140px;max-width:none;font-size:14px}.difficulty-info h4{font-size:16px}.selection-indicator{font-size:11px;padding:4px 6px}.difficulty-stats{flex-direction:column;gap:8px}.stat-item{flex-direction:row;justify-content:space-between;align-items:center}.difficulty-grid{display:flex;flex-direction:row;justify-content:center;align-items:stretch;gap:12px;margin:0 auto 12px;width:90%;flex-wrap:wrap}.difficulty-card{display:flex;flex-direction:column;padding:12px 8px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;text-align:center;min-height:120px;min-width:120px;max-width:140px;width:auto;flex:1;box-sizing:border-box;overflow:hidden;word-wrap:break-word}.settings-actions{flex-direction:column;gap:12px}.action-left{flex-direction:column;width:100%}.settings-actions button{width:100%}.summary-item{flex-direction:column;align-items:flex-start;gap:4px}}@media (max-width: 480px){.difficulty-grid{grid-template-columns:1fr}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.difficulty-card,.shape-card{animation:slideInUp .5s ease-out forwards}.difficulty-card:nth-child(1){animation-delay:.1s}.difficulty-card:nth-child(2){animation-delay:.2s}.difficulty-card:nth-child(3){animation-delay:.3s}.difficulty-card:nth-child(4){animation-delay:.4s}.shape-card:nth-child(1){animation-delay:.1s}.shape-card:nth-child(2){animation-delay:.2s}.shape-card:nth-child(3){animation-delay:.3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.custom-shape-section{animation:fadeIn .3s ease-in-out;margin-top:6px!important;padding:6px!important}.preview-modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.preview-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:95vw;max-height:95vh;width:min(1400px,95vw);height:min(90vh,900px);display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .3s ease-out;margin:auto}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#f8fafc;flex-shrink:0;min-height:60px}.modal-header h3{margin:0;font-size:20px;color:#1f2937;font-weight:600}.close-btn{min-width:40px;height:40px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px}.modal-content{flex:1;padding:8px 4px;overflow:hidden;display:flex;flex-direction:column;gap:4px;min-height:0;width:100%;max-width:none}.preview-container{position:relative;display:flex;justify-content:center;align-items:center;background:#f9fafb;border-radius:8px;padding:1px;border:1px solid #e5e7eb;flex:1;min-height:500px;overflow:visible;width:100%}.preview-image-wrapper{position:relative;display:inline-block}.preview-image{width:900px;height:600px;border-radius:4px;box-shadow:0 4px 12px #0000001a;position:relative;z-index:1;object-fit:contain;margin:auto;max-width:100%;max-height:100%}.puzzle-grid-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;display:flex;justify-content:center;align-items:center}.grid-overlay-inner{position:absolute;width:90%;height:90%;top:5%;left:5%}.grid-line{position:absolute;background:#2563eb;opacity:.95;box-shadow:none;border-radius:1px;z-index:10;pointer-events:none}.grid-line.vertical{width:2px;height:100%;top:0;margin-left:-1px;border-left:none}.grid-line.horizontal{width:100%;height:2px;left:0;margin-top:-1px;border-top:none}.grid-line.diagonal{background:#2563eb;opacity:.8;z-index:15;pointer-events:none}.grid-line.diagonal-cell{background:none;pointer-events:none;z-index:12}.diagonal-line{position:absolute;top:0;left:0;width:141.42%;height:2px;background:#2563eb;opacity:.8;transform:rotate(45deg);transform-origin:0 0}.preview-info{text-align:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:8px 12px;flex-shrink:0;font-size:13px;margin:0 12px}.preview-info p{margin:0;color:#1e40af;font-size:14px;line-height:1.5}.preview-info p:first-child{font-weight:600;margin-bottom:8px}.modal-footer{padding:12px 16px;border-top:1px solid #e5e7eb;background:#f8fafc;display:flex;justify-content:center;flex-shrink:0;min-height:56px}.modal-footer button{min-width:120px}.landscape-hint{display:none;background:#fef3c7;border:1px solid #f59e0b;border-radius:4px;padding:4px 8px;text-align:center;color:#92400e;font-size:11px;margin-bottom:4px;flex-shrink:0}@media (max-width: 768px){.preview-modal{width:98vw;height:98vh;max-width:none;max-height:none;border-radius:8px}.modal-header,.modal-footer{padding:8px 12px;min-height:48px}.modal-content{padding:8px}.preview-container{padding:2px;min-height:400px}.modal-header h3{font-size:16px}.close-btn{min-width:36px;height:36px;font-size:16px}.preview-info{padding:6px 8px;font-size:12px}}@media (max-width: 768px) and (orientation: portrait){.landscape-hint{display:block}}@media (max-width: 480px){.preview-modal{width:100vw;height:100vh;border-radius:0}.modal-header,.modal-footer{padding:6px 10px;min-height:42px}.modal-content{padding:6px}.preview-container{padding:1px;min-height:350px}.modal-header h3{font-size:14px}.close-btn{min-width:32px;height:32px;font-size:14px}}.close-btn:hover{background:#f3f4f6;transform:scale(1.05)}.preview-modal-backdrop{animation:backdropFadeIn .3s ease-out}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.puzzle-editor{display:flex;flex-direction:column;height:100vh;background:#f8fafc;color:#1f2937}.editor-progress-side{position:absolute;top:32px;right:40px;z-index:10;background:#fffffff2;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:16px 24px;display:flex;flex-direction:column;align-items:flex-end}.progress-indicator{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.progress-text{font-size:14px;color:#6b7280;font-weight:500}.progress-bar{width:200px;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-pink),var(--secondary-pink));transition:width .3s ease;border-radius:3px}.editor-content{flex:1;overflow-y:auto;padding:8px 24px 24px;position:relative}.editor-step{max-width:1400px;margin:0 auto;width:100%;margin-top:0!important}.step-header{text-align:center;margin-bottom:40px}.step-header h2{margin:0 0 8px;font-size:32px;font-weight:600;color:#1f2937}.step-header p{margin:0;font-size:16px;color:#6b7280}.upload-step{display:grid;grid-template-columns:1fr 400px;gap:32px;align-items:stretch;min-height:500px}.upload-area{border:3px dashed #d1d5db;border-radius:16px;padding:48px 24px;text-align:center;background:#fff;transition:all .3s ease;display:flex;align-items:center;justify-content:center;height:100%}.upload-area:hover{border-color:var(--primary-pink);background:#fff5f8}.upload-content{display:flex;flex-direction:column;align-items:center;gap:16px}.upload-icon{font-size:64px;opacity:.6}.upload-content h3{margin:0;font-size:24px;color:#374151}.upload-content p{margin:0;color:#6b7280}.upload-hint{font-size:14px!important;color:#9ca3af!important}.upload-btn{margin-top:8px}.format-info{background:#fff;border-radius:12px;padding:24px;border:1px solid #e5e7eb;height:100%;display:flex;flex-direction:column;justify-content:center}.format-info h4{margin:0 0 16px;color:#374151;font-size:18px}.format-info ul{margin:0;padding-left:0;color:#6b7280;list-style:none}.format-info li{margin-bottom:8px;padding-left:0}.crop-step{display:grid;grid-template-columns:1fr 400px;gap:32px;align-items:stretch;min-height:600px}.crop-main,.crop-sidebar{display:flex;flex-direction:column;gap:24px;height:100%}.aspect-ratio-selector{text-align:center;background:#fff;border-radius:12px;padding:24px;border:1px solid #e5e7eb;flex:1;display:flex;flex-direction:column;justify-content:center}.aspect-ratio-selector h3{margin:0 0 20px;color:#374151;font-size:20px}.ratio-options{display:flex;gap:16px;justify-content:center}.ratio-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 24px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;min-width:160px}.ratio-btn:hover{border-color:var(--primary-pink);transform:translateY(-2px);box-shadow:0 4px 12px #f8b5d726}.ratio-btn.active{border-color:var(--primary-pink);background:#fff5f8;transform:translateY(-2px);box-shadow:0 4px 12px #f8b5d733}.ratio-icon{font-size:32px}.ratio-label{font-size:16px;font-weight:600;color:#374151}.ratio-desc{font-size:14px;color:#6b7280}.settings-step{display:grid;grid-template-columns:1fr 400px;gap:32px;align-items:stretch;min-height:600px}.settings-step-single{max-width:700px;margin:0 auto;width:100%;margin-top:0!important}.settings-main,.settings-sidebar{display:flex;flex-direction:column;gap:24px;height:100%}.cropped-preview{text-align:center;background:#fff;border-radius:12px;padding:24px;border:1px solid #e5e7eb;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.cropped-preview h3{margin:0 0 16px;color:#374151;font-size:18px}.preview-image-container{position:relative;display:inline-block;cursor:pointer;transition:transform .2s ease}.preview-image-container:hover{transform:scale(1.02)}.preview-image{max-width:300px;max-height:300px;border-radius:8px;box-shadow:0 4px 12px #0000001a;transition:all .2s ease}.preview-overlay{position:absolute;inset:0;background:#000000b3;border-radius:8px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.preview-image-container:hover .preview-overlay{opacity:1}.preview-zoom-btn{font-size:14px;padding:8px 16px}.preview-hint{margin:12px 0 0;font-size:12px;color:#6b7280;text-align:center;font-style:italic}.preview-step{display:grid;grid-template-columns:1fr 400px;gap:32px;align-items:stretch;min-height:600px}.preview-main{display:flex;flex-direction:column;gap:24px;height:100%}.preview-sidebar{display:flex;flex-direction:column;gap:24px;height:100%;justify-content:center}.puzzle-summary{display:flex;gap:32px;background:#fff;border-radius:16px;padding:32px;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000d}.summary-image{flex-shrink:0}.final-preview{width:300px;height:300px;object-fit:cover;border-radius:12px;box-shadow:0 8px 24px #00000026}.summary-details{flex:1}.summary-details h3{margin:0 0 24px;color:#374151;font-size:24px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f3f4f6}.detail-item:last-child{border-bottom:none}.detail-label{font-weight:600;color:#374151}.detail-value{color:#6b7280;font-weight:500}.preview-actions{display:flex;flex-direction:column;gap:24px}.action-group{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.navigation-group{display:flex;gap:16px;justify-content:center}.start-game-btn{background:linear-gradient(135deg,var(--primary-pink),var(--secondary-pink));border:none;color:var(--text-primary);font-weight:600;padding:16px 32px;font-size:16px}.start-game-btn:hover{background:linear-gradient(135deg,var(--secondary-pink),var(--accent-pink));transform:translateY(-2px);box-shadow:0 8px 20px #f8b5d74d}.save-btn{background:linear-gradient(135deg,var(--primary-pink),var(--secondary-pink));border:none;color:var(--text-primary)}.save-btn:hover{background:linear-gradient(135deg,var(--secondary-pink),var(--accent-pink));transform:translateY(-2px);box-shadow:0 8px 20px #f8b5d74d}.share-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;color:#fff}.share-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf64d}@media (max-width: 1200px){.upload-step,.crop-step,.settings-step,.preview-step{grid-template-columns:1fr;gap:24px;min-height:auto}.settings-step-single{max-width:100%}.crop-sidebar,.settings-sidebar,.preview-sidebar,.format-info,.aspect-ratio-selector,.cropped-preview{height:auto}}@media (max-width: 1024px){.puzzle-summary{flex-direction:column;align-items:center;text-align:center}.final-preview{width:250px;height:250px}}@media (max-width: 768px){.editor-header h1{font-size:24px}.editor-content{padding:120px 16px 16px}.step-header{margin-bottom:32px;padding-top:24px}.step-header h2{font-size:28px}.progress-bar{width:150px}}@media (max-width: 480px){.editor-content{padding:100px 12px 12px}.step-header{margin-bottom:24px;padding-top:20px}.step-header h2{font-size:24px}}@media (max-width: 768px){.editor-header{flex-direction:column;gap:16px;padding:16px 20px}.header-left{align-self:flex-start}.progress-indicator{align-items:center}.progress-bar{width:150px}.editor-content{padding:16px}.ratio-options,.action-group{flex-direction:column;align-items:center}.action-group button{width:100%;max-width:300px}.upload-area{padding:32px 16px}.final-preview{width:200px;height:200px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.editor-step{animation:fadeInUp .5s ease-out}.upload-area.drag-over{border-color:var(--primary-pink);background:#fff5f8;transform:scale(1.02)}.editor-content::-webkit-scrollbar{width:8px}.editor-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.editor-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.editor-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.achievements-page{min-height:100vh;background:var(--light-pink-1);padding:20px;display:flex;flex-direction:column;font-family:Nunito,Quicksand,sans-serif}.achievements-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:20px;background:var(--light-pink-2);border-radius:16px;border:2px solid var(--primary-pink);box-shadow:var(--shadow-pink)}.achievements-stats{display:flex;align-items:center;gap:16px;color:var(--text-color)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-value{font-size:1.5rem;font-weight:700}.stat-label{font-size:.875rem;opacity:.8}.stat-divider{font-size:1.5rem;opacity:.6}.progress-ring{position:relative;width:60px;height:60px;border-radius:50%;background:conic-gradient(from 0deg,var(--accent-yellow) var(--progress),rgba(255,230,181,.2) var(--progress));display:flex;align-items:center;justify-content:center}.progress-ring:before{content:"";position:absolute;width:44px;height:44px;border-radius:50%;background:var(--neutral-color)}.progress-text{position:relative;z-index:1;font-size:.75rem;font-weight:600}.achievements-content{flex:1;display:flex;flex-direction:column;gap:24px}.category-tabs{display:flex;gap:8px;padding:8px;background:var(--neutral-color);border-radius:12px;border:1px solid var(--primary-pink);box-shadow:var(--shadow-pink);overflow-x:auto}.category-tab{display:flex;align-items:center;gap:8px;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:var(--text-light);cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:fit-content;font-family:Nunito,Quicksand,sans-serif}.category-tab:hover{background:var(--light-pink-1);color:var(--text-color);transform:translateY(-1px)}.category-tab.active{background:var(--primary-pink);color:#fff;font-weight:600;box-shadow:0 2px 8px #e8cdd680}.tab-label{font-size:.875rem}.tab-count{background:var(--accent-green);border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600;color:#fff}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;padding:4px}.achievement-card{background:var(--neutral-color);border-radius:16px;padding:20px;border:2px solid transparent;transition:all .3s ease;position:relative;overflow:hidden;transform:scale(1);border:1px solid var(--primary-pink);box-shadow:var(--shadow-pink)}.achievement-card.unlocked{border-color:var(--accent-yellow);box-shadow:0 8px 32px #e8cdd633,0 0 20px var(--accent-yellow, rgba(255, 230, 181, .3));background:linear-gradient(135deg,var(--neutral-color),var(--light-pink-2));transform:scale(1.02)}.achievement-card.unlocked:hover{transform:scale(1.05);box-shadow:0 12px 40px #e8cdd64d,0 0 30px var(--accent-yellow, rgba(255, 230, 181, .4));background:linear-gradient(135deg,var(--light-pink-2),var(--neutral-color))}.achievement-card.locked{opacity:.9;filter:grayscale(.3) brightness(.9);background:var(--light-pink-2);border-color:#ffdddc66}.achievement-card.locked:hover{opacity:1;filter:grayscale(.2) brightness(1);transform:scale(1.01);background:var(--neutral-color)}.achievement-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--rarity-color);opacity:0;transition:opacity .3s ease}.achievement-card.unlocked:before{opacity:1}.achievement-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.achievement-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s ease;position:relative}.achievement-card.unlocked .achievement-icon{background:#fff3;box-shadow:0 4px 15px #0003}.achievement-card.locked .achievement-icon{background:#ffffff4d;filter:grayscale(.5) brightness(.8)}@keyframes glow{0%{box-shadow:0 4px 15px #0003,0 0 5px var(--rarity-color, rgba(255, 255, 255, .3))}to{box-shadow:0 4px 20px #0000004d,0 0 15px var(--rarity-color, rgba(255, 255, 255, .5))}}@keyframes shimmer{0%{background:linear-gradient(135deg,#ffffffe6,#fffc)}50%{background:linear-gradient(135deg,#fffffff2,#ffffffe6)}to{background:linear-gradient(135deg,#ffffffe6,#fffc)}}.rarity-badge{padding:4px 8px;border-radius:8px;font-size:.75rem;font-weight:600;color:#fff;background:var(--rarity-color);opacity:.9;transition:all .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.5)}.achievement-card.unlocked .rarity-badge{opacity:1;box-shadow:0 2px 8px #0000004d}.achievement-card.locked .rarity-badge{opacity:.8;filter:grayscale(.3)}.achievement-content{color:#fff;transition:all .3s ease}.achievement-card.unlocked .achievement-content{color:#1a1a1a;text-shadow:none}.achievement-card.locked .achievement-content{color:#333}.achievement-title{margin:0 0 8px;font-size:1.25rem;font-weight:600;transition:all .3s ease}.achievement-card.unlocked .achievement-title{color:#1a1a1a;font-weight:700;text-shadow:none}.achievement-card.locked .achievement-title{color:#222;font-weight:700}.achievement-description{margin:0 0 16px;opacity:.8;line-height:1.5;transition:all .3s ease}.achievement-card.unlocked .achievement-description{opacity:1;font-weight:600;text-shadow:none;color:#2a2a2a}.achievement-card.locked .achievement-description{opacity:1;color:#000;font-weight:600}.achievement-progress{margin:16px 0;padding:12px;background:#ffffff1a;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.achievement-card.unlocked .achievement-progress{background:#ffffff26;border-color:#fff3}.achievement-card.locked .achievement-progress{background:#ffffff14;border-color:#ffffff1a}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.progress-label{font-size:.85rem;font-weight:500;opacity:.9}.achievement-card.unlocked .progress-label{color:#1a1a1a;font-weight:600}.achievement-card.locked .progress-label{color:#555}.progress-numbers{font-size:.85rem;font-weight:600;font-family:Courier New,monospace}.achievement-card.unlocked .progress-numbers{color:#1a1a1a}.achievement-card.locked .progress-numbers{color:#666}.progress-bar{width:100%;height:8px;background:#fff3;border-radius:4px;overflow:hidden;margin-bottom:6px;box-shadow:inset 0 1px 3px #0003;position:relative}.achievement-card.unlocked .progress-bar{background:#ffffff4d;box-shadow:inset 0 1px 3px #00000026}.achievement-card.locked .progress-bar{background:#ffffff26}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-pink) 0%,var(--secondary-pink) 100%);border-radius:4px;transition:width .4s ease-in-out;box-shadow:0 1px 3px #0003;position:relative}.progress-fill:after{display:none}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.achievement-card.unlocked .progress-fill{background:linear-gradient(90deg,#4ade80,#22c55e)}.achievement-card.locked .progress-fill{background:linear-gradient(90deg,#667eea99,#764ba299)}.progress-percentage{text-align:center;font-size:.8rem;font-weight:600;opacity:.8;font-family:Courier New,monospace}.achievement-card.unlocked .progress-percentage{color:#1a1a1a;opacity:1}.achievement-card.locked .progress-percentage{color:#666}.achievement-reward{background:#ffffff1a;border-radius:8px;padding:8px 12px;margin-bottom:12px;display:flex;align-items:center;gap:8px;transition:all .3s ease;border:1px solid rgba(255,255,255,.1)}.achievement-card.unlocked .achievement-reward{background:#fff9;border-color:#fff6;box-shadow:0 2px 8px #0000001a;color:#1a1a1a}.achievement-card.locked .achievement-reward{background:#fff6;border-color:#ffffff4d}.reward-label{font-size:.875rem;opacity:.8;transition:all .3s ease}.achievement-card.unlocked .reward-label{opacity:1;font-weight:600;text-shadow:none;color:#1a1a1a}.achievement-card.locked .reward-label{opacity:1;color:#555}.reward-text{font-size:.875rem;font-weight:600;transition:all .3s ease}.achievement-card.unlocked .reward-text{font-weight:700;text-shadow:none;color:#1a1a1a}.achievement-card.locked .reward-text{opacity:1;color:#333}.unlocked-info{display:flex;justify-content:space-between;align-items:center;opacity:1;font-size:.875rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3)}.achievement-status{position:absolute;top:16px;right:16px}.status-badge{padding:4px 8px;border-radius:8px;font-size:.75rem;font-weight:600;transition:all .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.3)}.status-badge.unlocked{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.empty-state{text-align:center;padding:60px 20px;color:#fff}.empty-state h3{margin:0 0 8px;font-size:1.5rem}.empty-state p{margin:0;opacity:.8}.achievements-tips{background:#ffffff1a;border-radius:16px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:24px}.achievements-tips h4{margin:0 0 16px;color:#fff;font-size:1.1rem}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.tip-item{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff1a;border-radius:8px;color:#fff}.tip-icon{font-size:1.2rem;min-width:24px}.tip-text{font-size:.875rem;opacity:.9}@media (max-width: 768px){.achievements-page{padding:16px}.achievements-header{flex-direction:column;gap:16px;align-items:stretch}.achievements-stats{justify-content:center}.achievements-grid{grid-template-columns:1fr}.category-tabs{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.category-tabs::-webkit-scrollbar{display:none}.tips-grid{grid-template-columns:1fr}}@media (max-width: 480px){.header-left{flex-direction:column;align-items:flex-start;gap:12px}.header-left h1{font-size:1.5rem}.achievement-card{padding:16px}.achievement-icon{font-size:2rem;width:50px;height:50px}}.unlock-date{font-size:.75rem;opacity:.8;margin-top:8px;font-style:italic}.achievement-card.unlocked .unlock-date{color:#1a1a1a;opacity:1}.game-failure-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.game-failure-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000004d;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;animation:slideIn .3s ease-out}.modal-header{text-align:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.modal-title{font-size:24px;font-weight:700;color:#ef4444;margin:0 0 8px}.failure-icon{font-size:48px;margin:0 auto}.modal-body{padding:24px}.failure-reason{text-align:center;margin-bottom:24px}.reason-text{font-size:16px;color:#374151;margin:0;line-height:1.5}.failure-tips{background-color:#f9fafb;border-radius:8px;padding:16px;border-left:4px solid #ef4444}.failure-tips h3{font-size:16px;font-weight:600;color:#374151;margin:0 0 12px}.failure-tips ul{margin:0;padding-left:20px}.failure-tips li{font-size:14px;color:#6b7280;margin-bottom:4px;line-height:1.4}.modal-footer{padding:16px 24px 24px;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.game-failure-modal{width:95%;margin:20px}.modal-header{padding:20px 20px 12px}.modal-body{padding:20px}.modal-footer{padding:12px 20px 20px;flex-direction:column}.modal-footer button{width:100%}}.effect-blur-unselected .puzzle-piece-item:not(.selected){filter:blur(8px);transition:filter .3s ease;opacity:.7}.effect-blur-unselected .puzzle-piece-item.selected{filter:none}.effect-invisible-placed .placed-piece{background:#000!important}.effect-invisible-placed .placed-piece .piece-image{filter:brightness(0)!important;opacity:1!important}.effect-invisible-placed .placed-piece .piece-info,.effect-invisible-placed .placed-piece .correctness-indicator{background:#ffffffe6;color:#333;border-radius:3px;padding:2px 4px;font-size:10px;font-weight:700}.effect-invisible-placed .answer-slot .puzzle-piece{background:var(--primary-pink)!important;filter:opacity(.3)!important}.grid-slot.hidden-slot{opacity:.3;pointer-events:none;background:repeating-linear-gradient(45deg,var(--primary-pink),var(--primary-pink) 10px,var(--secondary-pink) 10px,var(--secondary-pink) 20px)}.grid-slot.hidden-slot:before{content:"🔍";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;z-index:10;pointer-events:none;color:#999}.locked-slot{position:relative;opacity:.6;pointer-events:none;background:repeating-linear-gradient(45deg,var(--secondary-pink),var(--secondary-pink) 10px,var(--primary-pink) 10px,var(--primary-pink) 20px)}.locked-slot:before{content:"🔒";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;z-index:10;pointer-events:none}.unlocked-slot{opacity:1;pointer-events:auto;background:#fff;transition:all .3s ease}.unlocked-slot:hover{box-shadow:0 0 8px #00ff0080}.corner-slot.available{box-shadow:0 0 10px var(--primary-pink);animation:pulse-corner 1.5s infinite}@keyframes pulse-corner{0%{box-shadow:0 0 10px var(--primary-pink)}50%{box-shadow:0 0 20px var(--primary-pink)}to{box-shadow:0 0 10px var(--primary-pink)}}.effect-error-overlay{position:absolute;inset:0;background:var(--primary-pink);z-index:1000;pointer-events:none;animation:error-flash .5s ease-out}@keyframes error-flash{0%{opacity:1}to{opacity:0}}.step-limit-warning{background:linear-gradient(45deg,var(--accent-yellow),var(--accent-yellow));color:var(--text-color);font-weight:700;animation:warning-pulse 1s infinite}@keyframes warning-pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.double-steps-indicator{position:relative}.double-steps-indicator:after{content:"×2";position:absolute;top:-5px;right:-10px;background:var(--accent-yellow);color:var(--text-primary);font-size:10px;padding:2px 4px;border-radius:3px;font-weight:700}.effect-rotate-pieces .puzzle-piece{transition:transform .5s ease}.rotate-effect-hint{position:absolute;top:10px;right:10px;background:#ff9800e6;color:#fff;padding:8px 12px;border-radius:5px;font-size:12px;z-index:100;max-width:250px;line-height:1.4;box-shadow:0 2px 8px #0003;animation:hint-pulse 2s infinite}@keyframes hint-pulse{0%,to{opacity:.9}50%{opacity:1}}.partial-effect-hint{position:absolute;top:50px;right:10px;background:#9c27b0e6;color:#fff;padding:8px 12px;border-radius:5px;font-size:12px;z-index:100;max-width:250px;line-height:1.4;box-shadow:0 2px 8px #0003;animation:hint-pulse 2s infinite}.invisible-effect-hint{position:absolute;top:90px;right:10px;background:#000000e6;color:#fff;padding:8px 12px;border-radius:5px;font-size:12px;z-index:100;max-width:250px;line-height:1.4;box-shadow:0 2px 8px #0003;animation:hint-pulse 2s infinite}.upside-down-effect-hint{position:absolute;top:10px;left:10px;background:var(--accent-green);color:var(--text-color);padding:5px 10px;border-radius:5px;font-size:12px;z-index:100;border:1px solid var(--accent-green)}.time-critical{animation:time-urgent 1s infinite}@keyframes time-urgent{0%{color:var(--primary-pink)}50%{color:var(--accent-pink)}to{color:var(--primary-pink)}}.step-follow-restricted{position:relative;opacity:.5;pointer-events:none;background:repeating-linear-gradient(45deg,#f0f0f0,#f0f0f0 8px,#e0e0e0 8px 16px)}.step-follow-restricted:before{content:"🚫";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;z-index:10;pointer-events:none;color:#999}.step-follow-available{opacity:1;pointer-events:auto;background:#fff;border:2px solid #4caf50;transition:all .3s ease}.step-follow-available:hover{box-shadow:0 0 12px #4caf5099;border-color:#66bb6a}.step-follow-effect-hint{position:absolute;top:130px;right:10px;background:#4caf50e6;color:#fff;padding:8px 12px;border-radius:5px;font-size:12px;z-index:100;max-width:250px;line-height:1.4;box-shadow:0 2px 8px #0003;animation:hint-pulse 2s infinite}.brightness-effect{transition:filter .1s ease}.daily-challenge-container{max-width:1200px;margin:0 auto;padding:20px;background:var(--light-pink-1);min-height:100vh;color:var(--text-color);font-family:Nunito,Quicksand,Comfortaa,sans-serif}.daily-challenge-container.loading{display:flex;justify-content:center;align-items:center}.loading-spinner{font-size:24px;animation:pulse 1.5s ease-in-out infinite}.daily-challenge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:var(--light-pink-2);padding:20px;border-radius:15px;border:2px solid var(--primary-pink);box-shadow:var(--shadow-pink)}.daily-challenge-header h1{margin:0;font-size:32px;font-weight:300;color:var(--text-color);text-shadow:0 2px 8px rgba(138,127,142,.3)}.header-stats{display:flex;gap:15px;font-size:18px;font-weight:500;color:var(--text-color)}.challenge-tabs{display:flex;background:var(--neutral-color);border-radius:12px;padding:5px;margin-bottom:30px;border:2px solid var(--primary-pink);box-shadow:var(--shadow-pink)}.tab-button{flex:1;padding:15px 20px;border:none;background:transparent;color:var(--text-light);font-size:16px;font-weight:500;font-family:Nunito,Quicksand,Comfortaa,sans-serif;border-radius:8px;cursor:pointer;transition:all .3s ease}.tab-button:hover{background:#ffdddc66;color:var(--text-color);transform:translateY(-2px);box-shadow:0 4px 15px #ffdddc4d}.tab-button.active{background:var(--primary-pink);color:#fff;box-shadow:0 4px 15px #ffdddc66;transform:translateY(-2px)}.challenge-content{background:var(--neutral-color);border-radius:15px;padding:30px;border:2px solid var(--primary-pink);box-shadow:var(--shadow-pink)}.today-challenges{display:flex;flex-direction:column;gap:30px}.challenge-stats{display:flex;justify-content:center;gap:40px;margin-bottom:20px}.stat-item{text-align:center;background:var(--light-pink-2);padding:20px;border-radius:12px;min-width:120px;border:1px solid var(--primary-pink);transition:all .3s ease}.stat-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffdddc66}.stat-value{font-size:28px;font-weight:700;color:var(--accent-yellow);margin-bottom:5px}.stat-label{font-size:14px;color:var(--text-light)}.daily-puzzle-section h3{font-size:24px;margin-bottom:20px;text-align:center;color:var(--text-color);text-shadow:0 2px 8px rgba(138,127,142,.3)}.puzzle-preview{display:flex;gap:20px;background:var(--light-pink-2);padding:20px;border-radius:12px;margin-bottom:30px;border:2px solid var(--primary-pink);box-shadow:var(--shadow-pink)}.puzzle-preview img{width:120px;height:120px;border-radius:8px;object-fit:cover;border:2px solid var(--primary-pink);box-shadow:0 4px 15px #ffdddc4d}.puzzle-info h4{font-size:20px;margin:0 0 10px;color:var(--text-color)}.puzzle-info p{margin:0 0 15px;opacity:.9;line-height:1.5}.puzzle-details{display:flex;gap:15px;font-size:14px;flex-wrap:wrap}.puzzle-details span{background:var(--neutral-color);padding:5px 10px;border-radius:6px;border:1px solid var(--primary-pink);color:var(--text-color)}.effect-selection-section{margin-bottom:30px}.effect-selection-section h4{font-size:18px;margin-bottom:15px;color:var(--text-color);display:flex;align-items:center;gap:10px}.effect-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px}.effect-card{background:#ffffff1a;border:2px solid transparent;border-radius:12px;padding:15px;cursor:pointer;transition:all .3s ease;position:relative}.effect-card:hover{background:#ffffff26;transform:translateY(-2px)}.effect-card.selected{border-color:var(--accent-yellow);background:#fff2d833;box-shadow:0 4px 20px #fff2d84d}.effect-name{font-size:16px;font-weight:800;margin-bottom:8px;color:var(--accent-yellow);text-shadow:0 1px 2px rgba(0,0,0,.3);letter-spacing:.5px}.effect-description{font-size:14px;opacity:.9;line-height:1.4;margin-bottom:10px}.effect-star{font-size:14px;color:var(--accent-yellow);text-align:right;text-shadow:0 1px 2px rgba(0,0,0,.3)}.challenge-actions{text-align:center;background:#ffffff1a;padding:20px;border-radius:12px}.selected-effects-summary{font-size:16px;margin-bottom:15px;color:var(--accent-yellow);font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}.no-effects-hint{display:block;font-size:14px;color:var(--accent-green);font-weight:400;margin-top:5px}.game-controls{display:flex;justify-content:center;gap:15px;margin:20px 0;flex-wrap:wrap}.game-controls .btn-secondary{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 15px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease}.game-controls .btn-secondary:hover:not(:disabled){background:#ffffff4d;transform:translateY(-1px)}.game-controls .btn-secondary:disabled{opacity:.5;cursor:not-allowed;background:#ffffff1a}.helper-section{background:#ffffff14;border-radius:12px;padding:20px;margin:20px 0;border:1px solid rgba(255,255,255,.1)}.preview-section,.answer-section{margin-bottom:20px}.preview-section:last-child,.answer-section:last-child{margin-bottom:0}.preview-section h4,.answer-section h4{color:var(--accent-yellow);margin-bottom:15px;font-size:16px;display:flex;align-items:center;gap:8px}.preview-image{display:flex;justify-content:center;background:#ffffff1a;padding:15px;border-radius:8px}.preview-image img{max-width:200px;max-height:200px;border-radius:6px;object-fit:cover}.answer-grid{background:#ffffff1a;padding:15px;border-radius:8px}.answer-hint{color:var(--accent-green);font-style:italic;text-align:center;line-height:1.5}.challenge-history h3{font-size:24px;margin-bottom:20px;text-align:center;color:var(--accent-yellow)}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.history-header h3{margin:0;text-align:left}.empty-history{text-align:center;padding:60px 20px;opacity:.7}.empty-history p{font-size:18px;margin:10px 0}.empty-history-action{margin-top:20px}.history-container{display:flex;flex-direction:column;gap:20px}.history-list{display:flex;flex-direction:column;gap:15px}.history-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:20px;background:#ffffff1a;padding:15px;border-radius:10px;align-items:center}.history-date{font-weight:700;color:gold}.history-challenge{font-size:16px}.history-stars{color:gold;font-size:18px}.history-status{font-size:14px}.history-footer{background:#ffffff0d;border-radius:10px;padding:20px;text-align:center;border:1px solid rgba(255,255,255,.1)}.history-more-text{margin:0 0 15px;opacity:.8;font-size:14px}.rewards-section h3{font-size:24px;margin-bottom:20px;text-align:center;color:gold}.rewards-stats{display:flex;justify-content:center;gap:40px;margin-bottom:30px}.reward-stat{text-align:center;background:#ffffff1a;padding:20px;border-radius:12px;min-width:120px}.reward-value{font-size:24px;font-weight:700;color:gold;margin-bottom:5px}.reward-label{font-size:14px;opacity:.8}.unlocked-items h4{font-size:20px;margin-bottom:20px;color:gold}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.item-card{background:#ffffff1a;padding:15px;border-radius:10px;text-align:center}.item-icon{font-size:24px;margin-bottom:10px}.item-name{font-weight:700;margin-bottom:5px}.item-date{font-size:12px;opacity:.7}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.effect-card{animation:slideIn .3s ease-out}@media (max-width: 768px){.daily-challenge-container{padding:15px}.daily-challenge-header{flex-direction:column;gap:15px;text-align:center}.challenge-stats{flex-direction:column;gap:15px}.puzzle-preview{flex-direction:column;text-align:center}.effect-grid{grid-template-columns:1fr}.history-item{grid-template-columns:1fr;text-align:center;gap:10px}.rewards-stats{flex-direction:column;gap:15px}}.multiplayer-page{min-height:100vh;background:var(--light-pink-1);padding:20px;display:flex;flex-direction:column;font-family:Nunito,Quicksand,sans-serif}.multiplayer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:20px;background:var(--light-pink-2);border-radius:16px;border:2px solid var(--primary-pink);box-shadow:var(--shadow-pink)}.header-left h1{margin:0;color:var(--text-color);font-size:2rem;font-weight:300;text-shadow:0 2px 8px rgba(232,205,214,.3)}.multiplayer-tabs{display:flex;gap:8px;background:var(--neutral-color);border-radius:12px;padding:8px;border:1px solid var(--primary-pink);box-shadow:var(--shadow-pink)}.tab-button{display:flex;align-items:center;gap:8px;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:var(--text-light);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Nunito,Quicksand,sans-serif}.tab-button:hover{background:var(--light-pink-1);color:var(--text-color);transform:translateY(-1px)}.tab-button.active{background:var(--primary-pink);color:var(--button-text);font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 4px 12px #f8a5c266}.tab-icon{font-size:1.1rem}.multiplayer-content{flex:1;background:linear-gradient(135deg,var(--light-pink) 0%,var(--light-pink-2) 100%);border-radius:16px;padding:24px;min-height:500px;border:2px solid var(--primary-pink);box-shadow:0 8px 25px #f8a5c24d}.join-room-section{max-width:500px;margin:0 auto;background:var(--light-pink-2);border-radius:20px;padding:32px;border:2px solid var(--primary-pink);box-shadow:0 8px 25px #f8a5c24d}.join-by-code{text-align:center;margin-bottom:32px}.join-by-code h3{color:var(--text-color);font-size:1.5rem;font-weight:300;margin-bottom:16px;text-shadow:0 1px 4px rgba(232,205,214,.2)}.code-input-group{display:flex;gap:12px;justify-content:center;margin-bottom:20px;padding:0 16px}.code-input{flex:1;max-width:300px;padding:16px 20px;border:2px solid var(--primary-pink);border-radius:12px;background:#fff;color:var(--text-color);font-size:1.2rem;font-weight:600;letter-spacing:2px;text-align:center;text-transform:uppercase;transition:all .2s ease;font-family:Nunito,Quicksand,sans-serif}.code-input:focus{outline:none;border-color:var(--accent-yellow);background:#fff;box-shadow:0 0 0 3px #ffe6b533}.code-input::placeholder{color:var(--text-light);font-size:1rem;letter-spacing:normal;text-transform:none}.code-hint{color:var(--text-light);font-size:.9rem;margin:0}.create-room-section{max-width:800px;margin:0 auto}.create-form{background:var(--light-pink-2);border-radius:16px;padding:32px;border:1px solid var(--primary-pink);box-shadow:var(--shadow-pink)}.create-form h3{color:var(--text-color);font-size:1.5rem;margin-bottom:24px;text-align:center}.form-group{margin-bottom:24px}.form-group label{display:block;color:var(--text-color);font-size:1rem;font-weight:600;margin-bottom:8px}.form-input{width:100%;padding:16px 20px;border:2px solid var(--primary-pink);border-radius:12px;background:#fff;color:var(--text-color);font-size:1rem;transition:all .2s ease;font-family:Nunito,Quicksand,sans-serif}.form-input:focus{outline:none;border-color:var(--accent-yellow);background:#fff;box-shadow:0 0 0 3px #ffe6b533}.form-input::placeholder{color:var(--text-light)}.difficulty-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.difficulty-option{display:flex;align-items:center;gap:12px;padding:16px;border:2px solid var(--border-color);border-radius:12px;background:var(--light-pink-1);color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.difficulty-option:hover{background:var(--light-pink-2);border-color:var(--primary-pink);transform:translateY(-1px);box-shadow:0 4px 10px #f8a5c233}.difficulty-option.selected{background:var(--primary-pink);color:var(--button-text);border-color:var(--primary-pink);font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 6px 15px #f8a5c266;transform:translateY(-1px)}.difficulty-color{width:16px;height:16px;border-radius:50%;flex-shrink:0}.grid-size-options{display:flex;gap:12px;flex-wrap:wrap}.grid-size-option{padding:12px 24px;border:2px solid var(--border-color);border-radius:8px;background:var(--light-pink-1);color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.piece-shape-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.piece-shape-option{display:flex;align-items:center;gap:8px;padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;background:var(--light-pink-1);color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:48px}.piece-shape-option:hover{border-color:var(--primary-pink);background:var(--light-pink-2);transform:translateY(-2px);box-shadow:0 4px 12px #f8a5c24d}.piece-shape-option.selected{border-color:var(--primary-pink);background:var(--primary-pink);color:var(--button-text);font-weight:700;box-shadow:0 4px 12px #f8a5c266}.piece-shape-option.selected:hover{transform:translateY(-1px)}.piece-shape-option:disabled{opacity:.6;cursor:not-allowed;transform:none}.shape-icon{font-size:1.2rem;flex-shrink:0}.shape-label{font-size:.85rem}.grid-size-option:hover{background:var(--light-pink-2);border-color:var(--accent-green);transform:translateY(-1px);box-shadow:0 4px 10px #a8e6cf33}.grid-size-option.selected{background:var(--accent-green);color:var(--text-primary);border-color:var(--accent-green);font-weight:700;box-shadow:0 6px 15px #a8e6cf66;transform:translateY(-1px)}.puzzle-selection{display:flex;flex-direction:column;gap:12px}.puzzle-option-item{display:flex;align-items:center;gap:12px}.puzzle-option-item input[type=radio]{width:20px;height:20px;accent-color:var(--primary-pink)}.puzzle-option-item label{display:flex;align-items:center;gap:12px;flex:1;padding:16px;border:2px solid var(--border-color);border-radius:12px;background:var(--light-pink-1);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.puzzle-option-item input[type=radio]:checked+label{background:var(--primary-pink);border-color:var(--primary-pink)}.puzzle-option-item label:hover{background:var(--light-pink-2);border-color:var(--border-color)}.puzzle-icon{font-size:1.2rem}.puzzle-info{display:flex;flex-direction:column;gap:4px}.puzzle-name{font-weight:600;font-size:1rem}.puzzle-category{font-size:.8rem;color:var(--text-secondary)}.form-actions{margin-top:32px;text-align:center}.create-btn{min-width:200px}.empty-my-rooms{text-align:center;padding:64px 32px;color:var(--text-primary)}.empty-icon{font-size:4rem;margin-bottom:24px}.empty-my-rooms h4{font-size:1.5rem;margin-bottom:16px}.empty-my-rooms p{font-size:1rem;color:var(--text-secondary);margin-bottom:32px}.empty-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.current-room-section{max-width:900px;margin:0 auto}.room-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px;background:linear-gradient(135deg,var(--light-pink-2) 0%,var(--light-pink) 100%);border-radius:16px;border:2px solid var(--primary-pink);box-shadow:0 6px 20px #f8a5c24d}.room-title h3{color:var(--text-primary);font-size:1.5rem;margin:0 0 12px}.room-code-display{display:flex;align-items:center;gap:12px;color:var(--text-secondary)}.room-code-label{font-size:.9rem}.room-code-value{font-size:1.2rem;font-weight:700;color:var(--button-text);background:var(--primary-pink);padding:8px 16px;border-radius:8px;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 4px 10px #f8a5c24d}.status-indicator{font-size:1rem;font-weight:600}.room-info{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;margin-bottom:24px}.puzzle-info,.players-info{background:linear-gradient(135deg,var(--light-pink) 0%,var(--neutral-color) 100%);border-radius:16px;padding:24px;border:2px solid var(--primary-pink);box-shadow:0 4px 15px #f8a5c233;min-width:400px}.puzzle-info h4,.players-info h4{color:var(--text-primary);font-size:1.2rem;margin:0 0 16px}.puzzle-meta{display:flex;gap:12px;align-items:center;margin-bottom:12px}.difficulty-badge{color:var(--button-text);font-size:.8rem;font-weight:700;padding:6px 12px;border-radius:6px;background:var(--primary-pink);border:2px solid var(--primary-pink);text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 2px 6px #f8a5c24d}.grid-size{color:var(--text-primary);font-size:.9rem;font-weight:600;background:var(--accent-green);padding:6px 12px;border-radius:6px;border:2px solid var(--accent-green);box-shadow:0 2px 6px #a8e6cf4d}.puzzle-name{color:var(--text-primary);font-size:1rem;font-weight:500}.players-list{display:flex;flex-direction:column;gap:12px}.player-item{background:var(--light-pink-1);border-radius:12px;padding:16px 20px;border:2px solid var(--primary-pink);box-shadow:0 4px 10px #f8a5c233;transition:all .2s ease;min-height:70px;width:100%}.player-item:hover{transform:translateY(-1px);box-shadow:0 6px 15px #f8a5c24d}.player-info{display:flex;align-items:center;margin-bottom:12px}.player-name{color:var(--text-primary);font-weight:600;font-size:1rem;display:flex;align-items:center;gap:6px;min-width:120px;max-width:60%;flex-shrink:1;flex-wrap:nowrap;margin-right:12px}.player-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:60px}.player-badges{display:flex;gap:3px;flex-shrink:0}.host-badge{font-size:.7rem;background:var(--accent-green);color:var(--text-primary);padding:2px 4px;border-radius:3px;font-weight:700;white-space:nowrap;box-shadow:0 2px 4px #a8e6cf4d}.you-badge{font-size:.7rem;background:var(--primary-pink);color:var(--button-text);padding:2px 4px;border-radius:3px;font-weight:700;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 2px 4px #f8a5c24d}.player-status{font-size:.9rem;font-weight:500;flex-shrink:0;min-width:80px;text-align:right}.player-result{color:var(--text-secondary);font-size:.8rem}.room-actions{display:flex;gap:16px;justify-content:center;padding:20px;background:linear-gradient(135deg,var(--light-pink-2) 0%,var(--light-pink) 100%);border-radius:16px;border:2px solid var(--primary-pink);box-shadow:0 6px 20px #f8a5c24d}.error-message{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#ffd1dc33;border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);margin:16px 0}.error-icon{font-size:1.2rem}.error-close{background:none;border:none;color:var(--text-primary);font-size:1.5rem;cursor:pointer;margin-left:auto;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.error-close:hover{background:var(--light-pink-2)}@media (max-width: 768px){.multiplayer-page{padding:16px}.multiplayer-header{flex-direction:column;gap:16px;align-items:stretch}.multiplayer-tabs{justify-content:center}.tab-button{flex:1;justify-content:center}.tab-label{display:none}.multiplayer-content{padding:24px}.code-input-group{flex-direction:column;align-items:stretch}.difficulty-options{grid-template-columns:1fr 1fr}.room-info{grid-template-columns:1fr}.player-name{min-width:180px}.player-name-text{min-width:140px}.room-header{flex-direction:column;gap:16px;align-items:stretch}.room-code-display{flex-direction:column;align-items:flex-start;gap:8px}.room-actions{flex-direction:column}.empty-actions{flex-direction:column;align-items:center}}@media (max-width: 480px){.difficulty-options{grid-template-columns:1fr}.grid-size-options{grid-template-columns:repeat(2,1fr)}}.waiting-message{color:var(--text-primary);background:linear-gradient(135deg,var(--light-pink-2) 0%,var(--light-pink) 100%);border:2px solid var(--primary-pink);border-radius:16px;padding:20px 32px;text-align:center;font-size:1.1rem;font-weight:600;margin:16px 0;box-shadow:0 6px 20px #f8a5c24d;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}.multiplayer-game-page{min-height:100vh;background:var(--light-pink-1);display:flex;flex-direction:column;font-family:Nunito,Quicksand,Comfortaa,sans-serif}.game-info-panel{background:var(--light-pink-2);border-bottom:2px solid var(--primary-pink);box-shadow:var(--shadow-pink);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.room-info{display:flex;gap:24px;align-items:center;flex-shrink:1;min-width:0;overflow:hidden}.room-code,.game-mode{color:var(--text-color);font-weight:600;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.players-status{display:flex;gap:32px;align-items:center;flex-shrink:1;min-width:0;overflow:hidden}.player-status{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;flex-shrink:1;overflow:hidden}.game-info-panel .player-name{color:var(--text-color);font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.status-indicator{font-size:.8rem;padding:4px 8px;border-radius:12px;font-weight:500}.status-indicator.playing{background:var(--primary-pink);color:#fff}.status-indicator.finished{background:var(--accent-green);color:var(--text-color)}.status-indicator.waiting{background:var(--light-pink-2);color:var(--text-light);border:1px solid var(--primary-pink)}.game-loading{flex:1;display:flex;align-items:center;justify-content:center;padding:40px}.loading-container{text-align:center;color:var(--text-color)}.loading-container h2{margin:24px 0 12px;font-size:1.5rem;font-weight:300;text-shadow:0 2px 8px rgba(138,127,142,.3)}.loading-container p{margin:0;font-size:1rem;color:var(--text-light)}.loading-spinner{width:60px;height:60px;border:4px solid rgba(255,221,220,.3);border-top:4px solid var(--primary-pink);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.opponent-finished-notice{background:var(--accent-yellow);color:var(--text-color);padding:12px 24px;display:flex;align-items:center;gap:12px;font-weight:500;animation:pulse 2s infinite;border-bottom:2px solid var(--primary-pink)}.notice-icon{font-size:1.2rem}.game-area{flex:1;padding:0}.multiplayer-game-result{min-height:100vh;background:var(--light-pink-1);display:flex;align-items:center;justify-content:center;padding:40px;font-family:Nunito,Quicksand,Comfortaa,sans-serif}.result-container{background:var(--neutral-color);border-radius:24px;padding:48px;max-width:600px;width:100%;text-align:center;box-shadow:var(--shadow-pink);border:2px solid var(--primary-pink);box-sizing:border-box;overflow:hidden;min-width:0}.result-header{margin-bottom:40px}.result-title{font-size:3rem;font-weight:700;margin:0 0 16px}.result-title.winner{color:var(--accent-green)}.result-title.loser{color:var(--primary-pink)}.result-subtitle{font-size:1.2rem;color:var(--text-light);margin:0}.result-stats{display:flex;align-items:center;gap:32px;margin-bottom:40px;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.player-stats{flex:1;background:var(--light-pink-2);border-radius:16px;padding:24px;border:1px solid var(--primary-pink);transition:all .3s ease;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}.player-stats:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffdddc66}.stats-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.player-avatar{font-size:1.5rem}.player-name{font-weight:600;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;flex-shrink:1}.winner-crown{font-size:1.2rem}.stats-details{display:flex;flex-direction:column;gap:8px}.stat-item{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;gap:8px}.stat-label{color:#6b7280;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;min-width:fit-content}.stat-value{font-weight:600;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;text-align:right}.vs-divider{font-size:1.5rem;font-weight:700;color:#9ca3af}.result-actions{display:flex;justify-content:center}@media (max-width: 768px){.game-info-panel{flex-direction:column;gap:16px;padding:16px}.room-info{gap:16px;justify-content:center}.room-code,.game-mode{font-size:1rem;max-width:150px}.players-status{gap:16px;justify-content:center;flex-wrap:wrap}.game-info-panel .player-name{max-width:100px;font-size:.8rem}.result-container{padding:24px 16px;margin:20px;max-width:90vw;width:calc(100% - 40px)}.result-stats{flex-direction:column;gap:16px}.player-stats{padding:16px;min-width:0;width:100%}.player-name{max-width:120px;font-size:.9rem}.stat-label,.stat-value{font-size:.8rem}.vs-divider{transform:rotate(90deg);font-size:1.2rem}}@media (max-width: 480px){.multiplayer-game-result{padding:20px}.result-container{padding:20px 12px;margin:10px;max-width:95vw;width:calc(100% - 20px)}.result-title{font-size:2rem}.result-subtitle{font-size:1rem}.player-stats{padding:12px}.stats-header{gap:4px;margin-bottom:12px}.player-name{max-width:100px;font-size:.8rem}.stat-label,.stat-value{font-size:.75rem}.player-avatar{font-size:1.2rem}.winner-crown{font-size:1rem}.game-info-panel{padding:12px}.room-info{gap:8px;flex-direction:column;align-items:center}.room-code,.game-mode{font-size:.9rem;max-width:120px;text-align:center}.players-status{gap:12px;width:100%}.player-status{flex:1;min-width:0}.game-info-panel .player-name{max-width:80px;font-size:.75rem}.status-indicator{font-size:.7rem;padding:2px 6px}}.shop-page{min-height:100vh;background:var(--background-main);padding:20px;display:flex;flex-direction:column}.shop-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:20px;background:var(--light-pink);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--primary-pink);box-shadow:0 4px 16px var(--shadow-pink)}.header-left{display:flex;align-items:center;gap:16px}.header-left h1{margin:0;color:var(--text-primary);font-size:2rem;font-weight:300;text-shadow:0 2px 8px var(--shadow-pink);font-family:Nunito,Quicksand,sans-serif}.user-coins{display:flex;align-items:center;gap:16px}.coins-display{display:flex;align-items:center;gap:8px;background:var(--accent-pink);padding:12px 20px;border-radius:12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--primary-pink)}.coins-icon{font-size:1.5rem;color:var(--text-primary)}.coins-amount{font-size:1.5rem;font-weight:700;color:var(--text-primary);text-shadow:0 1px 2px rgba(255,192,203,.3)}.coins-label{color:var(--text-secondary);font-weight:500}.shop-content{flex:1;display:flex;flex-direction:column;gap:24px}.category-tabs{display:flex;gap:8px;padding:8px;background:var(--light-pink);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--primary-pink);box-shadow:0 2px 8px var(--shadow-pink);overflow-x:auto}.category-tab{display:flex;align-items:center;gap:8px;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .3s cubic-bezier(.215,.61,.355,1);white-space:nowrap;min-width:fit-content;font-family:Nunito,Quicksand,sans-serif}.category-tab:hover{background:var(--secondary-pink);transform:translateY(-1px);box-shadow:0 2px 4px var(--shadow-pink)}.category-tab.active{background:var(--primary-pink);color:#fff;font-weight:400;box-shadow:0 2px 8px var(--shadow-pink)}.category-icon{font-size:1.1rem}.category-label{font-size:.875rem}.category-count{background:var(--light-pink-2);border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600;color:var(--text-primary)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:4px}.shop-item-card{background:var(--light-pink);border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid transparent;transition:all .3s cubic-bezier(.215,.61,.355,1);position:relative;overflow:hidden;transform:scale(1);color:var(--text-primary);box-shadow:0 4px 12px var(--shadow-pink)}.shop-item-card:hover{transform:scale(1.03);box-shadow:0 8px 32px var(--shadow-pink);border-color:var(--rarity-color)}.shop-item-card.owned{opacity:.8;border-color:var(--mint-green);background:#b4e0d833}.shop-item-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--rarity-color);opacity:.8}.item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.item-icon{font-size:3rem;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--accent-pink);border-radius:16px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:2px solid var(--primary-pink);position:relative;box-shadow:0 2px 8px var(--shadow-pink)}.puzzle-preview-image{width:80px;height:80px;object-fit:cover;border-radius:8px;box-shadow:0 2px 8px var(--shadow-pink);border:1px solid var(--primary-pink)}.fallback-icon{display:none}.rarity-badge{padding:6px 12px;border-radius:8px;font-size:.75rem;font-weight:600;color:#fff;background:var(--rarity-color);text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 2px 8px #0003}.item-content{display:flex;flex-direction:column;gap:12px}.item-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.item-description{margin:0;color:var(--text-secondary);line-height:1.5;font-size:.9rem}.item-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.price-section{display:flex;align-items:center;gap:6px}.price-icon{font-size:1.2rem}.price-amount{font-size:1.1rem;font-weight:700;color:var(--accent-yellow)}.purchase-btn{padding:8px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:80px}.purchase-btn.affordable{background:linear-gradient(135deg,var(--accent-green),var(--mint-green));color:var(--text-primary)}.purchase-btn.affordable:hover{background:linear-gradient(135deg,var(--mint-green),var(--accent-green));transform:scale(1.05)}.purchase-btn.expensive{background:var(--light-pink-1);color:var(--text-secondary);cursor:not-allowed;border:1px solid var(--border-color)}.purchase-btn.owned{background:var(--accent-green);color:var(--text-primary);cursor:default}.owned-overlay{position:absolute;inset:0;background:#d6f5e233;display:flex;align-items:center;justify-content:center}.owned-badge{background:var(--accent-green);color:var(--text-primary);padding:8px 16px;border-radius:20px;font-weight:600;box-shadow:0 4px 12px #d6f5e266}.no-items{display:flex;justify-content:center;align-items:center;min-height:300px}.empty-state{text-align:center;color:var(--text-primary)}.empty-state h3{margin:0 0 8px;font-size:1.5rem;font-weight:600}.empty-state p{margin:0;color:var(--text-secondary);line-height:1.5}.shop-tips{background:var(--light-pink-2);border-radius:16px;padding:24px;margin-top:32px;border:1px solid var(--border-color)}.shop-tips h4{margin:0 0 20px;color:var(--text-primary);font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:8px}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.tip-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--light-pink-1);border-radius:8px;transition:all .2s ease;border:1px solid var(--border-color)}.tip-item:hover{background:var(--light-pink-2)}.tip-icon{font-size:1.5rem;flex-shrink:0}.tip-text{color:var(--text-secondary);font-size:.9rem;line-height:1.4}@media (max-width: 768px){.shop-header{flex-direction:column;gap:16px;align-items:stretch}.header-left,.user-coins{justify-content:center}.shop-grid{grid-template-columns:1fr;gap:16px}.category-tabs{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.category-tabs::-webkit-scrollbar{display:none}.tips-grid{grid-template-columns:1fr}}@media (max-width: 480px){.shop-page{padding:16px}.header-left h1{font-size:1.5rem}.shop-item-card{padding:16px}.item-icon{width:60px;height:60px;font-size:2rem}}.profile-page{min-height:100vh;background:var(--light-pink-1);padding:20px;font-family:Nunito,Quicksand,sans-serif}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:var(--light-pink-2);border-radius:16px;border:2px solid var(--primary-pink);box-shadow:var(--shadow-pink)}.header-left h1{color:var(--text-color);font-size:2rem;font-weight:300;margin:0;text-shadow:0 2px 8px rgba(232,205,214,.3)}.profile-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:30px}.profile-card{background:var(--neutral-color);border-radius:20px;padding:40px;box-shadow:var(--shadow-pink);border:2px solid var(--primary-pink);display:flex;flex-direction:column;align-items:center;text-align:center}.avatar-section{margin-bottom:30px}.profile-avatar{position:relative;width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--primary-pink) 0%,var(--light-pink-1) 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:700;color:#fff;font-size:3rem;cursor:pointer;transition:all .3s ease;margin:0 auto 20px;box-sizing:border-box}.profile-avatar:hover{transform:scale(1.05);box-shadow:0 10px 30px #e8cdd666}.profile-avatar.with-frame{border:4px solid var(--light-pink-1);box-shadow:0 0 20px #e8cdd666}.profile-avatar img{width:90%;height:90%;object-fit:cover;border-radius:50%}.avatar-emoji{font-family:"Segoe UI Emoji","Noto Color Emoji","Apple Color Emoji",Segoe UI Symbol,EmojiOne Mozilla,sans-serif;display:inline-flex;align-items:center;justify-content:center;font-size:2.4rem;line-height:1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.change-avatar-btn{background:var(--accent-green);color:var(--text-color);border:none;padding:10px 20px;border-radius:25px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;font-family:Nunito,Quicksand,sans-serif}.change-avatar-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #b4e0d880;filter:brightness(.95)}.user-info-section{width:100%}.username{font-size:2rem;font-weight:500;color:var(--text-color);margin:0 0 30px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px}.stat-item{display:flex;align-items:center;gap:15px;padding:20px;background:var(--light-pink-2);border-radius:15px;border:1px solid var(--primary-pink);transition:all .3s ease}.stat-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-pink)}.stat-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--primary-pink);border-radius:50%;box-shadow:0 5px 15px #e8cdd64d;color:#fff}.stat-content{flex:1;text-align:left}.stat-value{font-size:1.5rem;font-weight:500;color:var(--text-color);margin-bottom:5px}.stat-label{font-size:.9rem;color:var(--text-light)}.level-progress-section{background:var(--light-pink-2);padding:25px;border-radius:15px;border:1px solid var(--primary-pink)}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.progress-label{font-weight:500;color:var(--text-color)}.progress-text{font-size:.9rem;color:#666}.progress-bar{height:10px;background:#e1e5e9;border-radius:5px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-pink) 0%,var(--secondary-pink) 100%);border-radius:5px;transition:width .3s ease}.progress-percentage{text-align:center;font-size:.8rem;color:#666;font-weight:500}.achievements-section{background:#fff;border-radius:20px;padding:40px;box-shadow:0 20px 60px #0000001a}.achievements-section h3{font-size:1.5rem;font-weight:700;color:#333;margin:0 0 25px;text-align:center}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.achievement-item{display:flex;align-items:center;gap:10px;padding:15px;background:#f8f9fa;border-radius:10px;transition:all .3s ease}.achievement-item:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0000001a}.achievement-icon{font-size:1.5rem}.achievement-name{font-weight:500;color:#333}.no-achievements{text-align:center;padding:40px;color:#666;grid-column:1 / -1}.empty-icon{font-size:3rem;display:block;margin-bottom:15px}.actions-section{grid-column:1 / -1;display:flex;justify-content:center;gap:20px;margin-top:30px}.action-btn{display:flex;align-items:center;gap:10px;padding:15px 30px;border:none;border-radius:25px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.reset-btn{background:#ff6b6b;color:#fff}.reset-btn:hover{background:#ff5252;transform:translateY(-2px);box-shadow:0 5px 15px #ff6b6b4d}.logout-btn{background:#6c757d;color:#fff}.logout-btn:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 5px 15px #6c757d4d}.profile-error{background:#fff;border-radius:20px;padding:40px;text-align:center;max-width:500px;margin:100px auto;box-shadow:0 20px 60px #0000001a}.profile-error h2{color:#ff6b6b;margin-bottom:20px}.reset-confirm-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.reset-confirm-dialog{background:#fff;border-radius:20px;padding:40px;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease}.reset-confirm-dialog h3{margin:0 0 20px;color:#ff6b6b;text-align:center;font-size:1.3rem}.reset-confirm-dialog p{margin:0 0 15px;color:#333;line-height:1.6}.reset-confirm-dialog ul{margin:0 0 20px;padding-left:20px;color:#666}.reset-confirm-dialog li{margin-bottom:8px}.reset-confirm-buttons{display:flex;gap:15px;margin-top:30px}.reset-cancel-btn,.reset-confirm-btn{flex:1;padding:15px 20px;border:none;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.reset-cancel-btn{background:#f8f9fa;color:#666}.reset-cancel-btn:hover:not(:disabled){background:#e9ecef}.reset-confirm-btn{background:#ff6b6b;color:#fff}.reset-confirm-btn:hover:not(:disabled){background:#ff5252}.reset-cancel-btn:disabled,.reset-confirm-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.owned-items-section{grid-column:span 2;background:#fff;border-radius:20px;padding:30px;box-shadow:0 20px 60px #0000001a}.owned-items-section h3{color:#333;margin-bottom:20px;font-size:1.5rem;font-weight:700}.owned-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.owned-item-card{background:#f8f9fa;border-radius:12px;padding:15px;display:flex;align-items:center;gap:12px;transition:all .3s ease;position:relative}.owned-item-card:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0000001a}.owned-item-icon{font-size:2rem;min-width:40px;text-align:center}.owned-item-info{flex:1}.owned-item-name{font-weight:600;color:#333;margin-bottom:2px}.owned-item-category{font-size:.85rem;color:#666}.item-in-use{position:absolute;top:-5px;right:-5px;background:#4caf50;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:8px;font-weight:600}.no-owned-items{text-align:center;padding:40px 20px;color:#666}.no-owned-items .empty-icon{font-size:3rem;display:block;margin-bottom:15px}.no-owned-items p{margin:0;font-size:1.1rem}@media (max-width: 768px){.profile-content{grid-template-columns:1fr;gap:20px}.owned-items-section{grid-column:span 1}.owned-items-grid{grid-template-columns:1fr}.profile-card{padding:30px 20px}.stats-grid,.achievements-grid{grid-template-columns:1fr}.actions-section{flex-direction:column;align-items:center}.action-btn{width:200px;justify-content:center}.header-left{flex-direction:column;align-items:flex-start;gap:10px}.header-left h1{font-size:1.5rem}}.leaderboard-page{min-height:100vh;background:var(--light-pink-1);padding:20px;display:flex;flex-direction:column;font-family:Nunito,Quicksand,sans-serif}.page-header{text-align:center;color:var(--text-color);margin-bottom:30px;padding:20px;background:var(--light-pink-2);border-radius:16px;border:2px solid var(--primary-pink);box-shadow:var(--shadow-pink)}.page-header h1{font-size:2.5em;margin:0 0 10px;text-shadow:2px 2px 4px rgba(232,205,214,.3);font-weight:300}.page-header p{font-size:1.1em;margin:0;opacity:.9;color:var(--text-light)}.leaderboard-content{background:var(--neutral-color);border-radius:12px;padding:30px;flex:1;box-shadow:var(--shadow-pink);border:2px solid var(--primary-pink);max-width:1200px;margin:0 auto;width:100%}.view-tabs{display:flex;gap:8px;margin-bottom:30px;border-bottom:2px solid rgba(255,221,220,.2)}.tab{padding:12px 24px;background:none;border:none;cursor:pointer;font-size:16px;font-weight:500;color:var(--text-light);border-bottom:3px solid transparent;transition:all .2s;font-family:Nunito,Quicksand,sans-serif}.tab:hover{color:var(--text-color);background:var(--light-pink-1)}.tab.active{color:var(--text-color);border-bottom-color:var(--primary-pink);background:var(--light-pink-1)}.shape-selector,.difficulty-selector,.puzzle-selector{margin-bottom:20px}.shape-selector h3,.difficulty-selector h3,.puzzle-selector h3{margin:0 0 12px;color:var(--text-color);font-size:1.1em;text-align:center}.puzzle-select{width:100%;max-width:400px;margin:0 auto;display:block;padding:12px 16px;border:2px solid var(--primary-pink);border-radius:8px;font-size:14px;font-weight:500;background:#fff;color:var(--text-color);transition:all .2s;font-family:Nunito,Quicksand,sans-serif}.daily-challenge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.daily-challenge-header h2{margin:0;color:#333;font-size:1.5rem}.date-selector{margin-bottom:20px}.date-selector h3{margin:0 0 12px;color:var(--text-color);font-size:1.1em;text-align:center}.date-select{width:100%;max-width:400px;margin:0 auto;display:block;padding:12px 16px;border:2px solid var(--primary-pink);border-radius:8px;font-size:14px;font-weight:500;background:#fff;color:var(--text-color);transition:all .2s;font-family:Nunito,Quicksand,sans-serif}.date-select:hover{border-color:var(--accent-yellow);box-shadow:0 0 0 3px #ffe6b533}.puzzle-leaderboard-section{margin-bottom:30px}.section-description{text-align:center;color:var(--text-light);font-size:14px;margin-bottom:24px;font-style:italic}.puzzle-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px}.puzzle-card{background:linear-gradient(135deg,var(--light-pink-2) 0%,var(--neutral-color) 100%);border:2px solid var(--primary-pink);border-radius:12px;padding:20px;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:var(--shadow-pink)}.puzzle-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #e8cdd64d;border-color:var(--accent-yellow)}.puzzle-card-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.puzzle-rank{font-size:1.5em;font-weight:700;color:var(--text-color);min-width:40px;text-align:center}.puzzle-info{flex:1}.puzzle-name{margin:0 0 4px;font-size:1.2em;color:var(--text-color);font-weight:600}.puzzle-shape{display:inline-block;background:var(--primary-pink);color:#fff;padding:2px 8px;border-radius:12px;font-size:.8em;font-weight:500}.puzzle-stats{display:flex;flex-direction:column;gap:16px}.best-record{background:#ffffffb3;border-radius:8px;padding:16px;border-left:4px solid var(--accent-yellow)}.best-record h5{margin:0 0 8px;color:var(--text-primary);font-size:.9em;font-weight:600}.record-holder{display:flex;align-items:center;gap:8px;margin-bottom:8px}.player-name{font-weight:600;color:var(--text-primary)}.record-details{display:flex;gap:16px;font-size:.9em;color:var(--text-secondary)}.record-details .time,.record-details .moves{display:flex;align-items:center;gap:4px}.puzzle-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-item .label{font-size:.8em;color:var(--text-secondary);font-weight:500}.meta-item .value{font-size:.9em;color:var(--text-primary);font-weight:600}.daily-challenge-section{margin-bottom:30px}.player-daily-stats{background:linear-gradient(135deg,var(--light-pink-2) 0%,var(--accent-pink) 100%);border:2px solid var(--accent-pink);border-radius:12px;padding:20px;margin-bottom:24px}.player-daily-stats h3{margin:0 0 16px;color:var(--text-primary);text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.stat-card{background:#fffc;border-radius:8px;padding:16px;text-align:center;border:1px solid rgba(204,102,0,.2)}.stat-value{font-size:1.8em;font-weight:700;color:#c60;margin-bottom:4px}.stat-label{font-size:.8em;color:var(--text-secondary);font-weight:500}.leaderboard-table .score-col{flex:0 0 80px;text-align:center;font-weight:600;color:var(--text-primary)}.leaderboard-table .difficulty-col{flex:0 0 80px;text-align:center}.leaderboard-table .perfect-col{flex:0 0 60px;text-align:center;font-size:1.2em}.leaderboard-table .streak-col{flex:0 0 80px;text-align:center;font-size:.9em;color:var(--text-secondary)}.difficulty-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.7em;font-weight:500;color:#fff;background:var(--text-secondary)}@media (max-width: 768px){.puzzle-cards-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.puzzle-meta{grid-template-columns:1fr}.leaderboard-table .table-header,.leaderboard-table .table-row{font-size:.8em}.leaderboard-table .rank-col,.leaderboard-table .score-col,.leaderboard-table .difficulty-col,.leaderboard-table .perfect-col,.leaderboard-table .streak-col{flex:0 0 60px}}.puzzle-select:focus{outline:none;border-color:var(--primary-pink);box-shadow:0 0 0 3px #f8b5d71a}.selector-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.difficulty-btn,.shape-btn{padding:10px 20px;border:2px solid var(--border-color);background:#fff;cursor:pointer;border-radius:8px;font-size:14px;font-weight:500;transition:all .2s;min-width:80px}.difficulty-btn:hover,.shape-btn:hover{border-color:var(--primary-pink);color:var(--text-primary);transform:translateY(-1px)}.difficulty-btn.active,.shape-btn.active{background:var(--primary-pink);color:#fff;border-color:var(--primary-pink);box-shadow:0 4px 12px #f8b5d74d}.shape-btn.active{background:var(--accent-green);border-color:var(--accent-green);box-shadow:0 4px 12px #d6f5e280}.leaderboard-section,.puzzle-leaderboard-section{margin-bottom:40px}.puzzle-leaderboard-section h2{color:var(--text-primary);margin:0 0 30px;font-size:1.4em;text-align:center}.difficulty-sections{display:grid;gap:30px}.difficulty-section{background:var(--light-pink-1);border:1px solid var(--border-color);border-radius:12px;padding:20px}.difficulty-section h3{margin:0 0 16px;color:var(--text-primary);font-size:1.2em;text-align:center;padding:8px 16px;background:#f8b5d71a;border-radius:6px}.difficulty-section .empty-state{padding:20px;text-align:center;color:#999;font-style:italic}.difficulty-section .leaderboard-table{margin-top:0}.leaderboard-section h2{color:var(--text-primary);margin:0 0 20px;font-size:1.4em;text-align:center}.leaderboard-table{border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 4px 12px #0000000d}.table-header{display:grid;grid-template-columns:80px 1fr 100px 100px 140px;gap:16px;padding:16px 20px;background:linear-gradient(135deg,var(--light-pink-1) 0%,var(--light-pink-2) 100%);font-weight:600;font-size:14px;color:var(--text-secondary);border-bottom:2px solid var(--border-color)}.table-row{display:grid;grid-template-columns:80px 1fr 100px 100px 140px;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border-color);transition:all .2s;align-items:center}.table-row:hover{background:var(--light-pink-1);transform:translate(2px)}.table-row:last-child{border-bottom:none}.table-row.current-player{background:#f8b5d71a;border-left:4px solid var(--primary-pink)}.table-row.current-player:hover{background:#f8b5d726}.rank-col{font-weight:600;font-size:18px;text-align:center}.player-col{display:flex;align-items:center;gap:10px;font-weight:500;color:#333}.you-badge{background:var(--primary-pink);color:#fff;font-size:10px;padding:3px 8px;border-radius:12px;font-weight:600}.moves-col,.time-col{text-align:center;font-weight:500;color:#333}.date-col{font-size:12px;color:#666;text-align:center}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-state p:first-child{font-size:1.2em;font-weight:500;margin-bottom:10px;color:#333}.empty-state p:last-child{font-size:14px;margin:0}.player-records h2{color:#333;margin:0 0 20px;font-size:1.4em;text-align:center}.records-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.record-card{background:var(--light-pink-1);border:2px solid var(--border-color);border-radius:12px;padding:20px;transition:all .3s}.record-card:hover{border-color:var(--primary-pink);box-shadow:0 6px 20px #f8b5d726;transform:translateY(-2px)}.record-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.record-badges{display:flex;gap:8px}.shape-badge{background:var(--accent-green);color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.difficulty-badge{background:var(--primary-pink);color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600}.record-title{margin-bottom:12px;text-align:center}.record-title h4{margin:0 0 4px;color:var(--text-primary);font-size:14px;font-weight:600}.grid-size{background:var(--light-pink-2);color:var(--text-secondary);padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500}.rank-badge{background:var(--accent-green);color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600}.record-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.stat{display:flex;flex-direction:column;align-items:center;gap:6px}.stat .label{font-size:12px;color:var(--text-secondary);font-weight:500}.stat .value{font-weight:600;font-size:16px;color:#333}.stats-section{border-top:2px solid #e5e5e5;padding-top:30px;margin-top:40px}.stats-section h2{color:#333;margin:0 0 20px;font-size:1.4em;text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #e5e5e5;border-radius:12px;padding:20px;text-align:center;transition:all .3s}.stat-card:hover{border-color:var(--primary-pink);transform:translateY(-2px);box-shadow:0 6px 20px #f8b5d726}.stat-value{font-size:32px;font-weight:600;color:var(--text-primary);margin-bottom:8px;display:block}.stat-label{font-size:13px;color:var(--text-secondary);font-weight:500}.difficulty-details{margin-top:30px}.difficulty-details h3{color:var(--text-primary);margin:0 0 20px;font-size:1.2em;text-align:center}.difficulty-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.difficulty-stat{background:var(--light-pink-1);border:1px solid var(--border-color);border-radius:8px;padding:16px;text-align:center}.difficulty-stat h4{margin:0 0 12px;color:var(--text-primary);font-size:1.1em}.difficulty-stat p{margin:4px 0;font-size:14px;color:var(--text-secondary)}.page-footer{margin-top:30px;text-align:center}@media (max-width: 1024px){.leaderboard-content{padding:20px}.table-header,.table-row{grid-template-columns:60px 1fr 80px 80px 100px;gap:12px;padding:12px 16px}}@media (max-width: 768px){.leaderboard-page{padding:10px}.page-header h1{font-size:2em}.leaderboard-content{padding:16px}.view-tabs{flex-direction:column}.tab{padding:12px;text-align:center}.table-header,.table-row{grid-template-columns:50px 1fr 60px 70px;gap:8px;padding:10px 12px;font-size:13px}.date-col{display:none}.records-grid{grid-template-columns:1fr}.record-stats{grid-template-columns:1fr;gap:12px}.stats-grid{grid-template-columns:repeat(2,1fr)}.difficulty-stats{grid-template-columns:1fr}}@media (max-width: 480px){.difficulty-selector{justify-content:stretch}.difficulty-btn{flex:1;min-width:auto}.table-header,.table-row{grid-template-columns:40px 1fr 50px;gap:6px}.time-col{display:none}.stats-grid{grid-template-columns:1fr}}.puzzle-card-with-top3{background:#fff;border-radius:12px;box-shadow:var(--shadow-pink);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;border:1px solid var(--border-color)}.puzzle-card-with-top3:hover{transform:translateY(-4px);box-shadow:0 8px 25px #ffd6e04d}.top-players-section{padding:20px;border-bottom:1px solid var(--border-color)}.top-players-section h5{margin:0 0 15px;color:var(--text-primary);font-size:1.1em}.top-players-list{display:flex;flex-direction:column;gap:12px}.top-player-card{display:flex;align-items:center;padding:12px;border-radius:8px;border:1px solid var(--border-color);transition:all .3s ease}.top-player-card.rank-1{background:linear-gradient(135deg,var(--accent-yellow) 0%,#fff5e6 100%);border-color:var(--accent-yellow);box-shadow:0 2px 8px #fff2d84d}.top-player-card.rank-2{background:linear-gradient(135deg,var(--lavender) 0%,#f0e6ff 100%);border-color:var(--lavender);box-shadow:0 2px 8px #e4d9ff4d}.top-player-card.rank-3{background:linear-gradient(135deg,var(--soft-blue) 0%,#e6f0fa 100%);border-color:var(--soft-blue);box-shadow:0 2px 8px #ddebf74d}.top-player-card.empty-slot{background:var(--light-pink-1);border-color:var(--border-color);opacity:.6}.top-player-card.empty-slot.no-records{background:var(--light-pink-1);border-color:var(--accent-yellow);opacity:.8}.no-records-badge{background:var(--accent-yellow);color:var(--text-primary);padding:2px 8px;border-radius:12px;font-size:.8em;font-weight:500;margin-left:8px}.player-rank{font-size:1.5em;margin-right:15px;min-width:40px;text-align:center}.player-info{flex:1}.player-info.empty{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-style:italic}.player-name{font-weight:600;color:var(--text-primary);margin-bottom:5px;display:flex;align-items:center;gap:8px}.player-stats{display:flex;gap:15px;flex-wrap:wrap;font-size:.9em;color:var(--text-secondary);margin-bottom:3px}.player-stats span{display:flex;align-items:center;gap:3px}.completion-date{font-size:.8em;color:var(--text-tertiary)}.you-badge{background:var(--soft-blue);color:var(--text-primary);font-size:.7em;padding:2px 6px;border-radius:10px;font-weight:400}.record-number{background:var(--text-secondary);color:#fff;font-size:.7em;padding:2px 6px;border-radius:8px;margin-left:6px;font-weight:400}.top-player-card.current-user{border:2px solid var(--soft-blue);box-shadow:0 4px 12px #c5dcf566}.top-player-card.current-user .record-number{background:var(--accent-green)}.top-player-card:has(.record-number){position:relative}.top-player-card:has(.record-number):before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(45deg,var(--primary-pink),var(--accent-blue));border-radius:2px 0 0 2px}@media (max-width: 768px){.puzzle-cards-grid{grid-template-columns:1fr}.player-stats{flex-direction:column;gap:5px}.top-player-card{flex-direction:column;align-items:flex-start;text-align:left}.player-rank{margin-right:0;margin-bottom:8px;align-self:center}}@media (max-width: 480px){.top-players-list{gap:8px}.top-player-card{padding:10px}.player-rank{font-size:1.2em}.puzzle-meta{grid-template-columns:1fr 1fr}}.daily-challenge-history-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.history-header{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2);padding:24px}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:32px}.header-left{display:flex;align-items:center;gap:20px}.header-left h1{margin:0 0 8px;font-size:2rem;font-weight:700}.header-left p{margin:0;opacity:.8;font-size:1rem}.personal-stats{background:#ffffff26;border-radius:16px;padding:20px;min-width:280px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.2)}.personal-stats h3{margin:0 0 16px;font-size:1.2rem;text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat-item{text-align:center;background:#ffffff1a;border-radius:8px;padding:12px 8px}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:gold}.stat-label{display:block;font-size:.8rem;opacity:.8;margin-top:4px}.controls-section{background:#ffffff0d;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.controls-section>div{max-width:1200px;margin:0 auto}.filter-controls{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:16px}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:.9rem;font-weight:500;opacity:.9}.date-filter{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:6px 12px;font-size:.9rem;min-width:150px}.date-filter option{background:#333;color:#fff}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#4CAF50}.sort-controls{display:flex;align-items:center;gap:12px}.sort-label{font-size:.9rem;font-weight:500;opacity:.9}.sort-buttons{display:flex;gap:8px}.sort-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:6px 12px;font-size:.85rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.sort-btn:hover{background:#fff3}.sort-btn.active{background:#4caf504d;border-color:#4caf50;color:#4caf50}.sort-arrow{font-size:.8rem}.history-content{padding:24px;max-width:1200px;margin:0 auto}.loading-state{text-align:center;padding:60px 20px;font-size:1.2rem}.empty-state{text-align:center;padding:60px 20px}.empty-icon{font-size:4rem;margin-bottom:16px}.empty-state h3{margin:0 0 12px;font-size:1.5rem}.empty-state p{margin:8px 0;opacity:.8}.history-table{background:#ffffff0d;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.table-header{background:#ffffff1a;display:grid;grid-template-columns:60px 80px 120px 80px 80px 70px 80px 60px 60px 60px 120px;gap:8px;padding:16px 12px;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid rgba(255,255,255,.2)}.table-row{display:grid;grid-template-columns:60px 80px 120px 80px 80px 70px 80px 60px 60px 60px 120px;gap:8px;padding:16px 12px;border-bottom:1px solid rgba(255,255,255,.1);transition:background-color .2s;align-items:center}.table-row:hover{background:#ffffff0d}.table-row.personal-record{background:#4caf501a;border-left:4px solid #4CAF50}.table-row.personal-record:hover{background:#4caf5026}.col-rank{font-weight:600;color:gold}.col-date{font-size:.85rem;opacity:.9}.col-player{display:flex;align-items:center;gap:6px}.player-name{font-weight:500;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.you-badge{background:#4caf50;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:10px;font-weight:700}.col-score{text-align:center}.score-value{font-weight:600;color:gold;font-size:1rem}.col-time,.col-moves{text-align:center;font-family:Courier New,monospace;font-size:.9rem}.col-difficulty{text-align:center}.difficulty-badge{color:#fff;font-size:.75rem;padding:3px 8px;border-radius:12px;font-weight:500;display:inline-block;min-width:50px;text-align:center}.col-stars{text-align:center}.stars-display{color:gold;font-size:.9rem}.col-streak{text-align:center}.streak-value{font-size:.85rem}.col-perfect{text-align:center}.perfect-badge{font-size:1.2rem}.col-completed{font-size:.8rem;opacity:.8;text-align:center}.summary-footer{background:#ffffff0d;border-top:1px solid rgba(255,255,255,.1);padding:16px 24px}.summary-stats{max-width:1200px;margin:0 auto;display:flex;gap:24px;flex-wrap:wrap;font-size:.9rem;opacity:.8}@media (max-width: 1024px){.header-content{flex-direction:column;align-items:stretch}.personal-stats{min-width:auto}.stats-grid{grid-template-columns:repeat(3,1fr)}.table-header,.table-row{grid-template-columns:50px 70px 100px 70px 70px 60px 70px 50px 50px 50px 100px;font-size:.8rem}}@media (max-width: 768px){.controls-section{padding:16px}.filter-controls{flex-direction:column;gap:16px}.sort-controls{flex-direction:column;align-items:flex-start;gap:8px}.history-content{padding:16px}.table-header,.table-row{grid-template-columns:40px 60px 80px 60px 60px 50px 60px 40px 40px 40px 80px;padding:12px 8px;font-size:.75rem}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.header-left{flex-direction:column;align-items:flex-start;gap:12px}.header-left h1{font-size:1.5rem}.table-header,.table-row{grid-template-columns:35px 50px 70px 50px 50px 45px 50px 35px 35px 35px 70px;gap:4px}.player-name{max-width:60px}}.settings-page{min-height:100vh;width:100%;background:var(--background-main);position:relative}.settings-overlay{min-height:100vh;padding:2rem;display:flex;justify-content:center;align-items:flex-start}.settings-container{max-width:800px;width:100%;background:#fffffff2;border-radius:24px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:3px solid var(--primary-pink);box-shadow:0 20px 60px #f8a5c266;overflow:hidden}.settings-header{background:linear-gradient(135deg,var(--primary-pink) 0%,var(--secondary-pink) 100%);padding:2rem;display:flex;align-items:center;gap:1rem;position:relative}.back-button{background:#ffffff4d;border:2px solid var(--button-text);color:var(--button-text);padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.215,.61,.355,1);font-size:.9rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2);font-weight:400;font-family:Nunito,Quicksand,sans-serif}.back-button:hover{background:#ffffff4d;transform:translate(-2px);box-shadow:0 4px 8px #fff3}.settings-title{color:#fff;font-size:2rem;font-weight:300;margin:0;display:flex;align-items:center;gap:.5rem;text-shadow:0 2px 8px var(--shadow-pink);font-family:Nunito,Quicksand,sans-serif}.settings-icon{font-size:2.5rem;filter:drop-shadow(0 4px 8px rgba(255,192,203,.4))}.settings-content{padding:2rem}.settings-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.settings-section:last-of-type{border-bottom:none}.settings-section h2{color:var(--text-primary);font-size:1.3rem;font-weight:400;margin:0 0 1.5rem;display:flex;align-items:center;gap:.5rem;font-family:Nunito,Quicksand,sans-serif}.setting-item{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.setting-item:last-child{margin-bottom:0}.setting-item label{color:var(--text-primary);font-weight:400;font-size:1rem;font-family:Nunito,Quicksand,sans-serif}.setting-control{display:flex;align-items:center;gap:1rem}.setting-description{color:var(--text-secondary);font-size:.85rem;margin:0;font-style:italic;font-family:Nunito,Quicksand,sans-serif}.theme-preview{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--light-pink);border-radius:12px;border:1px solid var(--border-color)}.theme-color{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.8);box-shadow:0 2px 4px #0000001a}.theme-color.primary{background:var(--primary-pink)}.theme-color.secondary,.theme-color.accent{background:var(--accent-pink)}.theme-preview span{color:var(--text-primary);font-weight:400;font-family:Nunito,Quicksand,sans-serif}input[type=range]{flex:1;height:6px;border-radius:3px;background:#ffc2d133;outline:none;-webkit-appearance:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary-pink);cursor:pointer;box-shadow:0 2px 4px var(--shadow-pink)}input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--primary-pink);cursor:pointer;border:none;box-shadow:0 2px 4px var(--shadow-pink)}.toggle{position:relative;display:inline-block;width:50px;height:24px}.toggle input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ffc2d133;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 2px 4px #0003}input:checked+.slider{background-color:var(--primary-pink)}input:checked+.slider:before{transform:translate(26px)}.settings-notice{background:linear-gradient(135deg,#ffc2d11a,#ffc2d10d);border:1px solid var(--border-color);border-radius:16px;padding:2rem;text-align:center;margin-top:2rem}.notice-icon{font-size:3rem;margin-bottom:1rem}.settings-notice h3{color:var(--text-primary);font-size:1.2rem;font-weight:500;margin:0 0 .5rem}.settings-notice p{color:var(--text-secondary);margin:0;font-size:.95rem}.settings-footer{padding:2rem;border-top:1px solid var(--border-color);text-align:center}.back-home-button{background:linear-gradient(135deg,var(--primary-pink) 0%,var(--accent-pink) 100%)!important;border:none!important;color:#fff!important;padding:1rem 2rem!important;font-size:1.1rem!important;font-weight:500!important;transition:all .3s ease!important;box-shadow:0 4px 12px #ffc0cb4d!important}.back-home-button:hover{transform:translateY(-2px)!important;box-shadow:0 6px 16px #ffc0cb66!important}[data-theme=night] .settings-page{background:var(--background-main)}[data-theme=night] .settings-container{background:#fffffff2;border:3px solid var(--primary-pink);box-shadow:0 20px 60px #d67ba899}[data-theme=night] .settings-header{background:linear-gradient(135deg,var(--primary-pink) 0%,var(--secondary-pink) 100%)}[data-theme=night] .back-button{background:#fff3;border:2px solid var(--button-text);color:var(--button-text)}[data-theme=night] .back-button:hover{background:#ffffff4d;box-shadow:0 4px 8px #fff3}[data-theme=night] .settings-section h2,[data-theme=night] .setting-item label{color:var(--text-primary)}[data-theme=night] .setting-description{color:var(--text-secondary)}[data-theme=night] .theme-preview{background:var(--light-pink);border:1px solid var(--border-color)}[data-theme=night] .theme-preview span{color:var(--text-primary)}[data-theme=night] .theme-indicator{background:#d67ba833;color:var(--text-primary)}[data-theme=night] .theme-toggle-button{background:linear-gradient(135deg,var(--primary-pink),var(--accent-pink));color:#fff;box-shadow:0 2px 8px #d67ba880}[data-theme=night] .theme-toggle-button:hover{box-shadow:0 4px 12px #d67ba899}[data-theme=night] .setting-control select{background:var(--card-background);border:1px solid var(--border-color);color:var(--text-primary)}[data-theme=night] .setting-control select:focus{border-color:var(--primary-pink);box-shadow:0 0 0 2px #d67ba84d}[data-theme=night] .setting-control select option{background:var(--card-background);color:var(--text-primary)}[data-theme=night] .settings-notice{background:linear-gradient(135deg,#d67ba81a,#d67ba80d);border:1px solid var(--border-color)}[data-theme=night] .settings-notice h3{color:var(--text-primary)}[data-theme=night] .settings-notice p{color:var(--text-secondary)}[data-theme=night] .back-home-button{background:linear-gradient(135deg,var(--primary-pink) 0%,var(--accent-pink) 100%)!important;box-shadow:0 4px 12px #d67ba880!important}[data-theme=night] .back-home-button:hover{box-shadow:0 6px 16px #d67ba899!important}[data-theme=night] input[type=range]{background:#d67ba833}[data-theme=night] input[type=range]::-webkit-slider-thumb{background:var(--primary-pink);box-shadow:0 2px 4px var(--shadow-pink)}[data-theme=night] input[type=range]::-moz-range-thumb{background:var(--primary-pink);box-shadow:0 2px 4px var(--shadow-pink)}[data-theme=night] .slider{background-color:#d67ba833}[data-theme=night] input:checked+.slider{background-color:var(--primary-pink)}[data-theme=night] .setting-control select{background:#fff!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important}[data-theme=night] .setting-control select:focus{border-color:var(--primary-pink)!important;box-shadow:0 0 0 2px #d67ba84d!important}[data-theme=night] .setting-control select option{background:#fff!important;color:var(--text-primary)!important;padding:.5rem!important}@media (max-width: 768px){.settings-overlay{padding:1rem}.settings-header{padding:1.5rem;flex-direction:column;align-items:flex-start;gap:1rem}.settings-title{font-size:1.75rem}.settings-content{padding:1.5rem}.settings-section{margin-bottom:2rem}.setting-control{flex-direction:column;align-items:flex-start;gap:.5rem}.theme-preview{flex-wrap:wrap;gap:.5rem}}@media (max-width: 480px){.settings-header{padding:1rem}.settings-title{font-size:1.5rem}.settings-content,.settings-footer{padding:1rem}}.theme-indicator{background:#ffc0cb33;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;color:var(--secondary-pink);font-weight:500;margin-right:.5rem;display:inline-block}.theme-toggle-button{background:linear-gradient(135deg,var(--primary-pink),var(--accent-pink));color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.8rem;transition:all .3s ease;box-shadow:0 2px 8px #ffc0cb4d}.theme-toggle-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ffc0cb66}.setting-control select{background:#fff;border:1px solid rgba(255,192,203,.3);border-radius:8px;padding:.5rem 1rem;font-size:.9rem;color:var(--text-primary);cursor:pointer;transition:all .3s ease;min-width:150px}.setting-control select:focus{outline:none;border-color:var(--primary-pink);box-shadow:0 0 0 2px #ffc0cb33}.setting-control select option{background:#fff;color:var(--text-primary);padding:.5rem}.setting-description{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem;font-style:italic}.auth-container{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--background-main);display:flex;justify-content:center;align-items:center;z-index:10000}.auth-modal{background:var(--card-background);border:2px solid var(--primary-pink);border-radius:16px;padding:2rem;width:100%;max-width:400px;box-shadow:0 20px 60px #f8a5c24d;position:relative;animation:authModalSlideIn .3s ease-out}@keyframes authModalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:2rem}.auth-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;text-shadow:0 1px 3px rgba(248,165,194,.2)}.auth-subtitle{color:var(--text-secondary);font-size:1rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:600;color:var(--text-primary);font-size:.9rem}.form-input{padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;color:var(--text-primary);background-color:var(--card-background);transition:all .2s ease;outline:none;font-weight:500}.form-input:focus{border-color:var(--primary-pink);box-shadow:0 0 0 3px #f8a5c233;background-color:var(--light-pink)}.form-input::placeholder{color:#999;opacity:1}.form-input::-webkit-input-placeholder{color:#999}.form-input::-moz-placeholder{color:#999}.form-input:-ms-input-placeholder{color:#999}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus,.form-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:#333!important}.form-input:valid,.form-input:invalid{color:#333}.form-input.error{border-color:#ff4757}.error-message{color:#ff4757;font-size:.875rem;margin-top:.5rem;padding:.5rem;background:#ffe1e1;border-radius:4px;text-align:left;white-space:pre-line;line-height:1.4}.auth-button{background:linear-gradient(135deg,var(--primary-pink) 0%,var(--accent-pink) 100%);color:var(--button-text);border:none;padding:.875rem;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;margin-top:.5rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #f8a5c266;background:linear-gradient(135deg,var(--accent-pink) 0%,var(--primary-pink) 100%)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid #ffffff;border-radius:50%;border-top-color:transparent;animation:spin 1s ease-in-out infinite;margin-right:.5rem}.auth-switch{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e1e5e9}.auth-switch-text{color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.auth-switch-button{background:none;border:none;color:var(--text-primary);cursor:pointer;font-weight:500;text-decoration:underline;font-size:1rem}.auth-switch-button:hover{color:var(--secondary-pink)}.password-requirements{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem;font-weight:500}.app-logo{width:60px;height:60px;margin:0 auto 1rem;background:linear-gradient(135deg,var(--primary-pink) 0%,var(--secondary-pink) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:700}@media (max-width: 480px){.auth-modal{margin:1rem;padding:1.5rem}.auth-title{font-size:1.5rem}}/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-800:oklch(44.8% .119 151.328);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.top-1{top:calc(var(--spacing)*1)}.-right-1{right:calc(var(--spacing)*-1)}.left-1{left:calc(var(--spacing)*1)}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.aspect-square{aspect-ratio:1}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-12{height:calc(var(--spacing)*12)}.h-24{height:calc(var(--spacing)*24)}.h-\[800px\]{height:800px}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing)*60)}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-12{width:calc(var(--spacing)*12)}.w-24{width:calc(var(--spacing)*24)}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.translate-x-6{--tw-translate-x:calc(var(--spacing)*6);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-\[\#FFD6E0\]{border-color:#ffd6e0}.border-\[var\(--accent-green\)\]{border-color:var(--accent-green)}.border-\[var\(--accent-yellow\)\]{border-color:var(--accent-yellow)}.border-\[var\(--border-color\)\]{border-color:var(--border-color)}.border-\[var\(--lavender\)\]{border-color:var(--lavender)}.border-\[var\(--secondary-pink\)\]{border-color:var(--secondary-pink)}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-gray-200{border-color:var(--color-gray-200)}.border-green-200{border-color:var(--color-green-200)}.border-purple-100{border-color:var(--color-purple-100)}.border-purple-200{border-color:var(--color-purple-200)}.border-slate-200{border-color:var(--color-slate-200)}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.bg-\[\#FFFDFA\]{background-color:#fffdfa}.bg-\[var\(--accent-green\)\]{background-color:var(--accent-green)}.bg-\[var\(--accent-yellow\)\]{background-color:var(--accent-yellow)}.bg-\[var\(--border-color\)\]{background-color:var(--border-color)}.bg-\[var\(--card-background\)\]{background-color:var(--card-background)}.bg-\[var\(--lavender\)\]{background-color:var(--lavender)}.bg-\[var\(--light-pink-1\)\]{background-color:var(--light-pink-1)}.bg-\[var\(--secondary-pink\)\]{background-color:var(--secondary-pink)}.bg-\[var\(--soft-blue\)\]{background-color:var(--soft-blue)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-black{background-color:var(--color-black)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-green-50{background-color:var(--color-green-50)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#FFD6E0\]{--tw-gradient-from:#ffd6e0;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-100{--tw-gradient-from:var(--color-slate-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#FFEEE6\]{--tw-gradient-to:#ffeee6;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-500{--tw-gradient-to:var(--color-green-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-200{--tw-gradient-to:var(--color-slate-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-\[25px\]{padding-top:25px}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[\#5D5B6A\]{color:#5d5b6a}.text-\[var\(--text-light\)\]{color:var(--text-light)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-amber-700{color:var(--color-amber-700)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-green-600{color:var(--color-green-600)}.text-green-800{color:var(--color-green-800)}.text-orange-600{color:var(--color-orange-600)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-pink\)\]{--tw-shadow:var(--shadow-pink);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:border-\[var\(--primary-pink\)\]:hover{border-color:var(--primary-pink)}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:bg-\[var\(--light-pink-2\)\]:hover{background-color:var(--light-pink-2)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.lg\:mx-auto{margin-inline:auto}.lg\:w-\[350px\]{width:350px}.lg\:max-w-\[600px\]{max-width:600px}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}}:root{--primary-pink:#f8a5c2;--secondary-pink:#f4cba4;--accent-pink:#f0b27a;--light-pink:#fff8f5;--light-pink-1:#fff8f5;--light-pink-2:#f9e6d8;--mint-green:#a8e6cf;--soft-blue:#aed6f1;--lavender:#c8a8e9;--cream-yellow:#f7dc6f;--text-primary:#4a4458;--text-secondary:#6b5b73;--text-light:#8b7e8f;--text-color:#4a4458;--background-main:#fffdfa;--background-secondary:#ffeee6;--card-background:#fff;--neutral-color:#fff;--shadow-pink:#ffd6e033;--border-color:#ffd6e04d;--accent-green:#a8e6cf;--accent-yellow:#f7dc6f;--rarity-color:#c8a8e9;--button-text:#fff;--button-text-dark:#4a4458;color:var(--text-primary);background-color:var(--background-main);font-family:Nunito,Quicksand,Comfortaa,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:400;line-height:1.6}[data-theme=night] .home-page,[data-theme=night] .settings-page{--primary-pink:#d67ba8;--secondary-pink:#d4a574;--accent-pink:#c8965a;--light-pink:#f5e6f0;--light-pink-1:#f5e6f0;--light-pink-2:#e6d1e0;--mint-green:#7bc4a8;--soft-blue:#7da8d1;--lavender:#a87bc9;--cream-yellow:#d4b85f;--text-primary:#4a4458;--text-secondary:#6b5b73;--text-light:#8b7e8f;--text-color:#4a4458;--background-main:#fffdfa;--background-secondary:#ffeee6;--card-background:#fff;--neutral-color:#fff;--shadow-pink:#d67ba866;--border-color:#d67ba880;--accent-green:#7bc4a8;--accent-yellow:#d4b85f;--rarity-color:#a87bc9;--button-text:#fff;--button-text-dark:#4a4458}*{box-sizing:border-box}body{font-family:inherit;line-height:inherit;background:var(--background-main);color:var(--text-primary);margin:0;padding:0}.app{background:var(--background-main);height:100vh}.loading-screen{background:linear-gradient(135deg,var(--primary-pink)0%,var(--accent-pink)50%,var(--light-pink-2)100%);z-index:9999;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.loading-content{text-align:center;color:#fff}.loading-content .app-logo{background:#fff3;border-radius:16px;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1rem;font-size:2rem;font-weight:700;display:flex}.loading-content .loading-spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:24px;height:24px;margin-bottom:1rem;animation:1s ease-in-out infinite spin;display:inline-block}.loading-content p{opacity:.9;margin:0;font-size:1.1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-view{text-align:center;background:var(--background-main);flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:2rem;display:flex}.error-view h2{color:var(--text-primary);margin-bottom:1rem;font-weight:400}.error-view p{color:var(--text-secondary);margin-bottom:2rem}.editor-view{background:var(--light-pink-1);flex-direction:column;height:100vh;display:flex}.editor-header{background:var(--card-background);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-pink);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.editor-header h2{color:var(--text-primary);margin:0}.editor-content{text-align:center;background:var(--card-background);box-shadow:var(--shadow-pink);border-radius:8px;flex:1;justify-content:center;align-items:center;margin:20px;padding:2rem;display:flex}.editor-content p{color:var(--text-secondary);margin:.5rem 0;font-size:1.125rem}@media (max-width:768px){:root{font-size:14px}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
