body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:400px;padding:40px;width:100%}.auth-header{margin-bottom:30px;text-align:center}.auth-header h1{color:#333;font-size:2.5rem;font-weight:700;margin-bottom:10px}.auth-header p{color:#666;font-size:1rem}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group,.input-wrapper{position:relative}.input-wrapper{align-items:center;display:flex}.input-icon{color:#999;left:15px;position:absolute;z-index:1}.auth-input{background:#f8f9fa;border:2px solid #e1e5e9;border-radius:10px;font-size:16px;padding:15px 15px 15px 50px;transition:all .3s ease;width:100%}.auth-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.password-toggle{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;padding:0;position:absolute;right:15px}.password-toggle:hover{color:#667eea}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:15px;transition:all .3s ease}.auth-button:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.auth-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;padding:12px;text-align:center}.auth-footer{border-top:1px solid #e1e5e9;margin-top:30px;padding-top:20px;text-align:center}.auth-footer p{color:#666;font-size:14px}.auth-link{color:#667eea;font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}@media (max-width:480px){.auth-card{padding:30px 20px}.auth-header h1{font-size:2rem}}.modal-content{max-width:500px}.edit-form{padding:25px}.form-group{margin-bottom:20px}.content-input{border:2px solid #e1e5e9;border-radius:12px;min-height:120px;padding:15px}.content-input:focus{box-shadow:0 0 0 3px #667eea1a}.hashtag-input{border:2px solid #e1e5e9;border-radius:12px;font-size:14px;padding:12px 15px 12px 45px}.hashtag-input:focus{box-shadow:0 0 0 3px #667eea1a}.image-upload-btn{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;color:#666;font-size:14px;gap:8px;padding:15px}.image-upload-btn:hover:not(:disabled){background:#667eea0d;color:#667eea}.image-preview{margin-top:20px}.image-preview h4{color:#666;font-size:14px;font-weight:600;margin:0 0 10px}.image-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}@media (max-width:768px){.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header{padding:15px 20px}.edit-form{padding:20px}.form-actions{flex-direction:column}.image-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.memory-card{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px;padding:20px;position:relative}.post-number{background:#667eea;border-radius:15px;color:#fff;font-size:12px;font-weight:600;left:20px;padding:5px 10px;position:absolute;top:-10px}.memory-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px;padding-top:10px}.user-info{align-items:center;display:flex;gap:12px}.user-avatar{object-fit:cover}.user-avatar,.user-avatar-placeholder{border-radius:50%;height:40px;width:40px}.user-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:16px;font-weight:600;justify-content:center}.user-details{display:flex;flex-direction:column}.user-name{color:#333;font-size:14px;font-weight:600}.memory-date{color:#666;font-size:12px;margin-top:2px}.memory-card .memory-header .memory-actions{align-items:center!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:20px!important;justify-content:flex-end!important;width:auto!important}.memory-card .memory-header .memory-actions .action-btn{align-items:center!important;background:none!important;border:none!important;border-radius:10px!important;cursor:pointer!important;display:flex!important;flex-shrink:0!important;height:auto!important;justify-content:center!important;min-height:40px!important;min-width:40px!important;padding:10px!important;transition:all .3s ease!important;width:auto!important}.edit-btn{color:#667eea}.edit-btn:hover{background:#667eea1a}.memory-content{margin-bottom:15px}.memory-content p{color:#333;line-height:1.6;margin:0 0 10px}.hashtags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.hashtag{background:#f8f9fa;border-radius:12px;color:#667eea;font-size:12px;font-weight:500;padding:4px 8px}.memory-images{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:15px}.memory-image{border-radius:10px;height:200px;object-fit:cover;width:100%}.memory-actions-bar{border-bottom:1px solid #f1f3f4;border-top:1px solid #f1f3f4;gap:20px;padding:15px 0}.like-btn,.memory-actions-bar{align-items:center;display:flex}.like-btn{color:#666;font-weight:500;gap:6px}.like-btn.liked,.like-btn:hover{color:#e74c3c}.comment-count{align-items:center;color:#666;display:flex;font-weight:500;gap:6px}.comments-section{margin-top:15px}.comment-input-container{display:flex;gap:10px;margin-bottom:15px}.comment-input{border:2px solid #e1e5e9;border-radius:20px;flex:1 1;font-size:14px;padding:10px 15px;transition:all .3s ease}.comment-input:focus{border-color:#667eea;outline:none}.comment-submit-btn{background:#667eea;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.comment-submit-btn:hover:not(:disabled){background:#5a6fd8}.comment-submit-btn:disabled{background:#ccc;cursor:not-allowed}.comments-list{display:flex;flex-direction:column;gap:12px}.comment-item{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.comment-user{display:flex;flex:1 1;gap:10px}.comment-avatar{border-radius:50%;height:30px;object-fit:cover;width:30px}.comment-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:600;height:30px;justify-content:center;width:30px}.comment-details{flex:1 1}.comment-user-name{color:#333;font-size:13px;font-weight:600;margin-bottom:2px}.comment-content{color:#333;font-size:14px;line-height:1.4;margin-bottom:2px}.comment-date{color:#666;font-size:11px}.comment-delete-btn{background:none;border:none;border-radius:4px;color:#999;cursor:pointer;padding:4px;transition:all .3s ease}.comment-delete-btn:hover{background:#dc35451a;color:#dc3545}@media (max-width:768px){.memory-card{padding:15px}.memory-card .memory-header .memory-actions{gap:24px!important}.memory-card .memory-header .memory-actions .action-btn{min-height:44px!important;min-width:44px!important;padding:12px!important}.memory-actions-bar{gap:15px}.comment-input-container{flex-direction:column}.comment-submit-btn{align-self:flex-end}}.modal-content{animation:modalSlideIn .3s ease-out;border-radius:24px;box-shadow:0 25px 50px #00000040;margin:0 auto;max-height:85vh;max-width:700px;min-width:400px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:linear-gradient(135deg,#f8f9ff,#f0f2ff);border-bottom:1px solid #f0f0f0;border-radius:24px 24px 0 0;padding:25px 30px}.modal-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:700}.create-form{box-sizing:border-box;padding:35px;width:100%}.form-group{width:100%}.content-input{background:#fafbfc;border:2px solid #e8eaed;border-radius:16px;box-sizing:border-box;font-family:inherit;font-size:16px;line-height:1.6;min-height:140px;padding:20px;resize:vertical;transition:all .3s ease;width:100%}.content-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.hashtag-input-container{align-items:center;display:flex;position:relative}.hashtag-icon{color:#999;left:15px;position:absolute;z-index:1}.hashtag-input{background:#fafbfc;border:2px solid #e8eaed;border-radius:16px;box-sizing:border-box;font-size:15px;padding:16px 15px 16px 50px;transition:all .3s ease;width:100%}.hashtag-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.image-upload-section{margin-bottom:15px}.image-upload-btn{align-items:center;background:linear-gradient(135deg,#f8f9ff,#f0f2ff);border:2px dashed #cbd5e0;border-radius:16px;box-sizing:border-box;color:#667eea;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:10px;justify-content:center;padding:20px;transition:all .3s ease;width:100%}.image-upload-btn:hover:not(:disabled){background:linear-gradient(135deg,#f0f2ff,#e8ebff);border-color:#667eea;box-shadow:0 4px 12px #667eea26;color:#5a6fd8;transform:translateY(-1px)}.image-upload-btn:disabled{cursor:not-allowed;opacity:.5}.image-preview{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-top:15px}.image-preview-item{aspect-ratio:1;border-radius:8px;overflow:hidden;position:relative}.image-preview-item img{height:100%;object-fit:cover;width:100%}.remove-image-btn{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:5px;top:5px;transition:all .3s ease;width:24px}.remove-image-btn:hover{background:#dc3545cc}.form-actions{gap:20px;margin-top:35px;width:100%}.cancel-btn{border:2px solid #e8eaed;border-radius:16px;padding:16px 20px}.cancel-btn:hover:not(:disabled){background:#f8f9fa;transform:translateY(-1px)}.submit-btn{border-radius:16px;flex:2 1;overflow:hidden;padding:16px 20px;position:relative}.submit-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 8px 25px #667eea66}.submit-btn:hover:not(:disabled):before{left:100%}@media (min-width:769px){.modal-content{max-width:800px;min-width:500px}.create-form{padding:40px}.content-input{font-size:17px;min-height:160px}.hashtag-input{font-size:16px}.image-upload-btn{font-size:16px;padding:25px}}@media (max-width:768px){.modal-overlay{padding:10px}.modal-content{max-height:95vh;min-width:auto}.modal-header{padding:15px 20px}.create-form{padding:20px}.form-actions{flex-direction:column}.image-preview{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.home-container{background:#f8f9fa;margin:0 auto;max-width:600px;min-height:100vh;padding:20px}.home-header{border-bottom:1px solid #e9ecef;margin-bottom:20px;padding:15px 0}.header-content{align-items:center;display:flex;justify-content:space-between}.home-header h1{color:#333;font-size:2rem;font-weight:700;margin:0}.new-memories-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:20px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .3s ease}.new-memories-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.new-indicator{animation:pulse 1.5s infinite;background:#ff4757;border-radius:50%;color:#fff;font-size:12px;font-weight:700;height:20px;justify-content:center;width:20px}.header-actions,.new-indicator{align-items:center;display:flex}.header-actions{gap:10px}.logout-btn,.profile-settings-btn{background:none;border:none;border-radius:50%;color:#666;cursor:pointer;padding:8px;transition:all .3s ease}.logout-btn:hover,.profile-settings-btn:hover{background:#e9ecef;color:#333}.logout-btn:hover{color:#dc3545}.search-section{margin-bottom:20px}.search-container{margin-bottom:15px;position:relative}.search-icon{color:#999;left:15px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.search-input{background:#fff;border:2px solid #e1e5e9;border-radius:25px;font-size:16px;padding:12px 15px 12px 45px;transition:all .3s ease;width:100%}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.user-filter{display:flex;flex-wrap:wrap;gap:10px}.filter-btn{background:#fff;border:2px solid #e1e5e9;border-radius:20px;color:#666;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .3s ease}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.memories-container{display:flex;flex-direction:column;gap:20px}.empty-state p{font-size:16px;margin:10px 0}.empty-state p:first-child{color:#333;font-size:18px;font-weight:600}.fab,.loading-message{font-size:16px}.fab{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;bottom:30px;box-shadow:0 8px 25px #667eea4d;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:15px 25px;position:fixed;right:30px;transition:all .3s ease;z-index:1000}.fab:hover{box-shadow:0 12px 35px #667eea66;transform:translateY(-2px)}.fab span{display:none}@media (min-width:768px){.fab span{display:inline}.fab{padding:15px 30px}}@media (max-width:768px){.home-container{padding:15px}.home-header h1{font-size:1.5rem}.fab{bottom:20px;right:20px}}.lotto-container{margin:0 auto;max-width:600px;padding:40px 20px;text-align:center}.lotto-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin-bottom:10px}.lotto-header p{color:#666;font-size:1.1rem;margin-bottom:40px}.generate-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;gap:10px;margin:0 auto 40px;padding:15px 30px;transition:all .3s ease}.generate-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.generate-btn:disabled{cursor:not-allowed;opacity:.7}.generate-btn.generating{background:linear-gradient(135deg,#ff6b6b,#ee5a24)}.numbers-container{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-top:30px;padding:30px}.numbers-container h3{color:#333;font-size:1.5rem;margin-bottom:20px}.numbers-grid{flex-wrap:wrap;gap:15px;margin-bottom:20px}.number-ball,.numbers-grid{display:flex;justify-content:center}.number-ball{align-items:center;animation:bounceIn .6s ease-out;border-radius:50%;box-shadow:0 4px 10px #0003;color:#fff;font-size:1.5rem;font-weight:700;height:60px;width:60px}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.disclaimer{color:#888;font-size:.9rem;font-style:italic;margin:0}@media (max-width:768px){.lotto-container{padding:20px 15px}.lotto-header h1{font-size:2rem}.numbers-grid{gap:10px}.number-ball{font-size:1.2rem;height:50px;width:50px}}.coffee-lottery-container{margin:0 auto;max-width:1200px;padding:40px 20px}.lottery-header{margin-bottom:40px;text-align:center}.lottery-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin-bottom:10px}.lottery-header p{color:#666;font-size:1.1rem}.create-lottery-section{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:40px;padding:30px}.create-lottery-section h2{color:#333;font-size:1.5rem;margin-bottom:20px}.create-form{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.lottery-input{border:2px solid #e1e5e9;border-radius:10px;flex:1 1;font-size:1rem;min-width:200px;padding:12px 15px;transition:border-color .3s}.lottery-input:focus{border-color:#667eea;outline:none}.create-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 25px;transition:all .3s;white-space:nowrap}.create-btn:hover:not(:disabled){box-shadow:0 5px 15px #667eea4d;transform:translateY(-2px)}.create-btn:disabled{cursor:not-allowed;opacity:.6}.lotteries-section h2{color:#333;font-size:1.5rem;margin-bottom:20px}.lotteries-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.lottery-card{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;padding:25px;position:relative;transition:transform .3s}.lottery-card:hover{transform:translateY(-5px)}.lottery-card.completed{background:#f8f9fa;opacity:.8}.lottery-card .lottery-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.lottery-card .lottery-header h3{color:#333;font-size:1.3rem;margin:0}.status-badge{background:#28a745;border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:4px 12px}.lottery-info{margin-bottom:20px}.lottery-info p{color:#666;font-size:.95rem;margin:5px 0}.lottery-actions{display:flex;flex-wrap:wrap;gap:10px}.draw-btn,.join-btn,.leave-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.9rem;gap:5px;padding:8px 16px;transition:all .3s}.join-btn{background:#28a745;color:#fff}.join-btn:hover{background:#218838}.leave-btn{background:#6c757d;color:#fff}.leave-btn:hover{background:#5a6268}.draw-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff}.draw-btn:hover:not(:disabled){box-shadow:0 4px 12px #ff6b6b4d;transform:translateY(-2px)}.draw-btn:disabled{cursor:not-allowed;opacity:.6}.spinning{animation:spin 1s linear infinite}.winners-section{border-top:1px solid #e1e5e9;margin-top:20px;padding-top:20px}.winners-section h4{color:#333;font-size:1.1rem;margin-bottom:15px}.winners-list{display:flex;flex-direction:column;gap:10px}.winner-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:10px;padding:10px;position:relative}.winner-item.current-user{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.winner-avatar,.winner-avatar-placeholder{align-items:center;border-radius:50%;display:flex;font-size:.9rem;font-weight:700;height:35px;justify-content:center;width:35px}.winner-avatar-placeholder{background:#667eea;color:#fff}.winner-badge{background:#ff6b6b;border-radius:12px;color:#fff;font-size:.7rem;font-weight:700;margin-left:auto;padding:2px 8px}.delete-btn{background:none;border:none;border-radius:5px;color:#dc3545;cursor:pointer;padding:5px;position:absolute;right:15px;top:15px;transition:background-color .2s}.delete-btn:hover{background:#dc35451a}.empty-state{color:#666;padding:60px 20px;text-align:center}.empty-icon{animation:pulse 2s infinite;font-size:4rem;margin-bottom:20px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.empty-state p{font-size:1.1rem;margin:0}@media (max-width:768px){.coffee-lottery-container{padding:20px 15px}.lottery-header h1{font-size:2rem}.create-form{align-items:stretch;flex-direction:column}.lottery-input{min-width:auto}.lotteries-grid{grid-template-columns:1fr}.lottery-actions{flex-direction:column}.draw-btn,.join-btn,.leave-btn{justify-content:center}}.spot-difference-container{background:#f8f9fa;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.game-header{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:20px;text-align:center}.game-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#333;font-size:2.5rem;font-weight:700;margin:0 0 15px}.game-info{color:#667eea;display:flex;font-size:1.2rem;font-weight:600;gap:30px;justify-content:center}.game-start{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:60px 20px;text-align:center}.game-start p{color:#666;font-size:1.2rem;margin-bottom:30px}.start-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:600;padding:15px 40px;transition:all .3s ease}.start-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.game-controls{display:flex;justify-content:center;margin-bottom:20px}.hint-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a24);border:none;border-radius:25px;box-shadow:0 4px 15px #ff6b6b4d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.hint-btn:hover{box-shadow:0 6px 20px #ff6b6b66;transform:translateY(-2px)}.game-area{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;overflow:hidden}.images-container{display:flex;gap:20px;min-height:400px;padding:20px}.image-wrapper{align-items:center;display:flex;flex:1 1;flex-direction:column}.image-label{background:#f8f9fa;border-radius:20px;color:#333;font-size:1.1rem;font-weight:600;margin-bottom:10px;padding:8px 16px}.game-image{border:3px solid #e9ecef;border-radius:10px;cursor:crosshair;height:400px;max-width:500px;overflow:hidden;position:relative;transition:all .3s ease;width:100%}.game-image:hover{border-color:#667eea;box-shadow:0 4px 15px #667eea33}.game-image img{height:100%;object-fit:cover;width:100%}.found-mark{animation:foundPulse .5s ease-out}.found-mark,.wrong-mark{align-items:center;background:#dc3545e6;border-radius:50%;color:#fff;display:flex;height:40px;justify-content:center;position:absolute;transform:translate(-50%,-50%);width:40px;z-index:10}.wrong-mark{animation:wrongShake 1s ease-out}.hint-mark{position:absolute;transform:translate(-50%,-50%);z-index:5}.hint-circle{animation:hintPulse 2s infinite;background:#ff6b6b33;border:3px solid #ff6b6b;border-radius:50%;height:50px;width:50px}@keyframes hintPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes foundPulse{0%{transform:translate(-50%,-50%) scale(0)}50%{transform:translate(-50%,-50%) scale(1.2)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes wrongShake{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(-50%,-50%) translateX(-5px)}75%{transform:translate(-50%,-50%) translateX(5px)}}.game-complete{background:linear-gradient(135deg,#f8f9ff,#f0f2ff);border-top:1px solid #e9ecef;padding:40px 20px;text-align:center}.game-complete h2{color:#667eea;font-size:2rem;margin-bottom:10px}.game-complete p{color:#333;font-size:1.3rem;font-weight:600;margin-bottom:20px}.restart-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 30px;transition:all .3s ease}.restart-btn:hover{box-shadow:0 4px 15px #667eea4d;transform:translateY(-1px)}.ranking-section{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000001a;padding:20px}.ranking-section h3{color:#333;font-size:1.5rem;margin-bottom:20px;text-align:center}.ranking-list{display:flex;flex-direction:column;gap:10px}.ranking-item{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;padding:12px 15px;transition:all .3s ease}.ranking-item:hover{background:#e9ecef;transform:translateX(5px)}.ranking-item:first-child{background:linear-gradient(135deg,gold,#ffed4e);color:#333}.ranking-item:nth-child(2){background:linear-gradient(135deg,silver,#e0e0e0);color:#333}.ranking-item:nth-child(3){background:linear-gradient(135deg,#cd7f32,#daa520);color:#fff}.rank{font-size:1.1rem;font-weight:700;min-width:40px}.name{flex:1 1;font-weight:600;margin-left:15px}.found-count{color:#ff6b6b;font-size:1rem;font-weight:700;margin-right:15px}.time{color:#667eea;font-size:1.1rem;font-weight:700}.loading-message{color:#666;font-size:1.2rem;padding:60px 20px;text-align:center}@media (max-width:768px){.spot-difference-container{padding:15px}.game-header h1{font-size:2rem}.game-info{flex-direction:column;gap:10px}.images-container{flex-direction:column;gap:15px}.game-image{height:300px}.ranking-item{padding:10px 12px}.rank{min-width:30px}.name{margin-left:10px}}.sidebar{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:2px 0 10px #0000001a;color:#fff;height:100vh;left:-300px;overflow-y:auto;position:fixed;top:0;transition:left .3s ease;width:300px;z-index:1000}.sidebar.open{left:0}.sidebar-overlay{background:#00000080;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:999}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px}.sidebar-header h2{font-size:24px;font-weight:700;margin:0}.sidebar-close{background:none;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:5px;transition:background-color .2s}.sidebar-close:hover{background:#ffffff1a}.sidebar-nav{padding:20px 0}.sidebar-item{align-items:center;border-left:3px solid #0000;color:#fff;display:flex;padding:15px 20px;text-decoration:none;transition:background-color .2s}.sidebar-item:hover{background:#ffffff1a;border-left-color:#ffffff4d}.sidebar-item.active{background:#fff3;border-left-color:#fff}.sidebar-item-icon{align-items:center;background:#ffffff1a;border-radius:10px;display:flex;height:40px;justify-content:center;margin-right:15px;width:40px}.sidebar-item-content{flex:1 1}.sidebar-item-label{font-size:16px;font-weight:600;margin-bottom:4px}.sidebar-item-description{font-size:12px;line-height:1.3;opacity:.8}.sidebar-divider{background:#fff3;height:1px;margin:20px 0}.sidebar-action-item{background:none;border:none;cursor:pointer;text-align:left;width:100%}.sidebar-action-item:hover{background:#ffffff1a;border-left-color:#ffffff4d}@media (max-width:768px){.sidebar{left:-280px;width:280px}}@media (min-width:1024px){.sidebar{height:100vh;left:0;position:relative}.sidebar-close,.sidebar-overlay{display:none}}.modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:400px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 25px}.modal-header h2{color:#333;font-size:1.5rem;font-weight:600;margin:0}.close-btn{background:none;border:none;border-radius:50%;color:#666;cursor:pointer;padding:8px;transition:all .3s ease}.close-btn:hover{background:#f8f9fa;color:#333}.profile-form{padding:25px}.form-group{margin-bottom:25px}.form-label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.photo-upload-section{align-items:center;display:flex;flex-direction:column;gap:20px}.photo-preview{align-items:center;background:#f8f9fa;border:3px solid #e1e5e9;border-radius:50%;display:flex;height:120px;justify-content:center;overflow:hidden;width:120px}.photo-preview img{height:100%;object-fit:cover;width:100%}.photo-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;height:100%;justify-content:center;width:100%}.photo-actions{display:flex;flex-direction:column;gap:10px;width:100%}.photo-upload-btn{align-items:center;background:#667eea;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px;transition:all .3s ease}.photo-upload-btn:hover{background:#5a6fd8;transform:translateY(-1px)}.photo-remove-btn{background:#dc3545;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px;transition:all .3s ease}.photo-remove-btn:hover{background:#c82333;transform:translateY(-1px)}.name-input{border:2px solid #e1e5e9;border-radius:12px;font-size:16px;padding:12px 15px;transition:all .3s ease;width:100%}.name-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.char-count{color:#666;font-size:12px;margin-top:5px;text-align:right}.form-actions{display:flex;gap:15px;margin-top:30px}.cancel-btn{background:#fff;border:2px solid #e1e5e9;border-radius:12px;color:#666;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:12px;transition:all .3s ease}.cancel-btn:hover:not(:disabled){border-color:#999;color:#333}.cancel-btn:disabled{cursor:not-allowed;opacity:.5}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:12px;transition:all .3s ease}.submit-btn:hover:not(:disabled){box-shadow:0 8px 20px #667eea4d;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}@media (max-width:768px){.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header{padding:15px 20px}.profile-form{padding:20px}.photo-preview{height:100px;width:100px}.form-actions{flex-direction:column}}.loading-container{padding:20px}.loading-container,.loading-overlay{align-items:center;display:flex;flex-direction:column;justify-content:center}.loading-overlay{background-color:#00000080;height:100%;left:0;position:fixed;top:0;width:100%;z-index:9999}.loading-spinner{display:inline-block;position:relative}.loading-spinner.small{height:30px;width:30px}.loading-spinner.medium{height:50px;width:50px}.loading-spinner.large{height:80px;width:80px}.spinner-ring{animation:spin 1s linear infinite;border:3px solid #0000;border-radius:50%;border-top-color:#007bff;position:absolute}.loading-spinner.small .spinner-ring{border-width:2px;height:30px;width:30px}.loading-spinner.medium .spinner-ring{border-width:3px;height:50px;width:50px}.loading-spinner.large .spinner-ring{border-width:4px;height:80px;width:80px}.spinner-ring:first-child{animation-delay:0s}.spinner-ring:nth-child(2){animation-delay:.2s;border-top-color:#28a745}.spinner-ring:nth-child(3){animation-delay:.4s;border-top-color:#ffc107}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{color:#666;font-size:14px;margin-top:15px;text-align:center}.loading-overlay .loading-text{color:#fff;font-size:16px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App,.main-layout{min-height:100vh}.main-layout{display:flex}.main-content{background:#f5f5f5;display:flex;flex:1 1;flex-direction:column}.mobile-header{background:#fff;border-bottom:1px solid #e1e5e9;box-shadow:0 2px 4px #0000001a;display:none;padding:15px}.mobile-header-content{align-items:center;display:flex;justify-content:space-between}.mobile-header-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#333;font-size:18px;font-weight:700}.sidebar-toggle{align-items:center;background:none;border:none;border-radius:8px;color:#333;cursor:pointer;display:flex;gap:6px;padding:8px 12px;transition:background-color .2s}.sidebar-toggle:hover{background:#f0f0f0}.menu-text{font-size:14px;font-weight:500}.content-area{flex:1 1;overflow-y:auto;padding:20px}@media (min-width:1024px){.mobile-header{display:none}.content-area{padding:40px}}@media (max-width:1023px){.mobile-header{display:block}.content-area{padding:20px 15px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (prefers-color-scheme:dark){body{background-color:#1a1a1a;color:#fff}}
/*# sourceMappingURL=main.5de27fb0.css.map*/