.app { min-height: 100vh; background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%); color: #333333; } .app-header { text-align: center; padding: 40px 20px; border-bottom: 1px solid #e9ecef; position: relative; } .app-nav { display: flex; justify-content: center; gap: 8px; padding: 20px; background: rgba(0, 0, 0, 0.02); border-bottom: 1px solid #e9ecef; margin-bottom: 40px; } .nav-button { padding: 12px 20px; border: 1px solid #dee2e6; border-radius: 8px; background: rgba(255, 255, 255, 0.8); color: #6c757d; font-weight: 500; cursor: pointer; transition: all 0.3s ease; backdrop-filter: blur(10px); } .nav-button:hover { background: rgba(102, 126, 234, 0.1); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); color: #495057; } .nav-button.active { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: 1px solid #667eea; box-shadow: 0 4px 16px rgba(102, 126, 234, 0.4); } .nav-button.active:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5); } .app-header h1 { font-size: 48px; margin: 0; background: linear-gradient(90deg, #fff700 0%, #ff00ff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .app-header p { color: #6c757d; margin-top: 10px; } .user-info { position: absolute; top: 20px; right: 20px; display: flex; align-items: center; gap: 15px; } .user-handle { color: #495057; font-weight: bold; background: rgba(102, 126, 234, 0.1); padding: 6px 12px; border-radius: 20px; border: 1px solid #dee2e6; } .login-button, .logout-button, .backup-button, .token-button { padding: 8px 16px; border: none; border-radius: 8px; font-size: 12px; font-weight: bold; cursor: pointer; transition: all 0.3s ease; margin-left: 8px; } .login-button { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: 1px solid #667eea; } .backup-button { background: linear-gradient(135deg, #28a745 0%, #20c997 100%); color: white; border: 1px solid #28a745; } .token-button { background: linear-gradient(135deg, #ffc107 0%, #fd7e14 100%); color: white; border: 1px solid #ffc107; } .logout-button { background: rgba(108, 117, 125, 0.1); color: #495057; border: 1px solid #dee2e6; } .login-button:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4); } .backup-button:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(40, 167, 69, 0.4); } .token-button:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(255, 193, 7, 0.4); } .logout-button:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); background: rgba(108, 117, 125, 0.2); } .loading { display: flex; align-items: center; justify-content: center; height: 100vh; font-size: 24px; color: #667eea; } .app-main { max-width: 1200px; margin: 0 auto; padding: 40px 20px; } .gacha-section { text-align: center; margin-bottom: 60px; } .gacha-section h2 { font-size: 32px; margin-bottom: 30px; } .gacha-buttons { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; } .gacha-button { padding: 20px 40px; font-size: 18px; font-weight: bold; border: none; border-radius: 12px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); } .gacha-button:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4); } .gacha-button:disabled { opacity: 0.5; cursor: not-allowed; } .gacha-button-premium { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); position: relative; overflow: hidden; } .gacha-button-premium::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient( 45deg, transparent 30%, rgba(255, 255, 255, 0.2) 50%, transparent 70% ); animation: shimmer 3s infinite; } .collection-section h2 { font-size: 32px; text-align: center; margin-bottom: 30px; } .card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 30px; justify-items: center; } .empty-message { text-align: center; color: #6c757d; font-size: 18px; margin-top: 40px; } .error { color: #ff4757; text-align: center; margin-top: 20px; } @keyframes shimmer { 0% { transform: translateX(-100%) rotate(45deg); } 100% { transform: translateX(100%) rotate(45deg); } }