@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.easter-egg-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .3s ease}.easter-egg-game{background:var(--bg-card);border:2px solid var(--primary);border-radius:20px;padding:24px;max-width:500px;width:100%;box-shadow:0 20px 60px #5f7fff80;animation:slideUp .3s ease;position:relative}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--border)}.game-header h2{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,var(--primary),#8b9fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.game-stats{display:flex;justify-content:space-around;margin-bottom:20px;padding:16px;background:var(--bg);border-radius:12px;border:1px solid var(--border);flex-wrap:wrap;gap:12px}.stat{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;min-width:80px}.level-value{color:#ffd43b!important;text-shadow:0 0 10px rgba(255,212,59,.5)}.level-up-message{text-align:center;margin-bottom:16px;padding:12px;background:linear-gradient(135deg,#ffd43b,#ffc107);color:#000;border-radius:12px;font-size:1.2rem;font-weight:700;animation:levelUpPop .5s ease;box-shadow:0 4px 12px #ffd43b66}@keyframes levelUpPop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.game-instructions{text-align:center;margin-bottom:20px;padding:12px;background:#5f7fff1a;border-radius:8px;border:1px solid rgba(95,127,255,.3)}.game-instructions p{color:var(--text);font-size:.95rem;margin:4px 0;font-weight:500}.instruction-detail{font-size:.85rem!important;color:var(--text-secondary)!important}.instruction-warning{font-size:.9rem!important;color:var(--accent)!important;font-weight:600!important;margin-top:8px!important}.game-area{position:relative;width:100%;height:400px;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-card) 100%);border:2px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:20px}.falling-item{position:absolute;font-size:2.5rem;cursor:pointer;transition:transform .1s ease;-webkit-user-select:none;user-select:none;animation:fall .1s linear;z-index:10}.falling-item:hover{transform:scale(1.2)}.falling-item:active{transform:scale(.8)}.falling-item.beer{animation:spin .5s linear infinite}.falling-item{transition:transform .1s ease}@keyframes fall{0%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 640px){.easter-egg-game{padding:20px;max-width:100%}.game-area{height:300px}.falling-item,.game-over h3{font-size:2rem}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.login-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden}.bg-circle{position:absolute;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));opacity:.1;animation:float 20s infinite ease-in-out}.circle-1{width:300px;height:300px;top:-100px;left:-100px;animation-delay:0s}.circle-2{width:200px;height:200px;bottom:-50px;right:-50px;animation-delay:5s}.circle-3{width:150px;height:150px;top:50%;right:10%;animation-delay:10s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:24px;padding:48px 40px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:1}.login-header{text-align:center;margin-bottom:40px}.login-logo-container{margin-bottom:16px;display:flex;justify-content:center;align-items:center}.login-logo{height:80px;width:auto;filter:drop-shadow(0 0 15px rgba(255,255,255,.6)) drop-shadow(0 0 25px rgba(255,255,255,.4)) drop-shadow(0 0 35px rgba(255,255,255,.3)) drop-shadow(0 0 45px rgba(255,255,255,.2));transition:all .3s ease;animation:logoGlow 2s ease-in-out infinite alternate}@keyframes logoGlow{0%{filter:drop-shadow(0 0 15px rgba(255,255,255,.6)) drop-shadow(0 0 25px rgba(255,255,255,.4)) drop-shadow(0 0 35px rgba(255,255,255,.3)) drop-shadow(0 0 45px rgba(255,255,255,.2))}to{filter:drop-shadow(0 0 20px rgba(255,255,255,.8)) drop-shadow(0 0 30px rgba(255,255,255,.6)) drop-shadow(0 0 40px rgba(255,255,255,.4)) drop-shadow(0 0 50px rgba(255,255,255,.3))}}.login-logo:hover{transform:scale(1.1)}.login-header p{color:var(--text-secondary);font-size:1rem;font-weight:400}.login-form{display:flex;flex-direction:column;gap:24px}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.input-group input{background:var(--bg);border:2px solid var(--border);border-radius:12px;padding:14px 18px;color:var(--text);font-size:1rem;transition:all .2s ease}.input-group input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #5f7fff1a}.input-group input:disabled{opacity:.6;cursor:not-allowed}.input-group input::placeholder{color:var(--text-secondary);opacity:.5}.error-message{background:#ff6b6b1a;border:1px solid var(--accent);border-radius:8px;padding:12px;color:var(--accent);font-size:.9rem;text-align:center;animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.login-button{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-radius:12px;padding:16px;font-size:1rem;font-weight:600;margin-top:8px;transition:all .2s ease;box-shadow:0 4px 12px #5f7fff4d}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #5f7fff66}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 480px){.login-card{padding:36px 28px;border-radius:20px}.login-logo{height:60px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.5rem;font-weight:600;color:var(--text)}.modal-close:hover{background:var(--bg-hover);color:var(--text)}.modal-form{padding:24px;display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.form-group input,.form-group textarea{background:var(--bg);border:2px solid var(--border);border-radius:10px;padding:12px 16px;color:var(--text);font-size:1rem;transition:all .2s ease;font-family:inherit}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #5f7fff1a}.form-group textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.type-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.type-button{padding:10px 16px;border:2px solid;border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:transparent}.type-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.type-button.active{font-weight:600}.modal-footer{display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:20px;border-top:1px solid var(--border)}.cancel-button,.save-button{padding:12px 24px;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.save-button{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border:none;color:#fff}.save-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #5f7fff66}@media (max-width: 640px){.modal-content{max-width:100%;border-radius:16px}.modal-header,.modal-form{padding:20px}.form-row{grid-template-columns:1fr}.type-buttons{grid-template-columns:repeat(2,1fr)}.modal-footer{flex-direction:column}.cancel-button,.save-button{width:100%}}.event-card{background:var(--bg);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:12px;padding:16px;transition:all .2s ease;box-shadow:0 2px 8px #0000001a;position:relative;overflow:hidden;cursor:pointer}.event-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary);transition:width .3s ease}.event-card:hover{background:var(--bg-hover);transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.event-card:hover:before{width:6px}.event-card.compact{padding:12px}.event-header{margin-bottom:12px}.event-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.event-title{font-size:1.1rem;font-weight:600;color:var(--text);flex:1}.event-card.compact .event-title{font-size:.95rem}.event-actions{display:flex;gap:8px}.action-button{background:transparent;border:none;font-size:1rem;padding:4px 8px;border-radius:6px;transition:all .2s ease;cursor:pointer}.action-button:hover{background:var(--bg-hover);transform:scale(1.1)}.event-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem;color:var(--text-secondary)}.event-date,.event-time{display:flex;align-items:center;gap:4px}.event-description{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:12px}.event-card.compact .event-description{display:none}.event-location{color:var(--text-secondary);font-size:.9rem;margin-bottom:12px;display:flex;align-items:center;gap:4px}.event-attendees{margin-bottom:12px}.attendees-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:8px;display:block}.attendees-list{display:flex;flex-wrap:wrap;gap:6px}.attendee-tag{background:#5f7fff33;border:1px solid var(--primary);color:var(--primary);padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500;display:inline-flex;align-items:center;gap:6px}.leave-button{background:transparent;border:none;color:var(--primary);font-size:1.2rem;line-height:1;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:all .2s ease}.leave-button:hover{background:var(--primary);color:#fff}.event-footer{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.join-button{background:var(--primary);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%}.join-button:hover{background:var(--primary-dark);transform:translateY(-1px)}.join-button.joined{background:var(--success)}.join-button.joined:hover{background:#40c057}.event-card.compact .event-footer{display:none}.event-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.event-detail-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease;display:flex;flex-direction:column}.event-detail-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border);position:relative}.event-detail-header:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-dark))}.event-detail-header h2{font-size:1.8rem;font-weight:700;color:var(--text);margin:0;flex:1}.modal-close{background:transparent;border:none;color:var(--text-secondary);font-size:2rem;line-height:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .2s ease}.modal-close:hover{background:var(--bg-hover);color:var(--text);transform:rotate(90deg)}.event-detail-content{padding:24px;flex:1}.event-detail-info{margin-bottom:24px}.info-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;color:var(--text);font-size:1rem}.info-row.description{flex-direction:column;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.info-row.description p{color:var(--text-secondary);line-height:1.6;margin:0}.info-icon{font-size:1.2rem;flex-shrink:0}.event-detail-attendees{margin-bottom:24px;padding-top:24px;border-top:1px solid var(--border)}.event-detail-attendees h3{font-size:1.2rem;font-weight:600;color:var(--text);margin-bottom:16px}.attendees-grid{display:flex;flex-wrap:wrap;gap:8px}.attendee-badge{background:linear-gradient(135deg,#5f7fff33,#5f7fff1a);border:1px solid var(--primary);color:var(--primary);padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:500}.name-input-form{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.name-input{background:var(--bg);border:2px solid var(--border);border-radius:10px;padding:14px 18px;color:var(--text);font-size:1rem;transition:all .2s ease;font-family:inherit}.name-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #5f7fff1a;outline:none}.name-input-actions{display:flex;gap:12px}.submit-name-button,.cancel-name-button{flex:1;padding:12px;border-radius:10px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.submit-name-button{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none}.submit-name-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #5f7fff66}.cancel-name-button{background:var(--bg);border:1px solid var(--border);color:var(--text)}.cancel-name-button:hover{background:var(--bg-hover)}.event-detail-actions{margin-bottom:24px}.game-button{width:100%;padding:16px;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 4px 12px #5f7fff4d}.game-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5f7fff66}.game-button.joined{background:linear-gradient(135deg,var(--success),#40c057);box-shadow:0 4px 12px #51cf664d}.game-button.joined:hover{box-shadow:0 6px 20px #51cf6666}.event-detail-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid var(--border);background:var(--bg);border-bottom-left-radius:20px;border-bottom-right-radius:20px}.edit-button,.delete-button{flex:1;padding:12px;border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.edit-button{background:#5f7fff1a;border:1px solid var(--primary);color:var(--primary)}.edit-button:hover{background:#5f7fff33;transform:translateY(-1px)}.delete-button{background:#ff6b6b1a;border:1px solid var(--accent);color:var(--accent)}.delete-button:hover{background:#ff6b6b33;transform:translateY(-1px)}@media (max-width: 640px){.event-detail-modal{max-width:100%;border-radius:16px}.event-detail-header,.event-detail-content{padding:20px}.event-detail-header h2{font-size:1.5rem}}.install-home-button{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;padding:10px 16px;border-radius:10px;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #5f7fff4d}.install-home-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5f7fff66}.install-icon{font-size:1.2rem}.install-text{display:inline}@media (max-width: 768px){.install-text{display:none}.install-home-button{padding:10px 12px}.install-icon{font-size:1.4rem}}.ios-instructions-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.ios-instructions{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:24px;max-width:400px;width:100%;position:relative;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}.ios-close{position:absolute;top:16px;right:16px;background:transparent;border:none;color:var(--text-secondary);font-size:2rem;line-height:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .2s ease}.ios-close:hover{background:var(--bg-hover);color:var(--text);transform:rotate(90deg)}.ios-instructions h3{font-size:1.5rem;font-weight:700;margin-bottom:20px;color:var(--text);text-align:center}.ios-steps{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.ios-step{display:flex;align-items:flex-start;gap:16px}.step-number{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.ios-step p{color:var(--text);font-size:1rem;line-height:1.6;margin:0;padding-top:4px}.ios-step strong{color:var(--primary)}.ios-icon{font-size:1.2rem;display:inline-block;margin:0 4px}.ios-got-it{width:100%;padding:14px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #5f7fff4d}.ios-got-it:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5f7fff66}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.flappy-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .3s ease}.flappy-game{background:var(--bg-card);border:2px solid var(--primary);border-radius:20px;padding:24px;max-width:500px;width:100%;box-shadow:0 20px 60px #5f7fff80;animation:slideUp .3s ease;position:relative}.flappy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--border)}.flappy-header h2{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,var(--primary),#8b9fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.game-close{background:transparent;border:none;color:var(--text-secondary);font-size:2rem;line-height:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .2s ease}.game-close:hover{background:var(--bg-hover);color:var(--text);transform:rotate(90deg)}.flappy-stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:var(--bg);border-radius:12px;border:1px solid var(--border)}.stat{display:flex;flex-direction:column;align-items:center;gap:8px}.stat-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.stat-value{color:var(--primary);font-size:1.8rem;font-weight:700}.caption-display{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:8px 16px;border-radius:20px;font-size:1.1rem;font-weight:700;animation:popIn .3s ease;box-shadow:0 4px 12px #5f7fff66}@keyframes popIn{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.flappy-instructions{text-align:center;margin-bottom:20px;padding:12px;background:#5f7fff1a;border-radius:8px;border:1px solid rgba(95,127,255,.3)}.flappy-instructions p{color:var(--text);font-size:.95rem;margin:0;font-weight:500}.flappy-area{position:relative;width:100%;height:400px;background:linear-gradient(180deg,#87ceeb,#98d8e8,#b0e0e6);border:2px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:20px;cursor:pointer;-webkit-user-select:none;user-select:none}.flappy-bird{position:absolute;left:15%;font-size:3rem;transition:transform .1s ease;z-index:10;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.flappy-pipe{position:absolute;width:60px;background:linear-gradient(180deg,#228b22,#32cd32);border:3px solid #006400;border-radius:8px;box-shadow:0 4px 8px #0000004d}.flappy-pipe.top{top:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.flappy-pipe.bottom{border-top-left-radius:0;border-top-right-radius:0}.flappy-ground{position:absolute;bottom:0;left:0;right:0;height:30px;background:linear-gradient(180deg,#8b4513,#654321);border-top:3px solid #5C4033;z-index:5}.flappy-start{position:absolute;top:0;left:0;right:0;bottom:0;background:#1a1a2ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:20px;padding:40px;animation:fadeIn .3s ease}.flappy-start h3{font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:16px}.flappy-start p{color:var(--text);font-size:1.1rem;margin-bottom:24px}.start-button{padding:14px 32px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #5f7fff4d}.start-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5f7fff66}.game-over{position:absolute;top:0;left:0;right:0;bottom:0;background:#1a1a2ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:20px;padding:40px;animation:fadeIn .3s ease}.game-over h3{font-size:2.5rem;font-weight:700;color:var(--primary);margin-bottom:16px}.final-score{font-size:1.5rem;font-weight:600;color:var(--text);margin-bottom:20px}.game-over-message{margin-bottom:24px}.game-over-message p{font-size:1.2rem;font-weight:600;color:var(--primary);margin:0}.submit-score-button{padding:12px 24px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;margin:8px;min-width:150px;background:linear-gradient(135deg,#51cf66,#40c057);color:#fff;box-shadow:0 4px 12px #51cf664d}.submit-score-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #51cf6666}.restart-button,.close-button{padding:12px 24px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;margin:8px;min-width:150px}.restart-button{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 4px 12px #5f7fff4d}.restart-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5f7fff66}.close-button{background:var(--bg);border:1px solid var(--border);color:var(--text)}.close-button:hover{background:var(--bg-hover)}.name-submit-form{display:flex;flex-direction:column;gap:16px;width:100%;max-width:300px}.name-submit-input{background:var(--bg);border:2px solid var(--border);border-radius:10px;padding:14px 18px;color:var(--text);font-size:1rem;transition:all .2s ease;font-family:inherit;width:100%;box-sizing:border-box}.name-submit-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #5f7fff1a;outline:none}.name-submit-actions{display:flex;gap:12px}.submit-button,.cancel-button{flex:1;padding:12px;border-radius:10px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.submit-button{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff}.submit-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #5f7fff66}.cancel-button{background:var(--bg);border:1px solid var(--border);color:var(--text)}.cancel-button:hover{background:var(--bg-hover)}.leaderboard-view{max-height:80vh;overflow-y:auto}.your-rank{font-size:1.2rem;font-weight:600;color:var(--primary);margin-bottom:20px;padding:12px;background:#5f7fff1a;border-radius:8px;border:1px solid rgba(95,127,255,.3)}.leaderboard-list{width:100%;max-width:400px;margin-bottom:24px}.leaderboard-entry{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:8px;background:var(--bg);border:1px solid var(--border);border-radius:10px;transition:all .2s ease}.leaderboard-entry:hover{background:var(--bg-hover);transform:translate(4px)}.leaderboard-entry.first{background:linear-gradient(135deg,#ffd70033,#ffd7001a);border-color:gold;box-shadow:0 4px 12px #ffd7004d}.leaderboard-entry.second{background:linear-gradient(135deg,#c0c0c033,#c0c0c01a);border-color:silver;box-shadow:0 4px 12px #c0c0c04d}.leaderboard-entry.third{background:linear-gradient(135deg,#cd7f3233,#cd7f321a);border-color:#cd7f32;box-shadow:0 4px 12px #cd7f324d}.rank-badge{font-size:1.5rem;font-weight:700;min-width:50px;text-align:center}.player-name{flex:1;font-size:1.1rem;font-weight:600;color:var(--text)}.player-score{font-size:1.1rem;font-weight:700;color:var(--primary);min-width:80px;text-align:right}.no-scores{text-align:center;color:var(--text-secondary);font-size:1rem;padding:40px 20px}.leaderboard-actions{display:flex;gap:12px;width:100%;max-width:400px}@media (max-width: 640px){.flappy-game{padding:20px;max-width:100%}.flappy-area{height:300px}.flappy-bird{font-size:2.5rem}.flappy-pipe{width:50px}.game-over h3{font-size:2rem}}.calendar-container{min-height:100vh;display:flex;flex-direction:column;background:transparent;overflow-x:hidden;width:100%;max-width:100vw}.calendar-header{background:var(--bg-card);border-bottom:1px solid var(--border);padding:20px 24px;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;box-sizing:border-box;overflow-x:hidden}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:16px}.header-right{display:flex;align-items:center;gap:16px}.bmc-button-link{display:none;transition:transform .2s ease}.bmc-button-link:hover{transform:scale(1.05)}.bmc-button-img{height:40px;width:auto;border-radius:8px}@media (max-width: 768px){.bmc-button-link{display:inline-block}}.logo-container{margin-bottom:4px;display:inline-block;position:relative}.header-logo{height:50px;width:auto;filter:drop-shadow(0 0 10px rgba(255,255,255,.5)) drop-shadow(0 0 20px rgba(255,255,255,.3)) drop-shadow(0 0 30px rgba(255,255,255,.2));transition:all .3s ease}.header-logo:hover{filter:drop-shadow(0 0 15px rgba(255,255,255,.7)) drop-shadow(0 0 25px rgba(255,255,255,.5)) drop-shadow(0 0 35px rgba(255,255,255,.3));transform:scale(1.05)}.header-subtitle{color:var(--text-secondary);font-size:.9rem}.quick-add-button{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:10px 20px;border-radius:10px;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:8px;transition:all .2s ease;box-shadow:0 4px 12px #5f7fff4d}.quick-add-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5f7fff66}.quick-add-icon{font-size:1.2rem;line-height:1;font-weight:700}.quick-add-text{display:none}.quick-add-icon{font-size:1.4rem}.logout-button{background:#ff6b6b1a;border:1px solid var(--accent);color:var(--accent);padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:500;transition:all .2s ease}.logout-button:hover{background:#ff6b6b33;transform:translateY(-1px)}.calendar-main{flex:1;display:flex;max-width:1400px;margin:0 auto;width:100%;padding:24px;gap:24px;box-sizing:border-box}.calendar-sidebar{width:320px;display:flex;flex-direction:column;gap:24px}.sidebar-section{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 4px 12px #0003;transition:all .2s ease}.sidebar-section:hover{box-shadow:0 6px 20px #0000004d;transform:translateY(-2px)}.sidebar-section h2{font-size:1.2rem;font-weight:600;margin-bottom:16px;color:var(--text)}.today-events,.upcoming-events{display:flex;flex-direction:column;gap:12px}.no-events{color:var(--text-secondary);font-size:.9rem;text-align:center;padding:20px}.calendar-content{flex:1;display:flex;flex-direction:column;gap:24px}.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:16px 24px}.month-year{font-size:1.5rem;font-weight:600;flex:1;text-align:center}.nav-button{background:var(--bg);border:1px solid var(--border);color:var(--text);width:40px;height:40px;border-radius:10px;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.nav-button:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary)}.today-button{background:var(--primary);color:#fff;padding:10px 20px;border-radius:10px;font-size:.9rem;font-weight:500;transition:all .2s ease}.today-button:hover{background:var(--primary-dark);transform:translateY(-1px)}.calendar-grid{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px;overflow:hidden;box-shadow:0 4px 12px #0003}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px}.weekday{text-align:center;font-weight:600;font-size:.85rem;color:var(--text-secondary);padding:8px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{aspect-ratio:1;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:8px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;position:relative;min-height:80px;box-shadow:0 2px 4px #0000001a}.calendar-day.has-events{background:linear-gradient(135deg,#5f7fff1a,#5f7fff0d);border:2px solid rgba(95,127,255,.4);box-shadow:0 2px 8px #5f7fff33}.calendar-day.has-events:hover{background:linear-gradient(135deg,#5f7fff33,#5f7fff1a);border-color:var(--primary);box-shadow:0 4px 16px #5f7fff4d}.calendar-day:hover{background:var(--bg-hover);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #5f7fff33}.calendar-day:active{transform:translateY(0)}.calendar-day.other-month{opacity:.3}.calendar-day.today{background:linear-gradient(135deg,#5f7fff26,#5f7fff0d);border-color:var(--primary);border-width:2px;box-shadow:0 0 0 2px #5f7fff1a}.calendar-day.today.has-events{background:linear-gradient(135deg,#5f7fff40,#5f7fff26);border-color:var(--primary);border-width:2px;box-shadow:0 0 0 2px #5f7fff33,0 2px 8px #5f7fff4d}.calendar-day.today .day-number{background:var(--primary);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.calendar-day.selected{background:linear-gradient(135deg,#5f7fff40,#5f7fff26);border-color:var(--primary);border-width:2px;box-shadow:0 0 0 3px #5f7fff33}.calendar-day.selected.has-events{background:linear-gradient(135deg,#5f7fff59,#5f7fff40);box-shadow:0 0 0 3px #5f7fff4d,0 2px 8px #5f7fff66}.day-number{font-size:.9rem;font-weight:500;margin-bottom:4px}.day-events{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;align-items:center;justify-content:center}.day-event-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 4px #5f7fff99;flex-shrink:0}.day-event-more{font-size:.75rem;color:var(--primary);font-weight:600;background:#5f7fff33;padding:2px 6px;border-radius:8px;border:1px solid rgba(95,127,255,.4)}.selected-date-events{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 4px 12px #0003}.selected-date-events h3{font-size:1.2rem;font-weight:600;margin-bottom:16px;color:var(--text)}.events-list{display:flex;flex-direction:column;gap:12px}.add-event-button{position:fixed;bottom:24px;right:24px;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:2rem;box-shadow:0 8px 24px #5f7fff66;display:flex;align-items:center;justify-content:center;z-index:50;transition:all .3s ease;border:3px solid rgba(255,255,255,.1)}.add-event-button:hover{transform:scale(1.15) rotate(90deg);box-shadow:0 12px 32px #5f7fff99;border-color:#fff3}.add-event-button:active{transform:scale(1.05) rotate(90deg)}.add-event-button span{line-height:1}@media (max-width: 1024px){.calendar-main{flex-direction:column}.calendar-sidebar{width:100%}.sidebar-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}}@media (max-width: 768px){.calendar-container{overflow-x:hidden}.calendar-main{padding:12px;gap:12px;flex-direction:column;width:100%;box-sizing:border-box}.calendar-header{padding:12px 16px;width:100%;box-sizing:border-box}.header-content{flex-wrap:wrap;gap:12px;width:100%}.header-left{flex:1 1 100%;min-width:0;width:100%}.header-logo{height:35px;max-width:100%}.header-right{flex-wrap:wrap;gap:8px;width:100%;justify-content:space-between}.quick-add-button{padding:8px 16px;font-size:.85rem;flex:1;min-width:0}.quick-add-text{display:none}.bmc-button-img{height:32px}.logout-button{padding:8px 12px;font-size:.8rem;flex:0 0 auto}.calendar-controls{padding:12px;flex-wrap:wrap;gap:8px}.month-year{font-size:1.1rem;flex:1 1 100%;text-align:center;order:-1}.nav-button{width:36px;height:36px;font-size:1rem}.today-button{padding:8px 16px;font-size:.85rem}.calendar-grid{padding:8px;width:100%;box-sizing:border-box;overflow-x:hidden}.calendar-weekdays{gap:4px}.weekday{font-size:.75rem;padding:6px 4px}.calendar-days{gap:4px}.calendar-day{min-height:50px;padding:4px;font-size:.75rem}.day-number{font-size:.75rem}.selected-date-events{padding:16px;width:100%;box-sizing:border-box}.selected-date-events h3{font-size:1rem}.add-event-button{width:56px;height:56px;font-size:1.8rem;bottom:16px;right:16px}.calendar-sidebar{width:100%}.sidebar-section{width:100%;box-sizing:border-box}}.install-prompt-overlay{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:200;animation:slideUp .3s ease}.install-prompt{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 8px 32px #0006;max-width:400px;text-align:center}.install-prompt-icon{font-size:3rem;margin-bottom:12px}.install-prompt h3{font-size:1.2rem;font-weight:600;margin-bottom:8px;color:var(--text)}.install-prompt p{color:var(--text-secondary);font-size:.9rem;margin-bottom:20px;line-height:1.5}.install-prompt-actions{display:flex;gap:12px}.install-button,.dismiss-button{flex:1;padding:12px 20px;border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.install-button{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none}.install-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #5f7fff66}.dismiss-button{background:var(--bg);border:1px solid var(--border);color:var(--text)}.dismiss-button:hover{background:var(--bg-hover)}@media (max-width: 480px){.install-prompt-overlay{left:16px;right:16px;transform:none;bottom:16px}.install-prompt{max-width:100%}}.app{min-height:100vh;width:100%}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #5F7FFF;--primary-dark: #4a6aff;--secondary: #1a1a2e;--accent: #ff6b6b;--text: #ffffff;--text-secondary: #b8b8d4;--bg: #0f0f1e;--bg-card: #1a1a2e;--bg-hover: #252547;--border: #2d2d44;--success: #51cf66;--warning: #ffd43b}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,var(--bg) 0%,#16213e 50%,#0f0f1e 100%);background-attachment:fixed;color:var(--text);min-height:100vh;overflow-x:hidden;position:relative;width:100%;max-width:100vw;box-sizing:border-box}*{box-sizing:border-box}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(95,127,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,107,107,.1) 0%,transparent 50%);pointer-events:none;z-index:0}#root{position:relative;z-index:1}*{transition:background-color .2s ease,color .2s ease,transform .2s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}button{font-family:inherit;cursor:pointer;border:none;outline:none}button:active{transform:scale(.98)}input,textarea{font-family:inherit;outline:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.fade-in{animation:fadeIn .3s ease-out}.slide-in{animation:slideIn .3s ease-out}
